[
  {
    "path": ".editorconfig",
    "content": "# http://editorconfig.org\n# See coding conventions in CONTRIBUTING.md\nroot = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\n\n[*.py]\nindent_style = tab\nindent_size = 4\ntrim_trailing_whitespace = true\n"
  },
  {
    "path": ".flake8",
    "content": "[flake8]\ncount = True\nignore = W191,W503,E704,E203\nmax-complexity = 40\nmax-line-length = 160\nshow-source = True\nstatistics = True\nexclude = .git,__pycache__,build,docs,actions-runner\n"
  },
  {
    "path": ".github/CODEOWNERS",
    "content": "# As per https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#example-of-a-codeowners-file\n\n* @Torxed\n\n# Any PKGBUILD changes should tag grazzolini\n/PKGBUILDs/ @grazzolini\n/PKGBUILD @grazzolini\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: [archlinux]\ncustom: ['https://archlinux.org/donate/']\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/01_bug.yml",
    "content": "name: bug report\ndescription: archinstall crashed or could not install properly?\nbody:\n  - type: markdown\n    attributes:\n      value: >\n        Please read the ~5 known issues first:\n        https://archinstall.archlinux.page/help/known_issues.html\n\n  - type: markdown\n    attributes:\n      value: >\n        **NOTE: Always try the latest official ISO**\n\n  - type: input\n    id: iso\n    attributes:\n      label: Which ISO version are you using?\n      description: 'Always use the latest ISO version'\n      placeholder: '\"2024-12-01\" or \"Dec 1:st\"'\n    validations:\n      required: true\n\n  - type: textarea\n    id: bug-report\n    attributes:\n      label: The installation log\n      description: 'note: located at `/var/log/archinstall/install.log`'\n      placeholder: |\n        Hardware model detected: Dell Inc. Precision 7670; UEFI mode: True\n        Processor model detected: 12th Gen Intel(R) Core(TM) i7-12850HX\n        Memory statistics: 31111048 available out of 32545396 total installed\n        Disk states before installing: {'blockdevices': ... }\n        Testing connectivity to the Arch Linux mirrors ...\n        ...\n      render: json\n    validations:\n      required: true\n\n  - type: markdown\n    attributes:\n      value: >\n        **Note**: Assuming you have network connectivity,\n        you can easily post the installation log using the following command:\n        `curl -F'file=@/var/log/archinstall/install.log' https://0x0.st`\n\n  - type: textarea\n    id: freeform\n    attributes:\n      label: describe the problem\n      description: >\n        Please describe your issue as best as you can.\n        And please consider personal preferences vs what the recommended\n        steps/values are in https://wiki.archlinux.org/title/Installation_guide\n        as we try to abide by them as best we can.\n      value: |\n        #### Description of the issue\n\n        I was installing on X hardware ...\n\n        Then X Y Z happened and archinstall crashed ...\n\n        #### Virtual machine config:\n\n        ```xml\n        <domain type=\"kvm\">\n          <name>my-arch-machine</name>\n          ...\n          </devices>\n        </domain>\n        ```\n\n        ```console\n        /usr/bin/qemu-system-x86_64 -name guest=my-arch-machine,debug-threads=on -object ...\n        ```\n    validations:\n      required: true\n\n  - type: markdown\n    attributes:\n      value: >\n        **Note**: Feel free to modify the textarea above as you wish.\n        But it will grately help us in testing if we can generate the specific qemu command line,\n        for instance via:\n        `sudo virsh domxml-to-native qemu-argv --domain my-arch-machine`\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/02_feature.yml",
    "content": "name: feature request\ndescription: a new feature!\nbody:\n  - type: markdown\n    attributes:\n      value: >\n        Please read our short mission statement before requesting more features:\n        https://github.com/archlinux/archinstall?tab=readme-ov-file#mission-statement\n\n  - type: textarea\n    id: freeform\n    attributes:\n      label: describe the request\n      description: >\n        Feel free to write any feature you think others might benefit from:\n    validations:\n      required: true\n"
  },
  {
    "path": ".github/workflows/bandit.yaml",
    "content": "on: [ push, pull_request ]\nname: Bandit security checkup\njobs:\n    bandit:\n        runs-on: ubuntu-latest\n        container:\n            image: archlinux/archlinux:latest\n        steps:\n            - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n            - run: pacman --noconfirm -Syu bandit\n            - name: Security checkup with Bandit\n              run: bandit -r archinstall || exit 0\n"
  },
  {
    "path": ".github/workflows/flake8.yaml",
    "content": "on: [ push, pull_request ]\nname: flake8 linting\njobs:\n    flake8:\n        runs-on: ubuntu-latest\n        container:\n            image: archlinux/archlinux:latest\n        steps:\n            - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n            - name: Prepare arch\n              run: |\n                pacman-key --init\n                pacman --noconfirm -Sy archlinux-keyring\n                pacman --noconfirm -Syyu\n                pacman --noconfirm -Sy python-pip python-pyparted pkgconfig gcc\n            - run: pip install --break-system-packages --upgrade pip\n            # this will install the exact version of flake8 that is in the pyproject.toml file\n            - name: Install archinstall dependencies\n              run: pip install --break-system-packages .[dev]\n            - run: python --version\n            - run: flake8 --version\n            - name: Lint with flake8\n              run: flake8\n"
  },
  {
    "path": ".github/workflows/github-pages.yml",
    "content": "name: documentation\n\non:\n  push:\n    paths:\n      - \"docs/**\"\n\n  pull_request:\n    paths:\n      - \"docs/**\"\n\n  workflow_dispatch:\n\npermissions:\n  contents: write\n\njobs:\n  docs:\n    runs-on: ubuntu-latest\n    container:\n      image: archlinux/archlinux:latest\n      options: --privileged\n    steps:\n      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n      - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6\n      - name: Install pre-dependencies\n        run: |\n          pacman -Sy --noconfirm tree git python-pyparted python-setuptools python-sphinx python-sphinx_rtd_theme python-build python-installer python-wheel\n      - name: Sphinx build\n        run: |\n          sphinx-build docs _build\n      - name: Deploy to GitHub Pages\n        uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4\n        if: ${{ github.event_name != 'pull_request' }}\n        with:\n          publish_branch: gh-pages\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          publish_dir: _build/\n          force_orphan: true\n          enable_jekyll: false # This is required to preserve _static (and thus the theme)\n          cname: archinstall.archlinux.page\n"
  },
  {
    "path": ".github/workflows/iso-build.yaml",
    "content": "# This workflow will build an Arch Linux ISO file with the commit on it\n\nname: Build Arch ISO with ArchInstall Commit\n\non:\n  push:\n    branches:\n      - master\n      - main # In case we adopt this convention in the future\n  pull_request:\n    paths-ignore:\n      - 'docs/**'\n      - '**.editorconfig'\n      - '**.gitignore'\n      - '**.md'\n      - 'LICENSE'\n      - 'PKGBUILD'\n  release:\n    types:\n      - created\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    container:\n      image: archlinux/archlinux:latest\n      options: --privileged\n    steps:\n      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n      - run: pwd\n      - run: find .\n      - run: cat /etc/os-release\n      - run: pacman-key --init\n      - run: pacman --noconfirm -Sy archlinux-keyring\n      - run: ./build_iso.sh\n      - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7\n        with:\n          name: Arch Live ISO\n          path: /tmp/archlive/out/*.iso\n"
  },
  {
    "path": ".github/workflows/mypy.yaml",
    "content": "on: [ push, pull_request ]\nname: mypy type checking\njobs:\n    mypy:\n        runs-on: ubuntu-latest\n        container:\n            image: archlinux/archlinux:latest\n        steps:\n            - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n            - name: Prepare arch\n              run: |\n                pacman-key --init\n                pacman --noconfirm -Sy archlinux-keyring\n                pacman --noconfirm -Syyu\n                pacman --noconfirm -Sy python-pip python-pyparted pkgconfig gcc\n            - run: pip install --break-system-packages --upgrade pip\n            # this will install the exact version of mypy that is in the pyproject.toml file\n            - name: Install archinstall dependencies\n              run: pip install --break-system-packages .[dev]\n            - run: python --version\n            - run: mypy --version\n            - name: run mypy\n              run: mypy --config-file pyproject.toml\n"
  },
  {
    "path": ".github/workflows/pylint.yaml",
    "content": "on: [ push, pull_request ]\nname: Pylint linting\njobs:\n    pylint:\n        runs-on: ubuntu-latest\n        container:\n            image: archlinux/archlinux:latest\n        steps:\n            - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n            - name: Prepare arch\n              run: |\n                pacman-key --init\n                pacman --noconfirm -Sy archlinux-keyring\n                pacman --noconfirm -Syyu\n                pacman --noconfirm -Sy python-pip python-pyparted pkgconfig gcc\n            - run: pip install --break-system-packages --upgrade pip\n            - name: Install Pylint\n              run: pip install --break-system-packages .[dev]\n            - run: python --version\n            - run: pylint --version\n            - name: Lint with Pylint\n              run: pylint .\n"
  },
  {
    "path": ".github/workflows/pytest.yaml",
    "content": "on: [ push, pull_request ]\nname: pytest test validation\njobs:\n    pytest:\n        runs-on: ubuntu-latest\n        container:\n            image: archlinux/archlinux:latest\n            options: --privileged\n        steps:\n            - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n            - name: Prepare arch\n              run: |\n                pacman-key --init\n                pacman --noconfirm -Sy archlinux-keyring\n                pacman --noconfirm -Syyu\n                pacman --noconfirm -Sy python-pip python-pyparted pkgconfig gcc\n            - run: pip install --break-system-packages --upgrade pip\n            - name: Install archinstall dependencies\n              run: pip install --break-system-packages .[dev]\n            - name: Test with pytest\n              run: pytest\n"
  },
  {
    "path": ".github/workflows/python-build.yml",
    "content": "# This workflow will build Python packages on every commit.\n\nname: Build archinstall\n\non: [ push, pull_request ]\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    container:\n      image: archlinux/archlinux:latest\n      options: --privileged\n    steps:\n      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n      - name: Prepare arch\n        run: |\n          pacman-key --init\n          pacman --noconfirm -Sy archlinux-keyring\n          pacman --noconfirm -Syyu\n          pacman --noconfirm -Sy python-uv python-setuptools python-pip\n          pacman --noconfirm -Sy python-pyparted python-pydantic python-textual\n      - name: Remove existing archinstall (if any)\n        run: \n          uv pip uninstall archinstall --break-system-packages --system\n      - name: Build archinstall\n        run: uv build --no-build-isolation --wheel\n      - name: Install archinstall\n        run: |\n          uv pip install dist/*.whl --break-system-packages --system --no-build --no-deps\n      - name: Run archinstall\n        run: |\n          python -V\n          archinstall --script guided -v\n          archinstall --script only_hd -v\n          archinstall --script minimal -v\n      - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7\n        with:\n          name: archinstall\n          path: dist/*\n"
  },
  {
    "path": ".github/workflows/python-publish.yml",
    "content": "# This workflow will upload a Python Package when a release is created\n# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries\n\nname: Upload archinstall to PyPi\n\non:\n  release:\n    types: [ published ]\n\njobs:\n  deploy:\n\n    runs-on: ubuntu-latest\n    permissions:\n      # IMPORTANT: this permission is mandatory for Trusted Publishing\n      id-token: write\n    container:\n      image: archlinux/archlinux:latest\n      options: --privileged\n    steps:\n      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n      - name: Prepare arch\n        run: |\n          pacman-key --init\n          pacman --noconfirm -Sy archlinux-keyring\n          pacman --noconfirm -Syyu\n          pacman --noconfirm -Sy python python-uv python-setuptools python-pip python-pyparted python-pydantic python-textual\n      - name: Build archinstall\n        run: |\n          uv build --no-build-isolation --wheel\n      - name: Publish archinstall to PyPi\n        run: |\n          uv publish --trusted-publishing always\n"
  },
  {
    "path": ".github/workflows/ruff-format.yaml",
    "content": "on: [ push, pull_request ]\nname: ruff check formatting\njobs:\n  ruff_format_check:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n      - uses: astral-sh/ruff-action@4919ec5cf1f49eff0871dbcea0da843445b837e6  # v3.6.1\n      - run: ruff format --diff\n"
  },
  {
    "path": ".github/workflows/ruff-lint.yaml",
    "content": "on: [ push, pull_request ]\nname: ruff check linting\njobs:\n    ruff:\n        runs-on: ubuntu-latest\n        steps:\n            - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6\n            - uses: astral-sh/ruff-action@4919ec5cf1f49eff0871dbcea0da843445b837e6  # v3.6.1\n"
  },
  {
    "path": ".github/workflows/translation-check.yaml",
    "content": "#on:\n#    push:\n#        paths:\n#        - 'archinstall/locales/**'\n#    pull_request:\n#        paths:\n#        - 'archinstall/locales/**'\n#name: Verify local_generate script was run on translation changes\n#jobs:\n#    translation-check:\n#        runs-on: ubuntu-latest\n#        container:\n#            image: archlinux/archlinux:latest\n#        steps:\n#            - uses: actions/checkout@v4\n#            - run: pacman --noconfirm -Syu python git diffutils\n#            - name: Verify all translation scripts are up to date\n#              run: |\n#                cd ..\n#                cp -r archinstall archinstall_orig\n#                cd archinstall/archinstall/locales\n#                bash locales_generator.sh 1> /dev/null\n#                cd ../../..\n#                git diff \\\n#                  --quiet --no-index --name-only \\\n#                  archinstall_orig/archinstall/locales \\\n#                  archinstall/archinstall/locales \\\n#                  || (echo \"Translation files have not been updated after translation, please run ./locales_generator.sh once more and commit\" && exit 1)\n"
  },
  {
    "path": ".gitignore",
    "content": "**/**__pycache__\nSAFETY_LOCK\n**/**old.*\n**/**.img\n**/**pwfile\n**/**build\n**/**dist\n**/**.egg*\n**/**.sh\n!archinstall/locales/locales_generator.sh\n**/**.egg-info/\n**/**build/\n**/**src/\n**/**pkg/\n**/**dist/\n**/**archinstall.build/\n**/**archinstall-v*/\n**/**.pkg.*.xz\n**/**archinstall-*.tar.gz\n**/**.zst\n**/**.network\n**/**.target\n**/**.qcow2\n**/**.log\n**/**.fd\n/test*.py\n**/archiso\n/guided.py\nvenv\n.venv\n.idea/**\n**/install.log\n.DS_Store\n**/cmd_history.txt\n**/*.*~\n/*.sig\n/*.json\nrequirements.txt\n/.gitconfig\n/actions-runner\n/cmd_output.txt\nnode_modules/\nuv.lock\n"
  },
  {
    "path": ".gitlab-ci.yml",
    "content": "# This file contains GitLab CI/CD configuration for the ArchInstall project.\n# It defines several jobs that get run when a new commit is made, and is comparable to the GitHub workflows.\n# There is an expectation that a runner exists that has the --privileged flag enabled for the build ISO job to run correctly.\n# These jobs should leverage the same tag as that runner. If necessary, change the tag from 'docker' to the one it uses.\n# All jobs will be run in the official archlinux container image, so we will declare that here.\n\nimage: archlinux/archlinux:latest\n\n# This can be used to handle common actions. In this case, we do a pacman -Sy to make sure repos are ready to use.\nbefore_script:\n  - pacman -Sy\n\nstages:\n  - lint\n  - test\n  - build\n  - publish\n\nmypy:\n  stage: lint\n  tags:\n    - docker\n  script:\n    - pacman --noconfirm -Syu python mypy\n    - mypy . --ignore-missing-imports || exit 0\n\nflake8:\n  stage: lint\n  tags:\n    - docker\n  script:\n    - pacman --noconfirm -Syu python python-pip\n    - python -m pip install --upgrade pip\n    - pip install flake8\n    - flake8 . --count --select=E9,F63,F7 --show-source --statistics\n    - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics\n\n# We currently do not have unit tests implemented but this stage is written in anticipation of their future usage.\n# When a stage name is preceded with a '.' it's treated as \"disabled\" by GitLab and is not executed, so it's fine for it to be declared.\n.pytest:\n  stage: test\n  tags:\n    - docker\n  script:\n    - pacman --noconfirm -Syu python python-pip\n    - python -m pip install --upgrade pip\n    - pip install pytest\n    - pytest\n\n# This stage might fail with exit code 137 on a shared runner. This is probably due to the CPU/memory consumption needed to run the build.\nbuild_iso:\n  stage: build\n  tags:\n    - docker\n  script:\n    - pwd\n    - find .\n    - cat /etc/os-release\n    - mkdir -p /tmp/archlive/airootfs/root/archinstall-git; cp -r . /tmp/archlive/airootfs/root/archinstall-git\n    - echo \"pip uninstall archinstall -y; cd archinstall-git; python setup.py install\" > /tmp/archlive/airootfs/root/.zprofile\n    - echo \"echo \\\"This is an unofficial ISO for development and testing of archinstall. No support will be provided.\\\"\" >> /tmp/archlive/airootfs/root/.zprofile\n    - echo \"echo \\\"This ISO was built from Git SHA $CI_COMMIT_SHA\\\"\" >> /tmp/archlive/airootfs/root/.zprofile\n    - echo \"echo \\\"Type archinstall to launch the installer.\\\"\" >> /tmp/archlive/airootfs/root/.zprofile\n    - cat /tmp/archlive/airootfs/root/.zprofile\n    - pacman --noconfirm -S git archiso\n    - cp -r /usr/share/archiso/configs/releng/* /tmp/archlive\n    - echo -e \"git\\npython\\npython-pip\\npython-setuptools\" >> /tmp/archlive/packages.x86_64\n    - find /tmp/archlive\n    - cd /tmp/archlive; mkarchiso -v -w work/ -o out/ ./\n  artifacts:\n    name: \"Arch Live ISO\"\n    paths:\n      - /tmp/archlive/out/*.iso\n    expire_in: 1 week\n\n## This job only runs when a tag is created on the master branch. This is because we do not want to try to publish to PyPi every time we commit.\n## The following CI/CD variables need to be set to the PyPi username and password in the GitLab project's settings for this stage to work.\n# * FLIT_USERNAME\n# * FLIT_PASSWORD\npublish_pypi:\n  stage: publish\n  tags:\n    - docker\n  script:\n    - pacman --noconfirm -S python python-pip\n    - python -m pip install --upgrade pip\n    - pip install setuptools wheel flit\n    - flit\n  only:\n    - tags\n  except:\n    - branches\n"
  },
  {
    "path": ".pre-commit-config.yaml",
    "content": "default_stages: ['pre-commit']\nrepos:\n  - repo: https://github.com/astral-sh/ruff-pre-commit\n    rev: v0.15.7\n    hooks:\n        # fix unused imports and sort them\n      - id: ruff\n        args: [\"--extend-select\", \"I\", \"--fix\"]\n        # format the code\n      - id: ruff-format\n        # run the linter\n      - id: ruff\n  - repo: https://github.com/pre-commit/pre-commit-hooks\n    rev: v6.0.0\n    hooks:\n    # general hooks:\n    - id: check-added-large-files  # Prevent giant files from being committed\n      args: ['--maxkb=5000']\n    - id: check-merge-conflict  # Check for files that contain merge conflict strings\n    - id: check-symlinks  # Checks for symlinks which do not point to anything\n    - id: check-yaml  # Attempts to load all yaml files to verify syntax\n    - id: destroyed-symlinks  # Detects symlinks which are changed to regular files\n    - id: detect-private-key  # Checks for the existence of private keys\n    # Python specific hooks:\n    - id: check-ast  # Simply check whether files parse as valid python\n    - id: check-docstring-first  # Checks for a common error of placing code before the docstring\n  - repo: https://github.com/pycqa/flake8\n    rev: 7.3.0\n    hooks:\n    - id: flake8\n      args: [--config=.flake8]\n      fail_fast: true\n  - repo: https://github.com/pre-commit/mirrors-mypy\n    rev: v1.19.1\n    hooks:\n    - id: mypy\n      args: [\n        '--config-file=pyproject.toml'\n      ]\n      fail_fast: true\n      additional_dependencies:\n        - pydantic\n        - pytest\n        - cryptography\n        - textual\n  - repo: local\n    hooks:\n      - id: pylint\n        name: pylint\n        entry: pylint\n        language: system\n        types: [python]\n        fail_fast: true\n        require_serial: true\n"
  },
  {
    "path": ".pypirc",
    "content": "[distutils]\nindex-servers =\n   pypi\n\n[pypi]\nrepository = https://upload.pypi.org/legacy/\n"
  },
  {
    "path": ".readthedocs.yaml",
    "content": "# .readthedocs.yml\n# Read the Docs configuration file\n# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details\n\nversion: 2\n\nsphinx:\n  builder: html\n  configuration: docs/conf.py\n  fail_on_warning: true\n\nbuild:\n  os: \"ubuntu-22.04\"\n  tools:\n    python: \"3.12\"\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing to archinstall\n\nAny contributions through pull requests are welcome as this project aims to be a community based project to ease some Arch Linux installation steps.\nBear in mind that in the future this repo might be transferred to the official [GitLab repo under Arch Linux](http://gitlab.archlinux.org/archlinux/) *(if GitLab becomes open to the general public)*.\n\nTherefore, guidelines and style changes to the code might come into effect as well as guidelines surrounding bug reporting and discussions.\n\n## Branches\n\n`master` is currently the default branch, and that's where all future feature work is being done, this means that `master` is a living entity and will most likely never be in a fully stable state.\nFor stable releases, please see the tagged commits.\n\nPatch releases will be done against their own branches, branched from stable tagged releases and will be named according to the version it will become on release.\n  *(Patches to `v2.1.4` will be done on branch `v2.1.5` for instance)*.\n\n## Discussions\n\nCurrently, questions, bugs and suggestions should be reported through [GitHub issue tracker](https://github.com/archlinux/archinstall/issues).<br>\nFor less formal discussions there is also an [archinstall Discord server](https://discord.gg/aDeMffrxNg).\n\n## Coding convention\n\nArchInstall's goal is to follow [PEP8](https://www.python.org/dev/peps/pep-0008/) as best as it can with some minor exceptions.<br>\n\nThe exceptions to PEP8 are:\n\n* Archinstall uses [tabs instead of spaces](https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces) simply to make it\n  easier for non-IDE developers to navigate the code *(Tab display-width should be equal to 4 spaces)*. Exception to the\n  rule are comments that need fine-tuned indentation for documentation purposes.\n* [Line length](https://www.python.org/dev/peps/pep-0008/#maximum-line-length) a maximum line length is enforced via flake8 with 160 characters\n* Archinstall should always be saved with **Unix-formatted line endings** and no other platform-specific formats.\n* [String quotes](https://www.python.org/dev/peps/pep-0008/#string-quotes) follow PEP8, the exception being when\n  creating formatted strings, double-quoted strings are *preferred* but not required on the outer edges *(\n  Example: `f\"Welcome {name}\"` rather than `f'Welcome {name}'`)*.\n\nMost of these style guidelines have been put into place after the fact *(in an attempt to clean up the code)*.<br>\nThere might therefore be older code which does not follow the coding convention and the code is subject to change.\n\n## Git hooks\n\n`archinstall` ships pre-commit hooks that make it easier to run checks such as `mypy`, `ruff check`, and `flake8` locally.\nThe checks are listed in `.pre-commit-config.yaml` and can be installed via\n```\npre-commit install\n```\n\nThis will install the pre-commit hook and run it every time a `git commit` is executed.\n\n## Documentation\n\nIf you'd like to contribute to the documentation, refer to [this guide](docs/README.md) on how to build the documentation locally.\n\n## Submitting Changes\n\nArchinstall uses GitHub's pull-request workflow and all contributions in terms of code should be done through pull requests.<br>\n\nAnyone interested in archinstall may review your code. One of the core developers will merge your pull request when they\nthink it is ready. For every pull request, we aim to promptly either merge it or say why it is not yet ready; if you go\na few days without a reply, please feel free to ping the thread by adding a new comment.\n\nTo get your pull request merged sooner, you should explain why you are making the change. For example, you can point to\na code sample that is outdated in terms of Arch Linux command lines. It is also helpful to add links to online\ndocumentation or to the implementation of the code you are changing.\n\nAlso, do not squash your commits after you have submitted a pull request, as this erases context during review. We will\nsquash commits when the pull request is merged.\n\nMaintainer:\n* Anton Hvornum ([@Torxed](https://github.com/Torxed))\n\n[Contributors](https://github.com/archlinux/archinstall/graphs/contributors)\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    <program>  Copyright (C) <year>  <name of author>\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<https://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<https://www.gnu.org/licenses/why-not-lgpl.html>.\n"
  },
  {
    "path": "PKGBUILD",
    "content": "# Maintainer: David Runge <dvzrv@archlinux.org>\n# Maintainer: Giancarlo Razzolini <grazzolini@archlinux.org>\n# Maintainer: Anton Hvornum <torxed@archlinux.org>\n# Contributor: Anton Hvornum <anton@hvornum.se>\n# Contributor: demostanis worlds <demostanis@protonmail.com>\n\npkgname=archinstall\npkgver=3.0.15\npkgrel=1\npkgdesc=\"Just another guided/automated Arch Linux installer with a twist\"\narch=(any)\nurl=\"https://github.com/archlinux/archinstall\"\nlicense=(GPL-3.0-only)\ndepends=(\n  'arch-install-scripts'\n  'btrfs-progs'\n  'coreutils'\n  'cryptsetup'\n  'dosfstools'\n  'e2fsprogs'\n  'glibc'\n  'kbd'\n  'libcrypt.so'\n  'libxcrypt'\n  'pciutils'\n  'procps-ng'\n  'python'\n  'python-cryptography'\n  'python-pydantic'\n  'python-pyparted'\n  'python-textual'\n  'python-markdown-it-py'\n  'python-linkify-it-py'\n  'systemd'\n  'util-linux'\n  'xfsprogs'\n  'lvm2'\n  'f2fs-tools'\n  'libfido2'\n)\nmakedepends=(\n  'python-build'\n  'python-installer'\n  'python-setuptools'\n  'python-sphinx'\n  'python-wheel'\n  'python-sphinx_rtd_theme'\n  'python-pylint'\n  'ruff'\n)\noptdepends=(\n  'python-systemd: Adds journald logging'\n)\nprovides=(python-archinstall archinstall)\nconflicts=(python-archinstall archinstall-git)\nreplaces=(python-archinstall archinstall-git)\nsource=(\n  $pkgname-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz\n  $pkgname-$pkgver.tar.gz.sig::$url/releases/download/$pkgver/$pkgname-$pkgver.tar.gz.sig\n)\nsha512sums=()\nb2sums=()\nvalidpgpkeys=('8AA2213C8464C82D879C8127D4B58E897A929F2E') # torxed@archlinux.org\n\ncheck() {\n  cd $pkgname-$pkgver\n  ruff check\n}\n\npkgver() {\n  cd $pkgname-$pkgver\n\n  awk '$1 ~ /^__version__/ {gsub(\"\\\"\", \"\"); print $3}' archinstall/__init__.py\n}\n\nbuild() {\n  cd $pkgname-$pkgver\n\n  python -m build --wheel --no-isolation\n  PYTHONDONTWRITEBYTECODE=1 make man -C docs\n}\n\npackage() {\n  cd \"$pkgname-$pkgver\"\n\n  python -m installer --destdir=\"$pkgdir\" dist/*.whl\n  install -vDm 644 docs/_build/man/archinstall.1 -t \"$pkgdir/usr/share/man/man1/\"\n}\n"
  },
  {
    "path": "README.md",
    "content": "<!-- <div align=\"center\"> -->\n<img src=\"https://github.com/archlinux/archinstall/raw/master/docs/logo.png\" alt=\"drawing\" width=\"200\"/>\n\n<!-- </div> -->\n# Arch Installer\n[![Lint Python and Find Syntax Errors](https://github.com/archlinux/archinstall/actions/workflows/flake8.yaml/badge.svg)](https://github.com/archlinux/archinstall/actions/workflows/flake8.yaml)\n\nJust another guided/automated [Arch Linux](https://wiki.archlinux.org/index.php/Arch_Linux) installer with a twist.\nThe installer also doubles as a python library to install Arch Linux and manage services, packages, and other things inside the installed system *(Usually from a live medium or from an existing installation)*.\n\n* archinstall [discord](https://discord.gg/aDeMffrxNg) server\n* archinstall [#archinstall:matrix.org](https://matrix.to/#/#archinstall:matrix.org) Matrix channel\n* archinstall [#archinstall@irc.libera.chat:6697](https://web.libera.chat/?channel=#archinstall)\n* archinstall [documentation](https://archinstall.archlinux.page/)\n\n# Installation & Usage\n> [!TIP]\n> In the ISO you are root by default. Use sudo if running from an existing system.\n\n```shell\npacman-key --init\npacman -Sy archinstall\narchinstall\n```\n\nAlternative ways to install are `git clone` the repository (and is better since you get the latest code regardless of [build date](https://archlinux.org/packages/?sort=&q=archinstall)) or `pip install --upgrade archinstall`.\n\n## Upgrade `archinstall` on live Arch ISO image\n\nUpgrading archinstall on the ISO needs to be done via a full system upgrade using \n\n```shell\npacman -Syu\n```\n\nWhen booting from a live USB, the space on the ramdisk is limited and may not be sufficient to allow running a re-installation or upgrade of the installer.\nIn case one runs into this issue, any of the following can be used\n\n* Resize the root partition https://wiki.archlinux.org/title/Archiso#Adjusting_the_size_of_the_root_file_system\n* Specify the boot parameter copytoram=y (https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio-archiso/-/blob/master/docs/README.bootparams#L26) which will copy the root filesystem to tmpfs\n\n## Running the [guided](https://github.com/archlinux/archinstall/blob/master/archinstall/scripts/guided.py) installer\n\nAssuming you are on an Arch Linux live-ISO or installed via `pip`, `archinstall` will use the `guided` script by default\n```shell\narchinstall\n```\nsimilar goes for running the [guided](https://github.com/archlinux/archinstall/blob/master/archinstall/scripts/guided.py) installer using `git\n\n```shell\ngit clone https://github.com/archlinux/archinstall\ncd archinstall\npython -m archinstall $@\n```\n\nTo run alternative scripts using the `--script` parameter\n\n```\narchinstall --script <name>\n```\n\n#### Advanced\nSome additional options that most users do not need are hidden behind the `--advanced` flag and all options/args can be consulted through `-h` or `--help`. \n\n## Running from a declarative configuration file or URL\n\n`archinstall` can be run with a JSON configuration file. There are 2 different configuration files to consider,\nthe `user_configuration.json` contains all general installation configuration, whereas the `user_credentials.json`\ncontains the sensitive user configuration such as user password, root password, and encryption password.\n\nAn example of the user configuration file can be found here\n[configuration file](https://github.com/archlinux/archinstall/blob/master/examples/config-sample.json)\nand an example of the credentials configuration here\n[credentials file](https://github.com/archlinux/archinstall/blob/master/examples/creds-sample.json).\n\n**HINT:** The configuration files can be auto-generated by starting `archinstall`, configuring all desired menu\npoints and then going to `Save configuration`.\n\nTo load the configuration file into `archinstall` run the following command\n```shell\narchinstall --config <path to user config file or URL> --creds <path to user credentials config file or URL>\n```\n\n### Credentials configuration file encryption\nBy default, all user account credentials are hashed with `yescrypt` and only the hash is stored in the saved `user_credentials.json` file.\nThis is not possible for disk encryption password which needs to be stored in plaintext to be able to apply it.\n\nHowever, when selecting to save configuration files, `archinstall` will prompt for the option to encrypt the `user_credentials.json` file content.\nA prompt will require to enter a encryption password to encrypt the file. When providing an encrypted `user_configuration.json` as a argument with `--creds <user_credentials.json>`\nthere are multiple ways to provide the decryption key:\n* Provide the decryption key via the command line argument `--creds-decryption-key <password>`\n* Store the encryption key in the environment variable `ARCHINSTALL_CREDS_DECRYPTION_KEY` which will be read automatically\n* If none of the above is provided a prompt will be shown to enter the decryption key manually\n\n\n# Help or Issues\n\nIf you come across any issues, kindly submit your issue here on GitHub or post your query in the\n[discord](https://discord.gg/aDeMffrxNg) help channel.\n\nWhen submitting an issue, please:\n* Provide the stacktrace of the output if applicable\n* Attach the `/var/log/archinstall/install.log` to the issue ticket. This helps us help you!\n  * To extract the log from the ISO image, one way is to use<br>\n    ```shell\n    curl -F'file=@/var/log/archinstall/install.log' https://0x0.st\n    ```\n\n\n# Available Languages\n\nArchinstall is available in different languages which have been contributed and are maintained by the community.\nThe language can be switched inside the installer (first menu entry). Bear in mind that not all languages provide\nfull translations as we rely on contributors to do the translations. Each language has an indicator that shows\nhow much has been translated.\n\nAny contributions to the translations are more than welcome,\nto get started please follow [the guide](https://github.com/archlinux/archinstall/blob/master/archinstall/locales/README.md)\n\n## Fonts\nThe ISO does not ship with all fonts needed for different languages.\nFonts that use a different character set than Latin will not be displayed correctly. If those languages\nwant to be selected then a proper font has to be set manually in the console.\n\nAll available console fonts can be found in `/usr/share/kbd/consolefonts` and set with `setfont LatGrkCyr-8x16`.\n\n\n# Scripting your own installation\n\n## Scripting interactive installation\n\nFor an example of a fully scripted, interactive installation please refer to the example\n[interactive_installation.py](https://github.com/archlinux/archinstall/blob/master/archinstall/scripts/guided.py)\n\n\n> **To create your own ISO with this script in it:** Follow [ArchISO](https://wiki.archlinux.org/index.php/archiso)'s guide on creating your own ISO.\n\n## Script non-interactive automated installation\n\nFor an example of a fully scripted, automated installation please refer to the example\n[full_automated_installation.py](https://github.com/archlinux/archinstall/blob/master/examples/full_automated_installation.py)\n\n# Profiles\n\n`archinstall` comes with a set of pre-configured profiles available for selection during the installation process.\n\n- [Desktop](https://github.com/archlinux/archinstall/tree/master/archinstall/default_profiles/desktops)\n- [Server](https://github.com/archlinux/archinstall/tree/master/archinstall/default_profiles/servers)\n\nThe profiles' definitions and the packages they will install can be directly viewed in the menu, or\n[default profiles](https://github.com/archlinux/archinstall/tree/master/archinstall/default_profiles)\n\n\n# Testing\n\n## Using a Live ISO Image\n\nIf you want to test a commit, branch, or bleeding edge release from the repository using the standard Arch Linux Live ISO image,\nreplace the archinstall version with a newer one and execute the subsequent steps defined below.\n\n1. You need a working network connection\n2. Install the build requirements with `pacman -Sy; pacman -S git python-pip gcc pkgconf`\n   *(note that this may or may not work depending on your RAM and current state of the squashfs maximum filesystem free space)*\n3. Uninstall the previous version of archinstall with `pip uninstall --break-system-packages archinstall`\n4. Now clone the latest repository with `git clone https://github.com/archlinux/archinstall`\n5. Enter the repository with `cd archinstall`\n   *At this stage, you can choose to check out a feature branch for instance with `git checkout v2.3.1-rc1`*\n6. To run the source code, there are 2 different options:\n   - Run a specific branch version from source directly using `python -m archinstall`, in most cases this will work just fine, the\n      rare case it will not work is if the source has introduced any new dependencies that are not installed yet\n   - Installing the branch version with `pip install --break-system-packages .` and `archinstall`\n\n## Without a Live ISO Image\n\nTo test this without a live ISO, the simplest approach is to use a local image and create a loop device.<br>\nThis can be done by installing `pacman -S arch-install-scripts util-linux` locally and doing the following:\n\n    # truncate -s 20G testimage.img\n    # losetup --partscan --show ./testimage.img\n    # pip install --upgrade archinstall\n    # python -m archinstall --script guided\n    # qemu-system-x86_64 -enable-kvm -machine q35,accel=kvm -device intel-iommu -cpu host -m 4096 -boot order=d -drive file=./testimage.img,format=raw -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF.4m.fd -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF.4m.fd \n\nThis will create a *20 GB* `testimage.img` and create a loop device which we can use to format and install to.<br>\n`archinstall` is installed and executed in [guided mode](#docs-todo). Once the installation is complete, ~~you can use qemu/kvm to boot the test media.~~<br>\n*(You'd actually need to do some EFI magic in order to point the EFI vars to the partition 0 in the test medium, so this won't work entirely out of the box, but that gives you a general idea of what we're going for here)*\n\nThere's also a [Building and Testing](https://github.com/archlinux/archinstall/wiki/Building-and-Testing) guide.<br>\nIt will go through everything from packaging, building and running *(with qemu)* the installer against a dev branch.\n\n## Boot an Arch ISO image in a VM\n\nYou may want to boot an ISO image in a VM to test `archinstall` in there.\n\n* Download the latest [Arch ISO](https://archlinux.org/download/)\n* Use the the below command to boot the ISO in a VM\n\n```\nqemu-system-x86_64 -enable-kvm \\\n-machine q35,accel=kvm -device intel-iommu \\\n-cpu host -m 4096 -boot order=d \\\n-drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF.4m.fd \\\n-drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF.4m.fd \\\n-drive file=./archlinux-2025.12.01-x86_64.iso,format=raw\n```\n\nHINT: For espeakup support\n```\nqemu-system-x86_64 -enable-kvm \\\n-machine q35,accel=kvm -device intel-iommu \\\n-cpu host -m 4096 -boot order=d \\\n-drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF.4m.fd \\\n-drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF.4m.fd \\\n-drive file=./archlinux-2025.12.01-x86_64.iso,format=raw \\\n-device intel-hda -device hda-duplex,audiodev=snd0 \\\n-audiodev pa,id=snd0,server=/run/user/1000/pulse/native\n```\n\n\n# FAQ\n\n## Keyring out-of-date\nFor a description of the problem see https://archinstall.archlinux.page/help/known_issues.html#keyring-is-out-of-date-2213 and discussion in issue https://github.com/archlinux/archinstall/issues/2213.\n\nFor a quick fix the below command will install the latest keyrings\n\n```pacman -Sy archlinux-keyring```\n\n## How to dual boot with Windows\n\nTo install Arch Linux alongside an existing Windows installation using  `archinstall`, follow these steps:\n\n1. Ensure some unallocated space is available for the Linux installation after the Windows installation.\n2. Boot into the ISO and run `archinstall`.\n3. Choose `Disk configuration` -> `Manual partitioning`.\n4. Select the disk on which Windows resides.\n5. Select `Create a new partition`.\n6. Choose a filesystem type.\n7. Determine the start and end sectors for the new partition location (values can be suffixed with various units).\n8. Assign the mountpoint `/` to the new partition.\n9. Assign the `Boot/ESP` partition the mountpoint `/boot` from the partitioning menu.\n10. Confirm your settings and exit to the main menu by choosing `Confirm and exit`.\n11. Modify any additional settings for your installation as necessary.\n12. Start the installation upon completion of setup.\n\n\n# Mission Statement\n\nArchinstall promises to ship a [guided installer](https://github.com/archlinux/archinstall/blob/master/archinstall/scripts/guided.py) that follows\nthe [Arch Linux Principles](https://wiki.archlinux.org/index.php/Arch_Linux#Principles) as well as a library to manage services, packages, and other Arch Linux aspects.\n\nThe guided installer ensures a user-friendly experience, offering optional selections throughout the process. Emphasizing its flexible nature, these options are never obligatory.\nIn addition, the decision to use the guided installer remains entirely with the user, reflecting the Linux philosophy of providing full freedom and flexibility.\n\n---\n\nArchinstall primarily functions as a flexible library for managing services, packages, and other elements within an Arch Linux system.\nThis core library is the backbone for the guided installer that Archinstall provides. It is also designed to be used by those who wish to script their own custom installations.\n\nTherefore, Archinstall will try its best to not introduce any breaking changes except for major releases which may break backward compatibility after notifying about such changes.\n\n\n# Contributing\n\nPlease see [CONTRIBUTING.md](https://github.com/archlinux/archinstall/blob/master/CONTRIBUTING.md)\n"
  },
  {
    "path": "archinstall/__init__.py",
    "content": "from archinstall.lib.plugins import plugin\n\n__all__ = ['plugin']\n"
  },
  {
    "path": "archinstall/__main__.py",
    "content": "import sys\n\nfrom archinstall.main import main\n\nif __name__ == '__main__':\n\tsys.exit(main())\n"
  },
  {
    "path": "archinstall/applications/audio.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING\n\nfrom archinstall.lib.hardware import SysInfo\nfrom archinstall.lib.models.application import Audio, AudioConfiguration\nfrom archinstall.lib.models.users import User\nfrom archinstall.lib.output import debug\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass AudioApp:\n\t@property\n\tdef pulseaudio_packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'pulseaudio',\n\t\t]\n\n\t@property\n\tdef pipewire_packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'pipewire',\n\t\t\t'pipewire-alsa',\n\t\t\t'pipewire-jack',\n\t\t\t'pipewire-pulse',\n\t\t\t'gst-plugin-pipewire',\n\t\t\t'libpulse',\n\t\t\t'wireplumber',\n\t\t]\n\n\tdef _enable_pipewire(\n\t\tself,\n\t\tinstall_session: Installer,\n\t\tusers: list[User] | None = None,\n\t) -> None:\n\t\tif users is None:\n\t\t\treturn\n\n\t\tfor user in users:\n\t\t\t# Create the full path for enabling the pipewire systemd items\n\t\t\tservice_dir = install_session.target / 'home' / user.username / '.config' / 'systemd' / 'user' / 'default.target.wants'\n\t\t\tservice_dir.mkdir(parents=True, exist_ok=True)\n\n\t\t\t# Set ownership of the entire user catalogue\n\t\t\tinstall_session.arch_chroot(f'chown -R {user.username}:{user.username} /home/{user.username}')\n\n\t\t\t# symlink in the correct pipewire systemd items\n\t\t\tinstall_session.arch_chroot(\n\t\t\t\tf'ln -sf /usr/lib/systemd/user/pipewire-pulse.service /home/{user.username}/.config/systemd/user/default.target.wants/pipewire-pulse.service',\n\t\t\t\trun_as=user.username,\n\t\t\t)\n\t\t\tinstall_session.arch_chroot(\n\t\t\t\tf'ln -sf /usr/lib/systemd/user/pipewire-pulse.socket /home/{user.username}/.config/systemd/user/default.target.wants/pipewire-pulse.socket',\n\t\t\t\trun_as=user.username,\n\t\t\t)\n\n\tdef install(\n\t\tself,\n\t\tinstall_session: Installer,\n\t\taudio_config: AudioConfiguration,\n\t\tusers: list[User] | None = None,\n\t) -> None:\n\t\tdebug(f'Installing audio server: {audio_config.audio.value}')\n\n\t\tif audio_config.audio == Audio.NO_AUDIO:\n\t\t\tdebug('No audio server selected, skipping installation.')\n\t\t\treturn\n\n\t\tif SysInfo.requires_sof_fw():\n\t\t\tinstall_session.add_additional_packages('sof-firmware')\n\n\t\tif SysInfo.requires_alsa_fw():\n\t\t\tinstall_session.add_additional_packages('alsa-firmware')\n\n\t\tmatch audio_config.audio:\n\t\t\tcase Audio.PIPEWIRE:\n\t\t\t\tinstall_session.add_additional_packages(self.pipewire_packages)\n\t\t\t\tself._enable_pipewire(install_session, users)\n\t\t\tcase Audio.PULSEAUDIO:\n\t\t\t\tinstall_session.add_additional_packages(self.pulseaudio_packages)\n"
  },
  {
    "path": "archinstall/applications/bluetooth.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING\n\nfrom archinstall.lib.output import debug\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass BluetoothApp:\n\t@property\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'bluez',\n\t\t\t'bluez-utils',\n\t\t]\n\n\t@property\n\tdef services(self) -> list[str]:\n\t\treturn [\n\t\t\t'bluetooth.service',\n\t\t]\n\n\tdef install(self, install_session: Installer) -> None:\n\t\tdebug('Installing Bluetooth')\n\t\tinstall_session.add_additional_packages(self.packages)\n\t\tinstall_session.enable_service(self.services)\n"
  },
  {
    "path": "archinstall/applications/firewall.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING\n\nfrom archinstall.lib.models.application import Firewall, FirewallConfiguration\nfrom archinstall.lib.output import debug\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass FirewallApp:\n\t@property\n\tdef ufw_packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'ufw',\n\t\t]\n\n\t@property\n\tdef fwd_packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'firewalld',\n\t\t]\n\n\t@property\n\tdef ufw_services(self) -> list[str]:\n\t\treturn [\n\t\t\t'ufw.service',\n\t\t]\n\n\t@property\n\tdef fwd_services(self) -> list[str]:\n\t\treturn [\n\t\t\t'firewalld.service',\n\t\t]\n\n\tdef install(\n\t\tself,\n\t\tinstall_session: Installer,\n\t\tfirewall_config: FirewallConfiguration,\n\t) -> None:\n\t\tdebug(f'Installing firewall: {firewall_config.firewall.value}')\n\n\t\tmatch firewall_config.firewall:\n\t\t\tcase Firewall.UFW:\n\t\t\t\tinstall_session.add_additional_packages(self.ufw_packages)\n\t\t\t\tinstall_session.enable_service(self.ufw_services)\n\t\t\t\t# write default conf file to enabled\n\t\t\t\tufw_conf = install_session.target / 'etc/ufw/ufw.conf'\n\t\t\t\tufw_conf.write_text(ufw_conf.read_text().replace('ENABLED=no', 'ENABLED=yes'))\n\n\t\t\tcase Firewall.FWD:\n\t\t\t\tinstall_session.add_additional_packages(self.fwd_packages)\n\t\t\t\tinstall_session.enable_service(self.fwd_services)\n"
  },
  {
    "path": "archinstall/applications/power_management.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING\n\nfrom archinstall.lib.models.application import PowerManagement, PowerManagementConfiguration\nfrom archinstall.lib.output import debug\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass PowerManagementApp:\n\t@property\n\tdef ppd_packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'power-profiles-daemon',\n\t\t]\n\n\t@property\n\tdef tuned_packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'tuned',\n\t\t\t'tuned-ppd',\n\t\t]\n\n\tdef install(\n\t\tself,\n\t\tinstall_session: Installer,\n\t\tpower_management_config: PowerManagementConfiguration,\n\t) -> None:\n\t\tdebug(f'Installing power management daemon: {power_management_config.power_management.value}')\n\n\t\tmatch power_management_config.power_management:\n\t\t\tcase PowerManagement.POWER_PROFILES_DAEMON:\n\t\t\t\tinstall_session.add_additional_packages(self.ppd_packages)\n\t\t\tcase PowerManagement.TUNED:\n\t\t\t\tinstall_session.add_additional_packages(self.tuned_packages)\n"
  },
  {
    "path": "archinstall/applications/print_service.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING\n\nfrom archinstall.lib.output import debug\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass PrintServiceApp:\n\t@property\n\tdef packages(self) -> list[str]:\n\t\treturn ['cups', 'system-config-printer', 'cups-pk-helper']\n\n\t@property\n\tdef services(self) -> list[str]:\n\t\treturn [\n\t\t\t'cups.service',\n\t\t]\n\n\tdef install(self, install_session: Installer) -> None:\n\t\tdebug('Installing print service')\n\t\tinstall_session.add_additional_packages(self.packages)\n\t\tinstall_session.enable_service(self.services)\n"
  },
  {
    "path": "archinstall/default_profiles/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/default_profiles/desktop.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING, Self, override\n\nfrom archinstall.default_profiles.profile import GreeterType, Profile, ProfileType, SelectResult\nfrom archinstall.lib.menu.helpers import Selection\nfrom archinstall.lib.output import info\nfrom archinstall.lib.profile.profiles_handler import profile_handler\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass DesktopProfile(Profile):\n\tdef __init__(self, current_selection: list[Self] = []) -> None:\n\t\tsuper().__init__(\n\t\t\t'Desktop',\n\t\t\tProfileType.Desktop,\n\t\t\tcurrent_selection=current_selection,\n\t\t\tsupport_greeter=True,\n\t\t)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'nano',\n\t\t\t'vim',\n\t\t\t'openssh',\n\t\t\t'htop',\n\t\t\t'wget',\n\t\t\t'smartmontools',\n\t\t\t'xdg-utils',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType | None:\n\t\tcombined_greeters: dict[GreeterType, int] = {}\n\t\tfor profile in self.current_selection:\n\t\t\tif profile.default_greeter_type:\n\t\t\t\tcombined_greeters.setdefault(profile.default_greeter_type, 0)\n\t\t\t\tcombined_greeters[profile.default_greeter_type] += 1\n\n\t\tif len(combined_greeters) >= 1:\n\t\t\treturn list(combined_greeters)[0]\n\n\t\treturn None\n\n\tasync def _do_on_select_profiles(self) -> None:\n\t\tfor profile in self.current_selection:\n\t\t\tawait profile.do_on_select()\n\n\t@override\n\tasync def do_on_select(self) -> SelectResult:\n\t\titems = [\n\t\t\tMenuItem(\n\t\t\t\tp.name,\n\t\t\t\tvalue=p,\n\t\t\t\tpreview_action=lambda x: x.value.preview_text() if x.value else None,\n\t\t\t)\n\t\t\tfor p in profile_handler.get_desktop_profiles()\n\t\t]\n\n\t\tgroup = MenuItemGroup(items, sort_items=True, sort_case_sensitive=False)\n\t\tgroup.set_selected_by_value(self.current_selection)\n\n\t\tresult = await Selection[Self](\n\t\t\tgroup,\n\t\t\tmulti=True,\n\t\t\tallow_reset=True,\n\t\t\tallow_skip=True,\n\t\t\tpreview_location='right',\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\tself.current_selection = result.get_values()\n\t\t\t\tawait self._do_on_select_profiles()\n\t\t\t\treturn SelectResult.NewSelection\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn SelectResult.SameSelection\n\t\t\tcase ResultType.Reset:\n\t\t\t\treturn SelectResult.ResetCurrent\n\n\t@override\n\tdef post_install(self, install_session: Installer) -> None:\n\t\tfor profile in self.current_selection:\n\t\t\tprofile.post_install(install_session)\n\n\t@override\n\tdef install(self, install_session: Installer) -> None:\n\t\t# Install common packages for all desktop environments\n\t\tinstall_session.add_additional_packages(self.packages)\n\n\t\tfor profile in self.current_selection:\n\t\t\tinfo(f'Installing profile {profile.name}...')\n\n\t\t\tinstall_session.add_additional_packages(profile.packages)\n\t\t\tinstall_session.enable_service(profile.services)\n\n\t\t\tprofile.install(install_session)\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/__init__.py",
    "content": "from enum import Enum\n\n\nclass SeatAccess(Enum):\n\tseatd = 'seatd'\n\tpolkit = 'polkit'\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/awesome.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING, override\n\nfrom archinstall.default_profiles.profile import ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass AwesomeProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Awesome', ProfileType.WindowMgr)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn super().packages + [\n\t\t\t'awesome',\n\t\t\t'alacritty',\n\t\t\t'xorg-xinit',\n\t\t\t'xorg-xrandr',\n\t\t\t'xterm',\n\t\t\t'feh',\n\t\t\t'slock',\n\t\t\t'terminus-font',\n\t\t\t'gnu-free-fonts',\n\t\t\t'ttf-liberation',\n\t\t\t'xsel',\n\t\t]\n\n\t@override\n\tdef install(self, install_session: Installer) -> None:\n\t\tsuper().install(install_session)\n\n\t\t# TODO: Copy a full configuration to ~/.config/awesome/rc.lua instead.\n\t\twith open(f'{install_session.target}/etc/xdg/awesome/rc.lua') as fh:\n\t\t\tawesome_lua = fh.read()\n\n\t\t# Replace xterm with alacritty for a smoother experience.\n\t\tawesome_lua = awesome_lua.replace('\"xterm\"', '\"alacritty\"')\n\n\t\twith open(f'{install_session.target}/etc/xdg/awesome/rc.lua', 'w') as fh:\n\t\t\tfh.write(awesome_lua)\n\n\t\t# TODO: Configure the right-click-menu to contain the above packages that were installed. (as a user config)\n\n\t\t# TODO: check if we selected a greeter,\n\t\t# but for now, awesome is intended to run without one.\n\t\twith open(f'{install_session.target}/etc/X11/xinit/xinitrc') as xinitrc:\n\t\t\txinitrc_data = xinitrc.read()\n\n\t\tfor line in xinitrc_data.split('\\n'):\n\t\t\tif 'twm &' in line:\n\t\t\t\txinitrc_data = xinitrc_data.replace(line, f'# {line}')\n\t\t\tif 'xclock' in line:\n\t\t\t\txinitrc_data = xinitrc_data.replace(line, f'# {line}')\n\t\t\tif 'xterm' in line:\n\t\t\t\txinitrc_data = xinitrc_data.replace(line, f'# {line}')\n\n\t\txinitrc_data += '\\n'\n\t\txinitrc_data += 'exec awesome\\n'\n\n\t\twith open(f'{install_session.target}/etc/X11/xinit/xinitrc', 'w') as xinitrc:\n\t\t\txinitrc.write(xinitrc_data)\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/bspwm.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass BspwmProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Bspwm', ProfileType.WindowMgr)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\t# return super().packages + [\n\t\treturn [\n\t\t\t'bspwm',\n\t\t\t'sxhkd',\n\t\t\t'dmenu',\n\t\t\t'xdo',\n\t\t\t'rxvt-unicode',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/budgie.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass BudgieProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Budgie', ProfileType.DesktopEnv)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'materia-gtk-theme',\n\t\t\t'budgie',\n\t\t\t'mate-terminal',\n\t\t\t'nemo',\n\t\t\t'papirus-icon-theme',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.LightdmSlick\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/cinnamon.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass CinnamonProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Cinnamon', ProfileType.DesktopEnv)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'cinnamon',\n\t\t\t'system-config-printer',\n\t\t\t'gnome-keyring',\n\t\t\t'gnome-terminal',\n\t\t\t'engrampa',\n\t\t\t'gnome-screenshot',\n\t\t\t'gvfs-smb',\n\t\t\t'xed',\n\t\t\t'xdg-user-dirs-gtk',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/cosmic.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass CosmicProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Cosmic', ProfileType.DesktopEnv)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'cosmic',\n\t\t\t'xdg-user-dirs',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.CosmicSession\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/cutefish.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass CutefishProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Cutefish', ProfileType.DesktopEnv)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'cutefish',\n\t\t\t'noto-fonts',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Sddm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/deepin.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass DeepinProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Deepin', ProfileType.DesktopEnv)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'deepin',\n\t\t\t'deepin-terminal',\n\t\t\t'deepin-editor',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/enlightenment.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass EnlightenmentProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Enlightenment', ProfileType.WindowMgr)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'enlightenment',\n\t\t\t'terminology',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/gnome.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass GnomeProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('GNOME', ProfileType.DesktopEnv)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'gnome',\n\t\t\t'gnome-tweaks',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Gdm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/hyprland.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.desktops import SeatAccess\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\nfrom archinstall.lib.menu.helpers import Selection\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass HyprlandProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Hyprland', ProfileType.DesktopEnv)\n\n\t\tself.custom_settings = {'seat_access': None}\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'hyprland',\n\t\t\t'dunst',\n\t\t\t'kitty',\n\t\t\t'uwsm',\n\t\t\t'dolphin',\n\t\t\t'wofi',\n\t\t\t'xdg-desktop-portal-hyprland',\n\t\t\t'qt5-wayland',\n\t\t\t'qt6-wayland',\n\t\t\t'polkit-kde-agent',\n\t\t\t'grim',\n\t\t\t'slurp',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Sddm\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\tif pref := self.custom_settings.get('seat_access', None):\n\t\t\treturn [pref]\n\t\treturn []\n\n\tasync def _select_seat_access(self) -> None:\n\t\t# need to activate seat service and add to seat group\n\t\theader = tr('Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)')\n\t\theader += '\\n' + tr('Choose an option to give Hyprland access to your hardware') + '\\n'\n\n\t\titems = [MenuItem(s.value, value=s) for s in SeatAccess]\n\t\tgroup = MenuItemGroup(items, sort_items=True)\n\n\t\tdefault = self.custom_settings.get('seat_access', None)\n\t\tgroup.set_default_by_value(default)\n\n\t\tresult = await Selection[SeatAccess](\n\t\t\tgroup,\n\t\t\theader=header,\n\t\t\tallow_skip=False,\n\t\t).show()\n\n\t\tif result.type_ == ResultType.Selection:\n\t\t\tself.custom_settings['seat_access'] = result.get_value().value\n\n\t@override\n\tasync def do_on_select(self) -> None:\n\t\tawait self._select_seat_access()\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/i3.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass I3wmProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('i3-wm', ProfileType.WindowMgr)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'i3-wm',\n\t\t\t'i3lock',\n\t\t\t'i3status',\n\t\t\t'i3blocks',\n\t\t\t'xss-lock',\n\t\t\t'xterm',\n\t\t\t'lightdm-gtk-greeter',\n\t\t\t'lightdm',\n\t\t\t'dmenu',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/labwc.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.desktops import SeatAccess\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\nfrom archinstall.lib.menu.helpers import Selection\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass LabwcProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Labwc',\n\t\t\tProfileType.WindowMgr,\n\t\t)\n\n\t\tself.custom_settings = {'seat_access': None}\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\tadditional = []\n\t\tif seat := self.custom_settings.get('seat_access', None):\n\t\t\tadditional = [seat]\n\n\t\treturn [\n\t\t\t'alacritty',\n\t\t\t'labwc',\n\t\t] + additional\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\tif pref := self.custom_settings.get('seat_access', None):\n\t\t\treturn [pref]\n\t\treturn []\n\n\tasync def _select_seat_access(self) -> None:\n\t\t# need to activate seat service and add to seat group\n\t\theader = tr('labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)')\n\t\theader += '\\n' + tr('Choose an option to give labwc access to your hardware') + '\\n'\n\n\t\titems = [MenuItem(s.value, value=s) for s in SeatAccess]\n\t\tgroup = MenuItemGroup(items, sort_items=True)\n\n\t\tdefault = self.custom_settings.get('seat_access', None)\n\t\tgroup.set_default_by_value(default)\n\n\t\tresult = await Selection[SeatAccess](\n\t\t\tgroup,\n\t\t\theader=header,\n\t\t\tallow_skip=False,\n\t\t).show()\n\n\t\tif result.type_ == ResultType.Selection:\n\t\t\tself.custom_settings['seat_access'] = result.get_value().value\n\n\t@override\n\tasync def do_on_select(self) -> None:\n\t\tawait self._select_seat_access()\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/lxqt.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass LxqtProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Lxqt', ProfileType.DesktopEnv)\n\n\t# NOTE: SDDM is the only officially supported greeter for LXQt, so unlike other DEs, lightdm is not used here.\n\t# LXQt works with lightdm, but since this is not supported, we will not default to this.\n\t# https://github.com/lxqt/lxqt/issues/795\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'lxqt',\n\t\t\t'breeze-icons',\n\t\t\t'oxygen-icons',\n\t\t\t'xdg-utils',\n\t\t\t'ttf-freefont',\n\t\t\t'l3afpad',\n\t\t\t'slock',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Sddm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/mate.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass MateProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Mate', ProfileType.DesktopEnv)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'mate',\n\t\t\t'mate-extra',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/niri.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.desktops import SeatAccess\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\nfrom archinstall.lib.menu.helpers import Selection\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass NiriProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Niri',\n\t\t\tProfileType.WindowMgr,\n\t\t)\n\n\t\tself.custom_settings = {'seat_access': None}\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\tadditional = []\n\t\tif seat := self.custom_settings.get('seat_access', None):\n\t\t\tadditional = [seat]\n\n\t\treturn [\n\t\t\t'niri',\n\t\t\t'alacritty',\n\t\t\t'fuzzel',\n\t\t\t'mako',\n\t\t\t'xorg-xwayland',\n\t\t\t'waybar',\n\t\t\t'swaybg',\n\t\t\t'swayidle',\n\t\t\t'swaylock',\n\t\t\t'xdg-desktop-portal-gnome',\n\t\t] + additional\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\tif pref := self.custom_settings.get('seat_access', None):\n\t\t\treturn [pref]\n\t\treturn []\n\n\tasync def _select_seat_access(self) -> None:\n\t\t# need to activate seat service and add to seat group\n\t\theader = tr('niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)')\n\t\theader += '\\n' + tr('Choose an option to give niri access to your hardware') + '\\n'\n\n\t\titems = [MenuItem(s.value, value=s) for s in SeatAccess]\n\t\tgroup = MenuItemGroup(items, sort_items=True)\n\n\t\tdefault = self.custom_settings.get('seat_access', None)\n\t\tgroup.set_default_by_value(default)\n\n\t\tresult = await Selection[SeatAccess](\n\t\t\tgroup,\n\t\t\theader=header,\n\t\t\tallow_skip=False,\n\t\t).show()\n\n\t\tif result.type_ == ResultType.Selection:\n\t\t\tself.custom_settings['seat_access'] = result.get_value().value\n\n\t@override\n\tasync def do_on_select(self) -> None:\n\t\tawait self._select_seat_access()\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/plasma.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass PlasmaProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('KDE Plasma', ProfileType.DesktopEnv)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'plasma-desktop',\n\t\t\t'konsole',\n\t\t\t'kate',\n\t\t\t'dolphin',\n\t\t\t'ark',\n\t\t\t'plasma-workspace',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.PlasmaLoginManager\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/qtile.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass QtileProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Qtile', ProfileType.WindowMgr)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'qtile',\n\t\t\t'alacritty',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/river.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass RiverProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('River', ProfileType.WindowMgr)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'foot',\n\t\t\t'xdg-desktop-portal-wlr',\n\t\t\t'river',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/sway.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.desktops import SeatAccess\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\nfrom archinstall.lib.menu.helpers import Selection\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass SwayProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Sway',\n\t\t\tProfileType.WindowMgr,\n\t\t)\n\n\t\tself.custom_settings = {'seat_access': None}\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\tadditional = []\n\t\tif seat := self.custom_settings.get('seat_access', None):\n\t\t\tadditional = [seat]\n\n\t\treturn [\n\t\t\t'sway',\n\t\t\t'swaybg',\n\t\t\t'swaylock',\n\t\t\t'swayidle',\n\t\t\t'waybar',\n\t\t\t'wmenu',\n\t\t\t'brightnessctl',\n\t\t\t'grim',\n\t\t\t'slurp',\n\t\t\t'pavucontrol',\n\t\t\t'foot',\n\t\t\t'xorg-xwayland',\n\t\t] + additional\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\tif pref := self.custom_settings.get('seat_access', None):\n\t\t\treturn [pref]\n\t\treturn []\n\n\tasync def _select_seat_access(self) -> None:\n\t\t# need to activate seat service and add to seat group\n\t\theader = tr('Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)')\n\t\theader += '\\n' + tr('Choose an option to give Sway access to your hardware') + '\\n'\n\n\t\titems = [MenuItem(s.value, value=s) for s in SeatAccess]\n\t\tgroup = MenuItemGroup(items, sort_items=True)\n\n\t\tdefault = self.custom_settings.get('seat_access', None)\n\t\tgroup.set_default_by_value(default)\n\n\t\tresult = await Selection[SeatAccess](\n\t\t\tgroup,\n\t\t\theader=header,\n\t\t\tallow_skip=False,\n\t\t).show()\n\n\t\tif result.type_ == ResultType.Selection:\n\t\t\tself.custom_settings['seat_access'] = result.get_value().value\n\n\t@override\n\tasync def do_on_select(self) -> None:\n\t\tawait self._select_seat_access()\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/xfce4.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass Xfce4Profile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Xfce4', ProfileType.DesktopEnv)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'xfce4',\n\t\t\t'xfce4-goodies',\n\t\t\t'pavucontrol',\n\t\t\t'gvfs',\n\t\t\t'xarchiver',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n"
  },
  {
    "path": "archinstall/default_profiles/desktops/xmonad.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, ProfileType\nfrom archinstall.default_profiles.xorg import XorgProfile\n\n\nclass XmonadProfile(XorgProfile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__('Xmonad', ProfileType.WindowMgr)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'xmonad',\n\t\t\t'xmonad-contrib',\n\t\t\t'xmonad-extras',\n\t\t\t'xterm',\n\t\t\t'dmenu',\n\t\t]\n\n\t@property\n\t@override\n\tdef default_greeter_type(self) -> GreeterType:\n\t\treturn GreeterType.Lightdm\n"
  },
  {
    "path": "archinstall/default_profiles/minimal.py",
    "content": "from archinstall.default_profiles.profile import Profile, ProfileType\n\n\nclass MinimalProfile(Profile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Minimal',\n\t\t\tProfileType.Minimal,\n\t\t)\n"
  },
  {
    "path": "archinstall/default_profiles/profile.py",
    "content": "from __future__ import annotations\n\nfrom enum import Enum, auto\nfrom typing import TYPE_CHECKING, Self\n\nfrom archinstall.lib.translationhandler import tr\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\tfrom archinstall.lib.models.users import User\n\n\nclass ProfileType(Enum):\n\t# top level default_profiles\n\tServer = 'Server'\n\tDesktop = 'Desktop'\n\tXorg = 'Xorg'\n\tMinimal = 'Minimal'\n\tCustom = 'Custom'\n\t# detailed selection default_profiles\n\tServerType = 'ServerType'\n\tWindowMgr = 'Window Manager'\n\tDesktopEnv = 'Desktop Environment'\n\tCustomType = 'CustomType'\n\t# special things\n\tApplication = 'Application'\n\n\nclass GreeterType(Enum):\n\tLightdm = 'lightdm-gtk-greeter'\n\tLightdmSlick = 'lightdm-slick-greeter'\n\tSddm = 'sddm'\n\tGdm = 'gdm'\n\tLy = 'ly'\n\tCosmicSession = 'cosmic-greeter'\n\tPlasmaLoginManager = 'plasma-login-manager'\n\n\nclass SelectResult(Enum):\n\tNewSelection = auto()\n\tSameSelection = auto()\n\tResetCurrent = auto()\n\n\nclass Profile:\n\tdef __init__(\n\t\tself,\n\t\tname: str,\n\t\tprofile_type: ProfileType,\n\t\tcurrent_selection: list[Self] = [],\n\t\tpackages: list[str] = [],\n\t\tservices: list[str] = [],\n\t\tsupport_gfx_driver: bool = False,\n\t\tsupport_greeter: bool = False,\n\t) -> None:\n\t\tself.name = name\n\t\tself.profile_type = profile_type\n\t\tself.custom_settings: dict[str, str | None] = {}\n\n\t\tself._support_gfx_driver = support_gfx_driver\n\t\tself._support_greeter = support_greeter\n\n\t\t# self.gfx_driver: str | None = None\n\n\t\tself.current_selection = current_selection\n\t\tself._packages = packages\n\t\tself._services = services\n\n\t\t# Only used for custom default_profiles\n\t\tself.custom_enabled = False\n\n\t@property\n\tdef packages(self) -> list[str]:\n\t\t\"\"\"\n\t\tReturns a list of packages that should be installed when\n\t\tthis profile is among the chosen ones\n\t\t\"\"\"\n\t\treturn self._packages\n\n\t@property\n\tdef services(self) -> list[str]:\n\t\t\"\"\"\n\t\tReturns a list of services that should be enabled when\n\t\tthis profile is among the chosen ones\n\t\t\"\"\"\n\t\treturn self._services\n\n\t@property\n\tdef default_greeter_type(self) -> GreeterType | None:\n\t\t\"\"\"\n\t\tSetting a default greeter type for a desktop profile\n\t\t\"\"\"\n\t\treturn None\n\n\tdef install(self, install_session: Installer) -> None:\n\t\t\"\"\"\n\t\tPerforms installation steps when this profile was selected\n\t\t\"\"\"\n\n\tdef post_install(self, install_session: Installer) -> None:\n\t\t\"\"\"\n\t\tHook that will be called when the installation process is\n\t\tfinished and custom installation steps for specific default_profiles\n\t\tare needed\n\t\t\"\"\"\n\n\tdef provision(self, install_session: Installer, users: list[User]) -> None:\n\t\t\"\"\"\n\t\tHook that will be called when the installation process is\n\t\tfinished and user configuration for specific default_profiles\n\t\tis needed\n\t\t\"\"\"\n\n\tdef json(self) -> dict[str, str]:\n\t\t\"\"\"\n\t\tReturns a json representation of the profile\n\t\t\"\"\"\n\t\treturn {}\n\n\tasync def do_on_select(self) -> SelectResult | None:\n\t\t\"\"\"\n\t\tHook that will be called when a profile is selected\n\t\t\"\"\"\n\t\treturn SelectResult.NewSelection\n\n\tdef set_custom_settings(self, settings: dict[str, str | None]) -> None:\n\t\t\"\"\"\n\t\tSet the custom settings for the profile.\n\t\tThis is also called when the settings are parsed from the config\n\t\tand can be overridden to perform further actions based on the profile\n\t\t\"\"\"\n\t\tself.custom_settings = settings\n\n\tdef current_selection_names(self) -> list[str]:\n\t\tif self.current_selection:\n\t\t\treturn [s.name for s in self.current_selection]\n\t\treturn []\n\n\tdef reset(self) -> None:\n\t\tself.current_selection = []\n\n\tdef is_top_level_profile(self) -> bool:\n\t\ttop_levels = [ProfileType.Desktop, ProfileType.Server, ProfileType.Xorg, ProfileType.Minimal, ProfileType.Custom]\n\t\treturn self.profile_type in top_levels\n\n\tdef is_desktop_profile(self) -> bool:\n\t\treturn self.profile_type == ProfileType.Desktop\n\n\tdef is_server_type_profile(self) -> bool:\n\t\treturn self.profile_type == ProfileType.ServerType\n\n\tdef is_desktop_type_profile(self) -> bool:\n\t\treturn self.profile_type == ProfileType.DesktopEnv or self.profile_type == ProfileType.WindowMgr\n\n\tdef is_xorg_type_profile(self) -> bool:\n\t\treturn self.profile_type == ProfileType.Xorg\n\n\tdef is_custom_type_profile(self) -> bool:\n\t\treturn self.profile_type == ProfileType.CustomType\n\n\tdef is_graphic_driver_supported(self) -> bool:\n\t\tif not self.current_selection:\n\t\t\treturn self._support_gfx_driver\n\t\telse:\n\t\t\tif any([p._support_gfx_driver for p in self.current_selection]):\n\t\t\t\treturn True\n\t\t\treturn False\n\n\tdef is_greeter_supported(self) -> bool:\n\t\treturn self._support_greeter\n\n\tdef preview_text(self) -> str:\n\t\t\"\"\"\n\t\tOverride this method to provide a preview text for the profile\n\t\t\"\"\"\n\t\treturn self.packages_text()\n\n\tdef packages_text(self, include_sub_packages: bool = False) -> str:\n\t\tpackages = set()\n\n\t\tif self.packages:\n\t\t\tpackages = set(self.packages)\n\n\t\tif include_sub_packages:\n\t\t\tfor sub_profile in self.current_selection:\n\t\t\t\tif sub_profile.packages:\n\t\t\t\t\tpackages.update(sub_profile.packages)\n\n\t\ttext = tr('Installed packages') + ':\\n'\n\n\t\tfor pkg in sorted(packages):\n\t\t\ttext += f'\\t- {pkg}\\n'\n\n\t\treturn text\n"
  },
  {
    "path": "archinstall/default_profiles/server.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING, Self, override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType, SelectResult\nfrom archinstall.lib.menu.helpers import Selection\nfrom archinstall.lib.output import info\nfrom archinstall.lib.profile.profiles_handler import profile_handler\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\tfrom archinstall.lib.models.users import User\n\n\nclass ServerProfile(Profile):\n\tdef __init__(self, current_value: list[Self] = []):\n\t\tsuper().__init__(\n\t\t\t'Server',\n\t\t\tProfileType.Server,\n\t\t\tcurrent_selection=current_value,\n\t\t)\n\n\t@override\n\tasync def do_on_select(self) -> SelectResult:\n\t\titems = [\n\t\t\tMenuItem(\n\t\t\t\tp.name,\n\t\t\t\tvalue=p,\n\t\t\t\tpreview_action=lambda x: x.value.preview_text() if x.value else None,\n\t\t\t)\n\t\t\tfor p in profile_handler.get_server_profiles()\n\t\t]\n\n\t\tgroup = MenuItemGroup(items, sort_items=True)\n\t\tgroup.set_selected_by_value(self.current_selection)\n\n\t\tresult = await Selection[Self](\n\t\t\tgroup,\n\t\t\tallow_reset=True,\n\t\t\tallow_skip=True,\n\t\t\tmulti=True,\n\t\t\tpreview_location='right',\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\tselections = result.get_values()\n\t\t\t\tself.current_selection = selections\n\t\t\t\treturn SelectResult.NewSelection\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn SelectResult.SameSelection\n\t\t\tcase ResultType.Reset:\n\t\t\t\treturn SelectResult.ResetCurrent\n\n\t@override\n\tdef provision(self, install_session: Installer, users: list[User]) -> None:\n\t\tfor profile in self.current_selection:\n\t\t\tprofile.provision(install_session, users)\n\n\t@override\n\tdef post_install(self, install_session: Installer) -> None:\n\t\tfor profile in self.current_selection:\n\t\t\tprofile.post_install(install_session)\n\n\t@override\n\tdef install(self, install_session: Installer) -> None:\n\t\tserver_info = self.current_selection_names()\n\t\tdetails = ', '.join(server_info)\n\t\tinfo(f'Now installing the selected servers: {details}')\n\n\t\tfor server in self.current_selection:\n\t\t\tinfo(f'Installing {server.name}...')\n\t\t\tinstall_session.add_additional_packages(server.packages)\n\t\t\tinstall_session.enable_service(server.services)\n\t\t\tserver.install(install_session)\n\n\t\tinfo('If your selections included multiple servers with the same port, you may have to reconfigure them.')\n"
  },
  {
    "path": "archinstall/default_profiles/servers/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/default_profiles/servers/cockpit.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType\n\n\nclass CockpitProfile(Profile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Cockpit',\n\t\t\tProfileType.ServerType,\n\t\t)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn ['cockpit', 'udisks2', 'packagekit']\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\treturn ['cockpit.socket']\n"
  },
  {
    "path": "archinstall/default_profiles/servers/docker.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING, override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\tfrom archinstall.lib.models.users import User\n\n\nclass DockerProfile(Profile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Docker',\n\t\t\tProfileType.ServerType,\n\t\t)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn ['docker']\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\treturn ['docker']\n\n\t@override\n\tdef provision(self, install_session: Installer, users: list[User]) -> None:\n\t\tfor user in users:\n\t\t\tinstall_session.arch_chroot(f'usermod -a -G docker {user.username}')\n"
  },
  {
    "path": "archinstall/default_profiles/servers/httpd.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType\n\n\nclass HttpdProfile(Profile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'httpd',\n\t\t\tProfileType.ServerType,\n\t\t)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn ['apache']\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\treturn ['httpd']\n"
  },
  {
    "path": "archinstall/default_profiles/servers/lighttpd.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType\n\n\nclass LighttpdProfile(Profile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Lighttpd',\n\t\t\tProfileType.ServerType,\n\t\t)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn ['lighttpd']\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\treturn ['lighttpd']\n"
  },
  {
    "path": "archinstall/default_profiles/servers/mariadb.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING, override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass MariadbProfile(Profile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Mariadb',\n\t\t\tProfileType.ServerType,\n\t\t)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn ['mariadb']\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\treturn ['mariadb']\n\n\t@override\n\tdef post_install(self, install_session: Installer) -> None:\n\t\tinstall_session.arch_chroot('mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql')\n"
  },
  {
    "path": "archinstall/default_profiles/servers/nginx.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType\n\n\nclass NginxProfile(Profile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Nginx',\n\t\t\tProfileType.ServerType,\n\t\t)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn ['nginx']\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\treturn ['nginx']\n"
  },
  {
    "path": "archinstall/default_profiles/servers/postgresql.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING, override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass PostgresqlProfile(Profile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Postgresql',\n\t\t\tProfileType.ServerType,\n\t\t)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn ['postgresql']\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\treturn ['postgresql']\n\n\t@override\n\tdef post_install(self, install_session: Installer) -> None:\n\t\tinstall_session.arch_chroot('initdb -D /var/lib/postgres/data', run_as='postgres')\n"
  },
  {
    "path": "archinstall/default_profiles/servers/sshd.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType\n\n\nclass SshdProfile(Profile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'sshd',\n\t\t\tProfileType.ServerType,\n\t\t)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn ['openssh']\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\treturn ['sshd']\n"
  },
  {
    "path": "archinstall/default_profiles/servers/tomcat.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType\n\n\nclass TomcatProfile(Profile):\n\tdef __init__(self) -> None:\n\t\tsuper().__init__(\n\t\t\t'Tomcat',\n\t\t\tProfileType.ServerType,\n\t\t)\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn ['tomcat10']\n\n\t@property\n\t@override\n\tdef services(self) -> list[str]:\n\t\treturn ['tomcat10']\n"
  },
  {
    "path": "archinstall/default_profiles/xorg.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import Profile, ProfileType\nfrom archinstall.lib.translationhandler import tr\n\n\nclass XorgProfile(Profile):\n\tdef __init__(\n\t\tself,\n\t\tname: str = 'Xorg',\n\t\tprofile_type: ProfileType = ProfileType.Xorg,\n\t):\n\t\tsuper().__init__(\n\t\t\tname,\n\t\t\tprofile_type,\n\t\t\tsupport_gfx_driver=True,\n\t\t)\n\n\t@override\n\tdef preview_text(self) -> str:\n\t\ttext = tr('Environment type: {}').format(self.profile_type.value)\n\t\tif packages := self.packages_text():\n\t\t\ttext += f'\\n{packages}'\n\n\t\treturn text\n\n\t@property\n\t@override\n\tdef packages(self) -> list[str]:\n\t\treturn [\n\t\t\t'xorg-server',\n\t\t]\n"
  },
  {
    "path": "archinstall/lib/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/applications/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/applications/application_handler.py",
    "content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING\n\nfrom archinstall.applications.audio import AudioApp\nfrom archinstall.applications.bluetooth import BluetoothApp\nfrom archinstall.applications.firewall import FirewallApp\nfrom archinstall.applications.power_management import PowerManagementApp\nfrom archinstall.applications.print_service import PrintServiceApp\nfrom archinstall.lib.models import Audio\nfrom archinstall.lib.models.application import ApplicationConfiguration\nfrom archinstall.lib.models.users import User\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass ApplicationHandler:\n\tdef __init__(self) -> None:\n\t\tpass\n\n\tdef install_applications(self, install_session: Installer, app_config: ApplicationConfiguration, users: list[User] | None = None) -> None:\n\t\tif app_config.bluetooth_config and app_config.bluetooth_config.enabled:\n\t\t\tBluetoothApp().install(install_session)\n\n\t\tif app_config.audio_config and app_config.audio_config.audio != Audio.NO_AUDIO:\n\t\t\tAudioApp().install(\n\t\t\t\tinstall_session,\n\t\t\t\tapp_config.audio_config,\n\t\t\t\tusers,\n\t\t\t)\n\n\t\tif app_config.power_management_config:\n\t\t\tPowerManagementApp().install(\n\t\t\t\tinstall_session,\n\t\t\t\tapp_config.power_management_config,\n\t\t\t)\n\n\t\tif app_config.print_service_config and app_config.print_service_config.enabled:\n\t\t\tPrintServiceApp().install(install_session)\n\n\t\tif app_config.firewall_config:\n\t\t\tFirewallApp().install(\n\t\t\t\tinstall_session,\n\t\t\t\tapp_config.firewall_config,\n\t\t\t)\n"
  },
  {
    "path": "archinstall/lib/applications/application_menu.py",
    "content": "from typing import override\n\nfrom archinstall.lib.hardware import SysInfo\nfrom archinstall.lib.menu.abstract_menu import AbstractSubMenu\nfrom archinstall.lib.menu.helpers import Confirmation, Selection\nfrom archinstall.lib.models.application import (\n\tApplicationConfiguration,\n\tAudio,\n\tAudioConfiguration,\n\tBluetoothConfiguration,\n\tFirewall,\n\tFirewallConfiguration,\n\tPowerManagement,\n\tPowerManagementConfiguration,\n\tPrintServiceConfiguration,\n)\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass ApplicationMenu(AbstractSubMenu[ApplicationConfiguration]):\n\tdef __init__(\n\t\tself,\n\t\tpreset: ApplicationConfiguration | None = None,\n\t):\n\t\tif preset:\n\t\t\tself._app_config = preset\n\t\telse:\n\t\t\tself._app_config = ApplicationConfiguration()\n\n\t\tmenu_options = self._define_menu_options()\n\t\tself._item_group = MenuItemGroup(menu_options, checkmarks=True)\n\n\t\tsuper().__init__(\n\t\t\tself._item_group,\n\t\t\tconfig=self._app_config,\n\t\t\tallow_reset=True,\n\t\t)\n\n\t@override\n\tasync def show(self) -> ApplicationConfiguration | None:\n\t\t_ = await super().show()\n\t\treturn self._app_config\n\n\tdef _define_menu_options(self) -> list[MenuItem]:\n\t\treturn [\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Bluetooth'),\n\t\t\t\taction=select_bluetooth,\n\t\t\t\tvalue=self._app_config.bluetooth_config,\n\t\t\t\tpreview_action=self._prev_bluetooth,\n\t\t\t\tkey='bluetooth_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Audio'),\n\t\t\t\taction=select_audio,\n\t\t\t\tpreview_action=self._prev_audio,\n\t\t\t\tkey='audio_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Print service'),\n\t\t\t\taction=select_print_service,\n\t\t\t\tpreview_action=self._prev_print_service,\n\t\t\t\tkey='print_service_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Power management'),\n\t\t\t\taction=select_power_management,\n\t\t\t\tpreview_action=self._prev_power_management,\n\t\t\t\tenabled=SysInfo.has_battery(),\n\t\t\t\tkey='power_management_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Firewall'),\n\t\t\t\taction=select_firewall,\n\t\t\t\tpreview_action=self._prev_firewall,\n\t\t\t\tkey='firewall_config',\n\t\t\t),\n\t\t]\n\n\tdef _prev_power_management(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\tconfig: PowerManagementConfiguration = item.value\n\t\t\treturn f'{tr(\"Power management\")}: {config.power_management.value}'\n\t\treturn None\n\n\tdef _prev_bluetooth(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\tbluetooth_config: BluetoothConfiguration = item.value\n\n\t\t\toutput = f'{tr(\"Bluetooth\")}: '\n\t\t\toutput += tr('Enabled') if bluetooth_config.enabled else tr('Disabled')\n\t\t\treturn output\n\t\treturn None\n\n\tdef _prev_audio(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\tconfig: AudioConfiguration = item.value\n\t\t\treturn f'{tr(\"Audio\")}: {config.audio.value}'\n\t\treturn None\n\n\tdef _prev_print_service(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\tprint_service_config: PrintServiceConfiguration = item.value\n\n\t\t\toutput = f'{tr(\"Print service\")}: '\n\t\t\toutput += tr('Enabled') if print_service_config.enabled else tr('Disabled')\n\t\t\treturn output\n\t\treturn None\n\n\tdef _prev_firewall(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\tconfig: FirewallConfiguration = item.value\n\t\t\treturn f'{tr(\"Firewall\")}: {config.firewall.value}'\n\t\treturn None\n\n\nasync def select_power_management(preset: PowerManagementConfiguration | None = None) -> PowerManagementConfiguration | None:\n\tgroup = MenuItemGroup.from_enum(PowerManagement)\n\n\tif preset:\n\t\tgroup.set_focus_by_value(preset.power_management)\n\n\tresult = await Selection[PowerManagement](\n\t\tgroup,\n\t\tallow_skip=True,\n\t\tallow_reset=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\treturn PowerManagementConfiguration(power_management=result.get_value())\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n\n\nasync def select_bluetooth(preset: BluetoothConfiguration | None) -> BluetoothConfiguration | None:\n\theader = tr('Would you like to configure Bluetooth?') + '\\n'\n\tpreset_val = preset.enabled if preset else False\n\n\tresult = await Confirmation(\n\t\theader=header,\n\t\tallow_skip=True,\n\t\tpreset=preset_val,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Selection:\n\t\t\treturn BluetoothConfiguration(result.get_value())\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase _:\n\t\t\traise ValueError('Unhandled result type')\n\n\nasync def select_print_service(preset: PrintServiceConfiguration | None) -> PrintServiceConfiguration | None:\n\theader = tr('Would you like to configure the print service?') + '\\n'\n\tpreset_val = preset.enabled if preset else False\n\n\tresult = await Confirmation(\n\t\theader=header,\n\t\tallow_skip=True,\n\t\tpreset=preset_val,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Selection:\n\t\t\tresult.get_value()\n\t\t\treturn PrintServiceConfiguration(result.get_value())\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase _:\n\t\t\traise ValueError('Unhandled result type')\n\n\nasync def select_audio(preset: AudioConfiguration | None = None) -> AudioConfiguration | None:\n\titems = [MenuItem(a.value, value=a) for a in Audio]\n\tgroup = MenuItemGroup(items)\n\n\tif preset:\n\t\tgroup.set_focus_by_value(preset.audio)\n\n\tresult = await Selection[Audio](\n\t\tgroup,\n\t\theader=tr('Select audio configuration'),\n\t\tallow_skip=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\treturn AudioConfiguration(audio=result.get_value())\n\t\tcase ResultType.Reset:\n\t\t\traise ValueError('Unhandled result type')\n\n\nasync def select_firewall(preset: FirewallConfiguration | None = None) -> FirewallConfiguration | None:\n\tgroup = MenuItemGroup.from_enum(Firewall)\n\n\tif preset:\n\t\tgroup.set_focus_by_value(preset.firewall)\n\n\tresult = await Selection[Firewall](\n\t\tgroup,\n\t\tallow_skip=True,\n\t\tallow_reset=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\treturn FirewallConfiguration(firewall=result.get_value())\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n"
  },
  {
    "path": "archinstall/lib/args.py",
    "content": "import argparse\nimport json\nimport os\nimport sys\nimport urllib.error\nimport urllib.parse\nfrom argparse import ArgumentParser, Namespace\nfrom dataclasses import dataclass, field\nfrom pathlib import Path\nfrom typing import Any, Self\nfrom urllib.request import Request, urlopen\n\nfrom pydantic.dataclasses import dataclass as p_dataclass\n\nfrom archinstall.lib.crypt import decrypt\nfrom archinstall.lib.menu.util import get_password\nfrom archinstall.lib.models.application import ApplicationConfiguration, ZramConfiguration\nfrom archinstall.lib.models.authentication import AuthenticationConfiguration\nfrom archinstall.lib.models.bootloader import Bootloader, BootloaderConfiguration\nfrom archinstall.lib.models.device import DiskEncryption, DiskLayoutConfiguration\nfrom archinstall.lib.models.locale import LocaleConfiguration\nfrom archinstall.lib.models.mirrors import MirrorConfiguration\nfrom archinstall.lib.models.network import NetworkConfiguration\nfrom archinstall.lib.models.packages import Repository\nfrom archinstall.lib.models.profile import ProfileConfiguration\nfrom archinstall.lib.models.users import Password, User, UserSerialization\nfrom archinstall.lib.output import debug, error, logger, warn\nfrom archinstall.lib.plugins import load_plugin\nfrom archinstall.lib.translationhandler import Language, tr, translation_handler\nfrom archinstall.lib.version import get_version\nfrom archinstall.tui.ui.components import tui\n\n\n@p_dataclass\nclass Arguments:\n\tconfig: Path | None = None\n\tconfig_url: str | None = None\n\tcreds: Path | None = None\n\tcreds_url: str | None = None\n\tcreds_decryption_key: str | None = None\n\tsilent: bool = False\n\tdry_run: bool = False\n\tscript: str | None = None\n\tmountpoint: Path = Path('/mnt')\n\tskip_ntp: bool = False\n\tskip_wkd: bool = False\n\tskip_boot: bool = False\n\tdebug: bool = False\n\toffline: bool = False\n\tno_pkg_lookups: bool = False\n\tplugin: str | None = None\n\tskip_version_check: bool = False\n\tskip_wifi_check: bool = False\n\tadvanced: bool = False\n\tverbose: bool = False\n\n\n@dataclass\nclass ArchConfig:\n\tversion: str | None = None\n\tscript: str | None = None\n\tlocale_config: LocaleConfiguration | None = None\n\tarchinstall_language: Language = field(default_factory=lambda: translation_handler.get_language_by_abbr('en'))\n\tdisk_config: DiskLayoutConfiguration | None = None\n\tprofile_config: ProfileConfiguration | None = None\n\tmirror_config: MirrorConfiguration | None = None\n\tnetwork_config: NetworkConfiguration | None = None\n\tbootloader_config: BootloaderConfiguration | None = None\n\tapp_config: ApplicationConfiguration | None = None\n\tauth_config: AuthenticationConfiguration | None = None\n\tswap: ZramConfiguration | None = None\n\thostname: str = 'archlinux'\n\tkernels: list[str] = field(default_factory=lambda: ['linux'])\n\tntp: bool = True\n\tpackages: list[str] = field(default_factory=list)\n\tparallel_downloads: int = 0\n\ttimezone: str = 'UTC'\n\tservices: list[str] = field(default_factory=list)\n\tcustom_commands: list[str] = field(default_factory=list)\n\n\tdef unsafe_config(self) -> dict[str, Any]:\n\t\tconfig: dict[str, list[UserSerialization] | str | None] = {}\n\n\t\tif self.auth_config:\n\t\t\tif self.auth_config.users:\n\t\t\t\tconfig['users'] = [user.json() for user in self.auth_config.users]\n\n\t\t\tif self.auth_config.root_enc_password:\n\t\t\t\tconfig['root_enc_password'] = self.auth_config.root_enc_password.enc_password\n\n\t\tif self.disk_config:\n\t\t\tdisk_encryption = self.disk_config.disk_encryption\n\t\t\tif disk_encryption and disk_encryption.encryption_password:\n\t\t\t\tconfig['encryption_password'] = disk_encryption.encryption_password.plaintext\n\n\t\treturn config\n\n\tdef safe_config(self) -> dict[str, Any]:\n\t\tconfig: Any = {\n\t\t\t'version': self.version,\n\t\t\t'script': self.script,\n\t\t\t'archinstall-language': self.archinstall_language.json(),\n\t\t\t'hostname': self.hostname,\n\t\t\t'kernels': self.kernels,\n\t\t\t'ntp': self.ntp,\n\t\t\t'packages': self.packages,\n\t\t\t'parallel_downloads': self.parallel_downloads,\n\t\t\t'swap': self.swap,\n\t\t\t'timezone': self.timezone,\n\t\t\t'services': self.services,\n\t\t\t'custom_commands': self.custom_commands,\n\t\t\t'bootloader_config': self.bootloader_config.json() if self.bootloader_config else None,\n\t\t\t'app_config': self.app_config.json() if self.app_config else None,\n\t\t\t'auth_config': self.auth_config.json() if self.auth_config else None,\n\t\t}\n\n\t\tif self.locale_config:\n\t\t\tconfig['locale_config'] = self.locale_config.json()\n\n\t\tif self.disk_config:\n\t\t\tconfig['disk_config'] = self.disk_config.json()\n\n\t\tif self.profile_config:\n\t\t\tconfig['profile_config'] = self.profile_config.json()\n\n\t\tif self.mirror_config:\n\t\t\tconfig['mirror_config'] = self.mirror_config.json()\n\n\t\tif self.network_config:\n\t\t\tconfig['network_config'] = self.network_config.json()\n\n\t\treturn config\n\n\t@classmethod\n\tdef from_config(cls, args_config: dict[str, Any], args: Arguments) -> Self:\n\t\tarch_config = cls()\n\n\t\tarch_config.locale_config = LocaleConfiguration.parse_arg(args_config)\n\n\t\tif script := args_config.get('script', None):\n\t\t\tarch_config.script = script\n\n\t\tif archinstall_lang := args_config.get('archinstall-language', None):\n\t\t\tarch_config.archinstall_language = translation_handler.get_language_by_name(archinstall_lang)\n\n\t\tif disk_config := args_config.get('disk_config', {}):\n\t\t\tenc_password = args_config.get('encryption_password', '')\n\t\t\tpassword = Password(plaintext=enc_password) if enc_password else None\n\t\t\tarch_config.disk_config = DiskLayoutConfiguration.parse_arg(disk_config, password)\n\n\t\t\t# DEPRECATED\n\t\t\t# backwards compatibility for main level disk_encryption entry\n\t\t\tdisk_encryption: DiskEncryption | None = None\n\n\t\t\tif args_config.get('disk_encryption', None) is not None and arch_config.disk_config is not None:\n\t\t\t\tdisk_encryption = DiskEncryption.parse_arg(\n\t\t\t\t\tarch_config.disk_config,\n\t\t\t\t\targs_config['disk_encryption'],\n\t\t\t\t\tPassword(plaintext=args_config.get('encryption_password', '')),\n\t\t\t\t)\n\n\t\t\t\tif disk_encryption:\n\t\t\t\t\tarch_config.disk_config.disk_encryption = disk_encryption\n\n\t\tif profile_config := args_config.get('profile_config', None):\n\t\t\tarch_config.profile_config = ProfileConfiguration.parse_arg(profile_config)\n\n\t\tif mirror_config := args_config.get('mirror_config', None):\n\t\t\tbackwards_compatible_repo = []\n\t\t\tif additional_repositories := args_config.get('additional-repositories', []):\n\t\t\t\tbackwards_compatible_repo = [Repository(r) for r in additional_repositories]\n\n\t\t\tarch_config.mirror_config = MirrorConfiguration.parse_args(\n\t\t\t\tmirror_config,\n\t\t\t\tbackwards_compatible_repo,\n\t\t\t)\n\n\t\tif net_config := args_config.get('network_config', None):\n\t\t\tarch_config.network_config = NetworkConfiguration.parse_arg(net_config)\n\n\t\tif bootloader_config_dict := args_config.get('bootloader_config', None):\n\t\t\tarch_config.bootloader_config = BootloaderConfiguration.parse_arg(bootloader_config_dict, args.skip_boot)\n\t\t# DEPRECATED: separate bootloader and uki fields (backward compatibility)\n\t\telif bootloader_str := args_config.get('bootloader', None):\n\t\t\tbootloader = Bootloader.from_arg(bootloader_str, args.skip_boot)\n\t\t\tuki = args_config.get('uki', False)\n\t\t\tif uki and not bootloader.has_uki_support():\n\t\t\t\tuki = False\n\t\t\tarch_config.bootloader_config = BootloaderConfiguration(bootloader=bootloader, uki=uki, removable=True)\n\n\t\t# deprecated: backwards compatibility\n\t\taudio_config_args = args_config.get('audio_config', None)\n\t\tapp_config_args = args_config.get('app_config', None)\n\n\t\tif audio_config_args is not None or app_config_args is not None:\n\t\t\tarch_config.app_config = ApplicationConfiguration.parse_arg(app_config_args, audio_config_args)\n\n\t\tif auth_config_args := args_config.get('auth_config', None):\n\t\t\tarch_config.auth_config = AuthenticationConfiguration.parse_arg(auth_config_args)\n\n\t\tif hostname := args_config.get('hostname', ''):\n\t\t\tarch_config.hostname = hostname\n\n\t\tif kernels := args_config.get('kernels', []):\n\t\t\tarch_config.kernels = kernels\n\n\t\tarch_config.ntp = args_config.get('ntp', True)\n\n\t\tif packages := args_config.get('packages', []):\n\t\t\tarch_config.packages = packages\n\n\t\tif parallel_downloads := args_config.get('parallel_downloads', 0):\n\t\t\tarch_config.parallel_downloads = parallel_downloads\n\n\t\tswap_arg = args_config.get('swap')\n\t\tif swap_arg is not None:\n\t\t\tarch_config.swap = ZramConfiguration.parse_arg(swap_arg)\n\n\t\tif timezone := args_config.get('timezone', 'UTC'):\n\t\t\tarch_config.timezone = timezone\n\n\t\tif services := args_config.get('services', []):\n\t\t\tarch_config.services = services\n\n\t\t# DEPRECATED: backwards compatibility\n\t\troot_password = None\n\t\tif root_password := args_config.get('!root-password', None):\n\t\t\troot_password = Password(plaintext=root_password)\n\n\t\tif enc_password := args_config.get('root_enc_password', None):\n\t\t\troot_password = Password(enc_password=enc_password)\n\n\t\tif root_password is not None:\n\t\t\tif arch_config.auth_config is None:\n\t\t\t\tarch_config.auth_config = AuthenticationConfiguration()\n\t\t\tarch_config.auth_config.root_enc_password = root_password\n\n\t\t# DEPRECATED: backwards compatibility\n\t\tusers: list[User] = []\n\t\tif args_users := args_config.get('!users', None):\n\t\t\tusers = User.parse_arguments(args_users)\n\n\t\tif args_users := args_config.get('users', None):\n\t\t\tusers = User.parse_arguments(args_users)\n\n\t\tif users:\n\t\t\tif arch_config.auth_config is None:\n\t\t\t\tarch_config.auth_config = AuthenticationConfiguration()\n\t\t\tarch_config.auth_config.users = users\n\n\t\tif custom_commands := args_config.get('custom_commands', []):\n\t\t\tarch_config.custom_commands = custom_commands\n\n\t\treturn arch_config\n\n\nclass ArchConfigHandler:\n\tdef __init__(self) -> None:\n\t\tself._parser: ArgumentParser = self._define_arguments()\n\t\targs: Arguments = self._parse_args()\n\t\tself._args = args\n\n\t\tconfig = self._parse_config()\n\n\t\ttry:\n\t\t\tself._config = ArchConfig.from_config(config, args)\n\t\t\tself._config.version = get_version()\n\t\texcept ValueError as err:\n\t\t\twarn(str(err))\n\t\t\tsys.exit(1)\n\n\t@property\n\tdef config(self) -> ArchConfig:\n\t\treturn self._config\n\n\t@property\n\tdef args(self) -> Arguments:\n\t\treturn self._args\n\n\tdef get_script(self) -> str:\n\t\tif script := self.args.script:\n\t\t\treturn script\n\n\t\tif script := self.config.script:\n\t\t\treturn script\n\n\t\treturn 'guided'\n\n\tdef print_help(self) -> None:\n\t\tself._parser.print_help()\n\n\tdef _define_arguments(self) -> ArgumentParser:\n\t\tparser = ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n\t\tparser.add_argument(\n\t\t\t'-v',\n\t\t\t'--version',\n\t\t\taction='version',\n\t\t\tdefault=False,\n\t\t\tversion='%(prog)s ' + get_version(),\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--config',\n\t\t\ttype=Path,\n\t\t\tnargs='?',\n\t\t\tdefault=None,\n\t\t\thelp='JSON configuration file',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--config-url',\n\t\t\ttype=str,\n\t\t\tnargs='?',\n\t\t\tdefault=None,\n\t\t\thelp='Url to a JSON configuration file',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--creds',\n\t\t\ttype=Path,\n\t\t\tnargs='?',\n\t\t\tdefault=None,\n\t\t\thelp='JSON credentials configuration file',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--creds-url',\n\t\t\ttype=str,\n\t\t\tnargs='?',\n\t\t\tdefault=None,\n\t\t\thelp='Url to a JSON credentials configuration file',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--creds-decryption-key',\n\t\t\ttype=str,\n\t\t\tnargs='?',\n\t\t\tdefault=None,\n\t\t\thelp='Decryption key for credentials file',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--silent',\n\t\t\taction='store_true',\n\t\t\tdefault=False,\n\t\t\thelp='WARNING: Disables all prompts for input and confirmation. If no configuration is provided, this is ignored',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--dry-run',\n\t\t\t'--dry_run',\n\t\t\taction='store_true',\n\t\t\tdefault=False,\n\t\t\thelp='Generates a configuration file and then exits instead of performing an installation',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--script',\n\t\t\tnargs='?',\n\t\t\thelp='Script to run for installation',\n\t\t\ttype=str,\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--mountpoint',\n\t\t\ttype=Path,\n\t\t\tnargs='?',\n\t\t\tdefault=Path('/mnt'),\n\t\t\thelp='Define an alternate mount point for installation',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--skip-ntp',\n\t\t\taction='store_true',\n\t\t\thelp='Disables NTP checks during installation',\n\t\t\tdefault=False,\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--skip-wkd',\n\t\t\taction='store_true',\n\t\t\thelp='Disables checking if archlinux keyring wkd sync is complete.',\n\t\t\tdefault=False,\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--skip-boot',\n\t\t\taction='store_true',\n\t\t\thelp='Disables installation of a boot loader (note: only use this when problems arise with the boot loader step).',\n\t\t\tdefault=False,\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--debug',\n\t\t\taction='store_true',\n\t\t\tdefault=False,\n\t\t\thelp='Adds debug info into the log',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--offline',\n\t\t\taction='store_true',\n\t\t\tdefault=False,\n\t\t\thelp='Disabled online upstream services such as package search and key-ring auto update.',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--no-pkg-lookups',\n\t\t\taction='store_true',\n\t\t\tdefault=False,\n\t\t\thelp='Disabled package validation specifically prior to starting installation.',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--plugin',\n\t\t\tnargs='?',\n\t\t\ttype=str,\n\t\t\tdefault=None,\n\t\t\thelp='File path to a plugin to load',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--skip-version-check',\n\t\t\taction='store_true',\n\t\t\tdefault=False,\n\t\t\thelp='Skip the version check when running archinstall',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--skip-wifi-check',\n\t\t\taction='store_true',\n\t\t\tdefault=False,\n\t\t\thelp='Skip wifi check when running archinstall',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--advanced',\n\t\t\taction='store_true',\n\t\t\tdefault=False,\n\t\t\thelp='Enabled advanced options',\n\t\t)\n\t\tparser.add_argument(\n\t\t\t'--verbose',\n\t\t\taction='store_true',\n\t\t\tdefault=False,\n\t\t\thelp='Enabled verbose options',\n\t\t)\n\n\t\treturn parser\n\n\tdef _parse_args(self) -> Arguments:\n\t\targparse_args = vars(self._parser.parse_args())\n\t\targs: Arguments = Arguments(**argparse_args)\n\n\t\t# amend the parameters (check internal consistency)\n\t\t# Installation can't be silent if config is not passed\n\t\tif args.config is None and args.config_url is None:\n\t\t\targs.silent = False\n\n\t\tif args.debug:\n\t\t\twarn(f'Warning: --debug mode will write certain credentials to {logger.path}!')\n\n\t\tif args.plugin:\n\t\t\tplugin_path = Path(args.plugin)\n\t\t\tload_plugin(plugin_path)\n\n\t\tif args.creds_decryption_key is None:\n\t\t\tif os.environ.get('ARCHINSTALL_CREDS_DECRYPTION_KEY'):\n\t\t\t\targs.creds_decryption_key = os.environ.get('ARCHINSTALL_CREDS_DECRYPTION_KEY')\n\n\t\treturn args\n\n\tdef _parse_config(self) -> dict[str, Any]:\n\t\tconfig: dict[str, Any] = {}\n\t\tconfig_data: str | None = None\n\t\tcreds_data: str | None = None\n\n\t\tif self._args.config is not None:\n\t\t\tconfig_data = self._read_file(self._args.config)\n\t\telif self._args.config_url is not None:\n\t\t\tconfig_data = self._fetch_from_url(self._args.config_url)\n\n\t\tif config_data is not None:\n\t\t\tconfig.update(json.loads(config_data))\n\n\t\tif self._args.creds is not None:\n\t\t\tcreds_data = self._read_file(self._args.creds)\n\t\telif self._args.creds_url is not None:\n\t\t\tcreds_data = self._fetch_from_url(self._args.creds_url)\n\n\t\tif creds_data is not None:\n\t\t\tjson_data = self._process_creds_data(creds_data)\n\t\t\tif json_data is not None:\n\t\t\t\tconfig.update(json_data)\n\n\t\tconfig = self._cleanup_config(config)\n\n\t\treturn config\n\n\tdef _process_creds_data(self, creds_data: str) -> dict[str, Any] | None:\n\t\tif creds_data.startswith('$'):  # encrypted data\n\t\t\tif self._args.creds_decryption_key is not None:\n\t\t\t\ttry:\n\t\t\t\t\tcreds_data = decrypt(creds_data, self._args.creds_decryption_key)\n\t\t\t\t\treturn json.loads(creds_data)\n\t\t\t\texcept ValueError as err:\n\t\t\t\t\tif 'Invalid password' in str(err):\n\t\t\t\t\t\terror(tr('Incorrect credentials file decryption password'))\n\t\t\t\t\t\tsys.exit(1)\n\t\t\t\t\telse:\n\t\t\t\t\t\tdebug(f'Error decrypting credentials file: {err}')\n\t\t\t\t\t\traise err from err\n\t\t\telse:\n\t\t\t\theader = tr('Enter credentials file decryption password')\n\t\t\t\twrong_pwd_text = tr('Incorrect password')\n\t\t\t\tprompt = header\n\n\t\t\t\twhile True:\n\t\t\t\t\tdecryption_pwd: Password | None = tui.run(\n\t\t\t\t\t\tlambda p=prompt: get_password(  # type: ignore[misc]\n\t\t\t\t\t\t\theader=p,\n\t\t\t\t\t\t\tallow_skip=False,\n\t\t\t\t\t\t\tno_confirmation=True,\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\n\t\t\t\t\tif not decryption_pwd:\n\t\t\t\t\t\treturn None\n\n\t\t\t\t\ttry:\n\t\t\t\t\t\tcreds_data = decrypt(creds_data, decryption_pwd.plaintext)\n\t\t\t\t\t\tbreak\n\t\t\t\t\texcept ValueError as err:\n\t\t\t\t\t\tif 'Invalid password' in str(err):\n\t\t\t\t\t\t\tdebug('Incorrect credentials file decryption password')\n\t\t\t\t\t\t\tprompt = f'{header}' + f'\\n\\n{wrong_pwd_text}'\n\t\t\t\t\t\telse:\n\t\t\t\t\t\t\tdebug(f'Error decrypting credentials file: {err}')\n\t\t\t\t\t\t\traise err from err\n\n\t\treturn json.loads(creds_data)\n\n\tdef _fetch_from_url(self, url: str) -> str:\n\t\tif urllib.parse.urlparse(url).scheme:\n\t\t\ttry:\n\t\t\t\treq = Request(url, headers={'User-Agent': 'ArchInstall'})\n\t\t\t\twith urlopen(req) as resp:\n\t\t\t\t\treturn resp.read().decode('utf-8')\n\t\t\texcept urllib.error.HTTPError as err:\n\t\t\t\terror(f'Could not fetch JSON from {url}: {err}')\n\t\telse:\n\t\t\terror('Not a valid url')\n\n\t\tsys.exit(1)\n\n\tdef _read_file(self, path: Path) -> str:\n\t\tif not path.exists():\n\t\t\terror(f'Could not find file {path}')\n\t\t\tsys.exit(1)\n\n\t\treturn path.read_text()\n\n\tdef _cleanup_config(self, config: Namespace | dict[str, Any]) -> dict[str, Any]:\n\t\tclean_args = {}\n\t\tfor key, val in config.items():\n\t\t\tif isinstance(val, dict):\n\t\t\t\tval = self._cleanup_config(val)\n\n\t\t\tif val is not None:\n\t\t\t\tclean_args[key] = val\n\n\t\treturn clean_args\n"
  },
  {
    "path": "archinstall/lib/authentication/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/authentication/authentication_handler.py",
    "content": "from __future__ import annotations\n\nimport getpass\nfrom pathlib import Path\nfrom typing import TYPE_CHECKING\n\nfrom archinstall.lib.command import SysCommandWorker\nfrom archinstall.lib.models.authentication import AuthenticationConfiguration, U2FLoginConfiguration, U2FLoginMethod\nfrom archinstall.lib.models.users import User\nfrom archinstall.lib.output import debug, info\nfrom archinstall.lib.translationhandler import tr\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass AuthenticationHandler:\n\tdef setup_auth(\n\t\tself,\n\t\tinstall_session: Installer,\n\t\tauth_config: AuthenticationConfiguration,\n\t\thostname: str,\n\t) -> None:\n\t\tif auth_config.u2f_config and auth_config.users is not None:\n\t\t\tself._setup_u2f_login(install_session, auth_config.u2f_config, auth_config.users, hostname)\n\n\tdef _setup_u2f_login(self, install_session: Installer, u2f_config: U2FLoginConfiguration, users: list[User], hostname: str) -> None:\n\t\tself._configure_u2f_mapping(install_session, u2f_config, users, hostname)\n\t\tself._update_pam_config(install_session, u2f_config)\n\n\tdef _update_pam_config(\n\t\tself,\n\t\tinstall_session: Installer,\n\t\tu2f_config: U2FLoginConfiguration,\n\t) -> None:\n\t\tmatch u2f_config.u2f_login_method:\n\t\t\tcase U2FLoginMethod.Passwordless:\n\t\t\t\tconfig_entry = 'auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue'\n\t\t\tcase U2FLoginMethod.SecondFactor:\n\t\t\t\tconfig_entry = 'auth required pam_u2f.so authfile=/etc/u2f_mappings cue'\n\t\t\tcase _:\n\t\t\t\traise ValueError(f'Unknown U2F login method: {u2f_config.u2f_login_method}')\n\n\t\tdebug(f'U2F PAM configuration: {config_entry}')\n\t\tdebug(f'Passwordless sudo enabled: {u2f_config.passwordless_sudo}')\n\n\t\tsudo_config = install_session.target / 'etc/pam.d/sudo'\n\t\tsys_login = install_session.target / 'etc/pam.d/system-login'\n\n\t\tif u2f_config.passwordless_sudo:\n\t\t\tself._add_u2f_entry(sudo_config, config_entry)\n\n\t\tself._add_u2f_entry(sys_login, config_entry)\n\n\tdef _add_u2f_entry(self, file: Path, entry: str) -> None:\n\t\tif not file.exists():\n\t\t\tdebug(f'File does not exist: {file}')\n\t\t\treturn None\n\n\t\tcontent = file.read_text().splitlines()\n\n\t\t# remove any existing u2f auth entry\n\t\tcontent = [line for line in content if 'pam_u2f.so' not in line]\n\n\t\t# add the u2f auth entry as the first one after comments\n\t\tfor i, line in enumerate(content):\n\t\t\tif not line.startswith('#'):\n\t\t\t\tcontent.insert(i, entry)\n\t\t\t\tbreak\n\t\telse:\n\t\t\tcontent.append(entry)\n\n\t\tfile.write_text('\\n'.join(content) + '\\n')\n\n\tdef _configure_u2f_mapping(\n\t\tself,\n\t\tinstall_session: Installer,\n\t\tu2f_config: U2FLoginConfiguration,\n\t\tusers: list[User],\n\t\thostname: str,\n\t) -> None:\n\t\tdebug(f'Setting up U2F login: {u2f_config.u2f_login_method.value}')\n\n\t\tinstall_session.pacman.strap('pam-u2f')\n\n\t\tprint(tr(f'Setting up U2F login: {u2f_config.u2f_login_method.value}'))\n\n\t\t# https://developers.yubico.com/pam-u2f/\n\t\tu2f_auth_file = install_session.target / 'etc/u2f_mappings'\n\t\tu2f_auth_file.touch()\n\t\texisting_keys = u2f_auth_file.read_text()\n\n\t\tregistered_keys: list[str] = []\n\n\t\tfor user in users:\n\t\t\tprint('')\n\t\t\tinfo(tr('Setting up U2F device for user: {}').format(user.username))\n\t\t\tinfo(tr('You may need to enter the PIN and then touch your U2F device to register it'))\n\n\t\t\tcmd = ' '.join(\n\t\t\t\t['arch-chroot', '-S', str(install_session.target), 'pamu2fcfg', '-u', user.username, '-o', f'pam://{hostname}', '-i', f'pam://{hostname}']\n\t\t\t)\n\n\t\t\tdebug(f'Enrolling U2F device: {cmd}')\n\n\t\t\tworker = SysCommandWorker(cmd, peek_output=True)\n\t\t\tpin_inputted = False\n\n\t\t\twhile worker.is_alive():\n\t\t\t\tif pin_inputted is False:\n\t\t\t\t\tif bytes('enter pin for', 'UTF-8') in worker._trace_log.lower():\n\t\t\t\t\t\tworker.write(bytes(getpass.getpass(''), 'UTF-8'))\n\t\t\t\t\t\tpin_inputted = True\n\n\t\t\toutput = worker.decode().strip().splitlines()\n\t\t\tdebug(f'Output from pamu2fcfg: {output}')\n\n\t\t\tkey = output[-1].strip()\n\t\t\tregistered_keys.append(key)\n\n\t\tall_keys = '\\n'.join(registered_keys)\n\n\t\tif existing_keys:\n\t\t\texisting_keys += f'\\n{all_keys}'\n\t\telse:\n\t\t\texisting_keys = all_keys\n\n\t\tu2f_auth_file.write_text(existing_keys)\n"
  },
  {
    "path": "archinstall/lib/authentication/authentication_menu.py",
    "content": "from typing import override\n\nfrom archinstall.lib.disk.fido import Fido2\nfrom archinstall.lib.menu.abstract_menu import AbstractSubMenu\nfrom archinstall.lib.menu.helpers import Confirmation, Selection\nfrom archinstall.lib.menu.util import get_password\nfrom archinstall.lib.models.authentication import AuthenticationConfiguration, U2FLoginConfiguration, U2FLoginMethod\nfrom archinstall.lib.models.users import Password, User\nfrom archinstall.lib.output import FormattedOutput\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.lib.user.user_menu import select_users\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass AuthenticationMenu(AbstractSubMenu[AuthenticationConfiguration]):\n\tdef __init__(self, preset: AuthenticationConfiguration | None = None):\n\t\tif preset:\n\t\t\tself._auth_config = preset\n\t\telse:\n\t\t\tself._auth_config = AuthenticationConfiguration()\n\n\t\tmenu_options = self._define_menu_options()\n\t\tself._item_group = MenuItemGroup(menu_options, checkmarks=True)\n\n\t\tsuper().__init__(\n\t\t\tself._item_group,\n\t\t\tconfig=self._auth_config,\n\t\t\tallow_reset=True,\n\t\t)\n\n\t@override\n\tasync def show(self) -> AuthenticationConfiguration | None:\n\t\treturn await super().show()\n\n\tdef _define_menu_options(self) -> list[MenuItem]:\n\t\treturn [\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Root password'),\n\t\t\t\taction=lambda x: select_root_password(),\n\t\t\t\tpreview_action=self._prev_root_pwd,\n\t\t\t\tkey='root_enc_password',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('User account'),\n\t\t\t\taction=self._create_user_account,\n\t\t\t\tpreview_action=self._prev_users,\n\t\t\t\tkey='users',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('U2F login setup'),\n\t\t\t\taction=select_u2f_login,\n\t\t\t\tvalue=self._auth_config.u2f_config,\n\t\t\t\tpreview_action=self._prev_u2f_login,\n\t\t\t\tkey='u2f_config',\n\t\t\t),\n\t\t]\n\n\tasync def _create_user_account(self, preset: list[User] | None = None) -> list[User]:\n\t\tpreset = [] if preset is None else preset\n\t\tusers = await select_users(preset=preset)\n\t\treturn users\n\n\tdef _prev_users(self, item: MenuItem) -> str | None:\n\t\tusers: list[User] | None = item.value\n\n\t\tif users:\n\t\t\treturn FormattedOutput.as_table(users)\n\t\treturn None\n\n\tdef _prev_root_pwd(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\tpassword: Password = item.value\n\t\t\treturn f'{tr(\"Root password\")}: {password.hidden()}'\n\t\treturn None\n\n\tdef _depends_on_u2f(self) -> bool:\n\t\tdevices = Fido2.get_fido2_devices()\n\t\tif not devices:\n\t\t\treturn False\n\t\treturn True\n\n\tdef _prev_u2f_login(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\tu2f_config: U2FLoginConfiguration = item.value\n\n\t\t\tlogin_method = u2f_config.u2f_login_method.display_value()\n\t\t\toutput = tr('U2F login method: ') + login_method\n\n\t\t\toutput += '\\n'\n\t\t\toutput += tr('Passwordless sudo: ') + (tr('Enabled') if u2f_config.passwordless_sudo else tr('Disabled'))\n\n\t\t\treturn output\n\n\t\tdevices = Fido2.get_fido2_devices()\n\t\tif not devices:\n\t\t\treturn tr('No U2F devices found')\n\n\t\treturn None\n\n\nasync def select_root_password() -> Password | None:\n\tpassword = await get_password(header=tr('Enter root password'), allow_skip=True)\n\treturn password\n\n\nasync def select_u2f_login(preset: U2FLoginConfiguration | None) -> U2FLoginConfiguration | None:\n\tdevices = Fido2.get_fido2_devices()\n\tif not devices:\n\t\treturn None\n\n\titems = []\n\tfor method in U2FLoginMethod:\n\t\titems.append(MenuItem(method.display_value(), value=method))\n\n\tgroup = MenuItemGroup(items)\n\n\tif preset is not None:\n\t\tgroup.set_selected_by_value(preset.u2f_login_method)\n\n\tresult = await Selection[U2FLoginMethod](\n\t\tgroup,\n\t\tallow_skip=True,\n\t\tallow_reset=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Selection:\n\t\t\tu2f_method = result.get_value()\n\t\t\theader = tr('Enable passwordless sudo?')\n\n\t\t\tresult_sudo = await Confirmation(\n\t\t\t\theader=header,\n\t\t\t\tallow_skip=True,\n\t\t\t\tpreset=False,\n\t\t\t).show()\n\n\t\t\tpasswordless_sudo = result_sudo.item() == MenuItem.yes()\n\n\t\t\treturn U2FLoginConfiguration(\n\t\t\t\tu2f_login_method=u2f_method,\n\t\t\t\tpasswordless_sudo=passwordless_sudo,\n\t\t\t)\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n"
  },
  {
    "path": "archinstall/lib/boot.py",
    "content": "import time\nfrom collections.abc import Iterator\nfrom pathlib import Path\nfrom types import TracebackType\nfrom typing import ClassVar, Self\n\nfrom archinstall.lib.command import SysCommand, SysCommandWorker, locate_binary\nfrom archinstall.lib.exceptions import SysCallError\nfrom archinstall.lib.output import error\n\n\nclass Boot:\n\t_active_boot: ClassVar[Self | None] = None\n\n\tdef __init__(self, path: Path | str):\n\t\tif isinstance(path, Path):\n\t\t\tpath = str(path)\n\n\t\tself.path = path\n\t\tself.container_name = 'archinstall'\n\t\tself.session: SysCommandWorker | None = None\n\t\tself.ready = False\n\n\tdef __enter__(self) -> Self:\n\t\tif Boot._active_boot and Boot._active_boot.path != self.path:\n\t\t\traise KeyError('Archinstall only supports booting up one instance and another session is already active.')\n\n\t\tif Boot._active_boot:\n\t\t\tself.session = Boot._active_boot.session\n\t\t\tself.ready = Boot._active_boot.ready\n\t\telse:\n\t\t\t# '-P' or --console=pipe  could help us not having to do a bunch\n\t\t\t# of os.write() calls, but instead use pipes (stdin, stdout and stderr) as usual.\n\t\t\tself.session = SysCommandWorker(\n\t\t\t\t[\n\t\t\t\t\t'systemd-nspawn',\n\t\t\t\t\t'-D',\n\t\t\t\t\tself.path,\n\t\t\t\t\t'--timezone=off',\n\t\t\t\t\t'-b',\n\t\t\t\t\t'--no-pager',\n\t\t\t\t\t'--machine',\n\t\t\t\t\tself.container_name,\n\t\t\t\t]\n\t\t\t)\n\n\t\tif not self.ready and self.session:\n\t\t\twhile self.session.is_alive():\n\t\t\t\tif b' login:' in self.session:\n\t\t\t\t\tself.ready = True\n\t\t\t\t\tbreak\n\n\t\tBoot._active_boot = self\n\t\treturn self\n\n\tdef __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) -> None:\n\t\t# b''.join(sys_command('sync')) # No need to, since the underlying fs() object will call sync.\n\t\t# TODO: https://stackoverflow.com/questions/28157929/how-to-safely-handle-an-exception-inside-a-context-manager\n\n\t\tif exc_type is not None:\n\t\t\terror(\n\t\t\t\tstr(exc_value),\n\t\t\t\tf'The error above occurred in a temporary boot-up of the installation {self.path!r}',\n\t\t\t)\n\n\t\tshutdown = None\n\t\tshutdown_exit_code: int | None = -1\n\n\t\ttry:\n\t\t\tshutdown = SysCommand(f'systemd-run --machine={self.container_name} --pty shutdown now')\n\t\texcept SysCallError as err:\n\t\t\tshutdown_exit_code = err.exit_code\n\n\t\tif self.session:\n\t\t\twhile self.session.is_alive():\n\t\t\t\ttime.sleep(0.25)\n\n\t\tif shutdown and shutdown.exit_code:\n\t\t\tshutdown_exit_code = shutdown.exit_code\n\n\t\tif self.session and (self.session.exit_code == 0 or shutdown_exit_code == 0):\n\t\t\tBoot._active_boot = None\n\t\telse:\n\t\t\tsession_exit_code = self.session.exit_code if self.session else -1\n\n\t\t\traise SysCallError(\n\t\t\t\tf'Could not shut down temporary boot of {self.path!r}: {session_exit_code}/{shutdown_exit_code}',\n\t\t\t\texit_code=next(filter(bool, [session_exit_code, shutdown_exit_code])),\n\t\t\t)\n\n\tdef __iter__(self) -> Iterator[bytes]:\n\t\tif self.session:\n\t\t\tyield from self.session\n\n\tdef __contains__(self, key: bytes) -> bool:\n\t\tif self.session is None:\n\t\t\treturn False\n\n\t\treturn key in self.session\n\n\tdef is_alive(self) -> bool:\n\t\tif self.session is None:\n\t\t\treturn False\n\n\t\treturn self.session.is_alive()\n\n\tdef SysCommand(self, cmd: list[str], *args, **kwargs) -> SysCommand:  # type: ignore[no-untyped-def]\n\t\tif cmd[0][0] != '/' and cmd[0][:2] != './':\n\t\t\t# This check is also done in SysCommand & SysCommandWorker.\n\t\t\t# However, that check is done for `machinectl` and not for our chroot command.\n\t\t\t# So this wrapper for SysCommand will do this additionally.\n\n\t\t\tcmd[0] = locate_binary(cmd[0])\n\n\t\treturn SysCommand(['systemd-run', f'--machine={self.container_name}', '--pty', *cmd], *args, **kwargs)\n\n\tdef SysCommandWorker(self, cmd: list[str], *args, **kwargs) -> SysCommandWorker:  # type: ignore[no-untyped-def]\n\t\tif cmd[0][0] != '/' and cmd[0][:2] != './':\n\t\t\tcmd[0] = locate_binary(cmd[0])\n\n\t\treturn SysCommandWorker(['systemd-run', f'--machine={self.container_name}', '--pty', *cmd], *args, **kwargs)\n"
  },
  {
    "path": "archinstall/lib/bootloader/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/bootloader/bootloader_menu.py",
    "content": "import textwrap\nfrom typing import override\n\nfrom archinstall.lib.menu.abstract_menu import AbstractSubMenu\nfrom archinstall.lib.menu.helpers import Confirmation, Selection\nfrom archinstall.lib.models.bootloader import Bootloader, BootloaderConfiguration\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass BootloaderMenu(AbstractSubMenu[BootloaderConfiguration]):\n\tdef __init__(\n\t\tself,\n\t\tbootloader_conf: BootloaderConfiguration,\n\t\tuefi: bool,\n\t\tskip_boot: bool = False,\n\t):\n\t\tself._bootloader_conf = bootloader_conf\n\t\tself._skip_boot = skip_boot\n\t\tself._uefi = uefi\n\t\tmenu_options = self._define_menu_options()\n\n\t\tself._item_group = MenuItemGroup(menu_options, sort_items=False, checkmarks=True)\n\t\tsuper().__init__(\n\t\t\tself._item_group,\n\t\t\tconfig=self._bootloader_conf,\n\t\t\tallow_reset=False,\n\t\t)\n\n\tdef _define_menu_options(self) -> list[MenuItem]:\n\t\tbootloader = self._bootloader_conf.bootloader\n\n\t\t# UKI availability\n\t\tuki_enabled = self._uefi and bootloader.has_uki_support()\n\t\tif not uki_enabled:\n\t\t\tself._bootloader_conf.uki = False\n\n\t\t# Removable availability\n\t\tremovable_enabled = self._uefi and bootloader.has_removable_support()\n\t\tif not removable_enabled:\n\t\t\tself._bootloader_conf.removable = False\n\n\t\treturn [\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Bootloader'),\n\t\t\t\taction=self._select_bootloader,\n\t\t\t\tvalue=self._bootloader_conf.bootloader,\n\t\t\t\tpreview_action=self._prev_bootloader,\n\t\t\t\tmandatory=True,\n\t\t\t\tkey='bootloader',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Unified kernel images'),\n\t\t\t\taction=self._select_uki,\n\t\t\t\tvalue=self._bootloader_conf.uki,\n\t\t\t\tpreview_action=self._prev_uki,\n\t\t\t\tkey='uki',\n\t\t\t\tenabled=uki_enabled,\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Install to removable location'),\n\t\t\t\taction=self._select_removable,\n\t\t\t\tvalue=self._bootloader_conf.removable,\n\t\t\t\tpreview_action=self._prev_removable,\n\t\t\t\tkey='removable',\n\t\t\t\tenabled=removable_enabled,\n\t\t\t),\n\t\t]\n\n\tdef _prev_bootloader(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\treturn f'{tr(\"Bootloader\")}: {item.value.value}'\n\t\treturn None\n\n\tdef _prev_uki(self, item: MenuItem) -> str | None:\n\t\tuki_text = f'{tr(\"Unified kernel images\")}'\n\t\tif item.value:\n\t\t\treturn f'{uki_text}: {tr(\"Enabled\")}'\n\t\telse:\n\t\t\treturn f'{uki_text}: {tr(\"Disabled\")}'\n\n\tdef _prev_removable(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\treturn tr('Will install to /EFI/BOOT/ (removable location, safe default)')\n\t\treturn tr('Will install to custom location with NVRAM entry')\n\n\t@override\n\tasync def show(self) -> BootloaderConfiguration:\n\t\t_ = await super().show()\n\t\treturn self._bootloader_conf\n\n\tasync def _select_bootloader(self, preset: Bootloader | None) -> Bootloader | None:\n\t\tbootloader = await select_bootloader(preset, self._uefi, self._skip_boot)\n\n\t\tif bootloader:\n\t\t\t# Update UKI option based on bootloader\n\t\t\tuki_item = self._menu_item_group.find_by_key('uki')\n\t\t\tif not self._uefi or not bootloader.has_uki_support():\n\t\t\t\tuki_item.enabled = False\n\t\t\t\tuki_item.value = False\n\t\t\t\tself._bootloader_conf.uki = False\n\t\t\telse:\n\t\t\t\tuki_item.enabled = True\n\n\t\t\t# Update removable option based on bootloader\n\t\t\tremovable_item = self._menu_item_group.find_by_key('removable')\n\t\t\tif not self._uefi or not bootloader.has_removable_support():\n\t\t\t\tremovable_item.enabled = False\n\t\t\t\tremovable_item.value = False\n\t\t\t\tself._bootloader_conf.removable = False\n\t\t\telse:\n\t\t\t\tif not removable_item.enabled:\n\t\t\t\t\tremovable_item.value = True\n\t\t\t\t\tself._bootloader_conf.removable = True\n\t\t\t\tremovable_item.enabled = True\n\n\t\treturn bootloader\n\n\tasync def _select_uki(self, preset: bool) -> bool:\n\t\tprompt = tr('Would you like to use unified kernel images?') + '\\n'\n\n\t\tresult = await Confirmation(header=prompt, allow_skip=True, preset=preset).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase ResultType.Selection:\n\t\t\t\treturn result.item() == MenuItem.yes()\n\t\t\tcase ResultType.Reset:\n\t\t\t\traise ValueError('Unhandled result type')\n\n\tasync def _select_removable(self, preset: bool) -> bool:\n\t\tprompt = (\n\t\t\ttr('Would you like to install the bootloader to the default removable media search location?')\n\t\t\t+ '\\n\\n'\n\t\t\t+ tr('This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:')\n\t\t\t+ '\\n\\n  • '\n\t\t\t+ tr('Firmware that does not properly support NVRAM boot entries like most MSI motherboards,')\n\t\t\t+ '\\n\t '\n\t\t\t+ tr('most Apple Macs, many laptops...')\n\t\t\t+ '\\n  • '\n\t\t\t+ tr('USB drives or other portable external media.')\n\t\t\t+ '\\n  • '\n\t\t\t+ tr('Systems where you want the disk to be bootable on any computer.')\n\t\t\t+ '\\n\\n'\n\t\t\t+ tr(\n\t\t\t\ttextwrap.dedent(\n\t\t\t\t\t\"\"\"\\\n\t\t\t\t\tIf you do not know what this means, LEAVE THIS OPTION ENABLED, as it is the safe default.\n\n\t\t\t\t\tIt is suggested to disable this if none of the above apply, as it makes installing multiple\n\t\t\t\t\tEFI bootloaders on the same disk easier, and it will not overwrite whatever bootloader\n\t\t\t\t\twas previously installed at the default removable media search location, if any.\n\n\t\t\t\t\tIt may also make the installation more resilient in case of dual-booting with Windows,\n\t\t\t\t\tas Windows is known to sometimes erase or replace the bootloader installed at the removable\n\t\t\t\t\tlocation.\n\t\t\t\t\t\"\"\"\n\t\t\t\t)\n\t\t\t)\n\t\t\t+ '\\n'\n\t\t)\n\n\t\tresult = await Confirmation(\n\t\t\theader=prompt,\n\t\t\tallow_skip=True,\n\t\t\tpreset=preset,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase ResultType.Selection:\n\t\t\t\treturn result.get_value()\n\t\t\tcase ResultType.Reset:\n\t\t\t\traise ValueError('Unhandled result type')\n\n\nasync def select_bootloader(\n\tpreset: Bootloader | None,\n\tuefi: bool,\n\tskip_boot: bool = False,\n) -> Bootloader | None:\n\toptions = []\n\thidden_options = []\n\theader = tr('Select bootloader to install')\n\n\tdefault = Bootloader.get_default(uefi, skip_boot)\n\n\tif not skip_boot:\n\t\thidden_options += [Bootloader.NO_BOOTLOADER]\n\n\tif not uefi:\n\t\toptions += [Bootloader.Grub, Bootloader.Limine]\n\t\theader += '\\n' + tr('UEFI is not detected and some options are disabled')\n\telse:\n\t\toptions += [b for b in Bootloader if b not in hidden_options]\n\n\titems = [MenuItem(o.value, value=o) for o in options]\n\tgroup = MenuItemGroup(items)\n\tgroup.set_default_by_value(default)\n\tgroup.set_focus_by_value(preset)\n\n\tresult = await Selection[Bootloader](\n\t\tgroup,\n\t\theader=header,\n\t\tallow_skip=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\t\tcase ResultType.Reset:\n\t\t\traise ValueError('Unhandled result type')\n"
  },
  {
    "path": "archinstall/lib/command.py",
    "content": "import os\nimport shlex\nimport stat\nimport subprocess\nimport sys\nimport time\nfrom collections.abc import Iterator\nfrom select import EPOLLHUP, EPOLLIN, epoll\nfrom shutil import which\nfrom types import TracebackType\nfrom typing import Any, Self, override\n\nfrom archinstall.lib.exceptions import RequirementError, SysCallError\nfrom archinstall.lib.output import debug, error, logger\nfrom archinstall.lib.utils.encoding import clear_vt100_escape_codes\n\n\nclass SysCommandWorker:\n\tdef __init__(\n\t\tself,\n\t\tcmd: str | list[str],\n\t\tpeek_output: bool | None = False,\n\t\tenvironment_vars: dict[str, str] | None = None,\n\t\tworking_directory: str = './',\n\t\tremove_vt100_escape_codes_from_lines: bool = True,\n\t):\n\t\tif isinstance(cmd, str):\n\t\t\tcmd = shlex.split(cmd)\n\n\t\tif cmd and not cmd[0].startswith(('/', './')):  # Path() does not work well\n\t\t\tcmd[0] = locate_binary(cmd[0])\n\n\t\tself.cmd = cmd\n\t\tself.peek_output = peek_output\n\t\t# define the standard locale for command outputs. For now the C ascii one. Can be overridden\n\t\tself.environment_vars = {'LC_ALL': 'C'}\n\t\tif environment_vars:\n\t\t\tself.environment_vars.update(environment_vars)\n\n\t\tself.working_directory = working_directory\n\n\t\tself.exit_code: int | None = None\n\t\tself._trace_log = b''\n\t\tself._trace_log_pos = 0\n\t\tself.poll_object = epoll()\n\t\tself.child_fd: int | None = None\n\t\tself.started: float | None = None\n\t\tself.ended: float | None = None\n\t\tself.remove_vt100_escape_codes_from_lines: bool = remove_vt100_escape_codes_from_lines\n\n\tdef __contains__(self, key: bytes) -> bool:\n\t\t\"\"\"\n\t\tContains will also move the current buffert position forward.\n\t\tThis is to avoid re-checking the same data when looking for output.\n\t\t\"\"\"\n\t\tassert isinstance(key, bytes)\n\n\t\tindex = self._trace_log.find(key, self._trace_log_pos)\n\t\tif index >= 0:\n\t\t\tself._trace_log_pos += index + len(key)\n\t\t\treturn True\n\n\t\treturn False\n\n\tdef __iter__(self, *args: str, **kwargs: dict[str, Any]) -> Iterator[bytes]:\n\t\tlast_line = self._trace_log.rfind(b'\\n')\n\t\tlines = filter(None, self._trace_log[self._trace_log_pos : last_line].splitlines())\n\t\tfor line in lines:\n\t\t\tif self.remove_vt100_escape_codes_from_lines:\n\t\t\t\tline = clear_vt100_escape_codes(line)\n\n\t\t\tyield line + b'\\n'\n\n\t\tself._trace_log_pos = last_line\n\n\t@override\n\tdef __repr__(self) -> str:\n\t\tself.make_sure_we_are_executing()\n\t\treturn str(self._trace_log)\n\n\t@override\n\tdef __str__(self) -> str:\n\t\ttry:\n\t\t\treturn self._trace_log.decode('utf-8')\n\t\texcept UnicodeDecodeError:\n\t\t\treturn str(self._trace_log)\n\n\tdef __enter__(self) -> Self:\n\t\treturn self\n\n\tdef __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) -> None:\n\t\t# b''.join(sys_command('sync')) # No need to, since the underlying fs() object will call sync.\n\t\t# TODO: https://stackoverflow.com/questions/28157929/how-to-safely-handle-an-exception-inside-a-context-manager\n\n\t\tif self.child_fd:\n\t\t\ttry:\n\t\t\t\tos.close(self.child_fd)\n\t\t\texcept Exception:\n\t\t\t\tpass\n\n\t\tif self.peek_output:\n\t\t\t# To make sure any peaked output didn't leave us hanging\n\t\t\t# on the same line we were on.\n\t\t\tsys.stdout.write('\\n')\n\t\t\tsys.stdout.flush()\n\n\t\tif exc_type is not None:\n\t\t\tdebug(str(exc_value))\n\n\t\tif self.exit_code != 0:\n\t\t\traise SysCallError(\n\t\t\t\tf'{self.cmd} exited with abnormal exit code [{self.exit_code}]: {str(self)[-500:]}',\n\t\t\t\tself.exit_code,\n\t\t\t\tworker_log=self._trace_log,\n\t\t\t)\n\n\tdef is_alive(self) -> bool:\n\t\tself.poll()\n\n\t\tif self.started and self.ended is None:\n\t\t\treturn True\n\n\t\treturn False\n\n\tdef write(self, data: bytes, line_ending: bool = True) -> int:\n\t\tassert isinstance(data, bytes)  # TODO: Maybe we can support str as well and encode it\n\n\t\tself.make_sure_we_are_executing()\n\n\t\tif self.child_fd:\n\t\t\treturn os.write(self.child_fd, data + (b'\\n' if line_ending else b''))\n\n\t\treturn 0\n\n\tdef make_sure_we_are_executing(self) -> bool:\n\t\tif not self.started:\n\t\t\treturn self.execute()\n\t\treturn True\n\n\tdef tell(self) -> int:\n\t\tself.make_sure_we_are_executing()\n\t\treturn self._trace_log_pos\n\n\tdef seek(self, pos: int) -> None:\n\t\tself.make_sure_we_are_executing()\n\t\t# Safety check to ensure 0 < pos < len(tracelog)\n\t\tself._trace_log_pos = min(max(0, pos), len(self._trace_log))\n\n\tdef peak(self, output: str | bytes) -> bool:\n\t\tif self.peek_output:\n\t\t\tif isinstance(output, bytes):\n\t\t\t\ttry:\n\t\t\t\t\toutput = output.decode('UTF-8')\n\t\t\t\texcept UnicodeDecodeError:\n\t\t\t\t\treturn False\n\n\t\t\t_cmd_output(output)\n\n\t\t\tsys.stdout.write(output)\n\t\t\tsys.stdout.flush()\n\n\t\treturn True\n\n\tdef poll(self) -> None:\n\t\tself.make_sure_we_are_executing()\n\n\t\tif self.child_fd:\n\t\t\tgot_output = False\n\t\t\tfor _fileno, _event in self.poll_object.poll(0.1):\n\t\t\t\ttry:\n\t\t\t\t\toutput = os.read(self.child_fd, 8192)\n\t\t\t\t\tgot_output = True\n\t\t\t\t\tself.peak(output)\n\t\t\t\t\tself._trace_log += output\n\t\t\t\texcept OSError:\n\t\t\t\t\tself.ended = time.time()\n\t\t\t\t\tbreak\n\n\t\t\tif self.ended or (not got_output and not _pid_exists(self.pid)):\n\t\t\t\tself.ended = time.time()\n\t\t\t\ttry:\n\t\t\t\t\twait_status = os.waitpid(self.pid, 0)[1]\n\t\t\t\t\tself.exit_code = os.waitstatus_to_exitcode(wait_status)\n\t\t\t\texcept ChildProcessError:\n\t\t\t\t\ttry:\n\t\t\t\t\t\twait_status = os.waitpid(self.child_fd, 0)[1]\n\t\t\t\t\t\tself.exit_code = os.waitstatus_to_exitcode(wait_status)\n\t\t\t\t\texcept ChildProcessError:\n\t\t\t\t\t\tself.exit_code = 1\n\n\tdef execute(self) -> bool:\n\t\timport pty\n\n\t\tif (old_dir := os.getcwd()) != self.working_directory:\n\t\t\tos.chdir(str(self.working_directory))\n\n\t\t# Note: If for any reason, we get a Python exception between here\n\t\t# and until os.close(), the traceback will get locked inside\n\t\t# stdout of the child_fd object. `os.read(self.child_fd, 8192)` is the\n\t\t# only way to get the traceback without losing it.\n\n\t\tself.pid, self.child_fd = pty.fork()\n\n\t\t# https://stackoverflow.com/questions/4022600/python-pty-fork-how-does-it-work\n\t\tif not self.pid:\n\t\t\t_cmd_history(self.cmd)\n\n\t\t\ttry:\n\t\t\t\tos.execve(self.cmd[0], list(self.cmd), {**os.environ, **self.environment_vars})\n\t\t\texcept FileNotFoundError:\n\t\t\t\terror(f'{self.cmd[0]} does not exist.')\n\t\t\t\tself.exit_code = 1\n\t\t\t\treturn False\n\t\telse:\n\t\t\t# Only parent process moves back to the original working directory\n\t\t\tos.chdir(old_dir)\n\n\t\tself.started = time.time()\n\t\tself.poll_object.register(self.child_fd, EPOLLIN | EPOLLHUP)\n\n\t\treturn True\n\n\tdef decode(self, encoding: str = 'UTF-8') -> str:\n\t\treturn self._trace_log.decode(encoding)\n\n\nclass SysCommand:\n\tdef __init__(\n\t\tself,\n\t\tcmd: str | list[str],\n\t\tpeek_output: bool | None = False,\n\t\tenvironment_vars: dict[str, str] | None = None,\n\t\tworking_directory: str = './',\n\t\tremove_vt100_escape_codes_from_lines: bool = True,\n\t):\n\t\tself.cmd = cmd\n\t\tself.peek_output = peek_output\n\t\tself.environment_vars = environment_vars\n\t\tself.working_directory = working_directory\n\t\tself.remove_vt100_escape_codes_from_lines = remove_vt100_escape_codes_from_lines\n\n\t\tself.session: SysCommandWorker | None = None\n\t\tself.create_session()\n\n\tdef __enter__(self) -> SysCommandWorker | None:\n\t\treturn self.session\n\n\tdef __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) -> None:\n\t\t# b''.join(sys_command('sync')) # No need to, since the underlying fs() object will call sync.\n\t\t# TODO: https://stackoverflow.com/questions/28157929/how-to-safely-handle-an-exception-inside-a-context-manager\n\n\t\tif exc_type is not None:\n\t\t\terror(str(exc_value))\n\n\tdef __iter__(self, *args: list[Any], **kwargs: dict[str, Any]) -> Iterator[bytes]:\n\t\tif self.session:\n\t\t\tyield from self.session\n\n\tdef __getitem__(self, key: slice) -> bytes:\n\t\tif not self.session:\n\t\t\traise KeyError('SysCommand() does not have an active session.')\n\t\telif type(key) is slice:\n\t\t\tstart = key.start or 0\n\t\t\tend = key.stop or len(self.session._trace_log)\n\n\t\t\treturn self.session._trace_log[start:end]\n\t\telse:\n\t\t\traise ValueError(\"SysCommand() doesn't have key & value pairs, only slices, SysCommand('ls')[:10] as an example.\")\n\n\t@override\n\tdef __repr__(self, *args: list[Any], **kwargs: dict[str, Any]) -> str:\n\t\treturn self.decode('UTF-8', errors='backslashreplace') or ''\n\n\tdef create_session(self) -> bool:\n\t\t\"\"\"\n\t\tInitiates a :ref:`SysCommandWorker` session in this class ``.session``.\n\t\tIt then proceeds to poll the process until it ends, after which it also\n\t\tclears any printed output if ``.peek_output=True``.\n\t\t\"\"\"\n\t\tif self.session:\n\t\t\treturn True\n\n\t\twith SysCommandWorker(\n\t\t\tself.cmd,\n\t\t\tpeek_output=self.peek_output,\n\t\t\tenvironment_vars=self.environment_vars,\n\t\t\tremove_vt100_escape_codes_from_lines=self.remove_vt100_escape_codes_from_lines,\n\t\t\tworking_directory=self.working_directory,\n\t\t) as session:\n\t\t\tself.session = session\n\n\t\t\twhile not self.session.ended:\n\t\t\t\tself.session.poll()\n\n\t\tif self.peek_output:\n\t\t\tsys.stdout.write('\\n')\n\t\t\tsys.stdout.flush()\n\n\t\treturn True\n\n\tdef decode(self, encoding: str = 'utf-8', errors: str = 'backslashreplace', strip: bool = True) -> str:\n\t\tif not self.session:\n\t\t\traise ValueError('No session available to decode')\n\n\t\tval = self.session._trace_log.decode(encoding, errors=errors)\n\n\t\tif strip:\n\t\t\treturn val.strip()\n\t\treturn val\n\n\tdef output(self, remove_cr: bool = True) -> bytes:\n\t\tif not self.session:\n\t\t\traise ValueError('No session available')\n\n\t\tif remove_cr:\n\t\t\treturn self.session._trace_log.replace(b'\\r\\n', b'\\n')\n\n\t\treturn self.session._trace_log\n\n\t@property\n\tdef exit_code(self) -> int | None:\n\t\tif self.session:\n\t\t\treturn self.session.exit_code\n\t\telse:\n\t\t\treturn None\n\n\t@property\n\tdef trace_log(self) -> bytes | None:\n\t\tif self.session:\n\t\t\treturn self.session._trace_log\n\t\treturn None\n\n\ndef run(\n\tcmd: list[str],\n\tinput_data: bytes | None = None,\n) -> subprocess.CompletedProcess[bytes]:\n\t_cmd_history(cmd)\n\n\treturn subprocess.run(\n\t\tcmd,\n\t\tinput=input_data,\n\t\tstdout=subprocess.PIPE,\n\t\tstderr=subprocess.STDOUT,\n\t\tcheck=True,\n\t)\n\n\ndef locate_binary(name: str) -> str:\n\tif path := which(name):\n\t\treturn path\n\traise RequirementError(f'Binary {name} does not exist.')\n\n\ndef _pid_exists(pid: int) -> bool:\n\ttry:\n\t\treturn any(subprocess.check_output(['ps', '--no-headers', '-o', 'pid', '-p', str(pid)]).strip())\n\texcept subprocess.CalledProcessError:\n\t\treturn False\n\n\ndef _cmd_history(cmd: list[str]) -> None:\n\tcontent = f'{time.time()} {cmd}\\n'\n\t_append_log('cmd_history.txt', content)\n\n\ndef _cmd_output(output: str) -> None:\n\t_append_log('cmd_output.txt', output)\n\n\ndef _append_log(file: str, content: str) -> None:\n\tpath = logger.directory / file\n\n\tchange_perm = not path.exists()\n\n\ttry:\n\t\twith path.open('a') as f:\n\t\t\tf.write(content)\n\n\t\tif change_perm:\n\t\t\tpath.chmod(stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP)\n\texcept (PermissionError, FileNotFoundError):\n\t\t# If the file does not exist, ignore the error\n\t\tpass\n"
  },
  {
    "path": "archinstall/lib/configuration.py",
    "content": "import json\nimport readline\nimport stat\nfrom pathlib import Path\nfrom typing import Any\n\nfrom pydantic import TypeAdapter\n\nfrom archinstall.lib.args import ArchConfig\nfrom archinstall.lib.crypt import encrypt\nfrom archinstall.lib.menu.helpers import Confirmation, Selection\nfrom archinstall.lib.menu.util import get_password, prompt_dir\nfrom archinstall.lib.output import debug, logger, warn\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass ConfigurationOutput:\n\tdef __init__(self, config: ArchConfig):\n\t\t\"\"\"\n\t\tConfiguration output handler to parse the existing\n\t\tconfiguration data structure and prepare for output on the\n\t\tconsole and for saving it to configuration files\n\n\t\t:param config: Archinstall configuration object\n\t\t:type config: ArchConfig\n\t\t\"\"\"\n\n\t\tself._config = config\n\t\tself._default_save_path = logger.directory\n\t\tself._user_config_file = Path('user_configuration.json')\n\t\tself._user_creds_file = Path('user_credentials.json')\n\n\t@property\n\tdef user_configuration_file(self) -> Path:\n\t\treturn self._user_config_file\n\n\t@property\n\tdef user_credentials_file(self) -> Path:\n\t\treturn self._user_creds_file\n\n\tdef user_config_to_json(self) -> str:\n\t\tconfig = self._config.safe_config()\n\n\t\tadapter = TypeAdapter(dict[str, Any])\n\t\tpython_dict = adapter.dump_python(config)\n\t\treturn json.dumps(python_dict, indent=4, sort_keys=True)\n\n\tdef user_credentials_to_json(self) -> str:\n\t\tconfig = self._config.unsafe_config()\n\n\t\tadapter = TypeAdapter(dict[str, Any])\n\t\tpython_dict = adapter.dump_python(config)\n\t\treturn json.dumps(python_dict, indent=4, sort_keys=True)\n\n\tdef write_debug(self) -> None:\n\t\tdebug(' -- Chosen configuration --')\n\t\tdebug(self.user_config_to_json())\n\n\tasync def confirm_config(self) -> bool:\n\t\theader = f'{tr(\"The specified configuration will be applied\")}. '\n\t\theader += tr('Would you like to continue?') + '\\n'\n\n\t\tgroup = MenuItemGroup.yes_no()\n\t\tgroup.set_preview_for_all(lambda x: self.user_config_to_json())\n\n\t\tresult = await Confirmation(\n\t\t\tgroup=group,\n\t\t\theader=header,\n\t\t\tallow_skip=False,\n\t\t\tpreset=True,\n\t\t\tpreview_location='bottom',\n\t\t\tpreview_header=tr('Configuration preview'),\n\t\t).show()\n\n\t\tif not result.get_value():\n\t\t\treturn False\n\n\t\treturn True\n\n\tdef _is_valid_path(self, dest_path: Path) -> bool:\n\t\tdest_path_ok = dest_path.exists() and dest_path.is_dir()\n\t\tif not dest_path_ok:\n\t\t\twarn(\n\t\t\t\tf'Destination directory {dest_path.resolve()} does not exist or is not a directory\\n.',\n\t\t\t\t'Configuration files can not be saved',\n\t\t\t)\n\t\treturn dest_path_ok\n\n\tdef save_user_config(self, dest_path: Path) -> None:\n\t\tif self._is_valid_path(dest_path):\n\t\t\ttarget = dest_path / self._user_config_file\n\t\t\ttarget.write_text(self.user_config_to_json())\n\t\t\ttarget.chmod(stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP)\n\n\tdef save_user_creds(\n\t\tself,\n\t\tdest_path: Path,\n\t\tpassword: str | None = None,\n\t) -> None:\n\t\tdata = self.user_credentials_to_json()\n\n\t\tif password:\n\t\t\tdata = encrypt(password, data)\n\n\t\tif self._is_valid_path(dest_path):\n\t\t\ttarget = dest_path / self._user_creds_file\n\t\t\ttarget.write_text(data)\n\t\t\ttarget.chmod(stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP)\n\n\tdef save(\n\t\tself,\n\t\tdest_path: Path | None = None,\n\t\tcreds: bool = False,\n\t\tpassword: str | None = None,\n\t) -> None:\n\t\tsave_path = dest_path or self._default_save_path\n\n\t\tif self._is_valid_path(save_path):\n\t\t\tself.save_user_config(save_path)\n\t\t\tif creds:\n\t\t\t\tself.save_user_creds(save_path, password=password)\n\n\nasync def save_config(config: ArchConfig) -> None:\n\tdef preview(item: MenuItem) -> str | None:\n\t\tmatch item.value:\n\t\t\tcase 'user_config':\n\t\t\t\tserialized = config_output.user_config_to_json()\n\t\t\t\treturn f'{config_output.user_configuration_file}\\n{serialized}'\n\t\t\tcase 'user_creds':\n\t\t\t\tif maybe_serial := config_output.user_credentials_to_json():\n\t\t\t\t\treturn f'{config_output.user_credentials_file}\\n{maybe_serial}'\n\t\t\t\treturn tr('No configuration')\n\t\t\tcase 'all':\n\t\t\t\toutput = [str(config_output.user_configuration_file)]\n\t\t\t\tconfig_output.user_credentials_to_json()\n\t\t\t\toutput.append(str(config_output.user_credentials_file))\n\t\t\t\treturn '\\n'.join(output)\n\t\treturn None\n\n\tconfig_output = ConfigurationOutput(config)\n\n\titems = [\n\t\tMenuItem(\n\t\t\ttr('Save user configuration (including disk layout)'),\n\t\t\tvalue='user_config',\n\t\t\tpreview_action=preview,\n\t\t),\n\t\tMenuItem(\n\t\t\ttr('Save user credentials'),\n\t\t\tvalue='user_creds',\n\t\t\tpreview_action=preview,\n\t\t),\n\t\tMenuItem(\n\t\t\ttr('Save all'),\n\t\t\tvalue='all',\n\t\t\tpreview_action=preview,\n\t\t),\n\t]\n\n\tgroup = MenuItemGroup(items)\n\tresult = await Selection[str](\n\t\tgroup,\n\t\tallow_skip=True,\n\t\tpreview_location='right',\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn\n\t\tcase ResultType.Selection:\n\t\t\tsave_option = result.get_value()\n\t\tcase _:\n\t\t\traise ValueError('Unhandled return type')\n\n\treadline.set_completer_delims('\\t\\n=')\n\treadline.parse_and_bind('tab: complete')\n\n\tdest_path = await prompt_dir(\n\t\ttr('Enter a directory for the configuration(s) to be saved') + '\\n',\n\t\tallow_skip=True,\n\t)\n\n\tif not dest_path:\n\t\treturn\n\n\theader = tr('Do you want to save the configuration file(s) to {}?').format(dest_path)\n\n\tsave_result = await Confirmation(\n\t\theader=header,\n\t\tallow_skip=False,\n\t\tpreset=True,\n\t).show()\n\n\tmatch save_result.type_:\n\t\tcase ResultType.Selection:\n\t\t\tif not save_result.get_value():\n\t\t\t\treturn\n\t\tcase _:\n\t\t\treturn\n\n\tdebug(f'Saving configuration files to {dest_path.absolute()}')\n\n\theader = tr('Do you want to encrypt the user_credentials.json file?')\n\n\tenc_result = await Confirmation(\n\t\theader=header,\n\t\tallow_skip=False,\n\t\tpreset=False,\n\t).show()\n\n\tenc_password: str | None = None\n\tif enc_result.type_ == ResultType.Selection:\n\t\tif enc_result.get_value():\n\t\t\tpassword = await get_password(\n\t\t\t\theader=tr('Credentials file encryption password'),\n\t\t\t\tallow_skip=True,\n\t\t\t)\n\n\t\t\tif password:\n\t\t\t\tenc_password = password.plaintext\n\n\tmatch save_option:\n\t\tcase 'user_config':\n\t\t\tconfig_output.save_user_config(dest_path)\n\t\tcase 'user_creds':\n\t\t\tconfig_output.save_user_creds(dest_path, password=enc_password)\n\t\tcase 'all':\n\t\t\tconfig_output.save(dest_path, creds=True, password=enc_password)\n"
  },
  {
    "path": "archinstall/lib/crypt.py",
    "content": "import base64\nimport ctypes\nimport os\nfrom pathlib import Path\n\nfrom cryptography.fernet import Fernet, InvalidToken\nfrom cryptography.hazmat.primitives.kdf.argon2 import Argon2id\n\nfrom archinstall.lib.output import debug\n\nlibcrypt = ctypes.CDLL('libcrypt.so')\n\nlibcrypt.crypt.argtypes = [ctypes.c_char_p, ctypes.c_char_p]\nlibcrypt.crypt.restype = ctypes.c_char_p\n\nlibcrypt.crypt_gensalt.argtypes = [ctypes.c_char_p, ctypes.c_ulong, ctypes.c_char_p, ctypes.c_int]\nlibcrypt.crypt_gensalt.restype = ctypes.c_char_p\n\nLOGIN_DEFS = Path('/etc/login.defs')\n\n\ndef _search_login_defs(key: str) -> str | None:\n\tdefs = LOGIN_DEFS.read_text()\n\tfor line in defs.split('\\n'):\n\t\tline = line.strip()\n\n\t\tif line.startswith('#'):\n\t\t\tcontinue\n\n\t\tif line.startswith(key):\n\t\t\tvalue = line.split(' ')[1]\n\t\t\treturn value\n\n\treturn None\n\n\ndef crypt_gen_salt(prefix: str | bytes, rounds: int) -> bytes:\n\tif isinstance(prefix, str):\n\t\tprefix = prefix.encode('utf-8')\n\n\tsetting = libcrypt.crypt_gensalt(prefix, rounds, None, 0)\n\n\tif setting is None:\n\t\traise ValueError(f'crypt_gensalt() returned NULL for prefix {prefix!r} and rounds {rounds}')\n\n\treturn setting\n\n\ndef crypt_yescrypt(plaintext: str) -> str:\n\t\"\"\"\n\tBy default chpasswd in Arch uses PAM to hash the password with crypt_yescrypt\n\tthe PAM code https://github.com/linux-pam/linux-pam/blob/master/modules/pam_unix/support.c\n\tshows that the hashing rounds are determined from YESCRYPT_COST_FACTOR in /etc/login.defs\n\tIf no value was specified (or commented out) a default of 5 is chosen\n\t\"\"\"\n\tvalue = _search_login_defs('YESCRYPT_COST_FACTOR')\n\tif value is not None:\n\t\trounds = int(value)\n\t\tif rounds < 3:\n\t\t\trounds = 3\n\t\telif rounds > 11:\n\t\t\trounds = 11\n\telse:\n\t\trounds = 5\n\n\tdebug(f'Creating yescrypt hash with rounds {rounds}')\n\n\tenc_plaintext = plaintext.encode('utf-8')\n\tsalt = crypt_gen_salt('$y$', rounds)\n\n\tcrypt_hash = libcrypt.crypt(enc_plaintext, salt)\n\n\tif crypt_hash is None:\n\t\traise ValueError('crypt() returned NULL')\n\n\treturn crypt_hash.decode('utf-8')\n\n\ndef _get_fernet(salt: bytes, password: str) -> Fernet:\n\t# https://cryptography.io/en/latest/hazmat/primitives/key-derivation-functions/#argon2id\n\tkdf = Argon2id(\n\t\tsalt=salt,\n\t\tlength=32,\n\t\titerations=1,\n\t\tlanes=4,\n\t\tmemory_cost=64 * 1024,\n\t\tad=None,\n\t\tsecret=None,\n\t)\n\n\tkey = base64.urlsafe_b64encode(\n\t\tkdf.derive(\n\t\t\tpassword.encode('utf-8'),\n\t\t),\n\t)\n\n\treturn Fernet(key)\n\n\ndef encrypt(password: str, data: str) -> str:\n\tsalt = os.urandom(16)\n\tf = _get_fernet(salt, password)\n\ttoken = f.encrypt(data.encode('utf-8'))\n\n\tencoded_token = base64.urlsafe_b64encode(token).decode('utf-8')\n\tencoded_salt = base64.urlsafe_b64encode(salt).decode('utf-8')\n\n\treturn f'$argon2id${encoded_salt}${encoded_token}'\n\n\ndef decrypt(data: str, password: str) -> str:\n\t_, algo, encoded_salt, encoded_token = data.split('$')\n\tsalt = base64.urlsafe_b64decode(encoded_salt)\n\ttoken = base64.urlsafe_b64decode(encoded_token)\n\n\tif algo != 'argon2id':\n\t\traise ValueError(f'Unsupported algorithm {algo!r}')\n\n\tf = _get_fernet(salt, password)\n\ttry:\n\t\tdecrypted = f.decrypt(token)\n\texcept InvalidToken:\n\t\traise ValueError('Invalid password')\n\n\treturn decrypted.decode('utf-8')\n"
  },
  {
    "path": "archinstall/lib/disk/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/disk/device_handler.py",
    "content": "import logging\nimport os\nfrom pathlib import Path\n\nfrom parted import Device, Disk, DiskException, FileSystem, Geometry, IOException, Partition, PartitionException, freshDisk, getAllDevices, getDevice, newDisk\n\nfrom archinstall.lib.command import SysCommand\nfrom archinstall.lib.disk.utils import (\n\tfind_lsblk_info,\n\tget_all_lsblk_info,\n\tget_lsblk_info,\n\tmount,\n\tudev_sync,\n\tumount,\n)\nfrom archinstall.lib.exceptions import DiskError, SysCallError, UnknownFilesystemFormat\nfrom archinstall.lib.luks import Luks2, unlock_luks2_dev\nfrom archinstall.lib.models.device import (\n\tDEFAULT_ITER_TIME,\n\tBDevice,\n\tBtrfsMountOption,\n\tDeviceModification,\n\tDiskEncryption,\n\tFilesystemType,\n\tLsblkInfo,\n\tModificationStatus,\n\tPartitionFlag,\n\tPartitionGUID,\n\tPartitionModification,\n\tPartitionTable,\n\tSubvolumeModification,\n\tUnit,\n\t_BtrfsSubvolumeInfo,\n\t_DeviceInfo,\n\t_PartitionInfo,\n)\nfrom archinstall.lib.models.users import Password\nfrom archinstall.lib.output import debug, error, info, log\nfrom archinstall.lib.utils.util import is_subpath\n\n\nclass DeviceHandler:\n\t_TMP_BTRFS_MOUNT = Path('/mnt/arch_btrfs')\n\n\tdef __init__(self) -> None:\n\t\tself._devices: dict[Path, BDevice] = {}\n\t\tself._partition_table = PartitionTable.default()\n\t\tself.load_devices()\n\n\t@property\n\tdef devices(self) -> list[BDevice]:\n\t\treturn list(self._devices.values())\n\n\t@property\n\tdef partition_table(self) -> PartitionTable:\n\t\treturn self._partition_table\n\n\tdef load_devices(self) -> None:\n\t\tblock_devices = {}\n\n\t\tudev_sync()\n\t\tall_lsblk_info = get_all_lsblk_info()\n\t\tdevices = getAllDevices()\n\t\tdevices.extend(self.get_loop_devices())\n\n\t\tarchiso_mountpoint = Path('/run/archiso/airootfs')\n\n\t\tfor device in devices:\n\t\t\tdev_lsblk_info = find_lsblk_info(device.path, all_lsblk_info)\n\n\t\t\tif not dev_lsblk_info:\n\t\t\t\tdebug(f'Device lsblk info not found: {device.path}')\n\t\t\t\tcontinue\n\n\t\t\tif dev_lsblk_info.type == 'rom':\n\t\t\t\tcontinue\n\n\t\t\t# exclude archiso loop device\n\t\t\tif dev_lsblk_info.mountpoint == archiso_mountpoint:\n\t\t\t\tcontinue\n\n\t\t\ttry:\n\t\t\t\tif dev_lsblk_info.pttype:\n\t\t\t\t\tdisk = newDisk(device)\n\t\t\t\telse:\n\t\t\t\t\tdisk = freshDisk(device, self.partition_table.value)\n\t\t\texcept DiskException as err:\n\t\t\t\tdebug(f'Unable to get disk from {device.path}: {err}')\n\t\t\t\tcontinue\n\n\t\t\tdevice_info = _DeviceInfo.from_disk(disk)\n\t\t\tpartition_infos = []\n\n\t\t\tfor partition in disk.partitions:\n\t\t\t\tlsblk_info = find_lsblk_info(partition.path, dev_lsblk_info.children)\n\n\t\t\t\tif not lsblk_info:\n\t\t\t\t\tdebug(f'Partition lsblk info not found: {partition.path}')\n\t\t\t\t\tcontinue\n\n\t\t\t\tfs_type = self._determine_fs_type(partition, lsblk_info)\n\t\t\t\tsubvol_infos = []\n\n\t\t\t\tif fs_type == FilesystemType.Btrfs:\n\t\t\t\t\tsubvol_infos = self.get_btrfs_info(partition.path, lsblk_info)\n\n\t\t\t\tpartition_infos.append(\n\t\t\t\t\t_PartitionInfo.from_partition(\n\t\t\t\t\t\tpartition,\n\t\t\t\t\t\tlsblk_info,\n\t\t\t\t\t\tfs_type,\n\t\t\t\t\t\tsubvol_infos,\n\t\t\t\t\t),\n\t\t\t\t)\n\n\t\t\tblock_device = BDevice(disk, device_info, partition_infos)\n\t\t\tblock_devices[block_device.device_info.path] = block_device\n\n\t\tself._devices = block_devices\n\n\t@staticmethod\n\tdef get_loop_devices() -> list[Device]:\n\t\tdevices = []\n\n\t\ttry:\n\t\t\tloop_devices = SysCommand(['losetup', '-a'])\n\t\texcept SysCallError as err:\n\t\t\tdebug(f'Failed to get loop devices: {err}')\n\t\telse:\n\t\t\tfor ld_info in str(loop_devices).splitlines():\n\t\t\t\ttry:\n\t\t\t\t\tloop_device_path, _ = ld_info.split(':', maxsplit=1)\n\t\t\t\texcept ValueError:\n\t\t\t\t\tcontinue\n\n\t\t\t\ttry:\n\t\t\t\t\tloop_device = getDevice(loop_device_path)\n\t\t\t\texcept IOException as err:\n\t\t\t\t\tdebug(f'Failed to get loop device: {err}')\n\t\t\t\telse:\n\t\t\t\t\tdevices.append(loop_device)\n\n\t\treturn devices\n\n\tdef _determine_fs_type(\n\t\tself,\n\t\tpartition: Partition,\n\t\tlsblk_info: LsblkInfo | None = None,\n\t) -> FilesystemType | None:\n\t\ttry:\n\t\t\tif partition.fileSystem:\n\t\t\t\tif partition.fileSystem.type == FilesystemType.LinuxSwap.parted_value:\n\t\t\t\t\treturn FilesystemType.LinuxSwap\n\t\t\t\treturn FilesystemType(partition.fileSystem.type)\n\t\t\telif lsblk_info is not None:\n\t\t\t\treturn FilesystemType(lsblk_info.fstype) if lsblk_info.fstype else None\n\t\t\treturn None\n\t\texcept ValueError:\n\t\t\tdebug(f'Could not determine the filesystem: {partition.fileSystem}')\n\n\t\treturn None\n\n\tdef get_device(self, path: Path) -> BDevice | None:\n\t\treturn self._devices.get(path, None)\n\n\tdef get_device_by_partition_path(self, partition_path: Path) -> BDevice | None:\n\t\tpartition = self.find_partition(partition_path)\n\t\tif partition:\n\t\t\tdevice: Device = partition.disk.device\n\t\t\treturn self.get_device(Path(device.path))\n\t\treturn None\n\n\tdef find_partition(self, path: Path) -> _PartitionInfo | None:\n\t\tfor device in self._devices.values():\n\t\t\tpart = next(filter(lambda x: str(x.path) == str(path), device.partition_infos), None)\n\t\t\tif part is not None:\n\t\t\t\treturn part\n\t\treturn None\n\n\tdef get_uuid_for_path(self, path: Path) -> str | None:\n\t\tpartition = self.find_partition(path)\n\t\treturn partition.partuuid if partition else None\n\n\tdef get_btrfs_info(\n\t\tself,\n\t\tdev_path: Path,\n\t\tlsblk_info: LsblkInfo | None = None,\n\t) -> list[_BtrfsSubvolumeInfo]:\n\t\tif not lsblk_info:\n\t\t\tlsblk_info = get_lsblk_info(dev_path)\n\n\t\tsubvol_infos: list[_BtrfsSubvolumeInfo] = []\n\n\t\tif not lsblk_info.mountpoint:\n\t\t\tmount(dev_path, self._TMP_BTRFS_MOUNT, create_target_mountpoint=True)\n\t\t\tmountpoint = self._TMP_BTRFS_MOUNT\n\t\telse:\n\t\t\t# when multiple subvolumes are mounted then the lsblk output may look like\n\t\t\t# \"mountpoint\": \"/mnt/archinstall/var/log\"\n\t\t\t# \"mountpoints\": [\"/mnt/archinstall/var/log\", \"/mnt/archinstall/home\", ..]\n\t\t\t# so we'll determine the minimum common path and assume that's the root\n\t\t\ttry:\n\t\t\t\tcommon_path = os.path.commonpath(lsblk_info.mountpoints)\n\t\t\texcept ValueError:\n\t\t\t\treturn subvol_infos\n\n\t\t\tmountpoint = Path(common_path)\n\n\t\ttry:\n\t\t\tresult = SysCommand(f'btrfs subvolume list {mountpoint}').decode()\n\t\texcept SysCallError as err:\n\t\t\tdebug(f'Failed to read btrfs subvolume information: {err}')\n\t\t\treturn subvol_infos\n\n\t\t# It is assumed that lsblk will contain the fields as\n\t\t# \"mountpoints\": [\"/mnt/archinstall/log\", \"/mnt/archinstall/home\", \"/mnt/archinstall\", ...]\n\t\t# \"fsroots\": [\"/@log\", \"/@home\", \"/@\"...]\n\t\t# we'll thereby map the fsroot, which are the mounted filesystem roots\n\t\t# to the corresponding mountpoints\n\t\tbtrfs_subvol_info = dict(zip(lsblk_info.fsroots, lsblk_info.mountpoints))\n\n\t\t# ID 256 gen 16 top level 5 path @\n\t\tfor line in result.splitlines():\n\t\t\t# expected output format:\n\t\t\t# ID 257 gen 8 top level 5 path @home\n\t\t\tname = Path(line.split(' ')[-1])\n\t\t\tsub_vol_mountpoint = btrfs_subvol_info.get('/' / name, None)\n\t\t\tsubvol_infos.append(_BtrfsSubvolumeInfo(name, sub_vol_mountpoint))\n\n\t\tif not lsblk_info.mountpoint:\n\t\t\tumount(dev_path)\n\n\t\treturn subvol_infos\n\n\tdef format(\n\t\tself,\n\t\tfs_type: FilesystemType,\n\t\tpath: Path,\n\t\tadditional_parted_options: list[str] = [],\n\t) -> None:\n\t\tmkfs_type = fs_type.value\n\t\tcommand = None\n\t\toptions = []\n\n\t\tmatch fs_type:\n\t\t\tcase FilesystemType.Btrfs | FilesystemType.Xfs:\n\t\t\t\t# Force overwrite\n\t\t\t\toptions.append('-f')\n\t\t\tcase FilesystemType.F2fs:\n\t\t\t\toptions.append('-f')\n\t\t\t\toptions.extend(('-O', 'extra_attr'))\n\t\t\tcase FilesystemType.Ext2 | FilesystemType.Ext3 | FilesystemType.Ext4:\n\t\t\t\t# Force create\n\t\t\t\toptions.append('-F')\n\t\t\tcase FilesystemType.Fat12 | FilesystemType.Fat16 | FilesystemType.Fat32:\n\t\t\t\tmkfs_type = 'fat'\n\t\t\t\t# Set FAT size\n\t\t\t\toptions.extend(('-F', fs_type.value.removeprefix(mkfs_type)))\n\t\t\tcase FilesystemType.LinuxSwap:\n\t\t\t\tcommand = 'mkswap'\n\t\t\tcase _:\n\t\t\t\traise UnknownFilesystemFormat(f'Filetype \"{fs_type.value}\" is not supported')\n\n\t\tif not command:\n\t\t\tcommand = f'mkfs.{mkfs_type}'\n\n\t\tcmd = [command, *options, *additional_parted_options, str(path)]\n\n\t\tdebug('Formatting filesystem:', ' '.join(cmd))\n\n\t\ttry:\n\t\t\tSysCommand(cmd)\n\t\texcept SysCallError as err:\n\t\t\tmsg = f'Could not format {path} with {fs_type.value}: {err.message}'\n\t\t\terror(msg)\n\t\t\traise DiskError(msg) from err\n\n\tdef encrypt(\n\t\tself,\n\t\tdev_path: Path,\n\t\tmapper_name: str | None,\n\t\tenc_password: Password | None,\n\t\tlock_after_create: bool = True,\n\t\titer_time: int = DEFAULT_ITER_TIME,\n\t) -> Luks2:\n\t\tluks_handler = Luks2(\n\t\t\tdev_path,\n\t\t\tmapper_name=mapper_name,\n\t\t\tpassword=enc_password,\n\t\t)\n\n\t\tkey_file = luks_handler.encrypt(iter_time=iter_time)\n\n\t\tudev_sync()\n\n\t\tluks_handler.unlock(key_file=key_file)\n\n\t\tif not luks_handler.mapper_dev:\n\t\t\traise DiskError('Failed to unlock luks device')\n\n\t\tif lock_after_create:\n\t\t\tdebug(f'luks2 locking device: {dev_path}')\n\t\t\tluks_handler.lock()\n\n\t\treturn luks_handler\n\n\tdef format_encrypted(\n\t\tself,\n\t\tdev_path: Path,\n\t\tmapper_name: str | None,\n\t\tfs_type: FilesystemType,\n\t\tenc_conf: DiskEncryption,\n\t) -> None:\n\t\tif not enc_conf.encryption_password:\n\t\t\traise ValueError('No encryption password provided')\n\n\t\tluks_handler = Luks2(\n\t\t\tdev_path,\n\t\t\tmapper_name=mapper_name,\n\t\t\tpassword=enc_conf.encryption_password,\n\t\t)\n\n\t\tkey_file = luks_handler.encrypt(iter_time=enc_conf.iter_time)\n\n\t\tudev_sync()\n\n\t\tluks_handler.unlock(key_file=key_file)\n\n\t\tif not luks_handler.mapper_dev:\n\t\t\traise DiskError('Failed to unlock luks device')\n\n\t\tinfo(f'luks2 formatting mapper dev: {luks_handler.mapper_dev}')\n\t\tself.format(fs_type, luks_handler.mapper_dev)\n\n\t\tinfo(f'luks2 locking device: {dev_path}')\n\t\tluks_handler.lock()\n\n\tdef _setup_partition(\n\t\tself,\n\t\tpart_mod: PartitionModification,\n\t\tblock_device: BDevice,\n\t\tdisk: Disk,\n\t\trequires_delete: bool,\n\t) -> None:\n\t\t# when we require a delete and the partition to be (re)created\n\t\t# already exists then we have to delete it first\n\t\tif requires_delete and part_mod.status in [ModificationStatus.Modify, ModificationStatus.Delete]:\n\t\t\tinfo(f'Delete existing partition: {part_mod.safe_dev_path}')\n\t\t\tpart_info = self.find_partition(part_mod.safe_dev_path)\n\n\t\t\tif not part_info:\n\t\t\t\traise DiskError(f'No partition for dev path found: {part_mod.safe_dev_path}')\n\n\t\t\tdisk.deletePartition(part_info.partition)\n\n\t\tif part_mod.status == ModificationStatus.Delete:\n\t\t\treturn\n\n\t\tstart_sector = part_mod.start.convert(\n\t\t\tUnit.sectors,\n\t\t\tblock_device.device_info.sector_size,\n\t\t)\n\n\t\tlength_sector = part_mod.length.convert(\n\t\t\tUnit.sectors,\n\t\t\tblock_device.device_info.sector_size,\n\t\t)\n\n\t\tgeometry = Geometry(\n\t\t\tdevice=block_device.disk.device,\n\t\t\tstart=start_sector.value,\n\t\t\tlength=length_sector.value,\n\t\t)\n\n\t\tfs_value = part_mod.safe_fs_type.parted_value\n\t\tfilesystem = FileSystem(type=fs_value, geometry=geometry)\n\n\t\tpartition = Partition(\n\t\t\tdisk=disk,\n\t\t\ttype=part_mod.type.get_partition_code(),\n\t\t\tfs=filesystem,\n\t\t\tgeometry=geometry,\n\t\t)\n\n\t\tfor flag in part_mod.flags:\n\t\t\tpartition.setFlag(flag.flag_id)\n\n\t\tdebug(f'\\tType: {part_mod.type.value}')\n\t\tdebug(f'\\tFilesystem: {fs_value}')\n\t\tdebug(f'\\tGeometry: {start_sector.value} start sector, {length_sector.value} length')\n\n\t\ttry:\n\t\t\tdisk.addPartition(partition=partition, constraint=disk.device.optimalAlignedConstraint)\n\t\texcept PartitionException as ex:\n\t\t\traise DiskError(f'Unable to add partition, most likely due to overlapping sectors: {ex}') from ex\n\n\t\tif disk.type == PartitionTable.GPT.value:\n\t\t\tif part_mod.is_root():\n\t\t\t\tpartition.type_uuid = PartitionGUID.LINUX_ROOT_X86_64.bytes\n\t\t\telif PartitionFlag.LINUX_HOME not in part_mod.flags and part_mod.is_home():\n\t\t\t\tpartition.setFlag(PartitionFlag.LINUX_HOME.flag_id)\n\n\t\t# the partition has a path now that it has been added\n\t\tpart_mod.dev_path = Path(partition.path)\n\n\tdef fetch_part_info(self, path: Path) -> LsblkInfo:\n\t\tlsblk_info = get_lsblk_info(path)\n\n\t\tif not lsblk_info.partn:\n\t\t\tdebug(f'Unable to determine new partition number: {path}\\n{lsblk_info}')\n\t\t\traise DiskError(f'Unable to determine new partition number: {path}')\n\n\t\tif not lsblk_info.partuuid:\n\t\t\tdebug(f'Unable to determine new partition uuid: {path}\\n{lsblk_info}')\n\t\t\traise DiskError(f'Unable to determine new partition uuid: {path}')\n\n\t\tif not lsblk_info.uuid:\n\t\t\tdebug(f'Unable to determine new uuid: {path}\\n{lsblk_info}')\n\t\t\traise DiskError(f'Unable to determine new uuid: {path}')\n\n\t\tdebug(f'partition information found: {lsblk_info.model_dump_json()}')\n\n\t\treturn lsblk_info\n\n\tdef create_lvm_btrfs_subvolumes(\n\t\tself,\n\t\tpath: Path,\n\t\tbtrfs_subvols: list[SubvolumeModification],\n\t\tmount_options: list[str],\n\t) -> None:\n\t\tinfo(f'Creating subvolumes: {path}')\n\n\t\tmount(path, self._TMP_BTRFS_MOUNT, create_target_mountpoint=True)\n\n\t\tfor sub_vol in sorted(btrfs_subvols, key=lambda x: x.name):\n\t\t\tdebug(f'Creating subvolume: {sub_vol.name}')\n\n\t\t\tsubvol_path = self._TMP_BTRFS_MOUNT / sub_vol.name\n\n\t\t\tSysCommand(f'btrfs subvolume create -p {subvol_path}')\n\n\t\t\tif BtrfsMountOption.nodatacow.value in mount_options:\n\t\t\t\ttry:\n\t\t\t\t\tSysCommand(f'chattr +C {subvol_path}')\n\t\t\t\texcept SysCallError as err:\n\t\t\t\t\traise DiskError(f'Could not set nodatacow attribute at {subvol_path}: {err}')\n\n\t\t\tif BtrfsMountOption.compress.value in mount_options:\n\t\t\t\ttry:\n\t\t\t\t\tSysCommand(f'chattr +c {subvol_path}')\n\t\t\t\texcept SysCallError as err:\n\t\t\t\t\traise DiskError(f'Could not set compress attribute at {subvol_path}: {err}')\n\n\t\tumount(path)\n\n\tdef create_btrfs_volumes(\n\t\tself,\n\t\tpart_mod: PartitionModification,\n\t\tenc_conf: DiskEncryption | None = None,\n\t) -> None:\n\t\tinfo(f'Creating subvolumes: {part_mod.safe_dev_path}')\n\n\t\t# unlock the partition first if it's encrypted\n\t\tif enc_conf is not None and part_mod in enc_conf.partitions:\n\t\t\tif not part_mod.mapper_name:\n\t\t\t\traise ValueError('No device path specified for modification')\n\n\t\t\tluks_handler = unlock_luks2_dev(\n\t\t\t\tpart_mod.safe_dev_path,\n\t\t\t\tpart_mod.mapper_name,\n\t\t\t\tenc_conf.encryption_password,\n\t\t\t)\n\n\t\t\tif not luks_handler.mapper_dev:\n\t\t\t\traise DiskError('Failed to unlock luks device')\n\n\t\t\tdev_path = luks_handler.mapper_dev\n\t\telse:\n\t\t\tluks_handler = None\n\t\t\tdev_path = part_mod.safe_dev_path\n\n\t\tmount(\n\t\t\tdev_path,\n\t\t\tself._TMP_BTRFS_MOUNT,\n\t\t\tcreate_target_mountpoint=True,\n\t\t\toptions=part_mod.mount_options,\n\t\t)\n\n\t\tfor sub_vol in sorted(part_mod.btrfs_subvols, key=lambda x: x.name):\n\t\t\tdebug(f'Creating subvolume: {sub_vol.name}')\n\n\t\t\tsubvol_path = self._TMP_BTRFS_MOUNT / sub_vol.name\n\n\t\t\tSysCommand(f'btrfs subvolume create -p {subvol_path}')\n\n\t\tumount(dev_path)\n\n\t\tif luks_handler is not None and luks_handler.mapper_dev is not None:\n\t\t\tluks_handler.lock()\n\n\tdef umount_all_existing(self, device_path: Path) -> None:\n\t\tdebug(f'Unmounting all existing partitions: {device_path}')\n\n\t\texisting_partitions = self._devices[device_path].partition_infos\n\n\t\tfor partition in existing_partitions:\n\t\t\tdebug(f'Unmounting: {partition.path}')\n\n\t\t\t# un-mount for existing encrypted partitions\n\t\t\tif partition.fs_type == FilesystemType.Crypto_luks:\n\t\t\t\tLuks2(partition.path).lock()\n\t\t\telse:\n\t\t\t\tumount(partition.path, recursive=True)\n\n\tdef partition(\n\t\tself,\n\t\tmodification: DeviceModification,\n\t\tpartition_table: PartitionTable | None = None,\n\t) -> None:\n\t\t\"\"\"\n\t\tCreate a partition table on the block device and create all partitions.\n\t\t\"\"\"\n\t\tpartition_table = partition_table or self.partition_table\n\n\t\t# WARNING: the entire device will be wiped and all data lost\n\t\tif modification.wipe:\n\t\t\tif partition_table.is_mbr() and len(modification.partitions) > 3:\n\t\t\t\traise DiskError('Too many partitions on disk, MBR disks can only have 3 primary partitions')\n\n\t\t\tself.wipe_dev(modification.device)\n\t\t\tdisk = freshDisk(modification.device.disk.device, partition_table.value)\n\t\telse:\n\t\t\tinfo(f'Use existing device: {modification.device_path}')\n\t\t\tdisk = modification.device.disk\n\n\t\tinfo(f'Creating partitions: {modification.device_path}')\n\n\t\t# don't touch existing partitions\n\t\tfiltered_part = [p for p in modification.partitions if not p.exists()]\n\n\t\tfor part_mod in filtered_part:\n\t\t\t# if the entire disk got nuked then we don't have to delete\n\t\t\t# any existing partitions anymore because they're all gone already\n\t\t\trequires_delete = modification.wipe is False\n\t\t\tself._setup_partition(part_mod, modification.device, disk, requires_delete=requires_delete)\n\n\t\tdisk.commit()\n\n\t\t# Wipe filesystem/LVM signatures from newly created partitions\n\t\t# to prevent \"signature detected\" errors\n\t\tfor part_mod in filtered_part:\n\t\t\tif part_mod.dev_path:\n\t\t\t\tdebug(f'Wiping signatures from: {part_mod.dev_path}')\n\t\t\t\tSysCommand(f'wipefs --all {part_mod.dev_path}')\n\n\t\t# Sync with udev after wiping signatures\n\t\tif filtered_part:\n\t\t\tudev_sync()\n\n\tdef detect_pre_mounted_mods(self, base_mountpoint: Path) -> list[DeviceModification]:\n\t\tpart_mods: dict[Path, list[PartitionModification]] = {}\n\n\t\tfor device in self.devices:\n\t\t\tfor part_info in device.partition_infos:\n\t\t\t\tfor mountpoint in part_info.mountpoints:\n\t\t\t\t\tif is_subpath(mountpoint, base_mountpoint):\n\t\t\t\t\t\tpath = Path(part_info.disk.device.path)\n\t\t\t\t\t\tpart_mods.setdefault(path, [])\n\t\t\t\t\t\tpart_mod = PartitionModification.from_existing_partition(part_info)\n\t\t\t\t\t\tif part_mod.mountpoint:\n\t\t\t\t\t\t\tpart_mod.mountpoint = mountpoint.root / mountpoint.relative_to(base_mountpoint)\n\t\t\t\t\t\telse:\n\t\t\t\t\t\t\tfor subvol in part_mod.btrfs_subvols:\n\t\t\t\t\t\t\t\tif sm := subvol.mountpoint:\n\t\t\t\t\t\t\t\t\tsubvol.mountpoint = sm.root / sm.relative_to(base_mountpoint)\n\t\t\t\t\t\tpart_mods[path].append(part_mod)\n\t\t\t\t\t\tbreak\n\n\t\tdevice_mods: list[DeviceModification] = []\n\t\tfor device_path, mods in part_mods.items():\n\t\t\tdevice_mod = DeviceModification(self._devices[device_path], False, mods)\n\t\t\tdevice_mods.append(device_mod)\n\n\t\treturn device_mods\n\n\tdef partprobe(self, path: Path | None = None) -> None:\n\t\tif path is not None:\n\t\t\tcommand = f'partprobe {path}'\n\t\telse:\n\t\t\tcommand = 'partprobe'\n\n\t\ttry:\n\t\t\tdebug(f'Calling partprobe: {command}')\n\t\t\tSysCommand(command)\n\t\texcept SysCallError as err:\n\t\t\tif 'have been written, but we have been unable to inform the kernel of the change' in str(err):\n\t\t\t\tlog(f'Partprobe was not able to inform the kernel of the new disk state (ignoring error): {err}', fg='gray', level=logging.INFO)\n\t\t\telse:\n\t\t\t\terror(f'\"{command}\" failed to run (continuing anyway): {err}')\n\n\tdef _wipe(self, dev_path: Path) -> None:\n\t\t\"\"\"\n\t\tWipe a device (partition or otherwise) of meta-data, be it file system, LVM, etc.\n\t\t@param dev_path:    Device path of the partition to be wiped.\n\t\t@type dev_path:     str\n\t\t\"\"\"\n\t\twith open(dev_path, 'wb') as p:\n\t\t\tp.write(bytearray(1024))\n\n\tdef wipe_dev(self, block_device: BDevice) -> None:\n\t\t\"\"\"\n\t\tWipe the block device of meta-data, be it file system, LVM, etc.\n\t\tThis is not intended to be secure, but rather to ensure that\n\t\tauto-discovery tools don't recognize anything here.\n\t\t\"\"\"\n\t\tinfo(f'Wiping partitions and metadata: {block_device.device_info.path}')\n\n\t\tfor partition in block_device.partition_infos:\n\t\t\tluks = Luks2(partition.path)\n\t\t\tif luks.isLuks():\n\t\t\t\tluks.erase()\n\n\t\t\tself._wipe(partition.path)\n\n\t\tself._wipe(block_device.device_info.path)\n\n\ndevice_handler = DeviceHandler()\n"
  },
  {
    "path": "archinstall/lib/disk/disk_menu.py",
    "content": "from dataclasses import dataclass\nfrom typing import override\n\nfrom archinstall.lib.disk.encryption_menu import DiskEncryptionMenu\nfrom archinstall.lib.interactions.disk_conf import select_disk_config, select_lvm_config\nfrom archinstall.lib.menu.abstract_menu import AbstractSubMenu\nfrom archinstall.lib.menu.helpers import Selection\nfrom archinstall.lib.models.device import (\n\tDEFAULT_ITER_TIME,\n\tBtrfsOptions,\n\tDiskEncryption,\n\tDiskLayoutConfiguration,\n\tDiskLayoutType,\n\tEncryptionType,\n\tLvmConfiguration,\n\tSnapshotConfig,\n\tSnapshotType,\n)\nfrom archinstall.lib.output import FormattedOutput\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\n@dataclass\nclass DiskMenuConfig:\n\tdisk_config: DiskLayoutConfiguration | None\n\tlvm_config: LvmConfiguration | None\n\tbtrfs_snapshot_config: SnapshotConfig | None\n\tdisk_encryption: DiskEncryption | None\n\n\nclass DiskLayoutConfigurationMenu(AbstractSubMenu[DiskMenuConfig]):\n\tdef __init__(self, disk_layout_config: DiskLayoutConfiguration | None):\n\t\tif not disk_layout_config:\n\t\t\tself._disk_menu_config = DiskMenuConfig(\n\t\t\t\tdisk_config=None,\n\t\t\t\tlvm_config=None,\n\t\t\t\tbtrfs_snapshot_config=None,\n\t\t\t\tdisk_encryption=None,\n\t\t\t)\n\t\telse:\n\t\t\tsnapshot_config = disk_layout_config.btrfs_options.snapshot_config if disk_layout_config.btrfs_options else None\n\n\t\t\tself._disk_menu_config = DiskMenuConfig(\n\t\t\t\tdisk_config=disk_layout_config,\n\t\t\t\tlvm_config=disk_layout_config.lvm_config,\n\t\t\t\tdisk_encryption=disk_layout_config.disk_encryption,\n\t\t\t\tbtrfs_snapshot_config=snapshot_config,\n\t\t\t)\n\n\t\tmenu_options = self._define_menu_options()\n\t\tself._item_group = MenuItemGroup(menu_options, sort_items=False, checkmarks=True)\n\n\t\tsuper().__init__(\n\t\t\tself._item_group,\n\t\t\tself._disk_menu_config,\n\t\t\tallow_reset=True,\n\t\t)\n\n\tdef _define_menu_options(self) -> list[MenuItem]:\n\t\treturn [\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Partitioning'),\n\t\t\t\taction=self._select_disk_layout_config,\n\t\t\t\tvalue=self._disk_menu_config.disk_config,\n\t\t\t\tpreview_action=self._prev_disk_layouts,\n\t\t\t\tkey='disk_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext='LVM',\n\t\t\t\taction=self._select_lvm_config,\n\t\t\t\tvalue=self._disk_menu_config.lvm_config,\n\t\t\t\tpreview_action=self._prev_lvm_config,\n\t\t\t\tdependencies=[self._check_dep_lvm],\n\t\t\t\tkey='lvm_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Disk encryption'),\n\t\t\t\taction=self._select_disk_encryption,\n\t\t\t\tpreview_action=self._prev_disk_encryption,\n\t\t\t\tdependencies=['disk_config'],\n\t\t\t\tkey='disk_encryption',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext='Btrfs snapshots',\n\t\t\t\taction=self._select_btrfs_snapshots,\n\t\t\t\tvalue=self._disk_menu_config.btrfs_snapshot_config,\n\t\t\t\tpreview_action=self._prev_btrfs_snapshots,\n\t\t\t\tdependencies=[self._check_dep_btrfs],\n\t\t\t\tkey='btrfs_snapshot_config',\n\t\t\t),\n\t\t]\n\n\t@override\n\tasync def show(self) -> DiskLayoutConfiguration | None:  # type: ignore[override]\n\t\tconfig: DiskMenuConfig | None = await super().show()\n\t\tif config is None:\n\t\t\treturn None\n\n\t\tif config.disk_config:\n\t\t\tconfig.disk_config.lvm_config = self._disk_menu_config.lvm_config\n\t\t\tconfig.disk_config.btrfs_options = BtrfsOptions(snapshot_config=self._disk_menu_config.btrfs_snapshot_config)\n\t\t\tconfig.disk_config.disk_encryption = self._disk_menu_config.disk_encryption\n\t\t\treturn config.disk_config\n\n\t\treturn None\n\n\tdef _check_dep_lvm(self) -> bool:\n\t\tdisk_layout_conf: DiskLayoutConfiguration | None = self._menu_item_group.find_by_key('disk_config').value\n\n\t\tif disk_layout_conf and disk_layout_conf.config_type == DiskLayoutType.Default:\n\t\t\treturn True\n\n\t\treturn False\n\n\tdef _check_dep_btrfs(self) -> bool:\n\t\tdisk_layout_conf: DiskLayoutConfiguration | None = self._menu_item_group.find_by_key('disk_config').value\n\n\t\tif disk_layout_conf:\n\t\t\treturn disk_layout_conf.has_default_btrfs_vols()\n\n\t\treturn False\n\n\tasync def _select_disk_encryption(self, preset: DiskEncryption | None) -> DiskEncryption | None:\n\t\tdisk_config: DiskLayoutConfiguration | None = self._item_group.find_by_key('disk_config').value\n\t\tlvm_config: LvmConfiguration | None = self._item_group.find_by_key('lvm_config').value\n\n\t\tif not disk_config:\n\t\t\treturn preset\n\n\t\tmodifications = disk_config.device_modifications\n\n\t\tif not DiskEncryption.validate_enc(modifications, lvm_config):\n\t\t\treturn None\n\n\t\tdisk_encryption = await DiskEncryptionMenu(modifications, lvm_config=lvm_config, preset=preset).show()\n\n\t\treturn disk_encryption\n\n\tasync def _select_disk_layout_config(self, preset: DiskLayoutConfiguration | None) -> DiskLayoutConfiguration | None:\n\t\tdisk_config = await select_disk_config(preset)\n\n\t\tif disk_config != preset:\n\t\t\tself._menu_item_group.find_by_key('lvm_config').value = None\n\t\t\tself._menu_item_group.find_by_key('disk_encryption').value = None\n\n\t\treturn disk_config\n\n\tasync def _select_lvm_config(self, preset: LvmConfiguration | None) -> LvmConfiguration | None:\n\t\tdisk_config: DiskLayoutConfiguration | None = self._item_group.find_by_key('disk_config').value\n\n\t\tif not disk_config:\n\t\t\treturn preset\n\n\t\tlvm_config = await select_lvm_config(disk_config, preset=preset)\n\n\t\tif lvm_config != preset:\n\t\t\tself._menu_item_group.find_by_key('disk_encryption').value = None\n\n\t\treturn lvm_config\n\n\tasync def _select_btrfs_snapshots(self, preset: SnapshotConfig | None) -> SnapshotConfig | None:\n\t\tpreset_type = preset.snapshot_type if preset else None\n\n\t\tgroup = MenuItemGroup.from_enum(\n\t\t\tSnapshotType,\n\t\t\tsort_items=True,\n\t\t\tpreset=preset_type,\n\t\t)\n\n\t\tresult = await Selection[SnapshotType](\n\t\t\tgroup,\n\t\t\tallow_reset=True,\n\t\t\tallow_skip=True,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase ResultType.Reset:\n\t\t\t\treturn None\n\t\t\tcase ResultType.Selection:\n\t\t\t\treturn SnapshotConfig(snapshot_type=result.get_value())\n\n\tdef _prev_disk_layouts(self, item: MenuItem) -> str | None:\n\t\tif not item.value:\n\t\t\treturn None\n\n\t\tdisk_layout_conf = item.get_value()\n\n\t\tif disk_layout_conf.config_type == DiskLayoutType.Pre_mount:\n\t\t\tmsg = tr('Configuration type: {}').format(disk_layout_conf.config_type.display_msg()) + '\\n'\n\t\t\tmsg += tr('Mountpoint') + ': ' + str(disk_layout_conf.mountpoint)\n\t\t\treturn msg\n\n\t\tdevice_mods = [d for d in disk_layout_conf.device_modifications if d.partitions]\n\n\t\tif device_mods:\n\t\t\toutput_partition = '{}: {}\\n'.format(tr('Configuration'), disk_layout_conf.config_type.display_msg())\n\t\t\toutput_btrfs = ''\n\n\t\t\tfor mod in device_mods:\n\t\t\t\t# create partition table\n\t\t\t\tpartition_table = FormattedOutput.as_table(mod.partitions)\n\n\t\t\t\toutput_partition += f'{mod.device_path}: {mod.device.device_info.model}\\n'\n\t\t\t\toutput_partition += '{}: {}\\n'.format(tr('Wipe'), mod.wipe)\n\t\t\t\toutput_partition += partition_table + '\\n'\n\n\t\t\t\t# create btrfs table\n\t\t\t\tbtrfs_partitions = [p for p in mod.partitions if p.btrfs_subvols]\n\t\t\t\tfor partition in btrfs_partitions:\n\t\t\t\t\toutput_btrfs += FormattedOutput.as_table(partition.btrfs_subvols) + '\\n'\n\n\t\t\toutput = output_partition + output_btrfs\n\t\t\treturn output.rstrip()\n\n\t\treturn None\n\n\tdef _prev_lvm_config(self, item: MenuItem) -> str | None:\n\t\tif not item.value:\n\t\t\treturn None\n\n\t\tlvm_config: LvmConfiguration = item.value\n\n\t\toutput = '{}: {}\\n'.format(tr('Configuration'), lvm_config.config_type.display_msg())\n\n\t\tfor vol_gp in lvm_config.vol_groups:\n\t\t\tpv_table = FormattedOutput.as_table(vol_gp.pvs)\n\t\t\toutput += '{}:\\n{}'.format(tr('Physical volumes'), pv_table)\n\n\t\t\toutput += f'\\nVolume Group: {vol_gp.name}'\n\n\t\t\tlvm_volumes = FormattedOutput.as_table(vol_gp.volumes)\n\t\t\toutput += '\\n\\n{}:\\n{}'.format(tr('Volumes'), lvm_volumes)\n\n\t\t\treturn output\n\n\t\treturn None\n\n\tdef _prev_btrfs_snapshots(self, item: MenuItem) -> str | None:\n\t\tif not item.value:\n\t\t\treturn None\n\n\t\tsnapshot_config: SnapshotConfig = item.value\n\t\treturn tr('Snapshot type: {}').format(snapshot_config.snapshot_type.value)\n\n\tdef _prev_disk_encryption(self, item: MenuItem) -> str | None:\n\t\tdisk_config: DiskLayoutConfiguration | None = self._item_group.find_by_key('disk_config').value\n\t\tlvm_config: LvmConfiguration | None = self._item_group.find_by_key('lvm_config').value\n\t\tenc_config: DiskEncryption | None = item.value\n\n\t\tif disk_config and not DiskEncryption.validate_enc(disk_config.device_modifications, lvm_config):\n\t\t\treturn tr('LVM disk encryption with more than 2 partitions is currently not supported')\n\n\t\tif enc_config:\n\t\t\tenc_type = enc_config.encryption_type\n\t\t\toutput = tr('Encryption type') + f': {enc_type.type_to_text()}\\n'\n\n\t\t\tif enc_config.encryption_password:\n\t\t\t\toutput += tr('Password') + f': {enc_config.encryption_password.hidden()}\\n'\n\n\t\t\tif enc_type != EncryptionType.NoEncryption:\n\t\t\t\toutput += tr('Iteration time') + f': {enc_config.iter_time or DEFAULT_ITER_TIME}ms\\n'\n\n\t\t\tif enc_config.partitions:\n\t\t\t\toutput += f'Partitions: {len(enc_config.partitions)} selected\\n'\n\t\t\telif enc_config.lvm_volumes:\n\t\t\t\toutput += f'LVM volumes: {len(enc_config.lvm_volumes)} selected\\n'\n\n\t\t\tif enc_config.hsm_device:\n\t\t\t\toutput += f'HSM: {enc_config.hsm_device.manufacturer}'\n\n\t\t\treturn output\n\n\t\treturn None\n"
  },
  {
    "path": "archinstall/lib/disk/encryption_menu.py",
    "content": "from pathlib import Path\nfrom typing import override\n\nfrom archinstall.lib.disk.fido import Fido2\nfrom archinstall.lib.menu.abstract_menu import AbstractSubMenu\nfrom archinstall.lib.menu.helpers import Input, Selection, Table\nfrom archinstall.lib.menu.menu_helper import MenuHelper\nfrom archinstall.lib.menu.util import get_password\nfrom archinstall.lib.models.device import (\n\tDEFAULT_ITER_TIME,\n\tDeviceModification,\n\tDiskEncryption,\n\tEncryptionType,\n\tFido2Device,\n\tLvmConfiguration,\n\tLvmVolume,\n\tPartitionModification,\n)\nfrom archinstall.lib.models.users import Password\nfrom archinstall.lib.output import FormattedOutput\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass DiskEncryptionMenu(AbstractSubMenu[DiskEncryption]):\n\tdef __init__(\n\t\tself,\n\t\tdevice_modifications: list[DeviceModification],\n\t\tlvm_config: LvmConfiguration | None = None,\n\t\tpreset: DiskEncryption | None = None,\n\t):\n\t\tif preset:\n\t\t\tself._enc_config = preset\n\t\telse:\n\t\t\tself._enc_config = DiskEncryption()\n\n\t\tself._device_modifications = device_modifications\n\t\tself._lvm_config = lvm_config\n\n\t\tmenu_options = self._define_menu_options()\n\t\tself._item_group = MenuItemGroup(menu_options, sort_items=False, checkmarks=True)\n\n\t\tsuper().__init__(\n\t\t\tself._item_group,\n\t\t\tself._enc_config,\n\t\t\tallow_reset=True,\n\t\t)\n\n\tdef _define_menu_options(self) -> list[MenuItem]:\n\t\treturn [\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Encryption type'),\n\t\t\t\taction=lambda x: select_encryption_type(self._lvm_config, x),\n\t\t\t\tvalue=self._enc_config.encryption_type,\n\t\t\t\tpreview_action=self._prev_type,\n\t\t\t\tkey='encryption_type',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Encryption password'),\n\t\t\t\taction=lambda x: select_encrypted_password(),\n\t\t\t\tvalue=self._enc_config.encryption_password,\n\t\t\t\tdependencies=[self._check_dep_enc_type],\n\t\t\t\tpreview_action=self._prev_password,\n\t\t\t\tkey='encryption_password',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Iteration time'),\n\t\t\t\taction=select_iteration_time,\n\t\t\t\tvalue=self._enc_config.iter_time,\n\t\t\t\tdependencies=[self._check_dep_enc_type],\n\t\t\t\tpreview_action=self._prev_iter_time,\n\t\t\t\tkey='iter_time',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Partitions'),\n\t\t\t\taction=lambda x: select_partitions_to_encrypt(self._device_modifications, x),\n\t\t\t\tvalue=self._enc_config.partitions,\n\t\t\t\tdependencies=[self._check_dep_partitions],\n\t\t\t\tpreview_action=self._prev_partitions,\n\t\t\t\tkey='partitions',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('LVM volumes'),\n\t\t\t\taction=self._select_lvm_vols,\n\t\t\t\tvalue=self._enc_config.lvm_volumes,\n\t\t\t\tdependencies=[self._check_dep_lvm_vols],\n\t\t\t\tpreview_action=self._prev_lvm_vols,\n\t\t\t\tkey='lvm_volumes',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('HSM'),\n\t\t\t\taction=select_hsm,\n\t\t\t\tvalue=self._enc_config.hsm_device,\n\t\t\t\tdependencies=[self._check_dep_enc_type],\n\t\t\t\tpreview_action=self._prev_hsm,\n\t\t\t\tkey='hsm_device',\n\t\t\t),\n\t\t]\n\n\tasync def _select_lvm_vols(self, preset: list[LvmVolume]) -> list[LvmVolume]:\n\t\tif self._lvm_config:\n\t\t\treturn await select_lvm_vols_to_encrypt(self._lvm_config, preset=preset)\n\t\treturn []\n\n\tdef _check_dep_enc_type(self) -> bool:\n\t\tenc_type: EncryptionType | None = self._item_group.find_by_key('encryption_type').value\n\t\tif enc_type and enc_type != EncryptionType.NoEncryption:\n\t\t\treturn True\n\t\treturn False\n\n\tdef _check_dep_partitions(self) -> bool:\n\t\tenc_type: EncryptionType | None = self._item_group.find_by_key('encryption_type').value\n\t\tif enc_type and enc_type in [EncryptionType.Luks, EncryptionType.LvmOnLuks]:\n\t\t\treturn True\n\t\treturn False\n\n\tdef _check_dep_lvm_vols(self) -> bool:\n\t\tenc_type: EncryptionType | None = self._item_group.find_by_key('encryption_type').value\n\t\tif enc_type and enc_type == EncryptionType.LuksOnLvm:\n\t\t\treturn True\n\t\treturn False\n\n\t@override\n\tasync def show(self) -> DiskEncryption | None:\n\t\tenc_config = await super().show()\n\t\tif enc_config is None:\n\t\t\treturn None\n\n\t\tenc_type: EncryptionType | None = self._item_group.find_by_key('encryption_type').value\n\t\tenc_password: Password | None = self._item_group.find_by_key('encryption_password').value\n\t\titer_time: int | None = self._item_group.find_by_key('iter_time').value\n\t\tenc_partitions = self._item_group.find_by_key('partitions').value\n\t\tenc_lvm_vols = self._item_group.find_by_key('lvm_volumes').value\n\n\t\tassert enc_type is not None\n\t\tassert enc_partitions is not None\n\t\tassert enc_lvm_vols is not None\n\n\t\tif enc_type in [EncryptionType.Luks, EncryptionType.LvmOnLuks] and enc_partitions:\n\t\t\tenc_lvm_vols = []\n\n\t\tif enc_type == EncryptionType.LuksOnLvm:\n\t\t\tenc_partitions = []\n\n\t\tif enc_type != EncryptionType.NoEncryption and enc_password and (enc_partitions or enc_lvm_vols):\n\t\t\treturn DiskEncryption(\n\t\t\t\tencryption_password=enc_password,\n\t\t\t\tencryption_type=enc_type,\n\t\t\t\tpartitions=enc_partitions,\n\t\t\t\tlvm_volumes=enc_lvm_vols,\n\t\t\t\thsm_device=enc_config.hsm_device,\n\t\t\t\titer_time=iter_time or DEFAULT_ITER_TIME,\n\t\t\t)\n\n\t\treturn None\n\n\tdef _preview(self, item: MenuItem) -> str | None:\n\t\toutput = ''\n\n\t\tif (enc_type := self._prev_type(item)) is not None:\n\t\t\toutput += enc_type\n\n\t\tif (enc_pwd := self._prev_password(item)) is not None:\n\t\t\toutput += f'\\n{enc_pwd}'\n\n\t\tif (iter_time := self._prev_iter_time(item)) is not None:\n\t\t\toutput += f'\\n{iter_time}'\n\n\t\tif (fido_device := self._prev_hsm(item)) is not None:\n\t\t\toutput += f'\\n{fido_device}'\n\n\t\tif (partitions := self._prev_partitions(item)) is not None:\n\t\t\toutput += f'\\n\\n{partitions}'\n\n\t\tif (lvm := self._prev_lvm_vols(item)) is not None:\n\t\t\toutput += f'\\n\\n{lvm}'\n\n\t\tif not output:\n\t\t\treturn None\n\n\t\treturn output\n\n\tdef _prev_type(self, item: MenuItem) -> str | None:\n\t\tenc_type = self._item_group.find_by_key('encryption_type').value\n\n\t\tif enc_type:\n\t\t\tenc_text = enc_type.type_to_text()\n\t\t\treturn f'{tr(\"Encryption type\")}: {enc_text}'\n\n\t\treturn None\n\n\tdef _prev_password(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\treturn f'{tr(\"Encryption password\")}: {item.value.hidden()}'\n\n\t\treturn None\n\n\tdef _prev_partitions(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\toutput = tr('Partitions to be encrypted') + '\\n'\n\t\t\toutput += FormattedOutput.as_table(item.value)\n\t\t\treturn output.rstrip()\n\n\t\treturn None\n\n\tdef _prev_lvm_vols(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\toutput = tr('LVM volumes to be encrypted') + '\\n'\n\t\t\toutput += FormattedOutput.as_table(item.value)\n\t\t\treturn output.rstrip()\n\n\t\treturn None\n\n\tdef _prev_hsm(self, item: MenuItem) -> str | None:\n\t\tif not item.value:\n\t\t\treturn None\n\n\t\tfido_device: Fido2Device = item.value\n\n\t\toutput = str(fido_device.path)\n\t\toutput += f' ({fido_device.manufacturer}, {fido_device.product})'\n\t\treturn f'{tr(\"HSM device\")}: {output}'\n\n\tdef _prev_iter_time(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\titer_time = item.value\n\t\t\tenc_type = self._item_group.find_by_key('encryption_type').value\n\n\t\t\tif iter_time and enc_type != EncryptionType.NoEncryption:\n\t\t\t\treturn f'{tr(\"Iteration time\")}: {iter_time}ms'\n\n\t\treturn None\n\n\nasync def select_encryption_type(\n\tlvm_config: LvmConfiguration | None = None,\n\tpreset: EncryptionType | None = None,\n) -> EncryptionType | None:\n\toptions: list[EncryptionType] = []\n\n\tif lvm_config:\n\t\toptions = [EncryptionType.LvmOnLuks, EncryptionType.LuksOnLvm]\n\telse:\n\t\toptions = [EncryptionType.Luks]\n\n\tif not preset:\n\t\tpreset = options[0]\n\n\tpreset_value = preset.type_to_text()\n\n\titems = [MenuItem(o.type_to_text(), value=o) for o in options]\n\tgroup = MenuItemGroup(items)\n\tgroup.set_focus_by_value(preset_value)\n\n\tresult = await Selection[EncryptionType](\n\t\tgroup,\n\t\theader=tr('Select encryption type'),\n\t\tallow_skip=True,\n\t\tallow_reset=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\n\nasync def select_encrypted_password() -> Password | None:\n\theader = tr('Enter disk encryption password (leave blank for no encryption)') + '\\n'\n\tpassword = await get_password(\n\t\theader=header,\n\t\tallow_skip=True,\n\t)\n\n\treturn password\n\n\nasync def select_hsm(preset: Fido2Device | None = None) -> Fido2Device | None:\n\theader = tr('Select a FIDO2 device to use for HSM') + '\\n'\n\n\ttry:\n\t\tfido_devices = Fido2.get_cryptenroll_devices()\n\texcept ValueError:\n\t\treturn None\n\n\tif fido_devices:\n\t\tgroup = MenuHelper(data=fido_devices).create_menu_group()\n\n\t\tresult = await Selection[Fido2Device](\n\t\t\tgroup,\n\t\t\theader=header,\n\t\t\tallow_skip=True,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Reset:\n\t\t\t\treturn None\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase ResultType.Selection:\n\t\t\t\treturn result.get_value()\n\n\treturn None\n\n\nasync def select_partitions_to_encrypt(\n\tmodification: list[DeviceModification],\n\tpreset: list[PartitionModification],\n) -> list[PartitionModification]:\n\tpartitions: list[PartitionModification] = []\n\n\t# do not allow encrypting the boot partition\n\tfor mod in modification:\n\t\tpartitions += [p for p in mod.partitions if p.mountpoint != Path('/boot') and not p.is_swap()]\n\n\t# do not allow encrypting existing partitions that are not marked as wipe\n\tavail_partitions = [p for p in partitions if not p.exists()]\n\n\tif avail_partitions:\n\t\tgroup = MenuItemGroup.from_objects(partitions)\n\t\tgroup.set_selected_by_value(preset)\n\n\t\tresult = await Table[PartitionModification](\n\t\t\theader=tr('Select disks for the installation'),\n\t\t\tgroup=group,\n\t\t\tallow_skip=True,\n\t\t\tmulti=True,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Reset:\n\t\t\t\treturn []\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase ResultType.Selection:\n\t\t\t\tpartitions = result.get_values()\n\t\t\t\treturn partitions\n\n\treturn []\n\n\nasync def select_lvm_vols_to_encrypt(\n\tlvm_config: LvmConfiguration,\n\tpreset: list[LvmVolume],\n) -> list[LvmVolume]:\n\tvolumes: list[LvmVolume] = lvm_config.get_all_volumes()\n\n\tif volumes:\n\t\tgroup = MenuItemGroup.from_objects(volumes)\n\t\tgroup.set_selected_by_value(preset)\n\n\t\tresult = await Table[LvmVolume](\n\t\t\theader=tr('Select disks for the installation'),\n\t\t\tgroup=group,\n\t\t\tallow_skip=True,\n\t\t\tmulti=True,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Reset:\n\t\t\t\treturn []\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase ResultType.Selection:\n\t\t\t\tvolumes = result.get_values()\n\t\t\t\treturn volumes\n\n\treturn []\n\n\nasync def select_iteration_time(preset: int | None = None) -> int | None:\n\theader = tr('Enter iteration time for LUKS encryption (in milliseconds)') + '\\n'\n\theader += tr('Higher values increase security but slow down boot time') + '\\n'\n\theader += tr(f'Default: {DEFAULT_ITER_TIME}ms, Recommended range: 1000-60000') + '\\n'\n\n\tdef validate_iter_time(value: str) -> str | None:\n\t\ttry:\n\t\t\titer_time = int(value)\n\t\t\tif iter_time < 100:\n\t\t\t\treturn tr('Iteration time must be at least 100ms')\n\t\t\tif iter_time > 120000:\n\t\t\t\treturn tr('Iteration time must be at most 120000ms')\n\t\t\treturn None\n\t\texcept ValueError:\n\t\t\treturn tr('Please enter a valid number')\n\n\tresult = await Input(\n\t\theader=header,\n\t\tallow_skip=True,\n\t\tdefault_value=str(preset) if preset else str(DEFAULT_ITER_TIME),\n\t\tvalidator_callback=validate_iter_time,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\tif not result.get_value():\n\t\t\t\treturn preset\n\t\t\treturn int(result.get_value())\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n"
  },
  {
    "path": "archinstall/lib/disk/fido.py",
    "content": "import getpass\nfrom pathlib import Path\nfrom typing import ClassVar\n\nfrom archinstall.lib.command import SysCommand, SysCommandWorker\nfrom archinstall.lib.exceptions import SysCallError\nfrom archinstall.lib.models.device import Fido2Device\nfrom archinstall.lib.models.users import Password\nfrom archinstall.lib.output import error, info\nfrom archinstall.lib.utils.encoding import clear_vt100_escape_codes_from_str\n\n\nclass Fido2:\n\t_loaded_cryptsetup: bool = False\n\t_loaded_u2f: bool = False\n\t_cryptenroll_devices: ClassVar[list[Fido2Device]] = []\n\t_u2f_devices: ClassVar[list[Fido2Device]] = []\n\n\t@classmethod\n\tdef get_fido2_devices(cls) -> list[Fido2Device]:\n\t\t\"\"\"\n\t\tfido2-tool output example:\n\n\t\t/dev/hidraw4: vendor=0x1050, product=0x0407 (Yubico YubiKey OTP+FIDO+CCID)\n\t\t\"\"\"\n\n\t\tif not cls._loaded_u2f:\n\t\t\tcls._loaded_u2f = True\n\t\t\ttry:\n\t\t\t\tret = SysCommand('fido2-token -L').decode()\n\t\t\texcept Exception as e:\n\t\t\t\terror(f'failed to read fido2 devices: {e}')\n\t\t\t\treturn []\n\n\t\t\tfido_devices = clear_vt100_escape_codes_from_str(ret)\n\n\t\t\tif not fido_devices:\n\t\t\t\treturn []\n\n\t\t\tfor line in fido_devices.splitlines():\n\t\t\t\tpath, details = line.replace(',', '').split(':', maxsplit=1)\n\t\t\t\t_, product, manufacturer = details.strip().split(' ', maxsplit=2)\n\n\t\t\t\tcls._u2f_devices.append(Fido2Device(Path(path.strip()), manufacturer.strip(), product.strip().split('=')[1]))\n\n\t\treturn cls._u2f_devices\n\n\t@classmethod\n\tdef get_cryptenroll_devices(cls, reload: bool = False) -> list[Fido2Device]:\n\t\t\"\"\"\n\t\tUses systemd-cryptenroll to list the FIDO2 devices\n\t\tconnected that supports FIDO2.\n\t\tSome devices might show up in udevadm as FIDO2 compliant\n\t\twhen they are in fact not.\n\n\t\tThe drawback of systemd-cryptenroll is that it uses human readable format.\n\t\tThat means we get this weird table like structure that is of no use.\n\n\t\tSo we'll look for `MANUFACTURER` and `PRODUCT`, we take their index\n\t\tand we split each line based on those positions.\n\n\t\tOutput example:\n\n\t\tPATH\t\t MANUFACTURER PRODUCT\n\t\t/dev/hidraw1 Yubico\t\t  YubiKey OTP+FIDO+CCID\n\t\t\"\"\"\n\n\t\t# to prevent continuous reloading which will slow\n\t\t# down moving the cursor in the menu\n\t\tif not cls._loaded_cryptsetup or reload:\n\t\t\ttry:\n\t\t\t\tret = SysCommand('systemd-cryptenroll --fido2-device=list').decode()\n\t\t\texcept SysCallError:\n\t\t\t\terror('fido2 support is most likely not installed')\n\t\t\t\traise ValueError('HSM devices can not be detected, is libfido2 installed?')\n\n\t\t\tfido_devices = clear_vt100_escape_codes_from_str(ret)\n\n\t\t\tmanufacturer_pos = 0\n\t\t\tproduct_pos = 0\n\t\t\tdevices = []\n\n\t\t\tfor line in fido_devices.split('\\r\\n'):\n\t\t\t\tif '/dev' not in line:\n\t\t\t\t\tmanufacturer_pos = line.find('MANUFACTURER')\n\t\t\t\t\tproduct_pos = line.find('PRODUCT')\n\t\t\t\t\tcontinue\n\n\t\t\t\tpath = line[:manufacturer_pos].rstrip()\n\t\t\t\tmanufacturer = line[manufacturer_pos:product_pos].rstrip()\n\t\t\t\tproduct = line[product_pos:]\n\n\t\t\t\tdevices.append(\n\t\t\t\t\tFido2Device(Path(path), manufacturer, product),\n\t\t\t\t)\n\n\t\t\tcls._loaded_cryptsetup = True\n\t\t\tcls._cryptenroll_devices = devices\n\n\t\treturn cls._cryptenroll_devices\n\n\t@staticmethod\n\tdef fido2_enroll(hsm_device: Fido2Device, dev_path: Path, password: Password) -> None:\n\t\tworker = SysCommandWorker(f'systemd-cryptenroll --fido2-device={hsm_device.path} {dev_path}', peek_output=True)\n\t\tpw_inputted = False\n\t\tpin_inputted = False\n\n\t\tinfo('You might need to touch the FIDO2 device to unlock it if no prompt comes up after 3 seconds')\n\n\t\twhile worker.is_alive():\n\t\t\tif pw_inputted is False:\n\t\t\t\tif bytes(f'please enter current passphrase for disk {dev_path}', 'UTF-8') in worker._trace_log.lower():\n\t\t\t\t\tworker.write(bytes(password.plaintext, 'UTF-8'))\n\t\t\t\t\tpw_inputted = True\n\t\t\telif pin_inputted is False:\n\t\t\t\tif bytes('please enter security token pin', 'UTF-8') in worker._trace_log.lower():\n\t\t\t\t\tworker.write(bytes(getpass.getpass(' '), 'UTF-8'))\n\t\t\t\t\tpin_inputted = True\n"
  },
  {
    "path": "archinstall/lib/disk/filesystem.py",
    "content": "import math\nimport time\nfrom pathlib import Path\n\nfrom archinstall.lib.disk.device_handler import device_handler\nfrom archinstall.lib.disk.lvm import (\n\tlvm_group_info,\n\tlvm_pv_create,\n\tlvm_vg_create,\n\tlvm_vol_create,\n\tlvm_vol_info,\n\tlvm_vol_reduce,\n)\nfrom archinstall.lib.disk.utils import udev_sync\nfrom archinstall.lib.luks import Luks2\nfrom archinstall.lib.models.device import (\n\tDiskEncryption,\n\tDiskLayoutConfiguration,\n\tDiskLayoutType,\n\tEncryptionType,\n\tFilesystemType,\n\tLvmConfiguration,\n\tLvmVolume,\n\tLvmVolumeGroup,\n\tPartitionModification,\n\tSectorSize,\n\tSize,\n\tUnit,\n)\nfrom archinstall.lib.output import debug, info\n\n\nclass FilesystemHandler:\n\tdef __init__(self, disk_config: DiskLayoutConfiguration):\n\t\tself._disk_config = disk_config\n\t\tself._enc_config = disk_config.disk_encryption\n\n\tdef perform_filesystem_operations(self) -> None:\n\t\tif self._disk_config.config_type == DiskLayoutType.Pre_mount:\n\t\t\tdebug('Disk layout configuration is set to pre-mount, not performing any operations')\n\t\t\treturn\n\n\t\tdevice_mods = [d for d in self._disk_config.device_modifications if d.partitions]\n\n\t\tif not device_mods:\n\t\t\tdebug('No modifications required')\n\t\t\treturn\n\n\t\t# Setup the blockdevice, filesystem (and optionally encryption).\n\t\t# Once that's done, we'll hand over to perform_installation()\n\n\t\t# make sure all devices are unmounted\n\t\tfor mod in device_mods:\n\t\t\tdevice_handler.umount_all_existing(mod.device_path)\n\n\t\tfor mod in device_mods:\n\t\t\tdevice_handler.partition(mod)\n\n\t\tudev_sync()\n\n\t\tif self._disk_config.lvm_config:\n\t\t\tfor mod in device_mods:\n\t\t\t\tif boot_part := mod.get_boot_partition():\n\t\t\t\t\tdebug(f'Formatting boot partition: {boot_part.dev_path}')\n\t\t\t\t\tself._format_partitions([boot_part])\n\n\t\t\tself.perform_lvm_operations()\n\t\telse:\n\t\t\tfor mod in device_mods:\n\t\t\t\tself._format_partitions(mod.partitions)\n\n\t\t\t\tfor part_mod in mod.partitions:\n\t\t\t\t\tif part_mod.fs_type == FilesystemType.Btrfs and part_mod.is_create_or_modify():\n\t\t\t\t\t\tdevice_handler.create_btrfs_volumes(part_mod, enc_conf=self._enc_config)\n\n\tdef _format_partitions(\n\t\tself,\n\t\tpartitions: list[PartitionModification],\n\t) -> None:\n\t\t\"\"\"\n\t\tFormat can be given an overriding path, for instance /dev/null to test\n\t\tthe formatting functionality and in essence the support for the given filesystem.\n\t\t\"\"\"\n\n\t\t# don't touch existing partitions\n\t\tcreate_or_modify_parts = [p for p in partitions if p.is_create_or_modify()]\n\n\t\tself._validate_partitions(create_or_modify_parts)\n\n\t\tfor part_mod in create_or_modify_parts:\n\t\t\t# partition will be encrypted\n\t\t\tif self._enc_config is not None and part_mod in self._enc_config.partitions:\n\t\t\t\tdevice_handler.format_encrypted(\n\t\t\t\t\tpart_mod.safe_dev_path,\n\t\t\t\t\tpart_mod.mapper_name,\n\t\t\t\t\tpart_mod.safe_fs_type,\n\t\t\t\t\tself._enc_config,\n\t\t\t\t)\n\t\t\telse:\n\t\t\t\tdevice_handler.format(part_mod.safe_fs_type, part_mod.safe_dev_path)\n\n\t\t\t# synchronize with udev before using lsblk\n\t\t\tudev_sync()\n\n\t\t\tlsblk_info = device_handler.fetch_part_info(part_mod.safe_dev_path)\n\n\t\t\tpart_mod.partn = lsblk_info.partn\n\t\t\tpart_mod.partuuid = lsblk_info.partuuid\n\t\t\tpart_mod.uuid = lsblk_info.uuid\n\n\tdef _validate_partitions(self, partitions: list[PartitionModification]) -> None:\n\t\tchecks = {\n\t\t\t# verify that all partitions have a path set (which implies that they have been created)\n\t\t\tlambda x: x.dev_path is None: ValueError('When formatting, all partitions must have a path set'),\n\t\t\t# crypto luks is not a valid file system type\n\t\t\tlambda x: x.fs_type is FilesystemType.Crypto_luks: ValueError('Crypto luks cannot be set as a filesystem type'),\n\t\t\t# file system type must be set\n\t\t\tlambda x: x.fs_type is None: ValueError('File system type must be set for modification'),\n\t\t}\n\n\t\tfor check, exc in checks.items():\n\t\t\tfound = next(filter(check, partitions), None)\n\t\t\tif found is not None:\n\t\t\t\traise exc\n\n\tdef perform_lvm_operations(self) -> None:\n\t\tinfo('Setting up LVM config...')\n\n\t\tif not self._disk_config.lvm_config:\n\t\t\treturn\n\n\t\tif self._enc_config:\n\t\t\tself._setup_lvm_encrypted(\n\t\t\t\tself._disk_config.lvm_config,\n\t\t\t\tself._enc_config,\n\t\t\t)\n\t\telse:\n\t\t\tself._setup_lvm(self._disk_config.lvm_config)\n\t\t\tself._format_lvm_vols(self._disk_config.lvm_config)\n\n\tdef _setup_lvm_encrypted(self, lvm_config: LvmConfiguration, enc_config: DiskEncryption) -> None:\n\t\tif enc_config.encryption_type == EncryptionType.LvmOnLuks:\n\t\t\tenc_mods = self._encrypt_partitions(enc_config, lock_after_create=False)\n\n\t\t\tself._setup_lvm(lvm_config, enc_mods)\n\t\t\tself._format_lvm_vols(lvm_config)\n\n\t\t\t# Don't close LVM or LUKS during setup - keep everything active\n\t\t\t# The installation phase will handle unlocking and mounting\n\t\t\t# Closing causes \"parent leaked\" and lvchange errors\n\t\telif enc_config.encryption_type == EncryptionType.LuksOnLvm:\n\t\t\tself._setup_lvm(lvm_config)\n\t\t\tenc_vols = self._encrypt_lvm_vols(lvm_config, enc_config, False)\n\t\t\tself._format_lvm_vols(lvm_config, enc_vols)\n\n\t\t\t# Lock LUKS devices but keep LVM active\n\t\t\t# LVM volumes must remain active for later re-unlock during installation\n\t\t\tfor luks in enc_vols.values():\n\t\t\t\tluks.lock()\n\n\tdef _setup_lvm(\n\t\tself,\n\t\tlvm_config: LvmConfiguration,\n\t\tenc_mods: dict[PartitionModification, Luks2] = {},\n\t) -> None:\n\t\tself._lvm_create_pvs(lvm_config, enc_mods)\n\n\t\tfor vg in lvm_config.vol_groups:\n\t\t\tpv_dev_paths = self._get_all_pv_dev_paths(vg.pvs, enc_mods)\n\n\t\t\tlvm_vg_create(pv_dev_paths, vg.name)\n\n\t\t\t# figure out what the actual available size in the group is\n\t\t\tvg_info = lvm_group_info(vg.name)\n\n\t\t\tif not vg_info:\n\t\t\t\traise ValueError('Unable to fetch VG info')\n\n\t\t\t# the actual available LVM Group size will be smaller than the\n\t\t\t# total PVs size due to reserved metadata storage etc.\n\t\t\t# so we'll have a look at the total avail. size, check the delta\n\t\t\t# to the desired sizes and subtract some equally from the actually\n\t\t\t# created volume\n\t\t\tavail_size = vg_info.vg_size\n\t\t\tdesired_size = sum([vol.length for vol in vg.volumes], Size(0, Unit.B, SectorSize.default()))\n\n\t\t\tdelta = desired_size - avail_size\n\t\t\tdelta_bytes = delta.convert(Unit.B)\n\n\t\t\t# Round the offset up to the next physical extent (PE, 4 MiB by default)\n\t\t\t# to ensure lvcreate`s internal rounding doesn`t consume space reserved\n\t\t\t# for subsequent logical volumes.\n\t\t\tpe_bytes = Size(4, Unit.MiB, SectorSize.default()).convert(Unit.B)\n\t\t\tpe_count = math.ceil(delta_bytes.value / pe_bytes.value)\n\t\t\trounded_offset = pe_count * pe_bytes.value\n\t\t\tmax_vol_offset = Size(rounded_offset, Unit.B, SectorSize.default())\n\n\t\t\tmax_vol = max(vg.volumes, key=lambda x: x.length)\n\n\t\t\tfor lv in vg.volumes:\n\t\t\t\toffset = max_vol_offset if lv == max_vol else None\n\n\t\t\t\tdebug(f'vg: {vg.name}, vol: {lv.name}, offset: {offset}')\n\t\t\t\tlvm_vol_create(vg.name, lv, offset)\n\n\t\t\t\twhile True:\n\t\t\t\t\tdebug('Fetching LVM volume info')\n\t\t\t\t\tlv_info = lvm_vol_info(lv.name)\n\t\t\t\t\tif lv_info is not None:\n\t\t\t\t\t\tbreak\n\n\t\t\t\t\ttime.sleep(1)\n\n\t\t\tself._lvm_vol_handle_e2scrub(vg)\n\n\tdef _format_lvm_vols(\n\t\tself,\n\t\tlvm_config: LvmConfiguration,\n\t\tenc_vols: dict[LvmVolume, Luks2] = {},\n\t) -> None:\n\t\tfor vol in lvm_config.get_all_volumes():\n\t\t\tif enc_vol := enc_vols.get(vol, None):\n\t\t\t\tif not enc_vol.mapper_dev:\n\t\t\t\t\traise ValueError('No mapper device defined')\n\t\t\t\tpath = enc_vol.mapper_dev\n\t\t\telse:\n\t\t\t\tpath = vol.safe_dev_path\n\n\t\t\t# wait a bit otherwise the mkfs will fail as it can't\n\t\t\t# find the mapper device yet\n\t\t\tdevice_handler.format(vol.fs_type, path)\n\n\t\t\tif vol.fs_type == FilesystemType.Btrfs:\n\t\t\t\tdevice_handler.create_lvm_btrfs_subvolumes(path, vol.btrfs_subvols, vol.mount_options)\n\n\tdef _lvm_create_pvs(\n\t\tself,\n\t\tlvm_config: LvmConfiguration,\n\t\tenc_mods: dict[PartitionModification, Luks2] = {},\n\t) -> None:\n\t\tpv_paths: set[Path] = set()\n\n\t\tfor vg in lvm_config.vol_groups:\n\t\t\tpv_paths |= self._get_all_pv_dev_paths(vg.pvs, enc_mods)\n\n\t\tlvm_pv_create(pv_paths)\n\n\tdef _get_all_pv_dev_paths(\n\t\tself,\n\t\tpvs: list[PartitionModification],\n\t\tenc_mods: dict[PartitionModification, Luks2] = {},\n\t) -> set[Path]:\n\t\tpv_paths: set[Path] = set()\n\n\t\tfor pv in pvs:\n\t\t\tif enc_pv := enc_mods.get(pv, None):\n\t\t\t\tif mapper := enc_pv.mapper_dev:\n\t\t\t\t\tpv_paths.add(mapper)\n\t\t\telse:\n\t\t\t\tpv_paths.add(pv.safe_dev_path)\n\n\t\treturn pv_paths\n\n\tdef _encrypt_lvm_vols(\n\t\tself,\n\t\tlvm_config: LvmConfiguration,\n\t\tenc_config: DiskEncryption,\n\t\tlock_after_create: bool = True,\n\t) -> dict[LvmVolume, Luks2]:\n\t\tenc_vols: dict[LvmVolume, Luks2] = {}\n\n\t\tfor vol in lvm_config.get_all_volumes():\n\t\t\tif vol in enc_config.lvm_volumes:\n\t\t\t\tluks_handler = device_handler.encrypt(\n\t\t\t\t\tvol.safe_dev_path,\n\t\t\t\t\tvol.mapper_name,\n\t\t\t\t\tenc_config.encryption_password,\n\t\t\t\t\tlock_after_create,\n\t\t\t\t\titer_time=enc_config.iter_time,\n\t\t\t\t)\n\n\t\t\t\tenc_vols[vol] = luks_handler\n\n\t\treturn enc_vols\n\n\tdef _encrypt_partitions(\n\t\tself,\n\t\tenc_config: DiskEncryption,\n\t\tlock_after_create: bool = True,\n\t) -> dict[PartitionModification, Luks2]:\n\t\tenc_mods: dict[PartitionModification, Luks2] = {}\n\n\t\tfor mod in self._disk_config.device_modifications:\n\t\t\tpartitions = mod.partitions\n\n\t\t\t# don't touch existing partitions\n\t\t\tfiltered_part = [p for p in partitions if not p.exists()]\n\n\t\t\tself._validate_partitions(filtered_part)\n\n\t\t\tenc_mods = {}\n\n\t\t\tfor part_mod in filtered_part:\n\t\t\t\tif part_mod in enc_config.partitions:\n\t\t\t\t\tluks_handler = device_handler.encrypt(\n\t\t\t\t\t\tpart_mod.safe_dev_path,\n\t\t\t\t\t\tpart_mod.mapper_name,\n\t\t\t\t\t\tenc_config.encryption_password,\n\t\t\t\t\t\tlock_after_create=lock_after_create,\n\t\t\t\t\t\titer_time=enc_config.iter_time,\n\t\t\t\t\t)\n\n\t\t\t\t\tenc_mods[part_mod] = luks_handler\n\n\t\treturn enc_mods\n\n\tdef _lvm_vol_handle_e2scrub(self, vol_gp: LvmVolumeGroup) -> None:\n\t\t# from arch wiki:\n\t\t# If a logical volume will be formatted with ext4, leave at least 256 MiB\n\t\t# free space in the volume group to allow using e2scrub\n\t\tif any([vol.fs_type == FilesystemType.Ext4 for vol in vol_gp.volumes]):\n\t\t\tlargest_vol = max(vol_gp.volumes, key=lambda x: x.length)\n\n\t\t\tlvm_vol_reduce(\n\t\t\t\tlargest_vol.safe_dev_path,\n\t\t\t\tSize(256, Unit.MiB, SectorSize.default()),\n\t\t\t)\n"
  },
  {
    "path": "archinstall/lib/disk/lvm.py",
    "content": "import json\nimport time\nfrom collections.abc import Iterable\nfrom pathlib import Path\nfrom typing import Literal, overload\n\nfrom archinstall.lib.command import SysCommand, SysCommandWorker\nfrom archinstall.lib.disk.utils import udev_sync\nfrom archinstall.lib.exceptions import SysCallError\nfrom archinstall.lib.models.device import (\n\tLvmGroupInfo,\n\tLvmPVInfo,\n\tLvmVolume,\n\tLvmVolumeGroup,\n\tLvmVolumeInfo,\n\tSectorSize,\n\tSize,\n\tUnit,\n)\nfrom archinstall.lib.output import debug\n\n\ndef _lvm_info(\n\tcmd: str,\n\tinfo_type: Literal['lv', 'vg', 'pvseg'],\n) -> LvmVolumeInfo | LvmGroupInfo | LvmPVInfo | None:\n\traw_info = SysCommand(cmd).decode().split('\\n')\n\n\t# for whatever reason the output sometimes contains\n\t# \"File descriptor X leaked leaked on vgs invocation\n\tdata = '\\n'.join(raw for raw in raw_info if 'File descriptor' not in raw)\n\n\tdebug(f'LVM info: {data}')\n\n\treports = json.loads(data)\n\n\tfor report in reports['report']:\n\t\tif len(report[info_type]) != 1:\n\t\t\traise ValueError('Report does not contain any entry')\n\n\t\tentry = report[info_type][0]\n\n\t\tmatch info_type:\n\t\t\tcase 'pvseg':\n\t\t\t\treturn LvmPVInfo(\n\t\t\t\t\tpv_name=Path(entry['pv_name']),\n\t\t\t\t\tlv_name=entry['lv_name'],\n\t\t\t\t\tvg_name=entry['vg_name'],\n\t\t\t\t)\n\t\t\tcase 'lv':\n\t\t\t\treturn LvmVolumeInfo(\n\t\t\t\t\tlv_name=entry['lv_name'],\n\t\t\t\t\tvg_name=entry['vg_name'],\n\t\t\t\t\tlv_size=Size(int(entry['lv_size'][:-1]), Unit.B, SectorSize.default()),\n\t\t\t\t)\n\t\t\tcase 'vg':\n\t\t\t\treturn LvmGroupInfo(\n\t\t\t\t\tvg_uuid=entry['vg_uuid'],\n\t\t\t\t\tvg_size=Size(int(entry['vg_size'][:-1]), Unit.B, SectorSize.default()),\n\t\t\t\t)\n\n\treturn None\n\n\n@overload\ndef _lvm_info_with_retry(cmd: str, info_type: Literal['lv']) -> LvmVolumeInfo | None: ...\n\n\n@overload\ndef _lvm_info_with_retry(cmd: str, info_type: Literal['vg']) -> LvmGroupInfo | None: ...\n\n\n@overload\ndef _lvm_info_with_retry(cmd: str, info_type: Literal['pvseg']) -> LvmPVInfo | None: ...\n\n\ndef _lvm_info_with_retry(\n\tcmd: str,\n\tinfo_type: Literal['lv', 'vg', 'pvseg'],\n) -> LvmVolumeInfo | LvmGroupInfo | LvmPVInfo | None:\n\t# Retry for up to 5 mins\n\tmax_retries = 100\n\tfor attempt in range(max_retries):\n\t\ttry:\n\t\t\treturn _lvm_info(cmd, info_type)\n\t\texcept ValueError:\n\t\t\tif attempt < max_retries - 1:\n\t\t\t\tdebug(f'LVM info query failed (attempt {attempt + 1}/{max_retries}), retrying in 3 seconds...')\n\t\t\t\ttime.sleep(3)\n\n\tdebug(f'LVM info query failed after {max_retries} attempts')\n\treturn None\n\n\ndef lvm_vol_info(lv_name: str) -> LvmVolumeInfo | None:\n\tcmd = f'lvs --reportformat json --unit B -S lv_name={lv_name}'\n\n\treturn _lvm_info_with_retry(cmd, 'lv')\n\n\ndef lvm_group_info(vg_name: str) -> LvmGroupInfo | None:\n\tcmd = f'vgs --reportformat json --unit B -o vg_name,vg_uuid,vg_size -S vg_name={vg_name}'\n\n\treturn _lvm_info_with_retry(cmd, 'vg')\n\n\ndef lvm_pvseg_info(vg_name: str, lv_name: str) -> LvmPVInfo | None:\n\tcmd = f'pvs --segments -o+lv_name,vg_name -S vg_name={vg_name},lv_name={lv_name} --reportformat json '\n\n\treturn _lvm_info_with_retry(cmd, 'pvseg')\n\n\ndef lvm_vol_change(vol: LvmVolume, activate: bool) -> None:\n\tactive_flag = 'y' if activate else 'n'\n\tcmd = f'lvchange -a {active_flag} {vol.safe_dev_path}'\n\n\tdebug(f'lvchange volume: {cmd}')\n\tSysCommand(cmd)\n\n\ndef lvm_export_vg(vg: LvmVolumeGroup) -> None:\n\tcmd = f'vgexport {vg.name}'\n\n\tdebug(f'vgexport: {cmd}')\n\tSysCommand(cmd)\n\n\ndef lvm_import_vg(vg: LvmVolumeGroup) -> None:\n\t# Check if the VG is actually exported before trying to import it\n\tcheck_cmd = f'vgs --noheadings -o vg_exported {vg.name}'\n\n\ttry:\n\t\tresult = SysCommand(check_cmd)\n\t\tis_exported = result.decode().strip() == 'exported'\n\texcept SysCallError:\n\t\t# VG might not exist yet, skip import\n\t\tdebug(f'Volume group {vg.name} not found, skipping import')\n\t\treturn\n\n\tif not is_exported:\n\t\tdebug(f'Volume group {vg.name} is already active (not exported), skipping import')\n\t\treturn\n\n\tcmd = f'vgimport {vg.name}'\n\tdebug(f'vgimport: {cmd}')\n\tSysCommand(cmd)\n\n\ndef lvm_vol_reduce(vol_path: Path, amount: Size) -> None:\n\tval = amount.format_size(Unit.B, include_unit=False)\n\tcmd = f'lvreduce -L -{val}B {vol_path}'\n\n\tdebug(f'Reducing LVM volume size: {cmd}')\n\tSysCommand(cmd)\n\n\ndef lvm_pv_create(pvs: Iterable[Path]) -> None:\n\tpvs_str = ' '.join(str(pv) for pv in pvs)\n\t# Signatures are already wiped by wipefs, -f is just for safety\n\tcmd = f'pvcreate -f --yes {pvs_str}'\n\t# note flags used in scripting\n\tdebug(f'Creating LVM PVS: {cmd}')\n\tSysCommand(cmd)\n\n\t# Sync with udev to ensure the PVs are visible\n\tudev_sync()\n\n\ndef lvm_vg_create(pvs: Iterable[Path], vg_name: str) -> None:\n\tpvs_str = ' '.join(str(pv) for pv in pvs)\n\tcmd = f'vgcreate --yes --force {vg_name} {pvs_str}'\n\n\tdebug(f'Creating LVM group: {cmd}')\n\tSysCommand(cmd)\n\n\t# Sync with udev to ensure the VG is visible\n\tudev_sync()\n\n\ndef lvm_vol_create(vg_name: str, volume: LvmVolume, offset: Size | None = None) -> None:\n\tif offset is not None:\n\t\tlength = volume.length - offset\n\telse:\n\t\tlength = volume.length\n\n\tlength_str = length.format_size(Unit.B, include_unit=False)\n\tcmd = f'lvcreate --yes -L {length_str}B {vg_name} -n {volume.name}'\n\n\tdebug(f'Creating volume: {cmd}')\n\n\tworker = SysCommandWorker(cmd)\n\tworker.poll()\n\tworker.write(b'y\\n', line_ending=False)\n\n\tvolume.vg_name = vg_name\n\tvolume.dev_path = Path(f'/dev/{vg_name}/{volume.name}')\n"
  },
  {
    "path": "archinstall/lib/disk/partitioning_menu.py",
    "content": "import re\nfrom pathlib import Path\nfrom typing import override\n\nfrom archinstall.lib.disk.subvolume_menu import SubvolumeMenu\nfrom archinstall.lib.menu.helpers import Confirmation, Input, Selection\nfrom archinstall.lib.menu.list_manager import ListManager\nfrom archinstall.lib.menu.util import prompt_dir\nfrom archinstall.lib.models.device import (\n\tBtrfsMountOption,\n\tDeviceModification,\n\tFilesystemType,\n\tModificationStatus,\n\tPartitionFlag,\n\tPartitionModification,\n\tPartitionTable,\n\tPartitionType,\n\tSectorSize,\n\tSize,\n\tUnit,\n)\nfrom archinstall.lib.output import FormattedOutput\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass FreeSpace:\n\tdef __init__(self, start: Size, end: Size) -> None:\n\t\tself.start = start\n\t\tself.end = end\n\n\t@property\n\tdef length(self) -> Size:\n\t\treturn self.end - self.start\n\n\tdef table_data(self) -> dict[str, str]:\n\t\t\"\"\"\n\t\tCalled for displaying data in table format\n\t\t\"\"\"\n\t\treturn {\n\t\t\t'Start': self.start.format_size(Unit.sectors, self.start.sector_size, include_unit=False),\n\t\t\t'End': self.end.format_size(Unit.sectors, self.start.sector_size, include_unit=False),\n\t\t\t'Size': self.length.format_highest(),\n\t\t}\n\n\nclass DiskSegment:\n\tdef __init__(self, segment: PartitionModification | FreeSpace) -> None:\n\t\tself.segment = segment\n\n\tdef table_data(self) -> dict[str, str]:\n\t\t\"\"\"\n\t\tCalled for displaying data in table format\n\t\t\"\"\"\n\t\tif isinstance(self.segment, PartitionModification):\n\t\t\treturn self.segment.table_data()\n\n\t\tpart_mod = PartitionModification(\n\t\t\tstatus=ModificationStatus.Create,\n\t\t\ttype=PartitionType._Unknown,\n\t\t\tstart=self.segment.start,\n\t\t\tlength=self.segment.length,\n\t\t)\n\t\tdata = part_mod.table_data()\n\t\tdata.update({'Status': 'free', 'Type': '', 'FS type': ''})\n\t\treturn data\n\n\nclass PartitioningList(ListManager[DiskSegment]):\n\tdef __init__(\n\t\tself,\n\t\tdevice_mod: DeviceModification,\n\t\tpartition_table: PartitionTable,\n\t) -> None:\n\t\tdevice = device_mod.device\n\n\t\tself._device = device\n\t\tself._wipe = device_mod.wipe\n\t\tself._buffer = Size(1, Unit.MiB, device.device_info.sector_size)\n\t\tself._using_gpt = device_mod.using_gpt(partition_table)\n\n\t\tself._actions = {\n\t\t\t'suggest_partition_layout': tr('Suggest partition layout'),\n\t\t\t'remove_added_partitions': tr('Remove all newly added partitions'),\n\t\t\t'assign_mountpoint': tr('Assign mountpoint'),\n\t\t\t'mark_formatting': tr('Mark/Unmark to be formatted (wipes data)'),\n\t\t\t'mark_bootable': tr('Mark/Unmark as bootable'),\n\t\t}\n\t\tif self._using_gpt:\n\t\t\tself._actions.update(\n\t\t\t\t{\n\t\t\t\t\t'mark_esp': tr('Mark/Unmark as ESP'),\n\t\t\t\t\t'mark_xbootldr': tr('Mark/Unmark as XBOOTLDR'),\n\t\t\t\t}\n\t\t\t)\n\t\tself._actions.update(\n\t\t\t{\n\t\t\t\t'set_filesystem': tr('Change filesystem'),\n\t\t\t\t'btrfs_mark_compressed': tr('Mark/Unmark as compressed'),  # btrfs only\n\t\t\t\t'btrfs_mark_nodatacow': tr('Mark/Unmark as nodatacow'),  # btrfs only\n\t\t\t\t'btrfs_set_subvolumes': tr('Set subvolumes'),  # btrfs only\n\t\t\t\t'delete_partition': tr('Delete partition'),\n\t\t\t}\n\t\t)\n\n\t\tdevice_partitions = []\n\n\t\tif not device_mod.partitions:\n\t\t\t# we'll display the existing partitions of the device\n\t\t\tfor partition in device.partition_infos:\n\t\t\t\tdevice_partitions.append(\n\t\t\t\t\tPartitionModification.from_existing_partition(partition),\n\t\t\t\t)\n\t\telse:\n\t\t\tdevice_partitions = device_mod.partitions\n\n\t\tprompt = tr('Partition management: {}').format(device.device_info.path) + '\\n'\n\t\tprompt += tr('Total length: {}').format(device.device_info.total_size.format_size(Unit.MiB))\n\t\tself._info = prompt + '\\n'\n\n\t\tdisplay_actions = list(self._actions.values())\n\t\tsuper().__init__(\n\t\t\tself.as_segments(device_partitions),\n\t\t\tdisplay_actions[:1],\n\t\t\tdisplay_actions[2:],\n\t\t\tself._info + self.wipe_str(),\n\t\t)\n\n\tdef wipe_str(self) -> str:\n\t\treturn '{}: {}'.format(tr('Wipe'), self._wipe)\n\n\tdef as_segments(self, device_partitions: list[PartitionModification]) -> list[DiskSegment]:\n\t\tend = self._device.device_info.total_size\n\n\t\tif self._using_gpt:\n\t\t\tend = end.gpt_end()\n\n\t\tend = end.align()\n\n\t\t# Reorder device_partitions to move all deleted partitions to the top\n\t\tdevice_partitions.sort(key=lambda p: p.is_delete(), reverse=True)\n\n\t\tpartitions = [DiskSegment(p) for p in device_partitions if not p.is_delete()]\n\t\tsegments = [DiskSegment(p) for p in device_partitions]\n\n\t\tif not partitions:\n\t\t\tfree_space = FreeSpace(self._buffer, end)\n\t\t\tif free_space.length > self._buffer:\n\t\t\t\treturn segments + [DiskSegment(free_space)]\n\t\t\treturn segments\n\n\t\tfirst_part_index, first_partition = next(\n\t\t\t(i, disk_segment)\n\t\t\tfor i, disk_segment in enumerate(segments)\n\t\t\tif isinstance(disk_segment.segment, PartitionModification) and not disk_segment.segment.is_delete()\n\t\t)\n\n\t\tprev_partition = first_partition\n\t\tindex = 0\n\n\t\tfor partition in segments[1:]:\n\t\t\tindex += 1\n\n\t\t\tif isinstance(partition.segment, PartitionModification) and partition.segment.is_delete():\n\t\t\t\tcontinue\n\n\t\t\tif prev_partition.segment.end < partition.segment.start:\n\t\t\t\tfree_space = FreeSpace(prev_partition.segment.end, partition.segment.start)\n\t\t\t\tif free_space.length > self._buffer:\n\t\t\t\t\tsegments.insert(index, DiskSegment(free_space))\n\t\t\t\t\tindex += 1\n\n\t\t\tprev_partition = partition\n\n\t\tif first_partition.segment.start > self._buffer:\n\t\t\tfree_space = FreeSpace(self._buffer, first_partition.segment.start)\n\t\t\tif free_space.length > self._buffer:\n\t\t\t\tsegments.insert(first_part_index, DiskSegment(free_space))\n\n\t\tif partitions[-1].segment.end < end:\n\t\t\tfree_space = FreeSpace(partitions[-1].segment.end, end)\n\t\t\tif free_space.length > self._buffer:\n\t\t\t\tsegments.append(DiskSegment(free_space))\n\n\t\treturn segments\n\n\t@staticmethod\n\tdef get_part_mods(disk_segments: list[DiskSegment]) -> list[PartitionModification]:\n\t\treturn [s.segment for s in disk_segments if isinstance(s.segment, PartitionModification)]\n\n\tasync def show(self) -> DeviceModification | None:\n\t\tdisk_segments = await super()._run()\n\n\t\tif not disk_segments:\n\t\t\treturn None\n\n\t\tpartitions = self.get_part_mods(disk_segments)\n\t\treturn DeviceModification(self._device, self._wipe, partitions)\n\n\t@override\n\tasync def _run_actions_on_entry(self, entry: DiskSegment) -> None:\n\t\t# Do not create a menu when the segment is free space\n\t\tif isinstance(entry.segment, FreeSpace):\n\t\t\tself._data = await self.handle_action('', entry, self._data)\n\t\telse:\n\t\t\tawait super()._run_actions_on_entry(entry)\n\n\t@override\n\tdef selected_action_display(self, selection: DiskSegment) -> str:\n\t\tif isinstance(selection.segment, PartitionModification):\n\t\t\tif selection.segment.status == ModificationStatus.Create:\n\t\t\t\treturn tr('Partition - New')\n\t\t\telif selection.segment.is_delete() and selection.segment.dev_path:\n\t\t\t\ttitle = tr('Partition') + '\\n\\n'\n\t\t\t\ttitle += 'status: delete\\n'\n\t\t\t\ttitle += f'device: {selection.segment.dev_path}\\n'\n\t\t\t\tfor part in self._device.partition_infos:\n\t\t\t\t\tif part.path == selection.segment.dev_path:\n\t\t\t\t\t\tif part.partuuid:\n\t\t\t\t\t\t\ttitle += f'partuuid: {part.partuuid}'\n\t\t\t\treturn title\n\t\t\treturn str(selection.segment.dev_path)\n\t\treturn ''\n\n\t@override\n\tdef filter_options(self, selection: DiskSegment, options: list[str]) -> list[str]:\n\t\tnot_filter = []\n\n\t\tif isinstance(selection.segment, PartitionModification):\n\t\t\tif selection.segment.is_delete():\n\t\t\t\tnot_filter = list(self._actions.values())\n\t\t\t# only display formatting if the partition exists already\n\t\t\telif not selection.segment.exists():\n\t\t\t\tnot_filter += [self._actions['mark_formatting']]\n\t\t\telse:\n\t\t\t\t# only allow options if the existing partition\n\t\t\t\t# was marked as formatting, otherwise we run into issues where\n\t\t\t\t# 1. select a new fs -> potentially mark as wipe now\n\t\t\t\t# 2. Switch back to old filesystem -> should unmark wipe now, but\n\t\t\t\t# how do we know it was the original one?\n\t\t\t\tnot_filter += [\n\t\t\t\t\tself._actions['set_filesystem'],\n\t\t\t\t\tself._actions['mark_bootable'],\n\t\t\t\t]\n\t\t\t\tif self._using_gpt:\n\t\t\t\t\tnot_filter += [\n\t\t\t\t\t\tself._actions['mark_esp'],\n\t\t\t\t\t\tself._actions['mark_xbootldr'],\n\t\t\t\t\t]\n\t\t\t\tnot_filter += [\n\t\t\t\t\tself._actions['btrfs_mark_compressed'],\n\t\t\t\t\tself._actions['btrfs_mark_nodatacow'],\n\t\t\t\t\tself._actions['btrfs_set_subvolumes'],\n\t\t\t\t]\n\n\t\t\t# non btrfs partitions shouldn't get btrfs options\n\t\t\tif selection.segment.fs_type != FilesystemType.Btrfs:\n\t\t\t\tnot_filter += [\n\t\t\t\t\tself._actions['btrfs_mark_compressed'],\n\t\t\t\t\tself._actions['btrfs_mark_nodatacow'],\n\t\t\t\t\tself._actions['btrfs_set_subvolumes'],\n\t\t\t\t]\n\t\t\telse:\n\t\t\t\tnot_filter += [self._actions['assign_mountpoint']]\n\n\t\treturn [o for o in options if o not in not_filter]\n\n\t@override\n\tasync def handle_action(\n\t\tself,\n\t\taction: str,\n\t\tentry: DiskSegment | None,\n\t\tdata: list[DiskSegment],\n\t) -> list[DiskSegment]:\n\t\tif not entry:\n\t\t\taction_key = [k for k, v in self._actions.items() if v == action][0]\n\t\t\tmatch action_key:\n\t\t\t\tcase 'suggest_partition_layout':\n\t\t\t\t\tpart_mods = self.get_part_mods(data)\n\t\t\t\t\tdevice_mod = await self._suggest_partition_layout(part_mods)\n\t\t\t\t\tif device_mod and device_mod.partitions:\n\t\t\t\t\t\tdata = self.as_segments(device_mod.partitions)\n\t\t\t\t\t\tself._wipe = device_mod.wipe\n\t\t\t\t\t\tself._prompt = self._info + self.wipe_str()\n\t\t\t\tcase 'remove_added_partitions':\n\t\t\t\t\tif await self._reset_confirmation():\n\t\t\t\t\t\tdata = [s for s in data if isinstance(s.segment, PartitionModification) and s.segment.is_exists_or_modify()]\n\t\telif isinstance(entry.segment, PartitionModification):\n\t\t\tpartition = entry.segment\n\t\t\taction_key = [k for k, v in self._actions.items() if v == action][0]\n\t\t\tmatch action_key:\n\t\t\t\tcase 'assign_mountpoint':\n\t\t\t\t\tnew_mountpoint = await self._prompt_mountpoint()\n\t\t\t\t\tif not partition.is_swap():\n\t\t\t\t\t\tif partition.is_home():\n\t\t\t\t\t\t\tpartition.invert_flag(PartitionFlag.LINUX_HOME)\n\t\t\t\t\t\tpartition.mountpoint = new_mountpoint\n\t\t\t\t\t\tif partition.is_root():\n\t\t\t\t\t\t\tpartition.flags = []\n\t\t\t\t\t\tif partition.is_boot():\n\t\t\t\t\t\t\tpartition.flags = []\n\t\t\t\t\t\t\tpartition.set_flag(PartitionFlag.BOOT)\n\t\t\t\t\t\t\tif self._using_gpt:\n\t\t\t\t\t\t\t\tpartition.set_flag(PartitionFlag.ESP)\n\t\t\t\t\t\tif partition.is_home():\n\t\t\t\t\t\t\tpartition.flags = []\n\t\t\t\t\t\t\tpartition.set_flag(PartitionFlag.LINUX_HOME)\n\t\t\t\tcase 'mark_formatting':\n\t\t\t\t\tawait self._prompt_formatting(partition)\n\t\t\t\tcase 'mark_bootable':\n\t\t\t\t\tif not partition.is_swap():\n\t\t\t\t\t\tpartition.invert_flag(PartitionFlag.BOOT)\n\t\t\t\tcase 'mark_esp':\n\t\t\t\t\tif not partition.is_root() and not partition.is_home() and not partition.is_swap():\n\t\t\t\t\t\tif PartitionFlag.XBOOTLDR in partition.flags:\n\t\t\t\t\t\t\tpartition.invert_flag(PartitionFlag.XBOOTLDR)\n\t\t\t\t\t\tpartition.invert_flag(PartitionFlag.ESP)\n\t\t\t\tcase 'mark_xbootldr':\n\t\t\t\t\tif not partition.is_root() and not partition.is_home() and not partition.is_swap():\n\t\t\t\t\t\tif PartitionFlag.ESP in partition.flags:\n\t\t\t\t\t\t\tpartition.invert_flag(PartitionFlag.ESP)\n\t\t\t\t\t\tpartition.invert_flag(PartitionFlag.XBOOTLDR)\n\t\t\t\tcase 'set_filesystem':\n\t\t\t\t\tfs_type = await self._prompt_partition_fs_type()\n\n\t\t\t\t\tif partition.is_swap():\n\t\t\t\t\t\tpartition.invert_flag(PartitionFlag.SWAP)\n\t\t\t\t\tpartition.fs_type = fs_type\n\t\t\t\t\tif partition.is_swap():\n\t\t\t\t\t\tpartition.mountpoint = None\n\t\t\t\t\t\tpartition.flags = []\n\t\t\t\t\t\tpartition.set_flag(PartitionFlag.SWAP)\n\t\t\t\t\t# btrfs subvolumes will define mountpoints\n\t\t\t\t\tif fs_type == FilesystemType.Btrfs:\n\t\t\t\t\t\tpartition.mountpoint = None\n\t\t\t\tcase 'btrfs_mark_compressed':\n\t\t\t\t\tself._toggle_mount_option(partition, BtrfsMountOption.compress)\n\t\t\t\tcase 'btrfs_mark_nodatacow':\n\t\t\t\t\tself._toggle_mount_option(partition, BtrfsMountOption.nodatacow)\n\t\t\t\tcase 'btrfs_set_subvolumes':\n\t\t\t\t\tawait self._set_btrfs_subvolumes(partition)\n\t\t\t\tcase 'delete_partition':\n\t\t\t\t\tdata = self._delete_partition(partition, data)\n\t\telse:\n\t\t\tpart_mods = self.get_part_mods(data)\n\t\t\tindex = data.index(entry)\n\t\t\tpart = await self._create_new_partition(entry.segment)\n\t\t\tpart_mods.insert(index, part)\n\t\t\tdata = self.as_segments(part_mods)\n\n\t\treturn data\n\n\tdef _delete_partition(\n\t\tself,\n\t\tentry: PartitionModification,\n\t\tdata: list[DiskSegment],\n\t) -> list[DiskSegment]:\n\t\tif entry.is_exists_or_modify():\n\t\t\tentry.status = ModificationStatus.Delete\n\t\t\tpart_mods = self.get_part_mods(data)\n\t\telse:\n\t\t\tpart_mods = [d.segment for d in data if isinstance(d.segment, PartitionModification) and d.segment != entry]\n\n\t\treturn self.as_segments(part_mods)\n\n\tdef _toggle_mount_option(\n\t\tself,\n\t\tpartition: PartitionModification,\n\t\toption: BtrfsMountOption,\n\t) -> None:\n\t\tif option.value not in partition.mount_options:\n\t\t\tif option == BtrfsMountOption.compress:\n\t\t\t\tpartition.mount_options = [o for o in partition.mount_options if o != BtrfsMountOption.nodatacow.value]\n\n\t\t\tpartition.mount_options = [o for o in partition.mount_options if not o.startswith(BtrfsMountOption.compress.name)]\n\n\t\t\tpartition.mount_options.append(option.value)\n\t\telse:\n\t\t\tpartition.mount_options = [o for o in partition.mount_options if o != option.value]\n\n\tasync def _set_btrfs_subvolumes(self, partition: PartitionModification) -> None:\n\t\tsubvols = await SubvolumeMenu(\n\t\t\tpartition.btrfs_subvols,\n\t\t\tNone,\n\t\t).show()\n\n\t\tif subvols is not None:\n\t\t\tpartition.btrfs_subvols = subvols\n\n\tasync def _prompt_formatting(self, partition: PartitionModification) -> None:\n\t\t# an existing partition can toggle between Exist or Modify\n\t\tif partition.is_modify():\n\t\t\tpartition.status = ModificationStatus.Exist\n\t\t\treturn\n\t\telif partition.exists():\n\t\t\tpartition.status = ModificationStatus.Modify\n\n\t\t# If we mark a partition for formatting, but the format is CRYPTO LUKS, there's no point in formatting it really\n\t\t# without asking the user which inner-filesystem they want to use. Since the flag 'encrypted' = True is already set,\n\t\t# it's safe to change the filesystem for this partition.\n\t\tif partition.fs_type == FilesystemType.Crypto_luks:\n\t\t\tprompt = tr('This partition is currently encrypted, to format it a filesystem has to be specified') + '\\n'\n\t\t\tfs_type = await self._prompt_partition_fs_type(prompt)\n\t\t\tpartition.fs_type = fs_type\n\n\t\t\tif fs_type == FilesystemType.Btrfs:\n\t\t\t\tpartition.mountpoint = None\n\n\tasync def _prompt_mountpoint(self) -> Path:\n\t\theader = tr('Partition mount-points are relative to inside the installation, the boot would be /boot as an example.') + '\\n\\n'\n\t\theader += tr('Enter a mountpoint')\n\n\t\tmountpoint = await prompt_dir(header, validate=False, allow_skip=False)\n\t\tassert mountpoint\n\n\t\treturn mountpoint\n\n\tasync def _prompt_partition_fs_type(self, prompt: str | None = None) -> FilesystemType:\n\t\tfs_types = filter(lambda fs: fs != FilesystemType.Crypto_luks, FilesystemType)\n\t\titems = [MenuItem(fs.value, value=fs) for fs in fs_types]\n\t\tgroup = MenuItemGroup(items, sort_items=False)\n\n\t\tresult = await Selection[FilesystemType](\n\t\t\tgroup,\n\t\t\theader=prompt,\n\t\t\tallow_skip=False,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\treturn result.get_value()\n\t\t\tcase _:\n\t\t\t\traise ValueError('Unhandled result type')\n\n\tdef _validate_value(\n\t\tself,\n\t\tsector_size: SectorSize,\n\t\tmax_size: Size,\n\t\ttext: str,\n\t) -> Size | None:\n\t\tmatch = re.match(r'^\\s*([0-9]+)\\s*([a-zA-Z%]*)\\s*$', text, re.I)\n\n\t\tif not match:\n\t\t\treturn None\n\n\t\tstr_value, unit = match.groups()\n\n\t\tif unit == '%':\n\t\t\tvalue = int(max_size.value * (int(str_value) / 100))\n\t\t\tunit = max_size.unit.name\n\t\telse:\n\t\t\tvalue = int(str_value)\n\n\t\tif unit and unit not in Unit.get_all_units():\n\t\t\treturn None\n\n\t\tunit = Unit[unit] if unit else Unit.sectors\n\t\tsize = Size(value, unit, sector_size)\n\n\t\tif size.format_highest() == max_size.format_highest():\n\t\t\treturn max_size\n\t\telif size > max_size or size < self._buffer:\n\t\t\treturn None\n\n\t\treturn size\n\n\tasync def _prompt_size(self, free_space: FreeSpace) -> Size:\n\t\tdef validate(value: str | None) -> str | None:\n\t\t\tif not value:\n\t\t\t\treturn None\n\n\t\t\tsize = self._validate_value(sector_size, max_size, value)\n\t\t\tif not size:\n\t\t\t\treturn tr('Invalid size')\n\t\t\treturn None\n\n\t\tdevice_info = self._device.device_info\n\t\tsector_size = device_info.sector_size\n\n\t\ttext = tr('Selected free space segment on device {}:').format(device_info.path) + '\\n\\n'\n\t\tfree_space_table = FormattedOutput.as_table([free_space])\n\t\tprompt = text + free_space_table + '\\n'\n\n\t\tmax_sectors = free_space.length.format_size(Unit.sectors, sector_size)\n\t\tmax_bytes = free_space.length.format_size(Unit.B)\n\n\t\tprompt += tr('Size: {} / {}').format(max_sectors, max_bytes) + '\\n\\n'\n\t\tprompt += tr('All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...') + '\\n'\n\t\tprompt += tr('If no unit is provided, the value is interpreted as sectors') + '\\n\\n'\n\n\t\tmax_size = free_space.length\n\t\tprompt += tr('Enter a size (default: {}): ').format(max_size.format_highest())\n\n\t\tresult = await Input(\n\t\t\theader=f'{prompt}\\b',\n\t\t\tallow_skip=True,\n\t\t\tvalidator_callback=validate,\n\t\t).show()\n\n\t\tsize: Size | None = None\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Skip:\n\t\t\t\tsize = max_size\n\t\t\tcase ResultType.Selection:\n\t\t\t\tvalue = result.get_value()\n\n\t\t\t\tif value:\n\t\t\t\t\tsize = self._validate_value(sector_size, max_size, value)\n\t\t\t\telse:\n\t\t\t\t\tsize = max_size\n\t\t\tcase _:\n\t\t\t\traise ValueError('Unhandled result type')\n\n\t\tassert size\n\t\treturn size\n\n\tasync def _create_new_partition(self, free_space: FreeSpace) -> PartitionModification:\n\t\tlength = await self._prompt_size(free_space)\n\n\t\tfs_type = await self._prompt_partition_fs_type()\n\n\t\tmountpoint = None\n\t\tif fs_type not in (FilesystemType.Btrfs, FilesystemType.LinuxSwap):\n\t\t\tmountpoint = await self._prompt_mountpoint()\n\n\t\tpartition = PartitionModification(\n\t\t\tstatus=ModificationStatus.Create,\n\t\t\ttype=PartitionType.Primary,\n\t\t\tstart=free_space.start,\n\t\t\tlength=length,\n\t\t\tfs_type=fs_type,\n\t\t\tmountpoint=mountpoint,\n\t\t)\n\n\t\tif partition.mountpoint == Path('/boot'):\n\t\t\tpartition.set_flag(PartitionFlag.BOOT)\n\t\t\tif self._using_gpt:\n\t\t\t\tpartition.set_flag(PartitionFlag.ESP)\n\t\telif partition.is_swap():\n\t\t\tpartition.mountpoint = None\n\t\t\tpartition.flags = []\n\t\t\tpartition.set_flag(PartitionFlag.SWAP)\n\n\t\treturn partition\n\n\tasync def _reset_confirmation(self) -> bool:\n\t\tprompt = tr('This will remove all newly added partitions, continue?') + '\\n'\n\n\t\tresult = await Confirmation(\n\t\t\theader=prompt,\n\t\t\tallow_skip=False,\n\t\t\tallow_reset=False,\n\t\t).show()\n\n\t\treturn result.item() == MenuItem.yes()\n\n\tasync def _suggest_partition_layout(\n\t\tself,\n\t\tdata: list[PartitionModification],\n\t) -> DeviceModification | None:\n\t\t# if modifications have been done already, inform the user\n\t\t# that this operation will erase those modifications\n\t\tif any([not entry.exists() for entry in data]):\n\t\t\tif not await self._reset_confirmation():\n\t\t\t\treturn None\n\n\t\tfrom archinstall.lib.interactions.disk_conf import suggest_single_disk_layout\n\n\t\treturn await suggest_single_disk_layout(self._device)\n\n\nasync def manual_partitioning(\n\tdevice_mod: DeviceModification,\n\tpartition_table: PartitionTable,\n) -> DeviceModification | None:\n\tmenu_list = PartitioningList(device_mod, partition_table)\n\tmod = await menu_list.show()\n\n\tif not mod:\n\t\treturn None\n\n\tif menu_list.is_last_choice_cancel():\n\t\treturn device_mod\n\n\tif mod.partitions:\n\t\treturn mod\n\n\treturn None\n"
  },
  {
    "path": "archinstall/lib/disk/subvolume_menu.py",
    "content": "from pathlib import Path\nfrom typing import assert_never, override\n\nfrom archinstall.lib.menu.helpers import Input\nfrom archinstall.lib.menu.list_manager import ListManager\nfrom archinstall.lib.menu.util import prompt_dir\nfrom archinstall.lib.models.device import SubvolumeModification\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass SubvolumeMenu(ListManager[SubvolumeModification]):\n\tdef __init__(\n\t\tself,\n\t\tbtrfs_subvols: list[SubvolumeModification],\n\t\tprompt: str | None = None,\n\t):\n\t\tself._actions = [\n\t\t\ttr('Add subvolume'),\n\t\t\ttr('Edit subvolume'),\n\t\t\ttr('Delete subvolume'),\n\t\t]\n\n\t\tsuper().__init__(\n\t\t\tbtrfs_subvols,\n\t\t\t[self._actions[0]],\n\t\t\tself._actions[1:],\n\t\t\tprompt,\n\t\t)\n\n\tasync def show(self) -> list[SubvolumeModification] | None:\n\t\treturn await super()._run()\n\n\t@override\n\tdef selected_action_display(self, selection: SubvolumeModification) -> str:\n\t\treturn str(selection.name)\n\n\tasync def _add_subvolume(self, preset: SubvolumeModification | None = None) -> SubvolumeModification | None:\n\t\tdef validate(value: str | None) -> str | None:\n\t\t\tif value:\n\t\t\t\treturn None\n\t\t\treturn tr('Value cannot be empty')\n\n\t\tresult = await Input(\n\t\t\theader=tr('Enter subvolume name'),\n\t\t\tallow_skip=True,\n\t\t\tdefault_value=str(preset.name) if preset else None,\n\t\t\tvalidator_callback=validate,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase ResultType.Selection:\n\t\t\t\tname = result.get_value()\n\t\t\tcase ResultType.Reset:\n\t\t\t\traise ValueError('Unhandled result type')\n\t\t\tcase _:\n\t\t\t\tassert_never(result.type_)\n\n\t\theader = f'{tr(\"Subvolume name\")}: {name}\\n\\n'\n\t\theader += tr('Enter subvolume mountpoint')\n\n\t\tpath = await prompt_dir(\n\t\t\theader=header,\n\t\t\tallow_skip=True,\n\t\t\tvalidate=True,\n\t\t\tmust_exist=False,\n\t\t)\n\n\t\tif not path:\n\t\t\treturn preset\n\n\t\treturn SubvolumeModification(Path(name), path)\n\n\t@override\n\tasync def handle_action(\n\t\tself,\n\t\taction: str,\n\t\tentry: SubvolumeModification | None,\n\t\tdata: list[SubvolumeModification],\n\t) -> list[SubvolumeModification]:\n\t\tif action == self._actions[0]:\n\t\t\tnew_subvolume = await self._add_subvolume()\n\n\t\t\tif new_subvolume is not None:\n\t\t\t\t# in case a user with the same username as an existing user\n\t\t\t\t# was created we'll replace the existing one\n\t\t\t\tdata = [d for d in data if d.name != new_subvolume.name]\n\t\t\t\tdata += [new_subvolume]\n\t\telif entry is not None:\n\t\t\tif action == self._actions[1]:\n\t\t\t\tnew_subvolume = await self._add_subvolume(entry)\n\n\t\t\t\tif new_subvolume is not None:\n\t\t\t\t\t# we'll remove the original subvolume and add the modified version\n\t\t\t\t\tdata = [d for d in data if d.name != entry.name and d.name != new_subvolume.name]\n\t\t\t\t\tdata += [new_subvolume]\n\t\t\telif action == self._actions[2]:\n\t\t\t\tdata = [d for d in data if d != entry]\n\n\t\treturn data\n"
  },
  {
    "path": "archinstall/lib/disk/utils.py",
    "content": "from pathlib import Path\n\nfrom pydantic import BaseModel\n\nfrom archinstall.lib.command import SysCommand\nfrom archinstall.lib.exceptions import DiskError, SysCallError\nfrom archinstall.lib.models.device import LsblkInfo\nfrom archinstall.lib.output import debug, info, warn\n\n\nclass LsblkOutput(BaseModel):\n\tblockdevices: list[LsblkInfo]\n\n\ndef _fetch_lsblk_info(\n\tdev_path: Path | str | None = None,\n\treverse: bool = False,\n\tfull_dev_path: bool = False,\n) -> LsblkOutput:\n\tcmd = ['lsblk', '--json', '--bytes', '--output', ','.join(LsblkInfo.fields())]\n\n\tif reverse:\n\t\tcmd.append('--inverse')\n\n\tif full_dev_path:\n\t\tcmd.append('--paths')\n\n\tif dev_path:\n\t\tcmd.append(str(dev_path))\n\n\ttry:\n\t\tworker = SysCommand(cmd)\n\texcept SysCallError as err:\n\t\t# Get the output minus the message/info from lsblk if it returns a non-zero exit code.\n\t\tif err.worker_log:\n\t\t\tdebug(f'Error calling lsblk: {err.worker_log.decode()}')\n\n\t\tif dev_path:\n\t\t\traise DiskError(f'Failed to read disk \"{dev_path}\" with lsblk')\n\n\t\traise err\n\n\toutput = worker.output(remove_cr=False)\n\treturn LsblkOutput.model_validate_json(output)\n\n\ndef get_lsblk_info(\n\tdev_path: Path | str,\n\treverse: bool = False,\n\tfull_dev_path: bool = False,\n) -> LsblkInfo:\n\tinfos = _fetch_lsblk_info(dev_path, reverse=reverse, full_dev_path=full_dev_path)\n\n\tif infos.blockdevices:\n\t\treturn infos.blockdevices[0]\n\n\traise DiskError(f'lsblk failed to retrieve information for \"{dev_path}\"')\n\n\ndef get_all_lsblk_info() -> list[LsblkInfo]:\n\treturn _fetch_lsblk_info().blockdevices\n\n\ndef get_lsblk_output() -> LsblkOutput:\n\treturn _fetch_lsblk_info()\n\n\ndef find_lsblk_info(\n\tdev_path: Path | str,\n\tinfo_list: list[LsblkInfo],\n) -> LsblkInfo | None:\n\tif isinstance(dev_path, str):\n\t\tdev_path = Path(dev_path)\n\n\tfor lsblk_info in info_list:\n\t\tif lsblk_info.path == dev_path:\n\t\t\treturn lsblk_info\n\n\treturn None\n\n\ndef get_lsblk_by_mountpoint(mountpoint: Path, as_prefix: bool = False) -> list[LsblkInfo]:\n\tdef _check(infos: list[LsblkInfo]) -> list[LsblkInfo]:\n\t\tdevices = []\n\t\tfor entry in infos:\n\t\t\tif as_prefix:\n\t\t\t\tmatches = [m for m in entry.mountpoints if str(m).startswith(str(mountpoint))]\n\t\t\t\tif matches:\n\t\t\t\t\tdevices += [entry]\n\t\t\telif mountpoint in entry.mountpoints:\n\t\t\t\tdevices += [entry]\n\n\t\t\tif len(entry.children) > 0:\n\t\t\t\tif len(match := _check(entry.children)) > 0:\n\t\t\t\t\tdevices += match\n\n\t\treturn devices\n\n\tall_info = get_all_lsblk_info()\n\treturn _check(all_info)\n\n\ndef disk_layouts() -> str:\n\ttry:\n\t\tlsblk_output = get_lsblk_output()\n\texcept SysCallError as err:\n\t\twarn(f'Could not return disk layouts: {err}')\n\t\treturn ''\n\n\treturn lsblk_output.model_dump_json(indent=4)\n\n\ndef get_parent_device_path(dev_path: Path) -> Path:\n\tlsblk = get_lsblk_info(dev_path)\n\treturn Path(f'/dev/{lsblk.pkname}')\n\n\ndef get_unique_path_for_device(dev_path: Path) -> Path | None:\n\tpaths = Path('/dev/disk/by-id').glob('*')\n\tlinked_targets = {p.resolve(): p for p in paths}\n\tlinked_wwn_targets = {p: linked_targets[p] for p in linked_targets if p.name.startswith('wwn-') or p.name.startswith('nvme-eui.')}\n\n\tif dev_path in linked_wwn_targets:\n\t\treturn linked_wwn_targets[dev_path]\n\n\tif dev_path in linked_targets:\n\t\treturn linked_targets[dev_path]\n\n\treturn None\n\n\ndef udev_sync() -> None:\n\ttry:\n\t\tSysCommand('udevadm settle')\n\texcept SysCallError as err:\n\t\tdebug(f'Failed to synchronize with udev: {err}')\n\n\ndef mount(\n\tdev_path: Path,\n\ttarget_mountpoint: Path,\n\tmount_fs: str | None = None,\n\tcreate_target_mountpoint: bool = True,\n\toptions: list[str] = [],\n) -> None:\n\tif create_target_mountpoint and not target_mountpoint.exists():\n\t\ttarget_mountpoint.mkdir(parents=True, exist_ok=True)\n\n\tif not target_mountpoint.exists():\n\t\traise ValueError('Target mountpoint does not exist')\n\n\tlsblk_info = get_lsblk_info(dev_path)\n\tif target_mountpoint in lsblk_info.mountpoints:\n\t\tinfo(f'Device already mounted at {target_mountpoint}')\n\t\treturn\n\n\tcmd = ['mount']\n\n\tif len(options):\n\t\tcmd.extend(('-o', ','.join(options)))\n\tif mount_fs:\n\t\tcmd.extend(('-t', mount_fs))\n\n\tcmd.extend((str(dev_path), str(target_mountpoint)))\n\n\tcommand = ' '.join(cmd)\n\n\tdebug(f'Mounting {dev_path}: {command}')\n\n\ttry:\n\t\tSysCommand(command)\n\texcept SysCallError as err:\n\t\traise DiskError(f'Could not mount {dev_path}: {command}\\n{err.message}')\n\n\ndef umount(mountpoint: Path, recursive: bool = False) -> None:\n\tlsblk_info = get_lsblk_info(mountpoint)\n\n\tif not lsblk_info.mountpoints:\n\t\treturn\n\n\tdebug(f'Partition {mountpoint} is currently mounted at: {[str(m) for m in lsblk_info.mountpoints]}')\n\n\tcmd = ['umount']\n\n\tif recursive:\n\t\tcmd.append('-R')\n\n\tfor path in lsblk_info.mountpoints:\n\t\tdebug(f'Unmounting mountpoint: {path}')\n\t\tSysCommand(cmd + [str(path)])\n\n\ndef swapon(path: Path) -> None:\n\ttry:\n\t\tSysCommand(['swapon', str(path)])\n\texcept SysCallError as err:\n\t\traise DiskError(f'Could not enable swap {path}:\\n{err.message}')\n"
  },
  {
    "path": "archinstall/lib/exceptions.py",
    "content": "class RequirementError(Exception):\n\tpass\n\n\nclass DiskError(Exception):\n\tpass\n\n\nclass UnknownFilesystemFormat(Exception):\n\tpass\n\n\nclass SysCallError(Exception):\n\tdef __init__(self, message: str, exit_code: int | None = None, worker_log: bytes = b'') -> None:\n\t\tsuper().__init__(message)\n\t\tself.message = message\n\t\tself.exit_code = exit_code\n\t\tself.worker_log = worker_log\n\n\nclass HardwareIncompatibilityError(Exception):\n\tpass\n\n\nclass ServiceException(Exception):\n\tpass\n\n\nclass PackageError(Exception):\n\tpass\n\n\nclass Deprecated(Exception):\n\tpass\n\n\nclass DownloadTimeout(Exception):\n\t\"\"\"\n\tDownload timeout exception raised by DownloadTimer.\n\t\"\"\"\n"
  },
  {
    "path": "archinstall/lib/global_menu.py",
    "content": "from typing import override\n\nfrom archinstall.lib.applications.application_menu import ApplicationMenu\nfrom archinstall.lib.args import ArchConfig\nfrom archinstall.lib.authentication.authentication_menu import AuthenticationMenu\nfrom archinstall.lib.bootloader.bootloader_menu import BootloaderMenu\nfrom archinstall.lib.configuration import save_config\nfrom archinstall.lib.disk.disk_menu import DiskLayoutConfigurationMenu\nfrom archinstall.lib.hardware import SysInfo\nfrom archinstall.lib.interactions.general_conf import add_number_of_parallel_downloads, select_hostname, select_ntp, select_timezone\nfrom archinstall.lib.interactions.system_conf import select_kernel, select_swap\nfrom archinstall.lib.locale.locale_menu import LocaleMenu\nfrom archinstall.lib.menu.abstract_menu import AbstractMenu, SpecialMenuKey\nfrom archinstall.lib.mirror.mirror_handler import MirrorListHandler\nfrom archinstall.lib.mirror.mirror_menu import MirrorMenu\nfrom archinstall.lib.models.application import ApplicationConfiguration, ZramConfiguration\nfrom archinstall.lib.models.authentication import AuthenticationConfiguration\nfrom archinstall.lib.models.bootloader import Bootloader, BootloaderConfiguration\nfrom archinstall.lib.models.device import DiskLayoutConfiguration, DiskLayoutType, FilesystemType, PartitionModification\nfrom archinstall.lib.models.locale import LocaleConfiguration\nfrom archinstall.lib.models.mirrors import MirrorConfiguration\nfrom archinstall.lib.models.network import NetworkConfiguration, NicType\nfrom archinstall.lib.models.packages import Repository\nfrom archinstall.lib.models.profile import ProfileConfiguration\nfrom archinstall.lib.network.network_menu import select_network\nfrom archinstall.lib.output import FormattedOutput\nfrom archinstall.lib.packages.packages import list_available_packages, select_additional_packages\nfrom archinstall.lib.pacman.config import PacmanConfig\nfrom archinstall.lib.translationhandler import Language, tr, translation_handler\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\n\n\nclass GlobalMenu(AbstractMenu[None]):\n\tdef __init__(\n\t\tself,\n\t\tarch_config: ArchConfig,\n\t\tmirror_list_handler: MirrorListHandler | None = None,\n\t\tskip_boot: bool = False,\n\t\ttitle: str | None = None,\n\t) -> None:\n\t\tself._arch_config = arch_config\n\t\tself._mirror_list_handler = mirror_list_handler\n\t\tself._skip_boot = skip_boot\n\t\tself._uefi = SysInfo.has_uefi()\n\t\tmenu_options = self._get_menu_options()\n\n\t\tself._item_group = MenuItemGroup(\n\t\t\tmenu_options,\n\t\t\tsort_items=False,\n\t\t\tcheckmarks=True,\n\t\t)\n\n\t\tsuper().__init__(self._item_group, config=arch_config, title=title)\n\n\tdef _get_menu_options(self) -> list[MenuItem]:\n\t\tmenu_options = [\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Archinstall language'),\n\t\t\t\taction=self._select_archinstall_language,\n\t\t\t\tpreview_action=self._prev_archinstall_language,\n\t\t\t\tkey='archinstall_language',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Locales'),\n\t\t\t\tvalue=LocaleConfiguration.default(),\n\t\t\t\taction=self._locale_selection,\n\t\t\t\tpreview_action=self._prev_locale,\n\t\t\t\tkey='locale_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Mirrors and repositories'),\n\t\t\t\taction=self._mirror_configuration,\n\t\t\t\tpreview_action=self._prev_mirror_config,\n\t\t\t\tkey='mirror_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Disk configuration'),\n\t\t\t\taction=self._select_disk_config,\n\t\t\t\tpreview_action=self._prev_disk_config,\n\t\t\t\tmandatory=True,\n\t\t\t\tkey='disk_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Swap'),\n\t\t\t\tvalue=ZramConfiguration(enabled=True),\n\t\t\t\taction=select_swap,\n\t\t\t\tpreview_action=self._prev_swap,\n\t\t\t\tkey='swap',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Bootloader'),\n\t\t\t\tvalue=BootloaderConfiguration.get_default(self._uefi, self._skip_boot),\n\t\t\t\taction=self._select_bootloader_config,\n\t\t\t\tpreview_action=self._prev_bootloader_config,\n\t\t\t\tkey='bootloader_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Kernels'),\n\t\t\t\tvalue=['linux'],\n\t\t\t\taction=select_kernel,\n\t\t\t\tpreview_action=self._prev_kernel,\n\t\t\t\tmandatory=True,\n\t\t\t\tkey='kernels',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Hostname'),\n\t\t\t\tvalue='archlinux',\n\t\t\t\taction=select_hostname,\n\t\t\t\tpreview_action=self._prev_hostname,\n\t\t\t\tkey='hostname',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Authentication'),\n\t\t\t\taction=self._select_authentication,\n\t\t\t\tpreview_action=self._prev_authentication,\n\t\t\t\tkey='auth_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Profile'),\n\t\t\t\taction=self._select_profile,\n\t\t\t\tpreview_action=self._prev_profile,\n\t\t\t\tkey='profile_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Applications'),\n\t\t\t\taction=self._select_applications,\n\t\t\t\tvalue=[],\n\t\t\t\tpreview_action=self._prev_applications,\n\t\t\t\tkey='app_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Network configuration'),\n\t\t\t\taction=select_network,\n\t\t\t\tvalue={},\n\t\t\t\tpreview_action=self._prev_network_config,\n\t\t\t\tkey='network_config',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Parallel Downloads'),\n\t\t\t\taction=add_number_of_parallel_downloads,\n\t\t\t\tvalue=1,\n\t\t\t\tpreview_action=self._prev_parallel_dw,\n\t\t\t\tkey='parallel_downloads',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Additional packages'),\n\t\t\t\taction=self._select_additional_packages,\n\t\t\t\tvalue=[],\n\t\t\t\tpreview_action=self._prev_additional_pkgs,\n\t\t\t\tkey='packages',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Timezone'),\n\t\t\t\taction=select_timezone,\n\t\t\t\tvalue='UTC',\n\t\t\t\tpreview_action=self._prev_tz,\n\t\t\t\tkey='timezone',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Automatic time sync (NTP)'),\n\t\t\t\taction=select_ntp,\n\t\t\t\tvalue=True,\n\t\t\t\tpreview_action=self._prev_ntp,\n\t\t\t\tkey='ntp',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext='',\n\t\t\t\tread_only=True,\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Save configuration'),\n\t\t\t\taction=lambda x: self._safe_config(),\n\t\t\t\tkey=SpecialMenuKey.SAVE.value,\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Install'),\n\t\t\t\tpreview_action=self._prev_install_invalid_config,\n\t\t\t\tkey=SpecialMenuKey.INSTALL.value,\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Abort'),\n\t\t\t\tkey=SpecialMenuKey.ABORT.value,\n\t\t\t),\n\t\t]\n\n\t\treturn menu_options\n\n\tasync def _safe_config(self) -> None:\n\t\t# data: dict[str, Any] = {}\n\t\t# for item in self._item_group.items:\n\t\t# if item.key is not None:\n\t\t# data[item.key] = item.value\n\n\t\tself.sync_all_to_config()\n\t\tawait save_config(self._arch_config)\n\n\tdef _missing_configs(self) -> list[str]:\n\t\titem: MenuItem = self._item_group.find_by_key('auth_config')\n\t\tauth_config: AuthenticationConfiguration | None = item.value\n\n\t\tdef check(s: str) -> bool:\n\t\t\titem = self._item_group.find_by_key(s)\n\t\t\treturn item.has_value()\n\n\t\tdef has_superuser() -> bool:\n\t\t\tif auth_config and auth_config.users:\n\t\t\t\treturn any([u.sudo for u in auth_config.users])\n\t\t\treturn False\n\n\t\tmissing = set()\n\n\t\tif (auth_config is None or auth_config.root_enc_password is None) and not has_superuser():\n\t\t\tmissing.add(\n\t\t\t\ttr('Either root-password or at least 1 user with sudo privileges must be specified'),\n\t\t\t)\n\n\t\tfor item in self._item_group.items:\n\t\t\tif item.mandatory:\n\t\t\t\tassert item.key is not None\n\t\t\t\tif not check(item.key):\n\t\t\t\t\tmissing.add(item.text)\n\n\t\treturn list(missing)\n\n\t@override\n\tdef is_config_valid(self) -> bool:\n\t\t\"\"\"\n\t\tChecks the validity of the current configuration.\n\t\t\"\"\"\n\t\tif len(self._missing_configs()) != 0:\n\t\t\treturn False\n\t\treturn self._validate_bootloader() is None\n\n\tasync def _select_archinstall_language(self, preset: Language) -> Language:\n\t\tfrom archinstall.lib.interactions.general_conf import select_archinstall_language\n\n\t\tlanguage = await select_archinstall_language(translation_handler.translated_languages, preset)\n\t\ttranslation_handler.activate(language)\n\n\t\tself._update_lang_text()\n\n\t\treturn language\n\n\tdef _prev_archinstall_language(self, item: MenuItem) -> str | None:\n\t\tif not item.value:\n\t\t\treturn None\n\n\t\tlang: Language = item.value\n\t\treturn f'{tr(\"Language\")}: {lang.display_name}'\n\n\tasync def _select_applications(self, preset: ApplicationConfiguration | None) -> ApplicationConfiguration | None:\n\t\tapp_config = await ApplicationMenu(preset).show()\n\t\treturn app_config\n\n\tasync def _select_authentication(self, preset: AuthenticationConfiguration | None) -> AuthenticationConfiguration | None:\n\t\tauth_config = await AuthenticationMenu(preset).show()\n\t\treturn auth_config\n\n\tdef _update_lang_text(self) -> None:\n\t\t\"\"\"\n\t\tThe options for the global menu are generated with a static text;\n\t\teach entry of the menu needs to be updated with the new translation\n\t\t\"\"\"\n\t\tnew_options = self._get_menu_options()\n\n\t\tfor o in new_options:\n\t\t\tif o.key is not None:\n\t\t\t\tself._item_group.find_by_key(o.key).text = o.text\n\n\tasync def _locale_selection(self, preset: LocaleConfiguration) -> LocaleConfiguration | None:\n\t\tlocale_config = await LocaleMenu(preset).show()\n\t\treturn locale_config\n\n\tdef _prev_locale(self, item: MenuItem) -> str | None:\n\t\tif not item.value:\n\t\t\treturn None\n\n\t\tconfig: LocaleConfiguration = item.value\n\t\treturn config.preview()\n\n\tdef _prev_network_config(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\tnetwork_config: NetworkConfiguration = item.value\n\t\t\tif network_config.type == NicType.MANUAL:\n\t\t\t\toutput = FormattedOutput.as_table(network_config.nics)\n\t\t\telse:\n\t\t\t\toutput = f'{tr(\"Network configuration\")}:\\n{network_config.type.display_msg()}'\n\n\t\t\treturn output\n\t\treturn None\n\n\tdef _prev_additional_pkgs(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\toutput = '\\n'.join(sorted(item.value))\n\t\t\treturn output\n\t\treturn None\n\n\tdef _prev_authentication(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\tauth_config: AuthenticationConfiguration = item.value\n\t\t\toutput = ''\n\n\t\t\tif auth_config.root_enc_password:\n\t\t\t\toutput += f'{tr(\"Root password\")}: {auth_config.root_enc_password.hidden()}\\n'\n\n\t\t\tif auth_config.users:\n\t\t\t\toutput += FormattedOutput.as_table(auth_config.users) + '\\n'\n\n\t\t\tif auth_config.u2f_config:\n\t\t\t\tu2f_config = auth_config.u2f_config\n\t\t\t\tlogin_method = u2f_config.u2f_login_method.display_value()\n\t\t\t\toutput = tr('U2F login method: ') + login_method\n\n\t\t\t\toutput += '\\n'\n\t\t\t\toutput += tr('Passwordless sudo: ') + (tr('Enabled') if u2f_config.passwordless_sudo else tr('Disabled'))\n\n\t\t\treturn output\n\n\t\treturn None\n\n\tdef _prev_applications(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\tapp_config: ApplicationConfiguration = item.value\n\t\t\toutput = ''\n\n\t\t\tif app_config.bluetooth_config:\n\t\t\t\toutput += f'{tr(\"Bluetooth\")}: '\n\t\t\t\toutput += tr('Enabled') if app_config.bluetooth_config.enabled else tr('Disabled')\n\t\t\t\toutput += '\\n'\n\n\t\t\tif app_config.audio_config:\n\t\t\t\taudio_config = app_config.audio_config\n\t\t\t\toutput += f'{tr(\"Audio\")}: {audio_config.audio.value}'\n\t\t\t\toutput += '\\n'\n\n\t\t\tif app_config.print_service_config:\n\t\t\t\toutput += f'{tr(\"Print service\")}: '\n\t\t\t\toutput += tr('Enabled') if app_config.print_service_config.enabled else tr('Disabled')\n\t\t\t\toutput += '\\n'\n\n\t\t\tif app_config.power_management_config:\n\t\t\t\tpower_management_config = app_config.power_management_config\n\t\t\t\toutput += f'{tr(\"Power management\")}: {power_management_config.power_management.value}'\n\t\t\t\toutput += '\\n'\n\n\t\t\tif app_config.firewall_config:\n\t\t\t\tfirewall_config = app_config.firewall_config\n\t\t\t\toutput += f'{tr(\"Firewall\")}: {firewall_config.firewall.value}'\n\t\t\t\toutput += '\\n'\n\n\t\t\treturn output\n\n\t\treturn None\n\n\tdef _prev_tz(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\treturn f'{tr(\"Timezone\")}: {item.value}'\n\t\treturn None\n\n\tdef _prev_ntp(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\toutput = f'{tr(\"NTP\")}: '\n\t\t\toutput += tr('Enabled') if item.value else tr('Disabled')\n\t\t\treturn output\n\t\treturn None\n\n\tdef _prev_disk_config(self, item: MenuItem) -> str | None:\n\t\tdisk_layout_conf: DiskLayoutConfiguration | None = item.value\n\n\t\tif disk_layout_conf:\n\t\t\toutput = tr('Configuration type: {}').format(disk_layout_conf.config_type.display_msg()) + '\\n'\n\n\t\t\tif disk_layout_conf.config_type == DiskLayoutType.Pre_mount:\n\t\t\t\toutput += tr('Mountpoint') + ': ' + str(disk_layout_conf.mountpoint)\n\n\t\t\tif disk_layout_conf.lvm_config:\n\t\t\t\toutput += '{}: {}'.format(tr('LVM configuration type'), disk_layout_conf.lvm_config.config_type.display_msg()) + '\\n'\n\n\t\t\tif disk_layout_conf.disk_encryption:\n\t\t\t\toutput += tr('Disk encryption') + ': ' + disk_layout_conf.disk_encryption.encryption_type.type_to_text() + '\\n'\n\n\t\t\tif disk_layout_conf.btrfs_options:\n\t\t\t\tbtrfs_options = disk_layout_conf.btrfs_options\n\t\t\t\tif btrfs_options.snapshot_config:\n\t\t\t\t\toutput += tr('Btrfs snapshot type: {}').format(btrfs_options.snapshot_config.snapshot_type.value) + '\\n'\n\n\t\t\treturn output\n\n\t\treturn None\n\n\tdef _prev_swap(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\toutput = f'{tr(\"Swap on zram\")}: '\n\t\t\toutput += tr('Enabled') if item.value.enabled else tr('Disabled')\n\t\t\tif item.value.enabled:\n\t\t\t\toutput += f'\\n{tr(\"Compression algorithm\")}: {item.value.algorithm.value}'\n\t\t\treturn output\n\t\treturn None\n\n\tdef _prev_hostname(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\treturn f'{tr(\"Hostname\")}: {item.value}'\n\t\treturn None\n\n\tdef _prev_parallel_dw(self, item: MenuItem) -> str | None:\n\t\tif item.value is not None:\n\t\t\treturn f'{tr(\"Parallel Downloads\")}: {item.value}'\n\t\treturn None\n\n\tdef _prev_kernel(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\tkernel = ', '.join(item.value)\n\t\t\treturn f'{tr(\"Kernel\")}: {kernel}'\n\t\treturn None\n\n\tdef _prev_bootloader_config(self, item: MenuItem) -> str | None:\n\t\tbootloader_config: BootloaderConfiguration | None = item.value\n\t\tif bootloader_config:\n\t\t\treturn bootloader_config.preview(self._uefi)\n\t\treturn None\n\n\tdef _validate_bootloader(self) -> str | None:\n\t\t\"\"\"\n\t\tChecks the selected bootloader is valid for the selected filesystem\n\t\ttype of the boot partition.\n\n\t\tReturns [`None`] if the bootloader is valid, otherwise returns a\n\t\tstring with the error message.\n\t\t\"\"\"\n\t\tbootloader_config: BootloaderConfiguration | None = None\n\t\troot_partition: PartitionModification | None = None\n\t\tboot_partition: PartitionModification | None = None\n\t\tefi_partition: PartitionModification | None = None\n\n\t\tbootloader_config = self._item_group.find_by_key('bootloader_config').value\n\n\t\tif not bootloader_config or bootloader_config.bootloader == Bootloader.NO_BOOTLOADER:\n\t\t\treturn None\n\n\t\tbootloader = bootloader_config.bootloader\n\n\t\tif disk_config := self._item_group.find_by_key('disk_config').value:\n\t\t\tfor layout in disk_config.device_modifications:\n\t\t\t\tif root_partition := layout.get_root_partition():\n\t\t\t\t\tbreak\n\t\t\tfor layout in disk_config.device_modifications:\n\t\t\t\tif boot_partition := layout.get_boot_partition():\n\t\t\t\t\tbreak\n\t\t\tif self._uefi:\n\t\t\t\tfor layout in disk_config.device_modifications:\n\t\t\t\t\tif efi_partition := layout.get_efi_partition():\n\t\t\t\t\t\tbreak\n\t\telse:\n\t\t\treturn 'No disk layout selected'\n\n\t\tif root_partition is None:\n\t\t\treturn 'Root partition not found'\n\n\t\tif boot_partition is None:\n\t\t\treturn 'Boot partition not found'\n\n\t\tif self._uefi:\n\t\t\tif efi_partition is None:\n\t\t\t\treturn 'EFI system partition (ESP) not found'\n\n\t\t\tif efi_partition.fs_type not in [FilesystemType.Fat12, FilesystemType.Fat16, FilesystemType.Fat32]:\n\t\t\t\treturn 'ESP must be formatted as a FAT filesystem'\n\n\t\tif bootloader == Bootloader.Limine:\n\t\t\tif boot_partition.fs_type not in [FilesystemType.Fat12, FilesystemType.Fat16, FilesystemType.Fat32]:\n\t\t\t\treturn 'Limine does not support booting with a non-FAT boot partition'\n\n\t\telif bootloader == Bootloader.Refind:\n\t\t\tif not self._uefi:\n\t\t\t\treturn 'rEFInd can only be used on UEFI systems'\n\n\t\treturn None\n\n\tdef _prev_install_invalid_config(self, item: MenuItem) -> str | None:\n\t\tif missing := self._missing_configs():\n\t\t\ttext = tr('Missing configurations:\\n')\n\t\t\tfor m in missing:\n\t\t\t\ttext += f'- {m}\\n'\n\t\t\treturn text[:-1]  # remove last new line\n\n\t\tif error := self._validate_bootloader():\n\t\t\treturn tr(f'Invalid configuration: {error}')\n\n\t\treturn None\n\n\tdef _prev_profile(self, item: MenuItem) -> str | None:\n\t\tprofile_config: ProfileConfiguration | None = item.value\n\n\t\tif profile_config and profile_config.profile:\n\t\t\toutput = tr('Profiles') + ': '\n\t\t\tif profile_names := profile_config.profile.current_selection_names():\n\t\t\t\toutput += ', '.join(profile_names) + '\\n'\n\t\t\telse:\n\t\t\t\toutput += profile_config.profile.name + '\\n'\n\n\t\t\tif profile_config.gfx_driver:\n\t\t\t\toutput += tr('Graphics driver') + ': ' + profile_config.gfx_driver.value + '\\n'\n\n\t\t\tif profile_config.greeter:\n\t\t\t\toutput += tr('Greeter') + ': ' + profile_config.greeter.value + '\\n'\n\n\t\t\treturn output\n\n\t\treturn None\n\n\tasync def _select_disk_config(\n\t\tself,\n\t\tpreset: DiskLayoutConfiguration | None = None,\n\t) -> DiskLayoutConfiguration | None:\n\t\tdisk_config = await DiskLayoutConfigurationMenu(preset).show()\n\t\treturn disk_config\n\n\tasync def _select_bootloader_config(\n\t\tself,\n\t\tpreset: BootloaderConfiguration | None = None,\n\t) -> BootloaderConfiguration | None:\n\t\tif preset is None:\n\t\t\tpreset = BootloaderConfiguration.get_default(self._uefi, self._skip_boot)\n\n\t\tbootloader_config = await BootloaderMenu(preset, self._uefi, self._skip_boot).show()\n\n\t\treturn bootloader_config\n\n\tasync def _select_profile(self, current_profile: ProfileConfiguration | None) -> ProfileConfiguration | None:\n\t\tfrom archinstall.lib.profile.profile_menu import ProfileMenu\n\n\t\tprofile_config = await ProfileMenu(preset=current_profile).show()\n\t\treturn profile_config\n\n\tasync def _select_additional_packages(self, preset: list[str]) -> list[str]:\n\t\tconfig: MirrorConfiguration | None = self._item_group.find_by_key('mirror_config').value\n\n\t\trepositories: set[Repository] = set()\n\t\tif config:\n\t\t\trepositories = set(config.optional_repositories)\n\n\t\tpackages = await select_additional_packages(\n\t\t\tpreset,\n\t\t\trepositories=repositories,\n\t\t)\n\n\t\treturn packages\n\n\tasync def _mirror_configuration(self, preset: MirrorConfiguration | None = None) -> MirrorConfiguration | None:\n\t\tif self._mirror_list_handler is None:\n\t\t\tself._mirror_list_handler = MirrorListHandler()\n\n\t\tmirror_configuration = await MirrorMenu(self._mirror_list_handler, preset=preset).run()\n\n\t\tif mirror_configuration and mirror_configuration.optional_repositories:\n\t\t\t# reset the package list cache in case the repository selection has changed\n\t\t\tlist_available_packages.cache_clear()\n\n\t\t\t# enable the repositories in the config\n\t\t\tpacman_config = PacmanConfig(None)\n\t\t\tpacman_config.enable(mirror_configuration.optional_repositories)\n\t\t\tpacman_config.apply()\n\n\t\treturn mirror_configuration\n\n\tdef _prev_mirror_config(self, item: MenuItem) -> str | None:\n\t\tif not item.value:\n\t\t\treturn None\n\n\t\tmirror_config: MirrorConfiguration = item.value\n\n\t\toutput = ''\n\t\tif mirror_config.mirror_regions:\n\t\t\ttitle = tr('Selected mirror regions')\n\t\t\tdivider = '-' * len(title)\n\t\t\tregions = mirror_config.region_names\n\t\t\toutput += f'{title}\\n{divider}\\n{regions}\\n\\n'\n\n\t\tif mirror_config.custom_servers:\n\t\t\ttitle = tr('Custom servers')\n\t\t\tdivider = '-' * len(title)\n\t\t\tservers = mirror_config.custom_server_urls\n\t\t\toutput += f'{title}\\n{divider}\\n{servers}\\n\\n'\n\n\t\tif mirror_config.optional_repositories:\n\t\t\ttitle = tr('Optional repositories')\n\t\t\tdivider = '-' * len(title)\n\t\t\trepos = ', '.join(r.value for r in mirror_config.optional_repositories)\n\t\t\toutput += f'{title}\\n{divider}\\n{repos}\\n\\n'\n\n\t\tif mirror_config.custom_repositories:\n\t\t\ttitle = tr('Custom repositories')\n\t\t\ttable = FormattedOutput.as_table(mirror_config.custom_repositories)\n\t\t\toutput += f'{title}:\\n\\n{table}'\n\n\t\treturn output.strip()\n"
  },
  {
    "path": "archinstall/lib/hardware.py",
    "content": "import os\nfrom enum import Enum\nfrom functools import cached_property\nfrom pathlib import Path\nfrom typing import Self\n\nfrom archinstall.lib.command import SysCommand\nfrom archinstall.lib.exceptions import SysCallError\nfrom archinstall.lib.networking import enrich_iface_types, list_interfaces\nfrom archinstall.lib.output import debug\nfrom archinstall.lib.translationhandler import tr\n\n\nclass CpuVendor(Enum):\n\tAuthenticAMD = 'amd'\n\tGenuineIntel = 'intel'\n\t_Unknown = 'unknown'\n\n\t@classmethod\n\tdef get_vendor(cls, name: str) -> Self:\n\t\tif vendor := getattr(cls, name, None):\n\t\t\treturn vendor\n\t\telse:\n\t\t\tdebug(f\"Unknown CPU vendor '{name}' detected.\")\n\t\t\treturn cls._Unknown\n\n\tdef _has_microcode(self) -> bool:\n\t\tmatch self:\n\t\t\tcase CpuVendor.AuthenticAMD | CpuVendor.GenuineIntel:\n\t\t\t\treturn True\n\t\t\tcase _:\n\t\t\t\treturn False\n\n\tdef get_ucode(self) -> Path | None:\n\t\tif self._has_microcode():\n\t\t\treturn Path(self.value + '-ucode.img')\n\t\treturn None\n\n\nclass GfxPackage(Enum):\n\tDkms = 'dkms'\n\tIntelMediaDriver = 'intel-media-driver'\n\tLibvaIntelDriver = 'libva-intel-driver'\n\tLibvaMesaDriver = 'libva-mesa-driver'\n\tLibvaNvidiaDriver = 'libva-nvidia-driver'\n\tMesa = 'mesa'\n\tNvidiaDkms = 'nvidia-dkms'\n\tNvidiaOpenDkms = 'nvidia-open-dkms'\n\tVulkanIntel = 'vulkan-intel'\n\tVulkanRadeon = 'vulkan-radeon'\n\tVulkanNouveau = 'vulkan-nouveau'\n\tXf86VideoAmdgpu = 'xf86-video-amdgpu'\n\tXf86VideoAti = 'xf86-video-ati'\n\tXf86VideoNouveau = 'xf86-video-nouveau'\n\tXorgServer = 'xorg-server'\n\tXorgXinit = 'xorg-xinit'\n\n\nclass GfxDriver(Enum):\n\tAllOpenSource = 'All open-source'\n\tAmdOpenSource = 'AMD / ATI (open-source)'\n\tIntelOpenSource = 'Intel (open-source)'\n\tNvidiaOpenKernel = 'Nvidia (open kernel module for newer GPUs, Turing+)'\n\tNvidiaOpenSource = 'Nvidia (open-source nouveau driver)'\n\tNvidiaProprietary = 'Nvidia (proprietary)'\n\tVMOpenSource = 'VirtualBox (open-source)'\n\n\tdef is_nvidia(self) -> bool:\n\t\tmatch self:\n\t\t\tcase GfxDriver.NvidiaProprietary | GfxDriver.NvidiaOpenSource | GfxDriver.NvidiaOpenKernel:\n\t\t\t\treturn True\n\t\t\tcase _:\n\t\t\t\treturn False\n\n\tdef packages_text(self) -> str:\n\t\tpkg_names = [p.value for p in self.gfx_packages()]\n\t\ttext = tr('Installed packages') + ':\\n'\n\n\t\tfor p in sorted(pkg_names):\n\t\t\ttext += f'\\t- {p}\\n'\n\n\t\treturn text\n\n\tdef gfx_packages(self) -> list[GfxPackage]:\n\t\tpackages = [GfxPackage.XorgServer, GfxPackage.XorgXinit]\n\n\t\tmatch self:\n\t\t\tcase GfxDriver.AllOpenSource:\n\t\t\t\tpackages += [\n\t\t\t\t\tGfxPackage.Mesa,\n\t\t\t\t\tGfxPackage.Xf86VideoAmdgpu,\n\t\t\t\t\tGfxPackage.Xf86VideoAti,\n\t\t\t\t\tGfxPackage.Xf86VideoNouveau,\n\t\t\t\t\tGfxPackage.LibvaMesaDriver,\n\t\t\t\t\tGfxPackage.LibvaIntelDriver,\n\t\t\t\t\tGfxPackage.IntelMediaDriver,\n\t\t\t\t\tGfxPackage.VulkanRadeon,\n\t\t\t\t\tGfxPackage.VulkanIntel,\n\t\t\t\t\tGfxPackage.VulkanNouveau,\n\t\t\t\t]\n\t\t\tcase GfxDriver.AmdOpenSource:\n\t\t\t\tpackages += [\n\t\t\t\t\tGfxPackage.Mesa,\n\t\t\t\t\tGfxPackage.Xf86VideoAmdgpu,\n\t\t\t\t\tGfxPackage.Xf86VideoAti,\n\t\t\t\t\tGfxPackage.LibvaMesaDriver,\n\t\t\t\t\tGfxPackage.VulkanRadeon,\n\t\t\t\t]\n\t\t\tcase GfxDriver.IntelOpenSource:\n\t\t\t\tpackages += [\n\t\t\t\t\tGfxPackage.Mesa,\n\t\t\t\t\tGfxPackage.LibvaIntelDriver,\n\t\t\t\t\tGfxPackage.IntelMediaDriver,\n\t\t\t\t\tGfxPackage.VulkanIntel,\n\t\t\t\t]\n\t\t\tcase GfxDriver.NvidiaOpenKernel:\n\t\t\t\tpackages += [\n\t\t\t\t\tGfxPackage.NvidiaOpenDkms,\n\t\t\t\t\tGfxPackage.Dkms,\n\t\t\t\t\tGfxPackage.LibvaNvidiaDriver,\n\t\t\t\t]\n\t\t\tcase GfxDriver.NvidiaOpenSource:\n\t\t\t\tpackages += [\n\t\t\t\t\tGfxPackage.Mesa,\n\t\t\t\t\tGfxPackage.Xf86VideoNouveau,\n\t\t\t\t\tGfxPackage.LibvaMesaDriver,\n\t\t\t\t\tGfxPackage.VulkanNouveau,\n\t\t\t\t]\n\t\t\tcase GfxDriver.NvidiaProprietary:\n\t\t\t\tpackages += [\n\t\t\t\t\tGfxPackage.NvidiaDkms,\n\t\t\t\t\tGfxPackage.Dkms,\n\t\t\t\t\tGfxPackage.LibvaNvidiaDriver,\n\t\t\t\t]\n\t\t\tcase GfxDriver.VMOpenSource:\n\t\t\t\tpackages += [\n\t\t\t\t\tGfxPackage.Mesa,\n\t\t\t\t]\n\n\t\treturn packages\n\n\nclass _SysInfo:\n\tdef __init__(self) -> None:\n\t\tpass\n\n\t@cached_property\n\tdef has_battery(self) -> bool:\n\t\tfor type_path in Path('/sys/class/power_supply/').glob('*/type'):\n\t\t\ttry:\n\t\t\t\twith open(type_path) as f:\n\t\t\t\t\tif f.read().strip() == 'Battery':\n\t\t\t\t\t\treturn True\n\t\t\texcept OSError:\n\t\t\t\tcontinue\n\n\t\treturn False\n\n\t@cached_property\n\tdef cpu_info(self) -> dict[str, str]:\n\t\t\"\"\"\n\t\tReturns system cpu information\n\t\t\"\"\"\n\t\tcpu_info_path = Path('/proc/cpuinfo')\n\t\tcpu: dict[str, str] = {}\n\n\t\twith cpu_info_path.open() as file:\n\t\t\tfor line in file:\n\t\t\t\tif line := line.strip():\n\t\t\t\t\tkey, value = line.split(':', maxsplit=1)\n\t\t\t\t\tcpu[key.strip()] = value.strip()\n\n\t\treturn cpu\n\n\t@cached_property\n\tdef mem_info(self) -> dict[str, int]:\n\t\t\"\"\"\n\t\tReturns system memory information\n\t\t\"\"\"\n\t\tmem_info_path = Path('/proc/meminfo')\n\t\tmem_info: dict[str, int] = {}\n\n\t\twith mem_info_path.open() as file:\n\t\t\tfor line in file:\n\t\t\t\tkey, value = line.strip().split(':')\n\t\t\t\tnum = value.split()[0]\n\t\t\t\tmem_info[key] = int(num)\n\n\t\treturn mem_info\n\n\tdef mem_info_by_key(self, key: str) -> int:\n\t\treturn self.mem_info[key]\n\n\t@cached_property\n\tdef loaded_modules(self) -> list[str]:\n\t\t\"\"\"\n\t\tReturns loaded kernel modules\n\t\t\"\"\"\n\t\tmodules_path = Path('/proc/modules')\n\t\tmodules: list[str] = []\n\n\t\twith modules_path.open() as file:\n\t\t\tfor line in file:\n\t\t\t\tmodule = line.split(maxsplit=1)[0]\n\t\t\t\tmodules.append(module)\n\n\t\treturn modules\n\n\t@cached_property\n\tdef graphics_devices(self) -> dict[str, str]:\n\t\t\"\"\"\n\t\tReturns detected graphics devices (cached)\n\t\t\"\"\"\n\t\tcards: dict[str, str] = {}\n\t\tfor line in SysCommand('lspci'):\n\t\t\tif b' VGA ' in line or b' 3D ' in line:\n\t\t\t\t_, identifier = line.split(b': ', 1)\n\t\t\t\tcards[identifier.strip().decode('UTF-8')] = str(line)\n\t\treturn cards\n\n\n_sys_info = _SysInfo()\n\n\nclass SysInfo:\n\t@staticmethod\n\tdef has_battery() -> bool:\n\t\treturn _sys_info.has_battery\n\n\t@staticmethod\n\tdef has_wifi() -> bool:\n\t\tifaces = list(list_interfaces().values())\n\t\treturn 'WIRELESS' in enrich_iface_types(ifaces).values()\n\n\t@staticmethod\n\tdef has_uefi() -> bool:\n\t\treturn os.path.isdir('/sys/firmware/efi')\n\n\t@staticmethod\n\tdef _graphics_devices() -> dict[str, str]:\n\t\treturn _sys_info.graphics_devices\n\n\t@staticmethod\n\tdef has_nvidia_graphics() -> bool:\n\t\treturn any('nvidia' in x.lower() for x in _sys_info.graphics_devices)\n\n\t@staticmethod\n\tdef has_amd_graphics() -> bool:\n\t\treturn any('amd' in x.lower() for x in _sys_info.graphics_devices)\n\n\t@staticmethod\n\tdef has_intel_graphics() -> bool:\n\t\treturn any('intel' in x.lower() for x in _sys_info.graphics_devices)\n\n\t@staticmethod\n\tdef cpu_vendor() -> CpuVendor | None:\n\t\tif vendor := _sys_info.cpu_info.get('vendor_id'):\n\t\t\treturn CpuVendor.get_vendor(vendor)\n\t\treturn None\n\n\t@staticmethod\n\tdef cpu_model() -> str | None:\n\t\treturn _sys_info.cpu_info.get('model name', None)\n\n\t@staticmethod\n\tdef sys_vendor() -> str | None:\n\t\ttry:\n\t\t\twith open('/sys/devices/virtual/dmi/id/sys_vendor') as vendor:\n\t\t\t\treturn vendor.read().strip()\n\t\texcept FileNotFoundError:\n\t\t\treturn None\n\n\t@staticmethod\n\tdef product_name() -> str | None:\n\t\ttry:\n\t\t\twith open('/sys/devices/virtual/dmi/id/product_name') as product:\n\t\t\t\treturn product.read().strip()\n\t\texcept FileNotFoundError:\n\t\t\treturn None\n\n\t@staticmethod\n\tdef mem_available() -> int:\n\t\treturn _sys_info.mem_info_by_key('MemAvailable')\n\n\t@staticmethod\n\tdef mem_free() -> int:\n\t\treturn _sys_info.mem_info_by_key('MemFree')\n\n\t@staticmethod\n\tdef mem_total() -> int:\n\t\treturn _sys_info.mem_info_by_key('MemTotal')\n\n\t@staticmethod\n\tdef virtualization() -> str | None:\n\t\ttry:\n\t\t\treturn str(SysCommand('systemd-detect-virt')).strip('\\r\\n')\n\t\texcept SysCallError as err:\n\t\t\tdebug(f'Could not detect virtual system: {err}')\n\n\t\treturn None\n\n\t@staticmethod\n\tdef is_vm() -> bool:\n\t\ttry:\n\t\t\tresult = SysCommand('systemd-detect-virt')\n\t\t\treturn b'none' not in b''.join(result).lower()\n\t\texcept SysCallError as err:\n\t\t\tdebug(f'System is not running in a VM: {err}')\n\n\t\treturn False\n\n\t@staticmethod\n\tdef requires_sof_fw() -> bool:\n\t\treturn 'snd_sof' in _sys_info.loaded_modules\n\n\t@staticmethod\n\tdef requires_alsa_fw() -> bool:\n\t\tmodules = (\n\t\t\t'snd_asihpi',\n\t\t\t'snd_cs46xx',\n\t\t\t'snd_darla20',\n\t\t\t'snd_darla24',\n\t\t\t'snd_echo3g',\n\t\t\t'snd_emu10k1',\n\t\t\t'snd_gina20',\n\t\t\t'snd_gina24',\n\t\t\t'snd_hda_codec_ca0132',\n\t\t\t'snd_hdsp',\n\t\t\t'snd_indigo',\n\t\t\t'snd_indigodj',\n\t\t\t'snd_indigodjx',\n\t\t\t'snd_indigoio',\n\t\t\t'snd_indigoiox',\n\t\t\t'snd_layla20',\n\t\t\t'snd_layla24',\n\t\t\t'snd_mia',\n\t\t\t'snd_mixart',\n\t\t\t'snd_mona',\n\t\t\t'snd_pcxhr',\n\t\t\t'snd_vx_lib',\n\t\t)\n\n\t\tfor loaded_module in _sys_info.loaded_modules:\n\t\t\tif loaded_module in modules:\n\t\t\t\treturn True\n\n\t\treturn False\n"
  },
  {
    "path": "archinstall/lib/installer.py",
    "content": "import glob\nimport os\nimport platform\nimport re\nimport shlex\nimport shutil\nimport stat\nimport subprocess\nimport textwrap\nimport time\nfrom collections.abc import Callable\nfrom pathlib import Path\nfrom subprocess import CalledProcessError\nfrom types import TracebackType\nfrom typing import Any, Self\n\nfrom archinstall.lib.boot import Boot\nfrom archinstall.lib.command import SysCommand, run\nfrom archinstall.lib.disk.fido import Fido2\nfrom archinstall.lib.disk.lvm import lvm_import_vg, lvm_pvseg_info, lvm_vol_change\nfrom archinstall.lib.disk.utils import (\n\tget_lsblk_by_mountpoint,\n\tget_lsblk_info,\n\tget_parent_device_path,\n\tget_unique_path_for_device,\n\tmount,\n\tswapon,\n)\nfrom archinstall.lib.exceptions import DiskError, HardwareIncompatibilityError, RequirementError, ServiceException, SysCallError\nfrom archinstall.lib.hardware import SysInfo\nfrom archinstall.lib.locale.utils import verify_keyboard_layout, verify_x11_keyboard_layout\nfrom archinstall.lib.luks import Luks2, unlock_luks2_dev\nfrom archinstall.lib.mirror.mirror_handler import MirrorListHandler\nfrom archinstall.lib.models.application import ZramAlgorithm\nfrom archinstall.lib.models.bootloader import Bootloader\nfrom archinstall.lib.models.device import (\n\tDiskEncryption,\n\tDiskLayoutConfiguration,\n\tEncryptionType,\n\tFilesystemType,\n\tLvmVolume,\n\tPartitionModification,\n\tSectorSize,\n\tSize,\n\tSnapshotType,\n\tSubvolumeModification,\n\tUnit,\n)\nfrom archinstall.lib.models.locale import LocaleConfiguration\nfrom archinstall.lib.models.mirrors import MirrorConfiguration\nfrom archinstall.lib.models.network import Nic\nfrom archinstall.lib.models.packages import Repository\nfrom archinstall.lib.models.users import User\nfrom archinstall.lib.output import debug, error, info, log, logger, warn\nfrom archinstall.lib.packages.packages import installed_package\nfrom archinstall.lib.pacman.config import PacmanConfig\nfrom archinstall.lib.pacman.pacman import Pacman\nfrom archinstall.lib.plugins import plugins\nfrom archinstall.lib.translationhandler import tr\n\n# Any package that the Installer() is responsible for (optional and the default ones)\n__packages__ = ['base', 'sudo', 'linux-firmware', 'linux', 'linux-lts', 'linux-zen', 'linux-hardened']\n\n# Additional packages that are installed if the user is running the Live ISO with accessibility tools enabled\n__accessibility_packages__ = ['brltty', 'espeakup', 'alsa-utils']\n\n\nclass Installer:\n\tdef __init__(\n\t\tself,\n\t\ttarget: Path,\n\t\tdisk_config: DiskLayoutConfiguration,\n\t\tbase_packages: list[str] = [],\n\t\tkernels: list[str] | None = None,\n\t\tsilent: bool = False,\n\t):\n\t\t\"\"\"\n\t\t`Installer()` is the wrapper for most basic installation steps.\n\t\tIt also wraps :py:func:`~archinstall.Installer.pacstrap` among other things.\n\t\t\"\"\"\n\t\tself._base_packages = base_packages or __packages__[:3]\n\t\tself.kernels = kernels or ['linux']\n\t\tself._disk_config = disk_config\n\n\t\tself._disk_encryption = disk_config.disk_encryption or DiskEncryption(EncryptionType.NoEncryption)\n\t\tself.target: Path = target\n\n\t\tself.init_time = time.strftime('%Y-%m-%d_%H-%M-%S')\n\t\tself._helper_flags: dict[str, str | bool | None] = {\n\t\t\t'base': False,\n\t\t\t'bootloader': None,\n\t\t}\n\n\t\tfor kernel in self.kernels:\n\t\t\tself._base_packages.append(kernel)\n\n\t\t# If using accessibility tools in the live environment, append those to the packages list\n\t\tif accessibility_tools_in_use():\n\t\t\tself._base_packages.extend(__accessibility_packages__)\n\n\t\tself.post_base_install: list[Callable] = []  # type: ignore[type-arg]\n\n\t\tself._modules: list[str] = []\n\t\tself._binaries: list[str] = []\n\t\tself._files: list[str] = []\n\n\t\t# systemd, sd-vconsole and sd-encrypt will be replaced by udev, keymap and encrypt\n\t\t# if HSM is not used to encrypt the root volume. Check mkinitcpio() function for that override.\n\t\tself._hooks: list[str] = [\n\t\t\t'base',\n\t\t\t'systemd',\n\t\t\t'autodetect',\n\t\t\t'microcode',\n\t\t\t'modconf',\n\t\t\t'kms',\n\t\t\t'keyboard',\n\t\t\t'sd-vconsole',\n\t\t\t'block',\n\t\t\t'filesystems',\n\t\t\t'fsck',\n\t\t]\n\t\tself._kernel_params: list[str] = []\n\t\tself._fstab_entries: list[str] = []\n\n\t\tself._zram_enabled = False\n\t\tself._disable_fstrim = False\n\n\t\tself.pacman = Pacman(self.target, silent)\n\n\tdef __enter__(self) -> Self:\n\t\treturn self\n\n\tdef __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) -> bool | None:\n\t\tif exc_type is not None:\n\t\t\terror(str(exc_value))\n\n\t\t\tself.sync_log_to_install_medium()\n\n\t\t\t# We avoid printing /mnt/<log path> because that might confuse people if they note it down\n\t\t\t# and then reboot, and an identical log file will be found in the ISO medium anyway.\n\t\t\tprint(tr('[!] A log file has been created here: {}').format(logger.path))\n\t\t\tprint(tr('Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues'))\n\n\t\t\t# Return None to propagate the exception\n\t\t\treturn None\n\n\t\tinfo(tr('Syncing the system...'))\n\t\tos.sync()\n\n\t\tif not (missing_steps := self.post_install_check()):\n\t\t\tmsg = f'Installation completed without any errors.\\nLog files temporarily available at {logger.directory}.\\nYou may reboot when ready.\\n'\n\t\t\tlog(msg, fg='green')\n\t\t\tself.sync_log_to_install_medium()\n\t\t\treturn True\n\t\telse:\n\t\t\twarn('Some required steps were not successfully installed/configured before leaving the installer:')\n\n\t\t\tfor step in missing_steps:\n\t\t\t\twarn(f' - {step}')\n\n\t\t\twarn(f'Detailed error logs can be found at: {logger.directory}')\n\t\t\twarn('Submit this zip file as an issue to https://github.com/archlinux/archinstall/issues')\n\n\t\t\tself.sync_log_to_install_medium()\n\t\t\treturn False\n\n\tdef remove_mod(self, mod: str) -> None:\n\t\tif mod in self._modules:\n\t\t\tself._modules.remove(mod)\n\n\tdef append_mod(self, mod: str) -> None:\n\t\tif mod not in self._modules:\n\t\t\tself._modules.append(mod)\n\n\tdef _verify_service_stop(self, offline: bool, skip_ntp: bool, skip_wkd: bool) -> None:\n\t\t\"\"\"\n\t\tCertain services might be running that affects the system during installation.\n\t\tOne such service is \"reflector.service\" which updates /etc/pacman.d/mirrorlist\n\t\tWe need to wait for it before we continue since we opted in to use a custom mirror/region.\n\t\t\"\"\"\n\n\t\tif not skip_ntp:\n\t\t\tinfo(tr('Waiting for time sync (timedatectl show) to complete.'))\n\n\t\t\tstarted_wait = time.time()\n\t\t\tnotified = False\n\t\t\twhile True:\n\t\t\t\tif not notified and time.time() - started_wait > 5:\n\t\t\t\t\tnotified = True\n\t\t\t\t\twarn(tr('Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/'))\n\n\t\t\t\ttime_val = SysCommand('timedatectl show --property=NTPSynchronized --value').decode()\n\t\t\t\tif time_val and time_val.strip() == 'yes':\n\t\t\t\t\tbreak\n\t\t\t\ttime.sleep(1)\n\t\telse:\n\t\t\tinfo(tr('Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)'))\n\n\t\tif not offline:\n\t\t\tinfo('Waiting for automatic mirror selection (reflector) to complete.')\n\t\t\tfor _ in range(60):\n\t\t\t\tif self._service_state('reflector') in ('dead', 'failed', 'exited'):\n\t\t\t\t\tbreak\n\t\t\t\ttime.sleep(1)\n\t\t\telse:\n\t\t\t\twarn('Reflector did not complete within 60 seconds, continuing anyway...')\n\t\telse:\n\t\t\tinfo('Skipped reflector...')\n\n\t\t# info('Waiting for pacman-init.service to complete.')\n\t\t# while self._service_state('pacman-init') not in ('dead', 'failed', 'exited'):\n\t\t# time.sleep(1)\n\n\t\tif not skip_wkd:\n\t\t\tinfo(tr('Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.'))\n\t\t\t# Wait for the timer to kick in\n\t\t\twhile self._service_started('archlinux-keyring-wkd-sync.timer') is None:\n\t\t\t\ttime.sleep(1)\n\n\t\t\t# Wait for the service to enter a finished state\n\t\t\twhile self._service_state('archlinux-keyring-wkd-sync.service') not in ('dead', 'failed', 'exited'):\n\t\t\t\ttime.sleep(1)\n\n\tdef _verify_boot_part(self) -> None:\n\t\t\"\"\"\n\t\tCheck that mounted /boot device has at minimum size for installation\n\t\tThe reason this check is here is to catch pre-mounted device configuration and potentially\n\t\tconfigured one that has not gone through any previous checks (e.g. --silence mode)\n\n\t\tNOTE: this function should be run AFTER running the mount_ordered_layout function\n\t\t\"\"\"\n\t\tboot_mount = self.target / 'boot'\n\t\tlsblk_info = get_lsblk_by_mountpoint(boot_mount)\n\n\t\tif len(lsblk_info) > 0:\n\t\t\tif lsblk_info[0].size < Size(200, Unit.MiB, SectorSize.default()):\n\t\t\t\traise DiskError(\n\t\t\t\t\tf'The boot partition mounted at {boot_mount} is not large enough to install a boot loader. '\n\t\t\t\t\tf'Please resize it to at least 200MiB and re-run the installation.',\n\t\t\t\t)\n\n\tdef sanity_check(\n\t\tself,\n\t\toffline: bool = False,\n\t\tskip_ntp: bool = False,\n\t\tskip_wkd: bool = False,\n\t) -> None:\n\t\t# self._verify_boot_part()\n\t\tself._verify_service_stop(offline, skip_ntp, skip_wkd)\n\n\tdef mount_ordered_layout(self) -> None:\n\t\tdebug('Mounting ordered layout')\n\n\t\tluks_handlers: dict[Any, Luks2] = {}\n\n\t\tmatch self._disk_encryption.encryption_type:\n\t\t\tcase EncryptionType.NoEncryption:\n\t\t\t\tself._import_lvm()\n\t\t\t\tself._mount_lvm_layout()\n\t\t\tcase EncryptionType.Luks:\n\t\t\t\tluks_handlers = self._prepare_luks_partitions(self._disk_encryption.partitions)\n\t\t\tcase EncryptionType.LvmOnLuks:\n\t\t\t\tluks_handlers = self._prepare_luks_partitions(self._disk_encryption.partitions)\n\t\t\t\tself._import_lvm()\n\t\t\t\tself._mount_lvm_layout(luks_handlers)\n\t\t\tcase EncryptionType.LuksOnLvm:\n\t\t\t\tself._import_lvm()\n\t\t\t\tluks_handlers = self._prepare_luks_lvm(self._disk_encryption.lvm_volumes)\n\t\t\t\tself._mount_lvm_layout(luks_handlers)\n\n\t\t# mount all regular partitions\n\t\tself._mount_partition_layout(luks_handlers)\n\n\tdef _mount_partition_layout(self, luks_handlers: dict[Any, Luks2]) -> None:\n\t\tdebug('Mounting partition layout')\n\n\t\t# do not mount any PVs part of the LVM configuration\n\t\tpvs = []\n\t\tif self._disk_config.lvm_config:\n\t\t\tpvs = self._disk_config.lvm_config.get_all_pvs()\n\n\t\tsorted_device_mods = self._disk_config.device_modifications.copy()\n\n\t\t# move the device with the root partition to the beginning of the list\n\t\tfor mod in self._disk_config.device_modifications:\n\t\t\tif any(partition.is_root() for partition in mod.partitions):\n\t\t\t\tsorted_device_mods.remove(mod)\n\t\t\t\tsorted_device_mods.insert(0, mod)\n\t\t\t\tbreak\n\n\t\tfor mod in sorted_device_mods:\n\t\t\tnot_pv_part_mods = [p for p in mod.partitions if p not in pvs]\n\n\t\t\t# partitions have to mounted in the right order on btrfs the mountpoint will\n\t\t\t# be empty as the actual subvolumes are getting mounted instead so we'll use\n\t\t\t# '/' just for sorting\n\t\t\tsorted_part_mods = sorted(not_pv_part_mods, key=lambda x: x.mountpoint or Path('/'))\n\n\t\t\tfor part_mod in sorted_part_mods:\n\t\t\t\tif luks_handler := luks_handlers.get(part_mod):\n\t\t\t\t\tself._mount_luks_partition(part_mod, luks_handler)\n\t\t\t\telse:\n\t\t\t\t\tself._mount_partition(part_mod)\n\n\tdef _mount_lvm_layout(self, luks_handlers: dict[Any, Luks2] = {}) -> None:\n\t\tlvm_config = self._disk_config.lvm_config\n\n\t\tif not lvm_config:\n\t\t\tdebug('No lvm config defined to be mounted')\n\t\t\treturn\n\n\t\tdebug('Mounting LVM layout')\n\n\t\tfor vg in lvm_config.vol_groups:\n\t\t\tsorted_vol = sorted(vg.volumes, key=lambda x: x.mountpoint or Path('/'))\n\n\t\t\tfor vol in sorted_vol:\n\t\t\t\tif luks_handler := luks_handlers.get(vol):\n\t\t\t\t\tself._mount_luks_volume(vol, luks_handler)\n\t\t\t\telse:\n\t\t\t\t\tself._mount_lvm_vol(vol)\n\n\tdef _prepare_luks_partitions(\n\t\tself,\n\t\tpartitions: list[PartitionModification],\n\t) -> dict[PartitionModification, Luks2]:\n\t\treturn {\n\t\t\tpart_mod: unlock_luks2_dev(\n\t\t\t\tpart_mod.dev_path,\n\t\t\t\tpart_mod.mapper_name,\n\t\t\t\tself._disk_encryption.encryption_password,\n\t\t\t)\n\t\t\tfor part_mod in partitions\n\t\t\tif part_mod.mapper_name and part_mod.dev_path\n\t\t}\n\n\tdef _import_lvm(self) -> None:\n\t\tlvm_config = self._disk_config.lvm_config\n\n\t\tif not lvm_config:\n\t\t\tdebug('No lvm config defined to be imported')\n\t\t\treturn\n\n\t\tfor vg in lvm_config.vol_groups:\n\t\t\tlvm_import_vg(vg)\n\n\t\t\tfor vol in vg.volumes:\n\t\t\t\tlvm_vol_change(vol, True)\n\n\tdef _prepare_luks_lvm(\n\t\tself,\n\t\tlvm_volumes: list[LvmVolume],\n\t) -> dict[LvmVolume, Luks2]:\n\t\treturn {\n\t\t\tvol: unlock_luks2_dev(\n\t\t\t\tvol.dev_path,\n\t\t\t\tvol.mapper_name,\n\t\t\t\tself._disk_encryption.encryption_password,\n\t\t\t)\n\t\t\tfor vol in lvm_volumes\n\t\t\tif vol.mapper_name and vol.dev_path\n\t\t}\n\n\tdef _mount_partition(self, part_mod: PartitionModification) -> None:\n\t\tif not part_mod.dev_path:\n\t\t\treturn\n\n\t\t# it would be none if it's btrfs as the subvolumes will have the mountpoints defined\n\t\tif part_mod.mountpoint:\n\t\t\ttarget = self.target / part_mod.relative_mountpoint\n\t\t\tmount(part_mod.dev_path, target, options=part_mod.mount_options)\n\t\telif part_mod.fs_type == FilesystemType.Btrfs:\n\t\t\t# Only mount BTRFS subvolumes that have mountpoints specified\n\t\t\tsubvols_with_mountpoints = [sv for sv in part_mod.btrfs_subvols if sv.mountpoint is not None]\n\t\t\tif subvols_with_mountpoints:\n\t\t\t\tself._mount_btrfs_subvol(\n\t\t\t\t\tpart_mod.dev_path,\n\t\t\t\t\tpart_mod.btrfs_subvols,\n\t\t\t\t\tpart_mod.mount_options,\n\t\t\t\t)\n\t\telif part_mod.is_swap():\n\t\t\tswapon(part_mod.dev_path)\n\n\tdef _mount_lvm_vol(self, volume: LvmVolume) -> None:\n\t\tif volume.fs_type != FilesystemType.Btrfs:\n\t\t\tif volume.mountpoint and volume.dev_path:\n\t\t\t\ttarget = self.target / volume.relative_mountpoint\n\t\t\t\tmount(volume.dev_path, target, options=volume.mount_options)\n\n\t\tif volume.fs_type == FilesystemType.Btrfs and volume.dev_path:\n\t\t\t# Only mount BTRFS subvolumes that have mountpoints specified\n\t\t\tsubvols_with_mountpoints = [sv for sv in volume.btrfs_subvols if sv.mountpoint is not None]\n\t\t\tif subvols_with_mountpoints:\n\t\t\t\tself._mount_btrfs_subvol(volume.dev_path, volume.btrfs_subvols, volume.mount_options)\n\n\tdef _mount_luks_partition(self, part_mod: PartitionModification, luks_handler: Luks2) -> None:\n\t\tif not luks_handler.mapper_dev:\n\t\t\treturn None\n\n\t\tif part_mod.fs_type == FilesystemType.Btrfs and part_mod.btrfs_subvols:\n\t\t\t# Only mount BTRFS subvolumes that have mountpoints specified\n\t\t\tsubvols_with_mountpoints = [sv for sv in part_mod.btrfs_subvols if sv.mountpoint is not None]\n\t\t\tif subvols_with_mountpoints:\n\t\t\t\tself._mount_btrfs_subvol(luks_handler.mapper_dev, part_mod.btrfs_subvols, part_mod.mount_options)\n\t\telif part_mod.mountpoint:\n\t\t\ttarget = self.target / part_mod.relative_mountpoint\n\t\t\tmount(luks_handler.mapper_dev, target, options=part_mod.mount_options)\n\n\tdef _mount_luks_volume(self, volume: LvmVolume, luks_handler: Luks2) -> None:\n\t\tif volume.fs_type != FilesystemType.Btrfs:\n\t\t\tif volume.mountpoint and luks_handler.mapper_dev:\n\t\t\t\ttarget = self.target / volume.relative_mountpoint\n\t\t\t\tmount(luks_handler.mapper_dev, target, options=volume.mount_options)\n\n\t\tif volume.fs_type == FilesystemType.Btrfs and luks_handler.mapper_dev:\n\t\t\t# Only mount BTRFS subvolumes that have mountpoints specified\n\t\t\tsubvols_with_mountpoints = [sv for sv in volume.btrfs_subvols if sv.mountpoint is not None]\n\t\t\tif subvols_with_mountpoints:\n\t\t\t\tself._mount_btrfs_subvol(luks_handler.mapper_dev, volume.btrfs_subvols, volume.mount_options)\n\n\tdef _mount_btrfs_subvol(\n\t\tself,\n\t\tdev_path: Path,\n\t\tsubvolumes: list[SubvolumeModification],\n\t\tmount_options: list[str] = [],\n\t) -> None:\n\t\t# Filter out subvolumes without mountpoints to avoid errors when sorting\n\t\tsubvols_with_mountpoints = [sv for sv in subvolumes if sv.mountpoint is not None]\n\t\tfor subvol in sorted(subvols_with_mountpoints, key=lambda x: x.relative_mountpoint):\n\t\t\tmountpoint = self.target / subvol.relative_mountpoint\n\t\t\toptions = mount_options + [f'subvol={subvol.name}']\n\t\t\tmount(dev_path, mountpoint, options=options)\n\n\tdef generate_key_files(self) -> None:\n\t\tmatch self._disk_encryption.encryption_type:\n\t\t\tcase EncryptionType.Luks:\n\t\t\t\tself._generate_key_files_partitions()\n\t\t\tcase EncryptionType.LuksOnLvm:\n\t\t\t\tself._generate_key_file_lvm_volumes()\n\t\t\tcase EncryptionType.LvmOnLuks:\n\t\t\t\t# currently LvmOnLuks only supports a single\n\t\t\t\t# partitioning layout (boot + partition)\n\t\t\t\t# so we won't need any keyfile generation atm\n\t\t\t\tpass\n\n\tdef _generate_key_files_partitions(self) -> None:\n\t\tfor part_mod in self._disk_encryption.partitions:\n\t\t\tgen_enc_file = self._disk_encryption.should_generate_encryption_file(part_mod)\n\n\t\t\tluks_handler = Luks2(\n\t\t\t\tpart_mod.safe_dev_path,\n\t\t\t\tmapper_name=part_mod.mapper_name,\n\t\t\t\tpassword=self._disk_encryption.encryption_password,\n\t\t\t)\n\n\t\t\tif gen_enc_file and not part_mod.is_root():\n\t\t\t\tdebug(f'Creating key-file: {part_mod.dev_path}')\n\t\t\t\tluks_handler.create_keyfile(self.target)\n\n\t\t\tif part_mod.is_root() and not gen_enc_file:\n\t\t\t\tif self._disk_encryption.hsm_device:\n\t\t\t\t\tif self._disk_encryption.encryption_password:\n\t\t\t\t\t\tFido2.fido2_enroll(\n\t\t\t\t\t\t\tself._disk_encryption.hsm_device,\n\t\t\t\t\t\t\tpart_mod.safe_dev_path,\n\t\t\t\t\t\t\tself._disk_encryption.encryption_password,\n\t\t\t\t\t\t)\n\n\tdef _generate_key_file_lvm_volumes(self) -> None:\n\t\tfor vol in self._disk_encryption.lvm_volumes:\n\t\t\tgen_enc_file = self._disk_encryption.should_generate_encryption_file(vol)\n\n\t\t\tluks_handler = Luks2(\n\t\t\t\tvol.safe_dev_path,\n\t\t\t\tmapper_name=vol.mapper_name,\n\t\t\t\tpassword=self._disk_encryption.encryption_password,\n\t\t\t)\n\n\t\t\tif gen_enc_file and not vol.is_root():\n\t\t\t\tinfo(f'Creating key-file: {vol.dev_path}')\n\t\t\t\tluks_handler.create_keyfile(self.target)\n\n\t\t\tif vol.is_root() and not gen_enc_file:\n\t\t\t\tif self._disk_encryption.hsm_device:\n\t\t\t\t\tif self._disk_encryption.encryption_password:\n\t\t\t\t\t\tFido2.fido2_enroll(\n\t\t\t\t\t\t\tself._disk_encryption.hsm_device,\n\t\t\t\t\t\t\tvol.safe_dev_path,\n\t\t\t\t\t\t\tself._disk_encryption.encryption_password,\n\t\t\t\t\t\t)\n\n\tdef sync_log_to_install_medium(self) -> bool:\n\t\t# Copy over the install log (if there is one) to the install medium if\n\t\t# at least the base has been strapped in, otherwise we won't have a filesystem/structure to copy to.\n\t\tif self._helper_flags.get('base-strapped', False) is True:\n\t\t\tabsolute_logfile = logger.path\n\n\t\t\tif not os.path.isdir(f'{self.target}/{os.path.dirname(absolute_logfile)}'):\n\t\t\t\tos.makedirs(f'{self.target}/{os.path.dirname(absolute_logfile)}')\n\n\t\t\tshutil.copy2(absolute_logfile, f'{self.target}/{absolute_logfile}')\n\n\t\treturn True\n\n\tdef add_swapfile(self, size: str = '4G', enable_resume: bool = True, file: str = '/swapfile') -> None:\n\t\tif file[:1] != '/':\n\t\t\tfile = f'/{file}'\n\t\tif len(file.strip()) <= 0 or file == '/':\n\t\t\traise ValueError(f'The filename for the swap file has to be a valid path, not: {self.target}{file}')\n\n\t\tSysCommand(f'dd if=/dev/zero of={self.target}{file} bs={size} count=1')\n\t\tSysCommand(f'chmod 0600 {self.target}{file}')\n\t\tSysCommand(f'mkswap {self.target}{file}')\n\n\t\tself._fstab_entries.append(f'{file} none swap defaults 0 0')\n\n\t\tif enable_resume:\n\t\t\tresume_uuid = SysCommand(f'findmnt -no UUID -T {self.target}{file}').decode()\n\t\t\tresume_offset = (\n\t\t\t\tSysCommand(\n\t\t\t\t\tf'filefrag -v {self.target}{file}',\n\t\t\t\t)\n\t\t\t\t.decode()\n\t\t\t\t.split('0:', 1)[1]\n\t\t\t\t.split(':', 1)[1]\n\t\t\t\t.split('..', 1)[0]\n\t\t\t\t.strip()\n\t\t\t)\n\n\t\t\tself._hooks.append('resume')\n\t\t\tself._kernel_params.append(f'resume=UUID={resume_uuid}')\n\t\t\tself._kernel_params.append(f'resume_offset={resume_offset}')\n\n\tdef post_install_check(self, *args: str, **kwargs: str) -> list[str]:\n\t\treturn [step for step, flag in self._helper_flags.items() if flag is False]\n\n\tdef set_mirrors(\n\t\tself,\n\t\tmirror_list_handler: MirrorListHandler,\n\t\tmirror_config: MirrorConfiguration,\n\t\ton_target: bool = False,\n\t) -> None:\n\t\t\"\"\"\n\t\tSet the mirror configuration for the installation.\n\n\t\t:param mirror_config: The mirror configuration to use.\n\t\t:type mirror_config: MirrorConfiguration\n\n\t\t:on_target: Whether to set the mirrors on the target system or the live system.\n\t\t:param on_target: bool\n\t\t\"\"\"\n\t\tdebug('Setting mirrors on ' + ('target' if on_target else 'live system'))\n\n\t\tfor plugin in plugins.values():\n\t\t\tif hasattr(plugin, 'on_mirrors'):\n\t\t\t\tif result := plugin.on_mirrors(mirror_config):\n\t\t\t\t\tmirror_config = result\n\n\t\troot = self.target if on_target else Path('/')\n\t\tmirrorlist_config = root / 'etc/pacman.d/mirrorlist'\n\t\tpacman_config = root / 'etc/pacman.conf'\n\n\t\trepositories_config = mirror_config.repositories_config()\n\t\tif repositories_config:\n\t\t\tdebug(f'Pacman config: {repositories_config}')\n\n\t\t\twith open(pacman_config, 'a') as fp:\n\t\t\t\tfp.write(repositories_config)\n\n\t\tregions_config = mirror_config.regions_config(mirror_list_handler, speed_sort=True)\n\t\tif regions_config:\n\t\t\tdebug(f'Mirrorlist:\\n{regions_config}')\n\t\t\tmirrorlist_config.write_text(regions_config)\n\n\t\tcustom_servers = mirror_config.custom_servers_config()\n\t\tif custom_servers:\n\t\t\tdebug(f'Custom servers:\\n{custom_servers}')\n\n\t\t\tcontent = mirrorlist_config.read_text()\n\t\t\tmirrorlist_config.write_text(f'{custom_servers}\\n\\n{content}')\n\n\tdef genfstab(self, flags: str = '-pU') -> None:\n\t\tfstab_path = self.target / 'etc' / 'fstab'\n\t\tinfo(f'Updating {fstab_path}')\n\n\t\ttry:\n\t\t\tgen_fstab = SysCommand(f'genfstab {flags} -f {self.target} {self.target}').output()\n\t\texcept SysCallError as err:\n\t\t\traise RequirementError(f'Could not generate fstab, strapping in packages most likely failed (disk out of space?)\\n Error: {err}')\n\n\t\twith open(fstab_path, 'ab') as fp:\n\t\t\tfp.write(gen_fstab)\n\n\t\tif not fstab_path.is_file():\n\t\t\traise RequirementError('Could not create fstab file')\n\n\t\tfor plugin in plugins.values():\n\t\t\tif hasattr(plugin, 'on_genfstab'):\n\t\t\t\tif plugin.on_genfstab(self) is True:\n\t\t\t\t\tbreak\n\n\t\twith open(fstab_path, 'a') as fp:\n\t\t\tfor entry in self._fstab_entries:\n\t\t\t\tfp.write(f'{entry}\\n')\n\n\tdef set_hostname(self, hostname: str) -> None:\n\t\t(self.target / 'etc/hostname').write_text(hostname + '\\n')\n\n\tdef set_locale(self, locale_config: LocaleConfiguration) -> bool:\n\t\tmodifier = ''\n\t\tlang = locale_config.sys_lang\n\t\tencoding = locale_config.sys_enc\n\n\t\t# This is a temporary patch to fix #1200\n\t\tif '.' in locale_config.sys_lang:\n\t\t\tlang, potential_encoding = locale_config.sys_lang.split('.', 1)\n\n\t\t\t# Override encoding if encoding is set to the default parameter\n\t\t\t# and the \"found\" encoding differs.\n\t\t\tif locale_config.sys_enc == 'UTF-8' and locale_config.sys_enc != potential_encoding:\n\t\t\t\tencoding = potential_encoding\n\n\t\t# Make sure we extract the modifier, that way we can put it in if needed.\n\t\tif '@' in locale_config.sys_lang:\n\t\t\tlang, modifier = locale_config.sys_lang.split('@', 1)\n\t\t\tmodifier = f'@{modifier}'\n\t\t# - End patch\n\n\t\tlocale_gen = self.target / 'etc/locale.gen'\n\t\tlocale_gen_lines = locale_gen.read_text().splitlines(True)\n\n\t\t# A locale entry in /etc/locale.gen may or may not contain the encoding\n\t\t# in the first column of the entry; check for both cases.\n\t\tentry_re = re.compile(rf'#{lang}(\\.{encoding})?{modifier} {encoding}')\n\n\t\tlang_value = None\n\t\tfor index, line in enumerate(locale_gen_lines):\n\t\t\tif entry_re.match(line):\n\t\t\t\tuncommented_line = line.removeprefix('#')\n\t\t\t\tlocale_gen_lines[index] = uncommented_line\n\t\t\t\tlocale_gen.write_text(''.join(locale_gen_lines))\n\t\t\t\tlang_value = uncommented_line.split()[0]\n\t\t\t\tbreak\n\n\t\tif lang_value is None:\n\t\t\terror(f\"Invalid locale: language '{locale_config.sys_lang}', encoding '{locale_config.sys_enc}'\")\n\t\t\treturn False\n\n\t\ttry:\n\t\t\tself.arch_chroot('locale-gen')\n\t\texcept SysCallError as e:\n\t\t\terror(f'Failed to run locale-gen on target: {e}')\n\t\t\treturn False\n\n\t\t(self.target / 'etc/locale.conf').write_text(f'LANG={lang_value}\\n')\n\t\treturn True\n\n\tdef set_timezone(self, zone: str) -> bool:\n\t\tif not zone:\n\t\t\treturn True\n\t\tif not len(zone):\n\t\t\treturn True  # Redundant\n\n\t\tfor plugin in plugins.values():\n\t\t\tif hasattr(plugin, 'on_timezone'):\n\t\t\t\tif result := plugin.on_timezone(zone):\n\t\t\t\t\tzone = result\n\n\t\tif (Path('/usr') / 'share' / 'zoneinfo' / zone).exists():\n\t\t\t(Path(self.target) / 'etc' / 'localtime').unlink(missing_ok=True)\n\t\t\tself.arch_chroot(f'ln -s /usr/share/zoneinfo/{zone} /etc/localtime')\n\t\t\treturn True\n\n\t\telse:\n\t\t\twarn(f'Time zone {zone} does not exist, continuing with system default')\n\n\t\treturn False\n\n\tdef activate_time_synchronization(self) -> None:\n\t\tinfo('Activating systemd-timesyncd for time synchronization using Arch Linux and ntp.org NTP servers')\n\t\tself.enable_service('systemd-timesyncd')\n\n\tdef enable_espeakup(self) -> None:\n\t\tinfo('Enabling espeakup.service for speech synthesis (accessibility)')\n\t\tself.enable_service('espeakup')\n\n\tdef enable_periodic_trim(self) -> None:\n\t\tinfo('Enabling periodic TRIM')\n\t\t# fstrim is owned by util-linux, a dependency of both base and systemd.\n\t\tself.enable_service('fstrim.timer')\n\n\tdef enable_service(self, services: str | list[str]) -> None:\n\t\tif isinstance(services, str):\n\t\t\tservices = [services]\n\n\t\tfor service in services:\n\t\t\tinfo(f'Enabling service {service}')\n\n\t\t\ttry:\n\t\t\t\tSysCommand(f'systemctl --root={self.target} enable {service}')\n\t\t\texcept SysCallError as err:\n\t\t\t\traise ServiceException(f'Unable to start service {service}: {err}')\n\n\t\t\tfor plugin in plugins.values():\n\t\t\t\tif hasattr(plugin, 'on_service'):\n\t\t\t\t\tplugin.on_service(service)\n\n\tdef disable_service(self, services_disable: str | list[str]) -> None:\n\t\tif isinstance(services_disable, str):\n\t\t\tservices_disable = [services_disable]\n\n\t\tfor service in services_disable:\n\t\t\tinfo(f'Disabling service {service}')\n\n\t\t\ttry:\n\t\t\t\tSysCommand(f'systemctl --root={self.target} disable {service}')\n\t\t\texcept SysCallError as err:\n\t\t\t\traise ServiceException(f'Unable to disable service {service}: {err}')\n\n\tdef run_command(self, cmd: str, peek_output: bool = False) -> SysCommand:\n\t\treturn SysCommand(f'arch-chroot -S {self.target} {cmd}', peek_output=peek_output)\n\n\tdef arch_chroot(self, cmd: str, run_as: str | None = None, peek_output: bool = False) -> SysCommand:\n\t\tif run_as:\n\t\t\tcmd = f'su - {run_as} -c {shlex.quote(cmd)}'\n\n\t\treturn self.run_command(cmd, peek_output=peek_output)\n\n\tdef drop_to_shell(self) -> None:\n\t\tsubprocess.check_call(f'arch-chroot {self.target}', shell=True)\n\n\tdef configure_nic(self, nic: Nic) -> None:\n\t\tconf = nic.as_systemd_config()\n\n\t\tfor plugin in plugins.values():\n\t\t\tif hasattr(plugin, 'on_configure_nic'):\n\t\t\t\tconf = (\n\t\t\t\t\tplugin.on_configure_nic(\n\t\t\t\t\t\tnic.iface,\n\t\t\t\t\t\tnic.dhcp,\n\t\t\t\t\t\tnic.ip,\n\t\t\t\t\t\tnic.gateway,\n\t\t\t\t\t\tnic.dns,\n\t\t\t\t\t)\n\t\t\t\t\tor conf\n\t\t\t\t)\n\n\t\twith open(f'{self.target}/etc/systemd/network/10-{nic.iface}.network', 'a') as netconf:\n\t\t\tnetconf.write(str(conf))\n\n\tdef copy_iso_network_config(self, enable_services: bool = False) -> bool:\n\t\t# Copy (if any) iwd password and config files\n\t\tif os.path.isdir('/var/lib/iwd/'):\n\t\t\tif psk_files := glob.glob('/var/lib/iwd/*.psk'):\n\t\t\t\tif not os.path.isdir(f'{self.target}/var/lib/iwd'):\n\t\t\t\t\tos.makedirs(f'{self.target}/var/lib/iwd')\n\n\t\t\t\tif enable_services:\n\t\t\t\t\t# If we haven't installed the base yet (function called pre-maturely)\n\t\t\t\t\tif self._helper_flags.get('base', False) is False:\n\t\t\t\t\t\tself._base_packages.append('iwd')\n\n\t\t\t\t\t\t# This function will be called after minimal_installation()\n\t\t\t\t\t\t# as a hook for post-installs. This hook is only needed if\n\t\t\t\t\t\t# base is not installed yet.\n\t\t\t\t\t\tdef post_install_enable_iwd_service(*args: str, **kwargs: str) -> None:\n\t\t\t\t\t\t\tself.enable_service('iwd')\n\n\t\t\t\t\t\tself.post_base_install.append(post_install_enable_iwd_service)\n\t\t\t\t\t# Otherwise, we can go ahead and add the required package\n\t\t\t\t\t# and enable it's service:\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.pacman.strap('iwd')\n\t\t\t\t\t\tself.enable_service('iwd')\n\n\t\t\t\tfor psk in psk_files:\n\t\t\t\t\tshutil.copy2(psk, f'{self.target}/var/lib/iwd/{os.path.basename(psk)}')\n\n\t\t# Enable systemd-resolved by (forcefully) setting a symlink\n\t\t# For further details see  https://wiki.archlinux.org/title/Systemd-resolved#DNS\n\t\tresolv_config_path = Path(f'{self.target}/etc/resolv.conf')\n\t\tif resolv_config_path.exists():\n\t\t\tos.unlink(resolv_config_path)\n\t\tos.symlink('/run/systemd/resolve/stub-resolv.conf', resolv_config_path)\n\n\t\t# Copy (if any) systemd-networkd config files\n\t\tif netconfigurations := glob.glob('/etc/systemd/network/*'):\n\t\t\tif not os.path.isdir(f'{self.target}/etc/systemd/network/'):\n\t\t\t\tos.makedirs(f'{self.target}/etc/systemd/network/')\n\n\t\t\tfor netconf_file in netconfigurations:\n\t\t\t\tshutil.copy2(netconf_file, f'{self.target}/etc/systemd/network/{os.path.basename(netconf_file)}')\n\n\t\t\tif enable_services:\n\t\t\t\t# If we haven't installed the base yet (function called pre-maturely)\n\t\t\t\tif self._helper_flags.get('base', False) is False:\n\n\t\t\t\t\tdef post_install_enable_networkd_resolved(*args: str, **kwargs: str) -> None:\n\t\t\t\t\t\tself.enable_service(['systemd-networkd', 'systemd-resolved'])\n\n\t\t\t\t\tself.post_base_install.append(post_install_enable_networkd_resolved)\n\t\t\t\t# Otherwise, we can go ahead and enable the services\n\t\t\t\telse:\n\t\t\t\t\tself.enable_service(['systemd-networkd', 'systemd-resolved'])\n\n\t\treturn True\n\n\tdef mkinitcpio(self, flags: list[str]) -> bool:\n\t\tfor plugin in plugins.values():\n\t\t\tif hasattr(plugin, 'on_mkinitcpio'):\n\t\t\t\t# Allow plugins to override the usage of mkinitcpio altogether.\n\t\t\t\tif plugin.on_mkinitcpio(self):\n\t\t\t\t\treturn True\n\n\t\twith open(f'{self.target}/etc/mkinitcpio.conf', 'r+') as mkinit:\n\t\t\tcontent = mkinit.read()\n\t\t\tcontent = re.sub('\\nMODULES=(.*)', f'\\nMODULES=({\" \".join(self._modules)})', content)\n\t\t\tcontent = re.sub('\\nBINARIES=(.*)', f'\\nBINARIES=({\" \".join(self._binaries)})', content)\n\t\t\tcontent = re.sub('\\nFILES=(.*)', f'\\nFILES=({\" \".join(self._files)})', content)\n\n\t\t\tif not self._disk_encryption.hsm_device:\n\t\t\t\t# For now, if we don't use HSM we revert to the old\n\t\t\t\t# way of setting up encryption hooks for mkinitcpio.\n\t\t\t\t# This is purely for stability reasons, we're going away from this.\n\t\t\t\t# * systemd -> udev\n\t\t\t\t# * sd-vconsole -> keymap\n\t\t\t\tself._hooks = [hook.replace('systemd', 'udev').replace('sd-vconsole', 'keymap consolefont') for hook in self._hooks]\n\n\t\t\tcontent = re.sub('\\nHOOKS=(.*)', f'\\nHOOKS=({\" \".join(self._hooks)})', content)\n\t\t\tmkinit.seek(0)\n\t\t\tmkinit.truncate()\n\t\t\tmkinit.write(content)\n\n\t\ttry:\n\t\t\tself.arch_chroot(f'mkinitcpio {\" \".join(flags)}', peek_output=True)\n\t\t\treturn True\n\t\texcept SysCallError as e:\n\t\t\tif e.worker_log:\n\t\t\t\tlog(e.worker_log.decode())\n\t\t\treturn False\n\n\tdef _get_microcode(self) -> Path | None:\n\t\tif not SysInfo.is_vm():\n\t\t\tif vendor := SysInfo.cpu_vendor():\n\t\t\t\treturn vendor.get_ucode()\n\t\treturn None\n\n\tdef _prepare_fs_type(\n\t\tself,\n\t\tfs_type: FilesystemType,\n\t\tmountpoint: Path | None,\n\t) -> None:\n\t\tif (pkg := fs_type.installation_pkg) is not None:\n\t\t\tself._base_packages.append(pkg)\n\n\t\t# https://github.com/archlinux/archinstall/issues/1837\n\t\tif fs_type == FilesystemType.Btrfs:\n\t\t\tself._disable_fstrim = True\n\n\tdef _prepare_encrypt(self, before: str = 'filesystems') -> None:\n\t\tif self._disk_encryption.hsm_device:\n\t\t\t# Required by mkinitcpio to add support for fido2-device options\n\t\t\tself.pacman.strap('libfido2')\n\n\t\t\tif 'sd-encrypt' not in self._hooks:\n\t\t\t\tself._hooks.insert(self._hooks.index(before), 'sd-encrypt')\n\t\telse:\n\t\t\tif 'encrypt' not in self._hooks:\n\t\t\t\tself._hooks.insert(self._hooks.index(before), 'encrypt')\n\n\tdef minimal_installation(\n\t\tself,\n\t\toptional_repositories: list[Repository] = [],\n\t\tmkinitcpio: bool = True,\n\t\thostname: str | None = None,\n\t\tlocale_config: LocaleConfiguration | None = LocaleConfiguration.default(),\n\t) -> None:\n\t\tif self._disk_config.lvm_config:\n\t\t\tlvm = 'lvm2'\n\t\t\tself.add_additional_packages(lvm)\n\t\t\tself._hooks.insert(self._hooks.index('filesystems') - 1, lvm)\n\n\t\t\tfor vg in self._disk_config.lvm_config.vol_groups:\n\t\t\t\tfor vol in vg.volumes:\n\t\t\t\t\tif vol.fs_type is not None:\n\t\t\t\t\t\tself._prepare_fs_type(vol.fs_type, vol.mountpoint)\n\n\t\t\ttypes = (EncryptionType.LvmOnLuks, EncryptionType.LuksOnLvm)\n\t\t\tif self._disk_encryption.encryption_type in types:\n\t\t\t\tself._prepare_encrypt(lvm)\n\t\telse:\n\t\t\tfor mod in self._disk_config.device_modifications:\n\t\t\t\tfor part in mod.partitions:\n\t\t\t\t\tif part.fs_type is None:\n\t\t\t\t\t\tcontinue\n\n\t\t\t\t\tself._prepare_fs_type(part.fs_type, part.mountpoint)\n\n\t\t\t\t\tif part in self._disk_encryption.partitions:\n\t\t\t\t\t\tself._prepare_encrypt()\n\n\t\tif ucode := self._get_microcode():\n\t\t\t(self.target / 'boot' / ucode).unlink(missing_ok=True)\n\t\t\tself._base_packages.append(ucode.stem)\n\t\telse:\n\t\t\tdebug('Archinstall will not install any ucode.')\n\n\t\tdebug(f'Optional repositories: {optional_repositories}')\n\n\t\t# This action takes place on the host system as pacstrap copies over package repository lists.\n\t\tpacman_conf = PacmanConfig(self.target)\n\t\tpacman_conf.enable(optional_repositories)\n\t\tpacman_conf.apply()\n\n\t\tif locale_config:\n\t\t\tself.set_vconsole(locale_config)\n\n\t\tself.pacman.strap(self._base_packages)\n\t\tself._helper_flags['base-strapped'] = True\n\n\t\tpacman_conf.persist()\n\n\t\t# Periodic TRIM may improve the performance and longevity of SSDs whilst\n\t\t# having no adverse effect on other devices. Most distributions enable\n\t\t# periodic TRIM by default.\n\t\t#\n\t\t# https://github.com/archlinux/archinstall/issues/880\n\t\t# https://github.com/archlinux/archinstall/issues/1837\n\t\t# https://github.com/archlinux/archinstall/issues/1841\n\t\tif not self._disable_fstrim:\n\t\t\tself.enable_periodic_trim()\n\n\t\t# TODO: Support locale and timezone\n\t\t# os.remove(f'{self.target}/etc/localtime')\n\t\t# sys_command(f'arch-chroot {self.target} ln -s /usr/share/zoneinfo/{localtime} /etc/localtime')\n\t\t# sys_command('arch-chroot /mnt hwclock --hctosys --localtime')\n\t\tif hostname:\n\t\t\tself.set_hostname(hostname)\n\n\t\tif locale_config:\n\t\t\tself.set_locale(locale_config)\n\t\t\tself.set_keyboard_language(locale_config.kb_layout)\n\n\t\tif mkinitcpio and not self.mkinitcpio(['-P']):\n\t\t\terror('Error generating initramfs (continuing anyway)')\n\n\t\tself._helper_flags['base'] = True\n\n\t\t# Run registered post-install hooks\n\t\tfor function in self.post_base_install:\n\t\t\tinfo(f'Running post-installation hook: {function}')\n\t\t\tfunction(self)\n\n\t\tfor plugin in plugins.values():\n\t\t\tif hasattr(plugin, 'on_install'):\n\t\t\t\tplugin.on_install(self)\n\n\tdef setup_btrfs_snapshot(\n\t\tself,\n\t\tsnapshot_type: SnapshotType,\n\t\tbootloader: Bootloader | None = None,\n\t) -> None:\n\t\tif snapshot_type == SnapshotType.Snapper:\n\t\t\tdebug('Setting up Btrfs snapper')\n\t\t\tself.pacman.strap('snapper')\n\n\t\t\tsnapper: dict[str, str] = {\n\t\t\t\t'root': '/',\n\t\t\t\t'home': '/home',\n\t\t\t}\n\n\t\t\tfor config_name, mountpoint in snapper.items():\n\t\t\t\tcommand = [\n\t\t\t\t\t'arch-chroot',\n\t\t\t\t\t'-S',\n\t\t\t\t\tstr(self.target),\n\t\t\t\t\t'snapper',\n\t\t\t\t\t'--no-dbus',\n\t\t\t\t\t'-c',\n\t\t\t\t\tconfig_name,\n\t\t\t\t\t'create-config',\n\t\t\t\t\tmountpoint,\n\t\t\t\t]\n\n\t\t\t\ttry:\n\t\t\t\t\tSysCommand(command, peek_output=True)\n\t\t\t\texcept SysCallError as err:\n\t\t\t\t\traise DiskError(f'Could not setup Btrfs snapper: {err}')\n\n\t\t\tself.enable_service('snapper-timeline.timer')\n\t\t\tself.enable_service('snapper-cleanup.timer')\n\n\t\telif snapshot_type == SnapshotType.Timeshift:\n\t\t\tdebug('Setting up Btrfs timeshift')\n\n\t\t\tself.pacman.strap('cronie')\n\t\t\tself.pacman.strap('timeshift')\n\t\t\tself.enable_service('cronie.service')\n\n\t\tif bootloader and bootloader == Bootloader.Grub:\n\t\t\tdebug('Setting up grub integration for either')\n\t\t\tself.pacman.strap('grub-btrfs')\n\t\t\tself.pacman.strap('inotify-tools')\n\t\t\tself._configure_grub_btrfsd(snapshot_type)\n\t\t\tself.enable_service('grub-btrfsd.service')\n\n\tdef setup_swap(self, algo: ZramAlgorithm = ZramAlgorithm.ZSTD) -> None:\n\t\tinfo('Setting up swap on zram')\n\t\tself.pacman.strap('zram-generator')\n\n\t\tinfo(f'Zram compression algorithm: {algo.value}')\n\n\t\twith open(f'{self.target}/etc/systemd/zram-generator.conf', 'w') as zram_conf:\n\t\t\tzram_conf.write('[zram0]\\n')\n\t\t\tzram_conf.write(f'compression-algorithm = {algo.value}\\n')\n\n\t\tself.enable_service('systemd-zram-setup@zram0.service')\n\n\t\tself._zram_enabled = True\n\n\tdef _get_efi_partition(self) -> PartitionModification | None:\n\t\tfor layout in self._disk_config.device_modifications:\n\t\t\tif partition := layout.get_efi_partition():\n\t\t\t\treturn partition\n\t\treturn None\n\n\tdef _get_boot_partition(self) -> PartitionModification | None:\n\t\tfor layout in self._disk_config.device_modifications:\n\t\t\tif boot := layout.get_boot_partition():\n\t\t\t\treturn boot\n\t\treturn None\n\n\tdef _get_root(self) -> PartitionModification | LvmVolume | None:\n\t\tif self._disk_config.lvm_config:\n\t\t\treturn self._disk_config.lvm_config.get_root_volume()\n\t\telse:\n\t\t\tfor mod in self._disk_config.device_modifications:\n\t\t\t\tif root := mod.get_root_partition():\n\t\t\t\t\treturn root\n\t\treturn None\n\n\tdef _configure_grub_btrfsd(self, snapshot_type: SnapshotType) -> None:\n\t\tif snapshot_type == SnapshotType.Timeshift:\n\t\t\tsnapshot_path = '--timeshift-auto'\n\t\telif snapshot_type == SnapshotType.Snapper:\n\t\t\tsnapshot_path = '/.snapshots'\n\t\telse:\n\t\t\traise ValueError('Unsupported snapshot type')\n\n\t\tdebug(f'Configuring grub-btrfsd service for {snapshot_type} at {snapshot_path}')\n\n\t\t# Works for either snapper or ts just adapting default paths above\n\t\t# https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#id-1.14.3\n\t\tsystemd_dir = self.target / 'etc/systemd/system/grub-btrfsd.service.d'\n\t\tsystemd_dir.mkdir(parents=True, exist_ok=True)\n\n\t\toverride_conf = systemd_dir / 'override.conf'\n\n\t\tconfig_content = textwrap.dedent(\n\t\t\t\"\"\"\n\t\t\t[Service]\n\t\t\tExecStart=\n\t\t\tExecStart=/usr/bin/grub-btrfsd --syslog {snapshot_path}\n\t\t\t\"\"\"\n\t\t).format(snapshot_path=snapshot_path)\n\n\t\toverride_conf.write_text(config_content)\n\t\toverride_conf.chmod(0o644)\n\n\tdef _get_luks_uuid_from_mapper_dev(self, mapper_dev_path: Path) -> str:\n\t\tlsblk_info = get_lsblk_info(mapper_dev_path, reverse=True, full_dev_path=True)\n\n\t\tif not lsblk_info.children or not lsblk_info.children[0].uuid:\n\t\t\traise ValueError('Unable to determine UUID of luks superblock')\n\n\t\treturn lsblk_info.children[0].uuid\n\n\tdef _get_kernel_params_partition(\n\t\tself,\n\t\troot_partition: PartitionModification,\n\t\tid_root: bool = True,\n\t\tpartuuid: bool = True,\n\t) -> list[str]:\n\t\tkernel_parameters = []\n\n\t\tif root_partition in self._disk_encryption.partitions:\n\t\t\t# TODO: We need to detect if the encrypted device is a whole disk encryption,\n\t\t\t# or simply a partition encryption. Right now we assume it's a partition (and we always have)\n\n\t\t\tif self._disk_encryption.hsm_device:\n\t\t\t\tdebug(f'Root partition is an encrypted device, identifying by UUID: {root_partition.uuid}')\n\t\t\t\t# Note: UUID must be used, not PARTUUID for sd-encrypt to work\n\t\t\t\tkernel_parameters.append(f'rd.luks.name={root_partition.uuid}=root')\n\t\t\t\t# Note: tpm2-device and fido2-device don't play along very well:\n\t\t\t\t# https://github.com/archlinux/archinstall/pull/1196#issuecomment-1129715645\n\t\t\t\tkernel_parameters.append('rd.luks.options=fido2-device=auto,password-echo=no')\n\t\t\telif partuuid:\n\t\t\t\tdebug(f'Root partition is an encrypted device, identifying by PARTUUID: {root_partition.partuuid}')\n\t\t\t\tkernel_parameters.append(f'cryptdevice=PARTUUID={root_partition.partuuid}:root')\n\t\t\telse:\n\t\t\t\tdebug(f'Root partition is an encrypted device, identifying by UUID: {root_partition.uuid}')\n\t\t\t\tkernel_parameters.append(f'cryptdevice=UUID={root_partition.uuid}:root')\n\n\t\t\tif id_root:\n\t\t\t\tkernel_parameters.append('root=/dev/mapper/root')\n\t\telif id_root:\n\t\t\tif partuuid:\n\t\t\t\tdebug(f'Identifying root partition by PARTUUID: {root_partition.partuuid}')\n\t\t\t\tkernel_parameters.append(f'root=PARTUUID={root_partition.partuuid}')\n\t\t\telse:\n\t\t\t\tdebug(f'Identifying root partition by UUID: {root_partition.uuid}')\n\t\t\t\tkernel_parameters.append(f'root=UUID={root_partition.uuid}')\n\n\t\treturn kernel_parameters\n\n\tdef _get_kernel_params_lvm(\n\t\tself,\n\t\tlvm: LvmVolume,\n\t) -> list[str]:\n\t\tkernel_parameters = []\n\n\t\tmatch self._disk_encryption.encryption_type:\n\t\t\tcase EncryptionType.LvmOnLuks:\n\t\t\t\tif not lvm.vg_name:\n\t\t\t\t\traise ValueError(f'Unable to determine VG name for {lvm.name}')\n\n\t\t\t\tpv_seg_info = lvm_pvseg_info(lvm.vg_name, lvm.name)\n\n\t\t\t\tif not pv_seg_info:\n\t\t\t\t\traise ValueError(f'Unable to determine PV segment info for {lvm.vg_name}/{lvm.name}')\n\n\t\t\t\tuuid = self._get_luks_uuid_from_mapper_dev(pv_seg_info.pv_name)\n\n\t\t\t\tif self._disk_encryption.hsm_device:\n\t\t\t\t\tdebug(f'LvmOnLuks, encrypted root partition, HSM, identifying by UUID: {uuid}')\n\t\t\t\t\tkernel_parameters.append(f'rd.luks.name={uuid}=cryptlvm root={lvm.safe_dev_path}')\n\t\t\t\telse:\n\t\t\t\t\tdebug(f'LvmOnLuks, encrypted root partition, identifying by UUID: {uuid}')\n\t\t\t\t\tkernel_parameters.append(f'cryptdevice=UUID={uuid}:cryptlvm root={lvm.safe_dev_path}')\n\t\t\tcase EncryptionType.LuksOnLvm:\n\t\t\t\tuuid = self._get_luks_uuid_from_mapper_dev(lvm.mapper_path)\n\n\t\t\t\tif self._disk_encryption.hsm_device:\n\t\t\t\t\tdebug(f'LuksOnLvm, encrypted root partition, HSM, identifying by UUID: {uuid}')\n\t\t\t\t\tkernel_parameters.append(f'rd.luks.name={uuid}=root root=/dev/mapper/root')\n\t\t\t\telse:\n\t\t\t\t\tdebug(f'LuksOnLvm, encrypted root partition, identifying by UUID: {uuid}')\n\t\t\t\t\tkernel_parameters.append(f'cryptdevice=UUID={uuid}:root root=/dev/mapper/root')\n\t\t\tcase EncryptionType.NoEncryption:\n\t\t\t\tdebug(f'Identifying root lvm by mapper device: {lvm.dev_path}')\n\t\t\t\tkernel_parameters.append(f'root={lvm.safe_dev_path}')\n\n\t\treturn kernel_parameters\n\n\tdef _get_kernel_params(\n\t\tself,\n\t\troot: PartitionModification | LvmVolume,\n\t\tid_root: bool = True,\n\t\tpartuuid: bool = True,\n\t) -> list[str]:\n\t\tkernel_parameters = []\n\n\t\tif isinstance(root, LvmVolume):\n\t\t\tkernel_parameters = self._get_kernel_params_lvm(root)\n\t\telse:\n\t\t\tkernel_parameters = self._get_kernel_params_partition(root, id_root, partuuid)\n\n\t\t# Zswap should be disabled when using zram.\n\t\t# https://github.com/archlinux/archinstall/issues/881\n\t\tif self._zram_enabled:\n\t\t\tkernel_parameters.append('zswap.enabled=0')\n\n\t\tif id_root:\n\t\t\tfor sub_vol in root.btrfs_subvols:\n\t\t\t\tif sub_vol.is_root():\n\t\t\t\t\tkernel_parameters.append(f'rootflags=subvol={sub_vol.name}')\n\t\t\t\t\tbreak\n\n\t\t\tkernel_parameters.append('rw')\n\n\t\tkernel_parameters.append(f'rootfstype={root.safe_fs_type.value}')\n\t\tkernel_parameters.extend(self._kernel_params)\n\n\t\tdebug(f'kernel parameters: {\" \".join(kernel_parameters)}')\n\n\t\treturn kernel_parameters\n\n\tdef _create_bls_entries(\n\t\tself,\n\t\tboot_partition: PartitionModification,\n\t\troot: PartitionModification | LvmVolume,\n\t\tentry_name: str,\n\t) -> None:\n\t\t# Loader entries are stored in $BOOT/loader:\n\t\t# https://uapi-group.org/specifications/specs/boot_loader_specification/#mount-points\n\t\tentries_dir = self.target / boot_partition.relative_mountpoint / 'loader/entries'\n\t\t# Ensure that the $BOOT/loader/entries/ directory exists before trying to create files in it\n\t\tentries_dir.mkdir(parents=True, exist_ok=True)\n\n\t\tentry_template = textwrap.dedent(\n\t\t\tf\"\"\"\\\n\t\t\t# Created by: archinstall\n\t\t\t# Created on: {self.init_time}\n\t\t\ttitle\tArch Linux ({{kernel}})\n\t\t\tlinux\t/vmlinuz-{{kernel}}\n\t\t\tinitrd\t/initramfs-{{kernel}}.img\n\t\t\toptions {' '.join(self._get_kernel_params(root))}\n\t\t\t\"\"\",\n\t\t)\n\n\t\tfor kernel in self.kernels:\n\t\t\t# Setup the loader entry\n\t\t\tname = entry_name.format(kernel=kernel)\n\t\t\tentry_conf = entries_dir / name\n\t\t\tentry_conf.write_text(entry_template.format(kernel=kernel))\n\n\tdef _add_systemd_bootloader(\n\t\tself,\n\t\tboot_partition: PartitionModification,\n\t\troot: PartitionModification | LvmVolume,\n\t\tefi_partition: PartitionModification | None,\n\t\tuki_enabled: bool = False,\n\t) -> None:\n\t\tdebug('Installing systemd bootloader')\n\n\t\tself.pacman.strap('efibootmgr')\n\n\t\tif not SysInfo.has_uefi():\n\t\t\traise HardwareIncompatibilityError\n\n\t\tif not efi_partition:\n\t\t\traise ValueError('Could not detect EFI system partition')\n\t\telif not efi_partition.mountpoint:\n\t\t\traise ValueError('EFI system partition is not mounted')\n\n\t\t# TODO: Ideally we would want to check if another config\n\t\t# points towards the same disk and/or partition.\n\t\t# And in which case we should do some clean up.\n\t\tbootctl_options = []\n\n\t\tif boot_partition != efi_partition:\n\t\t\tbootctl_options.append(f'--esp-path={efi_partition.mountpoint}')\n\t\t\tbootctl_options.append(f'--boot-path={boot_partition.mountpoint}')\n\n\t\t# TODO: This is a temporary workaround to deal with https://github.com/archlinux/archinstall/pull/3396#issuecomment-2996862019\n\t\t# the systemd_version check can be removed once `--variables=BOOL` is merged into systemd.\n\t\tsystemd_pkg = installed_package('systemd')\n\n\t\t# keep the version as a str as it can be something like 257.8-2\n\t\tif systemd_pkg is not None:\n\t\t\tsystemd_version = systemd_pkg.version\n\t\telse:\n\t\t\tsystemd_version = '257'  # This works as a safety workaround for this hot-fix\n\n\t\ttry:\n\t\t\t# Force EFI variables since bootctl detects arch-chroot\n\t\t\t# as a container environment since v257 and skips them silently.\n\t\t\t# https://github.com/systemd/systemd/issues/36174\n\t\t\tif systemd_version >= '258':\n\t\t\t\tself.arch_chroot(f'bootctl --variables=yes {\" \".join(bootctl_options)} install')\n\t\t\telse:\n\t\t\t\tself.arch_chroot(f'bootctl {\" \".join(bootctl_options)} install')\n\t\texcept SysCallError:\n\t\t\tif systemd_version >= '258':\n\t\t\t\t# Fallback, try creating the boot loader without touching the EFI variables\n\t\t\t\tself.arch_chroot(f'bootctl --variables=no {\" \".join(bootctl_options)} install')\n\t\t\telse:\n\t\t\t\tself.arch_chroot(f'bootctl --no-variables {\" \".join(bootctl_options)} install')\n\n\t\t# Loader configuration is stored in ESP/loader:\n\t\t# https://man.archlinux.org/man/loader.conf.5\n\t\tloader_conf = self.target / efi_partition.relative_mountpoint / 'loader/loader.conf'\n\t\t# Ensure that the ESP/loader/ directory exists before trying to create a file in it\n\t\tloader_conf.parent.mkdir(parents=True, exist_ok=True)\n\n\t\tdefault_kernel = self.kernels[0]\n\t\tif uki_enabled:\n\t\t\tdefault_entry = f'arch-{default_kernel}.efi'\n\t\telse:\n\t\t\tentry_name = self.init_time + '_{kernel}.conf'\n\t\t\tdefault_entry = entry_name.format(kernel=default_kernel)\n\t\t\tself._create_bls_entries(boot_partition, root, entry_name)\n\n\t\tdefault = f'default {default_entry}'\n\n\t\t# Modify or create a loader.conf\n\t\ttry:\n\t\t\tloader_data = loader_conf.read_text().splitlines()\n\t\texcept FileNotFoundError:\n\t\t\tloader_data = [\n\t\t\t\tdefault,\n\t\t\t\t'timeout 15',\n\t\t\t]\n\t\telse:\n\t\t\tfor index, line in enumerate(loader_data):\n\t\t\t\tif line.startswith('default'):\n\t\t\t\t\tloader_data[index] = default\n\t\t\t\telif line.startswith('#timeout'):\n\t\t\t\t\t# We add in the default timeout to support dual-boot\n\t\t\t\t\tloader_data[index] = line.removeprefix('#')\n\n\t\tloader_conf.write_text('\\n'.join(loader_data) + '\\n')\n\n\t\tself._helper_flags['bootloader'] = 'systemd'\n\n\tdef _add_grub_bootloader(\n\t\tself,\n\t\tboot_partition: PartitionModification,\n\t\troot: PartitionModification | LvmVolume,\n\t\tefi_partition: PartitionModification | None,\n\t\tuki_enabled: bool = False,\n\t\tbootloader_removable: bool = False,\n\t) -> None:\n\t\tdebug('Installing grub bootloader')\n\n\t\tself.pacman.strap('grub')\n\n\t\tinfo(f'GRUB boot partition: {boot_partition.dev_path}')\n\n\t\tboot_dir = Path('/boot')\n\n\t\tcommand = [\n\t\t\t'arch-chroot',\n\t\t\t'-S',\n\t\t\tstr(self.target),\n\t\t\t'grub-install',\n\t\t\t'--debug',\n\t\t]\n\n\t\tif SysInfo.has_uefi():\n\t\t\tif not efi_partition:\n\t\t\t\traise ValueError('Could not detect efi partition')\n\n\t\t\tinfo(f'GRUB EFI partition: {efi_partition.dev_path}')\n\n\t\t\tself.pacman.strap('efibootmgr')  # TODO: Do we need? Yes, but remove from minimal_installation() instead?\n\n\t\t\tboot_dir_arg = []\n\t\t\tif boot_partition.mountpoint and boot_partition.mountpoint != boot_dir:\n\t\t\t\tboot_dir_arg.append(f'--boot-directory={boot_partition.mountpoint}')\n\t\t\t\tboot_dir = boot_partition.mountpoint\n\n\t\t\tadd_options = [\n\t\t\t\tf'--target={platform.machine()}-efi',\n\t\t\t\tf'--efi-directory={efi_partition.mountpoint}',\n\t\t\t\t*boot_dir_arg,\n\t\t\t\t'--bootloader-id=GRUB',\n\t\t\t]\n\n\t\t\tif bootloader_removable:\n\t\t\t\tadd_options.append('--removable')\n\n\t\t\tcommand.extend(add_options)\n\n\t\t\ttry:\n\t\t\t\tSysCommand(command, peek_output=True)\n\t\t\texcept SysCallError as err:\n\t\t\t\traise DiskError(f'Could not install GRUB to {self.target}{efi_partition.mountpoint}: {err}')\n\t\telse:\n\t\t\tinfo(f'GRUB boot partition: {boot_partition.dev_path}')\n\n\t\t\tparent_dev_path = get_parent_device_path(boot_partition.safe_dev_path)\n\n\t\t\tadd_options = [\n\t\t\t\t'--target=i386-pc',\n\t\t\t\t'--recheck',\n\t\t\t\tstr(parent_dev_path),\n\t\t\t]\n\n\t\t\ttry:\n\t\t\t\tSysCommand(command + add_options, peek_output=True)\n\t\t\texcept SysCallError as err:\n\t\t\t\traise DiskError(f'Failed to install GRUB boot on {boot_partition.dev_path}: {err}')\n\n\t\tif SysInfo.has_uefi() and uki_enabled:\n\t\t\tgrub_d = self.target / 'etc/grub.d'\n\t\t\tlinux_file = grub_d / '10_linux'\n\t\t\tuki_file = grub_d / '15_uki'\n\n\t\t\traw_str_platform = r'\\$grub_platform'\n\t\t\tspace_indent_cmd = '  uki'\n\t\t\tcontent = textwrap.dedent(\n\t\t\t\tf\"\"\"\\\n\t\t\t\t#! /bin/sh\n\t\t\t\tset -e\n\n\t\t\t\tcat << EOF\n\t\t\t\tif [ \"{raw_str_platform}\" = \"efi\" ]; then\n\t\t\t\t{space_indent_cmd}\n\t\t\t\tfi\n\t\t\t\tEOF\n\t\t\t\t\"\"\",\n\t\t\t)\n\n\t\t\ttry:\n\t\t\t\tmode = linux_file.stat().st_mode\n\t\t\t\tlinux_file.chmod(mode & ~(stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH))\n\t\t\t\tuki_file.write_text(content)\n\t\t\t\tuki_file.chmod(mode)\n\t\t\texcept OSError:\n\t\t\t\terror('Failed to enable UKI menu entries')\n\t\telse:\n\t\t\tgrub_default = self.target / 'etc/default/grub'\n\t\t\tconfig = grub_default.read_text()\n\n\t\t\tkernel_parameters = ' '.join(\n\t\t\t\tself._get_kernel_params(root, id_root=False, partuuid=False),\n\t\t\t)\n\t\t\tconfig = re.sub(\n\t\t\t\tr'^(GRUB_CMDLINE_LINUX=\")(\")$',\n\t\t\t\trf'\\1{kernel_parameters}\\2',\n\t\t\t\tconfig,\n\t\t\t\tcount=1,\n\t\t\t\tflags=re.MULTILINE,\n\t\t\t)\n\n\t\t\tgrub_default.write_text(config)\n\n\t\ttry:\n\t\t\tself.arch_chroot(\n\t\t\t\tf'grub-mkconfig -o {boot_dir}/grub/grub.cfg',\n\t\t\t)\n\t\texcept SysCallError as err:\n\t\t\traise DiskError(f'Could not configure GRUB: {err}')\n\n\t\tself._helper_flags['bootloader'] = 'grub'\n\n\tdef _add_limine_bootloader(\n\t\tself,\n\t\tboot_partition: PartitionModification,\n\t\tefi_partition: PartitionModification | None,\n\t\troot: PartitionModification | LvmVolume,\n\t\tuki_enabled: bool = False,\n\t\tbootloader_removable: bool = False,\n\t) -> None:\n\t\tdebug('Installing Limine bootloader')\n\n\t\tself.pacman.strap('limine')\n\n\t\tinfo(f'Limine boot partition: {boot_partition.dev_path}')\n\n\t\tlimine_path = self.target / 'usr' / 'share' / 'limine'\n\t\tconfig_path = None\n\t\thook_command = None\n\n\t\tif SysInfo.has_uefi():\n\t\t\tself.pacman.strap('efibootmgr')\n\n\t\t\tif not efi_partition:\n\t\t\t\traise ValueError('Could not detect efi partition')\n\t\t\telif not efi_partition.mountpoint:\n\t\t\t\traise ValueError('EFI partition is not mounted')\n\n\t\t\tinfo(f'Limine EFI partition: {efi_partition.dev_path}')\n\n\t\t\tparent_dev_path = get_parent_device_path(efi_partition.safe_dev_path)\n\n\t\t\ttry:\n\t\t\t\tefi_dir_path = self.target / efi_partition.mountpoint.relative_to('/') / 'EFI'\n\t\t\t\tefi_dir_path_target = efi_partition.mountpoint / 'EFI'\n\t\t\t\tif bootloader_removable:\n\t\t\t\t\tefi_dir_path = efi_dir_path / 'BOOT'\n\t\t\t\t\tefi_dir_path_target = efi_dir_path_target / 'BOOT'\n\n\t\t\t\t\tboot_limine_path = self.target / 'boot' / 'limine'\n\t\t\t\t\tboot_limine_path.mkdir(parents=True, exist_ok=True)\n\t\t\t\t\tconfig_path = boot_limine_path / 'limine.conf'\n\t\t\t\telse:\n\t\t\t\t\tefi_dir_path = efi_dir_path / 'arch-limine'\n\t\t\t\t\tefi_dir_path_target = efi_dir_path_target / 'arch-limine'\n\n\t\t\t\t\tconfig_path = efi_dir_path / 'limine.conf'\n\n\t\t\t\tefi_dir_path.mkdir(parents=True, exist_ok=True)\n\n\t\t\t\tfor file in ('BOOTIA32.EFI', 'BOOTX64.EFI'):\n\t\t\t\t\tshutil.copy(limine_path / file, efi_dir_path)\n\t\t\texcept Exception as err:\n\t\t\t\traise DiskError(f'Failed to install Limine in {self.target}{efi_partition.mountpoint}: {err}')\n\n\t\t\thook_command = (\n\t\t\t\tf'/usr/bin/cp /usr/share/limine/BOOTIA32.EFI {efi_dir_path_target}/ && /usr/bin/cp /usr/share/limine/BOOTX64.EFI {efi_dir_path_target}/'\n\t\t\t)\n\n\t\t\tif not bootloader_removable:\n\t\t\t\t# Create EFI boot menu entry for Limine.\n\t\t\t\ttry:\n\t\t\t\t\twith open('/sys/firmware/efi/fw_platform_size') as fw_platform_size:\n\t\t\t\t\t\tefi_bitness = fw_platform_size.read().strip()\n\t\t\t\texcept Exception as err:\n\t\t\t\t\traise OSError(f'Could not open or read /sys/firmware/efi/fw_platform_size to determine EFI bitness: {err}')\n\n\t\t\t\tif efi_bitness == '64':\n\t\t\t\t\tloader_path = '\\\\EFI\\\\arch-limine\\\\BOOTX64.EFI'\n\t\t\t\telif efi_bitness == '32':\n\t\t\t\t\tloader_path = '\\\\EFI\\\\arch-limine\\\\BOOTIA32.EFI'\n\t\t\t\telse:\n\t\t\t\t\traise ValueError(f'EFI bitness is neither 32 nor 64 bits. Found \"{efi_bitness}\".')\n\n\t\t\t\ttry:\n\t\t\t\t\tSysCommand(\n\t\t\t\t\t\t'efibootmgr'\n\t\t\t\t\t\t' --create'\n\t\t\t\t\t\tf' --disk {parent_dev_path}'\n\t\t\t\t\t\tf' --part {efi_partition.partn}'\n\t\t\t\t\t\t' --label \"Arch Linux Limine Bootloader\"'\n\t\t\t\t\t\tf\" --loader '{loader_path}'\"\n\t\t\t\t\t\t' --unicode'\n\t\t\t\t\t\t' --verbose',\n\t\t\t\t\t)\n\t\t\t\texcept Exception as err:\n\t\t\t\t\traise ValueError(f'SysCommand for efibootmgr failed: {err}')\n\t\telse:\n\t\t\tboot_limine_path = self.target / 'boot' / 'limine'\n\t\t\tboot_limine_path.mkdir(parents=True, exist_ok=True)\n\n\t\t\tconfig_path = boot_limine_path / 'limine.conf'\n\n\t\t\tparent_dev_path = get_parent_device_path(boot_partition.safe_dev_path)\n\n\t\t\tif unique_path := get_unique_path_for_device(parent_dev_path):\n\t\t\t\tparent_dev_path = unique_path\n\n\t\t\ttry:\n\t\t\t\t# The `limine-bios.sys` file contains stage 3 code.\n\t\t\t\tshutil.copy(limine_path / 'limine-bios.sys', boot_limine_path)\n\n\t\t\t\t# `limine bios-install` deploys the stage 1 and 2 to the\n\t\t\t\tself.arch_chroot(f'limine bios-install {parent_dev_path}', peek_output=True)\n\t\t\texcept Exception as err:\n\t\t\t\traise DiskError(f'Failed to install Limine on {parent_dev_path}: {err}')\n\n\t\t\thook_command = f'/usr/bin/limine bios-install {parent_dev_path} && /usr/bin/cp /usr/share/limine/limine-bios.sys /boot/limine/'\n\n\t\thook_contents = textwrap.dedent(\n\t\t\tf'''\\\n\t\t\t[Trigger]\n\t\t\tOperation = Install\n\t\t\tOperation = Upgrade\n\t\t\tType = Package\n\t\t\tTarget = limine\n\n\t\t\t[Action]\n\t\t\tDescription = Deploying Limine after upgrade...\n\t\t\tWhen = PostTransaction\n\t\t\tExec = /bin/sh -c \"{hook_command}\"\n\t\t\t''',\n\t\t)\n\n\t\thooks_dir = self.target / 'etc' / 'pacman.d' / 'hooks'\n\t\thooks_dir.mkdir(parents=True, exist_ok=True)\n\n\t\thook_path = hooks_dir / '99-limine.hook'\n\t\thook_path.write_text(hook_contents)\n\n\t\tkernel_params = ' '.join(self._get_kernel_params(root))\n\t\tconfig_contents = 'timeout: 5\\n'\n\n\t\tpath_root = 'boot()'\n\t\tif efi_partition and boot_partition != efi_partition:\n\t\t\tpath_root = f'uuid({boot_partition.partuuid})'\n\n\t\tfor kernel in self.kernels:\n\t\t\tif uki_enabled:\n\t\t\t\tentry = [\n\t\t\t\t\t'protocol: efi',\n\t\t\t\t\tf'path: boot():/EFI/Linux/arch-{kernel}.efi',\n\t\t\t\t\tf'cmdline: {kernel_params}',\n\t\t\t\t]\n\t\t\t\tconfig_contents += f'\\n/Arch Linux ({kernel})\\n'\n\t\t\t\tconfig_contents += '\\n'.join(f'    {it}' for it in entry) + '\\n'\n\t\t\telse:\n\t\t\t\tentry = [\n\t\t\t\t\t'protocol: linux',\n\t\t\t\t\tf'path: {path_root}:/vmlinuz-{kernel}',\n\t\t\t\t\tf'cmdline: {kernel_params}',\n\t\t\t\t\tf'module_path: {path_root}:/initramfs-{kernel}.img',\n\t\t\t\t]\n\t\t\t\tconfig_contents += f'\\n/Arch Linux ({kernel})\\n'\n\t\t\t\tconfig_contents += '\\n'.join(f'    {it}' for it in entry) + '\\n'\n\n\t\tconfig_path.write_text(config_contents)\n\n\t\tself._helper_flags['bootloader'] = 'limine'\n\n\tdef _add_efistub_bootloader(\n\t\tself,\n\t\tboot_partition: PartitionModification,\n\t\troot: PartitionModification | LvmVolume,\n\t\tuki_enabled: bool = False,\n\t) -> None:\n\t\tdebug('Installing efistub bootloader')\n\n\t\tself.pacman.strap('efibootmgr')\n\n\t\tif not SysInfo.has_uefi():\n\t\t\traise HardwareIncompatibilityError\n\n\t\t# TODO: Ideally we would want to check if another config\n\t\t# points towards the same disk and/or partition.\n\t\t# And in which case we should do some clean up.\n\n\t\tif not uki_enabled:\n\t\t\tloader = '/vmlinuz-{kernel}'\n\t\t\t# EFI standards stipulate backslashes\n\t\t\tentries = (\n\t\t\t\tr'initrd=\\initramfs-{kernel}.img',\n\t\t\t\t*self._get_kernel_params(root),\n\t\t\t)\n\n\t\t\tcmdline = [' '.join(entries)]\n\t\telse:\n\t\t\tloader = '/EFI/Linux/arch-{kernel}.efi'\n\t\t\tcmdline = []\n\n\t\tparent_dev_path = get_parent_device_path(boot_partition.safe_dev_path)\n\n\t\tcmd_template = (\n\t\t\t'efibootmgr',\n\t\t\t'--create',\n\t\t\t'--disk',\n\t\t\tstr(parent_dev_path),\n\t\t\t'--part',\n\t\t\tstr(boot_partition.partn),\n\t\t\t'--label',\n\t\t\t'Arch Linux ({kernel})',\n\t\t\t'--loader',\n\t\t\tloader,\n\t\t\t'--unicode',\n\t\t\t*cmdline,\n\t\t\t'--verbose',\n\t\t)\n\n\t\tfor kernel in self.kernels:\n\t\t\t# Setup the firmware entry\n\t\t\tcmd = [arg.format(kernel=kernel) for arg in cmd_template]\n\t\t\tSysCommand(cmd)\n\n\t\tself._helper_flags['bootloader'] = 'efistub'\n\n\tdef _add_refind_bootloader(\n\t\tself,\n\t\tboot_partition: PartitionModification,\n\t\tefi_partition: PartitionModification | None,\n\t\troot: PartitionModification | LvmVolume,\n\t\tuki_enabled: bool = False,\n\t) -> None:\n\t\tdebug('Installing rEFInd bootloader')\n\n\t\tself.pacman.strap('refind')\n\n\t\tif not SysInfo.has_uefi():\n\t\t\traise HardwareIncompatibilityError\n\n\t\tinfo(f'rEFInd boot partition: {boot_partition.dev_path}')\n\n\t\tif not efi_partition:\n\t\t\traise ValueError('Could not detect EFI system partition')\n\t\telif not efi_partition.mountpoint:\n\t\t\traise ValueError('EFI system partition is not mounted')\n\n\t\tinfo(f'rEFInd EFI partition: {efi_partition.dev_path}')\n\n\t\ttry:\n\t\t\tself.arch_chroot('refind-install')\n\t\texcept SysCallError as err:\n\t\t\traise DiskError(f'Could not install rEFInd to {self.target}{efi_partition.mountpoint}: {err}')\n\n\t\tif not boot_partition.mountpoint:\n\t\t\traise ValueError('Boot partition is not mounted, cannot write rEFInd config')\n\n\t\tboot_is_separate = boot_partition != efi_partition and boot_partition.dev_path != efi_partition.dev_path\n\n\t\tif boot_is_separate:\n\t\t\t# Separate boot partition (not ESP, not root)\n\t\t\tconfig_path = self.target / boot_partition.mountpoint.relative_to('/') / 'refind_linux.conf'\n\t\t\tboot_on_root = False\n\t\telif efi_partition.mountpoint == Path('/boot'):\n\t\t\t# ESP is mounted at /boot, kernels are on ESP\n\t\t\tconfig_path = self.target / 'boot' / 'refind_linux.conf'\n\t\t\tboot_on_root = False\n\t\telse:\n\t\t\t# ESP is elsewhere (/efi, /boot/efi, etc.), kernels are on root filesystem at /boot\n\t\t\tconfig_path = self.target / 'boot' / 'refind_linux.conf'\n\t\t\tboot_on_root = True\n\n\t\tconfig_contents = []\n\n\t\tkernel_params = ' '.join(self._get_kernel_params(root))\n\n\t\tfor kernel in self.kernels:\n\t\t\tif uki_enabled:\n\t\t\t\tentry = f'\"Arch Linux ({kernel}) UKI\" \"{kernel_params}\"'\n\t\t\telse:\n\t\t\t\tif boot_on_root:\n\t\t\t\t\t# Kernels are in /boot subdirectory of root filesystem\n\t\t\t\t\tif hasattr(root, 'btrfs_subvols') and root.btrfs_subvols:\n\t\t\t\t\t\t# Root is btrfs with subvolume, find the root subvolume\n\t\t\t\t\t\troot_subvol = next((sv for sv in root.btrfs_subvols if sv.is_root()), None)\n\t\t\t\t\t\tif root_subvol:\n\t\t\t\t\t\t\tsubvol_name = root_subvol.name\n\t\t\t\t\t\t\tinitrd_path = f'initrd={subvol_name}\\\\boot\\\\initramfs-{kernel}.img'\n\t\t\t\t\t\telse:\n\t\t\t\t\t\t\tinitrd_path = f'initrd=\\\\boot\\\\initramfs-{kernel}.img'\n\t\t\t\t\telse:\n\t\t\t\t\t\t# Root without btrfs subvolume\n\t\t\t\t\t\tinitrd_path = f'initrd=\\\\boot\\\\initramfs-{kernel}.img'\n\t\t\t\telse:\n\t\t\t\t\t# Kernels are at root of their partition (ESP or separate boot partition)\n\t\t\t\t\tinitrd_path = f'initrd=\\\\initramfs-{kernel}.img'\n\t\t\t\tentry = f'\"Arch Linux ({kernel})\" \"{kernel_params} {initrd_path}\"'\n\n\t\t\tconfig_contents.append(entry)\n\n\t\tconfig_path.write_text('\\n'.join(config_contents) + '\\n')\n\n\t\thook_contents = textwrap.dedent(\n\t\t\t\"\"\"\\\n\t\t\t[Trigger]\n\t\t\tOperation = Install\n\t\t\tOperation = Upgrade\n\t\t\tType = Package\n\t\t\tTarget = refind\n\n\t\t\t[Action]\n\t\t\tDescription = Updating rEFInd on ESP\n\t\t\tWhen = PostTransaction\n\t\t\tExec = /usr/bin/refind-install\n\t\t\t\"\"\"\n\t\t)\n\n\t\thooks_dir = self.target / 'etc' / 'pacman.d' / 'hooks'\n\t\thooks_dir.mkdir(parents=True, exist_ok=True)\n\n\t\thook_path = hooks_dir / '99-refind.hook'\n\t\thook_path.write_text(hook_contents)\n\n\t\tself._helper_flags['bootloader'] = 'refind'\n\n\tdef _config_uki(\n\t\tself,\n\t\troot: PartitionModification | LvmVolume,\n\t\tefi_partition: PartitionModification | None,\n\t) -> None:\n\t\tif not efi_partition or not efi_partition.mountpoint:\n\t\t\traise ValueError(f'Could not detect ESP at mountpoint {self.target}')\n\n\t\t# Set up kernel command line\n\t\twith open(self.target / 'etc/kernel/cmdline', 'w') as cmdline:\n\t\t\tkernel_parameters = self._get_kernel_params(root)\n\t\t\tcmdline.write(' '.join(kernel_parameters) + '\\n')\n\n\t\tdiff_mountpoint = None\n\n\t\tif efi_partition.mountpoint != Path('/efi'):\n\t\t\tdiff_mountpoint = str(efi_partition.mountpoint)\n\n\t\timage_re = re.compile('(.+_image=\"/([^\"]+).+\\n)')\n\t\tuki_re = re.compile('#((.+_uki=\")/[^/]+(.+\\n))')\n\n\t\t# Modify .preset files\n\t\tfor kernel in self.kernels:\n\t\t\tpreset = self.target / 'etc/mkinitcpio.d' / (kernel + '.preset')\n\t\t\tconfig = preset.read_text().splitlines(True)\n\n\t\t\tfor index, line in enumerate(config):\n\t\t\t\t# Avoid storing redundant image file\n\t\t\t\tif m := image_re.match(line):\n\t\t\t\t\timage = self.target / m.group(2)\n\t\t\t\t\timage.unlink(missing_ok=True)\n\t\t\t\t\tconfig[index] = '#' + m.group(1)\n\t\t\t\telif m := uki_re.match(line):\n\t\t\t\t\tif diff_mountpoint:\n\t\t\t\t\t\tconfig[index] = m.group(2) + diff_mountpoint + m.group(3)\n\t\t\t\t\telse:\n\t\t\t\t\t\tconfig[index] = m.group(1)\n\t\t\t\telif line.startswith('#default_options='):\n\t\t\t\t\tconfig[index] = line.removeprefix('#')\n\n\t\t\tpreset.write_text(''.join(config))\n\n\t\t# Directory for the UKIs\n\t\tuki_dir = self.target / efi_partition.relative_mountpoint / 'EFI/Linux'\n\t\tuki_dir.mkdir(parents=True, exist_ok=True)\n\n\t\t# Build the UKIs\n\t\tif not self.mkinitcpio(['-P']):\n\t\t\terror('Error generating initramfs (continuing anyway)')\n\n\tdef add_bootloader(self, bootloader: Bootloader, uki_enabled: bool = False, bootloader_removable: bool = False) -> None:\n\t\t\"\"\"\n\t\tAdds a bootloader to the installation instance.\n\t\tArchinstall supports one of five types:\n\t\t* systemd-bootctl\n\t\t* grub\n\t\t* limine\n\t\t* efistub (beta)\n\t\t* refnd (beta)\n\n\t\t:param bootloader: Type of bootloader to be added\n\t\t:param uki_enabled: Whether to use unified kernel images\n\t\t:param bootloader_removable: Whether to install to removable media location (UEFI only, for GRUB and Limine)\n\t\t\"\"\"\n\n\t\tfor plugin in plugins.values():\n\t\t\tif hasattr(plugin, 'on_add_bootloader'):\n\t\t\t\t# Allow plugins to override the boot-loader handling.\n\t\t\t\t# This allows for boot configuring and installing bootloaders.\n\t\t\t\tif plugin.on_add_bootloader(self):\n\t\t\t\t\treturn\n\n\t\tefi_partition = self._get_efi_partition()\n\t\tboot_partition = self._get_boot_partition()\n\t\troot = self._get_root()\n\n\t\tif boot_partition is None:\n\t\t\traise ValueError(f'Could not detect boot at mountpoint {self.target}')\n\n\t\tif root is None:\n\t\t\traise ValueError(f'Could not detect root at mountpoint {self.target}')\n\n\t\tinfo(f'Adding bootloader {bootloader.value} to {boot_partition.dev_path}')\n\n\t\t# validate UKI support\n\t\tif uki_enabled and not bootloader.has_uki_support():\n\t\t\twarn(f'Bootloader {bootloader.value} does not support UKI; disabling.')\n\t\t\tuki_enabled = False\n\n\t\t# validate removable bootloader option\n\t\tif bootloader_removable:\n\t\t\tif not SysInfo.has_uefi():\n\t\t\t\twarn('Removable install requested but system is not UEFI; disabling.')\n\t\t\t\tbootloader_removable = False\n\t\t\telif not bootloader.has_removable_support():\n\t\t\t\twarn(f'Bootloader {bootloader.value} lacks removable support; disabling.')\n\t\t\t\tbootloader_removable = False\n\n\t\tif uki_enabled:\n\t\t\tself._config_uki(root, efi_partition)\n\n\t\tmatch bootloader:\n\t\t\tcase Bootloader.Systemd:\n\t\t\t\tself._add_systemd_bootloader(boot_partition, root, efi_partition, uki_enabled)\n\t\t\tcase Bootloader.Grub:\n\t\t\t\tself._add_grub_bootloader(boot_partition, root, efi_partition, uki_enabled, bootloader_removable)\n\t\t\tcase Bootloader.Efistub:\n\t\t\t\tself._add_efistub_bootloader(boot_partition, root, uki_enabled)\n\t\t\tcase Bootloader.Limine:\n\t\t\t\tself._add_limine_bootloader(boot_partition, efi_partition, root, uki_enabled, bootloader_removable)\n\t\t\tcase Bootloader.Refind:\n\t\t\t\tself._add_refind_bootloader(boot_partition, efi_partition, root, uki_enabled)\n\n\tdef add_additional_packages(self, packages: str | list[str]) -> None:\n\t\treturn self.pacman.strap(packages)\n\n\tdef enable_sudo(self, user: User, group: bool = False) -> None:\n\t\tinfo(f'Enabling sudo permissions for {user.username}')\n\n\t\tsudoers_dir = self.target / 'etc/sudoers.d'\n\n\t\t# Creates directory if not exists\n\t\tif not sudoers_dir.exists():\n\t\t\tsudoers_dir.mkdir(parents=True)\n\t\t\t# Guarantees sudoer confs directory recommended perms\n\t\t\tsudoers_dir.chmod(0o440)\n\t\t\t# Appends a reference to the sudoers file, because if we are here sudoers.d did not exist yet\n\t\t\twith open(self.target / 'etc/sudoers', 'a') as sudoers:\n\t\t\t\tsudoers.write('@includedir /etc/sudoers.d\\n')\n\n\t\t# We count how many files are there already so we know which number to prefix the file with\n\t\tnum_of_rules_already = len(os.listdir(sudoers_dir))\n\t\tfile_num_str = f'{num_of_rules_already:02d}'  # We want 00_user1, 01_user2, etc\n\n\t\t# Guarantees that username str does not contain invalid characters for a linux file name:\n\t\t# \\ / : * ? \" < > |\n\t\tsafe_username_file_name = re.sub(r'(\\\\|\\/|:|\\*|\\?|\"|<|>|\\|)', '', user.username)\n\n\t\trule_file = sudoers_dir / f'{file_num_str}_{safe_username_file_name}'\n\n\t\twith rule_file.open('a') as sudoers:\n\t\t\tsudoers.write(f'{\"%\" if group else \"\"}{user.username} ALL=(ALL) ALL\\n')\n\n\t\t# Guarantees sudoer conf file recommended perms\n\t\trule_file.chmod(0o440)\n\n\tdef create_users(self, users: User | list[User]) -> None:\n\t\tif not isinstance(users, list):\n\t\t\tusers = [users]\n\n\t\tfor user in users:\n\t\t\tself._create_user(user)\n\n\tdef _create_user(self, user: User) -> None:\n\t\t# This plugin hook allows for the plugin to handle the creation of the user.\n\t\t# Password and Group management is still handled by user_create()\n\t\thandled_by_plugin = False\n\t\tfor plugin in plugins.values():\n\t\t\tif hasattr(plugin, 'on_user_create'):\n\t\t\t\tif result := plugin.on_user_create(self, user):\n\t\t\t\t\thandled_by_plugin = result\n\n\t\tif not handled_by_plugin:\n\t\t\tinfo(f'Creating user {user.username}')\n\n\t\t\tcmd = 'useradd -m'\n\n\t\t\tif user.sudo:\n\t\t\t\tcmd += ' -G wheel'\n\n\t\t\tcmd += f' {user.username}'\n\n\t\t\ttry:\n\t\t\t\tself.arch_chroot(cmd)\n\t\t\texcept SysCallError as err:\n\t\t\t\traise SystemError(f'Could not create user inside installation: {err}')\n\n\t\tfor plugin in plugins.values():\n\t\t\tif hasattr(plugin, 'on_user_created'):\n\t\t\t\tif result := plugin.on_user_created(self, user):\n\t\t\t\t\thandled_by_plugin = result\n\n\t\tself.set_user_password(user)\n\n\t\tfor group in user.groups:\n\t\t\tself.arch_chroot(f'gpasswd -a {user.username} {group}')\n\n\t\tif user.sudo:\n\t\t\tself.enable_sudo(user)\n\n\tdef set_user_password(self, user: User) -> bool:\n\t\tinfo(f'Setting password for {user.username}')\n\n\t\tenc_password = user.password.enc_password\n\n\t\tif not enc_password:\n\t\t\tdebug('User password is empty')\n\t\t\treturn False\n\n\t\tinput_data = f'{user.username}:{enc_password}'.encode()\n\t\tcmd = ['arch-chroot', '-S', str(self.target), 'chpasswd', '--encrypted']\n\n\t\ttry:\n\t\t\trun(cmd, input_data=input_data)\n\t\t\treturn True\n\t\texcept CalledProcessError as err:\n\t\t\tdebug(f'Error setting user password: {err}')\n\t\t\treturn False\n\n\tdef user_set_shell(self, user: str, shell: str) -> bool:\n\t\tinfo(f'Setting shell for {user} to {shell}')\n\n\t\ttry:\n\t\t\tself.arch_chroot(f'sh -c \"chsh -s {shell} {user}\"')\n\t\t\treturn True\n\t\texcept SysCallError:\n\t\t\treturn False\n\n\tdef chown(self, owner: str, path: str, options: list[str] = []) -> bool:\n\t\tcleaned_path = path.replace(\"'\", \"\\\\'\")\n\t\ttry:\n\t\t\tself.arch_chroot(f\"sh -c 'chown {' '.join(options)} {owner} {cleaned_path}'\")\n\t\t\treturn True\n\t\texcept SysCallError:\n\t\t\treturn False\n\n\tdef set_vconsole(self, locale_config: LocaleConfiguration) -> None:\n\t\t# use the already set kb layout\n\t\tkb_vconsole: str = locale_config.kb_layout\n\t\t# this is the default used in ISO other option for hdpi screens TER16x32\n\t\t# can be checked using\n\t\t# zgrep \"CONFIG_FONT\" /proc/config.gz\n\t\t# https://wiki.archlinux.org/title/Linux_console#Fonts\n\n\t\tfont_vconsole = 'default8x16'\n\n\t\t# Ensure /etc exists\n\t\tvconsole_dir: Path = self.target / 'etc'\n\t\tvconsole_dir.mkdir(parents=True, exist_ok=True)\n\t\tvconsole_path: Path = vconsole_dir / 'vconsole.conf'\n\n\t\t# Write both KEYMAP and FONT to vconsole.conf\n\t\tvconsole_content = f'KEYMAP={kb_vconsole}\\n'\n\t\t# Corrects another warning\n\t\tvconsole_content += f'FONT={font_vconsole}\\n'\n\n\t\tvconsole_path.write_text(vconsole_content)\n\t\tinfo(f'Wrote to {vconsole_path} using {kb_vconsole} and {font_vconsole}')\n\n\tdef set_keyboard_language(self, language: str) -> bool:\n\t\tinfo(f'Setting keyboard language to {language}')\n\n\t\tif len(language.strip()):\n\t\t\tif not verify_keyboard_layout(language):\n\t\t\t\terror(f'Invalid keyboard language specified: {language}')\n\t\t\t\treturn False\n\n\t\t\t# In accordance with https://github.com/archlinux/archinstall/issues/107#issuecomment-841701968\n\t\t\t# Setting an empty keymap first, allows the subsequent call to set layout for both console and x11.\n\t\t\twith Boot(self.target) as session:\n\t\t\t\tos.system('systemd-run --machine=archinstall --pty localectl set-keymap \"\"')\n\n\t\t\t\ttry:\n\t\t\t\t\tsession.SysCommand(['localectl', 'set-keymap', language])\n\t\t\t\texcept SysCallError as err:\n\t\t\t\t\traise ServiceException(f\"Unable to set locale '{language}' for console: {err}\")\n\n\t\t\t\tinfo(f'Keyboard language for this installation is now set to: {language}')\n\t\telse:\n\t\t\tinfo('Keyboard language was not changed from default (no language specified)')\n\n\t\treturn True\n\n\tdef set_x11_keyboard_language(self, language: str) -> bool:\n\t\t\"\"\"\n\t\tA fallback function to set x11 layout specifically and separately from console layout.\n\t\tThis isn't strictly necessary since .set_keyboard_language() does this as well.\n\t\t\"\"\"\n\t\tinfo(f'Setting x11 keyboard language to {language}')\n\n\t\tif len(language.strip()):\n\t\t\tif not verify_x11_keyboard_layout(language):\n\t\t\t\terror(f'Invalid x11-keyboard language specified: {language}')\n\t\t\t\treturn False\n\n\t\t\twith Boot(self.target) as session:\n\t\t\t\tsession.SysCommand(['localectl', 'set-x11-keymap', '\"\"'])\n\n\t\t\t\ttry:\n\t\t\t\t\tsession.SysCommand(['localectl', 'set-x11-keymap', language])\n\t\t\t\texcept SysCallError as err:\n\t\t\t\t\traise ServiceException(f\"Unable to set locale '{language}' for X11: {err}\")\n\t\telse:\n\t\t\tinfo('X11-Keyboard language was not changed from default (no language specified)')\n\n\t\treturn True\n\n\tdef _service_started(self, service_name: str) -> str | None:\n\t\tif os.path.splitext(service_name)[1] not in ('.service', '.target', '.timer'):\n\t\t\tservice_name += '.service'  # Just to be safe\n\n\t\tlast_execution_time = (\n\t\t\tSysCommand(\n\t\t\t\tf'systemctl show --property=ActiveEnterTimestamp --no-pager {service_name}',\n\t\t\t\tenvironment_vars={'SYSTEMD_COLORS': '0'},\n\t\t\t)\n\t\t\t.decode()\n\t\t\t.removeprefix('ActiveEnterTimestamp=')\n\t\t)\n\n\t\tif not last_execution_time:\n\t\t\treturn None\n\n\t\treturn last_execution_time\n\n\tdef _service_state(self, service_name: str) -> str:\n\t\tif os.path.splitext(service_name)[1] not in ('.service', '.target', '.timer'):\n\t\t\tservice_name += '.service'  # Just to be safe\n\n\t\treturn SysCommand(\n\t\t\tf'systemctl show --no-pager -p SubState --value {service_name}',\n\t\t\tenvironment_vars={'SYSTEMD_COLORS': '0'},\n\t\t).decode()\n\n\ndef accessibility_tools_in_use() -> bool:\n\treturn os.system('systemctl is-active --quiet espeakup.service') == 0\n\n\ndef run_custom_user_commands(commands: list[str], installation: Installer) -> None:\n\tfor index, command in enumerate(commands):\n\t\tscript_path = f'/var/tmp/user-command.{index}.sh'\n\t\tchroot_path = f'{installation.target}/{script_path}'\n\n\t\tinfo(f'Executing custom command \"{command}\" ...')\n\t\twith open(chroot_path, 'w') as user_script:\n\t\t\tuser_script.write(command)\n\n\t\tSysCommand(f'arch-chroot -S {installation.target} bash {script_path}')\n\n\t\tos.unlink(chroot_path)\n"
  },
  {
    "path": "archinstall/lib/interactions/__init__.py",
    "content": "from archinstall.lib.interactions.disk_conf import (\n\tget_default_partition_layout,\n\tselect_devices,\n\tselect_disk_config,\n\tselect_main_filesystem_format,\n\tsuggest_multi_disk_layout,\n\tsuggest_single_disk_layout,\n)\nfrom archinstall.lib.interactions.general_conf import (\n\tadd_number_of_parallel_downloads,\n\tselect_archinstall_language,\n\tselect_hostname,\n\tselect_ntp,\n\tselect_timezone,\n)\nfrom archinstall.lib.interactions.system_conf import select_driver, select_kernel, select_swap\n\n__all__ = [\n\t'add_number_of_parallel_downloads',\n\t'get_default_partition_layout',\n\t'select_archinstall_language',\n\t'select_devices',\n\t'select_disk_config',\n\t'select_driver',\n\t'select_hostname',\n\t'select_kernel',\n\t'select_main_filesystem_format',\n\t'select_ntp',\n\t'select_swap',\n\t'select_timezone',\n\t'suggest_multi_disk_layout',\n\t'suggest_single_disk_layout',\n]\n"
  },
  {
    "path": "archinstall/lib/interactions/disk_conf.py",
    "content": "from pathlib import Path\n\nfrom archinstall.lib.disk.device_handler import device_handler\nfrom archinstall.lib.disk.partitioning_menu import manual_partitioning\nfrom archinstall.lib.menu.helpers import Confirmation, Notify, Selection, Table\nfrom archinstall.lib.menu.util import prompt_dir\nfrom archinstall.lib.models.device import (\n\tBDevice,\n\tBtrfsMountOption,\n\tDeviceModification,\n\tDiskLayoutConfiguration,\n\tDiskLayoutType,\n\tFilesystemType,\n\tLvmConfiguration,\n\tLvmLayoutType,\n\tLvmVolume,\n\tLvmVolumeGroup,\n\tLvmVolumeStatus,\n\tModificationStatus,\n\tPartitionFlag,\n\tPartitionModification,\n\tPartitionType,\n\tSectorSize,\n\tSize,\n\tSubvolumeModification,\n\tUnit,\n\t_DeviceInfo,\n)\nfrom archinstall.lib.output import FormattedOutput, debug\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nasync def select_devices(preset: list[BDevice] | None = []) -> list[BDevice] | None:\n\tdef _preview_device_selection(item: MenuItem) -> str | None:\n\t\tdevice: _DeviceInfo = item.value  # type: ignore[assignment]\n\t\tdev = device_handler.get_device(device.path)\n\n\t\tif dev and dev.partition_infos:\n\t\t\treturn FormattedOutput.as_table(dev.partition_infos)\n\t\treturn None\n\n\tif preset is None:\n\t\tpreset = []\n\n\tdevices = device_handler.devices\n\n\titems = [\n\t\tMenuItem(\n\t\t\tstr(d.device_info.path),\n\t\t\td.device_info,\n\t\t\tpreview_action=_preview_device_selection,\n\t\t)\n\t\tfor d in devices\n\t]\n\n\tpresets = [p.device_info for p in preset]\n\n\tgroup = MenuItemGroup(items)\n\tgroup.set_selected_by_value(presets)\n\n\tresult = await Table[_DeviceInfo](\n\t\theader=tr('Select disks for the installation'),\n\t\tgroup=group,\n\t\tpresets=presets,\n\t\tallow_skip=True,\n\t\tmulti=True,\n\t\tpreview_location='bottom',\n\t\tpreview_header=tr('Partitions'),\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n\t\tcase ResultType.Skip:\n\t\t\treturn None\n\t\tcase ResultType.Selection:\n\t\t\tselected_device_info = result.get_values()\n\t\t\tselected_devices = []\n\n\t\t\tfor device in devices:\n\t\t\t\tif device.device_info in selected_device_info:\n\t\t\t\t\tselected_devices.append(device)\n\n\t\t\treturn selected_devices\n\n\nasync def get_default_partition_layout(\n\tdevices: list[BDevice],\n\tfilesystem_type: FilesystemType | None = None,\n) -> list[DeviceModification]:\n\tif len(devices) == 1:\n\t\tdevice_modification = await suggest_single_disk_layout(\n\t\t\tdevices[0],\n\t\t\tfilesystem_type=filesystem_type,\n\t\t)\n\t\treturn [device_modification]\n\telse:\n\t\treturn await suggest_multi_disk_layout(\n\t\t\tdevices,\n\t\t\tfilesystem_type=filesystem_type,\n\t\t)\n\n\nasync def _manual_partitioning(\n\tpreset: list[DeviceModification],\n\tdevices: list[BDevice],\n) -> list[DeviceModification] | None:\n\tmodifications: list[DeviceModification] = []\n\n\tfor device in devices:\n\t\tmod = next(filter(lambda x: x.device == device, preset), None)\n\t\tif not mod:\n\t\t\tmod = DeviceModification(device, wipe=False)\n\n\t\tdevice_mod = await manual_partitioning(mod, device_handler.partition_table)\n\n\t\tif not device_mod:\n\t\t\treturn None\n\n\t\tmodifications.append(device_mod)\n\n\treturn modifications\n\n\nasync def select_disk_config(preset: DiskLayoutConfiguration | None = None) -> DiskLayoutConfiguration | None:\n\tdefault_layout = DiskLayoutType.Default.display_msg()\n\tmanual_mode = DiskLayoutType.Manual.display_msg()\n\tpre_mount_mode = DiskLayoutType.Pre_mount.display_msg()\n\n\titems = [\n\t\tMenuItem(default_layout, value=default_layout),\n\t\tMenuItem(manual_mode, value=manual_mode),\n\t\tMenuItem(pre_mount_mode, value=pre_mount_mode),\n\t]\n\tgroup = MenuItemGroup(items, sort_items=False)\n\n\tif preset:\n\t\tgroup.set_selected_by_value(preset.config_type.display_msg())\n\n\tresult = await Selection[str](\n\t\tgroup,\n\t\theader=tr('Select a disk configuration'),\n\t\tallow_skip=True,\n\t\tallow_reset=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n\t\tcase ResultType.Selection:\n\t\t\tselection = result.get_value()\n\n\t\t\tif selection == pre_mount_mode:\n\t\t\t\toutput = tr('Enter root mount directory') + '\\n\\n'\n\t\t\t\toutput += tr('You will use whatever drive-setup is mounted at the specified directory') + '\\n'\n\t\t\t\toutput += tr(\"WARNING: Archinstall won't check the suitability of this setup\")\n\n\t\t\t\tpath = await prompt_dir(output, allow_skip=True)\n\n\t\t\t\tif path is None:\n\t\t\t\t\treturn None\n\n\t\t\t\tmods = device_handler.detect_pre_mounted_mods(path)\n\n\t\t\t\treturn DiskLayoutConfiguration(\n\t\t\t\t\tconfig_type=DiskLayoutType.Pre_mount,\n\t\t\t\t\tdevice_modifications=mods,\n\t\t\t\t\tmountpoint=path,\n\t\t\t\t)\n\n\t\t\tpreset_devices = [mod.device for mod in preset.device_modifications] if preset else []\n\t\t\tdevices = await select_devices(preset_devices)\n\n\t\t\tif devices is None:\n\t\t\t\treturn preset\n\n\t\t\tif result.get_value() == default_layout:\n\t\t\t\tmodifications = await get_default_partition_layout(devices)\n\t\t\t\tif modifications:\n\t\t\t\t\treturn DiskLayoutConfiguration(\n\t\t\t\t\t\tconfig_type=DiskLayoutType.Default,\n\t\t\t\t\t\tdevice_modifications=modifications,\n\t\t\t\t\t)\n\t\t\telif result.get_value() == manual_mode:\n\t\t\t\tpreset_mods = preset.device_modifications if preset else []\n\t\t\t\tpartitions = await _manual_partitioning(preset_mods, devices)\n\n\t\t\t\tif not partitions:\n\t\t\t\t\treturn preset\n\n\t\t\t\treturn DiskLayoutConfiguration(\n\t\t\t\t\tconfig_type=DiskLayoutType.Manual,\n\t\t\t\t\tdevice_modifications=partitions,\n\t\t\t\t)\n\n\treturn None\n\n\nasync def select_lvm_config(\n\tdisk_config: DiskLayoutConfiguration,\n\tpreset: LvmConfiguration | None = None,\n) -> LvmConfiguration | None:\n\tpreset_value = preset.config_type.display_msg() if preset else None\n\tdefault_mode = LvmLayoutType.Default.display_msg()\n\n\titems = [MenuItem(default_mode, value=default_mode)]\n\tgroup = MenuItemGroup(items)\n\tgroup.set_focus_by_value(preset_value)\n\n\tresult = await Selection[str](\n\t\tgroup,\n\t\tallow_reset=True,\n\t\tallow_skip=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n\t\tcase ResultType.Selection:\n\t\t\tif result.get_value() == default_mode:\n\t\t\t\treturn await suggest_lvm_layout(disk_config)\n\n\treturn None\n\n\ndef _boot_partition(sector_size: SectorSize, using_gpt: bool) -> PartitionModification:\n\tflags = [PartitionFlag.BOOT]\n\tsize = Size(1, Unit.GiB, sector_size)\n\tstart = Size(1, Unit.MiB, sector_size)\n\tif using_gpt:\n\t\tflags.append(PartitionFlag.ESP)\n\n\t# boot partition\n\treturn PartitionModification(\n\t\tstatus=ModificationStatus.Create,\n\t\ttype=PartitionType.Primary,\n\t\tstart=start,\n\t\tlength=size,\n\t\tmountpoint=Path('/boot'),\n\t\tfs_type=FilesystemType.Fat32,\n\t\tflags=flags,\n\t)\n\n\nasync def select_main_filesystem_format() -> FilesystemType:\n\titems = [\n\t\tMenuItem('btrfs', value=FilesystemType.Btrfs),\n\t\tMenuItem('ext4', value=FilesystemType.Ext4),\n\t\tMenuItem('xfs', value=FilesystemType.Xfs),\n\t\tMenuItem('f2fs', value=FilesystemType.F2fs),\n\t]\n\n\tgroup = MenuItemGroup(items, sort_items=False)\n\tresult = await Selection[FilesystemType](\n\t\tgroup,\n\t\theader=tr('Select main filesystem'),\n\t\tallow_skip=False,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\t\tcase _:\n\t\t\traise ValueError('Unhandled result type')\n\n\nasync def select_mount_options() -> list[str]:\n\tprompt = tr('Would you like to use compression or disable CoW?') + '\\n'\n\tcompression = tr('Use compression')\n\tdisable_cow = tr('Disable Copy-on-Write')\n\n\titems = [\n\t\tMenuItem(compression, value=BtrfsMountOption.compress.value),\n\t\tMenuItem(disable_cow, value=BtrfsMountOption.nodatacow.value),\n\t]\n\tgroup = MenuItemGroup(items, sort_items=False)\n\n\tresult = await Selection[str](\n\t\tgroup,\n\t\theader=prompt,\n\t\tallow_skip=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn []\n\t\tcase ResultType.Selection:\n\t\t\treturn [result.get_value()]\n\t\tcase _:\n\t\t\traise ValueError('Unhandled result type')\n\n\ndef process_root_partition_size(total_size: Size, sector_size: SectorSize) -> Size:\n\t# root partition size processing\n\ttotal_device_size = total_size.convert(Unit.GiB)\n\tif total_device_size.value > 500:\n\t\t# maximum size\n\t\treturn Size(value=50, unit=Unit.GiB, sector_size=sector_size)\n\telif total_device_size.value < 320:\n\t\t# minimum size\n\t\treturn Size(value=32, unit=Unit.GiB, sector_size=sector_size)\n\telse:\n\t\t# 10% of total size\n\t\tlength = total_device_size.value // 10\n\t\treturn Size(value=length, unit=Unit.GiB, sector_size=sector_size)\n\n\ndef get_default_btrfs_subvols() -> list[SubvolumeModification]:\n\t# https://btrfs.wiki.kernel.org/index.php/FAQ\n\t# https://unix.stackexchange.com/questions/246976/btrfs-subvolume-uuid-clash\n\t# https://github.com/classy-giraffe/easy-arch/blob/main/easy-arch.sh\n\treturn [\n\t\tSubvolumeModification(Path('@'), Path('/')),\n\t\tSubvolumeModification(Path('@home'), Path('/home')),\n\t\tSubvolumeModification(Path('@log'), Path('/var/log')),\n\t\tSubvolumeModification(Path('@pkg'), Path('/var/cache/pacman/pkg')),\n\t]\n\n\nasync def suggest_single_disk_layout(\n\tdevice: BDevice,\n\tfilesystem_type: FilesystemType | None = None,\n\tseparate_home: bool | None = None,\n) -> DeviceModification:\n\tif not filesystem_type:\n\t\tfilesystem_type = await select_main_filesystem_format()\n\n\tsector_size = device.device_info.sector_size\n\ttotal_size = device.device_info.total_size\n\tavailable_space = total_size\n\tmin_size_to_allow_home_part = Size(64, Unit.GiB, sector_size)\n\n\tif filesystem_type == FilesystemType.Btrfs:\n\t\tprompt = tr('Would you like to use BTRFS subvolumes with a default structure?') + '\\n'\n\n\t\tresult = await Confirmation(\n\t\t\theader=prompt,\n\t\t\tallow_skip=False,\n\t\t\tpreset=True,\n\t\t).show()\n\n\t\tusing_subvolumes = result.item() == MenuItem.yes()\n\t\tmount_options = await select_mount_options()\n\telse:\n\t\tusing_subvolumes = False\n\t\tmount_options = []\n\n\tdevice_modification = DeviceModification(device, wipe=True)\n\n\tusing_gpt = device_handler.partition_table.is_gpt()\n\n\tif using_gpt:\n\t\tavailable_space = available_space.gpt_end()\n\n\tavailable_space = available_space.align()\n\n\t# Used for reference: https://wiki.archlinux.org/title/partitioning\n\n\tboot_partition = _boot_partition(sector_size, using_gpt)\n\tdevice_modification.add_partition(boot_partition)\n\n\tif separate_home is False or using_subvolumes or total_size < min_size_to_allow_home_part:\n\t\tusing_home_partition = False\n\telif separate_home:\n\t\tusing_home_partition = True\n\telse:\n\t\tprompt = tr('Would you like to create a separate partition for /home?') + '\\n'\n\n\t\tresult = await Confirmation(\n\t\t\theader=prompt,\n\t\t\tallow_skip=False,\n\t\t\tpreset=True,\n\t\t).show()\n\n\t\tusing_home_partition = result.item() == MenuItem.yes()\n\n\t# root partition\n\troot_start = boot_partition.start + boot_partition.length\n\n\t# Set a size for / (/root)\n\tif using_home_partition:\n\t\troot_length = process_root_partition_size(total_size, sector_size)\n\telse:\n\t\troot_length = available_space - root_start\n\n\troot_partition = PartitionModification(\n\t\tstatus=ModificationStatus.Create,\n\t\ttype=PartitionType.Primary,\n\t\tstart=root_start,\n\t\tlength=root_length,\n\t\tmountpoint=Path('/') if not using_subvolumes else None,\n\t\tfs_type=filesystem_type,\n\t\tmount_options=mount_options,\n\t)\n\n\tdevice_modification.add_partition(root_partition)\n\n\tif using_subvolumes:\n\t\troot_partition.btrfs_subvols = get_default_btrfs_subvols()\n\telif using_home_partition:\n\t\t# If we don't want to use subvolumes,\n\t\t# But we want to be able to reuse data between re-installs..\n\t\t# A second partition for /home would be nice if we have the space for it\n\t\thome_start = root_partition.start + root_partition.length\n\t\thome_length = available_space - home_start\n\n\t\tflags = []\n\t\tif using_gpt:\n\t\t\tflags.append(PartitionFlag.LINUX_HOME)\n\n\t\thome_partition = PartitionModification(\n\t\t\tstatus=ModificationStatus.Create,\n\t\t\ttype=PartitionType.Primary,\n\t\t\tstart=home_start,\n\t\t\tlength=home_length,\n\t\t\tmountpoint=Path('/home'),\n\t\t\tfs_type=filesystem_type,\n\t\t\tmount_options=mount_options,\n\t\t\tflags=flags,\n\t\t)\n\t\tdevice_modification.add_partition(home_partition)\n\n\treturn device_modification\n\n\nasync def suggest_multi_disk_layout(\n\tdevices: list[BDevice],\n\tfilesystem_type: FilesystemType | None = None,\n) -> list[DeviceModification]:\n\tif not devices:\n\t\treturn []\n\n\t# Not really a rock solid foundation of information to stand on, but it's a start:\n\t# https://www.reddit.com/r/btrfs/comments/m287gp/partition_strategy_for_two_physical_disks/\n\t# https://www.reddit.com/r/btrfs/comments/9us4hr/what_is_your_btrfs_partitionsubvolumes_scheme/\n\tmin_home_partition_size = Size(40, Unit.GiB, SectorSize.default())\n\t# rough estimate taking in to account user desktops etc. TODO: Catch user packages to detect size?\n\tdesired_root_partition_size = Size(32, Unit.GiB, SectorSize.default())\n\tmount_options = []\n\n\tif not filesystem_type:\n\t\tfilesystem_type = await select_main_filesystem_format()\n\n\t# find proper disk for /home\n\tpossible_devices = [d for d in devices if d.device_info.total_size >= min_home_partition_size]\n\thome_device = max(possible_devices, key=lambda d: d.device_info.total_size) if possible_devices else None\n\n\t# find proper device for /root\n\tdevices_delta = {}\n\tfor device in devices:\n\t\tif device is not home_device:\n\t\t\tdelta = device.device_info.total_size - desired_root_partition_size\n\t\t\tdevices_delta[device] = delta\n\n\tsorted_delta: list[tuple[BDevice, Size]] = sorted(devices_delta.items(), key=lambda x: x[1])\n\troot_device: BDevice | None = sorted_delta[0][0]\n\n\tif home_device is None or root_device is None:\n\t\ttext = tr('The selected drives do not have the minimum capacity required for an automatic suggestion\\n')\n\t\ttext += tr('Minimum capacity for /home partition: {}GiB\\n').format(min_home_partition_size.format_size(Unit.GiB))\n\t\ttext += tr('Minimum capacity for Arch Linux partition: {}GiB').format(desired_root_partition_size.format_size(Unit.GiB))\n\n\t\t_ = await Notify(text).show()\n\t\treturn []\n\n\tif filesystem_type == FilesystemType.Btrfs:\n\t\tmount_options = await select_mount_options()\n\n\tdevice_paths = ', '.join(str(d.device_info.path) for d in devices)\n\n\tdebug(f'Suggesting multi-disk-layout for devices: {device_paths}')\n\tdebug(f'/root: {root_device.device_info.path}')\n\tdebug(f'/home: {home_device.device_info.path}')\n\n\troot_device_modification = DeviceModification(root_device, wipe=True)\n\thome_device_modification = DeviceModification(home_device, wipe=True)\n\n\troot_device_sector_size = root_device_modification.device.device_info.sector_size\n\thome_device_sector_size = home_device_modification.device.device_info.sector_size\n\n\tusing_gpt = device_handler.partition_table.is_gpt()\n\n\t# add boot partition to the root device\n\tboot_partition = _boot_partition(root_device_sector_size, using_gpt)\n\troot_device_modification.add_partition(boot_partition)\n\n\troot_start = boot_partition.start + boot_partition.length\n\troot_length = root_device.device_info.total_size - root_start\n\n\tif using_gpt:\n\t\troot_length = root_length.gpt_end()\n\n\troot_length = root_length.align()\n\n\t# add root partition to the root device\n\troot_partition = PartitionModification(\n\t\tstatus=ModificationStatus.Create,\n\t\ttype=PartitionType.Primary,\n\t\tstart=root_start,\n\t\tlength=root_length,\n\t\tmountpoint=Path('/'),\n\t\tmount_options=mount_options,\n\t\tfs_type=filesystem_type,\n\t)\n\troot_device_modification.add_partition(root_partition)\n\n\thome_start = Size(1, Unit.MiB, home_device_sector_size)\n\thome_length = home_device.device_info.total_size - home_start\n\n\tflags = []\n\tif using_gpt:\n\t\thome_length = home_length.gpt_end()\n\t\tflags.append(PartitionFlag.LINUX_HOME)\n\n\thome_length = home_length.align()\n\n\t# add home partition to home device\n\thome_partition = PartitionModification(\n\t\tstatus=ModificationStatus.Create,\n\t\ttype=PartitionType.Primary,\n\t\tstart=home_start,\n\t\tlength=home_length,\n\t\tmountpoint=Path('/home'),\n\t\tmount_options=mount_options,\n\t\tfs_type=filesystem_type,\n\t\tflags=flags,\n\t)\n\thome_device_modification.add_partition(home_partition)\n\n\treturn [root_device_modification, home_device_modification]\n\n\nasync def suggest_lvm_layout(\n\tdisk_config: DiskLayoutConfiguration,\n\tfilesystem_type: FilesystemType | None = None,\n\tvg_grp_name: str = 'ArchinstallVg',\n) -> LvmConfiguration:\n\tif disk_config.config_type != DiskLayoutType.Default:\n\t\traise ValueError('LVM suggested volumes are only available for default partitioning')\n\n\tusing_subvolumes = False\n\tbtrfs_subvols = []\n\thome_volume = True\n\tmount_options = []\n\n\tif not filesystem_type:\n\t\tfilesystem_type = await select_main_filesystem_format()\n\n\tif filesystem_type == FilesystemType.Btrfs:\n\t\tprompt = tr('Would you like to use BTRFS subvolumes with a default structure?') + '\\n'\n\t\tresult = await Confirmation(header=prompt, allow_skip=False, preset=True).show()\n\n\t\tusing_subvolumes = MenuItem.yes() == result.item()\n\t\tmount_options = await select_mount_options()\n\n\tif using_subvolumes:\n\t\tbtrfs_subvols = get_default_btrfs_subvols()\n\t\thome_volume = False\n\n\tboot_part: PartitionModification | None = None\n\tother_part: list[PartitionModification] = []\n\n\tfor mod in disk_config.device_modifications:\n\t\tfor part in mod.partitions:\n\t\t\tif part.is_boot():\n\t\t\t\tboot_part = part\n\t\t\telse:\n\t\t\t\tother_part.append(part)\n\n\tif not boot_part:\n\t\traise ValueError('Unable to find boot partition in partition modifications')\n\n\ttotal_vol_available = sum(\n\t\t[p.length for p in other_part],\n\t\tSize(0, Unit.B, SectorSize.default()),\n\t)\n\troot_vol_size = process_root_partition_size(total_vol_available, SectorSize.default())\n\thome_vol_size = total_vol_available - root_vol_size\n\n\tlvm_vol_group = LvmVolumeGroup(vg_grp_name, pvs=other_part)\n\n\troot_vol = LvmVolume(\n\t\tstatus=LvmVolumeStatus.Create,\n\t\tname='root',\n\t\tfs_type=filesystem_type,\n\t\tlength=root_vol_size,\n\t\tmountpoint=Path('/'),\n\t\tbtrfs_subvols=btrfs_subvols,\n\t\tmount_options=mount_options,\n\t)\n\n\tlvm_vol_group.volumes.append(root_vol)\n\n\tif home_volume:\n\t\thome_vol = LvmVolume(\n\t\t\tstatus=LvmVolumeStatus.Create,\n\t\t\tname='home',\n\t\t\tfs_type=filesystem_type,\n\t\t\tlength=home_vol_size,\n\t\t\tmountpoint=Path('/home'),\n\t\t)\n\n\t\tlvm_vol_group.volumes.append(home_vol)\n\n\treturn LvmConfiguration(LvmLayoutType.Default, [lvm_vol_group])\n"
  },
  {
    "path": "archinstall/lib/interactions/general_conf.py",
    "content": "from enum import Enum\nfrom pathlib import Path\n\nfrom archinstall.lib.locale.utils import list_timezones\nfrom archinstall.lib.menu.helpers import Confirmation, Input, Selection\nfrom archinstall.lib.output import warn\nfrom archinstall.lib.translationhandler import Language, tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass PostInstallationAction(Enum):\n\tEXIT = tr('Exit archinstall')\n\tREBOOT = tr('Reboot system')\n\tCHROOT = tr('chroot into installation for post-installation configurations')\n\n\nasync def select_ntp(preset: bool = True) -> bool:\n\theader = tr('Would you like to use automatic time synchronization (NTP) with the default time servers?\\n') + '\\n'\n\theader += (\n\t\ttr(\n\t\t\t'Hardware time and other post-configuration steps might be required in order for NTP to work.\\nFor more information, please check the Arch wiki',\n\t\t)\n\t\t+ '\\n'\n\t)\n\n\tresult = await Confirmation(\n\t\theader=header,\n\t\tallow_skip=True,\n\t\tpreset=preset,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\treturn result.item() == MenuItem.yes()\n\t\tcase _:\n\t\t\traise ValueError('Unhandled return type')\n\n\nasync def select_hostname(preset: str | None = None) -> str | None:\n\tresult = await Input(\n\t\theader=tr('Enter a hostname'),\n\t\tallow_skip=True,\n\t\tdefault_value=preset,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\thostname = result.get_value()\n\t\t\tif len(hostname) < 1:\n\t\t\t\treturn None\n\t\t\treturn hostname\n\t\tcase ResultType.Reset:\n\t\t\traise ValueError('Unhandled result type')\n\n\nasync def select_timezone(preset: str | None = None) -> str | None:\n\tdefault = 'UTC'\n\ttimezones = list_timezones()\n\n\titems = [MenuItem(tz, value=tz) for tz in timezones]\n\tgroup = MenuItemGroup(items, sort_items=True)\n\tgroup.set_selected_by_value(preset)\n\tgroup.set_default_by_value(default)\n\n\tresult = await Selection[str](\n\t\tgroup,\n\t\theader=tr('Select timezone'),\n\t\tallow_reset=True,\n\t\tallow_skip=True,\n\t\tenable_filter=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Reset:\n\t\t\treturn default\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\n\nasync def select_language(preset: str | None = None) -> str | None:\n\tfrom archinstall.lib.locale.locale_menu import select_kb_layout\n\n\t# We'll raise an exception in an upcoming version.\n\t# from ..exceptions import Deprecated\n\t# raise Deprecated(\"select_language() has been deprecated, use select_kb_layout() instead.\")\n\n\t# No need to translate this i feel, as it's a short lived message.\n\twarn('select_language() is deprecated, use select_kb_layout() instead. select_language() will be removed in a future version')\n\n\treturn await select_kb_layout(preset)\n\n\nasync def select_archinstall_language(languages: list[Language], preset: Language) -> Language:\n\t# these are the displayed language names which can either be\n\t# the english name of a language or, if present, the\n\t# name of the language in its own language\n\n\titems = [MenuItem(lang.display_name, lang) for lang in languages]\n\tgroup = MenuItemGroup(items, sort_items=True)\n\tgroup.set_focus_by_value(preset)\n\n\ttitle = 'NOTE: If a language can not displayed properly, a proper font must be set manually in the console.\\n'\n\ttitle += 'All available fonts can be found in \"/usr/share/kbd/consolefonts\"\\n'\n\ttitle += 'e.g. setfont LatGrkCyr-8x16 (to display latin/greek/cyrillic characters)\\n'\n\n\tresult = await Selection[Language](\n\t\theader=title,\n\t\tgroup=group,\n\t\tallow_reset=False,\n\t\tallow_skip=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\t\tcase ResultType.Reset:\n\t\t\traise ValueError('Language selection not handled')\n\n\nasync def add_number_of_parallel_downloads(preset: int = 1) -> int | None:\n\tmax_recommended = 5\n\n\theader = tr('This option enables the number of parallel downloads that can occur during package downloads') + '\\n'\n\theader += tr(' - Maximum recommended value : {} ( Allows {} parallel downloads at a time )').format(max_recommended, max_recommended) + '\\n\\n'\n\theader += tr('Enter the number of parallel downloads to be enabled')\n\n\tdef validator(s: str) -> str | None:\n\t\ttry:\n\t\t\tvalue = int(s)\n\n\t\t\tif 1 <= value <= max_recommended:\n\t\t\t\treturn None\n\n\t\t\treturn tr('Value must be between 1 and {}').format(max_recommended)\n\t\texcept Exception:\n\t\t\treturn tr('Please enter a valid number')\n\n\tresult = await Input(\n\t\theader=header,\n\t\tallow_skip=True,\n\t\tallow_reset=True,\n\t\tvalidator_callback=validator,\n\t\tdefault_value=str(preset),\n\t).show()\n\n\tdownloads = 1\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Reset:\n\t\t\treturn downloads\n\t\tcase ResultType.Selection:\n\t\t\tdownloads = int(result.get_value())\n\n\tpacman_conf_path = Path('/etc/pacman.conf')\n\twith pacman_conf_path.open() as f:  # noqa: ASYNC230\n\t\tpacman_conf = f.read().split('\\n')\n\n\twith pacman_conf_path.open('w') as fwrite:  # noqa: ASYNC230\n\t\tfor line in pacman_conf:\n\t\t\tif 'ParallelDownloads' in line:\n\t\t\t\tfwrite.write(f'ParallelDownloads = {downloads}\\n')\n\t\t\telse:\n\t\t\t\tfwrite.write(f'{line}\\n')\n\n\treturn downloads\n\n\nasync def select_post_installation(elapsed_time: float | None = None) -> PostInstallationAction:\n\theader = 'Installation completed'\n\tif elapsed_time is not None:\n\t\tminutes = int(elapsed_time // 60)\n\t\tseconds = int(elapsed_time % 60)\n\t\theader += f' in {minutes}m{seconds}s' + '\\n'\n\theader += tr('What would you like to do next?') + '\\n'\n\n\titems = [MenuItem(action.value, value=action) for action in PostInstallationAction]\n\tgroup = MenuItemGroup(items)\n\n\tresult = await Selection[PostInstallationAction](\n\t\tgroup,\n\t\theader=header,\n\t\tallow_skip=False,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\t\tcase _:\n\t\t\traise ValueError('Post installation action not handled')\n"
  },
  {
    "path": "archinstall/lib/interactions/system_conf.py",
    "content": "from typing import assert_never\n\nfrom archinstall.lib.hardware import GfxDriver, SysInfo\nfrom archinstall.lib.menu.helpers import Confirmation, Selection\nfrom archinstall.lib.models.application import ZramAlgorithm, ZramConfiguration\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nasync def select_kernel(preset: list[str] = []) -> list[str]:\n\t\"\"\"\n\tAsks the user to select a kernel for system.\n\n\t:return: The string as a selected kernel\n\t:rtype: string\n\t\"\"\"\n\tkernels = ['linux', 'linux-lts', 'linux-zen', 'linux-hardened']\n\tdefault_kernel = 'linux'\n\n\titems = [MenuItem(k, value=k) for k in kernels]\n\n\tgroup = MenuItemGroup(items, sort_items=True)\n\tgroup.set_default_by_value(default_kernel)\n\tgroup.set_focus_by_value(default_kernel)\n\tgroup.set_selected_by_value(preset)\n\n\tresult = await Selection[str](\n\t\tgroup,\n\t\theader=tr('Select which kernel(s) to install'),\n\t\tallow_skip=True,\n\t\tallow_reset=True,\n\t\tmulti=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Reset:\n\t\t\treturn []\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_values()\n\n\nasync def select_uki(preset: bool = True) -> bool:\n\tprompt = tr('Would you like to use unified kernel images?') + '\\n'\n\n\tresult = await Confirmation(header=prompt, allow_skip=True, preset=preset).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\t\tcase ResultType.Reset:\n\t\t\traise ValueError('Unhandled result type')\n\n\nasync def select_driver(options: list[GfxDriver] = [], preset: GfxDriver | None = None) -> GfxDriver | None:\n\t\"\"\"\n\tSomewhat convoluted function, whose job is simple.\n\tSelect a graphics driver from a pre-defined set of popular options.\n\n\t(The template xorg is for beginner users, not advanced, and should\n\tthere for appeal to the general public first and edge cases later)\n\t\"\"\"\n\tif not options:\n\t\toptions = [driver for driver in GfxDriver]\n\n\titems = [\n\t\tMenuItem(\n\t\t\to.value,\n\t\t\tvalue=o,\n\t\t\tpreview_action=lambda x: x.value.packages_text() if x.value else None,\n\t\t)\n\t\tfor o in options\n\t]\n\n\tgroup = MenuItemGroup(items, sort_items=True)\n\tgroup.set_default_by_value(GfxDriver.AllOpenSource)\n\n\tif preset is not None:\n\t\tgroup.set_focus_by_value(preset)\n\n\theader = ''\n\tif SysInfo.has_amd_graphics():\n\t\theader += tr('For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.') + '\\n'\n\tif SysInfo.has_intel_graphics():\n\t\theader += tr('For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n')\n\tif SysInfo.has_nvidia_graphics():\n\t\theader += tr('For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n')\n\n\tresult = await Selection[GfxDriver](\n\t\tgroup,\n\t\theader=header,\n\t\tallow_skip=True,\n\t\tallow_reset=True,\n\t\tpreview_location='right',\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\n\nasync def select_swap(preset: ZramConfiguration = ZramConfiguration(enabled=True)) -> ZramConfiguration:\n\tprompt = tr('Would you like to use swap on zram?') + '\\n'\n\n\tgroup = MenuItemGroup.yes_no()\n\tgroup.set_default_by_value(True)\n\tgroup.set_focus_by_value(preset.enabled)\n\n\tresult = await Confirmation(\n\t\theader=prompt,\n\t\tallow_skip=True,\n\t\tpreset=preset.enabled,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Selection:\n\t\t\tenabled = result.item() == MenuItem.yes()\n\t\t\tif not enabled:\n\t\t\t\treturn ZramConfiguration(enabled=False)\n\n\t\t\t# Ask for compression algorithm\n\t\t\talgo_group = MenuItemGroup.from_enum(ZramAlgorithm, sort_items=False)\n\t\t\talgo_group.set_default_by_value(ZramAlgorithm.ZSTD)\n\t\t\talgo_group.set_focus_by_value(preset.algorithm)\n\n\t\t\talgo_result = await Selection[ZramAlgorithm](\n\t\t\t\talgo_group,\n\t\t\t\theader=tr('Select zram compression algorithm:') + '\\n',\n\t\t\t\tallow_skip=True,\n\t\t\t).show()\n\n\t\t\tmatch algo_result.type_:\n\t\t\t\tcase ResultType.Skip:\n\t\t\t\t\talgo = preset.algorithm\n\t\t\t\tcase ResultType.Selection:\n\t\t\t\t\talgo = algo_result.get_value()\n\t\t\t\tcase ResultType.Reset:\n\t\t\t\t\traise ValueError('Unhandled result type')\n\t\t\t\tcase _:\n\t\t\t\t\tassert_never(algo_result.type_)\n\n\t\t\treturn ZramConfiguration(enabled=True, algorithm=algo)\n\t\tcase ResultType.Reset:\n\t\t\traise ValueError('Unhandled result type')\n"
  },
  {
    "path": "archinstall/lib/locale/__init__.py",
    "content": "from archinstall.lib.locale.utils import (\n\tlist_keyboard_languages,\n\tlist_locales,\n\tlist_timezones,\n\tlist_x11_keyboard_languages,\n\tset_kb_layout,\n\tverify_keyboard_layout,\n\tverify_x11_keyboard_layout,\n)\n\n__all__ = [\n\t'list_keyboard_languages',\n\t'list_locales',\n\t'list_timezones',\n\t'list_x11_keyboard_languages',\n\t'set_kb_layout',\n\t'verify_keyboard_layout',\n\t'verify_x11_keyboard_layout',\n]\n"
  },
  {
    "path": "archinstall/lib/locale/locale_menu.py",
    "content": "from typing import override\n\nfrom archinstall.lib.locale.utils import list_keyboard_languages, list_locales, set_kb_layout\nfrom archinstall.lib.menu.abstract_menu import AbstractSubMenu\nfrom archinstall.lib.menu.helpers import Selection\nfrom archinstall.lib.models.locale import LocaleConfiguration\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass LocaleMenu(AbstractSubMenu[LocaleConfiguration]):\n\tdef __init__(\n\t\tself,\n\t\tlocale_conf: LocaleConfiguration,\n\t):\n\t\tself._locale_conf = locale_conf\n\t\tmenu_options = self._define_menu_options()\n\n\t\tself._item_group = MenuItemGroup(menu_options, sort_items=False, checkmarks=True)\n\t\tsuper().__init__(\n\t\t\tself._item_group,\n\t\t\tconfig=self._locale_conf,\n\t\t\tallow_reset=True,\n\t\t)\n\n\tdef _define_menu_options(self) -> list[MenuItem]:\n\t\treturn [\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Keyboard layout'),\n\t\t\t\taction=self._select_kb_layout,\n\t\t\t\tvalue=self._locale_conf.kb_layout,\n\t\t\t\tpreview_action=lambda item: item.get_value(),\n\t\t\t\tkey='kb_layout',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Locale language'),\n\t\t\t\taction=select_locale_lang,\n\t\t\t\tvalue=self._locale_conf.sys_lang,\n\t\t\t\tpreview_action=lambda item: item.get_value(),\n\t\t\t\tkey='sys_lang',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Locale encoding'),\n\t\t\t\taction=select_locale_enc,\n\t\t\t\tvalue=self._locale_conf.sys_enc,\n\t\t\t\tpreview_action=lambda item: item.get_value(),\n\t\t\t\tkey='sys_enc',\n\t\t\t),\n\t\t]\n\n\t@override\n\tasync def show(self) -> LocaleConfiguration | None:\n\t\tconfig = await super().show()\n\n\t\tif config is None:\n\t\t\tconfig = LocaleConfiguration.default()\n\n\t\treturn config\n\n\tasync def _select_kb_layout(self, preset: str | None) -> str | None:\n\t\tkb_lang = await select_kb_layout(preset)\n\t\tif kb_lang:\n\t\t\tset_kb_layout(kb_lang)\n\t\treturn kb_lang\n\n\nasync def select_locale_lang(preset: str | None = None) -> str | None:\n\tlocales = list_locales()\n\tlocale_lang = set([locale.split()[0] for locale in locales])\n\n\titems = [MenuItem(ll, value=ll) for ll in locale_lang]\n\tgroup = MenuItemGroup(items, sort_items=True)\n\tgroup.set_focus_by_value(preset)\n\n\tresult = await Selection[str](\n\t\theader=tr('Locale language'),\n\t\tgroup=group,\n\t\tenable_filter=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase _:\n\t\t\traise ValueError('Unhandled return type')\n\n\nasync def select_locale_enc(preset: str | None = None) -> str | None:\n\tlocales = list_locales()\n\tlocale_enc = set([locale.split()[1] for locale in locales])\n\n\titems = [MenuItem(le, value=le) for le in locale_enc]\n\tgroup = MenuItemGroup(items, sort_items=True)\n\tgroup.set_focus_by_value(preset)\n\n\tresult = await Selection[str](\n\t\theader=tr('Locale encoding'),\n\t\tgroup=group,\n\t\tenable_filter=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase _:\n\t\t\traise ValueError('Unhandled return type')\n\n\nasync def select_kb_layout(preset: str | None = None) -> str | None:\n\t\"\"\"\n\tSelect keyboard layout\n\n\t:return: The keyboard layout shortcut for the selected layout\n\t:rtype: str\n\t\"\"\"\n\n\tkb_lang = list_keyboard_languages()\n\t# sort alphabetically and then by length\n\tsorted_kb_lang = sorted(kb_lang, key=lambda x: (len(x), x))\n\n\titems = [MenuItem(lang, value=lang) for lang in sorted_kb_lang]\n\tgroup = MenuItemGroup(items, sort_items=False)\n\tgroup.set_focus_by_value(preset)\n\n\tresult = await Selection[str](\n\t\theader=tr('Keyboard layout'),\n\t\tgroup=group,\n\t\tenable_filter=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_value()\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase _:\n\t\t\traise ValueError('Unhandled return type')\n"
  },
  {
    "path": "archinstall/lib/locale/utils.py",
    "content": "from archinstall.lib.command import SysCommand\nfrom archinstall.lib.exceptions import ServiceException, SysCallError\nfrom archinstall.lib.output import error\nfrom archinstall.lib.utils.util import running_from_iso\n\n\ndef list_keyboard_languages() -> list[str]:\n\treturn (\n\t\tSysCommand(\n\t\t\t'localectl --no-pager list-keymaps',\n\t\t\tenvironment_vars={'SYSTEMD_COLORS': '0'},\n\t\t)\n\t\t.decode()\n\t\t.splitlines()\n\t)\n\n\ndef list_locales() -> list[str]:\n\tlocales = []\n\n\twith open('/usr/share/i18n/SUPPORTED') as file:\n\t\tfor line in file:\n\t\t\tif line != 'C.UTF-8 UTF-8\\n':\n\t\t\t\tlocales.append(line.rstrip())\n\n\treturn locales\n\n\ndef list_x11_keyboard_languages() -> list[str]:\n\treturn (\n\t\tSysCommand(\n\t\t\t'localectl --no-pager list-x11-keymap-layouts',\n\t\t\tenvironment_vars={'SYSTEMD_COLORS': '0'},\n\t\t)\n\t\t.decode()\n\t\t.splitlines()\n\t)\n\n\ndef verify_keyboard_layout(layout: str) -> bool:\n\tfor language in list_keyboard_languages():\n\t\tif layout.lower() == language.lower():\n\t\t\treturn True\n\treturn False\n\n\ndef verify_x11_keyboard_layout(layout: str) -> bool:\n\tfor language in list_x11_keyboard_languages():\n\t\tif layout.lower() == language.lower():\n\t\t\treturn True\n\treturn False\n\n\ndef get_kb_layout() -> str:\n\ttry:\n\t\tlines = (\n\t\t\tSysCommand(\n\t\t\t\t'localectl --no-pager status',\n\t\t\t\tenvironment_vars={'SYSTEMD_COLORS': '0'},\n\t\t\t)\n\t\t\t.decode()\n\t\t\t.splitlines()\n\t\t)\n\texcept Exception:\n\t\treturn ''\n\n\tvcline = ''\n\tfor line in lines:\n\t\tif 'VC Keymap: ' in line:\n\t\t\tvcline = line\n\n\tif vcline == '':\n\t\treturn ''\n\n\tlayout = vcline.split(': ')[1]\n\tif not verify_keyboard_layout(layout):\n\t\treturn ''\n\n\treturn layout\n\n\ndef set_kb_layout(locale: str) -> bool:\n\tif not running_from_iso():\n\t\t# Skip when running from host - no need to change host keymap\n\t\t# The target installation keymap is set via installer.set_keyboard_language()\n\t\treturn True\n\n\tif len(locale.strip()):\n\t\tif not verify_keyboard_layout(locale):\n\t\t\terror(f'Invalid keyboard locale specified: {locale}')\n\t\t\treturn False\n\n\t\ttry:\n\t\t\tSysCommand(f'localectl set-keymap {locale}')\n\t\texcept SysCallError as err:\n\t\t\traise ServiceException(f\"Unable to set locale '{locale}' for console: {err}\")\n\n\t\treturn True\n\n\treturn False\n\n\ndef list_timezones() -> list[str]:\n\treturn (\n\t\tSysCommand(\n\t\t\t'timedatectl --no-pager list-timezones',\n\t\t\tenvironment_vars={'SYSTEMD_COLORS': '0'},\n\t\t)\n\t\t.decode()\n\t\t.splitlines()\n\t)\n"
  },
  {
    "path": "archinstall/lib/luks.py",
    "content": "import shlex\nfrom dataclasses import dataclass\nfrom pathlib import Path\nfrom subprocess import CalledProcessError\nfrom types import TracebackType\n\nfrom archinstall.lib.command import SysCommand, SysCommandWorker, run\nfrom archinstall.lib.disk.utils import get_lsblk_info, umount\nfrom archinstall.lib.exceptions import DiskError, SysCallError\nfrom archinstall.lib.models.device import DEFAULT_ITER_TIME\nfrom archinstall.lib.models.users import Password\nfrom archinstall.lib.output import debug, info\nfrom archinstall.lib.utils.util import generate_password\n\n\n@dataclass\nclass Luks2:\n\tluks_dev_path: Path\n\tmapper_name: str | None = None\n\tpassword: Password | None = None\n\tkey_file: Path | None = None\n\tauto_unmount: bool = False\n\n\t@property\n\tdef mapper_dev(self) -> Path | None:\n\t\tif self.mapper_name:\n\t\t\treturn Path(f'/dev/mapper/{self.mapper_name}')\n\t\treturn None\n\n\tdef isLuks(self) -> bool:\n\t\ttry:\n\t\t\tSysCommand(f'cryptsetup isLuks {self.luks_dev_path}')\n\t\t\treturn True\n\t\texcept SysCallError:\n\t\t\treturn False\n\n\tdef erase(self) -> None:\n\t\tdebug(f'Erasing luks partition: {self.luks_dev_path}')\n\t\tworker = SysCommandWorker(f'cryptsetup erase {self.luks_dev_path}')\n\t\tworker.poll()\n\t\tworker.write(b'YES\\n', line_ending=False)\n\n\tdef __enter__(self) -> None:\n\t\tself.unlock(self.key_file)\n\n\tdef __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) -> None:\n\t\tif self.auto_unmount:\n\t\t\tself.lock()\n\n\tdef _password_bytes(self) -> bytes:\n\t\tif not self.password:\n\t\t\traise ValueError('Password for luks2 device was not specified')\n\n\t\tif isinstance(self.password, bytes):\n\t\t\treturn self.password\n\t\telse:\n\t\t\treturn bytes(self.password.plaintext, 'UTF-8')\n\n\tdef _get_passphrase_args(\n\t\tself,\n\t\tkey_file: Path | None = None,\n\t) -> tuple[list[str], bytes | None]:\n\t\tkey_file = key_file or self.key_file\n\n\t\tif key_file:\n\t\t\treturn ['--key-file', str(key_file)], None\n\n\t\treturn [], self._password_bytes()\n\n\tdef encrypt(\n\t\tself,\n\t\tkey_size: int = 512,\n\t\thash_type: str = 'sha512',\n\t\titer_time: int = DEFAULT_ITER_TIME,\n\t\tkey_file: Path | None = None,\n\t) -> Path | None:\n\t\tdebug(f'Luks2 encrypting: {self.luks_dev_path}')\n\n\t\tkey_file_arg, passphrase = self._get_passphrase_args(key_file)\n\n\t\tcmd = [\n\t\t\t'cryptsetup',\n\t\t\t'--batch-mode',\n\t\t\t'--verbose',\n\t\t\t'--type',\n\t\t\t'luks2',\n\t\t\t'--pbkdf',\n\t\t\t'argon2id',\n\t\t\t'--hash',\n\t\t\thash_type,\n\t\t\t'--key-size',\n\t\t\tstr(key_size),\n\t\t\t'--iter-time',\n\t\t\tstr(iter_time),\n\t\t\t*key_file_arg,\n\t\t\t'--use-urandom',\n\t\t\t'luksFormat',\n\t\t\tstr(self.luks_dev_path),\n\t\t]\n\n\t\tdebug(f'cryptsetup format: {shlex.join(cmd)}')\n\n\t\ttry:\n\t\t\tresult = run(cmd, input_data=passphrase)\n\t\texcept CalledProcessError as err:\n\t\t\toutput = err.stdout.decode().rstrip()\n\t\t\traise DiskError(f'Could not encrypt volume \"{self.luks_dev_path}\": {output}')\n\n\t\tdebug(f'cryptsetup luksFormat output: {result.stdout.decode().rstrip()}')\n\n\t\tself.key_file = key_file\n\n\t\treturn key_file\n\n\tdef _get_luks_uuid(self) -> str:\n\t\tcommand = f'cryptsetup luksUUID {self.luks_dev_path}'\n\n\t\ttry:\n\t\t\treturn SysCommand(command).decode()\n\t\texcept SysCallError as err:\n\t\t\tinfo(f'Unable to get UUID for Luks device: {self.luks_dev_path}')\n\t\t\traise err\n\n\tdef is_unlocked(self) -> bool:\n\t\treturn (mapper_dev := self.mapper_dev) is not None and mapper_dev.is_symlink()\n\n\tdef unlock(self, key_file: Path | None = None) -> None:\n\t\t\"\"\"\n\t\tUnlocks the luks device, an optional key file location for unlocking can be specified,\n\t\totherwise a default location for the key file will be used.\n\n\t\t:param key_file: An alternative key file\n\t\t:type key_file: Path\n\t\t\"\"\"\n\t\tdebug(f'Unlocking luks2 device: {self.luks_dev_path}')\n\n\t\tif not self.mapper_name:\n\t\t\traise ValueError('mapper name missing')\n\n\t\tkey_file_arg, passphrase = self._get_passphrase_args(key_file)\n\n\t\tcmd = [\n\t\t\t'cryptsetup',\n\t\t\t'open',\n\t\t\tstr(self.luks_dev_path),\n\t\t\tstr(self.mapper_name),\n\t\t\t*key_file_arg,\n\t\t\t'--type',\n\t\t\t'luks2',\n\t\t]\n\n\t\tresult = run(cmd, input_data=passphrase)\n\n\t\tdebug(f'cryptsetup open output: {result.stdout.decode().rstrip()}')\n\n\t\tif not self.is_unlocked():\n\t\t\traise DiskError(f'Failed to open luks2 device: {self.luks_dev_path}')\n\n\tdef lock(self) -> None:\n\t\tumount(self.luks_dev_path)\n\n\t\t# Get crypt-information about the device by doing a reverse lookup starting with the partition path\n\t\t# For instance: /dev/sda\n\t\tlsblk_info = get_lsblk_info(self.luks_dev_path)\n\n\t\t# For each child (sub-partition/sub-device)\n\t\tfor child in lsblk_info.children:\n\t\t\t# Unmount the child location\n\t\t\tfor mountpoint in child.mountpoints:\n\t\t\t\tdebug(f'Unmounting {mountpoint}')\n\t\t\t\tumount(mountpoint, recursive=True)\n\n\t\t\t# And close it if possible.\n\t\t\tdebug(f'Closing crypt device {child.name}')\n\t\t\tSysCommand(f'cryptsetup close {child.name}')\n\n\tdef create_keyfile(self, target_path: Path, override: bool = False) -> None:\n\t\t\"\"\"\n\t\tRoutine to create keyfiles, so it can be moved elsewhere\n\t\t\"\"\"\n\t\tif self.mapper_name is None:\n\t\t\traise ValueError('Mapper name must be provided')\n\n\t\t# Once we store the key as ../xyzloop.key systemd-cryptsetup can\n\t\t# automatically load this key if we name the device to \"xyzloop\"\n\t\tkf_path = Path(f'/etc/cryptsetup-keys.d/{self.mapper_name}.key')\n\t\tkey_file = target_path / kf_path.relative_to(kf_path.root)\n\t\tcrypttab_path = target_path / 'etc/crypttab'\n\n\t\tif key_file.exists():\n\t\t\tif not override:\n\t\t\t\tinfo(f'Key file {key_file} already exists, keeping existing')\n\t\t\t\treturn\n\t\t\telse:\n\t\t\t\tinfo(f'Key file {key_file} already exists, overriding')\n\n\t\tkey_file.parent.mkdir(parents=True, exist_ok=True)\n\n\t\tpwd = generate_password(length=512)\n\t\tkey_file.write_text(pwd)\n\n\t\tkey_file.chmod(0o400)\n\n\t\tself._add_key(key_file)\n\t\tself._crypttab(crypttab_path, kf_path, options=['luks', 'key-slot=1'])\n\n\tdef _add_key(self, key_file: Path) -> None:\n\t\tdebug(f'Adding additional key-file {key_file}')\n\n\t\tcommand = f'cryptsetup -q -v luksAddKey {self.luks_dev_path} {key_file}'\n\t\tworker = SysCommandWorker(command)\n\t\tpw_injected = False\n\n\t\twhile worker.is_alive():\n\t\t\tif b'Enter any existing passphrase' in worker and pw_injected is False:\n\t\t\t\tworker.write(self._password_bytes())\n\t\t\t\tpw_injected = True\n\n\t\tif worker.exit_code != 0:\n\t\t\traise DiskError(f'Could not add encryption key {key_file} to {self.luks_dev_path}: {worker.decode()}')\n\n\tdef _crypttab(\n\t\tself,\n\t\tcrypttab_path: Path,\n\t\tkey_file: Path,\n\t\toptions: list[str],\n\t) -> None:\n\t\tdebug(f'Adding crypttab entry for key {key_file}')\n\n\t\twith open(crypttab_path, 'a') as crypttab:\n\t\t\topt = ','.join(options)\n\t\t\tuuid = self._get_luks_uuid()\n\t\t\trow = f'{self.mapper_name} UUID={uuid} {key_file} {opt}\\n'\n\t\t\tcrypttab.write(row)\n\n\ndef unlock_luks2_dev(\n\tdev_path: Path,\n\tmapper_name: str,\n\tenc_password: Password | None,\n) -> Luks2:\n\tluks_handler = Luks2(dev_path, mapper_name=mapper_name, password=enc_password)\n\n\tif not luks_handler.is_unlocked():\n\t\tluks_handler.unlock()\n\n\treturn luks_handler\n"
  },
  {
    "path": "archinstall/lib/menu/__init__.py",
    "content": "from archinstall.lib.menu.abstract_menu import AbstractMenu, AbstractSubMenu\nfrom archinstall.lib.menu.list_manager import ListManager\n\n__all__ = [\n\t'AbstractMenu',\n\t'AbstractSubMenu',\n\t'ListManager',\n]\n"
  },
  {
    "path": "archinstall/lib/menu/abstract_menu.py",
    "content": "from enum import Enum\nfrom types import TracebackType\nfrom typing import Any, Self, override\n\nfrom archinstall.lib.menu.helpers import Selection\nfrom archinstall.lib.output import error\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.types import Chars\nfrom archinstall.tui.ui.components import InstanceRunnable\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\nCONFIG_KEY = '__config__'\n\n\nclass SpecialMenuKey(Enum):\n\tSAVE = f'{CONFIG_KEY}_save'\n\tINSTALL = f'{CONFIG_KEY}_install'\n\tABORT = f'{CONFIG_KEY}_abort'\n\n\t@staticmethod\n\tdef matches(key: str) -> bool:\n\t\treturn any(key == item.value for item in SpecialMenuKey)\n\n\nclass AbstractMenu[ValueT](InstanceRunnable[ValueT]):\n\tdef __init__(\n\t\tself,\n\t\titem_group: MenuItemGroup,\n\t\tconfig: Any,\n\t\ttitle: str | None = None,\n\t\tauto_cursor: bool = True,\n\t\tallow_reset: bool = False,\n\t\treset_warning: str | None = None,\n\t):\n\t\tself._menu_item_group = item_group\n\t\tself._config = config\n\t\tself.auto_cursor = auto_cursor\n\t\tself._allow_reset = allow_reset\n\t\tself._reset_warning = reset_warning\n\t\tself._title = title\n\n\t\tself.is_context_mgr = False\n\n\t\tself._sync_from_config()\n\n\tdef __enter__(self, *args: Any, **kwargs: Any) -> Self:\n\t\tself.is_context_mgr = True\n\t\treturn self\n\n\tdef __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) -> None:\n\t\t# TODO: https://stackoverflow.com/questions/28157929/how-to-safely-handle-an-exception-inside-a-context-manager\n\t\t# TODO: skip processing when it comes from a planified exit\n\t\tif exc_type is not None:\n\t\t\terror(str(exc_value))\n\t\t\tprint('Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues')\n\n\t\t\t# Return None to propagate the exception\n\t\t\treturn None\n\n\t\tself.sync_all_to_config()\n\n\tdef _sync_from_config(self) -> None:\n\t\tfor item in self._menu_item_group._menu_items:\n\t\t\tif item.key is not None and not SpecialMenuKey.matches(item.key):\n\t\t\t\tconfig_value = getattr(self._config, item.key)\n\t\t\t\tif config_value is not None:\n\t\t\t\t\titem.value = config_value\n\n\tdef sync_all_to_config(self) -> None:\n\t\tfor item in self._menu_item_group._menu_items:\n\t\t\tif item.key:\n\t\t\t\tsetattr(self._config, item.key, item.value)\n\n\tdef _sync(self, item: MenuItem) -> None:\n\t\tif not item.key or SpecialMenuKey.matches(item.key):\n\t\t\treturn\n\n\t\tconfig_value = getattr(self._config, item.key)\n\n\t\tif config_value is not None:\n\t\t\titem.value = config_value\n\t\telif item.value is not None:\n\t\t\tsetattr(self._config, item.key, item.value)\n\n\tdef set_enabled(self, key: str, enabled: bool) -> None:\n\t\t# the __config__ is associated with multiple items\n\t\tfound = False\n\n\t\tis_config_key = key == CONFIG_KEY\n\n\t\tfor item in self._menu_item_group.items:\n\t\t\tif item.key:\n\t\t\t\tif item.key == key or (is_config_key and SpecialMenuKey.matches(item.key)):\n\t\t\t\t\titem.enabled = enabled\n\t\t\t\t\tfound = True\n\n\t\tif not found:\n\t\t\traise ValueError(f'No selector found: {key}')\n\n\tdef disable_all(self) -> None:\n\t\tfor item in self._menu_item_group.items:\n\t\t\titem.enabled = False\n\n\tdef is_config_valid(self) -> bool:\n\t\treturn True\n\n\t@override\n\tasync def run(self) -> ValueT | None:\n\t\treturn await self.show()\n\n\tasync def show(self) -> ValueT | None:\n\t\tself._sync_from_config()\n\n\t\twhile True:\n\t\t\tresult = await Selection[ValueT](\n\t\t\t\ttitle=self._title,\n\t\t\t\tgroup=self._menu_item_group,\n\t\t\t\tallow_skip=False,\n\t\t\t\tallow_reset=self._allow_reset,\n\t\t\t\tpreview_location='right',\n\t\t\t).show()\n\n\t\t\tmatch result.type_:\n\t\t\t\tcase ResultType.Selection:\n\t\t\t\t\titem: MenuItem = result.item()\n\t\t\t\t\tself._menu_item_group.focus_item = item\n\n\t\t\t\t\tif item.action is None:\n\t\t\t\t\t\tif item.key == SpecialMenuKey.INSTALL.value:\n\t\t\t\t\t\t\tif not self.is_config_valid():\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\telif item.key == SpecialMenuKey.ABORT.value:\n\t\t\t\t\t\t\treturn None\n\t\t\t\t\t\telse:\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\telse:\n\t\t\t\t\t\titem.value = await item.action(item.value)\n\t\t\t\tcase ResultType.Reset:\n\t\t\t\t\treturn None\n\t\t\t\tcase _:\n\t\t\t\t\tpass\n\n\t\tself.sync_all_to_config()\n\t\treturn self._config\n\n\nclass AbstractSubMenu[ValueT](AbstractMenu[ValueT]):\n\tdef __init__(\n\t\tself,\n\t\titem_group: MenuItemGroup,\n\t\tconfig: Any,\n\t\tauto_cursor: bool = True,\n\t\tallow_reset: bool = False,\n\t):\n\t\tback_text = f'{Chars.Right_arrow} ' + tr('Back')\n\t\titem_group.add_item(MenuItem(text=back_text))\n\n\t\tsuper().__init__(\n\t\t\titem_group,\n\t\t\tconfig=config,\n\t\t\tauto_cursor=auto_cursor,\n\t\t\tallow_reset=allow_reset,\n\t\t)\n"
  },
  {
    "path": "archinstall/lib/menu/helpers.py",
    "content": "from collections.abc import Awaitable, Callable\nfrom typing import Any, Literal, override\n\nfrom textual.validation import ValidationResult, Validator\n\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.components import InputInfo, InputScreen, LoadingScreen, NotifyScreen, OptionListScreen, SelectListScreen, TableSelectionScreen\nfrom archinstall.tui.ui.menu_item import MenuItemGroup\nfrom archinstall.tui.ui.result import Result, ResultType\n\n\nclass Selection[ValueT]:\n\tdef __init__(\n\t\tself,\n\t\tgroup: MenuItemGroup,\n\t\theader: str | None = None,\n\t\ttitle: str | None = None,\n\t\tallow_skip: bool = True,\n\t\tallow_reset: bool = False,\n\t\tpreview_location: Literal['right', 'bottom'] | None = None,\n\t\tmulti: bool = False,\n\t\tenable_filter: bool = False,\n\t):\n\t\tself._header = header\n\t\tself._title = title\n\t\tself._group: MenuItemGroup = group\n\t\tself._allow_skip = allow_skip\n\t\tself._allow_reset = allow_reset\n\t\tself._preview_location = preview_location\n\t\tself._multi = multi\n\t\tself._enable_filter = enable_filter\n\n\tasync def show(self) -> Result[ValueT]:\n\t\tif self._multi:\n\t\t\tresult = await SelectListScreen[ValueT](\n\t\t\t\tself._group,\n\t\t\t\theader=self._header,\n\t\t\t\tallow_skip=self._allow_skip,\n\t\t\t\tallow_reset=self._allow_reset,\n\t\t\t\tpreview_location=self._preview_location,\n\t\t\t\tenable_filter=self._enable_filter,\n\t\t\t).run()\n\t\telse:\n\t\t\tresult = await OptionListScreen[ValueT](\n\t\t\t\tself._group,\n\t\t\t\theader=self._header,\n\t\t\t\ttitle=self._title,\n\t\t\t\tallow_skip=self._allow_skip,\n\t\t\t\tallow_reset=self._allow_reset,\n\t\t\t\tpreview_location=self._preview_location,\n\t\t\t\tenable_filter=self._enable_filter,\n\t\t\t).run()\n\n\t\tif result.type_ == ResultType.Reset:\n\t\t\tconfirmed = await _confirm_reset()\n\n\t\t\tif confirmed.get_value() is False:\n\t\t\t\treturn await self.show()\n\n\t\treturn result\n\n\nclass Confirmation:\n\tdef __init__(\n\t\tself,\n\t\theader: str,\n\t\tgroup: MenuItemGroup | None = None,\n\t\tallow_skip: bool = True,\n\t\tallow_reset: bool = False,\n\t\tpreset: bool = False,\n\t\tpreview_location: Literal['bottom'] | None = None,\n\t\tpreview_header: str | None = None,\n\t):\n\t\tself._header = header\n\t\tself._allow_skip = allow_skip\n\t\tself._allow_reset = allow_reset\n\t\tself._preset = preset\n\t\tself._preview_location = preview_location\n\t\tself._preview_header = preview_header\n\n\t\tif not group:\n\t\t\tself._group = MenuItemGroup.yes_no()\n\t\t\tself._group.set_focus_by_value(preset)\n\t\telse:\n\t\t\tself._group = group\n\n\tasync def show(self) -> Result[bool]:\n\t\tresult = await OptionListScreen[bool](\n\t\t\tself._group,\n\t\t\theader=self._header,\n\t\t\tallow_skip=self._allow_skip,\n\t\t\tallow_reset=self._allow_reset,\n\t\t\tpreview_location=self._preview_location,\n\t\t\tenable_filter=False,\n\t\t).run()\n\n\t\tif result.type_ == ResultType.Reset:\n\t\t\tconfirmed = await _confirm_reset()\n\n\t\t\tif confirmed.get_value() is False:\n\t\t\t\treturn await self.show()\n\n\t\treturn result\n\n\nclass Notify:\n\tdef __init__(self, header: str):\n\t\tself._header = header\n\n\tasync def show(self) -> Result[bool]:\n\t\t_ = await NotifyScreen(header=self._header).run()\n\t\treturn Result.true()\n\n\nclass GenericValidator(Validator):\n\tdef __init__(self, validator_callback: Callable[[str], str | None]) -> None:\n\t\tsuper().__init__()\n\n\t\tself._validator_callback = validator_callback\n\n\t@override\n\tdef validate(self, value: str) -> ValidationResult:\n\t\tresult = self._validator_callback(value)\n\n\t\tif result is not None:\n\t\t\treturn self.failure(result)\n\n\t\treturn self.success()\n\n\nclass Input:\n\tdef __init__(\n\t\tself,\n\t\theader: str | None = None,\n\t\tplaceholder: str | None = None,\n\t\tpassword: bool = False,\n\t\tdefault_value: str | None = None,\n\t\tallow_skip: bool = True,\n\t\tallow_reset: bool = False,\n\t\tvalidator_callback: Callable[[str], str | None] | None = None,\n\t\tinfo_callback: Callable[[str], InputInfo | None] | None = None,\n\t):\n\t\tself._header = header\n\t\tself._placeholder = placeholder\n\t\tself._password = password\n\t\tself._default_value = default_value\n\t\tself._allow_skip = allow_skip\n\t\tself._allow_reset = allow_reset\n\t\tself._validator_callback = validator_callback\n\t\tself._info_callback = info_callback\n\n\tasync def show(self) -> Result[str]:\n\t\tvalidator = GenericValidator(self._validator_callback) if self._validator_callback else None\n\n\t\tresult = await InputScreen(\n\t\t\theader=self._header,\n\t\t\tplaceholder=self._placeholder,\n\t\t\tpassword=self._password,\n\t\t\tdefault_value=self._default_value,\n\t\t\tallow_skip=self._allow_skip,\n\t\t\tallow_reset=self._allow_reset,\n\t\t\tvalidator=validator,\n\t\t\tinfo_callback=self._info_callback,\n\t\t).run()\n\n\t\tif result.type_ == ResultType.Reset:\n\t\t\tconfirmed = await _confirm_reset()\n\n\t\t\tif confirmed.get_value() is False:\n\t\t\t\treturn await self.show()\n\n\t\treturn result\n\n\nclass Loading[ValueT]:\n\tdef __init__(\n\t\tself,\n\t\theader: str | None = None,\n\t\ttimer: int = 3,\n\t\tdata_callback: Callable[[], Any] | None = None,\n\t):\n\t\tself._header = header\n\t\tself._timer = timer\n\t\tself._data_callback = data_callback\n\n\tasync def show(self) -> Result[ValueT]:\n\t\tif self._data_callback:\n\t\t\tresult = await LoadingScreen[ValueT](\n\t\t\t\theader=self._header,\n\t\t\t\tdata_callback=self._data_callback,\n\t\t\t).run()\n\t\t\treturn result\n\t\telse:\n\t\t\t_ = await LoadingScreen(\n\t\t\t\ttimer=self._timer,\n\t\t\t\theader=self._header,\n\t\t\t).run()\n\t\t\treturn Result.true()\n\n\nclass Table[ValueT]:\n\tdef __init__(\n\t\tself,\n\t\theader: str | None = None,\n\t\tgroup: MenuItemGroup | None = None,\n\t\tgroup_callback: Callable[[], Awaitable[MenuItemGroup]] | None = None,\n\t\tpresets: list[ValueT] | None = None,\n\t\tallow_reset: bool = False,\n\t\tallow_skip: bool = False,\n\t\tloading_header: str | None = None,\n\t\tmulti: bool = False,\n\t\tpreview_location: Literal['bottom'] | None = None,\n\t\tpreview_header: str | None = None,\n\t):\n\t\tself._header = header\n\t\tself._group = group\n\t\tself._data_callback = group_callback\n\t\tself._loading_header = loading_header\n\t\tself._allow_skip = allow_skip\n\t\tself._allow_reset = allow_reset\n\t\tself._multi = multi\n\t\tself._presets = presets\n\t\tself._preview_location = preview_location\n\t\tself._preview_header = preview_header\n\n\t\tif self._group is None and self._data_callback is None:\n\t\t\traise ValueError('Either data or data_callback must be provided')\n\n\tasync def show(self) -> Result[ValueT]:\n\t\tresult = await TableSelectionScreen[ValueT](\n\t\t\theader=self._header,\n\t\t\tgroup=self._group,\n\t\t\tgroup_callback=self._data_callback,\n\t\t\tallow_skip=self._allow_skip,\n\t\t\tallow_reset=self._allow_reset,\n\t\t\tloading_header=self._loading_header,\n\t\t\tmulti=self._multi,\n\t\t\tpreview_location=self._preview_location,\n\t\t\tpreview_header=self._preview_header,\n\t\t).run()\n\n\t\tif result.type_ == ResultType.Reset:\n\t\t\tconfirmed = await _confirm_reset()\n\n\t\t\tif confirmed.get_value() is False:\n\t\t\t\treturn await self.show()\n\n\t\treturn result\n\n\nasync def _confirm_reset() -> Result[bool]:\n\treturn await OptionListScreen[bool](\n\t\tMenuItemGroup.yes_no(),\n\t\theader=tr('Are you sure you want to reset this setting?'),\n\t\tallow_skip=False,\n\t\tallow_reset=False,\n\t).run()\n"
  },
  {
    "path": "archinstall/lib/menu/list_manager.py",
    "content": "import copy\nfrom typing import cast\n\nfrom archinstall.lib.menu.helpers import Selection\nfrom archinstall.lib.menu.menu_helper import MenuHelper\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass ListManager[ValueT]:\n\tdef __init__(\n\t\tself,\n\t\tentries: list[ValueT],\n\t\tbase_actions: list[str],\n\t\tsub_menu_actions: list[str],\n\t\tprompt: str | None = None,\n\t):\n\t\t\"\"\"\n\t\t:param prompt:\tText which will appear at the header\n\t\ttype param: string\n\n\t\t:param entries: list/dict of option to be shown / manipulated\n\t\ttype param: list\n\n\t\t:param base_actions: list of actions that is displayed in the main list manager,\n\t\tusually global actions such as 'Add...'\n\t\ttype param: list\n\n\t\t:param sub_menu_actions: list of actions available for a chosen entry\n\t\ttype param: list\n\t\t\"\"\"\n\t\tself._data = copy.deepcopy(entries)\n\n\t\tself._prompt = prompt\n\n\t\tself._separator = ''\n\t\tself._confirm_action = tr('Confirm and exit')\n\t\tself._cancel_action = tr('Cancel')\n\n\t\tself._terminate_actions = [self._confirm_action, self._cancel_action]\n\t\tself._base_actions = base_actions\n\t\tself._sub_menu_actions = sub_menu_actions\n\n\t\tself._last_choice: ValueT | str | None = None\n\n\t@property\n\tdef last_choice(self) -> ValueT | str | None:\n\t\treturn self._last_choice\n\n\tdef is_last_choice_cancel(self) -> bool:\n\t\tif self._last_choice is not None:\n\t\t\treturn self._last_choice == self._cancel_action\n\t\treturn False\n\n\tasync def _run(self) -> list[ValueT] | None:\n\t\tadditional_options = self._base_actions + self._terminate_actions\n\n\t\twhile True:\n\t\t\tgroup = MenuHelper(\n\t\t\t\tdata=self._data,\n\t\t\t\tadditional_options=additional_options,\n\t\t\t).create_menu_group()\n\n\t\t\tprompt = None\n\t\t\tif self._prompt is not None:\n\t\t\t\tprompt = f'{self._prompt}\\n\\n'\n\n\t\t\tresult = await Selection[ValueT | str](\n\t\t\t\tgroup,\n\t\t\t\theader=prompt,\n\t\t\t\tenable_filter=False,\n\t\t\t\tallow_skip=False,\n\t\t\t).show()\n\n\t\t\tmatch result.type_:\n\t\t\t\tcase ResultType.Selection:\n\t\t\t\t\tvalue = result.get_value()\n\t\t\t\tcase _:\n\t\t\t\t\traise ValueError('Unhandled return type')\n\n\t\t\tif value in self._base_actions:\n\t\t\t\tvalue = cast(str, value)\n\t\t\t\tself._data = await self.handle_action(value, None, self._data)\n\t\t\telif value in self._terminate_actions:\n\t\t\t\tbreak\n\t\t\telse:  # an entry of the existing selection was chosen\n\t\t\t\tselected_entry = result.get_value()\n\t\t\t\tselected_entry = cast(ValueT, selected_entry)\n\n\t\t\t\tawait self._run_actions_on_entry(selected_entry)\n\n\t\tself._last_choice = value\n\n\t\tif result.get_value() == self._cancel_action:\n\t\t\treturn None\n\t\telse:\n\t\t\treturn self._data\n\n\tasync def _run_actions_on_entry(self, entry: ValueT) -> None:\n\t\toptions = self.filter_options(entry, self._sub_menu_actions) + [self._cancel_action]\n\n\t\titems = [MenuItem(o, value=o) for o in options]\n\t\tgroup = MenuItemGroup(items, sort_items=False)\n\n\t\theader = f'{self.selected_action_display(entry)}'\n\n\t\tresult = await Selection[str](\n\t\t\tgroup,\n\t\t\theader=header,\n\t\t\tenable_filter=False,\n\t\t\tallow_skip=False,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\tvalue = result.get_value()\n\t\t\tcase _:\n\t\t\t\traise ValueError('Unhandled return type')\n\n\t\tif value != self._cancel_action:\n\t\t\tself._data = await self.handle_action(value, entry, self._data)\n\n\tdef selected_action_display(self, selection: ValueT) -> str:\n\t\t\"\"\"\n\t\tthis will return the value to be displayed in the\n\t\t\"Select an action for '{}'\" string\n\t\t\"\"\"\n\t\traise NotImplementedError('Please implement me in the child class')\n\n\tasync def handle_action(self, action: str, entry: ValueT | None, data: list[ValueT]) -> list[ValueT]:\n\t\t\"\"\"\n\t\tthis function is called when a base action or\n\t\ta specific action for an entry is triggered\n\t\t\"\"\"\n\t\traise NotImplementedError('Please implement me in the child class')\n\n\tdef filter_options(self, selection: ValueT, options: list[str]) -> list[str]:\n\t\t\"\"\"\n\t\tfilter which actions to show for a specific selection\n\t\t\"\"\"\n\t\treturn options\n"
  },
  {
    "path": "archinstall/lib/menu/menu_helper.py",
    "content": "from archinstall.lib.output import FormattedOutput\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\n\n\nclass MenuHelper[ValueT]:\n\tdef __init__(\n\t\tself,\n\t\tdata: list[ValueT],\n\t\tadditional_options: list[str] = [],\n\t) -> None:\n\t\tself._separator = ''\n\t\tself._data = data\n\t\tself._additional_options = additional_options\n\n\tdef create_menu_group(self) -> MenuItemGroup:\n\t\ttable_data_mapping = self._table_to_data_mapping(self._data)\n\n\t\titems = []\n\t\tfor key, value in table_data_mapping.items():\n\t\t\titem = MenuItem(key, value=value)\n\n\t\t\tif value is None:\n\t\t\t\titem.read_only = True\n\n\t\t\titems.append(item)\n\n\t\tgroup = MenuItemGroup(items, sort_items=False)\n\n\t\treturn group\n\n\tdef _table_to_data_mapping(self, data: list[ValueT]) -> dict[str, ValueT | str | None]:\n\t\tdisplay_data: dict[str, ValueT | str | None] = {}\n\n\t\tif data:\n\t\t\ttable = FormattedOutput.as_table(data)\n\t\t\trows = table.split('\\n')\n\n\t\t\t# these are the header rows of the table\n\t\t\tdisplay_data = {f'{rows[0]}': None, f'{rows[1]}': None}\n\n\t\t\tfor row, entry in zip(rows[2:], data):\n\t\t\t\tdisplay_data[row] = entry\n\n\t\tif self._additional_options:\n\t\t\tdisplay_data[self._separator] = None\n\n\t\t\tfor option in self._additional_options:\n\t\t\t\tdisplay_data[option] = option\n\n\t\treturn display_data\n"
  },
  {
    "path": "archinstall/lib/menu/util.py",
    "content": "import sys\nimport time\nfrom pathlib import Path\n\nfrom archinstall.lib.menu.helpers import Confirmation, Input\nfrom archinstall.lib.models.users import Password, PasswordStrength\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.components import InputInfo, InputInfoType, tui\nfrom archinstall.tui.ui.result import ResultType\n\n\nasync def get_password(\n\theader: str | None = None,\n\tallow_skip: bool = False,\n\tpreset: str | None = None,\n\tno_confirmation: bool = False,\n) -> Password | None:\n\tdef password_hint(value: str) -> InputInfo | None:\n\t\tif not value:\n\t\t\treturn None\n\t\tstrength = PasswordStrength.strength(value)\n\t\tif strength in (PasswordStrength.VERY_WEAK, PasswordStrength.WEAK):\n\t\t\treturn InputInfo(message=tr('Password strength: Weak'), info_type=InputInfoType.MsgError)\n\t\telif strength == PasswordStrength.MODERATE:\n\t\t\treturn InputInfo(message=tr('Password strength: Moderate'), info_type=InputInfoType.MsgWarning)\n\t\telif strength == PasswordStrength.STRONG:\n\t\t\treturn InputInfo(message=tr('Password strength: Strong'), info_type=InputInfoType.MsgInfo)\n\t\treturn None\n\n\twhile True:\n\t\tresult = await Input(\n\t\t\theader=header,\n\t\t\tallow_skip=allow_skip,\n\t\t\tdefault_value=preset,\n\t\t\tpassword=True,\n\t\t\tinfo_callback=password_hint,\n\t\t).show()\n\n\t\tif result.type_ == ResultType.Skip:\n\t\t\tif allow_skip:\n\t\t\t\treturn None\n\t\t\telse:\n\t\t\t\tcontinue\n\t\telif result.type_ == ResultType.Selection:\n\t\t\tif not result.get_value():\n\t\t\t\tif allow_skip:\n\t\t\t\t\treturn None\n\t\t\t\telse:\n\t\t\t\t\tcontinue\n\n\t\tpassword = Password(plaintext=result.get_value())\n\t\tbreak\n\n\tif no_confirmation:\n\t\treturn password\n\n\tconfirmation_header = f'{tr(\"Password\")}: {password.hidden()}\\n\\n'\n\tconfirmation_header += tr('Confirm password')\n\n\tdef _validate(value: str) -> str | None:\n\t\tif value != password._plaintext:\n\t\t\treturn tr('The password did not match, please try again')\n\t\treturn None\n\n\tresult = await Input(\n\t\theader=confirmation_header,\n\t\tallow_skip=allow_skip,\n\t\tpassword=True,\n\t\tvalidator_callback=_validate,\n\t).show()\n\n\tif result.type_ == ResultType.Skip:\n\t\treturn None\n\n\treturn password\n\n\nasync def prompt_dir(\n\theader: str | None = None,\n\tvalidate: bool = True,\n\tmust_exist: bool = True,\n\tallow_skip: bool = False,\n\tpreset: str | None = None,\n) -> Path | None:\n\tdef validate_path(path: str | None) -> str | None:\n\t\tif path:\n\t\t\tdest_path = Path(path)\n\n\t\t\tif must_exist:\n\t\t\t\tif dest_path.exists() and dest_path.is_dir():\n\t\t\t\t\treturn None\n\t\t\telse:\n\t\t\t\treturn None\n\n\t\treturn tr('Not a valid directory')\n\n\tif validate:\n\t\tvalidate_func = validate_path\n\telse:\n\t\tvalidate_func = None\n\n\tresult = await Input(\n\t\theader=header,\n\t\tallow_skip=allow_skip,\n\t\tvalidator_callback=validate_func,\n\t\tdefault_value=preset,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn None\n\t\tcase ResultType.Selection:\n\t\t\tif not result.get_value():\n\t\t\t\treturn None\n\t\t\treturn Path(result.get_value())\n\t\tcase _:\n\t\t\treturn None\n\n\nasync def confirm_abort() -> bool:\n\tprompt = tr('Do you really want to abort?') + '\\n'\n\n\tresult = await Confirmation(\n\t\theader=prompt,\n\t\tallow_skip=False,\n\t\tpreset=False,\n\t).show()\n\n\treturn result.get_value()\n\n\ndef delayed_warning(message: str) -> bool:\n\t# Issue a final warning before we continue with something un-revertable.\n\t# We count down from 5 to 0.\n\tprint(message, end='', flush=True)\n\n\ttry:\n\t\tcountdown = '\\n5...4...3...2...1\\n'\n\t\tfor c in countdown:\n\t\t\tprint(c, end='', flush=True)\n\t\t\ttime.sleep(0.25)\n\texcept KeyboardInterrupt:\n\t\tret: bool = tui.run(confirm_abort)\n\t\tif ret:\n\t\t\tsys.exit(1)\n\n\treturn True\n"
  },
  {
    "path": "archinstall/lib/mirror/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/mirror/mirror_handler.py",
    "content": "import time\nimport urllib\nfrom pathlib import Path\n\nfrom archinstall.lib.models import MirrorRegion\nfrom archinstall.lib.models.mirrors import MirrorStatusEntryV3, MirrorStatusListV3\nfrom archinstall.lib.networking import fetch_data_from_url\nfrom archinstall.lib.output import debug, info\n\n\nclass MirrorListHandler:\n\tdef __init__(\n\t\tself,\n\t\tlocal_mirrorlist: Path = Path('/etc/pacman.d/mirrorlist'),\n\t\toffline: bool = False,\n\t\tverbose: bool = False,\n\t) -> None:\n\t\tself._local_mirrorlist = local_mirrorlist\n\t\tself._status_mappings: dict[str, list[MirrorStatusEntryV3]] | None = None\n\t\tself._fetched_remote: bool = False\n\t\tself.offline = offline\n\t\tself.verbose = verbose\n\n\tdef _mappings(self) -> dict[str, list[MirrorStatusEntryV3]]:\n\t\tif self._status_mappings is None:\n\t\t\tself.load_mirrors()\n\n\t\tassert self._status_mappings is not None\n\t\treturn self._status_mappings\n\n\tdef get_mirror_regions(self) -> list[MirrorRegion]:\n\t\tavailable_mirrors = []\n\t\tmappings = self._mappings()\n\n\t\tfor region_name, status_entry in mappings.items():\n\t\t\turls = [entry.server_url for entry in status_entry]\n\t\t\tregion = MirrorRegion(region_name, urls)\n\t\t\tavailable_mirrors.append(region)\n\n\t\treturn available_mirrors\n\n\tdef load_mirrors(self) -> None:\n\t\tif self.offline:\n\t\t\tself._fetched_remote = False\n\t\t\tself.load_local_mirrors()\n\t\telse:\n\t\t\tself._fetched_remote = self.load_remote_mirrors()\n\t\t\tdebug(f'load mirrors: {self._fetched_remote}')\n\t\t\tif not self._fetched_remote:\n\t\t\t\tself.load_local_mirrors()\n\n\tdef load_remote_mirrors(self) -> bool:\n\t\turl = 'https://archlinux.org/mirrors/status/json/'\n\t\tattempts = 3\n\n\t\tfor attempt_nr in range(attempts):\n\t\t\ttry:\n\t\t\t\tmirrorlist = fetch_data_from_url(url)\n\t\t\t\tself._status_mappings = self._parse_remote_mirror_list(mirrorlist)\n\t\t\t\treturn True\n\t\t\texcept Exception as e:\n\t\t\t\tdebug(f'Error while fetching mirror list: {e}')\n\t\t\t\ttime.sleep(attempt_nr + 1)\n\n\t\tdebug('Unable to fetch mirror list remotely, falling back to local mirror list')\n\t\treturn False\n\n\tdef load_local_mirrors(self) -> None:\n\t\twith self._local_mirrorlist.open('r') as fp:\n\t\t\tmirrorlist = fp.read()\n\t\t\tself._status_mappings = self._parse_local_mirrors(mirrorlist)\n\n\tdef get_status_by_region(self, region: str, speed_sort: bool) -> list[MirrorStatusEntryV3]:\n\t\tmappings = self._mappings()\n\t\tregion_list = mappings[region]\n\n\t\t# Only sort if we have remote mirror data with score/speed info\n\t\t# Local mirrors lack this data and can be modified manually before-hand\n\t\t# Or reflector potentially ran already\n\t\tif self._fetched_remote and speed_sort:\n\t\t\tinfo('Sorting your selected mirror list based on the speed between you and the individual mirrors (this might take a while)')\n\t\t\t# Sort by speed descending (higher is better in bitrate form core.db download)\n\t\t\treturn sorted(region_list, key=lambda mirror: -mirror.speed)\n\t\t# just return as-is without sorting?\n\t\treturn region_list\n\n\tdef _parse_remote_mirror_list(self, mirrorlist: str) -> dict[str, list[MirrorStatusEntryV3]]:\n\t\tcontext = {'verbose': self.verbose}\n\t\tmirror_status = MirrorStatusListV3.model_validate_json(mirrorlist, context=context)\n\n\t\tsorting_placeholder: dict[str, list[MirrorStatusEntryV3]] = {}\n\n\t\tfor mirror in mirror_status.urls:\n\t\t\t# We filter out mirrors that have bad criteria values\n\t\t\tif any(\n\t\t\t\t[\n\t\t\t\t\tmirror.active is False,  # Disabled by mirror-list admins\n\t\t\t\t\tmirror.last_sync is None,  # Has not synced recently\n\t\t\t\t\t# mirror.score (error rate) over time reported from backend:\n\t\t\t\t\t# https://github.com/archlinux/archweb/blob/31333d3516c91db9a2f2d12260bd61656c011fd1/mirrors/utils.py#L111C22-L111C66\n\t\t\t\t\t(mirror.score is None or mirror.score >= 100),\n\t\t\t\t]\n\t\t\t):\n\t\t\t\tcontinue\n\n\t\t\tif mirror.country == '':\n\t\t\t\t# TODO: This should be removed once RFC!29 is merged and completed\n\t\t\t\t# Until then, there are mirrors which lacks data in the backend\n\t\t\t\t# and there is no way of knowing where they're located.\n\t\t\t\t# So we have to assume world-wide\n\t\t\t\tmirror.country = 'Worldwide'\n\n\t\t\tif mirror.url.startswith('http'):\n\t\t\t\tsorting_placeholder.setdefault(mirror.country, []).append(mirror)\n\n\t\tsorted_by_regions: dict[str, list[MirrorStatusEntryV3]] = dict(\n\t\t\t{region: unsorted_mirrors for region, unsorted_mirrors in sorted(sorting_placeholder.items(), key=lambda item: item[0])}\n\t\t)\n\n\t\treturn sorted_by_regions\n\n\tdef _parse_local_mirrors(self, mirrorlist: str) -> dict[str, list[MirrorStatusEntryV3]]:\n\t\tlines = mirrorlist.splitlines()\n\n\t\t# remove empty lines\n\t\t# lines = [line for line in lines if line]\n\n\t\tmirror_list: dict[str, list[MirrorStatusEntryV3]] = {}\n\n\t\tcurrent_region = ''\n\n\t\tfor line in lines:\n\t\t\tline = line.strip()\n\n\t\t\tif line.startswith('## '):\n\t\t\t\tcurrent_region = line.replace('## ', '').strip()\n\t\t\t\tmirror_list.setdefault(current_region, [])\n\n\t\t\tif line.startswith('Server = '):\n\t\t\t\tif not current_region:\n\t\t\t\t\tcurrent_region = 'Local'\n\t\t\t\t\tmirror_list.setdefault(current_region, [])\n\n\t\t\t\turl = line.removeprefix('Server = ')\n\n\t\t\t\tmirror_entry = MirrorStatusEntryV3(\n\t\t\t\t\turl=url.removesuffix('$repo/os/$arch'),\n\t\t\t\t\tprotocol=urllib.parse.urlparse(url).scheme,\n\t\t\t\t\tactive=True,\n\t\t\t\t\tcountry=current_region or 'Worldwide',\n\t\t\t\t\t# The following values are normally populated by\n\t\t\t\t\t# archlinux.org mirror-list endpoint, and can't be known\n\t\t\t\t\t# from just the local mirror-list file.\n\t\t\t\t\tcountry_code='WW',\n\t\t\t\t\tisos=True,\n\t\t\t\t\tipv4=True,\n\t\t\t\t\tipv6=True,\n\t\t\t\t\tdetails='Locally defined mirror',\n\t\t\t\t)\n\n\t\t\t\tmirror_list[current_region].append(mirror_entry)\n\n\t\treturn mirror_list\n"
  },
  {
    "path": "archinstall/lib/mirror/mirror_menu.py",
    "content": "from typing import override\n\nfrom archinstall.lib.menu.abstract_menu import AbstractSubMenu\nfrom archinstall.lib.menu.helpers import Input, Loading, Selection\nfrom archinstall.lib.menu.list_manager import ListManager\nfrom archinstall.lib.mirror.mirror_handler import MirrorListHandler\nfrom archinstall.lib.models.mirrors import (\n\tCustomRepository,\n\tCustomServer,\n\tMirrorConfiguration,\n\tMirrorRegion,\n\tSignCheck,\n\tSignOption,\n)\nfrom archinstall.lib.models.packages import Repository\nfrom archinstall.lib.output import FormattedOutput\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass CustomMirrorRepositoriesList(ListManager[CustomRepository]):\n\tdef __init__(self, custom_repositories: list[CustomRepository]):\n\t\tself._actions = [\n\t\t\ttr('Add a custom repository'),\n\t\t\ttr('Change custom repository'),\n\t\t\ttr('Delete custom repository'),\n\t\t]\n\n\t\tsuper().__init__(\n\t\t\tcustom_repositories,\n\t\t\t[self._actions[0]],\n\t\t\tself._actions[1:],\n\t\t\t'',\n\t\t)\n\n\tasync def show(self) -> list[CustomRepository] | None:\n\t\treturn await super()._run()\n\n\t@override\n\tdef selected_action_display(self, selection: CustomRepository) -> str:\n\t\treturn selection.name\n\n\t@override\n\tasync def handle_action(\n\t\tself,\n\t\taction: str,\n\t\tentry: CustomRepository | None,\n\t\tdata: list[CustomRepository],\n\t) -> list[CustomRepository]:\n\t\tif action == self._actions[0]:  # add\n\t\t\tnew_repo = await self._add_custom_repository()\n\t\t\tif new_repo is not None:\n\t\t\t\tdata = [d for d in data if d.name != new_repo.name]\n\t\t\t\tdata += [new_repo]\n\t\telif action == self._actions[1] and entry:  # modify repo\n\t\t\tnew_repo = await self._add_custom_repository(entry)\n\t\t\tif new_repo is not None:\n\t\t\t\tdata = [d for d in data if d.name != entry.name]\n\t\t\t\tdata += [new_repo]\n\t\telif action == self._actions[2] and entry:  # delete\n\t\t\tdata = [d for d in data if d != entry]\n\n\t\treturn data\n\n\tasync def _add_custom_repository(self, preset: CustomRepository | None = None) -> CustomRepository | None:\n\t\tedit_result = await Input(\n\t\t\theader=tr('Enter a respository name'),\n\t\t\tallow_skip=True,\n\t\t\tdefault_value=preset.name if preset else None,\n\t\t).show()\n\n\t\tmatch edit_result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\tname = edit_result.get_value()\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase _:\n\t\t\t\traise ValueError('Unhandled return type')\n\n\t\theader = f'{tr(\"Name\")}: {name}\\n'\n\t\tprompt = f'{header}\\n' + tr('Enter the repository url')\n\n\t\tedit_result = await Input(\n\t\t\theader=prompt,\n\t\t\tallow_skip=True,\n\t\t\tdefault_value=preset.url if preset else None,\n\t\t).show()\n\n\t\tmatch edit_result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\turl = edit_result.get_value()\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase _:\n\t\t\t\traise ValueError('Unhandled return type')\n\n\t\theader += f'{tr(\"Url\")}: {url}\\n'\n\t\tprompt = f'{header}\\n' + tr('Select signature check')\n\n\t\tsign_chk_items = [MenuItem(s.value, value=s.value) for s in SignCheck]\n\t\tgroup = MenuItemGroup(sign_chk_items, sort_items=False)\n\n\t\tif preset is not None:\n\t\t\tgroup.set_selected_by_value(preset.sign_check.value)\n\n\t\tresult = await Selection[SignCheck](\n\t\t\tgroup,\n\t\t\theader=prompt,\n\t\t\tallow_skip=False,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\tsign_check = SignCheck(result.get_value())\n\t\t\tcase _:\n\t\t\t\traise ValueError('Unhandled return type')\n\n\t\theader += f'{tr(\"Signature check\")}: {sign_check.value}\\n'\n\t\tprompt = f'{header}\\n' + tr('Select signature option')\n\n\t\tsign_opt_items = [MenuItem(s.value, value=s.value) for s in SignOption]\n\t\tgroup = MenuItemGroup(sign_opt_items, sort_items=False)\n\n\t\tif preset is not None:\n\t\t\tgroup.set_selected_by_value(preset.sign_option.value)\n\n\t\tresult = await Selection(\n\t\t\tgroup,\n\t\t\theader=prompt,\n\t\t\tallow_skip=False,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\tsign_opt = SignOption(result.get_value())\n\t\t\tcase _:\n\t\t\t\traise ValueError('Unhandled return type')\n\n\t\treturn CustomRepository(name, url, sign_check, sign_opt)\n\n\nclass CustomMirrorServersList(ListManager[CustomServer]):\n\tdef __init__(self, custom_servers: list[CustomServer]):\n\t\tself._actions = [\n\t\t\ttr('Add a custom server'),\n\t\t\ttr('Change custom server'),\n\t\t\ttr('Delete custom server'),\n\t\t]\n\n\t\tsuper().__init__(\n\t\t\tcustom_servers,\n\t\t\t[self._actions[0]],\n\t\t\tself._actions[1:],\n\t\t\t'',\n\t\t)\n\n\tasync def show(self) -> list[CustomServer] | None:\n\t\treturn await super()._run()\n\n\t@override\n\tdef selected_action_display(self, selection: CustomServer) -> str:\n\t\treturn selection.url\n\n\t@override\n\tasync def handle_action(\n\t\tself,\n\t\taction: str,\n\t\tentry: CustomServer | None,\n\t\tdata: list[CustomServer],\n\t) -> list[CustomServer]:\n\t\tif action == self._actions[0]:  # add\n\t\t\tnew_server = await self._add_custom_server()\n\t\t\tif new_server is not None:\n\t\t\t\tdata = [d for d in data if d.url != new_server.url]\n\t\t\t\tdata += [new_server]\n\t\telif action == self._actions[1] and entry:  # modify repo\n\t\t\tnew_server = await self._add_custom_server(entry)\n\t\t\tif new_server is not None:\n\t\t\t\tdata = [d for d in data if d.url != entry.url]\n\t\t\t\tdata += [new_server]\n\t\telif action == self._actions[2] and entry:  # delete\n\t\t\tdata = [d for d in data if d != entry]\n\n\t\treturn data\n\n\tasync def _add_custom_server(self, preset: CustomServer | None = None) -> CustomServer | None:\n\t\tedit_result = await Input(\n\t\t\theader=tr('Enter server url'),\n\t\t\tallow_skip=True,\n\t\t\tdefault_value=preset.url if preset else None,\n\t\t).show()\n\n\t\tmatch edit_result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\turi = edit_result.get_value()\n\t\t\t\treturn CustomServer(uri)\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase _:\n\t\t\t\treturn None\n\n\nclass MirrorMenu(AbstractSubMenu[MirrorConfiguration]):\n\tdef __init__(\n\t\tself,\n\t\tmirror_list_handler: MirrorListHandler,\n\t\tpreset: MirrorConfiguration | None = None,\n\t):\n\t\tif preset:\n\t\t\tself._mirror_config = preset\n\t\telse:\n\t\t\tself._mirror_config = MirrorConfiguration()\n\n\t\tself._mirror_list_handler = mirror_list_handler\n\n\t\tmenu_options = self._define_menu_options()\n\t\tself._item_group = MenuItemGroup(menu_options, checkmarks=True)\n\n\t\tsuper().__init__(\n\t\t\tself._item_group,\n\t\t\tconfig=self._mirror_config,\n\t\t\tallow_reset=True,\n\t\t)\n\n\tdef _define_menu_options(self) -> list[MenuItem]:\n\t\treturn [\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Select regions'),\n\t\t\t\taction=lambda x: select_mirror_regions(self._mirror_list_handler, x),\n\t\t\t\tvalue=self._mirror_config.mirror_regions,\n\t\t\t\tpreview_action=self._prev_regions,\n\t\t\t\tkey='mirror_regions',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Add custom servers'),\n\t\t\t\taction=add_custom_mirror_servers,\n\t\t\t\tvalue=self._mirror_config.custom_servers,\n\t\t\t\tpreview_action=self._prev_custom_servers,\n\t\t\t\tkey='custom_servers',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Optional repositories'),\n\t\t\t\taction=select_optional_repositories,\n\t\t\t\tvalue=[],\n\t\t\t\tpreview_action=self._prev_additional_repos,\n\t\t\t\tkey='optional_repositories',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Add custom repository'),\n\t\t\t\taction=select_custom_mirror,\n\t\t\t\tvalue=self._mirror_config.custom_repositories,\n\t\t\t\tpreview_action=self._prev_custom_mirror,\n\t\t\t\tkey='custom_repositories',\n\t\t\t),\n\t\t]\n\n\tdef _prev_regions(self, item: MenuItem) -> str:\n\t\tregions = item.get_value()\n\n\t\toutput = ''\n\t\tfor region in regions:\n\t\t\toutput += f'{region.name}\\n'\n\n\t\t\tfor url in region.urls:\n\t\t\t\toutput += f' - {url}\\n'\n\n\t\t\toutput += '\\n'\n\n\t\treturn output\n\n\tdef _prev_additional_repos(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\trepositories: list[Repository] = item.value\n\t\t\trepos = ', '.join(repo.value for repo in repositories)\n\t\t\treturn f'{tr(\"Additional repositories\")}: {repos}'\n\t\treturn None\n\n\tdef _prev_custom_mirror(self, item: MenuItem) -> str | None:\n\t\tif not item.value:\n\t\t\treturn None\n\n\t\tcustom_mirrors: list[CustomRepository] = item.value\n\t\toutput = FormattedOutput.as_table(custom_mirrors)\n\t\treturn output.strip()\n\n\tdef _prev_custom_servers(self, item: MenuItem) -> str | None:\n\t\tif not item.value:\n\t\t\treturn None\n\n\t\tcustom_servers: list[CustomServer] = item.value\n\t\toutput = '\\n'.join(server.url for server in custom_servers)\n\t\treturn output.strip()\n\n\t@override\n\tasync def show(self) -> MirrorConfiguration | None:\n\t\treturn await super().show()\n\n\nasync def select_mirror_regions(\n\tmirror_list_handler: MirrorListHandler,\n\tpreset: list[MirrorRegion],\n) -> list[MirrorRegion]:\n\tawait Loading[None](\n\t\theader=tr('Loading mirror regions...'),\n\t\tdata_callback=mirror_list_handler.load_mirrors,\n\t).show()\n\n\tavailable_regions = mirror_list_handler.get_mirror_regions()\n\n\tif not available_regions:\n\t\treturn []\n\n\tpreset_regions = [region for region in available_regions if region in preset]\n\n\titems = [MenuItem(region.name, value=region) for region in available_regions]\n\tgroup = MenuItemGroup(items, sort_items=True)\n\n\tgroup.set_selected_by_value(preset_regions)\n\n\tresult = await Selection[MirrorRegion](\n\t\tgroup,\n\t\theader=tr('Select mirror regions to be enabled'),\n\t\tallow_reset=True,\n\t\tallow_skip=True,\n\t\tmulti=True,\n\t\tenable_filter=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset_regions\n\t\tcase ResultType.Reset:\n\t\t\treturn []\n\t\tcase ResultType.Selection:\n\t\t\tselected_mirrors = result.get_values()\n\t\t\treturn selected_mirrors\n\n\nasync def add_custom_mirror_servers(preset: list[CustomServer] = []) -> list[CustomServer]:\n\tcustom_mirrors = await CustomMirrorServersList(preset).show()\n\n\tif not custom_mirrors:\n\t\treturn preset\n\n\treturn custom_mirrors\n\n\nasync def select_custom_mirror(preset: list[CustomRepository] = []) -> list[CustomRepository]:\n\tcustom_mirrors = await CustomMirrorRepositoriesList(preset).show()\n\n\tif not custom_mirrors:\n\t\treturn preset\n\n\treturn custom_mirrors\n\n\nasync def select_optional_repositories(preset: list[Repository]) -> list[Repository]:\n\t\"\"\"\n\tAllows the user to select additional repositories (multilib, and testing) if desired.\n\n\t:return: The string as a selected repository\n\t:rtype: Repository\n\t\"\"\"\n\n\trepositories = [\n\t\tRepository.Multilib,\n\t\tRepository.MultilibTesting,\n\t\tRepository.CoreTesting,\n\t\tRepository.ExtraTesting,\n\t]\n\titems = [MenuItem(r.value, value=r) for r in repositories]\n\tgroup = MenuItemGroup(items, sort_items=False)\n\tgroup.set_selected_by_value(preset)\n\n\tresult = await Selection[Repository](\n\t\tgroup,\n\t\theader=tr('Select optional repositories to be enabled'),\n\t\tallow_reset=True,\n\t\tallow_skip=True,\n\t\tmulti=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Reset:\n\t\t\treturn []\n\t\tcase ResultType.Selection:\n\t\t\treturn result.get_values()\n"
  },
  {
    "path": "archinstall/lib/models/__init__.py",
    "content": "from archinstall.lib.models.application import ApplicationConfiguration, Audio, AudioConfiguration, BluetoothConfiguration, PrintServiceConfiguration\nfrom archinstall.lib.models.bootloader import Bootloader\nfrom archinstall.lib.models.device import (\n\tBDevice,\n\tDeviceGeometry,\n\tDeviceModification,\n\tDiskEncryption,\n\tDiskLayoutConfiguration,\n\tDiskLayoutType,\n\tEncryptionType,\n\tFido2Device,\n\tFilesystemType,\n\tLsblkInfo,\n\tLvmConfiguration,\n\tLvmLayoutType,\n\tLvmVolume,\n\tLvmVolumeGroup,\n\tLvmVolumeStatus,\n\tModificationStatus,\n\tPartitionFlag,\n\tPartitionModification,\n\tPartitionTable,\n\tPartitionType,\n\tSectorSize,\n\tSize,\n\tSubvolumeModification,\n\tUnit,\n\t_DeviceInfo,\n)\nfrom archinstall.lib.models.locale import LocaleConfiguration\nfrom archinstall.lib.models.mirrors import CustomRepository, MirrorConfiguration, MirrorRegion\nfrom archinstall.lib.models.network import NetworkConfiguration, Nic, NicType\nfrom archinstall.lib.models.packages import LocalPackage, PackageSearch, PackageSearchResult, Repository\nfrom archinstall.lib.models.profile import ProfileConfiguration\nfrom archinstall.lib.models.users import PasswordStrength, User\n\n__all__ = [\n\t'ApplicationConfiguration',\n\t'Audio',\n\t'AudioConfiguration',\n\t'BDevice',\n\t'BluetoothConfiguration',\n\t'Bootloader',\n\t'CustomRepository',\n\t'DeviceGeometry',\n\t'DeviceModification',\n\t'DiskEncryption',\n\t'DiskLayoutConfiguration',\n\t'DiskLayoutType',\n\t'EncryptionType',\n\t'Fido2Device',\n\t'FilesystemType',\n\t'LocalPackage',\n\t'LocaleConfiguration',\n\t'LsblkInfo',\n\t'LvmConfiguration',\n\t'LvmLayoutType',\n\t'LvmVolume',\n\t'LvmVolumeGroup',\n\t'LvmVolumeStatus',\n\t'MirrorConfiguration',\n\t'MirrorRegion',\n\t'ModificationStatus',\n\t'NetworkConfiguration',\n\t'Nic',\n\t'NicType',\n\t'PackageSearch',\n\t'PackageSearchResult',\n\t'PartitionFlag',\n\t'PartitionModification',\n\t'PartitionTable',\n\t'PartitionType',\n\t'PasswordStrength',\n\t'PrintServiceConfiguration',\n\t'ProfileConfiguration',\n\t'Repository',\n\t'SectorSize',\n\t'Size',\n\t'SubvolumeModification',\n\t'Unit',\n\t'User',\n\t'_DeviceInfo',\n]\n"
  },
  {
    "path": "archinstall/lib/models/application.py",
    "content": "from dataclasses import dataclass\nfrom enum import StrEnum, auto\nfrom typing import Any, NotRequired, Self, TypedDict\n\n\nclass PowerManagement(StrEnum):\n\tPOWER_PROFILES_DAEMON = 'power-profiles-daemon'\n\tTUNED = 'tuned'\n\n\nclass PowerManagementConfigSerialization(TypedDict):\n\tpower_management: str\n\n\nclass BluetoothConfigSerialization(TypedDict):\n\tenabled: bool\n\n\nclass Audio(StrEnum):\n\tNO_AUDIO = 'No audio server'\n\tPIPEWIRE = auto()\n\tPULSEAUDIO = auto()\n\n\nclass AudioConfigSerialization(TypedDict):\n\taudio: str\n\n\nclass PrintServiceConfigSerialization(TypedDict):\n\tenabled: bool\n\n\nclass Firewall(StrEnum):\n\tUFW = 'ufw'\n\tFWD = 'firewalld'\n\n\nclass FirewallConfigSerialization(TypedDict):\n\tfirewall: str\n\n\nclass ZramAlgorithm(StrEnum):\n\tZSTD = 'zstd'\n\tLZO_RLE = 'lzo-rle'\n\tLZO = 'lzo'\n\tLZ4 = 'lz4'\n\tLZ4HC = 'lz4hc'\n\n\nclass ApplicationSerialization(TypedDict):\n\tbluetooth_config: NotRequired[BluetoothConfigSerialization]\n\taudio_config: NotRequired[AudioConfigSerialization]\n\tpower_management_config: NotRequired[PowerManagementConfigSerialization]\n\tprint_service_config: NotRequired[PrintServiceConfigSerialization]\n\tfirewall_config: NotRequired[FirewallConfigSerialization]\n\n\n@dataclass\nclass AudioConfiguration:\n\taudio: Audio\n\n\tdef json(self) -> AudioConfigSerialization:\n\t\treturn {\n\t\t\t'audio': self.audio.value,\n\t\t}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: dict[str, Any]) -> Self:\n\t\treturn cls(\n\t\t\tAudio(arg['audio']),\n\t\t)\n\n\n@dataclass\nclass BluetoothConfiguration:\n\tenabled: bool\n\n\tdef json(self) -> BluetoothConfigSerialization:\n\t\treturn {'enabled': self.enabled}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: BluetoothConfigSerialization) -> Self:\n\t\treturn cls(arg['enabled'])\n\n\n@dataclass\nclass PowerManagementConfiguration:\n\tpower_management: PowerManagement\n\n\tdef json(self) -> PowerManagementConfigSerialization:\n\t\treturn {\n\t\t\t'power_management': self.power_management.value,\n\t\t}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: PowerManagementConfigSerialization) -> Self:\n\t\treturn cls(\n\t\t\tPowerManagement(arg['power_management']),\n\t\t)\n\n\n@dataclass\nclass PrintServiceConfiguration:\n\tenabled: bool\n\n\tdef json(self) -> PrintServiceConfigSerialization:\n\t\treturn {'enabled': self.enabled}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: PrintServiceConfigSerialization) -> Self:\n\t\treturn cls(arg['enabled'])\n\n\n@dataclass\nclass FirewallConfiguration:\n\tfirewall: Firewall\n\n\tdef json(self) -> FirewallConfigSerialization:\n\t\treturn {\n\t\t\t'firewall': self.firewall.value,\n\t\t}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: dict[str, Any]) -> Self:\n\t\treturn cls(\n\t\t\tFirewall(arg['firewall']),\n\t\t)\n\n\n@dataclass(frozen=True)\nclass ZramConfiguration:\n\tenabled: bool\n\talgorithm: ZramAlgorithm = ZramAlgorithm.ZSTD\n\n\t@classmethod\n\tdef parse_arg(cls, arg: bool | dict[str, Any]) -> Self:\n\t\tif isinstance(arg, bool):\n\t\t\treturn cls(enabled=arg)\n\n\t\tenabled = arg.get('enabled', True)\n\t\talgo = arg.get('algorithm', arg.get('algo', ZramAlgorithm.ZSTD.value))\n\t\treturn cls(enabled=enabled, algorithm=ZramAlgorithm(algo))\n\n\n@dataclass\nclass ApplicationConfiguration:\n\tbluetooth_config: BluetoothConfiguration | None = None\n\taudio_config: AudioConfiguration | None = None\n\tpower_management_config: PowerManagementConfiguration | None = None\n\tprint_service_config: PrintServiceConfiguration | None = None\n\tfirewall_config: FirewallConfiguration | None = None\n\n\t@classmethod\n\tdef parse_arg(\n\t\tcls,\n\t\targs: dict[str, Any] | None = None,\n\t\told_audio_config: dict[str, Any] | None = None,\n\t) -> Self:\n\t\tapp_config = cls()\n\n\t\tif args and (bluetooth_config := args.get('bluetooth_config')) is not None:\n\t\t\tapp_config.bluetooth_config = BluetoothConfiguration.parse_arg(bluetooth_config)\n\n\t\t# deprecated: backwards compatibility\n\t\tif old_audio_config is not None:\n\t\t\tapp_config.audio_config = AudioConfiguration.parse_arg(old_audio_config)\n\n\t\tif args and (audio_config := args.get('audio_config')) is not None:\n\t\t\tapp_config.audio_config = AudioConfiguration.parse_arg(audio_config)\n\n\t\tif args and (power_management_config := args.get('power_management_config')) is not None:\n\t\t\tapp_config.power_management_config = PowerManagementConfiguration.parse_arg(power_management_config)\n\n\t\tif args and (print_service_config := args.get('print_service_config')) is not None:\n\t\t\tapp_config.print_service_config = PrintServiceConfiguration.parse_arg(print_service_config)\n\n\t\tif args and (firewall_config := args.get('firewall_config')) is not None:\n\t\t\tapp_config.firewall_config = FirewallConfiguration.parse_arg(firewall_config)\n\n\t\treturn app_config\n\n\tdef json(self) -> ApplicationSerialization:\n\t\tconfig: ApplicationSerialization = {}\n\n\t\tif self.bluetooth_config:\n\t\t\tconfig['bluetooth_config'] = self.bluetooth_config.json()\n\n\t\tif self.audio_config:\n\t\t\tconfig['audio_config'] = self.audio_config.json()\n\n\t\tif self.power_management_config:\n\t\t\tconfig['power_management_config'] = self.power_management_config.json()\n\n\t\tif self.print_service_config:\n\t\t\tconfig['print_service_config'] = self.print_service_config.json()\n\n\t\tif self.firewall_config:\n\t\t\tconfig['firewall_config'] = self.firewall_config.json()\n\n\t\treturn config\n"
  },
  {
    "path": "archinstall/lib/models/authentication.py",
    "content": "from dataclasses import dataclass, field\nfrom enum import Enum\nfrom typing import Any, NotRequired, Self, TypedDict\n\nfrom archinstall.lib.models.users import Password, User\nfrom archinstall.lib.translationhandler import tr\n\n\nclass U2FLoginConfigSerialization(TypedDict):\n\tu2f_login_method: str\n\tpasswordless_sudo: bool\n\n\nclass AuthenticationSerialization(TypedDict):\n\tu2f_config: NotRequired[U2FLoginConfigSerialization]\n\n\nclass U2FLoginMethod(Enum):\n\tPasswordless = 'passwordless'\n\tSecondFactor = 'second_factor'\n\n\tdef display_value(self) -> str:\n\t\tmatch self:\n\t\t\tcase U2FLoginMethod.Passwordless:\n\t\t\t\treturn tr('Passwordless login')\n\t\t\tcase U2FLoginMethod.SecondFactor:\n\t\t\t\treturn tr('Second factor login')\n\t\t\tcase _:\n\t\t\t\traise ValueError(f'Unknown type: {self}')\n\n\n@dataclass\nclass U2FLoginConfiguration:\n\tu2f_login_method: U2FLoginMethod\n\tpasswordless_sudo: bool = False\n\n\tdef json(self) -> U2FLoginConfigSerialization:\n\t\treturn {\n\t\t\t'u2f_login_method': self.u2f_login_method.value,\n\t\t\t'passwordless_sudo': self.passwordless_sudo,\n\t\t}\n\n\t@classmethod\n\tdef parse_arg(cls, args: U2FLoginConfigSerialization) -> Self | None:\n\t\tu2f_login_method = args.get('u2f_login_method')\n\n\t\tif not u2f_login_method:\n\t\t\treturn None\n\n\t\tu2f_config = cls(u2f_login_method=U2FLoginMethod(u2f_login_method))\n\n\t\tu2f_config.u2f_login_method = U2FLoginMethod(u2f_login_method)\n\n\t\tif passwordless_sudo := args.get('passwordless_sudo') is not None:\n\t\t\tu2f_config.passwordless_sudo = passwordless_sudo\n\n\t\treturn u2f_config\n\n\n@dataclass\nclass AuthenticationConfiguration:\n\troot_enc_password: Password | None = None\n\tusers: list[User] = field(default_factory=list)\n\tu2f_config: U2FLoginConfiguration | None = None\n\n\t@classmethod\n\tdef parse_arg(cls, args: dict[str, Any]) -> Self:\n\t\tauth_config = cls()\n\n\t\tif (u2f_config := args.get('u2f_config')) is not None:\n\t\t\tauth_config.u2f_config = U2FLoginConfiguration.parse_arg(u2f_config)\n\n\t\tif enc_password := args.get('root_enc_password'):\n\t\t\tauth_config.root_enc_password = Password(enc_password=enc_password)\n\n\t\treturn auth_config\n\n\tdef json(self) -> AuthenticationSerialization:\n\t\tconfig: AuthenticationSerialization = {}\n\n\t\tif self.u2f_config:\n\t\t\tconfig['u2f_config'] = self.u2f_config.json()\n\n\t\treturn config\n"
  },
  {
    "path": "archinstall/lib/models/bootloader.py",
    "content": "import sys\nfrom dataclasses import dataclass\nfrom enum import Enum\nfrom typing import Any, Self\n\nfrom archinstall.lib.output import warn\nfrom archinstall.lib.translationhandler import tr\n\n\nclass Bootloader(Enum):\n\tNO_BOOTLOADER = 'No bootloader'\n\tSystemd = 'Systemd-boot'\n\tGrub = 'Grub'\n\tEfistub = 'Efistub'\n\tLimine = 'Limine'\n\tRefind = 'Refind'\n\n\tdef has_uki_support(self) -> bool:\n\t\treturn self != Bootloader.NO_BOOTLOADER\n\n\tdef has_removable_support(self) -> bool:\n\t\tmatch self:\n\t\t\tcase Bootloader.Grub | Bootloader.Limine:\n\t\t\t\treturn True\n\t\t\tcase _:\n\t\t\t\treturn False\n\n\tdef json(self) -> str:\n\t\treturn self.value\n\n\t@classmethod\n\tdef get_default(cls, uefi: bool, skip_boot: bool = False) -> Self:\n\t\tif skip_boot:\n\t\t\treturn cls.NO_BOOTLOADER\n\t\telif uefi:\n\t\t\treturn cls.Systemd\n\t\telse:\n\t\t\treturn cls.Grub\n\n\t@classmethod\n\tdef from_arg(cls, bootloader: str, skip_boot: bool) -> Self:\n\t\t# to support old configuration files\n\t\tbootloader = bootloader.capitalize()\n\n\t\tbootloader_options = [e.value for e in cls if e != cls.NO_BOOTLOADER or skip_boot is True]\n\n\t\tif bootloader not in bootloader_options:\n\t\t\tvalues = ', '.join(bootloader_options)\n\t\t\twarn(f'Invalid bootloader value \"{bootloader}\". Allowed values: {values}')\n\t\t\tsys.exit(1)\n\n\t\treturn cls(bootloader)\n\n\n@dataclass\nclass BootloaderConfiguration:\n\tbootloader: Bootloader\n\tuki: bool = False\n\tremovable: bool = True\n\n\tdef json(self) -> dict[str, Any]:\n\t\treturn {'bootloader': self.bootloader.json(), 'uki': self.uki, 'removable': self.removable}\n\n\t@classmethod\n\tdef parse_arg(cls, config: dict[str, Any], skip_boot: bool) -> Self:\n\t\tbootloader = Bootloader.from_arg(config.get('bootloader', ''), skip_boot)\n\t\tuki = config.get('uki', False)\n\t\tremovable = config.get('removable', True)\n\t\treturn cls(bootloader=bootloader, uki=uki, removable=removable)\n\n\t@classmethod\n\tdef get_default(cls, uefi: bool, skip_boot: bool = False) -> Self:\n\t\tbootloader = Bootloader.get_default(uefi, skip_boot)\n\t\tremovable = uefi and bootloader.has_removable_support()\n\t\tuki = uefi and bootloader.has_uki_support()\n\t\treturn cls(bootloader=bootloader, uki=uki, removable=removable)\n\n\tdef preview(self, uefi: bool) -> str:\n\t\ttext = f'{tr(\"Bootloader\")}: {self.bootloader.value}'\n\t\ttext += '\\n'\n\t\tif uefi and self.bootloader.has_uki_support():\n\t\t\tif self.uki:\n\t\t\t\tuki_string = tr('Enabled')\n\t\t\telse:\n\t\t\t\tuki_string = tr('Disabled')\n\t\t\ttext += f'UKI: {uki_string}'\n\t\t\ttext += '\\n'\n\t\tif uefi and self.bootloader.has_removable_support():\n\t\t\tif self.removable:\n\t\t\t\tremovable_string = tr('Enabled')\n\t\t\telse:\n\t\t\t\tremovable_string = tr('Disabled')\n\t\t\ttext += f'{tr(\"Removable\")}: {removable_string}'\n\t\t\ttext += '\\n'\n\t\treturn text\n"
  },
  {
    "path": "archinstall/lib/models/device.py",
    "content": "from __future__ import annotations\n\nimport builtins\nimport math\nimport uuid\nfrom dataclasses import dataclass, field\nfrom enum import Enum\nfrom pathlib import Path\nfrom typing import NotRequired, Self, TypedDict, override\nfrom uuid import UUID\n\nimport parted\nfrom parted import Disk, Geometry, Partition\nfrom pydantic import BaseModel, Field, ValidationInfo, field_serializer, field_validator\n\nfrom archinstall.lib.hardware import SysInfo\nfrom archinstall.lib.models.users import Password\nfrom archinstall.lib.output import debug\nfrom archinstall.lib.translationhandler import tr\n\nENC_IDENTIFIER = 'ainst'\nDEFAULT_ITER_TIME = 10000\n\n\nclass DiskLayoutType(Enum):\n\tDefault = 'default_layout'\n\tManual = 'manual_partitioning'\n\tPre_mount = 'pre_mounted_config'\n\n\tdef display_msg(self) -> str:\n\t\tmatch self:\n\t\t\tcase DiskLayoutType.Default:\n\t\t\t\treturn tr('Use a best-effort default partition layout')\n\t\t\tcase DiskLayoutType.Manual:\n\t\t\t\treturn tr('Manual Partitioning')\n\t\t\tcase DiskLayoutType.Pre_mount:\n\t\t\t\treturn tr('Pre-mounted configuration')\n\n\nclass _DiskLayoutConfigurationSerialization(TypedDict):\n\tconfig_type: str\n\tdevice_modifications: NotRequired[list[_DeviceModificationSerialization]]\n\tlvm_config: NotRequired[_LvmConfigurationSerialization]\n\tmountpoint: NotRequired[str]\n\tbtrfs_options: NotRequired[_BtrfsOptionsSerialization]\n\tdisk_encryption: NotRequired[_DiskEncryptionSerialization]\n\n\n@dataclass\nclass DiskLayoutConfiguration:\n\tconfig_type: DiskLayoutType\n\tdevice_modifications: list[DeviceModification] = field(default_factory=list)\n\tlvm_config: LvmConfiguration | None = None\n\tdisk_encryption: DiskEncryption | None = None\n\tbtrfs_options: BtrfsOptions | None = None\n\n\t# used for pre-mounted config\n\tmountpoint: Path | None = None\n\n\tdef json(self) -> _DiskLayoutConfigurationSerialization:\n\t\tif self.config_type == DiskLayoutType.Pre_mount:\n\t\t\treturn {\n\t\t\t\t'config_type': self.config_type.value,\n\t\t\t\t'mountpoint': str(self.mountpoint),\n\t\t\t}\n\t\telse:\n\t\t\tconfig: _DiskLayoutConfigurationSerialization = {\n\t\t\t\t'config_type': self.config_type.value,\n\t\t\t\t'device_modifications': [mod.json() for mod in self.device_modifications],\n\t\t\t}\n\n\t\t\tif self.lvm_config:\n\t\t\t\tconfig['lvm_config'] = self.lvm_config.json()\n\n\t\t\tif self.disk_encryption:\n\t\t\t\tconfig['disk_encryption'] = self.disk_encryption.json()\n\n\t\t\tif self.btrfs_options:\n\t\t\t\tconfig['btrfs_options'] = self.btrfs_options.json()\n\n\t\t\treturn config\n\n\t@classmethod\n\tdef parse_arg(\n\t\tcls,\n\t\tdisk_config: _DiskLayoutConfigurationSerialization,\n\t\tenc_password: Password | None = None,\n\t) -> Self | None:\n\t\tfrom archinstall.lib.disk.device_handler import device_handler\n\n\t\tdevice_modifications: list[DeviceModification] = []\n\t\tconfig_type = disk_config.get('config_type', None)\n\n\t\tif not config_type:\n\t\t\traise ValueError('Missing disk layout configuration: config_type')\n\n\t\tconfig = cls(\n\t\t\tconfig_type=DiskLayoutType(config_type),\n\t\t\tdevice_modifications=device_modifications,\n\t\t)\n\n\t\tif config_type == DiskLayoutType.Pre_mount.value:\n\t\t\tif not (mountpoint := disk_config.get('mountpoint')):\n\t\t\t\traise ValueError('Must set a mountpoint when layout type is pre-mount')\n\n\t\t\tpath = Path(str(mountpoint))\n\n\t\t\tmods = device_handler.detect_pre_mounted_mods(path)\n\t\t\tdevice_modifications.extend(mods)\n\n\t\t\tconfig.mountpoint = path\n\n\t\t\treturn config\n\n\t\tfor entry in disk_config.get('device_modifications', []):\n\t\t\tdevice_path = Path(entry['device']) if entry.get('device', None) else None\n\n\t\t\tif not device_path:\n\t\t\t\tcontinue\n\n\t\t\tdevice = device_handler.get_device(device_path)\n\n\t\t\tif not device:\n\t\t\t\tcontinue\n\n\t\t\tdevice_modification = DeviceModification(\n\t\t\t\twipe=entry.get('wipe', False),\n\t\t\t\tdevice=device,\n\t\t\t)\n\n\t\t\tdevice_partitions: list[PartitionModification] = []\n\n\t\t\tfor partition in entry.get('partitions', []):\n\t\t\t\tflags = [flag for f in partition.get('flags', []) if (flag := PartitionFlag.from_string(f))]\n\n\t\t\t\tdevice_partition = PartitionModification(\n\t\t\t\t\tstatus=ModificationStatus(partition['status']),\n\t\t\t\t\tfs_type=FilesystemType(partition['fs_type']) if partition.get('fs_type') else None,\n\t\t\t\t\tstart=Size.parse_args(partition['start']),\n\t\t\t\t\tlength=Size.parse_args(partition['size']),\n\t\t\t\t\tmount_options=partition['mount_options'],\n\t\t\t\t\tmountpoint=Path(partition['mountpoint']) if partition['mountpoint'] else None,\n\t\t\t\t\tdev_path=Path(partition['dev_path']) if partition['dev_path'] else None,\n\t\t\t\t\ttype=PartitionType(partition['type']),\n\t\t\t\t\tflags=flags,\n\t\t\t\t\tbtrfs_subvols=SubvolumeModification.parse_args(partition.get('btrfs', [])),\n\t\t\t\t)\n\t\t\t\t# special 'invisible' attr to internally identify the part mod\n\t\t\t\tdevice_partition._obj_id = partition['obj_id']\n\t\t\t\tdevice_partitions.append(device_partition)\n\n\t\t\tdevice_modification.partitions = device_partitions\n\t\t\tdevice_modifications.append(device_modification)\n\n\t\tfor dev_mod in device_modifications:\n\t\t\tdev_mod.partitions.sort(key=lambda p: (not p.is_delete(), p.start))\n\n\t\t\tnon_delete_partitions = [part_mod for part_mod in dev_mod.partitions if not part_mod.is_delete()]\n\n\t\t\tif not non_delete_partitions:\n\t\t\t\tcontinue\n\n\t\t\tfirst = non_delete_partitions[0]\n\t\t\tif first.status == ModificationStatus.Create and not first.start.is_valid_start():\n\t\t\t\traise ValueError('First partition must start at no less than 1 MiB')\n\n\t\t\tfor i, current_partition in enumerate(non_delete_partitions[1:], start=1):\n\t\t\t\tprevious_partition = non_delete_partitions[i - 1]\n\t\t\t\tif current_partition.status == ModificationStatus.Create and current_partition.start < previous_partition.end:\n\t\t\t\t\traise ValueError('Partitions overlap')\n\n\t\t\tcreate_partitions = [part_mod for part_mod in non_delete_partitions if part_mod.status == ModificationStatus.Create]\n\n\t\t\tif not create_partitions:\n\t\t\t\tcontinue\n\n\t\t\tfor part in create_partitions:\n\t\t\t\tif part.start != part.start.align() or part.length != part.length.align():\n\t\t\t\t\traise ValueError('Partition is misaligned')\n\n\t\t\tlast = create_partitions[-1]\n\t\t\ttotal_size = dev_mod.device.device_info.total_size\n\t\t\tif dev_mod.using_gpt(device_handler.partition_table):\n\t\t\t\tif last.end > total_size.gpt_end():\n\t\t\t\t\traise ValueError('Partition overlaps backup GPT header')\n\t\t\telif last.end > total_size.align():\n\t\t\t\traise ValueError('Partition too large for device')\n\n\t\t# Parse LVM configuration from settings\n\t\tif (lvm_arg := disk_config.get('lvm_config', None)) is not None:\n\t\t\tconfig.lvm_config = LvmConfiguration.parse_arg(lvm_arg, config)\n\n\t\tif (enc_config := disk_config.get('disk_encryption', None)) is not None:\n\t\t\tconfig.disk_encryption = DiskEncryption.parse_arg(config, enc_config, enc_password)\n\n\t\tif config.has_default_btrfs_vols():\n\t\t\tif (btrfs_arg := disk_config.get('btrfs_options', None)) is not None:\n\t\t\t\tconfig.btrfs_options = BtrfsOptions.parse_arg(btrfs_arg)\n\n\t\treturn config\n\n\tdef has_default_btrfs_vols(self) -> bool:\n\t\tfor mod in self.device_modifications:\n\t\t\tfor part in mod.partitions:\n\t\t\t\tif not (part.is_create_or_modify() and part.fs_type == FilesystemType.Btrfs):\n\t\t\t\t\tcontinue\n\n\t\t\t\tif any(subvol.is_default_root() for subvol in part.btrfs_subvols):\n\t\t\t\t\treturn True\n\n\t\treturn False\n\n\nclass PartitionTable(Enum):\n\tGPT = 'gpt'\n\tMBR = 'msdos'\n\n\tdef is_gpt(self) -> bool:\n\t\treturn self == PartitionTable.GPT\n\n\tdef is_mbr(self) -> bool:\n\t\treturn self == PartitionTable.MBR\n\n\t@classmethod\n\tdef default(cls) -> Self:\n\t\treturn cls.GPT if SysInfo.has_uefi() else cls.MBR\n\n\nclass Units(Enum):\n\tBINARY = 'binary'\n\tDECIMAL = 'decimal'\n\n\nclass Unit(Enum):\n\tB = 1  # byte\n\tkB = 1000**1  # kilobyte\n\tMB = 1000**2  # megabyte\n\tGB = 1000**3  # gigabyte\n\tTB = 1000**4  # terabyte\n\tPB = 1000**5  # petabyte\n\tEB = 1000**6  # exabyte\n\tZB = 1000**7  # zettabyte\n\tYB = 1000**8  # yottabyte\n\n\tKiB = 1024**1  # kibibyte\n\tMiB = 1024**2  # mebibyte\n\tGiB = 1024**3  # gibibyte\n\tTiB = 1024**4  # tebibyte\n\tPiB = 1024**5  # pebibyte\n\tEiB = 1024**6  # exbibyte\n\tZiB = 1024**7  # zebibyte\n\tYiB = 1024**8  # yobibyte\n\n\tsectors = 'sectors'  # size in sector\n\n\t@classmethod\n\tdef get_all_units(cls) -> list[str]:\n\t\treturn [u.name for u in cls]\n\n\t@classmethod\n\tdef get_si_units(cls) -> list[Self]:\n\t\treturn [u for u in cls if 'i' not in u.name and u.name != 'sectors']\n\n\t@classmethod\n\tdef get_binary_units(cls) -> list[Self]:\n\t\treturn [u for u in cls if 'i' in u.name or u.name == 'B']\n\n\nclass _SectorSizeSerialization(TypedDict):\n\tvalue: int\n\tunit: str\n\n\n@dataclass\nclass SectorSize:\n\tvalue: int\n\tunit: Unit\n\n\tdef __post_init__(self) -> None:\n\t\tmatch self.unit:\n\t\t\tcase Unit.sectors:\n\t\t\t\traise ValueError('Unit type sector not allowed for SectorSize')\n\n\t@classmethod\n\tdef default(cls) -> Self:\n\t\treturn cls(512, Unit.B)\n\n\tdef json(self) -> _SectorSizeSerialization:\n\t\treturn {\n\t\t\t'value': self.value,\n\t\t\t'unit': self.unit.name,\n\t\t}\n\n\t@classmethod\n\tdef parse_args(cls, arg: _SectorSizeSerialization) -> Self:\n\t\treturn cls(\n\t\t\targ['value'],\n\t\t\tUnit[arg['unit']],\n\t\t)\n\n\tdef normalize(self) -> int:\n\t\t\"\"\"\n\t\twill normalize the value of the unit to Byte\n\t\t\"\"\"\n\t\treturn int(self.value * self.unit.value)\n\n\nclass _SizeSerialization(TypedDict):\n\tvalue: int\n\tunit: str\n\tsector_size: _SectorSizeSerialization\n\n\n@dataclass\nclass Size:\n\tvalue: int\n\tunit: Unit\n\tsector_size: SectorSize\n\n\tdef json(self) -> _SizeSerialization:\n\t\treturn {\n\t\t\t'value': self.value,\n\t\t\t'unit': self.unit.name,\n\t\t\t'sector_size': self.sector_size.json(),\n\t\t}\n\n\t@classmethod\n\tdef parse_args(cls, size_arg: _SizeSerialization) -> Self:\n\t\tsector_size = size_arg['sector_size']\n\n\t\treturn cls(\n\t\t\tsize_arg['value'],\n\t\t\tUnit[size_arg['unit']],\n\t\t\tSectorSize.parse_args(sector_size),\n\t\t)\n\n\tdef convert(\n\t\tself,\n\t\ttarget_unit: Unit,\n\t\tsector_size: SectorSize | None = None,\n\t) -> Size:\n\t\tif target_unit == Unit.sectors and sector_size is None:\n\t\t\traise ValueError('If target has unit sector, a sector size must be provided')\n\n\t\tif self.unit == target_unit:\n\t\t\treturn self\n\t\telif self.unit == Unit.sectors:\n\t\t\tnorm = self._normalize()\n\t\t\treturn Size(norm, Unit.B, self.sector_size).convert(target_unit, sector_size)\n\t\telse:\n\t\t\tif target_unit == Unit.sectors and sector_size is not None:\n\t\t\t\tnorm = self._normalize()\n\t\t\t\tsectors = math.ceil(norm / sector_size.value)\n\t\t\t\treturn Size(sectors, Unit.sectors, sector_size)\n\t\t\telse:\n\t\t\t\tvalue = int(self._normalize() / target_unit.value)\n\t\t\t\treturn Size(value, target_unit, self.sector_size)\n\n\tdef as_text(self) -> str:\n\t\treturn self.format_size(\n\t\t\tself.unit,\n\t\t\tself.sector_size,\n\t\t)\n\n\tdef format_size(\n\t\tself,\n\t\ttarget_unit: Unit,\n\t\tsector_size: SectorSize | None = None,\n\t\tinclude_unit: bool = True,\n\t) -> str:\n\t\ttarget_size = self.convert(target_unit, sector_size)\n\n\t\tif include_unit:\n\t\t\treturn f'{target_size.value} {target_unit.name}'\n\t\treturn f'{target_size.value}'\n\n\tdef binary_unit_highest(self, include_unit: bool = True) -> str:\n\t\tbinary_units = Unit.get_binary_units()\n\n\t\tsize = float(self._normalize())\n\t\tunit = Unit.KiB\n\t\tbase_value = unit.value\n\n\t\tfor binary_unit in binary_units:\n\t\t\tunit = binary_unit\n\t\t\tif size < base_value:\n\t\t\t\tbreak\n\t\t\tsize /= base_value\n\n\t\tformatted_size = f'{size:.1f}'\n\n\t\tif formatted_size.endswith('.0'):\n\t\t\tformatted_size = formatted_size[:-2]\n\n\t\tif not include_unit:\n\t\t\treturn formatted_size\n\n\t\treturn f'{formatted_size} {unit.name}'\n\n\tdef si_unit_highest(self, include_unit: bool = True) -> str:\n\t\tsi_units = Unit.get_si_units()\n\n\t\tall_si_values = [self.convert(si) for si in si_units]\n\t\tfiltered = filter(lambda x: x.value >= 1, all_si_values)\n\n\t\t# we have to get the max by the unit value as we're interested\n\t\t# in getting the value in the highest possible unit without floats\n\t\tsi_value = max(filtered, key=lambda x: x.unit.value)\n\n\t\tif include_unit:\n\t\t\treturn f'{si_value.value} {si_value.unit.name}'\n\t\treturn f'{si_value.value}'\n\n\tdef format_highest(self, include_unit: bool = True, units: Units = Units.BINARY) -> str:\n\t\tif units == Units.BINARY:\n\t\t\treturn self.binary_unit_highest(include_unit)\n\t\telse:\n\t\t\treturn self.si_unit_highest(include_unit)\n\n\tdef is_valid_start(self) -> bool:\n\t\treturn self >= Size(1, Unit.MiB, self.sector_size)\n\n\tdef align(self) -> Size:\n\t\talign_norm = Size(1, Unit.MiB, self.sector_size)._normalize()\n\t\tsrc_norm = self._normalize()\n\t\treturn self - Size(abs(src_norm % align_norm), Unit.B, self.sector_size)\n\n\tdef gpt_end(self) -> Size:\n\t\treturn self - Size(1, Unit.MiB, self.sector_size)\n\n\tdef _normalize(self) -> int:\n\t\t\"\"\"\n\t\twill normalize the value of the unit to Byte\n\t\t\"\"\"\n\t\tif self.unit == Unit.sectors and self.sector_size is not None:\n\t\t\treturn self.value * self.sector_size.normalize()\n\t\treturn int(self.value * self.unit.value)\n\n\tdef __sub__(self, other: Self) -> Size:\n\t\tsrc_norm = self._normalize()\n\t\tdest_norm = other._normalize()\n\t\treturn Size(abs(src_norm - dest_norm), Unit.B, self.sector_size)\n\n\tdef __add__(self, other: Self) -> Size:\n\t\tsrc_norm = self._normalize()\n\t\tdest_norm = other._normalize()\n\t\treturn Size(abs(src_norm + dest_norm), Unit.B, self.sector_size)\n\n\tdef __lt__(self, other: Self) -> bool:\n\t\treturn self._normalize() < other._normalize()\n\n\tdef __le__(self, other: Self) -> bool:\n\t\treturn self._normalize() <= other._normalize()\n\n\t@override\n\tdef __eq__(self, other: object) -> bool:\n\t\tif not isinstance(other, Size):\n\t\t\treturn NotImplemented\n\n\t\treturn self._normalize() == other._normalize()\n\n\t@override\n\tdef __ne__(self, other: object) -> bool:\n\t\tif not isinstance(other, Size):\n\t\t\treturn NotImplemented\n\n\t\treturn self._normalize() != other._normalize()\n\n\tdef __gt__(self, other: Self) -> bool:\n\t\treturn self._normalize() > other._normalize()\n\n\tdef __ge__(self, other: Self) -> bool:\n\t\treturn self._normalize() >= other._normalize()\n\n\nclass BtrfsMountOption(Enum):\n\tcompress = 'compress=zstd'\n\tnodatacow = 'nodatacow'\n\n\n@dataclass\nclass _BtrfsSubvolumeInfo:\n\tname: Path\n\tmountpoint: Path | None\n\n\n@dataclass\nclass _PartitionInfo:\n\tpartition: Partition\n\tname: str\n\ttype: PartitionType\n\tfs_type: FilesystemType | None\n\tpath: Path\n\tstart: Size\n\tlength: Size\n\tflags: list[PartitionFlag]\n\tpartn: int | None\n\tpartuuid: str | None\n\tuuid: str | None\n\tdisk: Disk\n\tmountpoints: list[Path]\n\tbtrfs_subvol_infos: list[_BtrfsSubvolumeInfo] = field(default_factory=list)\n\n\t@property\n\tdef sector_size(self) -> SectorSize:\n\t\tsector_size = self.partition.geometry.device.sectorSize\n\t\treturn SectorSize(sector_size, Unit.B)\n\n\tdef table_data(self) -> dict[str, str]:\n\t\tend = self.start + self.length\n\n\t\tpart_info = {\n\t\t\t'Name': self.name,\n\t\t\t'Type': self.type.value,\n\t\t\t'Filesystem': self.fs_type.value if self.fs_type else tr('Unknown'),\n\t\t\t'Path': str(self.path),\n\t\t\t'Start': self.start.format_size(Unit.sectors, self.sector_size, include_unit=False),\n\t\t\t'End': end.format_size(Unit.sectors, self.sector_size, include_unit=False),\n\t\t\t'Size': self.length.format_highest(),\n\t\t\t'Flags': ', '.join(f.description for f in self.flags),\n\t\t}\n\n\t\tif self.btrfs_subvol_infos:\n\t\t\tpart_info['Btrfs vol.'] = f'{len(self.btrfs_subvol_infos)} subvolumes'\n\n\t\treturn part_info\n\n\t@classmethod\n\tdef from_partition(\n\t\tcls,\n\t\tpartition: Partition,\n\t\tlsblk_info: LsblkInfo,\n\t\tfs_type: FilesystemType | None,\n\t\tbtrfs_subvol_infos: list[_BtrfsSubvolumeInfo] = [],\n\t) -> Self:\n\t\tpartition_type = PartitionType.get_type_from_code(partition.type)\n\t\tflags = [f for f in PartitionFlag if partition.getFlag(f.flag_id)]\n\n\t\tstart = Size(\n\t\t\tpartition.geometry.start,\n\t\t\tUnit.sectors,\n\t\t\tSectorSize(partition.disk.device.sectorSize, Unit.B),\n\t\t)\n\n\t\tlength = Size(\n\t\t\tint(partition.getLength(unit='B')),\n\t\t\tUnit.B,\n\t\t\tSectorSize(partition.disk.device.sectorSize, Unit.B),\n\t\t)\n\n\t\treturn cls(\n\t\t\tpartition=partition,\n\t\t\tname=partition.get_name(),\n\t\t\ttype=partition_type,\n\t\t\tfs_type=fs_type,\n\t\t\tpath=Path(partition.path),\n\t\t\tstart=start,\n\t\t\tlength=length,\n\t\t\tflags=flags,\n\t\t\tpartn=lsblk_info.partn,\n\t\t\tpartuuid=lsblk_info.partuuid,\n\t\t\tuuid=lsblk_info.uuid,\n\t\t\tdisk=partition.disk,\n\t\t\tmountpoints=lsblk_info.mountpoints,\n\t\t\tbtrfs_subvol_infos=btrfs_subvol_infos,\n\t\t)\n\n\n@dataclass\nclass _DeviceInfo:\n\tmodel: str\n\tpath: Path\n\ttype: str\n\ttotal_size: Size\n\tfree_space_regions: list[DeviceGeometry]\n\tsector_size: SectorSize\n\tread_only: bool\n\tdirty: bool\n\n\t@override\n\tdef __hash__(self) -> int:\n\t\treturn hash(self.path)\n\n\tdef table_data(self) -> dict[str, str | int | bool]:\n\t\ttotal_free_space = sum([region.get_length(unit=Unit.MiB) for region in self.free_space_regions])\n\t\treturn {\n\t\t\t'Model': self.model,\n\t\t\t'Path': str(self.path),\n\t\t\t'Type': self.type,\n\t\t\t'Size': self.total_size.format_highest(),\n\t\t\t'Free space': int(total_free_space),\n\t\t\t'Sector size': self.sector_size.value,\n\t\t\t'Read only': self.read_only,\n\t\t}\n\n\t@classmethod\n\tdef from_disk(cls, disk: Disk) -> Self:\n\t\tdevice = disk.device\n\t\tif device.type == 18:\n\t\t\tdevice_type = 'loop'\n\t\telif device.type in parted.devices:\n\t\t\tdevice_type = parted.devices[device.type]\n\t\telse:\n\t\t\tdebug(f'Device code unknown: {device.type}')\n\t\t\tdevice_type = parted.devices[parted.DEVICE_UNKNOWN]\n\n\t\tsector_size = SectorSize(device.sectorSize, Unit.B)\n\t\tfree_space = [DeviceGeometry(g, sector_size) for g in disk.getFreeSpaceRegions()]\n\n\t\treturn cls(\n\t\t\tmodel=device.model.strip(),\n\t\t\tpath=Path(device.path),\n\t\t\ttype=device_type,\n\t\t\tsector_size=sector_size,\n\t\t\ttotal_size=Size(int(device.getLength(unit='B')), Unit.B, sector_size),\n\t\t\tfree_space_regions=free_space,\n\t\t\tread_only=device.readOnly,\n\t\t\tdirty=device.dirty,\n\t\t)\n\n\nclass _SubvolumeModificationSerialization(TypedDict):\n\tname: str\n\tmountpoint: str\n\n\n@dataclass\nclass SubvolumeModification:\n\tname: Path | str\n\tmountpoint: Path | None = None\n\n\t@classmethod\n\tdef from_existing_subvol_info(cls, info: _BtrfsSubvolumeInfo) -> Self:\n\t\treturn cls(info.name, mountpoint=info.mountpoint)\n\n\t@classmethod\n\tdef parse_args(cls, subvol_args: list[_SubvolumeModificationSerialization]) -> list[Self]:\n\t\tmods = []\n\t\tfor entry in subvol_args:\n\t\t\tif not entry.get('name', None) or not entry.get('mountpoint', None):\n\t\t\t\tdebug(f'Subvolume arg is missing name: {entry}')\n\t\t\t\tcontinue\n\n\t\t\tmountpoint = Path(entry['mountpoint']) if entry['mountpoint'] else None\n\n\t\t\tmods.append(cls(entry['name'], mountpoint))\n\n\t\treturn mods\n\n\t@property\n\tdef relative_mountpoint(self) -> Path:\n\t\t\"\"\"\n\t\tWill return the relative path based on the anchor\n\t\te.g. Path('/mnt/test') -> Path('mnt/test')\n\t\t\"\"\"\n\t\tif self.mountpoint is not None:\n\t\t\treturn self.mountpoint.relative_to(self.mountpoint.anchor)\n\n\t\traise ValueError('Mountpoint is not specified')\n\n\tdef is_root(self) -> bool:\n\t\tif self.mountpoint:\n\t\t\treturn self.mountpoint == Path('/')\n\t\treturn False\n\n\tdef is_default_root(self) -> bool:\n\t\treturn self.name == Path('@') and self.is_root()\n\n\tdef json(self) -> _SubvolumeModificationSerialization:\n\t\treturn {'name': str(self.name), 'mountpoint': str(self.mountpoint)}\n\n\tdef table_data(self) -> _SubvolumeModificationSerialization:\n\t\treturn self.json()\n\n\nclass DeviceGeometry:\n\tdef __init__(self, geometry: Geometry, sector_size: SectorSize):\n\t\tself._geometry = geometry\n\t\tself._sector_size = sector_size\n\n\t@property\n\tdef start(self) -> int:\n\t\treturn self._geometry.start\n\n\t@property\n\tdef end(self) -> int:\n\t\treturn self._geometry.end\n\n\tdef get_length(self, unit: Unit = Unit.sectors) -> int:\n\t\treturn self._geometry.getLength(unit.name)\n\n\tdef table_data(self) -> dict[str, str | int]:\n\t\tstart = Size(self._geometry.start, Unit.sectors, self._sector_size)\n\t\tend = Size(self._geometry.end, Unit.sectors, self._sector_size)\n\t\tlength = Size(self._geometry.getLength(), Unit.sectors, self._sector_size)\n\n\t\tstart_str = f'{self._geometry.start} / {start.format_size(Unit.B, include_unit=False)}'\n\t\tend_str = f'{self._geometry.end} / {end.format_size(Unit.B, include_unit=False)}'\n\t\tlength_str = f'{self._geometry.getLength()} / {length.format_size(Unit.B, include_unit=False)}'\n\n\t\treturn {\n\t\t\t'Sector size': self._sector_size.value,\n\t\t\t'Start (sector/B)': start_str,\n\t\t\t'End (sector/B)': end_str,\n\t\t\t'Size (sectors/B)': length_str,\n\t\t}\n\n\n@dataclass\nclass BDevice:\n\tdisk: Disk\n\tdevice_info: _DeviceInfo\n\tpartition_infos: list[_PartitionInfo]\n\n\t@override\n\tdef __hash__(self) -> int:\n\t\treturn hash(self.disk.device.path)\n\n\nclass PartitionType(Enum):\n\tBoot = 'boot'\n\tPrimary = 'primary'\n\t_Unknown = 'unknown'\n\n\t@classmethod\n\tdef get_type_from_code(cls, code: int) -> Self:\n\t\tif code == parted.PARTITION_NORMAL:\n\t\t\treturn cls.Primary\n\t\telse:\n\t\t\tdebug(f'Partition code not supported: {code}')\n\t\t\treturn cls._Unknown\n\n\tdef get_partition_code(self) -> int | None:\n\t\tif self == PartitionType.Primary:\n\t\t\treturn parted.PARTITION_NORMAL\n\t\telif self == PartitionType.Boot:\n\t\t\treturn parted.PARTITION_BOOT\n\t\treturn None\n\n\n@dataclass(frozen=True)\nclass PartitionFlagDataMixin:\n\tflag_id: int\n\talias: str | None = None\n\n\nclass PartitionFlag(PartitionFlagDataMixin, Enum):\n\tBOOT = parted.PARTITION_BOOT\n\tXBOOTLDR = parted.PARTITION_BLS_BOOT, 'bls_boot'\n\tESP = parted.PARTITION_ESP\n\tLINUX_HOME = parted.PARTITION_LINUX_HOME, 'linux-home'\n\tSWAP = parted.PARTITION_SWAP\n\n\t@property\n\tdef description(self) -> str:\n\t\treturn self.alias or self.name.lower()\n\n\t@classmethod\n\tdef from_string(cls, s: str) -> Self | None:\n\t\ts = s.lower()\n\n\t\tfor partition_flag in cls:\n\t\t\tif s in (partition_flag.name.lower(), partition_flag.alias):\n\t\t\t\treturn partition_flag\n\n\t\tdebug(f'Partition flag not supported: {s}')\n\t\treturn None\n\n\nclass PartitionGUID(Enum):\n\t\"\"\"\n\tA list of Partition type GUIDs (lsblk -o+PARTTYPE) can be found here: https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs\n\t\"\"\"\n\n\tLINUX_ROOT_X86_64 = '4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709'\n\n\t@property\n\tdef bytes(self) -> builtins.bytes:\n\t\treturn uuid.UUID(self.value).bytes\n\n\nclass FilesystemType(Enum):\n\tBtrfs = 'btrfs'\n\tExt2 = 'ext2'\n\tExt3 = 'ext3'\n\tExt4 = 'ext4'\n\tF2fs = 'f2fs'\n\tFat12 = 'fat12'\n\tFat16 = 'fat16'\n\tFat32 = 'fat32'\n\tNtfs = 'ntfs'\n\tXfs = 'xfs'\n\tLinuxSwap = 'linux-swap'\n\n\t# this is not a FS known to parted, so be careful\n\t# with the usage from this enum\n\tCrypto_luks = 'crypto_LUKS'\n\n\tdef is_crypto(self) -> bool:\n\t\treturn self == FilesystemType.Crypto_luks\n\n\t@property\n\tdef parted_value(self) -> str:\n\t\treturn self.value + '(v1)' if self == FilesystemType.LinuxSwap else self.value\n\n\t@property\n\tdef installation_pkg(self) -> str | None:\n\t\tmatch self:\n\t\t\tcase FilesystemType.Btrfs:\n\t\t\t\treturn 'btrfs-progs'\n\t\t\tcase FilesystemType.Xfs:\n\t\t\t\treturn 'xfsprogs'\n\t\t\tcase FilesystemType.F2fs:\n\t\t\t\treturn 'f2fs-tools'\n\t\t\tcase _:\n\t\t\t\treturn None\n\n\nclass ModificationStatus(Enum):\n\tExist = 'existing'\n\tModify = 'modify'\n\tDelete = 'delete'\n\tCreate = 'create'\n\n\nclass _PartitionModificationSerialization(TypedDict):\n\tobj_id: str\n\tstatus: str\n\ttype: str\n\tstart: _SizeSerialization\n\tsize: _SizeSerialization\n\tfs_type: str | None\n\tmountpoint: str | None\n\tmount_options: list[str]\n\tflags: list[str]\n\tbtrfs: list[_SubvolumeModificationSerialization]\n\tdev_path: str | None\n\n\n@dataclass\nclass PartitionModification:\n\tstatus: ModificationStatus\n\ttype: PartitionType\n\tstart: Size\n\tlength: Size\n\tfs_type: FilesystemType | None = None\n\tmountpoint: Path | None = None\n\tmount_options: list[str] = field(default_factory=list)\n\tflags: list[PartitionFlag] = field(default_factory=list)\n\tbtrfs_subvols: list[SubvolumeModification] = field(default_factory=list)\n\n\t# only set if the device was created or exists\n\tdev_path: Path | None = None\n\tpartn: int | None = None\n\tpartuuid: str | None = None\n\tuuid: str | None = None\n\n\t_obj_id: UUID | str = field(init=False)\n\n\tdef __post_init__(self) -> None:\n\t\t# needed to use the object as a dictionary key due to hash func\n\t\tif not hasattr(self, '_obj_id'):\n\t\t\tself._obj_id = uuid.uuid4()\n\n\t\tif self.is_exists_or_modify() and not self.dev_path:\n\t\t\traise ValueError('If partition marked as existing a path must be set')\n\n\t\tif self.fs_type is None and self.status == ModificationStatus.Modify:\n\t\t\traise ValueError('FS type must not be empty on modifications with status type modify')\n\n\t@override\n\tdef __hash__(self) -> int:\n\t\treturn hash(self._obj_id)\n\n\t@property\n\tdef end(self) -> Size:\n\t\treturn self.start + self.length\n\n\t@property\n\tdef obj_id(self) -> str:\n\t\tif hasattr(self, '_obj_id'):\n\t\t\treturn str(self._obj_id)\n\t\treturn ''\n\n\t@property\n\tdef safe_dev_path(self) -> Path:\n\t\tif self.dev_path is None:\n\t\t\traise ValueError('Device path was not set')\n\t\treturn self.dev_path\n\n\t@property\n\tdef safe_fs_type(self) -> FilesystemType:\n\t\tif self.fs_type is None:\n\t\t\traise ValueError('File system type is not set')\n\t\treturn self.fs_type\n\n\t@classmethod\n\tdef from_existing_partition(cls, partition_info: _PartitionInfo) -> Self:\n\t\tif partition_info.btrfs_subvol_infos:\n\t\t\tmountpoint = None\n\t\t\tsubvol_mods = []\n\t\t\tfor i in partition_info.btrfs_subvol_infos:\n\t\t\t\tsubvol_mods.append(\n\t\t\t\t\tSubvolumeModification.from_existing_subvol_info(i),\n\t\t\t\t)\n\t\telse:\n\t\t\tmountpoint = partition_info.mountpoints[0] if partition_info.mountpoints else None\n\t\t\tsubvol_mods = []\n\n\t\treturn cls(\n\t\t\tstatus=ModificationStatus.Exist,\n\t\t\ttype=partition_info.type,\n\t\t\tstart=partition_info.start,\n\t\t\tlength=partition_info.length,\n\t\t\tfs_type=partition_info.fs_type,\n\t\t\tdev_path=partition_info.path,\n\t\t\tpartn=partition_info.partn,\n\t\t\tpartuuid=partition_info.partuuid,\n\t\t\tuuid=partition_info.uuid,\n\t\t\tflags=partition_info.flags,\n\t\t\tmountpoint=mountpoint,\n\t\t\tbtrfs_subvols=subvol_mods,\n\t\t)\n\n\t@property\n\tdef relative_mountpoint(self) -> Path:\n\t\t\"\"\"\n\t\tWill return the relative path based on the anchor\n\t\te.g. Path('/mnt/test') -> Path('mnt/test')\n\t\t\"\"\"\n\t\tif self.mountpoint:\n\t\t\treturn self.mountpoint.relative_to(self.mountpoint.anchor)\n\n\t\traise ValueError('Mountpoint is not specified')\n\n\tdef is_efi(self) -> bool:\n\t\treturn PartitionFlag.ESP in self.flags\n\n\tdef is_boot(self) -> bool:\n\t\treturn PartitionFlag.BOOT in self.flags\n\n\tdef is_root(self) -> bool:\n\t\tif self.mountpoint is not None:\n\t\t\treturn self.mountpoint == Path('/')\n\t\telse:\n\t\t\tfor subvol in self.btrfs_subvols:\n\t\t\t\tif subvol.is_root():\n\t\t\t\t\treturn True\n\n\t\treturn False\n\n\tdef is_home(self) -> bool:\n\t\tif self.mountpoint is not None:\n\t\t\treturn self.mountpoint == Path('/home')\n\t\treturn False\n\n\tdef is_swap(self) -> bool:\n\t\treturn self.fs_type == FilesystemType.LinuxSwap\n\n\tdef is_modify(self) -> bool:\n\t\treturn self.status == ModificationStatus.Modify\n\n\tdef is_delete(self) -> bool:\n\t\treturn self.status == ModificationStatus.Delete\n\n\tdef exists(self) -> bool:\n\t\treturn self.status == ModificationStatus.Exist\n\n\tdef is_exists_or_modify(self) -> bool:\n\t\treturn self.status in [\n\t\t\tModificationStatus.Exist,\n\t\t\tModificationStatus.Delete,\n\t\t\tModificationStatus.Modify,\n\t\t]\n\n\tdef is_create_or_modify(self) -> bool:\n\t\treturn self.status in [ModificationStatus.Create, ModificationStatus.Modify]\n\n\t@property\n\tdef mapper_name(self) -> str | None:\n\t\tif self.is_root():\n\t\t\treturn 'root'\n\t\tif self.is_home():\n\t\t\treturn 'home'\n\t\tif self.dev_path:\n\t\t\treturn f'{ENC_IDENTIFIER}{self.dev_path.name}'\n\t\treturn None\n\n\tdef set_flag(self, flag: PartitionFlag) -> None:\n\t\tif flag not in self.flags:\n\t\t\tself.flags.append(flag)\n\n\tdef invert_flag(self, flag: PartitionFlag) -> None:\n\t\tif flag in self.flags:\n\t\t\tself.flags = [f for f in self.flags if f != flag]\n\t\telse:\n\t\t\tself.set_flag(flag)\n\n\tdef json(self) -> _PartitionModificationSerialization:\n\t\t\"\"\"\n\t\tCalled for configuration settings\n\t\t\"\"\"\n\t\treturn {\n\t\t\t'obj_id': self.obj_id,\n\t\t\t'status': self.status.value,\n\t\t\t'type': self.type.value,\n\t\t\t'start': self.start.json(),\n\t\t\t'size': self.length.json(),\n\t\t\t'fs_type': self.fs_type.value if self.fs_type else None,\n\t\t\t'mountpoint': str(self.mountpoint) if self.mountpoint else None,\n\t\t\t'mount_options': self.mount_options,\n\t\t\t'flags': [f.description for f in self.flags],\n\t\t\t'dev_path': str(self.dev_path) if self.dev_path else None,\n\t\t\t'btrfs': [vol.json() for vol in self.btrfs_subvols],\n\t\t}\n\n\tdef table_data(self) -> dict[str, str]:\n\t\t\"\"\"\n\t\tCalled for displaying data in table format\n\t\t\"\"\"\n\t\tpart_mod = {\n\t\t\t'Status': self.status.value,\n\t\t\t'Device': str(self.dev_path) if self.dev_path else '',\n\t\t\t'Type': self.type.value,\n\t\t\t'Start': self.start.format_size(Unit.sectors, self.start.sector_size, include_unit=False),\n\t\t\t'End': self.end.format_size(Unit.sectors, self.start.sector_size, include_unit=False),\n\t\t\t'Size': self.length.format_highest(),\n\t\t\t'FS type': self.fs_type.value if self.fs_type else 'Unknown',\n\t\t\t'Mountpoint': str(self.mountpoint) if self.mountpoint else '',\n\t\t\t'Mount options': ', '.join(self.mount_options),\n\t\t\t'Flags': ', '.join(f.description for f in self.flags),\n\t\t}\n\n\t\tif self.btrfs_subvols:\n\t\t\tpart_mod['Btrfs vol.'] = f'{len(self.btrfs_subvols)} subvolumes'\n\n\t\treturn part_mod\n\n\nclass LvmLayoutType(Enum):\n\tDefault = 'default'\n\n\t# Manual = 'manual_lvm'\n\n\tdef display_msg(self) -> str:\n\t\tmatch self:\n\t\t\tcase LvmLayoutType.Default:\n\t\t\t\treturn tr('Default layout')\n\n\nclass _LvmVolumeGroupSerialization(TypedDict):\n\tname: str\n\tlvm_pvs: list[str]\n\tvolumes: list[_LvmVolumeSerialization]\n\n\n@dataclass\nclass LvmVolumeGroup:\n\tname: str\n\tpvs: list[PartitionModification]\n\tvolumes: list[LvmVolume] = field(default_factory=list)\n\n\tdef json(self) -> _LvmVolumeGroupSerialization:\n\t\treturn {\n\t\t\t'name': self.name,\n\t\t\t'lvm_pvs': [p.obj_id for p in self.pvs],\n\t\t\t'volumes': [vol.json() for vol in self.volumes],\n\t\t}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: _LvmVolumeGroupSerialization, disk_config: DiskLayoutConfiguration) -> Self:\n\t\tlvm_pvs = []\n\t\tfor mod in disk_config.device_modifications:\n\t\t\tfor part in mod.partitions:\n\t\t\t\tif part.obj_id in arg.get('lvm_pvs', []):\n\t\t\t\t\tlvm_pvs.append(part)\n\n\t\treturn cls(\n\t\t\targ['name'],\n\t\t\tlvm_pvs,\n\t\t\t[LvmVolume.parse_arg(vol) for vol in arg['volumes']],\n\t\t)\n\n\tdef contains_lv(self, lv: LvmVolume) -> bool:\n\t\treturn lv in self.volumes\n\n\nclass LvmVolumeStatus(Enum):\n\tExist = 'existing'\n\tModify = 'modify'\n\tDelete = 'delete'\n\tCreate = 'create'\n\n\nclass _LvmVolumeSerialization(TypedDict):\n\tobj_id: str\n\tstatus: str\n\tname: str\n\tfs_type: str\n\tlength: _SizeSerialization\n\tmountpoint: str | None\n\tmount_options: list[str]\n\tbtrfs: list[_SubvolumeModificationSerialization]\n\n\n@dataclass\nclass LvmVolume:\n\tstatus: LvmVolumeStatus\n\tname: str\n\tfs_type: FilesystemType\n\tlength: Size\n\tmountpoint: Path | None\n\tmount_options: list[str] = field(default_factory=list)\n\tbtrfs_subvols: list[SubvolumeModification] = field(default_factory=list)\n\n\t# volume group name\n\tvg_name: str | None = None\n\t# mapper device path /dev/<vg>/<vol>\n\tdev_path: Path | None = None\n\n\t_obj_id: uuid.UUID | str = field(init=False)\n\n\tdef __post_init__(self) -> None:\n\t\t# needed to use the object as a dictionary key due to hash func\n\t\tif not hasattr(self, '_obj_id'):\n\t\t\tself._obj_id = uuid.uuid4()\n\n\t@override\n\tdef __hash__(self) -> int:\n\t\treturn hash(self._obj_id)\n\n\t@property\n\tdef obj_id(self) -> str:\n\t\tif hasattr(self, '_obj_id'):\n\t\t\treturn str(self._obj_id)\n\t\treturn ''\n\n\t@property\n\tdef mapper_name(self) -> str | None:\n\t\tif self.dev_path:\n\t\t\treturn f'{ENC_IDENTIFIER}{self.safe_dev_path.name}'\n\t\treturn None\n\n\t@property\n\tdef mapper_path(self) -> Path:\n\t\tif self.mapper_name:\n\t\t\treturn Path(f'/dev/mapper/{self.mapper_name}')\n\n\t\traise ValueError('No mapper path set')\n\n\t@property\n\tdef safe_dev_path(self) -> Path:\n\t\tif self.dev_path:\n\t\t\treturn self.dev_path\n\t\traise ValueError('No device path for volume defined')\n\n\t@property\n\tdef safe_fs_type(self) -> FilesystemType:\n\t\tif self.fs_type is None:\n\t\t\traise ValueError('File system type is not set')\n\t\treturn self.fs_type\n\n\t@property\n\tdef relative_mountpoint(self) -> Path:\n\t\t\"\"\"\n\t\tWill return the relative path based on the anchor\n\t\te.g. Path('/mnt/test') -> Path('mnt/test')\n\t\t\"\"\"\n\t\tif self.mountpoint is not None:\n\t\t\treturn self.mountpoint.relative_to(self.mountpoint.anchor)\n\n\t\traise ValueError('Mountpoint is not specified')\n\n\t@classmethod\n\tdef parse_arg(cls, arg: _LvmVolumeSerialization) -> Self:\n\t\tvolume = cls(\n\t\t\tstatus=LvmVolumeStatus(arg['status']),\n\t\t\tname=arg['name'],\n\t\t\tfs_type=FilesystemType(arg['fs_type']),\n\t\t\tlength=Size.parse_args(arg['length']),\n\t\t\tmountpoint=Path(arg['mountpoint']) if arg['mountpoint'] else None,\n\t\t\tmount_options=arg.get('mount_options', []),\n\t\t\tbtrfs_subvols=SubvolumeModification.parse_args(arg.get('btrfs', [])),\n\t\t)\n\n\t\tvolume._obj_id = arg['obj_id']\n\n\t\treturn volume\n\n\tdef json(self) -> _LvmVolumeSerialization:\n\t\treturn {\n\t\t\t'obj_id': self.obj_id,\n\t\t\t'status': self.status.value,\n\t\t\t'name': self.name,\n\t\t\t'fs_type': self.fs_type.value,\n\t\t\t'length': self.length.json(),\n\t\t\t'mountpoint': str(self.mountpoint) if self.mountpoint else None,\n\t\t\t'mount_options': self.mount_options,\n\t\t\t'btrfs': [vol.json() for vol in self.btrfs_subvols],\n\t\t}\n\n\tdef table_data(self) -> dict[str, str]:\n\t\tpart_mod = {\n\t\t\t'Type': self.status.value,\n\t\t\t'Name': self.name,\n\t\t\t'Size': self.length.format_highest(),\n\t\t\t'FS type': self.fs_type.value,\n\t\t\t'Mountpoint': str(self.mountpoint) if self.mountpoint else '',\n\t\t\t'Mount options': ', '.join(self.mount_options),\n\t\t\t'Btrfs': '{} {}'.format(str(len(self.btrfs_subvols)), 'vol'),\n\t\t}\n\t\treturn part_mod\n\n\tdef is_modify(self) -> bool:\n\t\treturn self.status == LvmVolumeStatus.Modify\n\n\tdef exists(self) -> bool:\n\t\treturn self.status == LvmVolumeStatus.Exist\n\n\tdef is_exists_or_modify(self) -> bool:\n\t\treturn self.status in [LvmVolumeStatus.Exist, LvmVolumeStatus.Modify]\n\n\tdef is_root(self) -> bool:\n\t\tif self.mountpoint is not None:\n\t\t\treturn Path('/') == self.mountpoint\n\t\telse:\n\t\t\tfor subvol in self.btrfs_subvols:\n\t\t\t\tif subvol.is_root():\n\t\t\t\t\treturn True\n\n\t\treturn False\n\n\n@dataclass\nclass LvmGroupInfo:\n\tvg_size: Size\n\tvg_uuid: str\n\n\n@dataclass\nclass LvmVolumeInfo:\n\tlv_name: str\n\tvg_name: str\n\tlv_size: Size\n\n\n@dataclass\nclass LvmPVInfo:\n\tpv_name: Path\n\tlv_name: str\n\tvg_name: str\n\n\nclass _LvmConfigurationSerialization(TypedDict):\n\tconfig_type: str\n\tvol_groups: list[_LvmVolumeGroupSerialization]\n\n\n@dataclass\nclass LvmConfiguration:\n\tconfig_type: LvmLayoutType\n\tvol_groups: list[LvmVolumeGroup]\n\n\tdef __post_init__(self) -> None:\n\t\t# make sure all volume groups have unique PVs\n\t\tpvs = []\n\t\tfor group in self.vol_groups:\n\t\t\tfor pv in group.pvs:\n\t\t\t\tif pv in pvs:\n\t\t\t\t\traise ValueError('A PV cannot be used in multiple volume groups')\n\t\t\t\tpvs.append(pv)\n\n\tdef json(self) -> _LvmConfigurationSerialization:\n\t\treturn {\n\t\t\t'config_type': self.config_type.value,\n\t\t\t'vol_groups': [vol_gr.json() for vol_gr in self.vol_groups],\n\t\t}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: _LvmConfigurationSerialization, disk_config: DiskLayoutConfiguration) -> Self:\n\t\tlvm_pvs = []\n\t\tfor mod in disk_config.device_modifications:\n\t\t\tfor part in mod.partitions:\n\t\t\t\t# FIXME: 'lvm_pvs' does not seem like it can ever exist in the 'arg' serialization\n\t\t\t\tif part.obj_id in arg.get('lvm_pvs', []):  # type: ignore[operator]\n\t\t\t\t\tlvm_pvs.append(part)\n\n\t\treturn cls(\n\t\t\tconfig_type=LvmLayoutType(arg['config_type']),\n\t\t\tvol_groups=[LvmVolumeGroup.parse_arg(vol_group, disk_config) for vol_group in arg['vol_groups']],\n\t\t)\n\n\tdef get_all_pvs(self) -> list[PartitionModification]:\n\t\tpvs = []\n\t\tfor vg in self.vol_groups:\n\t\t\tpvs += vg.pvs\n\n\t\treturn pvs\n\n\tdef get_all_volumes(self) -> list[LvmVolume]:\n\t\tvolumes = []\n\n\t\tfor vg in self.vol_groups:\n\t\t\tvolumes += vg.volumes\n\n\t\treturn volumes\n\n\tdef get_root_volume(self) -> LvmVolume | None:\n\t\tfor vg in self.vol_groups:\n\t\t\tfiltered = next(filter(lambda x: x.is_root(), vg.volumes), None)\n\t\t\tif filtered:\n\t\t\t\treturn filtered\n\n\t\treturn None\n\n\nclass _BtrfsOptionsSerialization(TypedDict):\n\tsnapshot_config: _SnapshotConfigSerialization | None\n\n\nclass _SnapshotConfigSerialization(TypedDict):\n\ttype: str\n\n\nclass SnapshotType(Enum):\n\tSnapper = 'Snapper'\n\tTimeshift = 'Timeshift'\n\n\n@dataclass\nclass SnapshotConfig:\n\tsnapshot_type: SnapshotType\n\n\tdef json(self) -> _SnapshotConfigSerialization:\n\t\treturn {'type': self.snapshot_type.value}\n\n\t@classmethod\n\tdef parse_args(cls, args: _SnapshotConfigSerialization) -> Self:\n\t\treturn cls(SnapshotType(args['type']))\n\n\n@dataclass\nclass BtrfsOptions:\n\tsnapshot_config: SnapshotConfig | None\n\n\tdef json(self) -> _BtrfsOptionsSerialization:\n\t\treturn {'snapshot_config': self.snapshot_config.json() if self.snapshot_config else None}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: _BtrfsOptionsSerialization) -> Self | None:\n\t\tsnapshot_args = arg.get('snapshot_config')\n\t\tif snapshot_args:\n\t\t\tsnapshot_config = SnapshotConfig.parse_args(snapshot_args)\n\t\t\treturn cls(snapshot_config)\n\n\t\treturn None\n\n\nclass _DeviceModificationSerialization(TypedDict):\n\tdevice: str\n\twipe: bool\n\tpartitions: list[_PartitionModificationSerialization]\n\n\n@dataclass\nclass DeviceModification:\n\tdevice: BDevice\n\twipe: bool\n\tpartitions: list[PartitionModification] = field(default_factory=list)\n\n\t@property\n\tdef device_path(self) -> Path:\n\t\treturn self.device.device_info.path\n\n\tdef using_gpt(self, partition_table: PartitionTable) -> bool:\n\t\tif self.wipe:\n\t\t\treturn partition_table.is_gpt()\n\n\t\treturn self.device.disk.type == PartitionTable.GPT.value\n\n\tdef add_partition(self, partition: PartitionModification) -> None:\n\t\tself.partitions.append(partition)\n\n\tdef get_efi_partition(self) -> PartitionModification | None:\n\t\tfiltered = filter(lambda x: x.is_efi() and x.mountpoint, self.partitions)\n\t\treturn next(filtered, None)\n\n\tdef get_boot_partition(self) -> PartitionModification | None:\n\t\tfiltered = filter(lambda x: x.is_boot() and x.mountpoint, self.partitions)\n\t\treturn next(filtered, None)\n\n\tdef get_root_partition(self) -> PartitionModification | None:\n\t\tfiltered = filter(lambda x: x.is_root(), self.partitions)\n\t\treturn next(filtered, None)\n\n\tdef json(self) -> _DeviceModificationSerialization:\n\t\t\"\"\"\n\t\tCalled when generating configuration files\n\t\t\"\"\"\n\t\treturn {\n\t\t\t'device': str(self.device.device_info.path),\n\t\t\t'wipe': self.wipe,\n\t\t\t'partitions': [p.json() for p in self.partitions],\n\t\t}\n\n\nclass EncryptionType(Enum):\n\tNoEncryption = 'no_encryption'\n\tLuks = 'luks'\n\tLvmOnLuks = 'lvm_on_luks'\n\tLuksOnLvm = 'luks_on_lvm'\n\n\t@classmethod\n\tdef _encryption_type_mapper(cls) -> dict[str, Self]:\n\t\treturn {\n\t\t\ttr('No Encryption'): cls.NoEncryption,\n\t\t\ttr('LUKS'): cls.Luks,\n\t\t\ttr('LVM on LUKS'): cls.LvmOnLuks,\n\t\t\ttr('LUKS on LVM'): cls.LuksOnLvm,\n\t\t}\n\n\t@classmethod\n\tdef text_to_type(cls, text: str) -> Self:\n\t\tmapping = cls._encryption_type_mapper()\n\t\treturn mapping[text]\n\n\tdef type_to_text(self) -> str:\n\t\tmapping = self._encryption_type_mapper()\n\t\ttype_to_text = {enctype: text for text, enctype in mapping.items()}\n\t\treturn type_to_text[self]\n\n\nclass _DiskEncryptionSerialization(TypedDict):\n\tencryption_type: str\n\tpartitions: list[str]\n\tlvm_volumes: list[str]\n\thsm_device: NotRequired[_Fido2DeviceSerialization]\n\titer_time: NotRequired[int]\n\n\n@dataclass\nclass DiskEncryption:\n\tencryption_type: EncryptionType = EncryptionType.NoEncryption\n\tencryption_password: Password | None = None\n\tpartitions: list[PartitionModification] = field(default_factory=list)\n\tlvm_volumes: list[LvmVolume] = field(default_factory=list)\n\thsm_device: Fido2Device | None = None\n\titer_time: int = DEFAULT_ITER_TIME\n\n\tdef __post_init__(self) -> None:\n\t\tif self.encryption_type in [EncryptionType.Luks, EncryptionType.LvmOnLuks] and not self.partitions:\n\t\t\traise ValueError('Luks or LvmOnLuks encryption require partitions to be defined')\n\n\t\tif self.encryption_type == EncryptionType.LuksOnLvm and not self.lvm_volumes:\n\t\t\traise ValueError('LuksOnLvm encryption require LMV volumes to be defined')\n\n\tdef should_generate_encryption_file(self, dev: PartitionModification | LvmVolume) -> bool:\n\t\tif isinstance(dev, PartitionModification):\n\t\t\treturn dev in self.partitions and dev.mountpoint != Path('/')\n\t\telse:\n\t\t\treturn dev in self.lvm_volumes and dev.mountpoint != Path('/')\n\n\tdef json(self) -> _DiskEncryptionSerialization:\n\t\tobj: _DiskEncryptionSerialization = {\n\t\t\t'encryption_type': self.encryption_type.value,\n\t\t\t'partitions': [p.obj_id for p in self.partitions],\n\t\t\t'lvm_volumes': [vol.obj_id for vol in self.lvm_volumes],\n\t\t}\n\n\t\tif self.hsm_device:\n\t\t\tobj['hsm_device'] = self.hsm_device.json()\n\n\t\tif self.iter_time != DEFAULT_ITER_TIME:  # Only include if not default\n\t\t\tobj['iter_time'] = self.iter_time\n\n\t\treturn obj\n\n\t@staticmethod\n\tdef validate_enc(\n\t\tmodifications: list[DeviceModification],\n\t\tlvm_config: LvmConfiguration | None = None,\n\t) -> bool:\n\t\tpartitions = []\n\n\t\tfor mod in modifications:\n\t\t\tfor part in mod.partitions:\n\t\t\t\tpartitions.append(part)\n\n\t\tif len(partitions) > 2:  # assume one boot and at least 2 additional\n\t\t\tif lvm_config:\n\t\t\t\treturn False\n\n\t\treturn True\n\n\t@classmethod\n\tdef parse_arg(\n\t\tcls,\n\t\tdisk_config: DiskLayoutConfiguration,\n\t\tdisk_encryption: _DiskEncryptionSerialization,\n\t\tpassword: Password | None = None,\n\t) -> Self | None:\n\t\tif not cls.validate_enc(disk_config.device_modifications, disk_config.lvm_config):\n\t\t\treturn None\n\n\t\tif not password:\n\t\t\treturn None\n\n\t\tenc_partitions = []\n\t\tfor mod in disk_config.device_modifications:\n\t\t\tfor part in mod.partitions:\n\t\t\t\tif part.obj_id in disk_encryption.get('partitions', []):\n\t\t\t\t\tenc_partitions.append(part)\n\n\t\tvolumes = []\n\t\tif disk_config.lvm_config:\n\t\t\tfor vol in disk_config.lvm_config.get_all_volumes():\n\t\t\t\tif vol.obj_id in disk_encryption.get('lvm_volumes', []):\n\t\t\t\t\tvolumes.append(vol)\n\n\t\tenc = cls(\n\t\t\tEncryptionType(disk_encryption['encryption_type']),\n\t\t\tpassword,\n\t\t\tenc_partitions,\n\t\t\tvolumes,\n\t\t)\n\n\t\tif hsm := disk_encryption.get('hsm_device', None):\n\t\t\tenc.hsm_device = Fido2Device.parse_arg(hsm)\n\n\t\tif iter_time := disk_encryption.get('iter_time', None):\n\t\t\tenc.iter_time = iter_time\n\n\t\treturn enc\n\n\nclass _Fido2DeviceSerialization(TypedDict):\n\tpath: str\n\tmanufacturer: str\n\tproduct: str\n\n\n@dataclass\nclass Fido2Device:\n\tpath: Path\n\tmanufacturer: str\n\tproduct: str\n\n\tdef json(self) -> _Fido2DeviceSerialization:\n\t\treturn {\n\t\t\t'path': str(self.path),\n\t\t\t'manufacturer': self.manufacturer,\n\t\t\t'product': self.product,\n\t\t}\n\n\tdef table_data(self) -> dict[str, str]:\n\t\treturn {\n\t\t\t'Path': str(self.path),\n\t\t\t'Manufacturer': self.manufacturer,\n\t\t\t'Product': self.product,\n\t\t}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: _Fido2DeviceSerialization) -> Self:\n\t\treturn cls(\n\t\t\tPath(arg['path']),\n\t\t\targ['manufacturer'],\n\t\t\targ['product'],\n\t\t)\n\n\nclass LsblkInfo(BaseModel):\n\tname: str\n\tpath: Path\n\tpkname: str | None\n\tlog_sec: int = Field(alias='log-sec')\n\tsize: Size\n\tpttype: str | None\n\tptuuid: str | None\n\trota: bool\n\ttran: str | None\n\tpartn: int | None\n\tpartuuid: str | None\n\tparttype: str | None\n\tuuid: str | None\n\tfstype: str | None\n\tfsver: str | None\n\tfsavail: int | None\n\tfsuse_percentage: str | None = Field(alias='fsuse%')\n\ttype: str | None  # may be None for strange behavior with md devices\n\tmountpoint: Path | None\n\tmountpoints: list[Path]\n\tfsroots: list[Path]\n\tchildren: list[LsblkInfo] = Field(default_factory=list)\n\n\t@field_validator('size', mode='before')\n\t@classmethod\n\tdef convert_size(cls, v: int, info: ValidationInfo) -> Size:\n\t\tsector_size = SectorSize(info.data['log_sec'], Unit.B)\n\t\treturn Size(v, Unit.B, sector_size)\n\n\t@field_validator('mountpoints', 'fsroots', mode='before')\n\t@classmethod\n\tdef remove_none(cls, v: list[Path | None]) -> list[Path]:\n\t\treturn [item for item in v if item is not None]\n\n\t@field_serializer('size', when_used='json')\n\tdef serialize_size(self, size: Size) -> str:\n\t\treturn size.format_size(Unit.MiB)\n\n\t@classmethod\n\tdef fields(cls) -> list[str]:\n\t\treturn [field.alias or name for name, field in cls.model_fields.items() if name != 'children']\n"
  },
  {
    "path": "archinstall/lib/models/locale.py",
    "content": "from dataclasses import dataclass\nfrom typing import Any, Self\n\nfrom archinstall.lib.locale.utils import get_kb_layout\nfrom archinstall.lib.translationhandler import tr\n\n\n@dataclass\nclass LocaleConfiguration:\n\tkb_layout: str\n\tsys_lang: str\n\tsys_enc: str\n\n\t@classmethod\n\tdef default(cls) -> Self:\n\t\tlayout = get_kb_layout()\n\t\tif layout == '':\n\t\t\tlayout = 'us'\n\t\treturn cls(layout, 'en_US.UTF-8', 'UTF-8')\n\n\tdef json(self) -> dict[str, str]:\n\t\treturn {\n\t\t\t'kb_layout': self.kb_layout,\n\t\t\t'sys_lang': self.sys_lang,\n\t\t\t'sys_enc': self.sys_enc,\n\t\t}\n\n\tdef preview(self) -> str:\n\t\toutput = '{}: {}\\n'.format(tr('Keyboard layout'), self.kb_layout)\n\t\toutput += '{}: {}\\n'.format(tr('Locale language'), self.sys_lang)\n\t\toutput += '{}: {}'.format(tr('Locale encoding'), self.sys_enc)\n\t\treturn output\n\n\tdef _load_config(self, args: dict[str, str]) -> None:\n\t\tif 'sys_lang' in args:\n\t\t\tself.sys_lang = args['sys_lang']\n\t\tif 'sys_enc' in args:\n\t\t\tself.sys_enc = args['sys_enc']\n\t\tif 'kb_layout' in args:\n\t\t\tself.kb_layout = args['kb_layout']\n\n\t@classmethod\n\tdef parse_arg(cls, args: dict[str, Any]) -> Self:\n\t\tdefault = cls.default()\n\n\t\tif 'locale_config' in args:\n\t\t\tdefault._load_config(args['locale_config'])\n\t\telse:\n\t\t\tdefault._load_config(args)\n\n\t\treturn default\n"
  },
  {
    "path": "archinstall/lib/models/mirrors.py",
    "content": "from __future__ import annotations\n\nimport datetime\nimport http.client\nimport urllib.error\nimport urllib.parse\nimport urllib.request\nfrom dataclasses import dataclass, field\nfrom enum import Enum\nfrom typing import TYPE_CHECKING, Any, Self, TypedDict, override\n\nfrom pydantic import BaseModel, ValidationInfo, field_validator, model_validator\n\nfrom archinstall.lib.models.packages import Repository\nfrom archinstall.lib.networking import DownloadTimer, ping\nfrom archinstall.lib.output import debug\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.mirror.mirror_handler import MirrorListHandler\n\n\nclass MirrorStatusEntryV3(BaseModel):\n\turl: str\n\tprotocol: str\n\tactive: bool\n\tcountry: str\n\tcountry_code: str\n\tisos: bool\n\tipv4: bool\n\tipv6: bool\n\tdetails: str\n\tdelay: int | None = None\n\tlast_sync: datetime.datetime | None = None\n\tduration_avg: float | None = None\n\tduration_stddev: float | None = None\n\tcompletion_pct: float | None = None\n\tscore: float | None = None\n\t_latency: float | None = None\n\t_speed: float | None = None\n\t_hostname: str | None = None\n\t_port: int | None = None\n\t_speedtest_retries: int | None = None\n\n\t@property\n\tdef server_url(self) -> str:\n\t\treturn f'{self.url}$repo/os/$arch'\n\n\t@property\n\tdef speed(self) -> float:\n\t\tif self._speed is None:\n\t\t\tif not self._speedtest_retries:\n\t\t\t\tself._speedtest_retries = 3\n\t\t\telif self._speedtest_retries < 1:\n\t\t\t\tself._speedtest_retries = 1\n\n\t\t\tretry = 0\n\t\t\twhile retry < self._speedtest_retries and self._speed is None:\n\t\t\t\tdebug(f'Checking download speed of {self._hostname}[{self.score}] by fetching: {self.url}core/os/x86_64/core.db')\n\t\t\t\treq = urllib.request.Request(url=f'{self.url}core/os/x86_64/core.db')\n\n\t\t\t\ttry:\n\t\t\t\t\twith urllib.request.urlopen(req, None, 5) as handle, DownloadTimer(timeout=5) as timer:\n\t\t\t\t\t\tsize = len(handle.read())\n\n\t\t\t\t\tassert timer.time is not None\n\t\t\t\t\tself._speed = size / timer.time\n\t\t\t\t\tdebug(f'\tspeed: {self._speed} ({int(self._speed / 1024 / 1024 * 100) / 100}MiB/s)')\n\t\t\t\t# Do not retry error\n\t\t\t\texcept urllib.error.URLError as error:\n\t\t\t\t\tdebug(f'\tspeed: <undetermined> ({error}), skip')\n\t\t\t\t\tself._speed = 0\n\t\t\t\t# Do retry error\n\t\t\t\texcept (http.client.IncompleteRead, ConnectionResetError) as error:\n\t\t\t\t\tdebug(f'\tspeed: <undetermined> ({error}), retry')\n\t\t\t\t# Catch all\n\t\t\t\texcept Exception as error:\n\t\t\t\t\tdebug(f'\tspeed: <undetermined> ({error}), skip')\n\t\t\t\t\tself._speed = 0\n\n\t\t\t\tretry += 1\n\n\t\t\tif self._speed is None:\n\t\t\t\tself._speed = 0\n\n\t\treturn self._speed\n\n\t@property\n\tdef latency(self) -> float | None:\n\t\t\"\"\"\n\t\tLatency measures the milliseconds between one ICMP request & response.\n\t\tIt only does so once because we check if self._latency is None, and a ICMP timeout result in -1\n\t\tWe do this because some hosts blocks ICMP so we'll have to rely on .speed() instead which is slower.\n\t\t\"\"\"\n\t\tif self._latency is None:\n\t\t\tdebug(f'Checking latency for {self.url}')\n\t\t\tassert self._hostname is not None\n\t\t\tself._latency = ping(self._hostname, timeout=2)\n\t\t\tdebug(f'  latency: {self._latency}')\n\n\t\treturn self._latency\n\n\t@classmethod\n\t@field_validator('score', mode='before')\n\tdef validate_score(cls, value: float) -> int | None:\n\t\tif value is not None:\n\t\t\tvalue = round(value)\n\t\t\tdebug(f'\tscore: {value}')\n\n\t\treturn value\n\n\t@model_validator(mode='after')\n\tdef debug_output(self, info: ValidationInfo) -> Self:\n\t\tself._hostname, *port = urllib.parse.urlparse(self.url).netloc.split(':', 1)\n\t\tself._port = int(port[0]) if port and len(port) >= 1 else None\n\n\t\tif (ctx := info.context) and ctx.get('verbose'):\n\t\t\tdebug(f'Loaded mirror {self._hostname}' + (f' with current score of {self.score}' if self.score else ''))\n\t\treturn self\n\n\nclass MirrorStatusListV3(BaseModel):\n\tcutoff: int\n\tlast_check: datetime.datetime\n\tnum_checks: int\n\turls: list[MirrorStatusEntryV3]\n\tversion: int\n\n\t@model_validator(mode='before')\n\t@classmethod\n\tdef check_model(\n\t\tcls,\n\t\tdata: dict[str, int | datetime.datetime | list[MirrorStatusEntryV3]],\n\t) -> dict[str, int | datetime.datetime | list[MirrorStatusEntryV3]]:\n\t\tif data.get('version') == 3:\n\t\t\treturn data\n\n\t\traise ValueError('MirrorStatusListV3 only accepts version 3 data from https://archlinux.org/mirrors/status/json/')\n\n\n@dataclass\nclass MirrorRegion:\n\tname: str\n\turls: list[str]\n\n\tdef json(self) -> dict[str, list[str]]:\n\t\treturn {self.name: self.urls}\n\n\t@override\n\tdef __eq__(self, other: object) -> bool:\n\t\tif not isinstance(other, MirrorRegion):\n\t\t\treturn NotImplemented\n\t\treturn self.name == other.name\n\n\nclass SignCheck(Enum):\n\tNever = 'Never'\n\tOptional = 'Optional'\n\tRequired = 'Required'\n\n\nclass SignOption(Enum):\n\tTrustedOnly = 'TrustedOnly'\n\tTrustAll = 'TrustAll'\n\n\nclass _CustomRepositorySerialization(TypedDict):\n\tname: str\n\turl: str\n\tsign_check: str\n\tsign_option: str\n\n\n@dataclass\nclass CustomRepository:\n\tname: str\n\turl: str\n\tsign_check: SignCheck\n\tsign_option: SignOption\n\n\tdef table_data(self) -> dict[str, str]:\n\t\treturn {\n\t\t\t'Name': self.name,\n\t\t\t'Url': self.url,\n\t\t\t'Sign check': self.sign_check.value,\n\t\t\t'Sign options': self.sign_option.value,\n\t\t}\n\n\tdef json(self) -> _CustomRepositorySerialization:\n\t\treturn {\n\t\t\t'name': self.name,\n\t\t\t'url': self.url,\n\t\t\t'sign_check': self.sign_check.value,\n\t\t\t'sign_option': self.sign_option.value,\n\t\t}\n\n\t@classmethod\n\tdef parse_args(cls, args: list[dict[str, str]]) -> list[Self]:\n\t\tconfigs = []\n\t\tfor arg in args:\n\t\t\tconfigs.append(\n\t\t\t\tcls(\n\t\t\t\t\targ['name'],\n\t\t\t\t\targ['url'],\n\t\t\t\t\tSignCheck(arg['sign_check']),\n\t\t\t\t\tSignOption(arg['sign_option']),\n\t\t\t\t),\n\t\t\t)\n\n\t\treturn configs\n\n\n@dataclass\nclass CustomServer:\n\turl: str\n\n\tdef table_data(self) -> dict[str, str]:\n\t\treturn {'Url': self.url}\n\n\tdef json(self) -> dict[str, str]:\n\t\treturn {'url': self.url}\n\n\t@classmethod\n\tdef parse_args(cls, args: list[dict[str, str]]) -> list[Self]:\n\t\tconfigs = []\n\t\tfor arg in args:\n\t\t\tconfigs.append(\n\t\t\t\tcls(arg['url']),\n\t\t\t)\n\n\t\treturn configs\n\n\nclass _MirrorConfigurationSerialization(TypedDict):\n\tmirror_regions: dict[str, list[str]]\n\tcustom_servers: list[CustomServer]\n\toptional_repositories: list[str]\n\tcustom_repositories: list[_CustomRepositorySerialization]\n\n\n@dataclass\nclass MirrorConfiguration:\n\tmirror_regions: list[MirrorRegion] = field(default_factory=list)\n\tcustom_servers: list[CustomServer] = field(default_factory=list)\n\toptional_repositories: list[Repository] = field(default_factory=list)\n\tcustom_repositories: list[CustomRepository] = field(default_factory=list)\n\n\t@property\n\tdef region_names(self) -> str:\n\t\treturn '\\n'.join(m.name for m in self.mirror_regions)\n\n\t@property\n\tdef custom_server_urls(self) -> str:\n\t\treturn '\\n'.join(s.url for s in self.custom_servers)\n\n\tdef json(self) -> _MirrorConfigurationSerialization:\n\t\tregions = {}\n\t\tfor m in self.mirror_regions:\n\t\t\tregions.update(m.json())\n\n\t\treturn {\n\t\t\t'mirror_regions': regions,\n\t\t\t'custom_servers': self.custom_servers,\n\t\t\t'optional_repositories': [r.value for r in self.optional_repositories],\n\t\t\t'custom_repositories': [c.json() for c in self.custom_repositories],\n\t\t}\n\n\tdef custom_servers_config(self) -> str:\n\t\tconfig = ''\n\n\t\tif self.custom_servers:\n\t\t\tconfig += '## Custom Servers\\n'\n\t\t\tfor server in self.custom_servers:\n\t\t\t\tconfig += f'Server = {server.url}\\n'\n\n\t\treturn config.strip()\n\n\tdef regions_config(\n\t\tself,\n\t\tmirror_list_handler: MirrorListHandler,\n\t\tspeed_sort: bool = True,\n\t) -> str:\n\t\tconfig = ''\n\n\t\tfor mirror_region in self.mirror_regions:\n\t\t\tsorted_stati = mirror_list_handler.get_status_by_region(\n\t\t\t\tmirror_region.name,\n\t\t\t\tspeed_sort=speed_sort,\n\t\t\t)\n\n\t\t\tconfig += f'\\n\\n## {mirror_region.name}\\n'\n\n\t\t\tfor status in sorted_stati:\n\t\t\t\tconfig += f'Server = {status.server_url}\\n'\n\n\t\treturn config\n\n\tdef repositories_config(self) -> str:\n\t\tconfig = ''\n\n\t\tfor repo in self.custom_repositories:\n\t\t\tconfig += f'\\n\\n[{repo.name}]\\n'\n\t\t\tconfig += f'SigLevel = {repo.sign_check.value} {repo.sign_option.value}\\n'\n\t\t\tconfig += f'Server = {repo.url}\\n'\n\n\t\treturn config\n\n\t@classmethod\n\tdef parse_args(\n\t\tcls,\n\t\targs: dict[str, Any],\n\t\tbackwards_compatible_repo: list[Repository] = [],\n\t) -> Self:\n\t\tconfig = cls()\n\n\t\tmirror_regions = args.get('mirror_regions', [])\n\t\tif mirror_regions:\n\t\t\tfor region, urls in mirror_regions.items():\n\t\t\t\tconfig.mirror_regions.append(MirrorRegion(region, urls))\n\n\t\tif args.get('custom_servers'):\n\t\t\tconfig.custom_servers = CustomServer.parse_args(args['custom_servers'])\n\n\t\t# backwards compatibility with the new custom_repository\n\t\tif 'custom_mirrors' in args:\n\t\t\tconfig.custom_repositories = CustomRepository.parse_args(args['custom_mirrors'])\n\t\tif 'custom_repositories' in args:\n\t\t\tconfig.custom_repositories = CustomRepository.parse_args(args['custom_repositories'])\n\n\t\tif 'optional_repositories' in args:\n\t\t\tconfig.optional_repositories = [Repository(r) for r in args['optional_repositories']]\n\n\t\tif backwards_compatible_repo:\n\t\t\tfor r in backwards_compatible_repo:\n\t\t\t\tif r not in config.optional_repositories:\n\t\t\t\t\tconfig.optional_repositories.append(r)\n\n\t\treturn config\n"
  },
  {
    "path": "archinstall/lib/models/network.py",
    "content": "import re\nfrom dataclasses import dataclass, field\nfrom enum import Enum\nfrom typing import NotRequired, Self, TypedDict, override\n\nfrom archinstall.lib.output import debug\nfrom archinstall.lib.translationhandler import tr\n\n\nclass NicType(Enum):\n\tISO = 'iso'\n\tNM = 'nm'\n\tNM_IWD = 'nm_iwd'\n\tMANUAL = 'manual'\n\n\tdef display_msg(self) -> str:\n\t\tmatch self:\n\t\t\tcase NicType.ISO:\n\t\t\t\treturn tr('Copy ISO network configuration to installation')\n\t\t\tcase NicType.NM:\n\t\t\t\treturn tr('Use Network Manager (default backend)')\n\t\t\tcase NicType.NM_IWD:\n\t\t\t\treturn tr('Use Network Manager (iwd backend)')\n\t\t\tcase NicType.MANUAL:\n\t\t\t\treturn tr('Manual configuration')\n\n\nclass _NicSerialization(TypedDict):\n\tiface: str | None\n\tip: str | None\n\tdhcp: bool\n\tgateway: str | None\n\tdns: list[str]\n\n\n@dataclass\nclass Nic:\n\tiface: str | None = None\n\tip: str | None = None\n\tdhcp: bool = True\n\tgateway: str | None = None\n\tdns: list[str] = field(default_factory=list)\n\n\tdef table_data(self) -> dict[str, str | bool | list[str]]:\n\t\treturn {\n\t\t\t'iface': self.iface if self.iface else '',\n\t\t\t'ip': self.ip if self.ip else '',\n\t\t\t'dhcp': self.dhcp,\n\t\t\t'gateway': self.gateway if self.gateway else '',\n\t\t\t'dns': self.dns,\n\t\t}\n\n\tdef json(self) -> _NicSerialization:\n\t\treturn {\n\t\t\t'iface': self.iface,\n\t\t\t'ip': self.ip,\n\t\t\t'dhcp': self.dhcp,\n\t\t\t'gateway': self.gateway,\n\t\t\t'dns': self.dns,\n\t\t}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: _NicSerialization) -> Self:\n\t\treturn cls(\n\t\t\tiface=arg.get('iface', None),\n\t\t\tip=arg.get('ip', None),\n\t\t\tdhcp=arg.get('dhcp', True),\n\t\t\tgateway=arg.get('gateway', None),\n\t\t\tdns=arg.get('dns', []),\n\t\t)\n\n\tdef as_systemd_config(self) -> str:\n\t\tmatch: list[tuple[str, str]] = []\n\t\tnetwork: list[tuple[str, str]] = []\n\n\t\tif self.iface:\n\t\t\tmatch.append(('Name', self.iface))\n\n\t\tif self.dhcp:\n\t\t\tnetwork.append(('DHCP', 'yes'))\n\t\telse:\n\t\t\tif self.ip:\n\t\t\t\tnetwork.append(('Address', self.ip))\n\t\t\tif self.gateway:\n\t\t\t\tnetwork.append(('Gateway', self.gateway))\n\t\t\tfor dns in self.dns:\n\t\t\t\tnetwork.append(('DNS', dns))\n\n\t\tconfig = {'Match': match, 'Network': network}\n\n\t\tconfig_str = ''\n\t\tfor top, entries in config.items():\n\t\t\tconfig_str += f'[{top}]\\n'\n\t\t\tconfig_str += '\\n'.join(f'{k}={v}' for k, v in entries)\n\t\t\tconfig_str += '\\n\\n'\n\n\t\treturn config_str\n\n\nclass _NetworkConfigurationSerialization(TypedDict):\n\ttype: str\n\tnics: NotRequired[list[_NicSerialization]]\n\n\n@dataclass\nclass NetworkConfiguration:\n\ttype: NicType\n\tnics: list[Nic] = field(default_factory=list)\n\n\tdef json(self) -> _NetworkConfigurationSerialization:\n\t\tconfig: _NetworkConfigurationSerialization = {'type': self.type.value}\n\t\tif self.nics:\n\t\t\tconfig['nics'] = [n.json() for n in self.nics]\n\n\t\treturn config\n\n\t@classmethod\n\tdef parse_arg(cls, config: _NetworkConfigurationSerialization) -> Self | None:\n\t\tnic_type = config.get('type', None)\n\t\tif not nic_type:\n\t\t\treturn None\n\n\t\tmatch NicType(nic_type):\n\t\t\tcase NicType.ISO:\n\t\t\t\treturn cls(NicType.ISO)\n\t\t\tcase NicType.NM:\n\t\t\t\treturn cls(NicType.NM)\n\t\t\tcase NicType.MANUAL:\n\t\t\t\tnics_arg = config.get('nics', [])\n\t\t\t\tif nics_arg:\n\t\t\t\t\tnics = [Nic.parse_arg(n) for n in nics_arg]\n\t\t\t\t\treturn cls(NicType.MANUAL, nics)\n\n\t\treturn None\n\n\n@dataclass\nclass WifiNetwork:\n\tbssid: str\n\tfrequency: str\n\tsignal_level: str\n\tflags: str\n\tssid: str\n\n\t@override\n\tdef __hash__(self) -> int:\n\t\treturn hash((self.bssid, self.frequency, self.signal_level, self.flags, self.ssid))\n\n\tdef table_data(self) -> dict[str, str | int]:\n\t\t\"\"\"Format WiFi data for table display\"\"\"\n\t\treturn {\n\t\t\t'SSID': self.ssid,\n\t\t\t'Signal': f'{self.signal_level} dBm',\n\t\t\t'Frequency': f'{self.frequency} MHz',\n\t\t\t'Security': self.flags,\n\t\t\t'BSSID': self.bssid,\n\t\t}\n\n\t@classmethod\n\tdef from_wpa(cls, results: str) -> list[Self]:\n\t\tentries = []\n\n\t\tfor line in results.splitlines():\n\t\t\tline = line.strip()\n\t\t\tif not line:\n\t\t\t\tcontinue\n\n\t\t\tparts = line.split()\n\t\t\tif len(parts) != 5:\n\t\t\t\tcontinue\n\n\t\t\twifi = cls(bssid=parts[0], frequency=parts[1], signal_level=parts[2], flags=parts[3], ssid=parts[4])\n\t\t\tentries.append(wifi)\n\n\t\treturn entries\n\n\n@dataclass\nclass WifiConfiguredNetwork:\n\tnetwork_id: int\n\tssid: str\n\tbssid: str\n\tflags: list[str]\n\n\t@classmethod\n\tdef from_wpa_cli_output(cls, list_networks: str) -> list[Self]:\n\t\t\"\"\"\n\t\tExample output from 'wpa_cli list_networks'\n\n\t\tSelected interface 'wlan0'\n\t\tnetwork id / ssid / bssid / flags\n\t\t0\tWifiGuest any\t[CURRENT]\n\t\t1\t\tany [DISABLED]\n\t\t2\t\tany [DISABLED]\n\t\t\"\"\"\n\n\t\tlines = list_networks.strip().splitlines()\n\t\tlines = lines[1:]  # remove the header row from the wpa_cli output\n\n\t\tnetworks = []\n\n\t\tfor line in lines:\n\t\t\tline = line.strip()\n\t\t\tparts = line.split('\\t')\n\n\t\t\tif len(parts) < 3:\n\t\t\t\tcontinue\n\n\t\t\ttry:\n\t\t\t\t# flags = cls._extract_flags(parts[3])\n\t\t\t\tflags: list[str] = []\n\n\t\t\t\tnetworks.append(\n\t\t\t\t\tcls(\n\t\t\t\t\t\tnetwork_id=int(parts[0]),\n\t\t\t\t\t\tssid=parts[1],\n\t\t\t\t\t\tbssid=parts[2],\n\t\t\t\t\t\tflags=flags,\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\texcept (ValueError, IndexError):\n\t\t\t\tdebug('Parsing error for network output')\n\n\t\treturn networks\n\n\t@staticmethod\n\tdef _extract_flags(flag_string: str) -> list[str]:\n\t\tpattern = r'\\[([^\\]]+)\\]'\n\n\t\textracted_values = re.findall(pattern, flag_string)\n\n\t\treturn extracted_values\n"
  },
  {
    "path": "archinstall/lib/models/packages.py",
    "content": "from dataclasses import dataclass, field\nfrom enum import Enum\nfrom functools import cached_property\nfrom typing import Any, Self, override\n\nfrom pydantic import BaseModel\n\nfrom archinstall.lib.translationhandler import tr\n\n\nclass Repository(Enum):\n\tCore = 'core'\n\tExtra = 'extra'\n\tMultilib = 'multilib'\n\tTesting = 'testing'\n\tMultilibTesting = 'multilib-testing'\n\tCoreTesting = 'core-testing'\n\tExtraTesting = 'extra-testing'\n\n\n@dataclass\nclass PackageSearchResult:\n\tpkgname: str\n\tpkgbase: str\n\trepo: str\n\tarch: str\n\tpkgver: str\n\tpkgrel: str\n\tepoch: int\n\tpkgdesc: str\n\turl: str\n\tfilename: str\n\tcompressed_size: int\n\tinstalled_size: int\n\tbuild_date: str\n\tlast_update: str\n\tflag_date: str | None\n\tmaintainers: list[str]\n\tpackager: str\n\tgroups: list[str]\n\tlicenses: list[str]\n\tconflicts: list[str]\n\tprovides: list[str]\n\treplaces: list[str]\n\tdepends: list[str]\n\toptdepends: list[str]\n\tmakedepends: list[str]\n\tcheckdepends: list[str]\n\n\t@classmethod\n\tdef from_json(cls, data: dict[str, Any]) -> Self:\n\t\treturn cls(**data)\n\n\t@property\n\tdef pkg_version(self) -> str:\n\t\treturn self.pkgver\n\n\t@override\n\tdef __eq__(self, other: object) -> bool:\n\t\tif not isinstance(other, PackageSearchResult):\n\t\t\treturn NotImplemented\n\n\t\treturn self.pkg_version == other.pkg_version\n\n\tdef __lt__(self, other: Self) -> bool:\n\t\treturn self.pkg_version < other.pkg_version\n\n\n@dataclass\nclass PackageSearch:\n\tversion: int\n\tlimit: int\n\tvalid: bool\n\tnum_pages: int\n\tpage: int\n\tresults: list[PackageSearchResult]\n\n\t@classmethod\n\tdef from_json(cls, data: dict[str, Any]) -> Self:\n\t\tresults = [PackageSearchResult.from_json(r) for r in data['results']]\n\n\t\treturn cls(\n\t\t\tversion=data['version'],\n\t\t\tlimit=data['limit'],\n\t\t\tvalid=data['valid'],\n\t\t\tnum_pages=data['num_pages'],\n\t\t\tpage=data['page'],\n\t\t\tresults=results,\n\t\t)\n\n\nclass LocalPackage(BaseModel):\n\tname: str\n\tversion: str\n\tdescription: str\n\tarchitecture: str\n\turl: str\n\tlicenses: str\n\tgroups: str\n\n\t@override\n\tdef __eq__(self, other: object) -> bool:\n\t\tif not isinstance(other, LocalPackage):\n\t\t\treturn NotImplemented\n\n\t\treturn self.version == other.version\n\n\tdef __lt__(self, other: Self) -> bool:\n\t\treturn self.version < other.version\n\n\nclass AvailablePackage(BaseModel):\n\tname: str\n\tarchitecture: str\n\tbuild_date: str\n\tdepends_on: str\n\tdescription: str\n\tdownload_size: str\n\tgroups: str\n\tinstalled_size: str\n\tlicenses: str\n\toptional_deps: str\n\tpackager: str\n\tprovides: str\n\treplaces: str\n\trepository: str\n\turl: str\n\tvalidated_by: str\n\tversion: str\n\n\t@cached_property\n\tdef longest_key(self) -> int:\n\t\treturn max(len(key) for key in self.model_dump().keys())\n\n\t# return all package info line by line\n\tdef info(self) -> str:\n\t\toutput = ''\n\t\tfor key, value in self.model_dump().items():\n\t\t\tkey = key.replace('_', ' ').capitalize()\n\t\t\tkey = key.ljust(self.longest_key)\n\t\t\toutput += f'{key} : {value}\\n'\n\n\t\treturn output\n\n\n@dataclass\nclass PackageGroup:\n\tname: str\n\tpackages: list[str] = field(default_factory=list)\n\n\t@classmethod\n\tdef from_available_packages(\n\t\tcls,\n\t\tpackages: dict[str, AvailablePackage],\n\t) -> dict[str, Self]:\n\t\tpkg_groups: dict[str, Self] = {}\n\n\t\tfor pkg in packages.values():\n\t\t\tif 'None' in pkg.groups:\n\t\t\t\tcontinue\n\n\t\t\tgroups = pkg.groups.split(' ')\n\n\t\t\tfor group in groups:\n\t\t\t\t# same group names have multiple spaces in between\n\t\t\t\tif len(group) == 0:\n\t\t\t\t\tcontinue\n\n\t\t\t\tpkg_groups.setdefault(group, cls(group))\n\t\t\t\tpkg_groups[group].packages.append(pkg.name)\n\n\t\treturn pkg_groups\n\n\tdef info(self) -> str:\n\t\toutput = tr('Package group:') + '\\n  - '\n\t\toutput += '\\n  - '.join(self.packages)\n\t\treturn output\n"
  },
  {
    "path": "archinstall/lib/models/profile.py",
    "content": "from __future__ import annotations\n\nfrom dataclasses import dataclass\nfrom typing import TYPE_CHECKING, Self, TypedDict\n\nfrom archinstall.default_profiles.profile import GreeterType, Profile\nfrom archinstall.lib.hardware import GfxDriver\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.profile.profiles_handler import ProfileSerialization\n\n\nclass _ProfileConfigurationSerialization(TypedDict):\n\tprofile: ProfileSerialization\n\tgfx_driver: str | None\n\tgreeter: str | None\n\n\n@dataclass\nclass ProfileConfiguration:\n\tprofile: Profile | None = None\n\tgfx_driver: GfxDriver | None = None\n\tgreeter: GreeterType | None = None\n\n\tdef json(self) -> _ProfileConfigurationSerialization:\n\t\tfrom archinstall.lib.profile.profiles_handler import profile_handler\n\n\t\treturn {\n\t\t\t'profile': profile_handler.to_json(self.profile),\n\t\t\t'gfx_driver': self.gfx_driver.value if self.gfx_driver else None,\n\t\t\t'greeter': self.greeter.value if self.greeter else None,\n\t\t}\n\n\t@classmethod\n\tdef parse_arg(cls, arg: _ProfileConfigurationSerialization) -> Self:\n\t\tfrom archinstall.lib.profile.profiles_handler import profile_handler\n\n\t\tprofile = profile_handler.parse_profile_config(arg['profile'])\n\t\tgreeter = arg.get('greeter', None)\n\t\tgfx_driver = arg.get('gfx_driver', None)\n\n\t\treturn cls(\n\t\t\tprofile,\n\t\t\tGfxDriver(gfx_driver) if gfx_driver else None,\n\t\t\tGreeterType(greeter) if greeter else None,\n\t\t)\n"
  },
  {
    "path": "archinstall/lib/models/users.py",
    "content": "from dataclasses import dataclass, field\nfrom enum import Enum\nfrom typing import NotRequired, Self, TypedDict, override\n\nfrom archinstall.lib.crypt import crypt_yescrypt\nfrom archinstall.lib.translationhandler import tr\n\n\nclass PasswordStrength(Enum):\n\tVERY_WEAK = 'very weak'\n\tWEAK = 'weak'\n\tMODERATE = 'moderate'\n\tSTRONG = 'strong'\n\n\t@property\n\t@override\n\tdef value(self) -> str:  # pylint: disable=invalid-overridden-method\n\t\tmatch self:\n\t\t\tcase PasswordStrength.VERY_WEAK:\n\t\t\t\treturn tr('very weak')\n\t\t\tcase PasswordStrength.WEAK:\n\t\t\t\treturn tr('weak')\n\t\t\tcase PasswordStrength.MODERATE:\n\t\t\t\treturn tr('moderate')\n\t\t\tcase PasswordStrength.STRONG:\n\t\t\t\treturn tr('strong')\n\n\tdef color(self) -> str:\n\t\tmatch self:\n\t\t\tcase PasswordStrength.VERY_WEAK:\n\t\t\t\treturn 'red'\n\t\t\tcase PasswordStrength.WEAK:\n\t\t\t\treturn 'red'\n\t\t\tcase PasswordStrength.MODERATE:\n\t\t\t\treturn 'yellow'\n\t\t\tcase PasswordStrength.STRONG:\n\t\t\t\treturn 'green'\n\n\t@classmethod\n\tdef strength(cls, password: str) -> Self:\n\t\tdigit = any(character.isdigit() for character in password)\n\t\tupper = any(character.isupper() for character in password)\n\t\tlower = any(character.islower() for character in password)\n\t\tsymbol = any(not character.isalnum() for character in password)\n\t\treturn cls._check_password_strength(digit, upper, lower, symbol, len(password))\n\n\t@classmethod\n\tdef _check_password_strength(\n\t\tcls,\n\t\tdigit: bool,\n\t\tupper: bool,\n\t\tlower: bool,\n\t\tsymbol: bool,\n\t\tlength: int,\n\t) -> Self:\n\t\t# suggested evaluation\n\t\t# https://github.com/archlinux/archinstall/issues/1304#issuecomment-1146768163\n\t\tif digit and upper and lower and symbol:\n\t\t\tmatch length:\n\t\t\t\tcase num if 13 <= num:\n\t\t\t\t\treturn cls.STRONG\n\t\t\t\tcase num if 11 <= num <= 12:\n\t\t\t\t\treturn cls.MODERATE\n\t\t\t\tcase num if 7 <= num <= 10:\n\t\t\t\t\treturn cls.WEAK\n\t\t\t\tcase num if num <= 6:\n\t\t\t\t\treturn cls.VERY_WEAK\n\t\telif digit and upper and lower:\n\t\t\tmatch length:\n\t\t\t\tcase num if 14 <= num:\n\t\t\t\t\treturn cls.STRONG\n\t\t\t\tcase num if 11 <= num <= 13:\n\t\t\t\t\treturn cls.MODERATE\n\t\t\t\tcase num if 7 <= num <= 10:\n\t\t\t\t\treturn cls.WEAK\n\t\t\t\tcase num if num <= 6:\n\t\t\t\t\treturn cls.VERY_WEAK\n\t\telif upper and lower:\n\t\t\tmatch length:\n\t\t\t\tcase num if 15 <= num:\n\t\t\t\t\treturn cls.STRONG\n\t\t\t\tcase num if 12 <= num <= 14:\n\t\t\t\t\treturn cls.MODERATE\n\t\t\t\tcase num if 7 <= num <= 11:\n\t\t\t\t\treturn cls.WEAK\n\t\t\t\tcase num if num <= 6:\n\t\t\t\t\treturn cls.VERY_WEAK\n\t\telif lower or upper:\n\t\t\tmatch length:\n\t\t\t\tcase num if 18 <= num:\n\t\t\t\t\treturn cls.STRONG\n\t\t\t\tcase num if 14 <= num <= 17:\n\t\t\t\t\treturn cls.MODERATE\n\t\t\t\tcase num if 9 <= num <= 13:\n\t\t\t\t\treturn cls.WEAK\n\t\t\t\tcase num if num <= 8:\n\t\t\t\t\treturn cls.VERY_WEAK\n\n\t\treturn cls.VERY_WEAK\n\n\nUserSerialization = TypedDict(\n\t'UserSerialization',\n\t{\n\t\t'username': str,\n\t\t'!password': NotRequired[str],\n\t\t'sudo': bool,\n\t\t'groups': list[str],\n\t\t'enc_password': str | None,\n\t},\n)\n\n\nclass Password:\n\tdef __init__(\n\t\tself,\n\t\tplaintext: str = '',\n\t\tenc_password: str | None = None,\n\t):\n\t\tif plaintext:\n\t\t\tenc_password = crypt_yescrypt(plaintext)\n\n\t\tif not plaintext and not enc_password:\n\t\t\traise ValueError('Either plaintext or enc_password must be provided')\n\n\t\tself._plaintext = plaintext\n\t\tself.enc_password = enc_password\n\n\t@property\n\tdef plaintext(self) -> str:\n\t\treturn self._plaintext\n\n\t@plaintext.setter\n\tdef plaintext(self, value: str) -> None:\n\t\tself._plaintext = value\n\t\tself.enc_password = crypt_yescrypt(value)\n\n\t@override\n\tdef __eq__(self, other: object) -> bool:\n\t\tif not isinstance(other, Password):\n\t\t\treturn NotImplemented\n\n\t\tif self._plaintext and other._plaintext:\n\t\t\treturn self._plaintext == other._plaintext\n\n\t\treturn self.enc_password == other.enc_password\n\n\tdef hidden(self) -> str:\n\t\tif self._plaintext:\n\t\t\treturn '*' * len(self._plaintext)\n\t\telse:\n\t\t\treturn '*' * 8\n\n\n@dataclass\nclass User:\n\tusername: str\n\tpassword: Password\n\tsudo: bool\n\tgroups: list[str] = field(default_factory=list)\n\n\t@override\n\tdef __str__(self) -> str:\n\t\t# safety overwrite to make sure password is not leaked\n\t\treturn f'User({self.username=}, {self.sudo=}, {self.groups=})'\n\n\tdef table_data(self) -> dict[str, str | bool | list[str]]:\n\t\treturn {\n\t\t\t'username': self.username,\n\t\t\t'password': self.password.hidden(),\n\t\t\t'sudo': self.sudo,\n\t\t\t'groups': self.groups,\n\t\t}\n\n\tdef json(self) -> UserSerialization:\n\t\treturn {\n\t\t\t'username': self.username,\n\t\t\t'enc_password': self.password.enc_password,\n\t\t\t'sudo': self.sudo,\n\t\t\t'groups': self.groups,\n\t\t}\n\n\t@classmethod\n\tdef parse_arguments(\n\t\tcls,\n\t\targs: list[UserSerialization],\n\t) -> list[Self]:\n\t\tusers = []\n\n\t\tfor entry in args:\n\t\t\tusername = entry.get('username')\n\t\t\tpassword: Password | None = None\n\t\t\tgroups = entry.get('groups', [])\n\t\t\tplaintext = entry.get('!password')\n\t\t\tenc_password = entry.get('enc_password')\n\n\t\t\t# DEPRECATED: backwards compatibility\n\t\t\tif plaintext:\n\t\t\t\tpassword = Password(plaintext=plaintext)\n\t\t\telif enc_password:\n\t\t\t\tpassword = Password(enc_password=enc_password)\n\n\t\t\tif not username or password is None:\n\t\t\t\tcontinue\n\n\t\t\tuser = cls(\n\t\t\t\tusername=username,\n\t\t\t\tpassword=password,\n\t\t\t\tsudo=entry.get('sudo', False) is True,\n\t\t\t\tgroups=groups,\n\t\t\t)\n\n\t\t\tusers.append(user)\n\n\t\treturn users\n"
  },
  {
    "path": "archinstall/lib/network/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/network/network_handler.py",
    "content": "from archinstall.lib.installer import Installer\nfrom archinstall.lib.models.network import NetworkConfiguration, NicType\nfrom archinstall.lib.models.profile import ProfileConfiguration\n\n\ndef install_network_config(\n\tnetwork_config: NetworkConfiguration,\n\tinstallation: Installer,\n\tprofile_config: ProfileConfiguration | None = None,\n) -> None:\n\tmatch network_config.type:\n\t\tcase NicType.ISO:\n\t\t\t_ = installation.copy_iso_network_config(\n\t\t\t\tenable_services=True,  # Sources the ISO network configuration to the install medium.\n\t\t\t)\n\t\tcase NicType.NM | NicType.NM_IWD:\n\t\t\tpackages = ['networkmanager']\n\n\t\t\tif network_config.type == NicType.NM:\n\t\t\t\tpackages.append('wpa_supplicant')\n\t\t\telse:\n\t\t\t\tpackages.append('iwd')\n\n\t\t\tif profile_config and profile_config.profile:\n\t\t\t\tif profile_config.profile.is_desktop_profile():\n\t\t\t\t\tpackages.append('network-manager-applet')\n\n\t\t\tinstallation.add_additional_packages(packages)\n\t\t\tinstallation.enable_service('NetworkManager.service')\n\n\t\t\tif network_config.type == NicType.NM_IWD:\n\t\t\t\t_configure_nm_iwd(installation)\n\t\t\t\tinstallation.disable_service('iwd.service')\n\n\t\tcase NicType.MANUAL:\n\t\t\tfor nic in network_config.nics:\n\t\t\t\tinstallation.configure_nic(nic)\n\t\t\tinstallation.enable_service('systemd-networkd')\n\t\t\tinstallation.enable_service('systemd-resolved')\n\n\ndef _configure_nm_iwd(installation: Installer) -> None:\n\tnm_conf_dir = installation.target / 'etc/NetworkManager/conf.d'\n\tnm_conf_dir.mkdir(parents=True, exist_ok=True)\n\n\tiwd_backend_conf = nm_conf_dir / 'wifi_backend.conf'\n\t_ = iwd_backend_conf.write_text('[device]\\nwifi.backend=iwd\\n')\n"
  },
  {
    "path": "archinstall/lib/network/network_menu.py",
    "content": "import ipaddress\nfrom typing import assert_never, override\n\nfrom archinstall.lib.menu.helpers import Input, Selection\nfrom archinstall.lib.menu.list_manager import ListManager\nfrom archinstall.lib.models.network import NetworkConfiguration, Nic, NicType\nfrom archinstall.lib.networking import list_interfaces\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass ManualNetworkConfig(ListManager[Nic]):\n\tdef __init__(self, prompt: str, preset: list[Nic]):\n\t\tself._actions = [\n\t\t\ttr('Add interface'),\n\t\t\ttr('Edit interface'),\n\t\t\ttr('Delete interface'),\n\t\t]\n\n\t\tsuper().__init__(\n\t\t\tpreset,\n\t\t\t[self._actions[0]],\n\t\t\tself._actions[1:],\n\t\t\tprompt,\n\t\t)\n\n\tasync def show(self) -> list[Nic] | None:\n\t\treturn await super()._run()\n\n\t@override\n\tdef selected_action_display(self, selection: Nic) -> str:\n\t\treturn selection.iface if selection.iface else ''\n\n\t@override\n\tasync def handle_action(self, action: str, entry: Nic | None, data: list[Nic]) -> list[Nic]:\n\t\tif action == self._actions[0]:  # add\n\t\t\tiface = await self._select_iface(data)\n\t\t\tif iface:\n\t\t\t\tnic = Nic(iface=iface)\n\t\t\t\tnic = await self._edit_iface(nic)\n\t\t\t\tdata += [nic]\n\t\telif entry:\n\t\t\tif action == self._actions[1]:  # edit interface\n\t\t\t\tdata = [d for d in data if d.iface != entry.iface]\n\t\t\t\tnic = await self._edit_iface(entry)\n\t\t\t\tdata.append(nic)\n\t\t\telif action == self._actions[2]:  # delete\n\t\t\t\tdata = [d for d in data if d != entry]\n\n\t\treturn data\n\n\tasync def _select_iface(self, data: list[Nic]) -> str | None:\n\t\tall_ifaces = list_interfaces().values()\n\t\texisting_ifaces = [d.iface for d in data]\n\t\tavailable = set(all_ifaces) - set(existing_ifaces)\n\n\t\tif not available:\n\t\t\treturn None\n\n\t\tif not available:\n\t\t\treturn None\n\n\t\titems = [MenuItem(i, value=i) for i in available]\n\t\tgroup = MenuItemGroup(items, sort_items=True)\n\n\t\tresult = await Selection[str](\n\t\t\tgroup,\n\t\t\theader=tr('Select an interface'),\n\t\t\tallow_skip=True,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn None\n\t\t\tcase ResultType.Selection:\n\t\t\t\treturn result.get_value()\n\t\t\tcase ResultType.Reset:\n\t\t\t\traise ValueError('Unhandled result type')\n\n\tasync def _get_ip_address(self, header: str, allow_skip: bool, multi: bool, preset: str | None = None, allow_empty: bool = False) -> str | None:\n\t\tdef validator(ip: str | None) -> str | None:\n\t\t\tfailure = tr('You need to enter a valid IP in IP-config mode')\n\n\t\t\tif not ip:\n\t\t\t\tif allow_empty:\n\t\t\t\t\treturn None\n\t\t\t\treturn failure\n\n\t\t\tif multi:\n\t\t\t\tips = ip.split(' ')\n\t\t\telse:\n\t\t\t\tips = [ip]\n\n\t\t\ttry:\n\t\t\t\tfor ip in ips:\n\t\t\t\t\tipaddress.ip_interface(ip)\n\t\t\t\treturn None\n\t\t\texcept ValueError:\n\t\t\t\treturn failure\n\n\t\tresult = await Input(\n\t\t\theader=header,\n\t\t\tvalidator_callback=validator,\n\t\t\tallow_skip=allow_skip,\n\t\t\tdefault_value=preset,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase ResultType.Selection:\n\t\t\t\treturn result.get_value()\n\t\t\tcase ResultType.Reset:\n\t\t\t\traise ValueError('Unhandled result type')\n\n\tasync def _edit_iface(self, edit_nic: Nic) -> Nic:\n\t\tiface_name = edit_nic.iface\n\t\tmodes = ['DHCP (auto detect)', 'IP (static)']\n\t\tdefault_mode = 'DHCP (auto detect)'\n\n\t\theader = tr('Select which mode to configure for \"{}\"').format(iface_name)\n\n\t\titems = [MenuItem(m, value=m) for m in modes]\n\t\tgroup = MenuItemGroup(items, sort_items=True)\n\t\tgroup.set_default_by_value(default_mode)\n\n\t\tresult = await Selection[str](\n\t\t\tgroup,\n\t\t\theader=header,\n\t\t\tallow_skip=False,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\tmode = result.get_value()\n\t\t\tcase ResultType.Reset:\n\t\t\t\traise ValueError('Unhandled result type')\n\t\t\tcase ResultType.Skip:\n\t\t\t\traise ValueError('The mode menu should not be skippable')\n\t\t\tcase _:\n\t\t\t\tassert_never(result.type_)\n\n\t\tif mode == 'IP (static)':\n\t\t\theader = tr('Enter the IP and subnet for {} (example: 192.168.0.5/24): ').format(iface_name) + '\\n'\n\t\t\tip = await self._get_ip_address(header, False, False)\n\n\t\t\theader = tr('Enter your gateway (router) IP address (leave blank for none)') + '\\n'\n\t\t\tgateway = await self._get_ip_address(header, True, False, allow_empty=True)\n\n\t\t\tif edit_nic.dns:\n\t\t\t\tdisplay_dns = ' '.join(edit_nic.dns)\n\t\t\telse:\n\t\t\t\tdisplay_dns = None\n\n\t\t\theader = tr('Enter your DNS servers with space separated (leave blank for none)') + '\\n'\n\t\t\tdns_servers = await self._get_ip_address(header, True, True, display_dns, allow_empty=True)\n\n\t\t\tdns = []\n\t\t\tif dns_servers is not None:\n\t\t\t\tdns = dns_servers.split(' ')\n\n\t\t\treturn Nic(iface=iface_name, ip=ip, gateway=gateway, dns=dns, dhcp=False)\n\t\telse:\n\t\t\t# this will contain network iface names\n\t\t\treturn Nic(iface=iface_name)\n\n\nasync def select_network(preset: NetworkConfiguration | None) -> NetworkConfiguration | None:\n\t\"\"\"\n\tConfigure the network on the newly installed system\n\t\"\"\"\n\n\titems = [MenuItem(n.display_msg(), value=n) for n in NicType]\n\tgroup = MenuItemGroup(items, sort_items=True)\n\n\tif preset:\n\t\tgroup.set_selected_by_value(preset.type)\n\n\tresult = await Selection[NicType](\n\t\tgroup,\n\t\theader=tr('Choose network configuration'),\n\t\tallow_reset=True,\n\t\tallow_skip=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n\t\tcase ResultType.Selection:\n\t\t\tconfig = result.get_value()\n\n\t\t\tmatch config:\n\t\t\t\tcase NicType.ISO:\n\t\t\t\t\treturn NetworkConfiguration(NicType.ISO)\n\t\t\t\tcase NicType.NM:\n\t\t\t\t\treturn NetworkConfiguration(NicType.NM)\n\t\t\t\tcase NicType.NM_IWD:\n\t\t\t\t\treturn NetworkConfiguration(NicType.NM_IWD)\n\t\t\t\tcase NicType.MANUAL:\n\t\t\t\t\tpreset_nics = preset.nics if preset else []\n\t\t\t\t\tnics = await ManualNetworkConfig(tr('Configure interfaces'), preset_nics).show()\n\n\t\t\t\t\tif nics:\n\t\t\t\t\t\treturn NetworkConfiguration(NicType.MANUAL, nics)\n\n\treturn preset\n"
  },
  {
    "path": "archinstall/lib/network/wifi_handler.py",
    "content": "from asyncio import sleep\nfrom dataclasses import dataclass\nfrom pathlib import Path\nfrom typing import assert_never, override\n\nfrom archinstall.lib.command import SysCommand\nfrom archinstall.lib.exceptions import SysCallError\nfrom archinstall.lib.models.network import WifiConfiguredNetwork, WifiNetwork\nfrom archinstall.lib.network.wpa_supplicant import WpaSupplicantConfig\nfrom archinstall.lib.output import debug\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.components import ConfirmationScreen, InputScreen, InstanceRunnable, LoadingScreen, NotifyScreen, TableSelectionScreen, tui\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import Result, ResultType\n\n\n@dataclass\nclass WpaCliResult:\n\tsuccess: bool\n\tresponse: str | None = None\n\terror: str | None = None\n\n\nclass WifiHandler(InstanceRunnable[bool]):\n\tdef __init__(self) -> None:\n\t\tself._wpa_config: WpaSupplicantConfig = WpaSupplicantConfig()\n\n\t@override\n\tasync def run(self) -> bool | None:\n\t\t\"\"\"\n\t\tThis is the entry point that is called by components.TApp\n\t\t\"\"\"\n\t\twifi_iface = self._find_wifi_interface()\n\n\t\tif not wifi_iface:\n\t\t\tdebug('No wifi interface found')\n\t\t\treturn False\n\n\t\tprompt = tr('No network connection found') + '\\n\\n'\n\t\tprompt += tr('Would you like to connect to a Wifi?') + '\\n'\n\n\t\tresult = await ConfirmationScreen[bool](\n\t\t\tMenuItemGroup.yes_no(),\n\t\t\theader=prompt,\n\t\t\tallow_skip=True,\n\t\t\tallow_reset=True,\n\t\t).run()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\tif result.get_value() is False:\n\t\t\t\t\treturn False\n\t\t\tcase ResultType.Skip | ResultType.Reset:\n\t\t\t\treturn False\n\n\t\tsetup_result = await self._setup_wifi(wifi_iface)\n\t\treturn setup_result\n\n\tasync def _enable_supplicant(self, wifi_iface: str) -> bool:\n\t\tself._wpa_config.load_config()\n\n\t\tresult = self._wpa_cli('status')  # if it it's running it will blow up\n\n\t\tif result.success:\n\t\t\tdebug('wpa_supplicant already running')\n\t\t\treturn True\n\n\t\tif result.error and 'failed to connect to non-global ctrl_ifname'.lower() not in result.error.lower():\n\t\t\tdebug('Unexpected wpa_cli failure')\n\t\t\treturn False\n\n\t\tdebug('wpa_supplicant not running, trying to enable')\n\n\t\ttry:\n\t\t\tSysCommand(f'wpa_supplicant -B -i {wifi_iface} -c {self._wpa_config.config_file}')\n\t\t\tresult = self._wpa_cli('status')  # if it it's running it will blow up\n\n\t\t\tif result.success:\n\t\t\t\tdebug('successfully enabled wpa_supplicant')\n\t\t\t\treturn True\n\t\t\telse:\n\t\t\t\tdebug(f'failed to enable wpa_supplicant: {result.error}')\n\t\t\t\treturn False\n\t\texcept SysCallError as err:\n\t\t\tdebug(f'failed to enable wpa_supplicant: {err}')\n\t\t\treturn False\n\n\tdef _find_wifi_interface(self) -> str | None:\n\t\tnet_path = Path('/sys/class/net')\n\n\t\tfor iface in net_path.iterdir():\n\t\t\tmaybe_wireless_path = net_path / iface / 'wireless'\n\t\t\tif maybe_wireless_path.is_dir():\n\t\t\t\treturn iface.name\n\n\t\treturn None\n\n\tasync def _setup_wifi(self, wifi_iface: str) -> bool:\n\t\tdebug('Setting up wifi')\n\n\t\tif not await self._enable_supplicant(wifi_iface):\n\t\t\tdebug('Failed to enable wpa_supplicant')\n\t\t\treturn False\n\n\t\tif not wifi_iface:\n\t\t\tdebug('No wifi interface found')\n\t\t\tawait NotifyScreen(header=tr('No wifi interface found')).run()\n\t\t\treturn False\n\n\t\tdebug(f'Found wifi interface: {wifi_iface}')\n\n\t\tasync def get_wifi_networks() -> MenuItemGroup:\n\t\t\tdebug('Scanning Wifi networks')\n\t\t\tresult = self._wpa_cli('scan', wifi_iface)\n\n\t\t\tif not result.success:\n\t\t\t\tdebug(f'Failed to scan wifi networks: {result.error}')\n\t\t\t\treturn MenuItemGroup([])\n\n\t\t\tawait sleep(5)\n\t\t\twifi_networks = self._get_scan_results(wifi_iface)\n\n\t\t\titems = [MenuItem(network.ssid, value=network) for network in wifi_networks]\n\t\t\treturn MenuItemGroup(items)\n\n\t\tresult = await TableSelectionScreen[WifiNetwork](\n\t\t\theader=tr('Select wifi network to connect to'),\n\t\t\tloading_header=tr('Scanning wifi networks...'),\n\t\t\tgroup_callback=get_wifi_networks,\n\t\t\tallow_skip=True,\n\t\t\tallow_reset=True,\n\t\t).run()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\tif not result.has_data():\n\t\t\t\t\tdebug('No networks found')\n\t\t\t\t\tawait NotifyScreen(header=tr('No wifi networks found')).run()\n\t\t\t\t\ttui.exit(Result.false())\n\t\t\t\t\treturn False\n\n\t\t\t\tnetwork = result.get_value()\n\t\t\tcase ResultType.Skip | ResultType.Reset:\n\t\t\t\ttui.exit(Result.false())\n\t\t\t\treturn False\n\t\t\tcase _:\n\t\t\t\tassert_never(result.type_)\n\n\t\texisting_network = self._wpa_config.get_existing_network(network.ssid)\n\t\texisting_psk = existing_network.psk if existing_network else None\n\t\tpsk = await self._prompt_psk(existing_psk)\n\n\t\tif not psk:\n\t\t\tdebug('No password specified')\n\t\t\treturn False\n\n\t\tself._wpa_config.set_network(network, psk)\n\t\tself._wpa_config.write_config()\n\n\t\twpa_result = self._wpa_cli('reconfigure')\n\n\t\tif not wpa_result.success:\n\t\t\tdebug(f'Failed to reconfigure wpa_supplicant: {wpa_result.error}')\n\t\t\tawait self._notify_failure()\n\t\t\treturn False\n\n\t\tawait LoadingScreen(timer=3, header='Setting up wifi...').run()\n\n\t\tnetwork_id = self._find_network_id(network.ssid, wifi_iface)\n\n\t\tif not network_id:\n\t\t\tdebug('Failed to find network id')\n\t\t\tawait self._notify_failure()\n\t\t\treturn False\n\n\t\twpa_result = self._wpa_cli(f'enable {network_id}', wifi_iface)\n\n\t\tif not wpa_result.success:\n\t\t\tdebug(f'Failed to enable network: {wpa_result.error}')\n\t\t\tawait self._notify_failure()\n\t\t\treturn False\n\n\t\tawait LoadingScreen(timer=5, header='Connecting wifi...').run()\n\n\t\treturn True\n\n\tasync def _notify_failure(self) -> None:\n\t\tawait NotifyScreen(header=tr('Failed setting up wifi')).run()\n\n\tdef _wpa_cli(self, command: str, iface: str | None = None) -> WpaCliResult:\n\t\tcmd = 'wpa_cli'\n\n\t\tif iface:\n\t\t\tcmd += f' -i {iface}'\n\n\t\tcmd += f' {command}'\n\n\t\ttry:\n\t\t\tresult = SysCommand(cmd).decode()\n\n\t\t\tif 'FAIL' in result:\n\t\t\t\tdebug(f'wpa_cli returned FAIL: {result}')\n\t\t\t\treturn WpaCliResult(\n\t\t\t\t\tsuccess=False,\n\t\t\t\t\terror=f'wpa_cli returned a failure: {result}',\n\t\t\t\t)\n\n\t\t\treturn WpaCliResult(success=True, response=result)\n\t\texcept SysCallError as err:\n\t\t\tdebug(f'error running wpa_cli command: {err}')\n\t\t\treturn WpaCliResult(\n\t\t\t\tsuccess=False,\n\t\t\t\terror=f'Error running wpa_cli command: {err}',\n\t\t\t)\n\n\tdef _find_network_id(self, ssid: str, iface: str) -> int | None:\n\t\tresult = self._wpa_cli('list_networks', iface)\n\n\t\tif not result.success:\n\t\t\tdebug(f'Failed to list networks: {result.error}')\n\t\t\treturn None\n\n\t\tlist_networks = result.response\n\n\t\tif not list_networks:\n\t\t\tdebug('No networks found')\n\t\t\treturn None\n\n\t\texisting_networks = WifiConfiguredNetwork.from_wpa_cli_output(list_networks)\n\n\t\tfor network in existing_networks:\n\t\t\tif network.ssid == ssid:\n\t\t\t\treturn network.network_id\n\n\t\treturn None\n\n\tasync def _prompt_psk(self, existing: str | None = None) -> str | None:\n\t\tresult = await InputScreen(\n\t\t\theader=tr('Enter wifi password'),\n\t\t\tpassword=True,\n\t\t\tallow_skip=True,\n\t\t\tallow_reset=True,\n\t\t\tdefault_value=existing,\n\t\t).run()\n\n\t\tif result.type_ != ResultType.Selection:\n\t\t\tdebug('No password provided, aborting connection')\n\t\t\treturn None\n\n\t\treturn result.get_value()\n\n\tdef _get_scan_results(self, iface: str) -> list[WifiNetwork]:\n\t\tdebug(f'Retrieving scan results: {iface}')\n\n\t\ttry:\n\t\t\tresult = self._wpa_cli('scan_results', iface)\n\n\t\t\tif not result.success:\n\t\t\t\tdebug(f'Failed to retrieve scan results: {result.error}')\n\t\t\t\treturn []\n\n\t\t\tif not result.response:\n\t\t\t\tdebug('No wifi networks found')\n\t\t\t\treturn []\n\n\t\t\tnetworks = WifiNetwork.from_wpa(result.response)\n\n\t\t\treturn networks\n\t\texcept SysCallError as err:\n\t\t\tdebug('Unable to retrieve wifi results')\n\t\t\traise err\n"
  },
  {
    "path": "archinstall/lib/network/wpa_supplicant.py",
    "content": "from dataclasses import dataclass, field\nfrom pathlib import Path\n\nfrom archinstall.lib.models.network import WifiNetwork\nfrom archinstall.lib.output import debug\n\n\n@dataclass\nclass WpaSupplicantNetwork:\n\tmappings: dict[str, str] = field(default_factory=dict)\n\n\t@property\n\tdef psk(self) -> str:\n\t\treturn self.mappings['psk'].strip('\"')\n\n\t@property\n\tdef ssid(self) -> str:\n\t\treturn self.mappings['ssid'].strip('\"')\n\n\tdef to_config_entry(self) -> str:\n\t\twpa_net_config = '\\n'\n\t\twpa_net_config += 'network={\\n'\n\n\t\tfor key, value in self.mappings.items():\n\t\t\twpa_net_config += f'\\t{key}={value}\\n'\n\n\t\tif 'mesh_fwding' not in self.mappings:\n\t\t\twpa_net_config += '\\tmesh_fwding=1\\n'\n\n\t\twpa_net_config += '}\\n\\n'\n\t\treturn wpa_net_config\n\n\nclass WpaSupplicantConfig:\n\tdef __init__(self) -> None:\n\t\tself.config_file = Path('/etc/wpa_supplicant/wpa_supplicant.conf')\n\t\tself._wpa_networks: list[WpaSupplicantNetwork] = []\n\n\tdef load_config(self) -> None:\n\t\tif not self.config_file.is_file():\n\t\t\tdebug('wpa_supplicant.conf not found, creating')\n\t\t\tself._create_config()\n\t\telse:\n\t\t\tdebug('wpa_supplicant.conf found')\n\t\t\tcontent = self.config_file.read_text()\n\n\t\t\tconfig_header = ''\n\t\t\tif 'ctrl_interface' not in content:\n\t\t\t\tconfig_header += 'ctrl_interface=/run/wpa_supplicant\\n'\n\t\t\tif 'update_config' not in content:\n\t\t\t\tconfig_header += 'update_config=1\\n\\n'\n\n\t\t\tif config_header:\n\t\t\t\tconfig = config_header + content\n\t\t\t\tself.config_file.write_text(config)\n\n\t\tself._wpa_networks = self._parse_config()\n\n\tdef _config_header(self) -> str:\n\t\treturn 'ctrl_interface=/run/wpa_supplicant\\nupdate_config=1'\n\n\tdef get_existing_network(self, ssid: str) -> WpaSupplicantNetwork | None:\n\t\tssid = f'\"{ssid}\"'\n\n\t\tfor network in self._wpa_networks:\n\t\t\tif network.mappings['ssid'] == ssid:\n\t\t\t\treturn network\n\n\t\treturn None\n\n\tdef set_network(self, network: WifiNetwork, psk: str) -> None:\n\t\tdebug('setting new wifi network')\n\n\t\texisting_network = self.get_existing_network(network.ssid)\n\n\t\tif not existing_network:\n\t\t\twpa_net_config = WpaSupplicantNetwork(\n\t\t\t\tmappings={\n\t\t\t\t\t'ssid': f'\"{network.ssid}\"',\n\t\t\t\t\t'psk': f'\"{psk}\"',\n\t\t\t\t}\n\t\t\t)\n\t\t\tself._wpa_networks.append(wpa_net_config)\n\t\telse:\n\t\t\texisting_network.mappings['psk'] = f'\"{psk}\"'\n\n\tdef write_config(self) -> None:\n\t\tdebug('writing wpa_supplicant config')\n\n\t\tconfig = self._config_header()\n\t\tconfig += '\\n\\n'\n\n\t\tfor network in self._wpa_networks:\n\t\t\tconfig += network.to_config_entry()\n\n\t\tself.config_file.write_text(config)\n\n\tdef _create_config(self) -> None:\n\t\tself.config_file.touch()\n\n\t\theader = self._config_header()\n\t\tself.config_file.write_text(header)\n\n\tdef _parse_config(self) -> list[WpaSupplicantNetwork]:\n\t\tcontent = self.config_file.read_text()\n\n\t\tnetworks: list[WpaSupplicantNetwork] = []\n\t\tin_network_block = False\n\t\tcur_net_data: dict[str, str] = {}\n\n\t\tfor line in content.splitlines():\n\t\t\tline = line.strip()\n\n\t\t\tif not line or line.startswith('#'):\n\t\t\t\tcontinue\n\n\t\t\tif line == 'network={':\n\t\t\t\tin_network_block = True\n\t\t\t\tcur_net_data = {}\n\t\t\t\tcontinue\n\n\t\t\tif in_network_block and line == '}':\n\t\t\t\tnew_network = WpaSupplicantNetwork(\n\t\t\t\t\tmappings=cur_net_data,\n\t\t\t\t)\n\n\t\t\t\tnetworks.append(new_network)\n\t\t\t\tin_network_block = False\n\t\t\t\tcontinue\n\n\t\t\tif in_network_block:\n\t\t\t\tif '=' in line:\n\t\t\t\t\tkey, value = line.split('=', 1)\n\t\t\t\t\tcur_net_data[key.strip()] = value.strip()\n\n\t\treturn networks\n"
  },
  {
    "path": "archinstall/lib/networking.py",
    "content": "import os\nimport random\nimport select\nimport signal\nimport socket\nimport ssl\nimport struct\nimport time\nfrom types import FrameType, TracebackType\nfrom typing import Self\nfrom urllib.error import URLError\nfrom urllib.parse import urlencode\nfrom urllib.request import urlopen\n\nfrom archinstall.lib.exceptions import DownloadTimeout, SysCallError\nfrom archinstall.lib.output import debug, error, info\nfrom archinstall.lib.pacman.pacman import Pacman\n\n\nclass DownloadTimer:\n\t\"\"\"\n\tContext manager for timing downloads with timeouts.\n\t\"\"\"\n\n\tdef __init__(self, timeout: int = 5):\n\t\t\"\"\"\n\t\tArgs:\n\t\t\ttimeout:\n\t\t\t\tThe download timeout in seconds. The DownloadTimeout exception\n\t\t\t\twill be raised in the context after this many seconds.\n\t\t\"\"\"\n\t\tself.time: float | None = None\n\t\tself.start_time: float | None = None\n\t\tself.timeout = timeout\n\t\tself.previous_handler = None\n\t\tself.previous_timer: int | None = None\n\n\tdef raise_timeout(self, signl: int, frame: FrameType | None) -> None:\n\t\t\"\"\"\n\t\tRaise the DownloadTimeout exception.\n\t\t\"\"\"\n\t\traise DownloadTimeout(f'Download timed out after {self.timeout} second(s).')\n\n\tdef __enter__(self) -> Self:\n\t\tif self.timeout > 0:\n\t\t\tself.previous_handler = signal.signal(signal.SIGALRM, self.raise_timeout)  # type: ignore[assignment]\n\t\t\tself.previous_timer = signal.alarm(self.timeout)\n\n\t\tself.start_time = time.time()\n\t\treturn self\n\n\tdef __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) -> None:\n\t\tif self.start_time:\n\t\t\ttime_delta = time.time() - self.start_time\n\t\t\tsignal.alarm(0)\n\t\t\tself.time = time_delta\n\t\t\tif self.timeout > 0:\n\t\t\t\tsignal.signal(signal.SIGALRM, self.previous_handler)\n\n\t\t\t\tprevious_timer = self.previous_timer\n\t\t\t\tif previous_timer and previous_timer > 0:\n\t\t\t\t\tremaining_time = int(previous_timer - time_delta)\n\t\t\t\t\t# The alarm should have been raised during the download.\n\t\t\t\t\tif remaining_time <= 0:\n\t\t\t\t\t\tsignal.raise_signal(signal.SIGALRM)\n\t\t\t\t\telse:\n\t\t\t\t\t\tsignal.alarm(remaining_time)\n\t\tself.start_time = None\n\n\ndef get_hw_addr(ifname: str) -> str:\n\timport fcntl\n\n\ts = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\n\tret = fcntl.ioctl(s.fileno(), 0x8927, struct.pack('256s', bytes(ifname, 'utf-8')[:15]))\n\treturn ':'.join(f'{b:02x}' for b in ret[18:24])\n\n\ndef list_interfaces(skip_loopback: bool = True) -> dict[str, str]:\n\tinterfaces = {}\n\n\tfor _index, iface in socket.if_nameindex():\n\t\tif skip_loopback and iface == 'lo':\n\t\t\tcontinue\n\n\t\tmac = get_hw_addr(iface).replace(':', '-').lower()\n\t\tinterfaces[mac] = iface\n\n\treturn interfaces\n\n\ndef update_keyring() -> bool:\n\tinfo('Updating archlinux-keyring ...')\n\ttry:\n\t\tPacman.run('-Sy --noconfirm archlinux-keyring')\n\t\treturn True\n\texcept SysCallError:\n\t\tif os.geteuid() != 0:\n\t\t\terror(\"update_keyring() uses 'pacman -Sy archlinux-keyring' which requires root.\")\n\n\treturn False\n\n\ndef enrich_iface_types(interfaces: list[str]) -> dict[str, str]:\n\tresult = {}\n\n\tfor iface in interfaces:\n\t\tif os.path.isdir(f'/sys/class/net/{iface}/bridge/'):\n\t\t\tresult[iface] = 'BRIDGE'\n\t\telif os.path.isfile(f'/sys/class/net/{iface}/tun_flags'):\n\t\t\t# ethtool -i {iface}\n\t\t\tresult[iface] = 'TUN/TAP'\n\t\telif os.path.isdir(f'/sys/class/net/{iface}/device'):\n\t\t\tif os.path.isdir(f'/sys/class/net/{iface}/wireless/'):\n\t\t\t\tresult[iface] = 'WIRELESS'\n\t\t\telse:\n\t\t\t\tresult[iface] = 'PHYSICAL'\n\t\telse:\n\t\t\tresult[iface] = 'UNKNOWN'\n\n\treturn result\n\n\ndef fetch_data_from_url(url: str, params: dict[str, str] | None = None, timeout: int = 30) -> str:\n\tssl_context = ssl.create_default_context()\n\tssl_context.check_hostname = False\n\tssl_context.verify_mode = ssl.CERT_NONE\n\n\tif params is not None:\n\t\tencoded = urlencode(params)\n\t\tfull_url = f'{url}?{encoded}'\n\telse:\n\t\tfull_url = url\n\n\ttry:\n\t\tresponse = urlopen(full_url, context=ssl_context, timeout=timeout)\n\t\tdata = response.read().decode('UTF-8')\n\t\treturn data\n\texcept URLError as e:\n\t\traise ValueError(f'Unable to fetch data from url: {url}\\n{e}')\n\texcept Exception as e:\n\t\traise ValueError(f'Unexpected error when parsing response: {e}')\n\n\ndef calc_checksum(icmp_packet: bytes) -> int:\n\t# Calculate the ICMP checksum\n\tchecksum = 0\n\tfor i in range(0, len(icmp_packet), 2):\n\t\tchecksum += (icmp_packet[i] << 8) + (struct.unpack('B', icmp_packet[i + 1 : i + 2])[0] if len(icmp_packet[i + 1 : i + 2]) else 0)\n\n\tchecksum = (checksum >> 16) + (checksum & 0xFFFF)\n\tchecksum = ~checksum & 0xFFFF\n\n\treturn checksum\n\n\ndef build_icmp(payload: bytes) -> bytes:\n\t# Define the ICMP Echo Request packet\n\ticmp_packet = struct.pack('!BBHHH', 8, 0, 0, 0, 1) + payload\n\n\tchecksum = calc_checksum(icmp_packet)\n\n\treturn struct.pack('!BBHHH', 8, 0, checksum, 0, 1) + payload\n\n\ndef ping(hostname: str, timeout: int = 5) -> int:\n\twatchdog = select.epoll()\n\tstarted = time.time()\n\trandom_identifier = f'archinstall-{random.randint(1000, 9999)}'.encode()\n\n\t# Create a raw socket (requires root, which should be fine on archiso)\n\ticmp_socket = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_ICMP)\n\twatchdog.register(icmp_socket, select.EPOLLIN | select.EPOLLHUP)\n\n\ticmp_packet = build_icmp(random_identifier)\n\n\t# Send the ICMP packet\n\ticmp_socket.sendto(icmp_packet, (hostname, 0))\n\tlatency = -1\n\n\t# Gracefully wait for X amount of time\n\t# for a ICMP response or exit with no latency\n\twhile latency == -1 and time.time() - started < timeout:\n\t\ttry:\n\t\t\tfor _fileno, _event in watchdog.poll(0.1):\n\t\t\t\tresponse, _ = icmp_socket.recvfrom(1024)\n\t\t\t\ticmp_type = struct.unpack('!B', response[20:21])[0]\n\n\t\t\t\t# Check if it's an Echo Reply (ICMP type 0)\n\t\t\t\tif icmp_type == 0 and response[-len(random_identifier) :] == random_identifier:\n\t\t\t\t\tlatency = round((time.time() - started) * 1000)\n\t\t\t\t\tbreak\n\t\texcept OSError as e:\n\t\t\tdebug(f'Error: {e}')\n\t\t\tbreak\n\n\ticmp_socket.close()\n\treturn latency\n"
  },
  {
    "path": "archinstall/lib/output.py",
    "content": "import logging\nimport os\nimport sys\nfrom collections.abc import Callable\nfrom dataclasses import asdict, is_dataclass\nfrom datetime import UTC, datetime\nfrom enum import Enum\nfrom pathlib import Path\nfrom typing import TYPE_CHECKING, Any\n\nfrom archinstall.lib.utils.encoding import unicode_ljust, unicode_rjust\n\nif TYPE_CHECKING:\n\tfrom _typeshed import DataclassInstance\n\n\nclass FormattedOutput:\n\t@staticmethod\n\tdef _get_values(\n\t\to: 'DataclassInstance',\n\t\tclass_formatter: str | Callable | None = None,  # type: ignore[type-arg]\n\t\tfilter_list: list[str] = [],\n\t) -> dict[str, Any]:\n\t\t\"\"\"\n\t\tthe original values returned a dataclass as dict thru the call to some specific methods\n\t\tthis version allows thru the parameter class_formatter to call a dynamically selected formatting method.\n\t\tCan transmit a filter list to the class_formatter,\n\t\t\"\"\"\n\t\tif class_formatter:\n\t\t\t# if invoked per reference it has to be a standard function or a classmethod.\n\t\t\t# A method of an instance does not make sense\n\t\t\tif callable(class_formatter):\n\t\t\t\treturn class_formatter(o, filter_list)\n\t\t\t# if is invoked by name we restrict it to a method of the class. No need to mess more\n\t\t\telif hasattr(o, class_formatter) and callable(getattr(o, class_formatter)):\n\t\t\t\tfunc = getattr(o, class_formatter)\n\t\t\t\treturn func(filter_list)\n\n\t\t\traise ValueError('Unsupported formatting call')\n\t\telif hasattr(o, 'table_data'):\n\t\t\treturn o.table_data()\n\t\telif hasattr(o, 'json'):\n\t\t\treturn o.json()\n\t\telif is_dataclass(o):\n\t\t\treturn asdict(o)\n\t\telse:\n\t\t\treturn o.__dict__  # type: ignore[unreachable]\n\n\t@classmethod\n\tdef as_table(\n\t\tcls,\n\t\tobj: list[Any],\n\t\tclass_formatter: str | Callable | None = None,  # type: ignore[type-arg]\n\t\tfilter_list: list[str] = [],\n\t\tcapitalize: bool = False,\n\t) -> str:\n\t\t\"\"\"variant of as_table (subtly different code) which has two additional parameters\n\t\tfilter which is a list of fields which will be shown\n\t\tclass_formatter a special method to format the outgoing data\n\n\t\tA general comment, the format selected for the output (a string where every data record is separated by newline)\n\t\tis for compatibility with a print statement\n\t\tAs_table_filter can be a drop in replacement for as_table\n\t\t\"\"\"\n\t\traw_data = [cls._get_values(o, class_formatter, filter_list) for o in obj]\n\n\t\t# determine the maximum column size\n\t\tcolumn_width: dict[str, int] = {}\n\t\tfor o in raw_data:\n\t\t\tfor k, v in o.items():\n\t\t\t\tif not filter_list or k in filter_list:\n\t\t\t\t\tcolumn_width.setdefault(k, 0)\n\t\t\t\t\tcolumn_width[k] = max([column_width[k], len(str(v)), len(k)])\n\n\t\tif not filter_list:\n\t\t\tfilter_list = list(column_width.keys())\n\n\t\t# create the header lines\n\t\toutput = ''\n\t\tkey_list = []\n\t\tfor key in filter_list:\n\t\t\twidth = column_width[key]\n\t\t\tkey = key.replace('!', '').replace('_', ' ')\n\n\t\t\tif capitalize:\n\t\t\t\tkey = key.capitalize()\n\n\t\t\tkey_list.append(unicode_ljust(key, width))\n\n\t\toutput += ' | '.join(key_list) + '\\n'\n\t\toutput += '-' * len(output) + '\\n'\n\n\t\t# create the data lines\n\t\tfor record in raw_data:\n\t\t\tobj_data = []\n\t\t\tfor key in filter_list:\n\t\t\t\twidth = column_width.get(key, len(key))\n\t\t\t\tvalue = record.get(key, '')\n\n\t\t\t\tif '!' in key:\n\t\t\t\t\tvalue = '*' * len(value)\n\n\t\t\t\tif isinstance(value, (int, float)) or (isinstance(value, str) and value.isnumeric()):\n\t\t\t\t\tobj_data.append(unicode_rjust(str(value), width))\n\t\t\t\telse:\n\t\t\t\t\tobj_data.append(unicode_ljust(str(value), width))\n\n\t\t\toutput += ' | '.join(obj_data) + '\\n'\n\n\t\treturn output\n\n\t@staticmethod\n\tdef as_columns(entries: list[str], cols: int) -> str:\n\t\t\"\"\"\n\t\tWill format a list into a given number of columns\n\t\t\"\"\"\n\t\tchunks = []\n\t\toutput = ''\n\n\t\tfor i in range(0, len(entries), cols):\n\t\t\tchunks.append(entries[i : i + cols])\n\n\t\tfor row in chunks:\n\t\t\tout_fmt = '{: <30} ' * len(row)\n\t\t\toutput += out_fmt.format(*row) + '\\n'\n\n\t\treturn output\n\n\nclass Journald:\n\t@staticmethod\n\tdef log(message: str, level: int = logging.DEBUG) -> None:\n\t\ttry:\n\t\t\timport systemd.journal  # type: ignore[import-not-found]\n\t\texcept ModuleNotFoundError:\n\t\t\treturn None\n\n\t\tlog_adapter = logging.getLogger('archinstall')\n\t\tlog_fmt = logging.Formatter('[%(levelname)s]: %(message)s')\n\t\tlog_ch = systemd.journal.JournalHandler()\n\t\tlog_ch.setFormatter(log_fmt)\n\t\tlog_adapter.addHandler(log_ch)\n\t\tlog_adapter.setLevel(logging.DEBUG)\n\n\t\tlog_adapter.log(level, message)\n\n\nclass Logger:\n\tdef __init__(self, path: Path = Path('/var/log/archinstall')) -> None:\n\t\tself._path = path\n\n\t@property\n\tdef path(self) -> Path:\n\t\treturn self._path / 'install.log'\n\n\t@property\n\tdef directory(self) -> Path:\n\t\treturn self._path\n\n\tdef _check_permissions(self) -> None:\n\t\tlog_file = self.path\n\n\t\ttry:\n\t\t\tself._path.mkdir(exist_ok=True, parents=True)\n\t\t\tlog_file.touch(exist_ok=True)\n\n\t\t\twith log_file.open('a') as f:\n\t\t\t\tf.write('')\n\t\texcept PermissionError:\n\t\t\t# Fallback to creating the log file in the current folder\n\t\t\tlogger._path = Path('./').absolute()\n\n\t\t\twarn(f'Not enough permission to place log file at {log_file}, creating it in {logger.path} instead')\n\n\tdef log(self, level: int, content: str) -> None:\n\t\tself._check_permissions()\n\n\t\twith self.path.open('a') as f:\n\t\t\tts = _timestamp()\n\t\t\tlevel_name = logging.getLevelName(level)\n\t\t\tf.write(f'[{ts}] - {level_name} - {content}\\n')\n\n\nlogger = Logger()\n\n\ndef _supports_color() -> bool:\n\t\"\"\"\n\tFound first reference here:\n\t\thttps://stackoverflow.com/questions/7445658/how-to-detect-if-the-console-does-support-ansi-escape-codes-in-python\n\tAnd re-used this:\n\t\thttps://github.com/django/django/blob/master/django/core/management/color.py#L12\n\n\tReturn True if the running system's terminal supports color,\n\tand False otherwise.\n\t\"\"\"\n\tsupported_platform = sys.platform != 'win32' or 'ANSICON' in os.environ\n\n\t# isatty is not always implemented, #6223.\n\tis_a_tty = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty()\n\treturn supported_platform and is_a_tty\n\n\nclass Font(Enum):\n\tbold = '1'\n\titalic = '3'\n\tunderscore = '4'\n\tblink = '5'\n\treverse = '7'\n\tconceal = '8'\n\n\ndef _stylize_output(\n\ttext: str,\n\tfg: str,\n\tbg: str | None,\n\treset: bool,\n\tfont: list[Font] = [],\n) -> str:\n\t\"\"\"\n\tHeavily influenced by:\n\t\thttps://github.com/django/django/blob/ae8338daf34fd746771e0678081999b656177bae/django/utils/termcolors.py#L13\n\tColor options here:\n\t\thttps://askubuntu.com/questions/528928/how-to-do-underline-bold-italic-strikethrough-color-background-and-size-i\n\n\tAdds styling to a text given a set of color arguments.\n\t\"\"\"\n\tcolors = {\n\t\t'black': '0',\n\t\t'red': '1',\n\t\t'green': '2',\n\t\t'yellow': '3',\n\t\t'blue': '4',\n\t\t'magenta': '5',\n\t\t'cyan': '6',\n\t\t'white': '7',\n\t\t'teal': '8;5;109',  # Extended 256-bit colors (not always supported)\n\t\t'orange': '8;5;208',  # https://www.lihaoyi.com/post/BuildyourownCommandLinewithANSIescapecodes.html#256-colors\n\t\t'darkorange': '8;5;202',\n\t\t'gray': '8;5;246',\n\t\t'grey': '8;5;246',\n\t\t'darkgray': '8;5;240',\n\t\t'lightgray': '8;5;256',\n\t}\n\n\tforeground = {key: f'3{colors[key]}' for key in colors}\n\tbackground = {key: f'4{colors[key]}' for key in colors}\n\tcode_list = []\n\n\tif text == '' and reset:\n\t\treturn '\\x1b[0m'\n\n\tcode_list.append(foreground[str(fg)])\n\n\tif bg:\n\t\tcode_list.append(background[str(bg)])\n\n\tfor o in font:\n\t\tcode_list.append(o.value)\n\n\tansi = ';'.join(code_list)\n\n\treturn f'\\033[{ansi}m{text}\\033[0m'\n\n\ndef info(\n\t*msgs: str,\n\tlevel: int = logging.INFO,\n\tfg: str = 'white',\n\tbg: str | None = None,\n\treset: bool = False,\n\tfont: list[Font] = [],\n) -> None:\n\tlog(*msgs, level=level, fg=fg, bg=bg, reset=reset, font=font)\n\n\ndef _timestamp() -> str:\n\tnow = datetime.now(tz=UTC)\n\treturn now.strftime('%Y-%m-%d %H:%M:%S')\n\n\ndef debug(\n\t*msgs: str,\n\tlevel: int = logging.DEBUG,\n\tfg: str = 'white',\n\tbg: str | None = None,\n\treset: bool = False,\n\tfont: list[Font] = [],\n) -> None:\n\tlog(*msgs, level=level, fg=fg, bg=bg, reset=reset, font=font)\n\n\ndef error(\n\t*msgs: str,\n\tlevel: int = logging.ERROR,\n\tfg: str = 'red',\n\tbg: str | None = None,\n\treset: bool = False,\n\tfont: list[Font] = [],\n) -> None:\n\tlog(*msgs, level=level, fg=fg, bg=bg, reset=reset, font=font)\n\n\ndef warn(\n\t*msgs: str,\n\tlevel: int = logging.WARNING,\n\tfg: str = 'yellow',\n\tbg: str | None = None,\n\treset: bool = False,\n\tfont: list[Font] = [],\n) -> None:\n\tlog(*msgs, level=level, fg=fg, bg=bg, reset=reset, font=font)\n\n\ndef log(\n\t*msgs: str,\n\tlevel: int = logging.INFO,\n\tfg: str = 'white',\n\tbg: str | None = None,\n\treset: bool = False,\n\tfont: list[Font] = [],\n) -> None:\n\ttext = ' '.join(str(x) for x in msgs)\n\n\tlogger.log(level, text)\n\n\t# Attempt to colorize the output if supported\n\t# Insert default colors and override with **kwargs\n\tif _supports_color():\n\t\ttext = _stylize_output(text, fg, bg, reset, font)\n\n\tJournald.log(text, level=level)\n\n\tif level != logging.DEBUG:\n\t\tprint(text)\n"
  },
  {
    "path": "archinstall/lib/packages/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/packages/packages.py",
    "content": "from functools import lru_cache\n\nfrom archinstall.lib.exceptions import SysCallError\nfrom archinstall.lib.menu.helpers import Loading, Notify, Selection\nfrom archinstall.lib.models.packages import AvailablePackage, LocalPackage, PackageGroup, Repository\nfrom archinstall.lib.output import debug\nfrom archinstall.lib.pacman.pacman import Pacman\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\ndef installed_package(package: str) -> LocalPackage | None:\n\ttry:\n\t\tpackage_info = []\n\t\tfor line in Pacman.run(f'-Q --info {package}'):\n\t\t\tpackage_info.append(line.decode().strip())\n\n\t\treturn _parse_package_output(package_info, LocalPackage)\n\texcept SysCallError:\n\t\tpass\n\n\treturn None\n\n\n@lru_cache\ndef check_package_upgrade(package: str) -> str | None:\n\ttry:\n\t\tfor line in Pacman.run(f'-Qu {package}'):\n\t\t\treturn line.decode().strip()\n\texcept SysCallError:\n\t\tdebug(f'Failed to check for package upgrades: {package}')\n\n\treturn None\n\n\n@lru_cache\ndef list_available_packages(\n\trepositories: tuple[Repository, ...],\n) -> dict[str, AvailablePackage]:\n\t\"\"\"\n\tReturns a list of all available packages in the database\n\t\"\"\"\n\tpackages: dict[str, AvailablePackage] = {}\n\tcurrent_package: list[str] = []\n\tfiltered_repos = [repo.value for repo in repositories]\n\n\ttry:\n\t\tPacman.run('-Sy')\n\texcept Exception as e:\n\t\tdebug(f'Failed to sync Arch Linux package database: {e}')\n\n\tfor line in Pacman.run('-S --info'):\n\t\tdec_line = line.decode().strip()\n\t\tcurrent_package.append(dec_line)\n\n\t\tif dec_line.startswith('Validated'):\n\t\t\tif current_package:\n\t\t\t\tavail_pkg = _parse_package_output(current_package, AvailablePackage)\n\t\t\t\tif avail_pkg.repository in filtered_repos:\n\t\t\t\t\tpackages[avail_pkg.name] = avail_pkg\n\t\t\t\tcurrent_package = []\n\n\treturn packages\n\n\n@lru_cache(maxsize=128)\ndef _normalize_key_name(key: str) -> str:\n\treturn key.strip().lower().replace(' ', '_')\n\n\ndef _parse_package_output[PackageType: (AvailablePackage, LocalPackage)](\n\tpackage_meta: list[str],\n\tcls: type[PackageType],\n) -> PackageType:\n\tpackage = {}\n\n\tfor line in package_meta:\n\t\tif ':' in line:\n\t\t\tkey, value = line.split(':', 1)\n\t\t\tkey = _normalize_key_name(key)\n\t\t\tpackage[key] = value.strip()\n\n\treturn cls.model_validate(package)\n\n\nasync def select_additional_packages(\n\tpreset: list[str] = [],\n\trepositories: set[Repository] = set(),\n) -> list[str]:\n\trepositories |= {Repository.Core, Repository.Extra}\n\n\trespos_text = ', '.join(r.value for r in repositories)\n\toutput = tr('Repositories: {}').format(respos_text) + '\\n'\n\toutput += tr('Loading packages...')\n\n\tresult = await Loading[dict[str, AvailablePackage]](\n\t\theader=output,\n\t\tdata_callback=lambda: list_available_packages(tuple(repositories)),\n\t).show()\n\n\tif result.type_ != ResultType.Selection:\n\t\tdebug('Error while loading packages')\n\t\treturn preset\n\n\tpackages = result.get_value()\n\n\tif not packages:\n\t\tawait Notify(tr('No packages found')).show()\n\t\treturn []\n\n\tpackage_groups = PackageGroup.from_available_packages(packages)\n\n\t# Additional packages (with some light weight error handling for invalid package names)\n\theader = tr('Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.') + '\\n'\n\theader += tr('Note: base-devel is no longer installed by default. Add it here if you need build tools.') + '\\n'\n\theader += tr('Select any packages from the below list that should be installed additionally') + '\\n'\n\n\t# there are over 15k packages so this needs to be quick\n\tpreset_packages: list[AvailablePackage | PackageGroup] = []\n\tfor p in preset:\n\t\tif p in packages:\n\t\t\tpreset_packages.append(packages[p])\n\t\telif p in package_groups:\n\t\t\tpreset_packages.append(package_groups[p])\n\n\titems = [\n\t\tMenuItem(\n\t\t\tname,\n\t\t\tvalue=pkg,\n\t\t\tpreview_action=lambda x: x.value.info() if x.value else None,\n\t\t)\n\t\tfor name, pkg in packages.items()\n\t]\n\n\titems += [\n\t\tMenuItem(\n\t\t\tname,\n\t\t\tvalue=group,\n\t\t\tpreview_action=lambda x: x.value.info() if x.value else None,\n\t\t)\n\t\tfor name, group in package_groups.items()\n\t]\n\n\tmenu_group = MenuItemGroup(items, sort_items=True)\n\tmenu_group.set_selected_by_value(preset_packages)\n\n\tpck_result = await Selection[AvailablePackage | PackageGroup](\n\t\tmenu_group,\n\t\theader=header,\n\t\tallow_reset=True,\n\t\tallow_skip=True,\n\t\tmulti=True,\n\t\tpreview_location='right',\n\t\tenable_filter=True,\n\t).show()\n\n\tmatch pck_result.type_:\n\t\tcase ResultType.Skip:\n\t\t\treturn preset\n\t\tcase ResultType.Reset:\n\t\t\treturn []\n\t\tcase ResultType.Selection:\n\t\t\tselected_pacakges = pck_result.get_values()\n\t\t\treturn [pkg.name for pkg in selected_pacakges]\n"
  },
  {
    "path": "archinstall/lib/packages/util.py",
    "content": "from functools import lru_cache\n\nfrom archinstall.lib.output import debug\nfrom archinstall.lib.packages.packages import check_package_upgrade\n\n\n@lru_cache(maxsize=128)\ndef check_version_upgrade() -> str | None:\n\tdebug('Checking version')\n\tupgrade = None\n\n\tupgrade = check_package_upgrade('archinstall')\n\n\tif upgrade is None:\n\t\tdebug('No archinstall upgrades found')\n\t\treturn None\n\n\tdebug(f'Archinstall latest: {upgrade}')\n\n\treturn upgrade\n"
  },
  {
    "path": "archinstall/lib/pacman/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/pacman/config.py",
    "content": "import re\nfrom pathlib import Path\nfrom shutil import copy2\n\nfrom archinstall.lib.models.packages import Repository\n\n\nclass PacmanConfig:\n\tdef __init__(self, target: Path | None):\n\t\tself._config_path = Path('/etc') / 'pacman.conf'\n\t\tself._config_remote_path: Path | None = None\n\n\t\tif target:\n\t\t\tself._config_remote_path = target / 'etc' / 'pacman.conf'\n\n\t\tself._repositories: list[Repository] = []\n\n\tdef enable(self, repo: Repository | list[Repository]) -> None:\n\t\tif not isinstance(repo, list):\n\t\t\trepo = [repo]\n\n\t\tself._repositories += repo\n\n\tdef apply(self) -> None:\n\t\tif not self._repositories:\n\t\t\treturn\n\n\t\trepos_to_enable = []\n\t\tfor repo in self._repositories:\n\t\t\tif repo == Repository.Testing:\n\t\t\t\trepos_to_enable.extend(['core-testing', 'extra-testing', 'multilib-testing'])\n\t\t\telse:\n\t\t\t\trepos_to_enable.append(repo.value)\n\n\t\tcontent = self._config_path.read_text().splitlines(keepends=True)\n\n\t\tfor row, line in enumerate(content):\n\t\t\t# Check if this is a commented repository section that needs to be enabled\n\t\t\tmatch = re.match(r'^#\\s*\\[(.*)\\]', line)\n\n\t\t\tif match and match.group(1) in repos_to_enable:\n\t\t\t\t# uncomment the repository section line, properly removing # and any spaces\n\t\t\t\tcontent[row] = re.sub(r'^#\\s*', '', line)\n\n\t\t\t\t# also uncomment the next line (Include statement) if it exists and is commented\n\t\t\t\tif row + 1 < len(content) and content[row + 1].lstrip().startswith('#'):\n\t\t\t\t\tcontent[row + 1] = re.sub(r'^#\\s*', '', content[row + 1])\n\n\t\t# Write the modified content back to the file\n\t\twith open(self._config_path, 'w') as f:\n\t\t\tf.writelines(content)\n\n\tdef persist(self) -> None:\n\t\tif self._repositories and self._config_remote_path:\n\t\t\tcopy2(self._config_path, self._config_remote_path)\n"
  },
  {
    "path": "archinstall/lib/pacman/pacman.py",
    "content": "import sys\nimport time\nfrom collections.abc import Callable\nfrom pathlib import Path\n\nfrom archinstall.lib.command import SysCommand\nfrom archinstall.lib.exceptions import RequirementError\nfrom archinstall.lib.output import error, info, warn\nfrom archinstall.lib.plugins import plugins\nfrom archinstall.lib.translationhandler import tr\n\n\nclass Pacman:\n\tdef __init__(self, target: Path, silent: bool = False):\n\t\tself.synced = False\n\t\tself.silent = silent\n\t\tself.target = target\n\n\t@staticmethod\n\tdef run(args: str, default_cmd: str = 'pacman') -> SysCommand:\n\t\t\"\"\"\n\t\tA centralized function to call `pacman` from.\n\t\tIt also protects us from colliding with other running pacman sessions (if used locally).\n\t\tThe grace period is set to 10 minutes before exiting hard if another pacman instance is running.\n\t\t\"\"\"\n\t\tpacman_db_lock = Path('/var/lib/pacman/db.lck')\n\n\t\tif pacman_db_lock.exists():\n\t\t\twarn(tr('Pacman is already running, waiting maximum 10 minutes for it to terminate.'))\n\n\t\tstarted = time.time()\n\t\twhile pacman_db_lock.exists():\n\t\t\ttime.sleep(0.25)\n\n\t\t\tif time.time() - started > (60 * 10):\n\t\t\t\terror(tr('Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.'))\n\t\t\t\tsys.exit(1)\n\n\t\treturn SysCommand(f'{default_cmd} {args}')\n\n\tdef ask(self, error_message: str, bail_message: str, func: Callable, *args, **kwargs) -> None:  # type: ignore[no-untyped-def, type-arg]\n\t\twhile True:\n\t\t\ttry:\n\t\t\t\tfunc(*args, **kwargs)\n\t\t\t\tbreak\n\t\t\texcept Exception as err:\n\t\t\t\terror(f'{error_message}: {err}')\n\t\t\t\tif not self.silent and input('Would you like to re-try this download? (Y/n): ').lower().strip() in 'y':\n\t\t\t\t\tcontinue\n\t\t\t\traise RequirementError(f'{bail_message}: {err}')\n\n\tdef sync(self) -> None:\n\t\tif self.synced:\n\t\t\treturn\n\t\tself.ask(\n\t\t\t'Could not sync a new package database',\n\t\t\t'Could not sync mirrors',\n\t\t\tself.run,\n\t\t\t'-Syy',\n\t\t\tdefault_cmd='pacman',\n\t\t)\n\t\tself.synced = True\n\n\tdef strap(self, packages: str | list[str]) -> None:\n\t\tself.sync()\n\t\tif isinstance(packages, str):\n\t\t\tpackages = [packages]\n\n\t\tfor plugin in plugins.values():\n\t\t\tif hasattr(plugin, 'on_pacstrap'):\n\t\t\t\tif result := plugin.on_pacstrap(packages):\n\t\t\t\t\tpackages = result\n\n\t\tinfo(f'Installing packages: {packages}')\n\n\t\tself.ask(\n\t\t\t'Could not strap in packages',\n\t\t\t'Pacstrap failed. See /var/log/archinstall/install.log or above message for error details',\n\t\t\tSysCommand,\n\t\t\tf'pacstrap -C /etc/pacman.conf -K {self.target} {\" \".join(packages)} --noconfirm --needed',\n\t\t\tpeek_output=True,\n\t\t)\n"
  },
  {
    "path": "archinstall/lib/plugins.py",
    "content": "import hashlib\nimport importlib.util\nimport os\nimport sys\nimport urllib.parse\nimport urllib.request\nfrom importlib import metadata\nfrom pathlib import Path\n\nfrom archinstall.lib.output import error, info, warn\nfrom archinstall.lib.version import get_version\n\nplugins = {}\n\n\n# 1: List archinstall.plugin definitions\n# 2: Load the plugin entrypoint\n# 3: Initiate the plugin and store it as .name in plugins\nfor plugin_definition in metadata.entry_points().select(group='archinstall.plugin'):\n\tplugin_entrypoint = plugin_definition.load()\n\n\ttry:\n\t\tplugins[plugin_definition.name] = plugin_entrypoint()\n\texcept Exception as err:\n\t\terror(\n\t\t\tf'Error: {err}',\n\t\t\tf'The above error was detected when loading the plugin: {plugin_definition}',\n\t\t)\n\n\n# @archinstall.plugin decorator hook to programmatically add\n# plugins in runtime. Useful in profiles_bck and other things.\ndef plugin(f, *args, **kwargs) -> None:  # type: ignore[no-untyped-def]\n\tplugins[f.__name__] = f\n\n\ndef _localize_path(path: Path) -> Path:\n\t\"\"\"\n\tSupport structures for load_plugin()\n\t\"\"\"\n\turl = urllib.parse.urlparse(str(path))\n\n\tif url.scheme and url.scheme in ('https', 'http'):\n\t\tconverted_path = Path(f'/tmp/{path.stem}_{hashlib.md5(os.urandom(12)).hexdigest()}.py')\n\n\t\twith open(converted_path, 'w') as temp_file:\n\t\t\ttemp_file.write(urllib.request.urlopen(url.geturl()).read().decode('utf-8'))\n\n\t\treturn converted_path\n\telse:\n\t\treturn path\n\n\ndef _import_via_path(path: Path, namespace: str | None = None) -> str:\n\tif not namespace:\n\t\tnamespace = os.path.basename(path)\n\n\t\tif namespace == '__init__.py':\n\t\t\tnamespace = path.parent.name\n\n\ttry:\n\t\tspec = importlib.util.spec_from_file_location(namespace, path)\n\t\tif spec and spec.loader:\n\t\t\timported = importlib.util.module_from_spec(spec)\n\t\t\tsys.modules[namespace] = imported\n\t\t\tspec.loader.exec_module(sys.modules[namespace])\n\n\t\treturn namespace\n\texcept Exception as err:\n\t\terror(\n\t\t\tf'Error: {err}',\n\t\t\tf'The above error was detected when loading the plugin: {path}',\n\t\t)\n\n\t\ttry:\n\t\t\tdel sys.modules[namespace]\n\t\texcept Exception:\n\t\t\tpass\n\n\treturn namespace\n\n\ndef load_plugin(path: Path) -> None:\n\tnamespace: str | None = None\n\tparsed_url = urllib.parse.urlparse(str(path))\n\tinfo(f'Loading plugin from url {parsed_url}')\n\n\t# The Profile was not a direct match on a remote URL\n\tif not parsed_url.scheme:\n\t\t# Path was not found in any known examples, check if it's an absolute path\n\t\tif os.path.isfile(path):\n\t\t\tnamespace = _import_via_path(path)\n\telif parsed_url.scheme in ('https', 'http'):\n\t\tlocalized = _localize_path(path)\n\t\tnamespace = _import_via_path(localized)\n\n\tif namespace and namespace in sys.modules:\n\t\t# Version dependency via __archinstall__version__ variable (if present) in the plugin\n\t\t# Any errors in version inconsistency will be handled through normal error handling if not defined.\n\t\tversion = get_version()\n\n\t\tif version is not None:\n\t\t\tversion_major_and_minor = version.rsplit('.', 1)[0]\n\n\t\t\tif sys.modules[namespace].__archinstall__version__ < float(version_major_and_minor):\n\t\t\t\terror(f'Plugin {sys.modules[namespace]} does not support the current Archinstall version.')\n\n\t\t# Locate the plugin entry-point called Plugin()\n\t\t# This in accordance with the entry_points() from setup.cfg above\n\t\tif hasattr(sys.modules[namespace], 'Plugin'):\n\t\t\ttry:\n\t\t\t\tplugins[namespace] = sys.modules[namespace].Plugin()\n\t\t\t\tinfo(f'Plugin {plugins[namespace]} has been loaded.')\n\t\t\texcept Exception as err:\n\t\t\t\terror(\n\t\t\t\t\tf'Error: {err}',\n\t\t\t\t\tf'The above error was detected when initiating the plugin: {path}',\n\t\t\t\t)\n\t\telse:\n\t\t\twarn(f\"Plugin '{path}' is missing a valid entry-point or is corrupt.\")\n"
  },
  {
    "path": "archinstall/lib/profile/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/profile/profile_menu.py",
    "content": "from typing import override\n\nfrom archinstall.default_profiles.profile import GreeterType, Profile\nfrom archinstall.lib.hardware import GfxDriver\nfrom archinstall.lib.interactions.system_conf import select_driver\nfrom archinstall.lib.menu.abstract_menu import AbstractSubMenu\nfrom archinstall.lib.menu.helpers import Confirmation, Selection\nfrom archinstall.lib.models.profile import ProfileConfiguration\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass ProfileMenu(AbstractSubMenu[ProfileConfiguration]):\n\tdef __init__(\n\t\tself,\n\t\tpreset: ProfileConfiguration | None = None,\n\t):\n\t\tif preset:\n\t\t\tself._profile_config = preset\n\t\telse:\n\t\t\tself._profile_config = ProfileConfiguration()\n\n\t\tmenu_options = self._define_menu_options()\n\t\tself._item_group = MenuItemGroup(menu_options, checkmarks=True)\n\n\t\tsuper().__init__(\n\t\t\tself._item_group,\n\t\t\tself._profile_config,\n\t\t\tallow_reset=True,\n\t\t)\n\n\tdef _define_menu_options(self) -> list[MenuItem]:\n\t\treturn [\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Type'),\n\t\t\t\taction=self._select_profile,\n\t\t\t\tvalue=self._profile_config.profile,\n\t\t\t\tpreview_action=self._preview_profile,\n\t\t\t\tkey='profile',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Graphics driver'),\n\t\t\t\taction=self._select_gfx_driver,\n\t\t\t\tvalue=self._profile_config.gfx_driver if self._profile_config.profile and self._profile_config.profile.is_graphic_driver_supported() else None,\n\t\t\t\tpreview_action=self._prev_gfx,\n\t\t\t\tenabled=self._profile_config.profile.is_graphic_driver_supported() if self._profile_config.profile else False,\n\t\t\t\tdependencies=['profile'],\n\t\t\t\tkey='gfx_driver',\n\t\t\t),\n\t\t\tMenuItem(\n\t\t\t\ttext=tr('Greeter'),\n\t\t\t\taction=lambda x: select_greeter(preset=x),\n\t\t\t\tvalue=self._profile_config.greeter if self._profile_config.profile and self._profile_config.profile.is_greeter_supported() else None,\n\t\t\t\tenabled=self._profile_config.profile.is_graphic_driver_supported() if self._profile_config.profile else False,\n\t\t\t\tpreview_action=self._prev_greeter,\n\t\t\t\tdependencies=['profile'],\n\t\t\t\tkey='greeter',\n\t\t\t),\n\t\t]\n\n\t@override\n\tasync def show(self) -> ProfileConfiguration | None:\n\t\treturn await super().show()\n\n\tasync def _select_profile(self, preset: Profile | None) -> Profile | None:\n\t\tprofile = await select_profile(preset)\n\n\t\tif profile is not None:\n\t\t\tif not profile.is_graphic_driver_supported():\n\t\t\t\tself._item_group.find_by_key('gfx_driver').enabled = False\n\t\t\t\tself._item_group.find_by_key('gfx_driver').value = None\n\t\t\telse:\n\t\t\t\tself._item_group.find_by_key('gfx_driver').enabled = True\n\t\t\t\tself._item_group.find_by_key('gfx_driver').value = GfxDriver.AllOpenSource\n\n\t\t\tif not profile.is_greeter_supported():\n\t\t\t\tself._item_group.find_by_key('greeter').enabled = False\n\t\t\t\tself._item_group.find_by_key('greeter').value = None\n\t\t\telse:\n\t\t\t\tself._item_group.find_by_key('greeter').enabled = True\n\t\t\t\tself._item_group.find_by_key('greeter').value = profile.default_greeter_type\n\t\telse:\n\t\t\tself._item_group.find_by_key('gfx_driver').value = None\n\t\t\tself._item_group.find_by_key('greeter').value = None\n\n\t\treturn profile\n\n\tasync def _select_gfx_driver(self, preset: GfxDriver | None = None) -> GfxDriver | None:\n\t\tdriver = preset\n\t\tprofile: Profile | None = self._item_group.find_by_key('profile').value\n\n\t\tif profile:\n\t\t\tif profile.is_graphic_driver_supported():\n\t\t\t\tdriver = await select_driver(preset=preset)\n\n\t\t\tif driver and 'Sway' in profile.current_selection_names():\n\t\t\t\tif driver.is_nvidia():\n\t\t\t\t\theader = tr('The proprietary Nvidia driver is not supported by Sway.') + '\\n'\n\t\t\t\t\theader += tr('It is likely that you will run into issues, are you okay with that?') + '\\n'\n\n\t\t\t\t\tresult = await Confirmation(\n\t\t\t\t\t\theader=header,\n\t\t\t\t\t\tallow_skip=False,\n\t\t\t\t\t\tpreset=False,\n\t\t\t\t\t).show()\n\n\t\t\t\t\tif result.get_value():\n\t\t\t\t\t\treturn preset\n\n\t\treturn driver\n\n\tdef _prev_gfx(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\tdriver = item.get_value().value\n\t\t\tpackages = item.get_value().packages_text()\n\t\t\treturn f'Driver: {driver}\\n{packages}'\n\t\treturn None\n\n\tdef _prev_greeter(self, item: MenuItem) -> str | None:\n\t\tif item.value:\n\t\t\treturn f'{tr(\"Greeter\")}: {item.value.value}'\n\t\treturn None\n\n\tdef _preview_profile(self, item: MenuItem) -> str | None:\n\t\tprofile: Profile | None = item.value\n\t\ttext = ''\n\n\t\tif profile:\n\t\t\tif (sub_profiles := profile.current_selection) is not None:\n\t\t\t\ttext += tr('Selected profiles: ')\n\t\t\t\ttext += ', '.join(p.name for p in sub_profiles) + '\\n'\n\n\t\t\tif packages := profile.packages_text(include_sub_packages=True):\n\t\t\t\ttext += f'{packages}'\n\n\t\t\tif text:\n\t\t\t\treturn text\n\n\t\treturn None\n\n\nasync def select_greeter(\n\tprofile: Profile | None = None,\n\tpreset: GreeterType | None = None,\n) -> GreeterType | None:\n\tif not profile or profile.is_greeter_supported():\n\t\titems = [MenuItem(greeter.value, value=greeter) for greeter in GreeterType]\n\t\tgroup = MenuItemGroup(items, sort_items=True)\n\n\t\tdefault: GreeterType | None = None\n\t\tif preset is not None:\n\t\t\tdefault = preset\n\t\telif profile is not None:\n\t\t\tdefault_greeter = profile.default_greeter_type\n\t\t\tdefault = default_greeter if default_greeter else None\n\n\t\tgroup.set_default_by_value(default)\n\n\t\tresult = await Selection[GreeterType](\n\t\t\tgroup,\n\t\t\theader=tr('Select which greeter to install'),\n\t\t\tallow_skip=True,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn preset\n\t\t\tcase ResultType.Selection:\n\t\t\t\treturn result.get_value()\n\t\t\tcase ResultType.Reset:\n\t\t\t\traise ValueError('Unhandled result type')\n\n\treturn None\n\n\nasync def select_profile(\n\tcurrent_profile: Profile | None = None,\n\theader: str | None = None,\n\tallow_reset: bool = True,\n) -> Profile | None:\n\tfrom archinstall.lib.profile.profiles_handler import profile_handler\n\n\ttop_level_profiles = profile_handler.get_top_level_profiles()\n\n\tif header is None:\n\t\theader = tr('Select a profile type')\n\n\titems = [MenuItem(p.name, value=p) for p in top_level_profiles]\n\tgroup = MenuItemGroup(items, sort_items=True)\n\tgroup.set_selected_by_value(current_profile)\n\n\tresult = await Selection[Profile](\n\t\tgroup,\n\t\theader=header,\n\t\tallow_reset=allow_reset,\n\t\tallow_skip=True,\n\t).show()\n\n\tmatch result.type_:\n\t\tcase ResultType.Reset:\n\t\t\treturn None\n\t\tcase ResultType.Skip:\n\t\t\treturn current_profile\n\t\tcase ResultType.Selection:\n\t\t\tprofile_selection = result.get_value()\n\t\t\tselect_result = await profile_selection.do_on_select()\n\n\t\t\tif not select_result:\n\t\t\t\treturn None\n\n\t\t\t# we're going to reset the currently selected profile(s) to avoid\n\t\t\t# any stale data laying around\n\t\t\tmatch select_result:\n\t\t\t\tcase select_result.NewSelection:\n\t\t\t\t\tprofile_handler.reset_top_level_profiles(exclude=[profile_selection])\n\t\t\t\t\tcurrent_profile = profile_selection\n\t\t\t\tcase select_result.ResetCurrent:\n\t\t\t\t\tprofile_handler.reset_top_level_profiles()\n\t\t\t\t\tcurrent_profile = None\n\t\t\t\tcase select_result.SameSelection:\n\t\t\t\t\tpass\n\n\t\t\treturn current_profile\n"
  },
  {
    "path": "archinstall/lib/profile/profiles_handler.py",
    "content": "from __future__ import annotations\n\nimport importlib.util\nimport inspect\nimport sys\nfrom collections import Counter\nfrom pathlib import Path\nfrom tempfile import NamedTemporaryFile\nfrom types import ModuleType\nfrom typing import TYPE_CHECKING, NotRequired, TypedDict\n\nfrom archinstall.default_profiles.profile import GreeterType, Profile\nfrom archinstall.lib.hardware import GfxDriver\nfrom archinstall.lib.models.profile import ProfileConfiguration\nfrom archinstall.lib.networking import fetch_data_from_url\nfrom archinstall.lib.output import debug, error, info\nfrom archinstall.lib.translationhandler import tr\n\nif TYPE_CHECKING:\n\tfrom archinstall.lib.installer import Installer\n\n\nclass ProfileSerialization(TypedDict):\n\tmain: NotRequired[str]\n\tdetails: NotRequired[list[str]]\n\tcustom_settings: NotRequired[dict[str, dict[str, str | None]]]\n\tpath: NotRequired[str]\n\n\nclass ProfileHandler:\n\tdef __init__(self) -> None:\n\t\tself._profiles: list[Profile] | None = None\n\n\t\t# special variable to keep track of a profile url configuration\n\t\t# it is merely used to be able to export the path again when a user\n\t\t# wants to save the configuration\n\t\tself._url_path: str | None = None\n\n\tdef to_json(self, profile: Profile | None) -> ProfileSerialization:\n\t\t\"\"\"\n\t\tSerialize the selected profile setting to JSON\n\t\t\"\"\"\n\t\tdata: ProfileSerialization = {}\n\n\t\tif profile is not None:\n\t\t\tdata = {\n\t\t\t\t'main': profile.name,\n\t\t\t\t'details': [profile.name for profile in profile.current_selection],\n\t\t\t\t'custom_settings': {profile.name: profile.custom_settings for profile in profile.current_selection},\n\t\t\t}\n\n\t\tif self._url_path is not None:\n\t\t\tdata['path'] = self._url_path\n\n\t\treturn data\n\n\tdef parse_profile_config(self, profile_config: ProfileSerialization) -> Profile | None:\n\t\t\"\"\"\n\t\tDeserialize JSON configuration for profile\n\t\t\"\"\"\n\t\tprofile: Profile | None = None\n\n\t\t# the order of these is important, we want to\n\t\t# load all the default_profiles from url and custom\n\t\t# so that we can then apply whatever was specified\n\t\t# in the main/detail sections\n\t\tif url_path := profile_config.get('path', None):\n\t\t\tself._url_path = url_path\n\t\t\tlocal_path = Path(url_path)\n\n\t\t\tif local_path.is_file():\n\t\t\t\tprofiles = self._process_profile_file(local_path)\n\t\t\t\tself.remove_custom_profiles(profiles)\n\t\t\t\tself.add_custom_profiles(profiles)\n\t\t\telse:\n\t\t\t\tself._import_profile_from_url(url_path)\n\n\t\t# if custom := profile_config.get('custom', None):\n\t\t# \tfrom archinstall.default_profiles.custom import CustomTypeProfile\n\t\t# \tcustom_types = []\n\t\t#\n\t\t# \tfor entry in custom:\n\t\t# \t\tcustom_types.append(\n\t\t# \t\t\tCustomTypeProfile(\n\t\t# \t\t\t\tentry['name'],\n\t\t# \t\t\t\tentry['enabled'],\n\t\t# \t\t\t\tentry.get('packages', []),\n\t\t# \t\t\t\tentry.get('services', [])\n\t\t# \t\t\t)\n\t\t# \t\t)\n\t\t#\n\t\t# \tself.remove_custom_profiles(custom_types)\n\t\t# \tself.add_custom_profiles(custom_types)\n\t\t#\n\t\t# \t# this doesn't mean it's actual going to be set as a selection\n\t\t# \t# but we are simply populating the custom profile with all\n\t\t# \t# possible custom definitions\n\t\t# \tif custom_profile := self.get_profile_by_name('Custom'):\n\t\t# \t\tcustom_profile.set_current_selection(custom_types)\n\n\t\tif main := profile_config.get('main', None):\n\t\t\tprofile = self.get_profile_by_name(main) if main else None\n\n\t\tif not profile:\n\t\t\treturn None\n\n\t\tvalid_sub_profiles: list[Profile] = []\n\t\tinvalid_sub_profiles: list[str] = []\n\t\tdetails: list[str] = profile_config.get('details', [])\n\n\t\tif details:\n\t\t\tfor detail in filter(None, details):\n\t\t\t\t# [2024-04-19] TODO: Backwards compatibility after naming change: https://github.com/archlinux/archinstall/pull/2421\n\t\t\t\t#                    'Kde' is deprecated, remove this block in a future version\n\t\t\t\tif detail == 'Kde':\n\t\t\t\t\tdetail = 'KDE Plasma'\n\n\t\t\t\tif sub_profile := self.get_profile_by_name(detail):\n\t\t\t\t\tvalid_sub_profiles.append(sub_profile)\n\t\t\t\telse:\n\t\t\t\t\tinvalid_sub_profiles.append(detail)\n\n\t\t\tif invalid_sub_profiles:\n\t\t\t\tinfo('No profile definition found: {}'.format(', '.join(invalid_sub_profiles)))\n\n\t\tcustom_settings = profile_config.get('custom_settings', {})\n\t\tprofile.current_selection = valid_sub_profiles\n\n\t\tfor sub_profile in valid_sub_profiles:\n\t\t\tsub_profile_settings = custom_settings.get(sub_profile.name, {})\n\t\t\tif sub_profile_settings:\n\t\t\t\tsub_profile.custom_settings = sub_profile_settings\n\n\t\treturn profile\n\n\t@property\n\tdef profiles(self) -> list[Profile]:\n\t\t\"\"\"\n\t\tList of all available default_profiles\n\t\t\"\"\"\n\t\tself._profiles = self._profiles or self._find_available_profiles()\n\t\treturn self._profiles\n\n\tdef add_custom_profiles(self, profiles: Profile | list[Profile]) -> None:\n\t\tif not isinstance(profiles, list):\n\t\t\tprofiles = [profiles]\n\n\t\tfor profile in profiles:\n\t\t\tself.profiles.append(profile)\n\n\t\tself._verify_unique_profile_names(self.profiles)\n\n\tdef remove_custom_profiles(self, profiles: Profile | list[Profile]) -> None:\n\t\tif not isinstance(profiles, list):\n\t\t\tprofiles = [profiles]\n\n\t\tremove_names = [p.name for p in profiles]\n\t\tself._profiles = [p for p in self.profiles if p.name not in remove_names]\n\n\tdef get_profile_by_name(self, name: str) -> Profile | None:\n\t\treturn next(filter(lambda x: x.name == name, self.profiles), None)\n\n\tdef get_top_level_profiles(self) -> list[Profile]:\n\t\treturn [p for p in self.profiles if p.is_top_level_profile()]\n\n\tdef get_server_profiles(self) -> list[Profile]:\n\t\treturn [p for p in self.profiles if p.is_server_type_profile()]\n\n\tdef get_desktop_profiles(self) -> list[Profile]:\n\t\treturn [p for p in self.profiles if p.is_desktop_type_profile()]\n\n\tdef get_custom_profiles(self) -> list[Profile]:\n\t\treturn [p for p in self.profiles if p.is_custom_type_profile()]\n\n\tdef install_greeter(self, install_session: Installer, greeter: GreeterType) -> None:\n\t\tpackages = []\n\t\tservice = None\n\t\tservice_disable = None\n\n\t\tmatch greeter:\n\t\t\tcase GreeterType.LightdmSlick:\n\t\t\t\tpackages = ['lightdm', 'lightdm-slick-greeter']\n\t\t\t\tservice = ['lightdm']\n\t\t\tcase GreeterType.Lightdm:\n\t\t\t\tpackages = ['lightdm', 'lightdm-gtk-greeter']\n\t\t\t\tservice = ['lightdm']\n\t\t\tcase GreeterType.Sddm:\n\t\t\t\tpackages = ['sddm']\n\t\t\t\tservice = ['sddm']\n\t\t\tcase GreeterType.Gdm:\n\t\t\t\tpackages = ['gdm']\n\t\t\t\tservice = ['gdm']\n\t\t\tcase GreeterType.Ly:\n\t\t\t\tpackages = ['ly']\n\t\t\t\tservice = ['ly@tty1']\n\t\t\t\tservice_disable = ['getty@tty1']\n\t\t\tcase GreeterType.CosmicSession:\n\t\t\t\tpackages = ['cosmic-greeter']\n\t\t\t\tservice = ['cosmic-greeter']\n\t\t\tcase GreeterType.PlasmaLoginManager:\n\t\t\t\tpackages = ['plasma-login-manager']\n\t\t\t\tservice = ['plasmalogin']\n\n\t\tif packages:\n\t\t\tinstall_session.add_additional_packages(packages)\n\t\tif service:\n\t\t\tinstall_session.enable_service(service)\n\t\tif service_disable:\n\t\t\tinstall_session.disable_service(service_disable)\n\n\t\t# slick-greeter requires a config change\n\t\tif greeter == GreeterType.LightdmSlick:\n\t\t\tpath = install_session.target.joinpath('etc/lightdm/lightdm.conf')\n\t\t\twith open(path) as file:\n\t\t\t\tfiledata = file.read()\n\n\t\t\tfiledata = filedata.replace('#greeter-session=example-gtk-gnome', 'greeter-session=lightdm-slick-greeter')\n\n\t\t\twith open(path, 'w') as file:\n\t\t\t\tfile.write(filedata)\n\n\tdef install_gfx_driver(self, install_session: Installer, driver: GfxDriver) -> None:\n\t\tdebug(f'Installing GFX driver: {driver.value}')\n\n\t\tif driver in [GfxDriver.NvidiaOpenKernel, GfxDriver.NvidiaProprietary]:\n\t\t\theaders = [f'{kernel}-headers' for kernel in install_session.kernels]\n\t\t\t# Fixes https://github.com/archlinux/archinstall/issues/585\n\t\t\tinstall_session.add_additional_packages(headers)\n\n\t\tdriver_pkgs = driver.gfx_packages()\n\t\tpkg_names = [p.value for p in driver_pkgs]\n\t\tinstall_session.add_additional_packages(pkg_names)\n\n\tdef install_profile_config(self, install_session: Installer, profile_config: ProfileConfiguration) -> None:\n\t\tprofile = profile_config.profile\n\n\t\tif not profile:\n\t\t\treturn\n\n\t\tif profile_config.gfx_driver and (profile.is_xorg_type_profile() or profile.is_desktop_profile()):\n\t\t\tself.install_gfx_driver(install_session, profile_config.gfx_driver)\n\n\t\tprofile.install(install_session)\n\n\t\tif profile_config.greeter:\n\t\t\tself.install_greeter(install_session, profile_config.greeter)\n\n\tdef _import_profile_from_url(self, url: str) -> None:\n\t\t\"\"\"\n\t\tImport default_profiles from a url path\n\t\t\"\"\"\n\t\ttry:\n\t\t\tdata = fetch_data_from_url(url)\n\t\t\tb_data = bytes(data, 'utf-8')\n\n\t\t\twith NamedTemporaryFile(delete=False, suffix='.py') as fp:\n\t\t\t\tfp.write(b_data)\n\t\t\t\tfilepath = Path(fp.name)\n\n\t\t\tprofiles = self._process_profile_file(filepath)\n\t\t\tself.remove_custom_profiles(profiles)\n\t\t\tself.add_custom_profiles(profiles)\n\t\texcept ValueError:\n\t\t\terr = tr('Unable to fetch profile from specified url: {}').format(url)\n\t\t\terror(err)\n\n\tdef _load_profile_class(self, module: ModuleType) -> list[Profile]:\n\t\t\"\"\"\n\t\tLoad all default_profiles defined in a module\n\t\t\"\"\"\n\t\tprofiles = []\n\t\tfor v in module.__dict__.values():\n\t\t\tif isinstance(v, type) and v.__module__ == module.__name__:\n\t\t\t\tbases = inspect.getmro(v)\n\n\t\t\t\tif Profile in bases:\n\t\t\t\t\ttry:\n\t\t\t\t\t\tcls_ = v()\n\t\t\t\t\t\tif isinstance(cls_, Profile):\n\t\t\t\t\t\t\tprofiles.append(cls_)\n\t\t\t\t\texcept Exception:\n\t\t\t\t\t\tdebug(f'Cannot import {module}, it does not appear to be a Profile class')\n\n\t\treturn profiles\n\n\tdef _verify_unique_profile_names(self, profiles: list[Profile]) -> None:\n\t\t\"\"\"\n\t\tAll profile names have to be unique, this function will verify\n\t\tthat the provided list contains only default_profiles with unique names\n\t\t\"\"\"\n\t\tcounter = Counter([p.name for p in profiles])\n\t\tduplicates = [x for x in counter.items() if x[1] != 1]\n\n\t\tif len(duplicates) > 0:\n\t\t\terr = tr('Profiles must have unique name, but profile definitions with duplicate name found: {}').format(duplicates[0][0])\n\t\t\terror(err)\n\t\t\tsys.exit(1)\n\n\tdef _is_legacy(self, file: Path) -> bool:\n\t\t\"\"\"\n\t\tCheck if the provided profile file contains a\n\t\tlegacy profile definition\n\t\t\"\"\"\n\t\twith open(file) as fp:\n\t\t\tfor line in fp.readlines():\n\t\t\t\tif '__packages__' in line:\n\t\t\t\t\treturn True\n\t\treturn False\n\n\tdef _process_profile_file(self, file: Path) -> list[Profile]:\n\t\t\"\"\"\n\t\tProcess a file for profile definitions\n\t\t\"\"\"\n\t\tif self._is_legacy(file):\n\t\t\tinfo(f'Cannot import {file} because it is no longer supported, please use the new profile format')\n\t\t\treturn []\n\n\t\tif not file.is_file():\n\t\t\tinfo(f'Cannot find profile file {file}')\n\t\t\treturn []\n\n\t\tname = file.name.removesuffix(file.suffix)\n\t\tdebug(f'Importing profile: {file}')\n\n\t\ttry:\n\t\t\tif spec := importlib.util.spec_from_file_location(name, file):\n\t\t\t\timported = importlib.util.module_from_spec(spec)\n\t\t\t\tif spec.loader is not None:\n\t\t\t\t\tspec.loader.exec_module(imported)\n\t\t\t\t\treturn self._load_profile_class(imported)\n\t\texcept Exception as e:\n\t\t\terror(f'Unable to parse file {file}: {e}')\n\n\t\treturn []\n\n\tdef _find_available_profiles(self) -> list[Profile]:\n\t\t\"\"\"\n\t\tSearch the profile path for profile definitions\n\t\t\"\"\"\n\t\tprofiles_path = Path(__file__).parents[2] / 'default_profiles'\n\t\tprofiles = []\n\t\tfor file in profiles_path.glob('**/*.py'):\n\t\t\t# ignore the abstract default_profiles class\n\t\t\tif 'profile.py' in file.name:\n\t\t\t\tcontinue\n\t\t\tprofiles += self._process_profile_file(file)\n\n\t\tself._verify_unique_profile_names(profiles)\n\t\treturn profiles\n\n\tdef reset_top_level_profiles(self, exclude: list[Profile] = []) -> None:\n\t\t\"\"\"\n\t\tReset all top level profile configurations, this is usually necessary\n\t\twhen a new top level profile is selected\n\t\t\"\"\"\n\t\texcluded_profiles = [p.name for p in exclude]\n\t\tfor profile in self.get_top_level_profiles():\n\t\t\tif profile.name not in excluded_profiles:\n\t\t\t\tprofile.reset()\n\n\nprofile_handler = ProfileHandler()\n"
  },
  {
    "path": "archinstall/lib/translationhandler.py",
    "content": "import builtins\nimport gettext\nimport json\nimport os\nfrom dataclasses import dataclass\nfrom pathlib import Path\nfrom typing import override\n\n\n@dataclass\nclass Language:\n\tabbr: str\n\tname_en: str\n\ttranslation: gettext.NullTranslations\n\ttranslation_percent: int\n\ttranslated_lang: str | None\n\n\t@property\n\tdef display_name(self) -> str:\n\t\tname = self.name_en\n\t\treturn f'{name} ({self.translation_percent}%)'\n\n\tdef is_match(self, lang_or_translated_lang: str) -> bool:\n\t\tif self.name_en == lang_or_translated_lang:\n\t\t\treturn True\n\t\telif self.translated_lang == lang_or_translated_lang:\n\t\t\treturn True\n\t\treturn False\n\n\tdef json(self) -> str:\n\t\treturn self.name_en\n\n\nclass TranslationHandler:\n\tdef __init__(self) -> None:\n\t\tself._base_pot = 'base.pot'\n\t\tself._languages = 'languages.json'\n\n\t\tself._total_messages = self._get_total_active_messages()\n\t\tself._translated_languages = self._get_translations()\n\n\t@property\n\tdef translated_languages(self) -> list[Language]:\n\t\treturn self._translated_languages\n\n\tdef _get_translations(self) -> list[Language]:\n\t\t\"\"\"\n\t\tLoad all translated languages and return a list of such\n\t\t\"\"\"\n\t\tmappings = self._load_language_mappings()\n\t\tdefined_languages = self._provided_translations()\n\n\t\tlanguages = []\n\n\t\tfor short_form in defined_languages:\n\t\t\tmapping_entry: dict[str, str] = next(filter(lambda x: x['abbr'] == short_form, mappings))\n\t\t\tabbr = mapping_entry['abbr']\n\t\t\tlang = mapping_entry['lang']\n\t\t\ttranslated_lang = mapping_entry.get('translated_lang', None)\n\n\t\t\ttry:\n\t\t\t\t# get a translation for a specific language\n\t\t\t\ttranslation = gettext.translation('base', localedir=self._get_locales_dir(), languages=(abbr, lang))\n\n\t\t\t\t# calculate the percentage of total translated text to total number of messages\n\t\t\t\tif abbr == 'en':\n\t\t\t\t\tpercent = 100\n\t\t\t\telse:\n\t\t\t\t\tnum_translations = self._get_catalog_size(translation)\n\t\t\t\t\tpercent = int((num_translations / self._total_messages) * 100)\n\t\t\t\t\t# prevent cases where the .pot file is out of date and the percentage is above 100\n\t\t\t\t\tpercent = min(100, percent)\n\n\t\t\t\tlanguage = Language(abbr, lang, translation, percent, translated_lang)\n\t\t\t\tlanguages.append(language)\n\t\t\texcept FileNotFoundError as err:\n\t\t\t\traise FileNotFoundError(f\"Could not locate language file for '{lang}': {err}\")\n\n\t\treturn languages\n\n\tdef _load_language_mappings(self) -> list[dict[str, str]]:\n\t\t\"\"\"\n\t\tLoad the mapping table of all known languages\n\t\t\"\"\"\n\t\tlocales_dir = self._get_locales_dir()\n\t\tlanguages = Path.joinpath(locales_dir, self._languages)\n\n\t\twith open(languages) as fp:\n\t\t\treturn json.load(fp)\n\n\tdef _get_catalog_size(self, translation: gettext.NullTranslations) -> int:\n\t\t\"\"\"\n\t\tGet the number of translated messages for a translations\n\t\t\"\"\"\n\t\t# this is a very naughty way of retrieving the data but\n\t\t# there's no alternative method exposed unfortunately\n\t\tcatalog = translation._catalog  # type: ignore[attr-defined]\n\t\tmessages = {k: v for k, v in catalog.items() if k and v}\n\t\treturn len(messages)\n\n\tdef _get_total_active_messages(self) -> int:\n\t\t\"\"\"\n\t\tGet total messages that could be translated\n\t\t\"\"\"\n\t\tlocales = self._get_locales_dir()\n\t\twith open(f'{locales}/{self._base_pot}') as fp:\n\t\t\tlines = fp.readlines()\n\t\t\tmsgid_lines = [line for line in lines if 'msgid' in line]\n\n\t\treturn len(msgid_lines) - 1  # don't count the first line which contains the metadata\n\n\tdef get_language_by_name(self, name: str) -> Language:\n\t\t\"\"\"\n\t\tGet a language object by it's name, e.g. English\n\t\t\"\"\"\n\t\ttry:\n\t\t\treturn next(filter(lambda x: x.name_en == name, self._translated_languages))\n\t\texcept Exception:\n\t\t\traise ValueError(f'No language with name found: {name}')\n\n\tdef get_language_by_abbr(self, abbr: str) -> Language:\n\t\t\"\"\"\n\t\tGet a language object by its abbreviation, e.g. en\n\t\t\"\"\"\n\t\ttry:\n\t\t\treturn next(filter(lambda x: x.abbr == abbr, self._translated_languages))\n\t\texcept Exception:\n\t\t\traise ValueError(f'No language with abbreviation \"{abbr}\" found')\n\n\tdef activate(self, language: Language) -> None:\n\t\t\"\"\"\n\t\tSet the provided language as the current translation\n\t\t\"\"\"\n\t\t# The install() call has the side effect of assigning GNUTranslations.gettext to builtins._\n\t\tlanguage.translation.install()\n\n\tdef _get_locales_dir(self) -> Path:\n\t\t\"\"\"\n\t\tGet the locales directory path\n\t\t\"\"\"\n\t\tcur_path = Path(__file__).parent.parent\n\t\tlocales_dir = Path.joinpath(cur_path, 'locales')\n\t\treturn locales_dir\n\n\tdef _provided_translations(self) -> list[str]:\n\t\t\"\"\"\n\t\tGet a list of all known languages\n\t\t\"\"\"\n\t\tlocales_dir = self._get_locales_dir()\n\t\tfilenames = os.listdir(locales_dir)\n\n\t\ttranslation_files = []\n\t\tfor filename in filenames:\n\t\t\tif len(filename) == 2 or filename in ['pt_BR', 'zh-CN', 'zh-TW']:\n\t\t\t\ttranslation_files.append(filename)\n\n\t\treturn translation_files\n\n\nclass _DeferredTranslation:\n\tdef __init__(self, message: str):\n\t\tself.message = message\n\n\t@override\n\tdef __str__(self) -> str:\n\t\tif builtins._ is _DeferredTranslation:  # type: ignore[attr-defined]\n\t\t\treturn self.message\n\n\t\t# builtins._ is changed from _DeferredTranslation to GNUTranslations.gettext after\n\t\t# Language.activate() is called\n\t\treturn builtins._(self.message)  # type: ignore[attr-defined]\n\n\ndef tr(message: str) -> str:\n\treturn str(_DeferredTranslation(message))\n\n\nbuiltins._ = _DeferredTranslation  # type: ignore[attr-defined]\n\n\ntranslation_handler = TranslationHandler()\n"
  },
  {
    "path": "archinstall/lib/user/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/user/user_menu.py",
    "content": "import re\nfrom typing import override\n\nfrom archinstall.lib.menu.helpers import Confirmation, Input\nfrom archinstall.lib.menu.list_manager import ListManager\nfrom archinstall.lib.menu.util import get_password\nfrom archinstall.lib.models.users import User\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem\nfrom archinstall.tui.ui.result import ResultType\n\n\nclass UserList(ListManager[User]):\n\tdef __init__(self, prompt: str, lusers: list[User]):\n\t\tself._actions = [\n\t\t\ttr('Add a user'),\n\t\t\ttr('Change password'),\n\t\t\ttr('Promote/Demote user'),\n\t\t\ttr('Delete User'),\n\t\t]\n\n\t\tsuper().__init__(\n\t\t\tlusers,\n\t\t\t[self._actions[0]],\n\t\t\tself._actions[1:],\n\t\t\tprompt,\n\t\t)\n\n\tasync def show(self) -> list[User] | None:\n\t\treturn await super()._run()\n\n\t@override\n\tdef selected_action_display(self, selection: User) -> str:\n\t\treturn selection.username\n\n\t@override\n\tasync def handle_action(self, action: str, entry: User | None, data: list[User]) -> list[User]:\n\t\tif action == self._actions[0]:  # add\n\t\t\tnew_user = await self._add_user()\n\t\t\tif new_user is not None:\n\t\t\t\t# in case a user with the same username as an existing user\n\t\t\t\t# was created we'll replace the existing one\n\t\t\t\tdata = [d for d in data if d.username != new_user.username]\n\t\t\t\tdata += [new_user]\n\t\telif action == self._actions[1] and entry:  # change password\n\t\t\theader = f'{tr(\"User\")}: {entry.username}\\n'\n\t\t\theader += tr('Enter new password')\n\t\t\tnew_password = await get_password(header=header, allow_skip=True)\n\n\t\t\tif new_password:\n\t\t\t\tuser = next(filter(lambda x: x == entry, data))\n\t\t\t\tuser.password = new_password\n\t\telif action == self._actions[2] and entry:  # promote/demote\n\t\t\tuser = next(filter(lambda x: x == entry, data))\n\t\t\tuser.sudo = False if user.sudo else True\n\t\telif action == self._actions[3] and entry:  # delete\n\t\t\tdata = [d for d in data if d != entry]\n\n\t\treturn data\n\n\tdef _check_for_correct_username(self, username: str | None) -> str | None:\n\t\tif username is not None:\n\t\t\tif re.match(r'^[a-z_][a-z0-9_-]*\\$?$', username) and len(username) <= 32:\n\t\t\t\treturn None\n\t\treturn tr('The username you entered is invalid')\n\n\tasync def _add_user(self) -> User | None:\n\t\teditResult = await Input(\n\t\t\ttr('Enter a username'),\n\t\t\tallow_skip=True,\n\t\t\tvalidator_callback=self._check_for_correct_username,\n\t\t).show()\n\n\t\tmatch editResult.type_:\n\t\t\tcase ResultType.Skip:\n\t\t\t\treturn None\n\t\t\tcase ResultType.Selection:\n\t\t\t\tusername = editResult.get_value()\n\t\t\tcase _:\n\t\t\t\traise ValueError('Unhandled result type')\n\n\t\tif not username:\n\t\t\treturn None\n\n\t\theader = f'{tr(\"Username\")}: {username}\\n'\n\t\tprompt = f'{header}\\n' + tr('Enter a password')\n\n\t\tpassword = await get_password(header=prompt, allow_skip=True)\n\n\t\tif not password:\n\t\t\treturn None\n\n\t\theader += f'{tr(\"Password\")}: {password.hidden()}\\n'\n\t\tprompt = f'{header}\\n' + tr('Should \"{}\" be a superuser (sudo)?\\n').format(username)\n\n\t\tresult = await Confirmation(\n\t\t\theader=prompt,\n\t\t\tallow_skip=False,\n\t\t\tpreset=True,\n\t\t).show()\n\n\t\tmatch result.type_:\n\t\t\tcase ResultType.Selection:\n\t\t\t\tsudo = result.item() == MenuItem.yes()\n\t\t\tcase _:\n\t\t\t\traise ValueError('Unhandled result type')\n\n\t\treturn User(username, password, sudo)\n\n\nasync def select_users(prompt: str = '', preset: list[User] = []) -> list[User]:\n\tusers = await UserList(prompt, preset).show()\n\n\tif users is None:\n\t\treturn preset\n\n\treturn users\n"
  },
  {
    "path": "archinstall/lib/utils/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/lib/utils/encoding.py",
    "content": "import re\nimport unicodedata\nfrom functools import lru_cache\n\n# https://stackoverflow.com/a/43627833/929999\n_VT100_ESCAPE_REGEX = r'\\x1B\\[[?0-9;]*[a-zA-Z]'\n_VT100_ESCAPE_REGEX_BYTES = _VT100_ESCAPE_REGEX.encode()\n\n\ndef clear_vt100_escape_codes(data: bytes) -> bytes:\n\treturn re.sub(_VT100_ESCAPE_REGEX_BYTES, b'', data)\n\n\ndef clear_vt100_escape_codes_from_str(data: str) -> str:\n\treturn re.sub(_VT100_ESCAPE_REGEX, '', data)\n\n\n@lru_cache(maxsize=128)\ndef _is_wide_character(char: str) -> bool:\n\treturn unicodedata.east_asian_width(char) in 'FW'\n\n\ndef _count_wchars(string: str) -> int:\n\t\"Count the total number of wide characters contained in a string\"\n\treturn sum(_is_wide_character(c) for c in string)\n\n\ndef unicode_ljust(string: str, width: int, fillbyte: str = ' ') -> str:\n\t\"\"\"Return a left-justified unicode string of length width.\n\t>>> unicode_ljust('Hello', 15, '*')\n\t'Hello**********'\n\t>>> unicode_ljust('你好', 15, '*')\n\t'你好***********'\n\t>>> unicode_ljust('안녕하세요', 15, '*')\n\t'안녕하세요*****'\n\t>>> unicode_ljust('こんにちは', 15, '*')\n\t'こんにちは*****'\n\t\"\"\"\n\treturn string.ljust(width - _count_wchars(string), fillbyte)\n\n\ndef unicode_rjust(string: str, width: int, fillbyte: str = ' ') -> str:\n\t\"\"\"Return a right-justified unicode string of length width.\n\t>>> unicode_rjust('Hello', 15, '*')\n\t'**********Hello'\n\t>>> unicode_rjust('你好', 15, '*')\n\t'***********你好'\n\t>>> unicode_rjust('안녕하세요', 15, '*')\n\t'*****안녕하세요'\n\t>>> unicode_rjust('こんにちは', 15, '*')\n\t'*****こんにちは'\n\t\"\"\"\n\treturn string.rjust(width - _count_wchars(string), fillbyte)\n"
  },
  {
    "path": "archinstall/lib/utils/util.py",
    "content": "import secrets\nimport string\nfrom pathlib import Path\n\nfrom archinstall.lib.output import FormattedOutput\n\n\ndef running_from_iso() -> bool:\n\t\"\"\"\n\tCheck if running from the archiso environment.\n\n\tReturns True if /run/archiso/airootfs is a mount point (ISO mode).\n\tReturns False if running from installed system (host mode) for host-to-target install.\n\t\"\"\"\n\treturn Path('/run/archiso/airootfs').is_mount()\n\n\ndef generate_password(length: int = 64) -> str:\n\thaystack = string.printable  # digits, ascii_letters, punctuation (!\"#$[] etc) and whitespace\n\treturn ''.join(secrets.choice(haystack) for _ in range(length))\n\n\ndef is_subpath(first: Path, second: Path) -> bool:\n\t\"\"\"\n\tCheck if _first_ a subpath of _second_\n\t\"\"\"\n\ttry:\n\t\tfirst.relative_to(second)\n\t\treturn True\n\texcept ValueError:\n\t\treturn False\n\n\ndef format_cols(items: list[str], header: str | None = None) -> str:\n\tif header:\n\t\ttext = f'{header}:\\n'\n\telse:\n\t\ttext = ''\n\n\tnr_items = len(items)\n\tif nr_items <= 4:\n\t\tcol = 1\n\telif nr_items <= 8:\n\t\tcol = 2\n\telif nr_items <= 12:\n\t\tcol = 3\n\telse:\n\t\tcol = 4\n\n\ttext += FormattedOutput.as_columns(items, col)\n\t# remove whitespaces on each row\n\ttext = '\\n'.join(t.strip() for t in text.split('\\n'))\n\treturn text\n"
  },
  {
    "path": "archinstall/lib/version.py",
    "content": "from importlib.metadata import version\n\n\ndef get_version() -> str:\n\ttry:\n\t\treturn version('archinstall')\n\texcept Exception:\n\t\treturn 'Archinstall version not found'\n"
  },
  {
    "path": "archinstall/locales/README.md",
    "content": "# Nationalization\n\nArchinstall supports multiple languages, which depend on translations coming from the community :)\n\n## Important Note\nBefore starting a new language translation be aware that a font for that language may not be\navailable on the ISO.\n\nFonts that are using a different character set than Latin will not be displayed correctly. If those languages\nwant to be selected, then a proper font has to be set manually in the console.\n\nAll available console fonts can be found in `/usr/share/kbd/consolefonts` and they\ncan be set with `setfont LatGrkCyr-8x16`.\n\nAlso note that for example [grub bootloader](https://www.gnu.org/software/grub/manual/grub/grub.html#Input-terminal) has ASCII limited range:\nFor full disk encryption (LUKS2) or grub-shell, boot options edit: this means alphanumeric latin characters (one-char-per-keystroke).\n\nArchinstall validates this by making sure your passwords are ASCII compatible.\nIt is quite trivial through Login-manager and/or Desktop Environment to set other layouts or switching later-on.\n\nFor full `at_keyboard` support it is possible through `ckbcomp` See guide [here](https://fitzcarraldoblog.wordpress.com/2019/04/21/how-to-change-the-keymap-keyboard-layout-used-by-the-grub-shell-in-gentoo-linux/) And [ckbcomp<sup>AUR</sup>](https://aur.archlinux.org/packages/ckbcomp)\n\nBy default bootloaders look for `vconsole.conf` keymap. Other bootloaders such as `systemd-boot` and `limine` have full keymap support.\n\n## Adding new languages\n\nNew languages can be added simply by creating a new folder with the proper language abbreviation (see list `languages.json` if unsure).\nRun the following command to create a new template for a language\n```\nmkdir -p <abbr>/LC_MESSAGES/ && touch <abbr>/LC_MESSAGES/base.po\n```\n\nAfter that run the script `./locales_generator.sh <lang_abbr>` it will automatically populate the new `base.po` file with the strings that\nneed to be translated into the new language.\nFor example the `base.po` might contain something like the following now\n```\n#: lib/user_interaction.py:82\nmsgid \"Do you really want to abort?\"\nmsgstr \"\"\n```\n\nThe `msgid` is the identifier of the string in the code as well as the default text to be displayed, meaning that if no\ntranslation is provided for a language then this is the text that is going to be shown.\n\n## Perform translations\n\nFirstly run the script `./locales_generator.sh <lang_abbr>` to update `base.po` to the latest.\n\nTo perform translations for a language, the file `base.po` can be edited manually, or the neat `poedit` can be used (https://poedit.net/).\nIf editing the file manually, write the translation in the `msgstr` part\n\n```\n#: lib/user_interaction.py:82\nmsgid \"Do you really want to abort?\"\nmsgstr \"Wollen sie wirklich abbrechen?\"\n```\n\nAfter the translations have been written, run the script once more `./locales_generator.sh <lang_abbr>` and it will auto-generate the `base.mo` file with the included translations.\n\nAfter that you're all ready to go and enjoy Archinstall in the new language :)\n"
  },
  {
    "path": "archinstall/locales/ar/LC_MESSAGES/base.po",
    "content": "# Header entry was created by Lokalize.\n#\n# zer0-x, 2022.\n# SPDX-FileCopyrightText: 2024 Omar TS <ots@duck.com>\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: 2024-11-22 13:44+0100\\n\"\n\"Last-Translator: Omar TS <ots@duck.com>\\n\"\n\"Language-Team: Arabic <kde-i18n-doc@kde.org>\\n\"\n\"Language: ar\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\\n\"\n\"X-Generator: Lokalize 24.08.3\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] مِلَف سِجِل أُنشِأ هُنا: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    يُرجى تسليم تقرير عن هذا الخلل (مع المِلَف) إلى https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"هل تُريدُ حقًا إجهاضَ العَملِيَّة؟\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"ومرة أخرى للتحقق: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"هل تريد استخدام swap أو zram؟\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"اسم المضيف المُراد للتثبيت: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"اسم المتستخدم لأجل المستخدم الخارِق المطلوب مع امتيازات sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"أي مستخدمين إضافيين للتثبيت (اتركه فارغًا لعدم وجود مستخدمين): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"هل يجب أن يكون هذا المستخدم خارقا (sudoer)؟\"\n\nmsgid \"Select a timezone\"\nmsgstr \"حدِّد منطقة زمنية\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"هل ترغب في استخدام GRUB كمُحمّل إقلاع بدلاً من systemd-boot؟\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"اختر مُحمّل الإقلاع\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"اختر خادِم صوتيات\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"فقط الحزم مثل base وbase-devel وlinux وlinux-firmware وefibootmgr و حِزم مِلف اختيارية سوف تُثَبَّت.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"إذا كنت ترغب في متصفح الويب ، مثل Firefox أو chromium، فيمكنك تحديده في موضِع الكتابة التالي.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"اكتب حزمًا إضافية لتثبيتها (تُفصَل بالمسافات، اتركها فارغة للتخطي): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"انسخ إعداد شبكة الـISO للتثبيت\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"استخدم مُدير الشبكة (ضروري لإعداد الإنترنت باستخدام واجهة رسومية في جنوم و كيدي)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"حدِّد واجهة شبكة واحدة للإعداد\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"حدد الوضع المراد تهيئته لـ\\\"{}\\\" أو تخطى لاستخدام الوضع الافتراضي \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"أدخِل الIP مع تجزئة الشبكة لـ{} (على سبيل المثال: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"أدخل عنوان IP الخاص بالبوابة (جهاز التوجيه) أو اتركه فارغاً لعدم وجود عنوان IP: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"أدخل خوادم DNS الخاصة بك (يجب أن تكون مفصولة بمسافات، أو فارغة في حالة عدم وجود خوادم): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"حدد نظام الملفات الذي يجب أن يستخدمه القسم الرئيسي الخاص بك\"\n\nmsgid \"Current partition layout\"\nmsgstr \"تخطيط القسم الحالي\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"حدد ما يجب القيام به باستخدام\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"إدخال نوع نظام الملفات المطلوب للقسم\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"أدخل نقطة البداية (بوحدات مجزأة: s، GB، %، إلخ؛ default: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"أدخل موقع النهاية (بوحدات مجزأة: s، GB، %، إلخ؛ على سبيل المثال: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"تحتوي {} على أقسام مدرجة في قائمة الانتظار، سيؤدي ذلك إلى إزالتها، هل أنت متأكد؟\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"حدد حسب الفهرس الأقسام المراد حذفها\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"اختر حسب الفهرس القسم الذي تريد تحميله حيث\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * نقاط تحميل القسم هي نسبية داخل التثبيت، سيكون الإقلاع /boot كمثال. \"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"حدد مكان تحميل القسم (اتركه فارغاً لإزالة نقطة التحميل): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"حدد القسم المراد إخفاءه للتهيئة\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"حدد القسم المراد وضع علامة على أنه مشفر\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"حدد القسم المراد وضع علامة على أنه قابل للإقلاع\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"حدد القسم المراد وضع علامة على أنه قابل للتمهيد\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"أدخل نوع نظام الملفات المطلوب للقسم: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"لغات Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"امسح جميع محركات الأقراص المحددة واستخدم تخطيط القسم الافتراضي الأفضل من حيث الجهد\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"حدد ما يجب فعله بكل محرك أقراص على حدة (متبوعًا باستخدام القسم)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"حدد ما ترغب في القيام به مع أجهزة الكتلة المحددة\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"هذه قائمة بالملفات الشخصية المبرمجة مسبقاً، قد تسهل تثبيت أشياء مثل بيئات سطح المكتب\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"تحديد تخطيط لوحة المفاتيح\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"اختر إحدى المناطق لتنزيل الحزم منها\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"حدد محرك أقراص ثابت واحد أو أكثر لاستخدامه وإعداده\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"للحصول على أفضل توافق مع أجهزة AMD الخاصة بك، قد ترغب في استخدام إما خيارات جميع المصادر المفتوحة المصدر أو AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"للحصول على أفضل توافق مع أجهزة Intel الخاصة بك، قد ترغب في استخدام إما جميع الخيارات مفتوحة المصدر أو خيارات Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"للحصول على أفضل توافق مع أجهزة Nvidia الخاصة بك، قد ترغب في استخدام برنامج التشغيل الخاص ب Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"حدد برنامج تشغيل رسومات أو اتركه فارغاً لتثبيت جميع برامج التشغيل مفتوحة المصدر\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"جميعها مفتوحة المصدر (افتراضي)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"اختر النواة التي تريد استخدامها أو اتركها فارغة للإعداد الافتراضي \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"اختر اللغة المحلية التي تريد استخدامها\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"اختر ترميز الإعدادات المحلية المراد استخدامها\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"اختر إحدى القيم الموضحة أدناه: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"حدد واحداً أو أكثر من الخيارات أدناه: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"إضافة قسم....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"تحتاج إلى إدخال نوع fs صالح من أجل المتابعة. انظر 'man parted' لمعرفة نوع fs صالح.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"خطأ: نتج عن إدراج ملفات التعريف على عنوان URL \\\"{}\\\":\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"خطأ: تعذر فك تشفير نتيجة \\\"{}\\\" كنتيجة JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"تخطيط لوحة المفاتيح\"\n\nmsgid \"Mirror region\"\nmsgstr \"منطقة المرايا\"\n\nmsgid \"Locale language\"\nmsgstr \"لغة الإعدادات المحلية\"\n\nmsgid \"Locale encoding\"\nmsgstr \"ترميز الإعدادات المحلية\"\n\nmsgid \"Drive(s)\"\nmsgstr \"محرك (أو محركات)\"\n\nmsgid \"Disk layout\"\nmsgstr \"تخطيط القرص\"\n\nmsgid \"Encryption password\"\nmsgstr \"كلمة سر التشفير\"\n\nmsgid \"Swap\"\nmsgstr \"ذاكرة التبديل(Swap)\"\n\nmsgid \"Bootloader\"\nmsgstr \"محمل الإقلاع\"\n\nmsgid \"Root password\"\nmsgstr \"كلمة مرور الجذر\"\n\nmsgid \"Superuser account\"\nmsgstr \"حساب المستخدم المتميز\"\n\nmsgid \"User account\"\nmsgstr \"حساب المستخدم\"\n\nmsgid \"Profile\"\nmsgstr \"الملف الشخصي\"\n\nmsgid \"Audio\"\nmsgstr \"الصوت\"\n\nmsgid \"Kernels\"\nmsgstr \"الأنوية\"\n\nmsgid \"Additional packages\"\nmsgstr \"الباقات الإضافية\"\n\nmsgid \"Network configuration\"\nmsgstr \"ضبط الشبكة\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"المزامنة التلقائية للوقت (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"تثبيت ({} الإعداد(ات) مفقودة)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"قررت تخطي اختيار القرص الصلب\\n\"\n\"وستستخدم أي إعداد لمحرك الأقراص مثبت على {} (تجريبي)\\n\"\n\"تحذير: لن يتحقق برنامج Archinstall من ملاءمة هذا الإعداد\\n\"\n\"هل ترغب في المتابعة؟\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"إعادة استخدام مثيل القسم: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"أنشئ قسماً جديداً\"\n\nmsgid \"Delete a partition\"\nmsgstr \"احذف قسماً\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"مسح/حذف جميع الأقسام\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"تعيين نقطة تثبيت لقسم\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"وضع علامة/إلغاء وضع علامة على قسم ليتم تهيئته (مسح البيانات)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"وضع علامة/إلغاء وضع علامة على قسم على أنه مشفر\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"تحديد/إلغاء تحديد قسم على أنه قابل للإقلاع (تلقائي ل /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"تعيين نظام الملفات المطلوب للقسم\"\n\nmsgid \"Abort\"\nmsgstr \"إلغاء\"\n\nmsgid \"Hostname\"\nmsgstr \"اسم المُضيف\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"غير مهيأ، غير متوفر ما لم يتم إعداده يدوياً\"\n\nmsgid \"Timezone\"\nmsgstr \"المنطقة الزمنية\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"تعيين/تعديل الخيارات التالية\"\n\nmsgid \"Install\"\nmsgstr \"التثبيت\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"استخدم ESC لتخطي\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"اقتراح تخطيط التقسيم\"\n\nmsgid \"Enter a password: \"\nmsgstr \"أدخل كلمة مرور: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"أدخل كلمة مرور تشفير لـ {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"أدخل كلمة مرور تشفير القرص (اتركها فارغة لعدم وجود تشفير): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"أدخل كلمة مرور تشفير القرص (اتركها فارغة لعدم استخدام التشفير): \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"أدخل كلمة مرور الجذر (اتركها فارغة لتعطيل الجذر): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"كلمة المرور للمستخدم \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"التحقق من وجود حزم إضافية (قد يستغرق ذلك بضع ثوانٍ)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"هل ترغب في استخدام المزامنة التلقائية للوقت (NTP) مع خوادم الوقت الافتراضية؟\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"قد تكون هناك حاجة إلى وقت الأجهزة وخطوات أخرى بعد التكوين حتى يعمل NTP.\\n\"\n\"للمزيد من المعلومات، يُرجى مراجعة ويكي Arch\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"أدخل اسم مستخدم لإنشاء مستخدم إضافي (اتركه فارغاً للتخطي): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"استخدم ESC لتخطي\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" اختر غرضًا من القائمة، وحدد أحد الإجراءات المتاحة لتنفيذه\"\n\nmsgid \"Cancel\"\nmsgstr \"إلغاء\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"تأكيد وخروج\"\n\nmsgid \"Add\"\nmsgstr \"إضافة\"\n\nmsgid \"Copy\"\nmsgstr \"نسخ\"\n\nmsgid \"Edit\"\nmsgstr \"تعديل\"\n\nmsgid \"Delete\"\nmsgstr \"حذف\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"تحديد إجراء ل '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"نسخ إلى مفتاح جديد:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"نوع nic غير معروف: {}. القيم الممكنة هي {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"هذه هي الإعدادات التي اخترتها:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"باكمان يعمل بالفعل، وينتظر 10 دقائق كحد أقصى حتى ينتهي.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"باكمان يعمل بالفعل، ينتظر 10 دقائق كحد أقصى حتى ينتهي.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"اختر المستودعات الإضافية الاختيارية التي تريد تمكينها\"\n\nmsgid \"Add a user\"\nmsgstr \"إضافة مستخدم\"\n\nmsgid \"Change password\"\nmsgstr \"تغيير كلمة المرور\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"ترقية/خفض رتبة مستخدم\"\n\nmsgid \"Delete User\"\nmsgstr \"حذف المستخدم\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"تعريف مستخدم جديد\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"اسم المستخدم : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"هل يجب أن يكون {} مستخدمًا خارقًا (سودو)؟\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"تعريف المستخدمين بامتياز sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"لا يوجد إعداد للشبكة\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"تعيين وحدات التخزين الفرعية المطلوبة على قسم btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"حدد القسم الذي تريد تعيين وحدات التخزين الفرعية عليه\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"إدارة وحدات تخزين btrfs الفرعية للقسم الحالي\"\n\nmsgid \"No configuration\"\nmsgstr \"لا يوجد إعدادات\"\n\nmsgid \"Save user configuration\"\nmsgstr \"حفظ إعدادات المستخدم\"\n\nmsgid \"Save user credentials\"\nmsgstr \"حفظ بيانات اعتماد المستخدم\"\n\nmsgid \"Save disk layout\"\nmsgstr \"حفظ تخطيط القرص\"\n\nmsgid \"Save all\"\nmsgstr \"حفظ الكل\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"اختر الإعدادات التي تريد حفظها\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"أدخل مجلداً للإعدادات التي سيتم حفظها: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"ليس مجلدًا صالحًا: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"يبدو أن كلمة المرور التي تستخدمها ضعيفة,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"هل أنت متأكد من أنك تريد استخدامها؟\"\n\nmsgid \"Optional repositories\"\nmsgstr \"المستودعات الاختيارية\"\n\nmsgid \"Save configuration\"\nmsgstr \"حفظ الإعدادات\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"إعدادات مفقودة:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"يجب تحديد إما كلمة مرور الجذر أو على الأقل المستخدم المتميز\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"إدارة حسابات المستخدمين المتميزين: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"إدارة حسابات المستخدمين العاديين: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" المجلد الفرعي :{:16} \"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" مثبتة في {:16} \"\n\nmsgid \" with option {}\"\nmsgstr \" مع الخيار {} \"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" املأ القيم المطلوبة لوحدة التخزين الفرعية الجديدة \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"اسم وحدة التخزين الفرعية \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"نقطة تحميل وحدة التخزين الفرعية\"\n\nmsgid \"Subvolume options\"\nmsgstr \"خيارات وحدة التخزين الفرعية\"\n\nmsgid \"Save\"\nmsgstr \"حفظ\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"اسم وحدة التخزين الفرعية :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"حدد نقطة التثبيت :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"حدد خيارات وحدة التخزين الفرعية المطلوبة \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"تحديد المستخدمين الذين لديهم امتياز sudo، حسب اسم المستخدم: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] تم إنشاء ملف سجل هنا: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"هل ترغب في استخدام وحدات التخزين الفرعية BTRFS ذات البنية الافتراضية؟\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"هل ترغب في استخدام ضغط BTRFS؟\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"هل ترغب في إنشاء قسم منفصل لـ /home؟\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"لا تحتوي محركات الأقراص المحددة على الحد الأدنى من السعة المطلوبة للاقتراح التلقائي\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"الحد الأدنى لسعة القسم /home: {} جيجابايت\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"الحد الأدنى لسعة قسم Arch Linux: {} جيجابايت\"\n\nmsgid \"Continue\"\nmsgstr \"متابعة\"\n\nmsgid \"yes\"\nmsgstr \"نعم\"\n\nmsgid \"no\"\nmsgstr \"لا\"\n\nmsgid \"set: {}\"\nmsgstr \"حدد: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"يجب أن يكون إعداد التكوين اليدوي قائمة\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"لا يوجد وجه (iface) محدد للتكوين اليدوي\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"يتطلب تكوين nic اليدوي مع عدم وجود DHCP التلقائي عنوان IP\"\n\nmsgid \"Add interface\"\nmsgstr \"إضافة واجهة\"\n\nmsgid \"Edit interface\"\nmsgstr \"تعديل الواجهة\"\n\nmsgid \"Delete interface\"\nmsgstr \"حذف الواجهة\"\n\nmsgid \"Select interface to add\"\nmsgstr \"حدد واجهة لإضافتها\"\n\nmsgid \"Manual configuration\"\nmsgstr \"ضبط يدوي\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"وضع علامة/إلغاء وضع علامة على قسم كقسم مضغوط (btrfs فقط)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"يبدو أن كلمة المرور التي تستخدمها ضعيفة، هل أنت متأكد من أنك تريد استخدامها؟\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"يوفر مجموعة مختارة من بيئات سطح المكتب ومديري نوافذ التجانب، مثل gnome و kde و sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"حدد بيئة سطح المكتب التي تريدها\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"تثبيت أساسي جداً يسمح لك بتخصيص آرتش لينكس (Arch Linux) كما تراه مناسباً.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"يوفر مجموعة مختارة من حزم الخوادم المختلفة لتثبيتها وتمكينها، مثل httpd و nginx و mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"اختر الخوادم التي سيتم تثبيتها، إذا لم يكن هناك أي خوادم، فسيتم إجراء الحد الأدنى من التثبيت\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"تثبيت الحد الأدنى من النظام بالإضافة إلى إكسورج (xorg) وبرامج تشغيل الرسومات.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"اضغط على Enter للمتابعة.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"هل ترغب في الانتقال (chroot) إلى التثبيت الذي تم إنشاؤه حديثاً وإجراء تهيئة ما بعد التثبيت؟\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"هل أنت متأكد من رغبتك في إعادة ضبط هذا الإعداد؟\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"حدد محرك أقراص صلب واحد أو أكثر لاستخدامه وضبطه\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"أي تعديلات على الإعداد الحالي سيعيد ضبط تخطيط القرص!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"إذا قمت بإعادة تعيين اختيار القرص الصلب، فسيؤدي ذلك أيضًا إلى إعادة تعيين تخطيط القرص الحالي. هل أنت متأكد؟\"\n\nmsgid \"Save and exit\"\nmsgstr \"الحفظ والخروج\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"تحتوي على أقسام في قائمة الانتظار، سيؤدي ذلك إلى إزالتها، هل أنت متأكد؟\"\n\nmsgid \"No audio server\"\nmsgstr \"لا يوجد خادم صوت\"\n\nmsgid \"(default)\"\nmsgstr \"(افتراضي)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"استخدم زر الهروب ESC للتخطي\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"استخدم CTRL+C لإعادة تعيين التحديد الحالي\\n\"\n\"\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"نسخ إلى: \"\n\nmsgid \"Edit: \"\nmsgstr \"تعديل: \"\n\nmsgid \"Key: \"\nmsgstr \"مفتاح: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"تعديل {}:  \"\n\nmsgid \"Add: \"\nmsgstr \"أضف: \"\n\nmsgid \"Value: \"\nmsgstr \"القيمة: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"يمكنك تخطي تحديد محرك أقراص وتقسيمه واستخدام أي إعدادات محرك أقراص مثبتة على /mnt (تجريبي)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"حدد أحد الأقراص أو تخطى واستخدم  /mnt كافتراضي\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"حدد الأقسام التي تريد وضع علامة عليها للتهيئة:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"استخدام HSM لإلغاء قفل محرك الأقراص المشفر\"\n\nmsgid \"Device\"\nmsgstr \"جهاز\"\n\nmsgid \"Size\"\nmsgstr \"حجم\"\n\nmsgid \"Free space\"\nmsgstr \"مساحة خالية\"\n\nmsgid \"Bus-type\"\nmsgstr \"نوع الناقلة\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"يجب تحديد إما كلمة مرور الجذر أو مستخدم واحد على الأقل بامتيازات سودو (sudo)\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"أدخل اسم المستخدم (اتركه فارغاً للتخطي):  \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"اسم المستخدم الذي أدخلته غير صالح. حاول مرة أخرى\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"هل يجب أن يكون \\\"{}\\\" مستخدمًا خارقًا (sudo)؟\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"حدد الأقسام المراد تشفيرها\"\n\nmsgid \"very weak\"\nmsgstr \"ضعيف جداً\"\n\nmsgid \"weak\"\nmsgstr \"ضعيف\"\n\nmsgid \"moderate\"\nmsgstr \"متوسط\"\n\nmsgid \"strong\"\nmsgstr \"قوي\"\n\nmsgid \"Add subvolume\"\nmsgstr \"إضافة حجم فرعي\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"تعديل الحجم الفرعي\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"حذف الحجم الفرعي\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"تهيئة {} الواجهات\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"يتيح هذا الخيار عدد التنزيلات المتوازية التي يمكن أن تحدث أثناء التثبيت\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"أدخل عدد التنزيلات المتوازية المراد تمكينها.\\n\"\n\" (أدخل قيمة تتراوح بين 1 إلى {})\\n\"\n\"ملاحظة: \"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - الحد الأقصى للقيمة : {} (يسمح بـ {} تنزيلات متوازية ، ويسمح بـ {} تنزيلات في المرة الواحدة)\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - الحد الأدنى للقيمة: 1 (يسمح بتنزيل متوازي واحد، ويسمح بتنزيلين في المرة الواحدة)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - تعطيل/افتراضي: 0 (تعطيل التنزيل المتوازي، يسمح بتنزيل واحد فقط في كل مرة)\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"إدخال غير صالح! حاول مرة أخرى بإدخال صالح [1 إلى {max_downloads}، أو 0 لتعطيل]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"التنزيلات الموازية\"\n\nmsgid \"ESC to skip\"\nmsgstr \"زر الهروب ESC للتخطي\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C لإعادة التعيين\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB لتحديد\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[القيمة الافتراضية: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"\"\n\"لتتمكن من استخدام هذه الترجمة، يرجى تثبيت الخط يدوياً الذي يدعم اللغة.\\n\"\n\"To be able to use this translation, please install a font manually that supports the language.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"يجب تخزين الخط كـ {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"يتطلب أرشِنستال Archinstall امتيازات الجذر للتشغيل. انظر help-- للمزيد من المعلومات.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"تحديد وضع التنفيذ\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"تعذر جلب ملف التعريف من عنوان url المحدد: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"يجب أن يكون لملفات التعريف (profile) اسم فريد، ولكن تم العثور على تعريفات ملفات التعريف (profile) ذات أسماء مكررة: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"حدد جهازاً واحداً أو أكثر لاستخدامه وإعداده\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"إذا قمت بإعادة تعيين تحديد الجهاز فسيؤدي ذلك أيضاً إلى إعادة تعيين تخطيط القرص الحالي. هل أنت متأكد؟\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"الأقسام الموجودة\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"حدد خيار التقسيم\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"أدخل دليل الجذر للأجهزة المثبتة:  \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"الحد الأدنى لسعة القسم /home: {} جيجا بايت GiB \\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"الحد الأدنى لسعة قسم آرش لينكس (Arch Linux): {} جيجا بايت (GiB)\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"هذه قائمة بالملفات الشخصية المبرمجة مسبقاً_bck، قد تسهل تثبيت أشياء مثل بيئات سطح المكتب\"\n\nmsgid \"Current profile selection\"\nmsgstr \"اختيار الملف الشخصي الحالي\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"إزالة جميع الأقسام المضافة حديثاً\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"تعيين نقطة التحميل\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"وضع او إلغاء علامة تحديد التهيئة (مسح البيانات)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"وضع او إلغاء علامة قابل للإقلاع\"\n\nmsgid \"Change filesystem\"\nmsgstr \"تغيير نظام الملفات\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"وضع او إلغاء علامة كمضغوط\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"تعيين المجلدات الفرعية\"\n\nmsgid \"Delete partition\"\nmsgstr \"حذف القسم\"\n\nmsgid \"Partition\"\nmsgstr \"تقسيم\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"هذا القسم مشفر حالياً، ولتهيئة نظام الملفات يجب تحديد نظام الملفات\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"نقاط تحميل القسم تكون نسبية داخل التثبيت، سيكون الإقلاع /boot كمثال.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"إذا تم تعيين نقطة التثبيت /boot، فسيتم وضع علامة على القسم أيضًا على أنه قابل للإقلاع.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \" نقطة التثبيت: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"القطاعات الخالية الحالية على الجهاز {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"إجمالي القطاعات: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"أدخل قطاع البداية (افتراضي: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"أدخل قطاع نهاية القسم (النسبة المئوية أو رقم الكتلة، الافتراضي: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"سيؤدي ذلك إلى إزالة جميع الأقسام المضافة حديثاً، متابعة؟\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"إدارة التقسيم: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"الطول الإجمالي: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"نوع التشفير\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"التقسيمات\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"لا توجد أجهزة HSM متوفرة\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"الأقسام المراد تشفيرها\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"حدد خيار تشفير القرص\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"اختر جهاز FIDO2 لاستخدامه في HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"استخدم أفضل تخطيط افتراضي للتقسيم الافتراضي\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"التقسيم اليدوي\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"تهيئة مثبتة مسبقاً\"\n\nmsgid \"Unknown\"\nmsgstr \"غير معروف\"\n\nmsgid \"Partition encryption\"\nmsgstr \"تشفير التقسيم\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! تهيئة {} في \"\n\nmsgid \"← Back\"\nmsgstr \"رجوع ← \"\n\nmsgid \"Disk encryption\"\nmsgstr \"تشفير القرص \"\n\nmsgid \"Configuration\"\nmsgstr \"الإعداد \"\n\nmsgid \"Password\"\nmsgstr \"كلمة المرور\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"ستتم إعادة ضبط جميع الإعدادات، هل أنت متأكد؟\"\n\nmsgid \"Back\"\nmsgstr \"رجوع\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"يرجى اختيار المُرحِّب الذي سيتم تثبيته للملفات الشخصية المختارة: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"نوع البيئة: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"برنامج تشغيل Nvidia الخاص غير مدعوم من قبل Sway. من المحتمل أنك ستواجه مشاكل، هل أنت موافق على ذلك؟\"\n\nmsgid \"Installed packages\"\nmsgstr \"الحزم المثبّتة\"\n\nmsgid \"Add profile\"\nmsgstr \"إضافة ملف شخصي\"\n\nmsgid \"Edit profile\"\nmsgstr \"تعديل الملف الشخصي\"\n\nmsgid \"Delete profile\"\nmsgstr \"حذف الملف الشخصي\"\n\nmsgid \"Profile name: \"\nmsgstr \"اسم الملف الشخصي:  \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"اسم الملف الشخصي الذي أدخلته قيد الاستخدام بالفعل. حاول مرة أخرى\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"اكتب حزمًا إضافية لتثبيتها (تُفصَل بالمسافات، اتركها فارغة للتخطي): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"الخدمات التي سيتم تمكينها مع ملف التعريف هذا (مفصولة بمسافة، اتركها فارغة للتخطي):  \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"هل يجب تمكين ملف التعريف هذا للتثبيت؟\"\n\nmsgid \"Create your own\"\nmsgstr \"اصنع بنفسك\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"حدد برنامج تشغيل رسومات أو اتركه فارغاً لتثبيت جميع برامج التشغيل مفتوحة المصدر\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"يحتاج Sway إلى الوصول إلى مقعدك (مجموعة من الأجهزة مثل لوحة المفاتيح والماوس وغيرها)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"حدد خياراً لمنح Sway إمكانية الوصول إلى أجهزتك\"\n\nmsgid \"Graphics driver\"\nmsgstr \"مشغل الرسومات\"\n\nmsgid \"Greeter\"\nmsgstr \"المُرحِّب\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"يرجى اختيار المُرحِّب الذي سيتم تثبيته\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"هذه قائمة بالملفات الافتراضية المبرمجة مسبقًا\"\n\nmsgid \"Disk configuration\"\nmsgstr \"ضبط القرص\"\n\nmsgid \"Profiles\"\nmsgstr \"الملفات الشخصية\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"البحث عن الدلائل المحتملة لحفظ ملفات الإعدادات ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"تحديد مجلد (أو مجلدات) لحفظ ملفات التكوين\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"إضافة مرآة مخصصة\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"تغيير المرآة المخصصة\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"حذف المرآة المخصصة\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"أدخل الاسم (اترك الاسم فارغاً للتخطي):  \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"أدخل عنوان url (اتركه فارغاً للتخطي):  \"\n\nmsgid \"Select signature check option\"\nmsgstr \"حدد خيار التحقق من التوقيع\"\n\nmsgid \"Select signature option\"\nmsgstr \"حدد خيار التوقيع\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"مرايا مخصصة\"\n\nmsgid \"Defined\"\nmsgstr \"محدد\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"حفظ إعدادات المستخدم (بما في ذلك تخطيط القرص)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"أدخل مجلداً للتكوين (التهيئة (التكوينات) المراد حفظها (تم تمكين الإكمال بtab)\\n\"\n\"حفظ المجلد: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"هل تريد حفظ ملف (ملفات) الضبط {} في الموقع التالي؟\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"حفظ {} ملفات الإعدادات إلى {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"المرايا\"\n\nmsgid \"Mirror regions\"\nmsgstr \"مناطق المرايا\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - الحد الأقصى للقيمة : {} (يسمح بـ {} تنزيلات متوازية ، ويسمح بـ {ماكس_تنزيلات + 1} تنزيلات في المرة الواحدة)\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"إدخال غير صالح! حاول مرة أخرى باستخدام إدخال صحيح [1 إلى {}، أو 0 لتعطيل]\"\n\nmsgid \"Locales\"\nmsgstr \"المحلية (Locales)\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"استخدم مُدير الشبكة NetworkManager (ضروري لإعداد الإنترنت باستخدام واجهة رسومية في جنوم و كيدي)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"الإجمالي: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"يمكن إرفاق جميع القيم المدخلة بوحدة: B، KB، KB، KiB، MB، MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"إذا لم يتم توفير أي وحدة، يتم تفسير القيمة على أنها قطاعات\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"أدخل البداية (افتراضي: القطاع {}):  \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"أدخل النهاية (افتراضي: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"غير قادر على تحديد أجهزة fido2. هل تم تثبيت libfido2؟\"\n\nmsgid \"Path\"\nmsgstr \"المسار (Path)\"\n\nmsgid \"Manufacturer\"\nmsgstr \"الشركة المصنعة\"\n\nmsgid \"Product\"\nmsgstr \"المنتوج\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"تكوين غير صالح: {error}\"\n\nmsgid \"Type\"\nmsgstr \"النوع\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"يتيح هذا الخيار عدد التنزيلات المتوازية التي يمكن أن تحدث أثناء تنزيل الحزمة\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"أدخل عدد التنزيلات المتوازية المراد تمكينها.\\n\"\n\"\\n\"\n\"ملاحظة:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - الحد الأقصى للقيمة الموصى بها: {} (يسمح بـ {} تنزيلات متوازية في المرة الواحدة)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - تعطيل/افتراضي: 0 (تعطيل التنزيل المتوازي، يسمح بتنزيل واحد فقط في كل مرة)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"إدخال غير صالح! حاول مرة أخرى باستخدام إدخال صحيح [أو 0 لتعطيل]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"تحتاج Hyprland إلى الوصول إلى مقعدك (مجموعة من الأجهزة مثل لوحة المفاتيح والفأرة وغيرها)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"حدد خيارًا لمنح Hyprland إمكانية الوصول إلى أجهزتك\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"يمكن إرفاق جميع القيم المدخلة بوحدة: ٪، ب، كيلوبايت، كيلوبايت، كيلوبايت، ميغابايت، ميغابايت، ميغابايت...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"هل ترغب في استخدام صور النواة الموحدة؟\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"صور النواة الموحدة\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"في انتظار اكتمال مزامنة الوقت (عرض timedatectl timedatectl).\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"عدم اكتمال مزامنة الوقت، أثناء الانتظار - راجع المستندات لمعرفة الحلول البديلة: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"تخطي انتظار المزامنة التلقائية للوقت (قد يتسبب ذلك في حدوث مشكلات إذا كان الوقت غير متزامن أثناء التثبيت)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"في انتظار اكتمال مزامنة حلقة مفاتيح أرش لينكس (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"ملفات تعريف مختارة:  \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"عدم اكتمال مزامنة الوقت، أثناء انتظارك - راجع المستندات لمعرفة الحلول: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"وضع علامة/إلغاء وضع علامة كـ nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"هل ترغب في استخدام الضغط أو تعطيل CoW؟\"\n\nmsgid \"Use compression\"\nmsgstr \"استخدام الضغط\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"تعطيل النسخ عند الكتابة\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"يوفر مجموعة مختارة من بيئات سطح المكتب ومديري نوافذ التجانب، مثل Gnome و KDE و Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"نوع الإعداد: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"نوع إعداد LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"تشفير قرص LVM بأكثر من قسمين غير مدعوم حاليًا\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"استخدم مُدير الشبكة NetworkManager (ضروري لإعداد الإنترنت باستخدام واجهة رسومية في جنوم و كيدي)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"حدد خيار LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"تقسيم\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"إدارة الحجم المنطقي (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"أحجام فيزيائية\"\n\nmsgid \"Volumes\"\nmsgstr \"أحجام\"\n\nmsgid \"LVM volumes\"\nmsgstr \"أقسام LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"أقسام LVM المراد تشفيرها\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"حدد أقسام LVM المراد تشفيرها\"\n\nmsgid \"Default layout\"\nmsgstr \"التخطيط الافتراضي\"\n\nmsgid \"No Encryption\"\nmsgstr \"لا تشفير\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM على LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS على LVM\"\n\nmsgid \"Yes\"\nmsgstr \"نعم\"\n\nmsgid \"No\"\nmsgstr \"لا\"\n\nmsgid \"Archinstall help\"\nmsgstr \"مساعدة Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (افتراضي)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"اضغط على Ctrl+h للحصول على المساعدة\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"حدد خياراً لمنح Sway إمكانية الوصول إلى أجهزتك\"\n\nmsgid \"Seat access\"\nmsgstr \"الوصول إلى المقعد\"\n\nmsgid \"Mountpoint\"\nmsgstr \"نقطة الضمّ:\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"أدخل كلمة مرور تشفير القرص (اتركها فارغة لعدم وجود تشفير):\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"كلمة سر التشفير\"\n\nmsgid \"Partition - New\"\nmsgstr \"تقسيم - جديد\"\n\nmsgid \"Filesystem\"\nmsgstr \"نظام الملفات\"\n\nmsgid \"Invalid size\"\nmsgstr \"الحجم غير صالح\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"البداية (افتراضي: القطاع {}):  \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"النهاية (افتراضي: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"اسم وحدة التخزين الفرعية\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"نوع ضبط القرص\"\n\nmsgid \"Root mount directory\"\nmsgstr \"دليل جذر الضم\"\n\nmsgid \"Select language\"\nmsgstr \"حدد لغة\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"اكتب حزمًا إضافية لتثبيتها (تُفصَل بالمسافات، اتركها فارغة للتخطي):\"\n\nmsgid \"Invalid download number\"\nmsgstr \"رقم التنزيل غير صالح\"\n\nmsgid \"Number downloads\"\nmsgstr \"عدد التنزيلات\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"اسم المستخدم الذي أدخلته غير صالح.\"\n\nmsgid \"Username\"\nmsgstr \"اسم المستخدم\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"هل يجب أن يكون \\\"{}\\\" مستخدمًا خارقًا (sudo)؟\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"واجهات\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"تحتاج إلى إدخال IP صالح في وضع IP-config\"\n\nmsgid \"Modes\"\nmsgstr \"وسائط\"\n\nmsgid \"IP address\"\nmsgstr \"عنوان IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"أدخل عنوان IP الخاص بالبوابة (جهاز التوجيه) أو اتركه فارغاً لعدم وجود عنوان IP\"\n\nmsgid \"Gateway address\"\nmsgstr \"عنوان البوابة\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"أدخل خوادم DNS الخاصة بك  مفصولة بمسافات (اتركها فارغة في حالة عدم وجود خوادم)\"\n\nmsgid \"DNS servers\"\nmsgstr \"خوادم DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"تهيئة الواجهات\"\n\nmsgid \"Kernel\"\nmsgstr \"النواة\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"لم يُكتشف UEFI وعطّلتْ بعض الخيارات\"\n\nmsgid \"Info\"\nmsgstr \"معلومات\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"برنامج تشغيل Nvidia المملوك غير مدعوم من قبل Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"من المحتمل أنك ستواجه مشاكل، هل أنت موافق على ذلك؟\"\n\nmsgid \"Main profile\"\nmsgstr \"الملف الشخصي\"\n\nmsgid \"Confirm password\"\nmsgstr \"أكّد كلمة المرور\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"كلمة المرور التأكيدية غير متطابقة، يرجى المحاولة مرة أخرى\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"ليس دليلاً صالحًا\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"هل ترغب في الاستمرار؟\"\n\nmsgid \"Directory\"\nmsgstr \"دليل\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"أدخل دليلا للتكوين (التكوينات) المراد حفظها (مُكِّن الإكمال بـtab)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"هل تريد حفظ ملف (ملفات) الضبط إلى {} ؟\"\n\nmsgid \"Enabled\"\nmsgstr \"مفعّل\"\n\nmsgid \"Disabled\"\nmsgstr \"معطّل\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"يُرجى تسليم تقرير عن هذا الخلل (مع المِلَف) إلى https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"اسم المرآة\"\n\nmsgid \"Url\"\nmsgstr \"عنوان URL\"\n\nmsgid \"Select signature check\"\nmsgstr \"حدد خيار التحقق من التوقيع\"\n\nmsgid \"Select execution mode\"\nmsgstr \"حدد وضع التنفيذ\"\n\nmsgid \"Press ? for help\"\nmsgstr \"اضغط ؟ للمساعدة\"\n\n#, fuzzy\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"حدد خيارًا لمنح Hyprland إمكانية الوصول إلى أجهزتك\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"المستودعات الاختيارية\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"حدد خيار التحقق من التوقيع\"\n\n#, fuzzy, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"القطاعات الخالية الحالية على الجهاز {}:\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"الإجمالي: {} / {}\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"النهاية (افتراضي: {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"جهاز\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"اسم المستخدم\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"وضع او إلغاء علامة قابل للإقلاع\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"الباقات الإضافية\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"إضافة مرآة مخصصة\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"تغيير المرآة المخصصة\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"حذف المرآة المخصصة\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"اسم المرآة\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"إضافة مرآة مخصصة\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"تغيير المرآة المخصصة\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"حذف المرآة المخصصة\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"حدد خيار التوقيع\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"إضافة مرآة مخصصة\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"إضافة مرآة مخصصة\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"مناطق المرايا\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"المستودعات الاختيارية\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"مناطق المرايا\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"مرايا مخصصة\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"المستودعات الاختيارية\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"حدد خيار التحقق من التوقيع\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"حدِّد منطقة زمنية\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"حدد وضع التنفيذ\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"يحتاج Sway إلى الوصول إلى مقعدك (مجموعة من الأجهزة مثل لوحة المفاتيح والماوس وغيرها)\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"حدد خياراً لمنح Sway إمكانية الوصول إلى أجهزتك\"\n\n#, fuzzy\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"يحتاج Sway إلى الوصول إلى مقعدك (مجموعة من الأجهزة مثل لوحة المفاتيح والماوس وغيرها)\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"حدد خياراً لمنح Sway إمكانية الوصول إلى أجهزتك\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"وضع او إلغاء علامة قابل للإقلاع\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"مساعدة Archinstall\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"نظام الملفات\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"هل ترغب في الانتقال (chroot) إلى التثبيت الذي تم إنشاؤه حديثاً وإجراء تهيئة ما بعد التثبيت؟\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"هل ترغب في الاستمرار؟\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"حدد الوضع المراد تهيئته لـ\\\"{}\\\" أو تخطى لاستخدام الوضع الافتراضي \\\"{}\\\"\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"كلمة سر التشفير\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"كلمة مرور الجذر\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"كلمة سر التشفير\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"هل تريد حفظ ملف (ملفات) الضبط إلى {} ؟\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"كلمة سر التشفير\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"اسم المرآة\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"لا توجد أجهزة HSM متوفرة\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"كلمة المرور\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"هل ترغب في الاستمرار؟\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"هل ترغب في الاستمرار؟\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"إدارة التقسيم: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"نوع البيئة: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"أدخل كلمة مرور: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"اختر جهاز FIDO2 لاستخدامه في HSM\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"لا يوجد إعداد للشبكة\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"هل ترغب في الاستمرار؟\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"تهيئة الواجهات\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"حدِّد واجهة شبكة واحدة للإعداد\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"لا يوجد إعداد للشبكة\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"أدخل كلمة مرور: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"لغة الإعدادات المحلية\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"فقط الحزم مثل base وbase-devel وlinux وlinux-firmware وefibootmgr و حِزم مِلف اختيارية سوف تُثَبَّت.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"حدد نقطة التثبيت :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/base.pot",
    "content": "msgid \"\"\nmsgstr \"\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"\"\n\nmsgid \"\"\n\"    Please submit this issue (and file) to https://github.com/archlinux/\"\n\"archinstall/issues\"\nmsgstr \"\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"\"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"\"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"\"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"\"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"\"\n\nmsgid \"Select a timezone\"\nmsgstr \"\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr \"\n\"and optional profile packages are installed.\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Note: base-devel is no longer installed by default. Add it here if you need \"\n\"build tools.\"\nmsgstr \"\"\n\nmsgid \"\"\n\"If you desire a web browser, such as firefox or chromium, you may specify it \"\n\"in the following prompt.\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Use NetworkManager (necessary for configuring internet graphically in GNOME \"\n\"and KDE)\"\nmsgstr \"\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"\"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"\"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"\"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"\"\n\nmsgid \"Current partition layout\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"\"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"\"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\nmsgid \"\"\n\" * Partition mount-points are relative to inside the installation, the boot \"\n\"would be /boot as an example.\"\nmsgstr \"\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"\"\n\nmsgid \"Archinstall language\"\nmsgstr \"\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"\"\n\nmsgid \"\"\n\"This is a list of pre-programmed profiles, they might make it easier to \"\n\"install things like desktop environments\"\nmsgstr \"\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"\"\n\nmsgid \"\"\n\"For the best compatibility with your AMD hardware, you may want to use \"\n\"either the all open-source or AMD / ATI options.\"\nmsgstr \"\"\n\nmsgid \"\"\n\"For the best compatibility with your Intel hardware, you may want to use \"\n\"either the all open-source or Intel options.\\n\"\nmsgstr \"\"\n\nmsgid \"\"\n\"For the best compatibility with your Nvidia hardware, you may want to use \"\n\"the Nvidia proprietary driver.\\n\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"\"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"\"\n\nmsgid \"Adding partition....\"\nmsgstr \"\"\n\nmsgid \"\"\n\"You need to enter a valid fs-type in order to continue. See `man parted` for \"\n\"valid fs-type's.\"\nmsgstr \"\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"\"\n\nmsgid \"Mirror region\"\nmsgstr \"\"\n\nmsgid \"Locale language\"\nmsgstr \"\"\n\nmsgid \"Locale encoding\"\nmsgstr \"\"\n\nmsgid \"Drive(s)\"\nmsgstr \"\"\n\nmsgid \"Disk layout\"\nmsgstr \"\"\n\nmsgid \"Encryption password\"\nmsgstr \"\"\n\nmsgid \"Swap\"\nmsgstr \"\"\n\nmsgid \"Bootloader\"\nmsgstr \"\"\n\nmsgid \"Root password\"\nmsgstr \"\"\n\nmsgid \"Superuser account\"\nmsgstr \"\"\n\nmsgid \"User account\"\nmsgstr \"\"\n\nmsgid \"Profile\"\nmsgstr \"\"\n\nmsgid \"Audio\"\nmsgstr \"\"\n\nmsgid \"Kernels\"\nmsgstr \"\"\n\nmsgid \"Additional packages\"\nmsgstr \"\"\n\nmsgid \"Network configuration\"\nmsgstr \"\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"\"\n\nmsgid \"Create a new partition\"\nmsgstr \"\"\n\nmsgid \"Delete a partition\"\nmsgstr \"\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"\"\n\nmsgid \"Abort\"\nmsgstr \"\"\n\nmsgid \"Hostname\"\nmsgstr \"\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"\"\n\nmsgid \"Timezone\"\nmsgstr \"\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"\"\n\nmsgid \"Install\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"\"\n\nmsgid \"Enter a password: \"\nmsgstr \"\"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"\"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"\"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"\"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"\"\n\nmsgid \"\"\n\"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Would you like to use automatic time synchronization (NTP) with the default \"\n\"time servers?\\n\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order \"\n\"for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for \"\n\"it to execute\"\nmsgstr \"\"\n\nmsgid \"Cancel\"\nmsgstr \"\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"\"\n\nmsgid \"Add\"\nmsgstr \"\"\n\nmsgid \"Copy\"\nmsgstr \"\"\n\nmsgid \"Edit\"\nmsgstr \"\"\n\nmsgid \"Delete\"\nmsgstr \"\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Pre-existing pacman lock never exited. Please clean up any existing pacman \"\n\"sessions before using archinstall.\"\nmsgstr \"\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"\"\n\nmsgid \"Add a user\"\nmsgstr \"\"\n\nmsgid \"Change password\"\nmsgstr \"\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"\"\n\nmsgid \"Delete User\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\nmsgid \"User Name : \"\nmsgstr \"\"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"\"\n\nmsgid \"No network configuration\"\nmsgstr \"\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"\"\n\nmsgid \"No configuration\"\nmsgstr \"\"\n\nmsgid \"Save user configuration\"\nmsgstr \"\"\n\nmsgid \"Save user credentials\"\nmsgstr \"\"\n\nmsgid \"Save disk layout\"\nmsgstr \"\"\n\nmsgid \"Save all\"\nmsgstr \"\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"\"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"\"\n\nmsgid \"Optional repositories\"\nmsgstr \"\"\n\nmsgid \"Save configuration\"\nmsgstr \"\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"\"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"\"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \"\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \"\"\n\nmsgid \" with option {}\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\nmsgid \"Subvolume name \"\nmsgstr \"\"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"\"\n\nmsgid \"Subvolume options\"\nmsgstr \"\"\n\nmsgid \"Save\"\nmsgstr \"\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"\"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"\"\n\nmsgid \"\"\n\"The selected drives do not have the minimum capacity required for an \"\n\"automatic suggestion\\n\"\nmsgstr \"\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"\"\n\nmsgid \"Continue\"\nmsgstr \"\"\n\nmsgid \"yes\"\nmsgstr \"\"\n\nmsgid \"no\"\nmsgstr \"\"\n\nmsgid \"set: {}\"\nmsgstr \"\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"\"\n\nmsgid \"Add interface\"\nmsgstr \"\"\n\nmsgid \"Edit interface\"\nmsgstr \"\"\n\nmsgid \"Delete interface\"\nmsgstr \"\"\n\nmsgid \"Select interface to add\"\nmsgstr \"\"\n\nmsgid \"Manual configuration\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Provides a selection of desktop environments and tiling window managers, \"\n\"e.g. gnome, kde, sway\"\nmsgstr \"\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"\"\n\nmsgid \"\"\n\"A very basic installation that allows you to customize Arch Linux as you see \"\n\"fit.\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Provides a selection of various server packages to install and enable, e.g. \"\n\"httpd, nginx, mariadb\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Choose which servers to install, if none then a minimal installation will be \"\n\"done\"\nmsgstr \"\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Would you like to chroot into the newly created installation and perform \"\n\"post-installation configuration?\"\nmsgstr \"\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"\"\n\nmsgid \"\"\n\"If you reset the harddrive selection this will also reset the current disk \"\n\"layout. Are you sure?\"\nmsgstr \"\"\n\nmsgid \"Save and exit\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\nmsgid \"No audio server\"\nmsgstr \"\"\n\nmsgid \"(default)\"\nmsgstr \"\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\nmsgid \"Copy to: \"\nmsgstr \"\"\n\nmsgid \"Edit: \"\nmsgstr \"\"\n\nmsgid \"Key: \"\nmsgstr \"\"\n\nmsgid \"Edit {}: \"\nmsgstr \"\"\n\nmsgid \"Add: \"\nmsgstr \"\"\n\nmsgid \"Value: \"\nmsgstr \"\"\n\nmsgid \"\"\n\"You can skip selecting a drive and partitioning and use whatever drive-setup \"\n\"is mounted at /mnt (experimental)\"\nmsgstr \"\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"\"\n\nmsgid \"Device\"\nmsgstr \"\"\n\nmsgid \"Size\"\nmsgstr \"\"\n\nmsgid \"Free space\"\nmsgstr \"\"\n\nmsgid \"Bus-type\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Either root-password or at least 1 user with sudo privileges must be \"\n\"specified\"\nmsgstr \"\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"\"\n\nmsgid \"very weak\"\nmsgstr \"\"\n\nmsgid \"weak\"\nmsgstr \"\"\n\nmsgid \"moderate\"\nmsgstr \"\"\n\nmsgid \"strong\"\nmsgstr \"\"\n\nmsgid \"Add subvolume\"\nmsgstr \"\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"\"\n\nmsgid \"\"\n\"This option enables the number of parallel downloads that can occur during \"\n\"installation\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\nmsgid \"\"\n\" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads \"\n\"at a time )\"\nmsgstr \"\"\n\nmsgid \"\"\n\" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a \"\n\"time )\"\nmsgstr \"\"\n\nmsgid \"\"\n\" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 \"\n\"download at a time )\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"\"\n\"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to \"\n\"disable]\"\nmsgstr \"\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"\"\n\nmsgid \"ESC to skip\"\nmsgstr \"\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"\"\n\nmsgid \"TAB to select\"\nmsgstr \"\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"\"\n\nmsgid \"\"\n\"To be able to use this translation, please install a font manually that \"\n\"supports the language.\"\nmsgstr \"\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"\"\n\"Profiles must have unique name, but profile definitions with duplicate name \"\n\"found: {}\"\nmsgstr \"\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"\"\n\nmsgid \"\"\n\"If you reset the device selection this will also reset the current disk \"\n\"layout. Are you sure?\"\nmsgstr \"\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"\"\n\nmsgid \"\"\n\"This is a list of pre-programmed profiles_bck, they might make it easier to \"\n\"install things like desktop environments\"\nmsgstr \"\"\n\nmsgid \"Current profile selection\"\nmsgstr \"\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"\"\n\nmsgid \"Change filesystem\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"\"\n\nmsgid \"Delete partition\"\nmsgstr \"\"\n\nmsgid \"Partition\"\nmsgstr \"\"\n\nmsgid \"\"\n\"This partition is currently encrypted, to format it a filesystem has to be \"\n\"specified\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Partition mount-points are relative to inside the installation, the boot \"\n\"would be /boot as an example.\"\nmsgstr \"\"\n\nmsgid \"\"\n\"If mountpoint /boot is set, then the partition will also be marked as \"\n\"bootable.\"\nmsgstr \"\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"\"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the end sector of the partition (percentage or block number, default: \"\n\"{}): \"\nmsgstr \"\"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"\"\n\nmsgid \"Encryption type\"\nmsgstr \"\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"\"\n\nmsgid \"Unknown\"\nmsgstr \"\"\n\nmsgid \"Partition encryption\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \"\"\n\nmsgid \"← Back\"\nmsgstr \"\"\n\nmsgid \"Disk encryption\"\nmsgstr \"\"\n\nmsgid \"Configuration\"\nmsgstr \"\"\n\nmsgid \"Password\"\nmsgstr \"\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"\"\n\nmsgid \"Back\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"\"\n\nmsgid \"\"\n\"The proprietary Nvidia driver is not supported by Sway. It is likely that \"\n\"you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\nmsgid \"Installed packages\"\nmsgstr \"\"\n\nmsgid \"Add profile\"\nmsgstr \"\"\n\nmsgid \"Edit profile\"\nmsgstr \"\"\n\nmsgid \"Delete profile\"\nmsgstr \"\"\n\nmsgid \"Profile name: \"\nmsgstr \"\"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Packages to be install with this profile (space separated, leave blank to \"\n\"skip): \"\nmsgstr \"\"\n\nmsgid \"\"\n\"Services to be enabled with this profile (space separated, leave blank to \"\n\"skip): \"\nmsgstr \"\"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"\"\n\nmsgid \"Create your own\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Sway needs access to your seat (collection of hardware devices i.e. \"\n\"keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Graphics driver\"\nmsgstr \"\"\n\nmsgid \"Greeter\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"\"\n\nmsgid \"Disk configuration\"\nmsgstr \"\"\n\nmsgid \"Profiles\"\nmsgstr \"\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Select signature check option\"\nmsgstr \"\"\n\nmsgid \"Select signature option\"\nmsgstr \"\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"\"\n\nmsgid \"Defined\"\nmsgstr \"\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion \"\n\"enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"\"\n\nmsgid \"Mirrors\"\nmsgstr \"\"\n\nmsgid \"Mirror regions\"\nmsgstr \"\"\n\nmsgid \"\"\n\" - Maximum value   : {} ( Allows {} parallel downloads, allows \"\n\"{max_downloads+1} downloads at a time )\"\nmsgstr \"\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Locales\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Use NetworkManager (necessary to configure internet graphically in GNOME and \"\n\"KDE)\"\nmsgstr \"\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"\"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"\"\n\nmsgid \"Path\"\nmsgstr \"\"\n\nmsgid \"Manufacturer\"\nmsgstr \"\"\n\nmsgid \"Product\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"\"\n\nmsgid \"Type\"\nmsgstr \"\"\n\nmsgid \"\"\n\"This option enables the number of parallel downloads that can occur during \"\n\"package downloads\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"\"\n\" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \"\"\n\nmsgid \"\"\n\" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 \"\n\"download at a time )\\n\"\nmsgstr \"\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Hyprland needs access to your seat (collection of hardware devices i.e. \"\n\"keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"\"\n\"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Time syncronization not completing, while you wait - check the docs for \"\n\"workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Skipping waiting for automatic time sync (this can cause issues if time is \"\n\"out of sync during installation)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"\"\n\nmsgid \"\"\n\"Time synchronization not completing, while you wait - check the docs for \"\n\"workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"\"\n\nmsgid \"Use compression\"\nmsgstr \"\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Provides a selection of desktop environments and tiling window managers, \"\n\"e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"\"\n\nmsgid \"\"\n\"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Use NetworkManager (necessary to configure internet graphically in GNOME and \"\n\"KDE Plasma)\"\nmsgstr \"\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"\"\n\nmsgid \"Partitioning\"\nmsgstr \"\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\nmsgid \"LVM volumes\"\nmsgstr \"\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"\"\n\nmsgid \"Default layout\"\nmsgstr \"\"\n\nmsgid \"No Encryption\"\nmsgstr \"\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\nmsgid \"Yes\"\nmsgstr \"\"\n\nmsgid \"No\"\nmsgstr \"\"\n\nmsgid \"Archinstall help\"\nmsgstr \"\"\n\nmsgid \" (default)\"\nmsgstr \"\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\nmsgid \"Mountpoint\"\nmsgstr \"\"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"\"\n\nmsgid \"Partition - New\"\nmsgstr \"\"\n\nmsgid \"Filesystem\"\nmsgstr \"\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"\"\n\nmsgid \"End (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Subvolume name\"\nmsgstr \"\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\nmsgid \"Select language\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"\"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"\"\n\nmsgid \"Username\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"\"\n\nmsgid \"Interfaces\"\nmsgstr \"\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"\"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"\"\n\nmsgid \"DNS servers\"\nmsgstr \"\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"\"\n\nmsgid \"Kernel\"\nmsgstr \"\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\nmsgid \"Main profile\"\nmsgstr \"\"\n\nmsgid \"Confirm password\"\nmsgstr \"\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion \"\n\"enabled)\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Please submit this issue (and file) to https://github.com/archlinux/\"\n\"archinstall/issues\"\nmsgstr \"\"\n\nmsgid \"Mirror name\"\nmsgstr \"\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\nmsgid \"Select signature check\"\nmsgstr \"\"\n\nmsgid \"Select execution mode\"\nmsgstr \"\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Additional repositories\"\nmsgstr \"\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\nmsgid \"Signature check\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"\"\n\nmsgid \"HSM device\"\nmsgstr \"\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\nmsgid \"User\"\nmsgstr \"\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"\"\n\nmsgid \"Loading packages...\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"\"\n\nmsgid \"Change custom repository\"\nmsgstr \"\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"\"\n\nmsgid \"Repository name\"\nmsgstr \"\"\n\nmsgid \"Add a custom server\"\nmsgstr \"\"\n\nmsgid \"Change custom server\"\nmsgstr \"\"\n\nmsgid \"Delete custom server\"\nmsgstr \"\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\nmsgid \"Select regions\"\nmsgstr \"\"\n\nmsgid \"Add custom servers\"\nmsgstr \"\"\n\nmsgid \"Add custom repository\"\nmsgstr \"\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"\"\n\nmsgid \"Custom servers\"\nmsgstr \"\"\n\nmsgid \"Custom repositories\"\nmsgstr \"\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Select on single select\"\nmsgstr \"\"\n\nmsgid \"Select on multi select\"\nmsgstr \"\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\nmsgid \"\"\n\"labwc needs access to your seat (collection of hardware devices i.e. \"\n\"keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\nmsgid \"\"\n\"niri needs access to your seat (collection of hardware devices i.e. \"\n\"keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"\"\n\nmsgid \"Reboot system\"\nmsgstr \"\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"\"\n\nmsgid \"Incorrect password\"\nmsgstr \"\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"\"\n\nmsgid \"New version available\"\nmsgstr \"\"\n\nmsgid \"Passwordless login\"\nmsgstr \"\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"\"\n\nmsgid \"Power management\"\nmsgstr \"\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"\"\n\nmsgid \"\"\n\"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\nmsgid \"No network connection found\"\nmsgstr \"\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"\"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Would you like to install the bootloader to the default removable media \"\n\"search location?\"\nmsgstr \"\"\n\nmsgid \"\"\n\"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is \"\n\"useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Firmware that does not properly support NVRAM boot entries like most MSI \"\n\"motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\nmsgid \"Language\"\nmsgstr \"\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and \"\n\"optional profile packages are installed.\"\nmsgstr \"\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n\nmsgid \"Firewall\"\nmsgstr \"\"\n\nmsgid \"Select audio configuration\"\nmsgstr \"\"\n\nmsgid \"Enter credentials file decryption password\"\nmsgstr \"\"\n\nmsgid \"Enter root password\"\nmsgstr \"\"\n\nmsgid \"Select bootloader to install\"\nmsgstr \"\"\n\nmsgid \"Configuration preview\"\nmsgstr \"\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved\"\nmsgstr \"\"\n\nmsgid \"Select encryption type\"\nmsgstr \"\"\n\nmsgid \"Select disks for the installation\"\nmsgstr \"\"\n\nmsgid \"Enter a mountpoint\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Enter a size (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Enter subvolume name\"\nmsgstr \"\"\n\nmsgid \"Enter subvolume mountpoint\"\nmsgstr \"\"\n\nmsgid \"Select a disk configuration\"\nmsgstr \"\"\n\nmsgid \"Enter root mount directory\"\nmsgstr \"\"\n\nmsgid \"You will use whatever drive-setup is mounted at the specified directory\"\nmsgstr \"\"\n\nmsgid \"WARNING: Archinstall won't check the suitability of this setup\"\nmsgstr \"\"\n\nmsgid \"Select main filesystem\"\nmsgstr \"\"\n\nmsgid \"Enter a hostname\"\nmsgstr \"\"\n\nmsgid \"Select timezone\"\nmsgstr \"\"\n\nmsgid \"Enter the number of parallel downloads to be enabled\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Value must be between 1 and {}\"\nmsgstr \"\"\n\nmsgid \"Select which kernel(s) to install\"\nmsgstr \"\"\n\nmsgid \"Enter a respository name\"\nmsgstr \"\"\n\nmsgid \"Enter the repository url\"\nmsgstr \"\"\n\nmsgid \"Enter server url\"\nmsgstr \"\"\n\nmsgid \"Select mirror regions to be enabled\"\nmsgstr \"\"\n\nmsgid \"Select optional repositories to be enabled\"\nmsgstr \"\"\n\nmsgid \"Select an interface\"\nmsgstr \"\"\n\nmsgid \"Choose network configuration\"\nmsgstr \"\"\n\nmsgid \"No packages found\"\nmsgstr \"\"\n\nmsgid \"Select which greeter to install\"\nmsgstr \"\"\n\nmsgid \"Select a profile type\"\nmsgstr \"\"\n\nmsgid \"Enter new password\"\nmsgstr \"\"\n\nmsgid \"Enter a username\"\nmsgstr \"\"\n\nmsgid \"Enter a password\"\nmsgstr \"\"\n\nmsgid \"The password did not match, please try again\"\nmsgstr \"\"\n\nmsgid \"Password strength: Weak\"\nmsgstr \"\"\n\nmsgid \"Password strength: Moderate\"\nmsgstr \"\"\n\nmsgid \"Password strength: Strong\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/ca/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: \\n\"\n\"Language: ca\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] S'ha creat un fitxer de registre aquí: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Si us plau envieu aquest problema (i fitxer) a https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Segur que voleu avortar?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Una vegada més per a verificar: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Us agradaria utilitzar swap a zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Nom de host desitjat per a la instal·lació: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Nom d'usuari pel superusuari amb privilegis sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Algun usuari addicional a instal·lar (deixeu-ho en blanc per no afegir-ne cap): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Cal que aquest usuari sigui un superusuari (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Seleccioneu una franja horària\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Voleu utilitzar GRUB com a gestor d'arranc en comptes de systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Trieu un gestor d'arranc\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Trieu un servidor d'àudio\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Només s'instal·laran paquets com base, base-devel, linux, linux-firmware, efibootmgr i altres paquets de perfil opcionals.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Si desitgeu un navegador web, com ara firefox o chromium, ho podeu especificar al proper missatge.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Escriviu paquets addicionals a instal·lar (separats per espais, deixeu-ho en blanc per saltar aquest pas): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Copiar la configuració de xarxa ISO a la instal·lació\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Utilitzar NetworkManager (necessari per a configurar internet gràficament a GNOME i KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Seleccioneu una interfície de xarxa a configurar\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Seleccioneu quin mode configurar per a \\\"{}\\\" o ometeu per a usar el mode predeterminat \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Introduïu la IP i la subxarxa per a {} (exemple: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Introduïu la IP de la porta d'enllaç (router) o deixeu-ho en blanc per a no utilitzar-ne cap: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Introduïu els vostres servidors DNS (separats per espais o deixeu-ho en blanc per a cap): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Seleccioneu quin sistema de fitxers cal utilitzar a la vostra partició principal\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Distribució actual de les particions\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Seleccioneu què fer amb\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Introduïu el tipus de sistema de fitxers desitjat per a la partició\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Introduïu la ubicació d'inici (en unitats dividides: s, GB, %, etc. ; per defecte: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Introduïu la ubicació final (en unitats dividides: s, GB, %, etc. ; ex.: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} conté particions en cua. Això eliminarà aquestes particions. N'esteu segurs?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccioneu per índex la ubicació de les particions a eliminar\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccioneu per índex la ubicació de la partició a muntar\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Els punts de muntatge de la partició són relatius a l'interior de la instal·lació. Per exemple, /boot seria l'arranc.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Seleccioneu a on muntar la partició (deixeu-ho en blanc per a eliminar el punt de muntatge): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccioneu quina partició emmascarar per a formatejar\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccioneu quina partició marcar com a encriptada\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccioneu quina partició marcar com a arranc\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccioneu en quina partició establir un sistema de fitxers\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Introduïu un sistema de fitxers desitjat per a la partició: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Idioma d'Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Esborrar totes les unitats seleccionades i utilitzar una taula de particions òptima predeterminada\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Seleccioneu què fer amb cada volum individual (seguit de l'ús de la partició)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Seleccioneu que desitgeu fer amb els dispositius de blocs seleccionats\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Aquesta és una llista de perfils preprogramats que podrien facilitar la instal·lació de coses com entorns d'escriptori\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Seleccioneu la distribució del teclat\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Seleccioneu una de les regions des de la qual descarregar paquets\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Seleccioneu un o més discos durs per a utilitzar i configurar\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Per a obtenir la millor compatibilitat amb el vostre hardware AMD, és possible que us interessi utilitzar les opcions de codi obert o d'AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Per a obtenir la millor compatibilitat amb el vostre hardware Intel, és possible que us interessi utilitzar les opcions de codi obert o d'Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Per a obtenir la millor compatibilitat amb el vostre hardware Nvidia, és possible que us interessi utilitzar les opcions de controlador propietari d'Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Seleccioneu un controlador gràfic o deixeu-ho en blanc per a instal·lar tots els controladors de codi obert\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Tots els de codi obert (per defecte)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Escolliu quin kernel utilitzar o deixeu-ho en blanc per utilitzar el kernel per defecte \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Escolliu quin idioma de localització utilitzar\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Escolliu quin idioma de codificació utilitzar\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Seleccioneu un dels valors mostrats a sota: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Seleccioneu una o més de les opcions de sota: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Afegint partició....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Necessiteu introduir un fs-type vàlid per a continuar. Veieu `man parted` per a tipus de sistemes de fitxers vàlids.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Error: L'enllistament de perfils de la URL \\\"{}\\\" ha resultat en:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Error: No s'ha pogut de-codificar el resultat \\\"{}\\\" com a JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Distribució del teclat\"\n\nmsgid \"Mirror region\"\nmsgstr \"Regió del servidor\"\n\nmsgid \"Locale language\"\nmsgstr \"Idioma local\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Codificació local\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Disc(s)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Disseny del disc\"\n\nmsgid \"Encryption password\"\nmsgstr \"Contrasenya de xifrat\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Gestor d'arranc\"\n\nmsgid \"Root password\"\nmsgstr \"Contrasenya de root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Compte de superusuari\"\n\nmsgid \"User account\"\nmsgstr \"Compte d'usuari\"\n\nmsgid \"Profile\"\nmsgstr \"Perfil\"\n\nmsgid \"Audio\"\nmsgstr \"Àudio\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernels\"\n\nmsgid \"Additional packages\"\nmsgstr \"Paquets addicionals\"\n\nmsgid \"Network configuration\"\nmsgstr \"Configuració de la xarxa\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Sincronització automàtica de l'hora (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Instal·lar ({} ajust(s) faltant(s))\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Heu decidit saltar-vos la selecció de disc dur\\n\"\n\"i utilitzar la configuració muntada a {} (experimental)\\n\"\n\"AVÍS: Archinstall no verificarà la idoneïtat d'aquesta configuració\\n\"\n\"Voleu continuar?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Re-utilitzant instància de partició: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Crear una nova partició\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Eliminar una partició\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Netejar/Eliminar totes les particions\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Assignar punt de muntatge per a una partició\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Marcar/Desmarcar una partició per a ser formatada (esborra les dades)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Marcar/Desmarcar una partició com a encriptada\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Marcar/Desmarcar una partició com a arranc (automàtic per a /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Establir el sistema de fitxers desitjat per a una partició\"\n\nmsgid \"Abort\"\nmsgstr \"Avortar\"\n\nmsgid \"Hostname\"\nmsgstr \"Nom del host\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"No configurat. No disponible a no ser que es configuri manualment\"\n\nmsgid \"Timezone\"\nmsgstr \"Franja horària\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Establir/Modificar les opcions següents\"\n\nmsgid \"Install\"\nmsgstr \"Instal·lar\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Utilitzar ESC per a saltar\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Recomanar el disseny de partició\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Introduïu una contrasenya: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Introduïu una contrasenya de xifrat per {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Introduïu la contrasenya de xifrat de disc (deixeu-ho en blanc per a no xifrar): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Crear un superusuari requerit amb privilegis sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Introduïu la contrasenya de root (deixeu-ho en blanc per a deshabilitar root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Contrasenya per a l'usuari \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Verificant que els paquets addicionals existeixen (això pot tardar uns segons)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Voleu utilitzar la sincronització automàtica d'hora (NTP) amb els servidors d'hora predeterminats?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"L'hora del hardware i altres passos post-configuració poden ser necessaris per tal que NTP funcioni.\\n\"\n\"Per a més informació, consulteu la wiki d'Arch\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Introduïu un nom d'usuari per a crear un usuari addicional (deixeu-ho en blanc per a saltar): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Utilitzeu ESC per a ometre\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Trieu un objecte de la llista i seleccioneu una de les accions disponibles per a executar\"\n\nmsgid \"Cancel\"\nmsgstr \"Cancel·lar\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Confirmar i sortir\"\n\nmsgid \"Add\"\nmsgstr \"Afegir\"\n\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\nmsgid \"Edit\"\nmsgstr \"Editar\"\n\nmsgid \"Delete\"\nmsgstr \"Eliminar\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Seleccioneu una acció per a '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Copiar a clau nova:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Tipus de nic desconegut: {}. Els valors possibles són {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Aquesta és la vostra configuració escollida:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman ja està en execució; s'esperarà un màxim de 10 minuts perquè acabi.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"El bloqueig pre-existent de pacman mai s'ha tancat. Si us plau, netegeu qualsevol sessió de pacman existent abans d'utilitzar archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Trieu quins repositoris addicionals opcionals cal activar\"\n\nmsgid \"Add a user\"\nmsgstr \"Afegir un usuari\"\n\nmsgid \"Change password\"\nmsgstr \"Canviar contrasenya\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Promocionar/Degradar usuari\"\n\nmsgid \"Delete User\"\nmsgstr \"Eliminar usuari\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Definir un usuari nou\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Nom d'usuari: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Cal que {} sigui un superusuari (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Definiu usuaris amb privilegis sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Sense configuració de xarxa\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Establir els subvolums desitjats a una partició btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccioneu en quina partició configurar els subvolums\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Administrar subvolums btrfs per a la partició actual\"\n\nmsgid \"No configuration\"\nmsgstr \"Sense configuració\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Guardar configuració d'usuari\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Guardar credencials d'usuari\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Guardar disseny del disc\"\n\nmsgid \"Save all\"\nmsgstr \"Guardar tot\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Escolliu quina configuració guardar\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Introduïu un directori on guardar les configuracions: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Directori invàlid: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"La contrasenya que esteu utilitzant sembla dèbil,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"segur que voleu utilitzar-la?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Repositoris opcionals\"\n\nmsgid \"Save configuration\"\nmsgstr \"Guardar configuració\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Configuracions que falten:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Cal especificar una contrasenya de root o un mínim d'un superusuari\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Gestionar comptes de superusuari: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Gestionar comptes d'usuaris ordinaris: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolum :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" muntat a {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" amb opció {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Completeu els valors desitjats per a un nou subvolum\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Nom del subvolum \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Punt de muntatge del subvolum\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Opcions del subvolum\"\n\nmsgid \"Save\"\nmsgstr \"Guardar\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Nom del subvolum :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Seleccioneu un punt de muntatge :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Seleccioneu les opcions de subvolum desitjades \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Definiu usuaris amb privilegi sudo, per nom d'usuari: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] S'ha creat un fitxer de registre aquí: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Us agradaria utilitzar subvolums BTRFS amb una estructura predeterminada?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Us agradaria utilitzar la compressió BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Us agradaria crear una partició separada per a /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Les unitats seleccionades no tenen la capacitat mínima requerida per una recomanació automàtica\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Capacitat mínima per la partició /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Capacitat mínima per la partició Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Continuar\"\n\nmsgid \"yes\"\nmsgstr \"sí\"\n\nmsgid \"no\"\nmsgstr \"no\"\n\nmsgid \"set: {}\"\nmsgstr \"establir: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"La configuració manual ha de ser una llista\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"No s'ha especificat iface per a la configuració manual\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"La configuració manual de la NIC sense DHCP automàtic necessita una direcció IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Afegir interfície\"\n\nmsgid \"Edit interface\"\nmsgstr \"Editar interfície\"\n\nmsgid \"Delete interface\"\nmsgstr \"Eliminar interfície\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Seleccioneu la interfície a afegir\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Configuració manual\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Marcar/Desmarcar una partició com a comprimida (només btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"La contrasenya que esteu utilitzant sembla dèbil, segur que voleu utilitzar-la?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Proporciona una selecció d'entorns d'escriptori i gestors de finestres en mosaic, com ara gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Seleccioneu el vostre entorn d'escriptori desitjat\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Una instal·lació molt bàsica que us permet personalitzar Arch Linux com us sembli millor.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Proporciona una selecció de varis paquets de servidor per a instal·lar i habilitar, com ara httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Escolliu quins servidors instal·lar. Si no n'hi ha cap, es farà una instal·lació mínima\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Instal·la un sistema mínim, així com controladors xorg i gràfics.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Polseu Enter per a continuar.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Us agradaria accedir a la instal·lació acabada de crear i realitzar la configuració posterior a la instal·lació?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Segur que voleu re-establir aquesta configuració?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Seleccioneu un o més discos durs per a utilitzar i configurar\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Qualsevol modificació a la configuració existent re-establirà el disseny del disc!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Si re-establiu la selecció del disc dur, això també reiniciarà el disseny actual del disc. N'esteu segurs?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Guardar i sortir\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"conté particions a la cua, això les eliminarà, n'esteu segurs?\"\n\nmsgid \"No audio server\"\nmsgstr \"Sense servidor d'àudio\"\n\nmsgid \"(default)\"\nmsgstr \"(per defecte)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Utilitzeu ESC per a ometre\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Utilitzeu CTRL+C per reiniciar la selecció actual\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Copiar a: \"\n\nmsgid \"Edit: \"\nmsgstr \"Editar: \"\n\nmsgid \"Key: \"\nmsgstr \"Clau: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Editar {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Afegir: \"\n\nmsgid \"Value: \"\nmsgstr \"Valor: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Podeu ometre la selecció d'una unitat i la partició i utilitzar qualsevol configuració d'unitat que estigui muntada a /mnt (experimental)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Seleccioneu un dels discs o ometeu i utilitzeu /mnt com a predeterminat\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Seleccioneu quines particions marcar per a formatar:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Utilitzar HSM per desbloquejar la unitat xifrada\"\n\nmsgid \"Device\"\nmsgstr \"Dispositiu\"\n\nmsgid \"Size\"\nmsgstr \"Mida\"\n\nmsgid \"Free space\"\nmsgstr \"Espai lliure\"\n\nmsgid \"Bus-type\"\nmsgstr \"Tipus de bus\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"S'ha d'especificar una contrasenya de root o un mínim d'un usuari amb privilegis sudo\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Introduïu el nom d'usuari (deixeu-ho en blanc per a ometre): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"El nom d'usuari introduït no és vàlid. Intenteu-ho de nou\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Cal que \\\"{}\\\" sigui un superusuari (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Seleccioneu quines particions xifrar\"\n\nmsgid \"very weak\"\nmsgstr \"molt dèbil\"\n\nmsgid \"weak\"\nmsgstr \"dèbil\"\n\nmsgid \"moderate\"\nmsgstr \"moderada\"\n\nmsgid \"strong\"\nmsgstr \"forta\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Afegir subvolum\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Editar subvolum\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Eliminar subvolum\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"{} interfícies configurades\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Aquesta opció habilita el número de descàrregues paral·leles que poden haver-hi durant la instal·lació\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Introduïu el número de descàrregues paral·leles a activar.\\n\"\n\" (Introduïu un valor entre 1 i {})\\n\"\n\"Nota:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Valor màxim   : {} ( Permet {} descàrregues paral·leles, permet {} descàrregues simultànies )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Valor mínim   : 1 ( Permet 1 descàrrega paral·lela, permet 2 descàrregues simultànies )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Deshabilitar/Per defecte : 0 ( Desactiva les descàrregues paral·leles, només permet 1 descàrrega simultània )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Entrada no vàlida! Intenteu-ho novament amb una entrada vàlida [1 a {max_downloads}, o 0 per desactivar]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Descàrregues paral·leles\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC per a ometre\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C per a re-establir\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB per a seleccionar\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Valor per defecte: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Per a poder utilitzar aquesta traducció, instal·leu manualment una font que suporti l'idioma.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"La font s'ha de guardar com a {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall necessita permisos de root per a executar-se. Vegeu --help per a més detalls.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Seleccioneu un mode d'execució\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"No es pot recuperar el perfil de la URL especificada: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Els perfils han de tenir un nom únic, però s'han trobat definicions de perfil amb noms duplicats: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Seleccioneu un o més dispositius per a utilitzar i configurar\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Si re-establiu la selecció del dispositiu, això també en re-establirà el seu disseny actual. N'esteu segurs?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Particions existents\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Seleccioneu una opció de partició\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Introduïu el directori arrel dels dispositius muntats: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Capacitat mínima per a la partició /home: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Capacitat mínima per a la partició Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Aquesta és una llista de profiles_bck preprogramada que podria facilitar la instal·lació de coses com ara entorns d'escriptori\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Selecció de perfil actual\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Eliminar totes les particions afegides recentment\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Assignar punt de muntatge\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Marcar/Desmarcar per a formatar (esborra les dades)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Marcar/Desmarcar com a arranc\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Canviar el sistema de fitxers\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Marcar/Desmarcar com a comprimit\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Establir subvolums\"\n\nmsgid \"Delete partition\"\nmsgstr \"Eliminar partició\"\n\nmsgid \"Partition\"\nmsgstr \"Partició\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Aquesta partició està actualment xifrada, cal especificar un sistema de fitxers per a formatar-la\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Els punts de muntatge de la partició són relatius a l'interior de la instal·lació; per exemple, /boot seria l'arranc.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Si s'estableix el punt de muntatge /boot, la partició també es marcarà com a partició d'arranc.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Punt de muntatge: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Sectors lliures actuals al dispositiu {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Sectors totals: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Introduïu el sector d'inici (per defecte: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Introduïu el sector final de la partició (percentatge o número de bloc, per defecte: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Això eliminarà totes les particions recentment afegides, continuar?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Gestió de particions: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Llargada total: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Tipus de xifrat\"\n\nmsgid \"Iteration time\"\nmsgstr \"Temps d'iteració\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Introduïu el temps d'iteració per al xifrat LUKS (en mil·lisegons)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Un valor més alt incrementarà la seguretat però endarrerirà el temps d'arrancada\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Per defecte: 10000ms, Rang recomanat: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"El temps d'iteració no pot ser buit\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"El temps d'iteració ha de ser d'un mínim de 100ms\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"El temps d'iteració ha de ser d'un màxim de 120000ms\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Si us plau, introduïu un número vàlid\"\n\nmsgid \"Partitions\"\nmsgstr \"Particions\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"No hi ha dispositius HSM disponibles\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Particions a xifrar\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Seleccioneu la opció de xifrat de disc\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Seleccioneu un dispositiu FIDO2 per a utilitzar amb HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Utilitzar un disseny de partició òptim perdeterminat\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Partició manual\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Configuració premuntada\"\n\nmsgid \"Unknown\"\nmsgstr \"Desconegut\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Xifrat de partició\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formatant {} en \"\n\nmsgid \"← Back\"\nmsgstr \"← Tornar\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Xifrat de disc\"\n\nmsgid \"Configuration\"\nmsgstr \"Configuració\"\n\nmsgid \"Password\"\nmsgstr \"Contrasenya\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Tots els ajusts es reiniciaran, n'esteu segurs?\"\n\nmsgid \"Back\"\nmsgstr \"Tornar\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Si us plau, seleccioneu quin gestor d'inici de sessió instal·lar pels perfils escollits: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Tipus d'entorn: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"El controlador propietari d'Nvidia no és compatible amb sway. És possible que experimenteu problemes. Voleu continuar?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Paquets instal·lats\"\n\nmsgid \"Add profile\"\nmsgstr \"Afegir perfil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Editar perfil\"\n\nmsgid \"Delete profile\"\nmsgstr \"Eliminar perfil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Nom del perfil: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"El nom de perfil que heu introduït ja està en ús. Intenteu-ho de nou\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Paquets que s'instal·laran amb aquest perfil (separats per espais, deixeu-ho en blanc per a ometre): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Serveis que s'habilitaran amb aquest perfil (separats per espais, deixeu-ho en blanc per a ometre): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Cal habilitar aquest perfil per la instal·lació?\"\n\nmsgid \"Create your own\"\nmsgstr \"Creeu el vostre propi\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Seleccioneu un controlador gràfic o deixeu-ho en blanc per instal·lar tots els controladors de codi obert\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway necessita accés als vostres dispositius de hardware (teclat, ratolí, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Escolliu una opció per permetre que Sway accedeixi al vostre hardware\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Controlador de gràfics\"\n\nmsgid \"Greeter\"\nmsgstr \"Gestor d'inici de sessió\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Si us plau, escolliu quin gestor d'inici de sessió instal·lar\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Això és una llista de default_profiles preprogramada\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Configuració del disc\"\n\nmsgid \"Profiles\"\nmsgstr \"Perfils\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Buscant possibles directoris on guardar els fitxers de configuració ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Seleccioneu un directori (o directoris) on guardar els fitxers de configuració\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Afegir un mirall personalitzat\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Canviar mirall personalitzat\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Eliminar mirall personalitzat\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Introduïu el nom: (deixeu-ho en blanc per a ometre): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Introduïu la URL (deixeu-ho en blanc per a ometre): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Seleccioneu la opció de verificació de firma\"\n\nmsgid \"Select signature option\"\nmsgstr \"Seleccioneu la opció de firma\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Miralls personalitzats\"\n\nmsgid \"Defined\"\nmsgstr \"Definit\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Guardar la configuració de l'usuari (incloent el disseny del disc)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Introduïu un directori on guardar les configuracions (compleció amb TAB activada)\\n\"\n\"Directori d'emmagatzematge: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Voleu guardar {} fitxer(s) de configuració a la següent ubicació?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Guardant {} fitxer(s) de configuració a {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Miralls\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Regions dels miralls\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Valor màxim   : {} ( Permet {} descàrregues paral·leles, permets {max_downloads+1} descàrregues simultànies )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Entrada no vàlida! Intenteu-ho de nou amb una entrada vàlida [1 a {}, o 0 per desactivar]\"\n\nmsgid \"Locales\"\nmsgstr \"Llocs\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Utilitzar NetworkManager (necessari per a configurar internet gràficament a GNOME i KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Total: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Tots els valors introduïts poden tenir una unitat com a sufix: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Si no es proporciona cap unitat, el valor s'interpreta com sectors\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Introduïu l'inici (per defecte: sector {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Introduïu el final (per defecte: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"No es poden determinar els dispositius fido2. Està instal·lat libfido2?\"\n\nmsgid \"Path\"\nmsgstr \"Ruta\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Fabricant\"\n\nmsgid \"Product\"\nmsgstr \"Producte\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Configuració no vàlida: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Tipus\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Aquesta opció habilita el número de descàrregues paral·leles que poden haver-hi mentre es descarreguen paquets\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Introduïu el número de descàrregues paral·leles a activar.\\n\"\n\"\\n\"\n\"Nota:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Valor màxim recomanat : {} ( Permets {} descàrregues paral·leles simultànies )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Desactivar/Per defecte : 0 ( Desactiva les descàrregues paral·leles, només permet 1 descàrrega simultània )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Entrada no vàlida! Intenteu-ho de nou amb una entrada vàlida [o 0 per a desactivar]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland necessita accés al vostre seient (col·lecció de dispositius de hardware, és a dir, teclat, ratolí, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Escolliu una opció per permetre a Hyprland l'accés al vostre hardware\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Tots els valors introduïts poden tenir un sufix d'unitat: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Us agradaria utilitzar imatges del kernel unificades?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Imatges del kernel unificades\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Esperant a què es completi la sincronització de l'hora (timedatectl show).\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"La sincronització d'hora no es completa. Mentre espereu - consulteu la documentació per a trobar solucions: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Ometent l'espera de la sincronització automàtica de l'hora (això pot causar problemes si l'hora no està sincronitzada durant la instal·lació)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Esperant a què es completi la sincronització del clauer d'Arch Linux (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Perfils seleccionats: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"La sincronització d'hora no es completa. Mentre espereu - consulteu la documentació per a trobar solucions: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Marcar/Desmarcar com nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Us agradaria utilitzar compressió o desactivar CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"Utilitzar compressió\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Desactivar Copy-on-Write\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Proporciona una selecció d'entorns d'escriptori i gestors de finestres en mosaic, com ara GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Tipus de configuració: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Tipus de configuració LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"Actualment no s'admet el xifrat de disc LVM amb més de 2 particions\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Utilitzar NetworkManager (necessari per a configurar internet gràficament a GNOME i KDE Plasma)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Seleccionar una opció LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Particionament\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Gestió de volums lògics (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Volums físics\"\n\nmsgid \"Volumes\"\nmsgstr \"Volums\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Volums LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Volums LVM a xifrar\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Seleccioneu quins volums LVM cal xifrar\"\n\nmsgid \"Default layout\"\nmsgstr \"Disseny predeterminat\"\n\nmsgid \"No Encryption\"\nmsgstr \"Sense xifrat\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM en LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS en LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Sí\"\n\nmsgid \"No\"\nmsgstr \"No\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Ajuda d'Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (predeterminat)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Polseu Ctrl+h per ajuda\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Escolliu una opció per permetre que Sway accedeixi al vostre hardware\"\n\nmsgid \"Seat access\"\nmsgstr \"Accés al seient\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Punt de muntatge\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Introduïu la contrasenya del xifrat de disc (deixeu-ho en blanc per a no xifrar)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Contrasenya del xifrat del disc\"\n\nmsgid \"Partition - New\"\nmsgstr \"Partició - Nova\"\n\nmsgid \"Filesystem\"\nmsgstr \"Sistema de fitxers\"\n\nmsgid \"Invalid size\"\nmsgstr \"Mida invàlida\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Inici (per defecte: sector {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Final (per defecte: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Nom del subvolum\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Tipus de configuració del disc\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Directori de muntatge arrel\"\n\nmsgid \"Select language\"\nmsgstr \"Seleccioneu l'idioma\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Escriviu paquets addicionals per instal·lar (separats per espais; deixeu-ho en blanc per saltar aquest pas):\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Número de descàrrega invàlid\"\n\nmsgid \"Number downloads\"\nmsgstr \"Número de descàrregues\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"El nom d'usuari introduït no és vàlid\"\n\nmsgid \"Username\"\nmsgstr \"Nom d'usuari\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Cal que \\\"{}\\\" sigui superusuari (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Interfícies\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Necessiteu introduir una IP vàlida al mode de configuració d'IP\"\n\nmsgid \"Modes\"\nmsgstr \"Modes\"\n\nmsgid \"IP address\"\nmsgstr \"Adreça IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Introduïu la IP de la porta d'enllaç (router). Deixeu-ho en blanc per a no utilitzar-ne cap.\"\n\nmsgid \"Gateway address\"\nmsgstr \"Adreça de la porta d'enllaç\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Introduïu els vostres servidors DNS (separats per espais; deixeu-ho en blanc per a cap)\"\n\nmsgid \"DNS servers\"\nmsgstr \"Servidors DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Configurar interfícies\"\n\nmsgid \"Kernel\"\nmsgstr \"Nuclis\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"S'han desactivat algunes opcions perquè no s'ha detectat UEFI\"\n\nmsgid \"Info\"\nmsgstr \"Info\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"El controlador propietari Nvidia no és compatible amb Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"És possible que experimenteu problemes. Voleu continuar?\"\n\nmsgid \"Main profile\"\nmsgstr \"Perfil principal\"\n\nmsgid \"Confirm password\"\nmsgstr \"Confirmar contrasenya\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"La confirmació de la contrasenya no coincideix, si us plau torneu-ho a intentar\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Directori invàlid\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Voleu continuar?\"\n\nmsgid \"Directory\"\nmsgstr \"Directori\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Introduïu un directori on guardar les configuracions (compleció amb TAB activada)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Voleu guardar el(s) fitxer(s) de configuració a {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Activat\"\n\nmsgid \"Disabled\"\nmsgstr \"Desactivat\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Si us plau, envieu aquest problema (i fitxer) a https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Nom del mirall\"\n\nmsgid \"Url\"\nmsgstr \"Url\"\n\nmsgid \"Select signature check\"\nmsgstr \"Seleccionar verificació de signatura\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Seleccionar mode d'execució\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Polseu ? per accedir a l'ajuda\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Escolliu una opció per permetre a Hyprland l'accés al vostre maquinari\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Repositoris addicionals\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap a zram\"\n\nmsgid \"Name\"\nmsgstr \"Nom\"\n\nmsgid \"Signature check\"\nmsgstr \"Verificació de signatura\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Segment d'espai lliure seleccionat al dispositiu {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Mida: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Mida (per defecte: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Dispositiu HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Alguns paquets no s'han trobat al repositori\"\n\nmsgid \"User\"\nmsgstr \"Usuari\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"S'aplicarà la configuració especificada\"\n\nmsgid \"Wipe\"\nmsgstr \"Esborrat complet\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Marcar/Desmarcar com XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Carregant paquets...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Seleccioneu qualsevol paquet de la llista de sota a incloure a la instal·lació\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Afegir un repositori personalitzat\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Canviar repositori personalitzat\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Eliminar repositori personalitzat\"\n\nmsgid \"Repository name\"\nmsgstr \"Nom del repositori\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Afegir un servidor personalitzat\"\n\nmsgid \"Change custom server\"\nmsgstr \"Canviar servidor personalitzat\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Eliminar servidor personalitzat\"\n\nmsgid \"Server url\"\nmsgstr \"URL del servidor\"\n\nmsgid \"Select regions\"\nmsgstr \"Seleccioneu regions\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Afegir servidors personalitzats\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Afegir un repositori personalitzat\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Carregant regions dels miralls...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Miralls i repositoris\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Regions de miralls seleccionades\"\n\nmsgid \"Custom servers\"\nmsgstr \"Servidors personalitzats\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Repositoris personalitzats\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Només es suporten caràcters ASCII\"\n\nmsgid \"Show help\"\nmsgstr \"Mostrar l'ajuda\"\n\nmsgid \"Exit help\"\nmsgstr \"Sortir de l'ajuda\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Previsualització amunt\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Previsualització avall\"\n\nmsgid \"Move up\"\nmsgstr \"Mou amunt\"\n\nmsgid \"Move down\"\nmsgstr \"Mou avall\"\n\nmsgid \"Move right\"\nmsgstr \"Mou a la dreta\"\n\nmsgid \"Move left\"\nmsgstr \"Mou a l'esquerra\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Saltar cap a un registre\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Saltar la selecció (si està disponible)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Reiniciar la selecció (si està disponible)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Selecció única\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Selecció múltiple\"\n\nmsgid \"Reset\"\nmsgstr \"Reiniciar\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Saltar el menú de selecció\"\n\nmsgid \"Start search mode\"\nmsgstr \"Iniciar el mode de cerca\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Sortir del mode de cerca\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc necessita accés al vostre seient (gestor de dispositius de maquinari, com ara teclat, ratolí, etc)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Escolliu una opció per permetre que labwc accedeixi al vostre hardware\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri necessita accés al vostre seient (gestor de dispositius de maquinari, com ara teclat, ratolí, etc)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Escolliu una opció per permetre que niri accedeixi al vostre hardware\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Marcar/Desmarcar com a ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"Group de paquets:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Sortir d'Archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"Reiniciar el sistema\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"feu chroot a la instal·lació per a configuracions posteriors\"\n\nmsgid \"Installation completed\"\nmsgstr \"Instal·lació completa\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Què voleu fer a continuació?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Seleccioneu quin mode cal configurar per a \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Contrasenya de desencriptació incorrecta pel fitxer de credencials\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Contrasenya incorrecta\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Contrasenya de desencriptació del fitxer de credencials\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Voleu encriptar el fitxer user_credentials.json?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Contrasenya d'encriptació del fitxer de credencials\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repositoris: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Versió nova disponible\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Inici de sessió sense contrasenya\"\n\nmsgid \"Second factor login\"\nmsgstr \"Inici de sessió amb segon factor\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Voleu configurar el Bluetooth?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Voleu configurar el Bluetooth?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Gestió de particions: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"Autenticació\"\n\nmsgid \"Applications\"\nmsgstr \"Aplicacions\"\n\nmsgid \"U2F login method: \"\nmsgstr \"Mètode d'inici de sessió U2F: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo sense contrasenya: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Tipus d'instantània Btrfs: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Sincronitzant el sistema...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"El valor no pot ser buit\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Tipus d'instantània\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Tipus d'instantània: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Configuració d'autenticació U2F\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"No s'han trobat dispositius U2F\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"Mètode d'inici de sessió U2F\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Cal activar sudo sense contrasenya?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Preparant el dispositiu U2F per a l'usuari: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Pot ser que necessiteu introduir el PIN i tocar el dispositiu U2F per a registrar-lo\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Començant modificacions del dispositiu en \"\n\nmsgid \"No network connection found\"\nmsgstr \"No s'ha trobat cap configuració de xarxa\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Us voleu connectar al Wifi?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"No s'ha trobat cap interfície wifi\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Seleccioneu la xarxa wifi on connectar-se\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Escanejant xarxes wifi...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"No s'han trobat xarxes wifi\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Error configurant el wifi\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Introduïu la contrasenya del wifi\"\n\nmsgid \"Ok\"\nmsgstr \"Ok\"\n\nmsgid \"Removable\"\nmsgstr \"Extraïble\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Instal·lar a un mitjà extraïble\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"S'instal·larà a /EFI/BOOT (mitjà extraïble)\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"S'instal·larà a una ubicació estàndard amb un registre NVRAM\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"Voleu instal·lar el bootloader a la ubicació predeterminada del dispositiu extraïble?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Això instal·larà el bootloader a /EFI/BOOT/BOOTX64.EFI (o similar). És útil per a:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"Llapis USB o altres mitjans extraïbles externs.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Sistemes on vulgueu que el dispositiu arranqui en qualsevol ordinador.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Firmware que no suporta registres d'arrancada NVRAM.\"\n\n#, fuzzy\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"S'instal·larà a /EFI/BOOT (mitjà extraïble)\"\n\n#, fuzzy\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"S'instal·larà a una ubicació estàndard amb un registre NVRAM\"\n\n#, fuzzy\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Firmware que no suporta registres d'arrancada NVRAM.\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Idioma local\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Només s'instal·laran paquets com base, base-devel, linux, linux-firmware, efibootmgr i altres paquets de perfil opcionals.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Seleccioneu un punt de muntatge :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/cs/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Martin Kozák <martin.kozak@outlook.cz>\\n\"\n\"Language-Team: \\n\"\n\"Language: cs\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Soubor protokolu byl vytvořen zde: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Prosím, informujte nás o této chybě (spolu se souborem) na https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Skutečně chcete proces přerušit?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Ještě jednou pro ověření: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Přejete si použít swap na zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Název počítače k instalaci: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Uživatelské jméno pro superuživatele s oprávněními sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Další uživatelé, kteří mají být nainstalováni (ponechte prázdné pro žádné uživatele): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Má být tento uživatel superuživatelem (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Zvolte časovou zónu\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Přejete si použít GRUB jako hlavní zavaděč namísto systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Zvolte zavaděč\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Zvolte audio server\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Budou nainstalovány pouze balíčky jako base, base-devel, linux, linux-firmware, efibootmgr a volitelné balíčky profilu.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"Poznámka: balík base-devel se již neinstaluje automaticky. Přidejte jej zde, pokud potřebujete nástroje pro sestavování.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Pokud si přejete nainstalovat webový prohlížeč, jako je například Firefox nebo Chromium, můžete jej zadat do následujícího pole.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Zadejte další balíčky k instalaci (oddělené mezerou, ponechte prázdné k přeskočení): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Zkopírovat do instalace konfiguraci sítě z ISO\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Použít NetworkManager (nezbytné pro grafickou konfiguraci v GNOME a KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Zvolte síťové rozhraní ke konfiguraci\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Zvolte který režim má být nastaven pro \\\"{}\\\" nebo přeskočte pro použití výchozího režimu \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Zadejte IP a podsíť pro {} (např. 192.168.0.5/24) \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Zadejte IP vaší brány (routeru) nebo ponechte prázdné pro žádnou: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Zadejte vaše DNS servery (oddělené mezerou, ponechte prázdné pro žádné): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Zvolte souborový systém, který se má použít pro váš hlavní oddíl\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Aktuální rozdělení disku\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"Zvolte co dělat s {}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Zadejte požadovaný souborový systém pro oddíl\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Zadejte počáteční pozici (jednotky: s, GB, %, atd. ; výchozí: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Zadejte koncovou pozici (jednotky: s, GB, %, atd. ; např.: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} obsahuje oddíly ve frontě, toto je odstraní, jste si jisti?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Vyberte podle indexu, které oddíly chcete odstranit\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Vyberte podle indexu, který oddíl se má připojit kam\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Přípojné body diskových oddílů jsou relativní uvnitř instalace, například spouštěcí bod by byl /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Zvolte kam připojit oddíl (ponechte prázdné pro odstranění přípojného bodu): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Zvolte oddíl, který bude označen ke zformátování\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Zvolte oddíl, který bude označen jako šifrovaný\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Zvolte oddíl, který bude označen jako spouštěcí\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Zvolte oddíl, na kterém bude souborový systém\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Zadejte požadovaný typ souborového systému pro oddíl: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Jazyk pro Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Vymazat všechny vybrané disky a použít chytré výchozí rozdělení oddílů\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Zvolte, co se má udělat s jednotlivými disky (následováno použitím oddílu)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Zvolte, co si přejete udělat s vybranými blokovými zařízeními\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Toto je seznam před-programovaných profilů, které by mohly usnadnit instalaci věcí jako jsou desktopová prostředí\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Zvolte rozložení klávesnice\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Zvolte region ze kterého se budou stahovat balíčky\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Zvolte jeden nebo více pevných disků k použití a konfiguraci\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Pro nejlepší kompatibilitu s vaším hardwarem AMD můžete použít buď možnost vše open-source nebo AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Pro nejlepší kompatibilitu s vaším hardwarem Intel můžete použít buď možnost vše open-source nebo Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Pro nejlepší kompatibilitu s vaším hardwarem Nvidia můžete použít buď možnost vše open-source nebo proprietární ovladač Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Zvolte ovladač grafické karty nebo ponechte prázdné k instalaci všech open-source ovladačů\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Vše open-source (výchozí)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Zvolte jádra, která mají být použita, nebo ponechte prázdné pro výchozí \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Zvolte jazyk lokalizace, který chcete používat\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Zvolte kódování lokalizace, které chcete používat\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Zvolte jednu z hodnot zobrazenou níže: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Zvolte jednu nebo více možností níže: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Přidávání nového oddílu...\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Chcete-li pokračovat, musíte zvolit platný typ souborového systému. Seznam validních typů najdete například ve výstupu `man parted`.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Chyba: Výpis profilů z URL \\\"{}\\\" skončilo výstupem:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Chyba: Nepodařilo se dekódovat výsledek \\\"{}\\\" jako JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Rozložení klávesnice\"\n\nmsgid \"Mirror region\"\nmsgstr \"Oblast zrcadla\"\n\nmsgid \"Locale language\"\nmsgstr \"Místní jazyk\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Kódování místního jazyka\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Disk(y)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Rozdělení disku\"\n\nmsgid \"Encryption password\"\nmsgstr \"Šifrovací heslo\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Zavaděč\"\n\nmsgid \"Root password\"\nmsgstr \"Heslo správce (root)\"\n\nmsgid \"Superuser account\"\nmsgstr \"Účet superuživatele\"\n\nmsgid \"User account\"\nmsgstr \"Uživatelský účet\"\n\nmsgid \"Profile\"\nmsgstr \"Profil\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Jádra\"\n\nmsgid \"Additional packages\"\nmsgstr \"Dodatečné balíčky\"\n\nmsgid \"Network configuration\"\nmsgstr \"Konfigurace sítě\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Automatická synchronizace času (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Instalovat ({} konfigurace chybí)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Rozhodli jste se přeskočit výběr pevného disku\\n\"\n\"a použijete jakýkoli disk, který je připojen na {} (experimentální)\\n\"\n\"VAROVÁNÍ: Archinstall nezkontroluje korektnost takové instalace\\n\"\n\"Přejete si pokračovat?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Použití existující instance oddílu: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Vytvořit nový oddíl\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Smazat oddíl\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Vyčistit/Smazat všechny oddíly\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Přiřaďte přípojný bod k oddílu\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Označení/Odznačení oddílu ke zformátování (vymaže data)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Označení/Odznačení oddílu jako šifrovaného\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Označení/Odznačení oddílu jako spouštěcího (automatické pro /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Zvolte požadovaný souborový systém pro oddíl\"\n\nmsgid \"Abort\"\nmsgstr \"Přerušit\"\n\nmsgid \"Hostname\"\nmsgstr \"Název počítače\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Nenakonfigurováno, nedostupné mimo ruční instalaci\"\n\nmsgid \"Timezone\"\nmsgstr \"Časová zóna\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Nastavte/Upravte možnosti níže\"\n\nmsgid \"Install\"\nmsgstr \"Instalovat\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Pomocí ESC přeskočíte\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Navrhnout rozdělení oddílů\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Zadejte heslo: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Zadejte šifrovací heslo pro {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Zadejte šifrovací heslo celého disku (ponechte prázdné pro nepoužití šifrování): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Vytvořte povinný účet superuživatele s oprávněními sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Zadejte heslo uživatele root (ponechte prázdné k zakázání uživatele root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Heslo pro uživatele \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Kontrola existence dodatečných balíčků (to může trvat několik sekund)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Přejete si použít automatickou synchronizaci času (NTP) pomocí výchozích serverů?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Pro fungování NTP může být vyžadován hardwarový čas a další kroky po konfiguraci.\\n\"\n\"Pro další informace navštivte Arch Wiki\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Zadejte uživatelské jméno k přidání dalšího uživatele (ponechte prázdné k přeskočení): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Pomocí ESC přeskočíte\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Vyberte objekt ze seznamu a zvolte k němu jednu z možných akcí\"\n\nmsgid \"Cancel\"\nmsgstr \"Zrušit\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Potvrdit a ukončit\"\n\nmsgid \"Add\"\nmsgstr \"Přidat\"\n\nmsgid \"Copy\"\nmsgstr \"Kopírovat\"\n\nmsgid \"Edit\"\nmsgstr \"Upravit\"\n\nmsgid \"Delete\"\nmsgstr \"Smazat\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Zvolte akci pro '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Zkopírovat k novému klíči:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Neznámý typ nic: {}. Možné hodnoty jsou {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Toto je vaše konfigurace:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman je již spuštěn, po 10 minutách bude vynuceno jeho ukončení.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Nalezen zámek předchozí instance pacman. Před používáním archinstall, prosím, vyčistěte všechna existující sezení pacman.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Vyberte, které dodatečné balíčky mají být povoleny\"\n\nmsgid \"Add a user\"\nmsgstr \"Přidat uživatele\"\n\nmsgid \"Change password\"\nmsgstr \"Změnit heslo\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Udělení/Odebrání práv uživatele\"\n\nmsgid \"Delete User\"\nmsgstr \"Smazat uživatele\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Vytvořit nového uživatele\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Uživatelské jméno: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Má být {} superuživatelem (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Specifikovat uživatele s oprávněními sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Žádná konfigurace sítě\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Nastavení požadované podsvazky na oddílu btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"{} Zvolte oddíl, na kterém budou podsvazky nastaveny\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Spravovat podsvazky pro aktuální oddíl\"\n\nmsgid \"No configuration\"\nmsgstr \"Žádná konfigurace\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Uložit uživatelskou konfiguraci\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Uložit přihlašovací údaje\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Uložit rozdělení disku\"\n\nmsgid \"Save all\"\nmsgstr \"Uložit vše\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Vyberte, které konfigurace mají být uloženy\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Zadejte adresář pro uložení konfigurace (konfigurací): \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Adresář není validní: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Vaše heslo se zdá být slabé,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"přejete si ho skutečně použít?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Volitelné repozitáře\"\n\nmsgid \"Save configuration\"\nmsgstr \"Uložit konfiguraci\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Chybějící konfigurace:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Musí být zadáno heslo správce (root) nebo musí existovat alespoň jeden superuživatel\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Spravovat účty superuživatele: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Spravovat běžné účty: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Podsvazek :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" připojen na :{:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" s přepínačem {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"Zadejte požadované hodnoty pro nový podsvazek \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Název podsvazku \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Přípojný bod podsvazku\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Přepínače podsvazku\"\n\nmsgid \"Save\"\nmsgstr \"Uložit\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Název podsvazku:\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Zvolte přípojný bod:\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Zvolte požadované přepínače podsvazku \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Specifikace uživatelů s oprávněními sudo, pomocí uživatelského jména: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Soubor s protokoly byl uložen zde: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Přejete si použít výchozí strukturu BTRFS podsvazků?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Přejete si použít BTRFS kompresi?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Přejete si vytvořit oddělený oddíl pro /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Vybrané disky nemají dostatečnou kapacitu potřebnou k automatickému návrhu\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Minimální kapacita pro oddíl /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Minimální kapacita pro oddíl s Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Pokračovat\"\n\nmsgid \"yes\"\nmsgstr \"ano\"\n\nmsgid \"no\"\nmsgstr \"ne\"\n\nmsgid \"set: {}\"\nmsgstr \"nastavit: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Ruční konfigurace musí být seznam\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Pro ruční konfiguraci nebyl vybrán žádný iface\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Ruční konfigurace nic bez automatického DHCP vyžaduje IP adresu\"\n\nmsgid \"Add interface\"\nmsgstr \"Přidat rozhraní\"\n\nmsgid \"Edit interface\"\nmsgstr \"Upravit rozhraní\"\n\nmsgid \"Delete interface\"\nmsgstr \"Smazat rozhraní\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Zvolit rozhraní k přidání\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Ruční konfigurace\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Označit/Odznačit oddíl s kompresí (jen pro btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Vaše heslo se zdá být slabé, chcete ho skutečně použít?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Nabízí výběr desktopových prostředí a tiling správců oken, např. gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Zvolte si požadované desktopové prostředí\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Základní instalace, která vám umožní si nastavit Arch Linux jakkoliv si budete přát.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Nabízí výběr různých serverových balíčků k instalaci a aktivaci, např. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Vyberte, které servery mají být nainstalovány, pokud nezvolíte žádné, bude provedena jen základní instalace\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Nainstaluje minimalistický systém spolu s xorg a ovladači grafiky.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Stiskněte ENTER pro pokračování.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Přejete si vstoupit skrze chroot do své nově vytvořené instalace a provést závěrečnou konfiguraci?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Skutečně si přejete resetovat toto nastavení?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Zvolte jeden nebo více pevných disků k použití a konfiguraci\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Jakékoliv úpravy stávajícího nastavení resetuje rozdělení disku!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Pokud resetujete výběr disku, také tím resetujete stávající rozdělení. Přejete si pokračovat?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Uložit a ukončit\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"obsahuje oddíly ve frontě, toto je odstraní, jste si jisti?\"\n\nmsgid \"No audio server\"\nmsgstr \"Žádný audio server\"\n\nmsgid \"(default)\"\nmsgstr \"(výchozí)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Pomocí ESC přeskočíte\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"Pomocí CTRL+C zrušíte stávající výběr\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Zkopírovat do: \"\n\nmsgid \"Edit: \"\nmsgstr \"Upravit: \"\n\nmsgid \"Key: \"\nmsgstr \"Klíč: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Upravit {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Přidat: \"\n\nmsgid \"Value: \"\nmsgstr \"Hodnota: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Můžete přeskočit výběr disku a rozdělení oddílů a použít libovolné rozložení disků, které je připojeno v /mnt (experimentální)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Zvolte jeden z disků nebo přeskočte a použijte /mnt jako výchozí\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Zvolte oddíly, které mají být označeny ke zformátování:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Použít HSM k odemykání zašifrovaného disku\"\n\nmsgid \"Device\"\nmsgstr \"Zařízení\"\n\nmsgid \"Size\"\nmsgstr \"Velikost\"\n\nmsgid \"Free space\"\nmsgstr \"Volné místo\"\n\nmsgid \"Bus-type\"\nmsgstr \"Typ sběrnice\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Musí být zadáno heslo správce (root) nebo musí být specifikován alespoň jeden uživatel s sudo oprávněními\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Zadejte uživatelské jméno (ponechte prázdné k přeskočení): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Zadané uživatelské jméno není platné. Zkuste to znovu\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Má být \\\"{}\\\" superuživatelem (sudoer)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Zvolte oddíl, který bude označen jako šifrovaný\"\n\nmsgid \"very weak\"\nmsgstr \"velmi slabé\"\n\nmsgid \"weak\"\nmsgstr \"slabé\"\n\nmsgid \"moderate\"\nmsgstr \"středně silné\"\n\nmsgid \"strong\"\nmsgstr \"silné\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Přidat podsvazek\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Upravit podsvazek\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Smazat podsvazek\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Nakonfigurováno {} rozhraní\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Tato možnost povolí specifikovaný počet paralelních stahování, která mohou nastat při instalaci\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Zadejte povolený počet paralelních stahování.\\n\"\n\" (Zadejte hodnotu mezi 1 a {})\\n\"\n\"Poznámka:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Maximální hodnota  : {} (Povolí {} paralelních stahování, povolí {} stahování naráz )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Minimální hodnota   : 1 (Povolí 1 paralelní stahování, povolí 2 stahování naráz)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Zakázáno/Výchozí    : 0 (Zakáže paralelní stahování, povolí pouze 1 stahování naráz)\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Neplatný vstup! Zkuste to, prosím, znovu s platným vstupem [1 až {max_downloads}, nebo 0 pro vypnutí]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Paralelní stahování\"\n\nmsgid \"ESC to skip\"\nmsgstr \"Pomocí ESC přeskočíte\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C pro zrušení\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB k výběru\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Výchozí hodnota: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Abyste mohli používat tento překlad, nainstalujte prosím písmo, které zvolený jazyk podporuje.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Písmo by mělo být uložené jako {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall vyžaduje ke spuštění oprávnění správce (root). Použijte --help pro více informací.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Zvolte způsob provedení\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Nepodařilo se získat profil ze zadané url: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Profily musí mít unikátní jméno. Následující duplicity byly nalezeny: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Zvolte jeden nebo více pevných disků k použití a konfiguraci\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Pokud zrušíte výběr disku, také tím zrušíte stávající rozdělení. Přejete si pokračovat?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Existující oddíly\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Zvolte možnosti rozdělení disku\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Zadejte kořenový adresář připojených zařízení: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Minimální kapacita pro oddíl /home: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Minimální kapacita pro oddíl s Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Toto je seznam před-programovaných profilů, které by mohly usnadnit instalaci věcí jako jsou desktopová prostředí\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Aktuální výběr profilu\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Smazat všechny nově přidané oddíly\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Přiřaďte přípojný bod\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Označení/Odznačení oddílu ke zformátování (vymaže data)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Označit/Odznačit jako spouštěcí\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Změnit souborový systém\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Označit/Odznačit oddíl s kompresí\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Nastavit podsvazky\"\n\nmsgid \"Delete partition\"\nmsgstr \"Smazat oddíl\"\n\nmsgid \"Partition\"\nmsgstr \"Diskový oddíl\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Tento oddíl je zašifrovaný, k naformátování zadejte souborový systém\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Přípojné body diskových oddílů jsou relativní uvnitř instalace, například spouštěcí bod by byl /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Pokud je nastaven přípojný bod /boot, oddíl je zároveň označený jako spouštěcí.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Přípojný bod: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Momentálně volné sektory na zařízení {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Celkem sektorů: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Zadejte počáteční sektor (výchozí: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Zadejte koncový sektor oddílu (procenta nebo číslo bloku, výchozí: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Tímto smažete všechny nově vytvořené oddíly, přejete si pokračovat?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Správa diskových oddílů: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Celková délka: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Typ šifrování\"\n\nmsgid \"Iteration time\"\nmsgstr \"Doba iterace\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Zadejte dobu iterace pro šifrování LUKS (v milisekundách)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Vyšší hodnoty zvyšují bezpečnost, ale snižují dobu spouštění\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Výchozí: 10000ms, Doporučený rozsah: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Doba iterace nesmí být prázdná\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Doba iterace musí být alespoň 100 ms\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Doba iterace musí být alespoň 120000ms\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Prosím zadejte platné číslo\"\n\nmsgid \"Partitions\"\nmsgstr \"Diskové oddíly\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Žádné HSM zařízení není dostupné\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Zvolte oddíl k zašifrování\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Zvolte způsob šifrování disku\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Vyberte FIDO2 zařízení abyste mohli používat HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Použít chytré výchozí rozdělení oddílů\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Ruční rozdělení disku\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Pre-mounted konfigurace\"\n\nmsgid \"Unknown\"\nmsgstr \"Neznámý\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Šifrování diskového oddílu\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formátování {} na \"\n\nmsgid \"← Back\"\nmsgstr \"← Zpět\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Šifrování disku\"\n\nmsgid \"Configuration\"\nmsgstr \"Konfigurace\"\n\nmsgid \"Password\"\nmsgstr \"Heslo\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Všechny volby budou zrušeny, jste si jisti?\"\n\nmsgid \"Back\"\nmsgstr \"Zpět\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Prosím vyberte přihlašovací obrazovku k instalaci pro vybraný profil: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Typ prostředí: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Sway nepodporuje proprietární ovladač Nvidia. Pravděpodobně narazíte na problémy, přejete si pokračovat?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Instalované balíčky\"\n\nmsgid \"Add profile\"\nmsgstr \"Přidat profil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Změnit profil\"\n\nmsgid \"Delete profile\"\nmsgstr \"Smazat profil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Jméno profilu: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Zadaný název profilu již existuje. Zkuste to znovu\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Zadejte další balíčky k instalaci v tomto profilu (oddělené mezerou, ponechte prázdné k přeskočení): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Zadejte povolené služby v tomto profilu (oddělené mezerou, ponechte prázdné k přeskočení): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Má se tento profil použít pro instalaci?\"\n\nmsgid \"Create your own\"\nmsgstr \"Vytvořit vlastní\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Zvolte ovladač grafické karty nebo ponechte prázdné k instalaci všech open-source ovladačů\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway vyžaduje přístup k vašemu sezení (soubor zařízení jako např. klávesnice, myš, atd.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Vyberte možnost jak zpřístupnit pro Sway váš hardware\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Grafický ovladač\"\n\nmsgid \"Greeter\"\nmsgstr \"Přihlašovací obrazovka\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Prosím vyberte přihlašovací obrazovku k instalaci\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Toto je seznam před-programovaných výchozích profilů\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Konfigurace disku\"\n\nmsgid \"Profiles\"\nmsgstr \"Profily\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Hledám možné adresáře k uložení konfiguračních souborů ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Zvolte jeden nebo více adresářů k uložení konfiguračních souborů\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Přidat vlastní zrcadlo\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Změnit vlastní zrcadla\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Smazat vlastní zrcadla\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Zadejte jméno (ponechte prázdné k přeskočení): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Zadejte url (ponechte prázdné k přeskočení): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Zvolit možnost kontroly podpisu\"\n\nmsgid \"Select signature option\"\nmsgstr \"Zvolit možnost podpisu\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Vlastní zrcadla\"\n\nmsgid \"Defined\"\nmsgstr \"Definováno\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Uložit uživatelskou konfiguraci (včetně rozdělení disků)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Zadejte adresář pro uložení konfigurace (konfigurací). Doplňování pomocí tab je zapnuto\\n\"\n\"Adresář pro uložení: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Chcete uložit {} konfiguračních souborů do následujícího umístění?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Ukládám {} konfiguračních souborů do {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Zrcadla\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Oblasti zrcadel\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Maximální hodnota  : {} (Povolí {} paralelních stahování, povolí {max_downloads+1} stahování naráz )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Neplatný vstup! Zkuste to, prosím, znovu s platným vstupem [1 až {}, nebo 0 pro vypnutí]\"\n\nmsgid \"Locales\"\nmsgstr \"Lokalizace\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Použít NetworkManager (nezbytné pro grafickou konfiguraci v GNOME a KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Celkem: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Všechny zadané hodnoty mohou byt doplněny jednotkou: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Pokud nejsou zadány jednotky, hodnoty jsou brány jako sektory\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Zadejte počátek (výchozí: sektor {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Zadejte konec (výchozí: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Nelze rozpoznat FIDO2 zařízení. Je nainstalován balíček libfido2?\"\n\nmsgid \"Path\"\nmsgstr \"Cesta\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Výrobce\"\n\nmsgid \"Product\"\nmsgstr \"Produkt\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Chybná konfigurace: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Typ\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Tato možnost povolí specifikovaný počet paralelních stahování, která mohou nastat při instalaci\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Zadejte povolený počet paralelních stahování.\\n\"\n\"\\n\"\n\"Poznámka:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Maximální doporučená hodnota  : {} (Povolí {} paralelních stahování naráz )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Zakázáno/Výchozí : 0 (Zakáže paralelní stahování, povolí pouze 1 stahování naráz)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Neplatný vstup! Zkuste to, prosím, znovu s platným vstupem [nebo 0 pro vypnutí]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland vyžaduje přístup k vašemu sezení (soubor zařízení jako např. klávesnice, myš, atd.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Vyberte možnost jak zpřístupnit pro Hyprland váš hardware\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Všechny zadané hodnoty mohou byt doplněny jednotkou: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Přejete si použít Unified Kernel Images?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Unified Kernel Images\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Čekám na dokončení synchronizace času (timedatectl show).\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Synchronizace času není dokončena, mezitím se můžete podívat na možnosti řešení: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Přeskakování čekání na automatickou synchronizaci času (nesynchronizovaný čas může způsobit problémy během instalace)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Čekám na dokončení synchronizace Arch Linux keyring (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Zvolené profily: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Synchronizace času není dokončena, mezitím se můžete podívat na možnosti řešení: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Označit/Odznačit jako nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Přejete si použít kompresi nebo zakázat CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"Použít kompresi\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Zakázat Copy-on-Write\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Nabízí výběr desktopových prostředí a dlaždicových správců oken, např. GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Typ konfigurace: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Typ LVM konfigurace\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"LVM šifrování disku s více jak dvěma oddíly není v tuto chvíli podporováno\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Použít NetworkManager (nezbytné pro grafickou konfiguraci inernetu v GNOME a KDE)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Zvolte možnost LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Rozdělení diskových oddílů\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Logical Volume Management (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Fyzické svazky\"\n\nmsgid \"Volumes\"\nmsgstr \"Svazky\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM svazky\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"LVM svazky k zašifrování\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Zvolte LVM svazky k zašifrování\"\n\nmsgid \"Default layout\"\nmsgstr \"Výchozí rozložení\"\n\nmsgid \"No Encryption\"\nmsgstr \"Žádné šifrování\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM na LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS na LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Ano\"\n\nmsgid \"No\"\nmsgstr \"Ne\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Nápověda pro Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (výchozí)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Stiskněte Ctrl+h pro nápovědu\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Vyberte možnost jak zpřístupnit pro Sway váš hardware\"\n\nmsgid \"Seat access\"\nmsgstr \"Přístup k sezení\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Přípojný bod\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Zadejte heslo pro zašifrování disku (ponechte prázdné pro nepoužití šifrování)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Heslo pro šifrování disku\"\n\nmsgid \"Partition - New\"\nmsgstr \"Diskový oddíl - Nový\"\n\nmsgid \"Filesystem\"\nmsgstr \"Souborový systém\"\n\nmsgid \"Invalid size\"\nmsgstr \"Neplatná velikost\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Počátek (výchozí: sektor {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Konec (výchozí: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Název podsvazku\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Typ konfigurace disku\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Kořenový adresář pro připojení\"\n\nmsgid \"Select language\"\nmsgstr \"Zvolte jazyk\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Zadejte další balíčky k instalaci (oddělené mezerou, ponechte prázdné k přeskočení)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Neplatný počet stahování\"\n\nmsgid \"Number downloads\"\nmsgstr \"Počet stahování\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Zadané uživatelské jméno není platné\"\n\nmsgid \"Username\"\nmsgstr \"Uživatelské jméno\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Má být \\\"{}\\\" superuživatelem (sudoer)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Rozhraní\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Musíte zadat platnou IP adresu\"\n\nmsgid \"Modes\"\nmsgstr \"Režimy\"\n\nmsgid \"IP address\"\nmsgstr \"IP adresa\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Zadejte IP vaší brány (routeru) nebo ponechte prázdné pro žádnou\"\n\nmsgid \"Gateway address\"\nmsgstr \"Adresa brány\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Zadejte vaše DNS servery (oddělené mezerou, ponechte prázdné pro žádné):\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS servery\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Nakonfigurujte rozhraní\"\n\nmsgid \"Kernel\"\nmsgstr \"Jádro\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI nebylo nalezeno a některé možnosti jsou vypnuty\"\n\nmsgid \"Info\"\nmsgstr \"Info\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Sway nepodporuje proprietární ovladač Nvidia.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Pravděpodobně narazíte na problémy, přejete si pokračovat?\"\n\nmsgid \"Main profile\"\nmsgstr \"Hlavní profil\"\n\nmsgid \"Confirm password\"\nmsgstr \"Potvrdit heslo\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Potvrzovací heslo se neshoduje, zkuste to prosím znovu\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Adresář není validní\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Přejete si pokračovat?\"\n\nmsgid \"Directory\"\nmsgstr \"Adresář\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Zadejte adresář pro uložení konfigurace (doplňování pomocí tab je zapnuto)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Chcete uložit konfigurační soubor(y) do {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Povoleno\"\n\nmsgid \"Disabled\"\nmsgstr \"Zakázáno\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Prosím, informujte nás o této chybě (spolu se souborem) na https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Jméno zrcadla\"\n\nmsgid \"Url\"\nmsgstr \"Url\"\n\nmsgid \"Select signature check\"\nmsgstr \"Zvolit kontrolu podpisu\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Zvolte způsob provedení\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Stiskněte ? pro nápovědu\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Vyberte možnost jak zpřístupnit pro Hyprland váš hardware\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Dodatečné repozitáře\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap na zram\"\n\nmsgid \"Name\"\nmsgstr \"Jméno\"\n\nmsgid \"Signature check\"\nmsgstr \"Kontrola podpisu\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Zvolené volné sektory na zařízení {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Velikost: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Velikost (výchozí: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"HSM zařízení\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Některé balíčky nemohly být nalezeny v repozitáři\"\n\nmsgid \"User\"\nmsgstr \"Uživatel\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Bude použita zvolená konfigurace\"\n\nmsgid \"Wipe\"\nmsgstr \"Vymazat\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Označit/Odznačit jako XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Načítání balíčků...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Vyberte balíčky z níže uvedeného seznamu, které by měly být dodatečně nainstalovány\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Přidat vlastní repozitář\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Změnit vlastní repozitář\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Smazat vlastní repozitář\"\n\nmsgid \"Repository name\"\nmsgstr \"Název repozitáře\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Přidat vlastní server\"\n\nmsgid \"Change custom server\"\nmsgstr \"Změnit vlastní server\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Smazat vlastní server\"\n\nmsgid \"Server url\"\nmsgstr \"URL serveru\"\n\nmsgid \"Select regions\"\nmsgstr \"Zvolte regiony\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Přidat vlastní servery\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Přidat vlastní repozitář\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Načítání oblastí zrcadel...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Zrcadla a repozitáře\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Zvolené oblasti zrcadel\"\n\nmsgid \"Custom servers\"\nmsgstr \"Vlastní servery\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Vlastní repozitáře\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Jsou podporovány pouze ASCII znaky\"\n\nmsgid \"Show help\"\nmsgstr \"Zobrazit nápovědu\"\n\nmsgid \"Exit help\"\nmsgstr \"Opustit nápovědu\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Posunout náhled dolů\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Posunout náhled dolů\"\n\nmsgid \"Move up\"\nmsgstr \"Posunout nahoru\"\n\nmsgid \"Move down\"\nmsgstr \"Posunout dolů\"\n\nmsgid \"Move right\"\nmsgstr \"Posunout doprava\"\n\nmsgid \"Move left\"\nmsgstr \"Posunout doleva\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Přejít na položku\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Přeskočit výběr (je-li dostupné)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Zrušit výběr (je-li dostupné)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Výběr jedné možnosti\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Výběr více možností\"\n\nmsgid \"Reset\"\nmsgstr \"Zrušit\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Přeskočit výběr\"\n\nmsgid \"Start search mode\"\nmsgstr \"Spustit režim vyhledávání\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Opustit režim vyhledávání\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc vyžaduje přístup k vašemu sezení (soubor zařízení jako např. klávesnice, myš, atd.)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Vyberte možnost jak zpřístupnit pro labwc váš hardware\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri vyžaduje přístup k vašemu sezení (soubor zařízení jako např. klávesnice, myš, atd.)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Vyberte možnost jak zpřístupnit pro niri váš hardware\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Označit/Odznačit jako ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"Skupina balíčků:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Ukončit archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"Restartovat systém\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"vstoupit skrze chroot do své nově vytvořené instalace a provést závěrečnou konfiguraci\"\n\nmsgid \"Installation completed\"\nmsgstr \"Instalace dokončena\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Co si přejete udělat dál?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Zvolte který režim má být nastaven pro \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Neplatné heslo pro dešifrování souboru s přihlašovacími údaji\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Neplatné heslo\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Heslo pro dešifrování souboru s přihlašovacími údaji\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Chcete zašifrovat soubor user_credentials.json?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Heslo pro zašifrování souboru s přihlašovacími údaji\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repozitáře: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Je dostupná nová verze\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Přihlášení bez hesla\"\n\nmsgid \"Second factor login\"\nmsgstr \"Dvoufázové přihlášení\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Přejete si nastavit Bluetooth?\"\n\nmsgid \"Print service\"\nmsgstr \"Tisková služba\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Přejete si nastavit tiskovou službu?\"\n\nmsgid \"Power management\"\nmsgstr \"Správa napájení\"\n\nmsgid \"Authentication\"\nmsgstr \"Ověřování\"\n\nmsgid \"Applications\"\nmsgstr \"Aplikace\"\n\nmsgid \"U2F login method: \"\nmsgstr \"Způsob U2F přihlášení: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo bez hesla: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Druh Btrfs snímku: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Synchronizování systému...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Hodnota nesmí být prázdná\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Druh snímku\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Druh snímku: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Nastavení U2F přihlášení\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Nebylo nalezeno žádné U2F zařízení\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"Způsob U2F přihlášení\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Povolit sudo bez hesla?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Nastavování U2F zařízení pro uživatele: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Možná budete muset zadat PIN a poté potvrdit na svém U2F zařízení, aby se zaregistrovalo\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Spouští se úpravy zařízení v \"\n\nmsgid \"No network connection found\"\nmsgstr \"Nebylo nalezeno žádné síťové připojení\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Přejete si připojit se k Wifi?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Nebyly nalezeno žádné wifi zařízení\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Zvolte ke které wifi se chcete připojit\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Vyhledávání wifi sítí...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Nebylo nalezeny žádné wifi sítě\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Nepodařilo se nastavit wifi\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Zadejte heslo pro wifi\"\n\nmsgid \"Ok\"\nmsgstr \"Ok\"\n\nmsgid \"Removable\"\nmsgstr \"Vyměnitelné\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Nainstalovat na vyměnitelné médium\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"Instalace do /EFI/BOOT/ (vyměnitelné umístění)\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"Instalace na standardní umístění s NVRAM záznamem\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"Přejete si nainstalovat zavadeč do výchozího umístění pro vyhledávání vyměnitelných médií?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Toto nainstaluje zavaděč do /EFI/BOOT/BOOTX64.EFI (nebo podobně), což je užitečné pro:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"USB disky nebo jiná přenosná externí média.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Systémy, kde chcete, aby byl disk spouštěcí na jakémkoli počítači.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Firmware, který správně nepodporuje spouštěcí záznamy v NVRAM.\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"Instalace do /EFI/BOOT/ (vyměnitelné umístění, bezpečná výchozí volba)\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"Instalace na standardní umístění s NVRAM záznamem\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Firmware, který nepodporuje správně zaváděcí záznamy v NVRAM, jako je tomu u většiny základních desek MSI,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"většina počítačů Apple Mac, mnoho notebooků…\"\n\nmsgid \"Language\"\nmsgstr \"Jazyk\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"Kompresní algoritmus\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Budou nainstalovány pouze balíčky jako base, sudo, linux, linux-firmware, efibootmgr a volitelné balíčky profilu.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Zvolte kompresní algoritmus pro zram:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"Použít Network Manager (výchozí backend)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"Použít Network Manager (iwd backend)\"\n"
  },
  {
    "path": "archinstall/locales/de/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: \\n\"\n\"Language: de\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.6\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Eine Logdatei wurde hier erstellt: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Bitte melden Sie das Problem mit der erstellten Datei auf https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Wollen Sie wirklich abbrechen?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Und noch einmal zur Bestätigung: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Möchten Sie Auslagerungsspeicher (Swap) als zram verwenden?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Gewünschter Gerätename/Hostname für die Installation: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Benutzername für den erforderlichen Superuser mit sudo Rechten: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Geben Sie weitere Benutzernamen ein, die installiert werden sollen (leer lassen für keine weiteren Benutzer): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Soll dieser Benutzer ein Superuser sein (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Wählen Sie eine Zeitzone aus\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Möchten Sie GRUB als Bootloader anstelle von systemd-boot verwenden?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Wählen Sie einen Bootloader aus\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Wählen Sie einen Audioserver aus\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Nur Pakete wie base, base-devel, linux, linux-firmware, efibootmgr und optionale Profilpakete werden installiert.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Wenn Sie einen Webbrowser installieren möchten, wie z.B. Firefox oder Chromium, können Sie diese nun eingeben.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Schreiben Sie zusätzliche Pakete die installiert werden sollen (mit einem Leerzeichen getrennt, zum Überspringen leer lassen): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO-Netzwerk Einstellungen in die Installation kopieren\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager nutzen (notwendig um Internetverbindungen grafisch in GNOME und KDE einzustellen)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Wählen Sie einen Netzwerkadapter zur Konfiguration aus\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Wählen Sie einen Modus zur Konfiguration von \\\"{}\\\" aus oder überspringen, um mit dem voreingestellten Modus \\\"{}\\\" fortzufahren\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Geben Sie die IP-Adresse mit Subnetzgröße für {} ein (z.B. 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Geben Sie das Gateway (Router) IP-Adresse ein (leer lassen für keines): \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Geben Sie die DNS-Server ein (mit Leerzeichen getrennt oder leer lassen für keinen Server): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Wählen Sie ein Dateisystem aus, welches für die Hauptpartition verwendet werden soll\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Momentanes Partitionslayout\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Wählen Sie eine Aktion aus für\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Wählen Sie den gewünschten Dateisystemtyp für die Partition aus\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Geben Sie die Startposition ein (in parted Einheiten: s, GB, %, etc. ; default: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Geben Sie die Endposition ein (in parted Einheiten: s, GB, %, etc. ; default: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} enthält Partitionen in der Warteschlange, diese werden damit entfernt, sind Sie sicher?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wählen Sie anhand vom Index aus, welche Partitionen gelöscht werden sollen\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wählen Sie anhand vom Index aus, welche Partitionen wo eingehängt werden sollen\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Die Einhängeorte sind relativ zur Installation, boot würde beispielsweise /boot entsprechen.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Geben Sie an wo die Partition eingehängt werden soll (leer lassen um den Einhängeort zu entfernen): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wählen Sie aus, welche Partition formatiert werden soll\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wählen Sie aus, welche Partition verschlüsselt werden soll\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wählen Sie aus, welche Partition bootfähig markiert werden soll\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Bitte wählen Sie aus, auf welcher Partition ein Dateisystem erstellt werden soll\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Geben Sie einen gewünschten Dateisystemtyp für die Partition ein: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Sprache für Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Alle Laufwerke löschen und ein empfohlenes Partitionslayout verwenden\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Geben Sie individuell an, was mit jedem Laufwerk geschehen soll\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Wählen Sie aus, was Sie mit den ausgewählten Blockgeräten tun möchten\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Dies ist eine Auflistung vorprogrammierter Profile, die es einfacher ermöglichen, Dinge wie Desktop-Umgebungen zu installieren\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Wählen Sie ein Tastaturlayout aus\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Wählen Sie eine Region zum herunterladen von Paketen aus\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Wählen Sie ein oder mehrere Laufwerk(e) aus, die konfiguriert und verwendet werden sollen\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Für die beste Kompatibilität mit Ihrer AMD Hardware, sollten Sie womöglich die quelloffenen oder andernfalls AMD/ATI-Optionen verwenden.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Für die beste Kompatibilität mit Ihrer Intel Hardware, sollten Sie womöglich die quelloffenen oder andernfalls Intel-Optionen verwenden.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Für die beste Kompatibilität mit Ihrer Nvidia-Hardware, sollten Sie den proprietären Nvidia-Treiber verwenden.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Wählen Sie einen Grafikkartentreiber aus oder leer lassen, um alle quelloffenen Treiber zu installieren\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Alle quelloffenen (Standard)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Wählen Sie welche Kernel benutzt werden sollen oder leer lassen für Standard \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Wählen Sie aus, welche lokale Sprache verwendet werden soll\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Wählen Sie aus, welche lokale Kodierung verwendet werden soll\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Wählen Sie einen der folgenden Werte aus: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Wählen Sie eine oder mehrere Option(en) aus: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Partition wird hinzugefügt...\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Geben Sie einen gültigen Dateisystemtyp ein um fortzufahren. Verwenden Sie `man parted` um eine Liste gültiger Typen einzusehen.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Fehler: Auflistung von Profilen mit URL \\\"{}\\\" ergab:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Fehler: \\\"{}\\\" konnte nicht zu JSON dekodiert werden:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Tastaturlayout\"\n\nmsgid \"Mirror region\"\nmsgstr \"Spiegelserver-Region\"\n\nmsgid \"Locale language\"\nmsgstr \"Lokale Sprache\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Lokale Kodierung\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Laufwerk(e)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Laufwerkslayout\"\n\nmsgid \"Encryption password\"\nmsgstr \"Verschlüsselungspasswort\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Bootloader\"\n\nmsgid \"Root password\"\nmsgstr \"Root-Passwort\"\n\nmsgid \"Superuser account\"\nmsgstr \"Superuser-Konto\"\n\nmsgid \"User account\"\nmsgstr \"Benutzerkonto\"\n\nmsgid \"Profile\"\nmsgstr \"Profil\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernel\"\n\nmsgid \"Additional packages\"\nmsgstr \"Zusätzliche Pakete\"\n\nmsgid \"Network configuration\"\nmsgstr \"Netzwerkkonfiguration\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Automatische Zeitsynchronisierung (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Installieren ({} Konfiguration(en) ausständig)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Sie haben sich entschieden, kein Laufwerk auszuwählen\\n\"\n\"und somit werden Laufwerkseinstellungen verwendet, welche am Einhängeort {} vorgefunden werden (experimentell)\\n\"\n\"WARNUNG: Archinstall wird die Kompatibilität der Einstellung nicht überprüfen\\n\"\n\"Wollen Sie trotzdem fortfahren?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Wiederverwenden der Partitionsinstanz: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Neue Partition erstellen\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Partition löschen\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Alle Partitionen löschen\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Einhängeort für Partition angeben\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Markieren, ob eine Partition formatiert werden soll (alle Daten werden gelöscht)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Markieren, ob eine Partition verschlüsselt werden soll\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Markieren, ob eine Partition als bootfähig sein soll (automatisch für /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Wählen Sie einen Dateisystemtyp für die Partition aus\"\n\nmsgid \"Abort\"\nmsgstr \"Abbrechen\"\n\nmsgid \"Hostname\"\nmsgstr \"Gerätename/Hostname\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Nicht konfiguriert, nicht verfügbar wenn nicht selber eingestellt\"\n\nmsgid \"Timezone\"\nmsgstr \"Zeitzone\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Setzen/Modifizieren Sie die unten stehenden Einstellungen\"\n\nmsgid \"Install\"\nmsgstr \"Installieren\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"ESC um zu überspringen\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Ein Partitionslayout vorschlagen\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Passwort eingeben: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Verschlüsselungspasswort angeben für {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Geben Sie ein Verschlüsselungspasswort ein (leer lassen um Verschlüsselung zu deaktivieren): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Geben Sie einen Superuser mit sudo Privilegien an: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Geben Sie ein Root-Passwort ein (leer lassen um Root zu deaktivieren): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Passwort für Benutzer \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Angegebene Pakete werden verifiziert (dies könnte einige Sekunden dauern)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Möchten Sie die automatische Zeitsynchronisierung (NTP) mit dem Standard Server verwenden?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Hardwarezeit und andere Einstellungsschritte könnten notwendig sein um NTP zu benutzen.\\n\"\n\"Für weitere Informationen wenden Sie sich bitte an das Arch wiki\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Geben Sie einen Benutzernamen ein, um diesen zusätzlich anzulegen (leer lassen zum Überspringen): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"ESC um zu überspringen\\n\"\n\n#, fuzzy\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Wählen Sie ein Objekt aus der Liste und eine Aktion, die Sie ausführen möchten.\"\n\nmsgid \"Cancel\"\nmsgstr \"Abbrechen\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Bestätigen und Schließen\"\n\nmsgid \"Add\"\nmsgstr \"Hinzufügen\"\n\nmsgid \"Copy\"\nmsgstr \"Kopieren\"\n\nmsgid \"Edit\"\nmsgstr \"Bearbeiten\"\n\nmsgid \"Delete\"\nmsgstr \"Löschen\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Wählen Sie eine Aktion aus für '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Kopieren zum neuen Schlüssel:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Nicht erkannter Netzwerkinterfacecontroller: {}. Erlaubte Werte {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Dies ist Ihre gewählte Konfiguration:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman läuft bereits, warten für maximal 10 Minuten auf Beendigung.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Existierendes Pacman lock wurde nicht beendet. Bitte beenden Sie existierende Pacman Sessions bevor archinstall benutzt wird.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Wählen Sie aus, welche zusätzlichen Repositories verwendet werden sollen\"\n\nmsgid \"Add a user\"\nmsgstr \"Benutzerkonto hinzufügen\"\n\nmsgid \"Change password\"\nmsgstr \"Passwort ändern\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Benutzerkonto berechtigen/einschränken\"\n\nmsgid \"Delete User\"\nmsgstr \"Benutzerkonto löschen\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Neues Benutzerkonto anlegen\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Benutzername: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Soll {} ein superuser sein (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Geben Sie Superuser mit sudo Privilegien an: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Keine Netzwerkkonfiguration\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Legen Sie das gewünschte Subvolume für die Btrfs-Partition fest\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wählen Sie, auf welcher Partition Subvolumes eingerichtet werden sollen\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Bearbeiten von Btrfs-Subvolumes für die aktuelle Partition\"\n\nmsgid \"No configuration\"\nmsgstr \"Keine Konfiguration\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Benutzerkonfiguration speichern\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Benutzeranmeldeinformationen speichern\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Laufwerklayout speichern\"\n\nmsgid \"Save all\"\nmsgstr \"Alles speichern\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Wählen Sie eine Konfiguration aus, welche gespeichert werden soll\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Geben Sie einen Ordner an, in dem Konfigurationen gespeichert werden sollen: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Kein gültiger Ordner: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Das gewählte Passwort ist schwach,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"wollen Sie dieses Passwort wirklich verwenden?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Zusätzliche Repositorien\"\n\nmsgid \"Save configuration\"\nmsgstr \"Konfiguration speichern\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Ausständige Konfigurationen:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Entweder root Passwort oder mindestens ein Superuser muss konfiguriert sein\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Superuser Konto bearbeiten: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Benutzerkonten bearbeiten: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolume :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" Eingehängt bei {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" mit Option {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Geben Sie die gewünschten Werte für ein neues Subvolume an \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Subvolume-Name \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Subvolume-Einhängeort\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Subvolume-Optionen\"\n\nmsgid \"Save\"\nmsgstr \"Speichern\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Subvolume-Name:\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Wählen Sie einen Einhängeort aus:\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Wählen Sie die gewünschten Optionen für das Subvolume \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Geben Sie Benutzer mit sudo Privilegien an: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Eine Logdatei wurde hier erstellt: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Möchten Sie Btrfs-Subvolumes mit vorgegebener Struktur verwenden?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Möchten Sie Btrfs-Komprimierung verwenden?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Möchten Sie eine separate Partition für /home erstellen?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Die ausgewählten Laufwerke haben nicht genug Speicherplatz für eine automatische Vorgabe\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Minimaler Speicherplatz für /home Partition: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Minimaler Speicherplatz für Arch Linux Partition: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Weiter\"\n\nmsgid \"yes\"\nmsgstr \"Ja\"\n\nmsgid \"no\"\nmsgstr \"Nein\"\n\nmsgid \"set: {}\"\nmsgstr \"gewählt: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Manuelle Konfiguration muss eine Liste sein\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Keine Verbindung angegeben für eine manuelle Konfiguration\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Manuelle Konfiguration für Netzwerkverbindung ohne automatisches DHCP benötigt eine IP Addresse\"\n\nmsgid \"Add interface\"\nmsgstr \"Verbindung hinzufügen\"\n\nmsgid \"Edit interface\"\nmsgstr \"Verbindung bearbeiten\"\n\nmsgid \"Delete interface\"\nmsgstr \"Verbindung löschen\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Wählen Sie eine Verbindung aus, welche hinzugefügt werden soll\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Manuelle Konfiguration\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Partition als komprimiert markieren bzw. nicht komprimiert markieren (nur Btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Das gewählte Passwort ist schwach, möchten Sie trotzdem fortfahren?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Auswahl von Desktopumgebungen und kachelnden Fenstermanagern, z.B. GNOME, KDE, Sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Wählen Sie Ihre gewünschte Desktopumgebung aus\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Eine sehr minimale Installation, welche es erlaubt Arch Linux selber nach eigenen Wünschen anzupassen.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Auswahl von Serverpaketen welche installiert und aktiviert werden sollen, z.B. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Wählen Sie die gewünschten Server aus, welche installiert werden sollen. Sonst wird eine Minimalinstallation durchgeführt\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Installiert ein minimales System inklusive Xorg und Grafiktreibern.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Drücken Sie Enter, um fortzufahren.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Möchten Sie in das neu installierte System über chroot zugreifen um noch weitere, manuelle Konfigurationen vorzunehmen?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Wollen Sie wirklich diese Konfiguration zurücksetzen?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Wählen Sie ein oder mehrere Laufwerk(e) aus, die konfiguriert und verwendet werden sollen\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Jede Änderung der bestehenden Einstellung führt zu einer Zurücksetzung des Datenträgerlayouts!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Wenn Sie die Laufwerkskonfiguration ändern, dann wird das Laufwerkslayout zurückgesetzt. Sind Sie sicher?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Speichern und Beenden\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"enthält Partitionen in der Warteschlange, diese werden damit entfernt, sind Sie sicher?\"\n\nmsgid \"No audio server\"\nmsgstr \"Kein Audioserver\"\n\nmsgid \"(default)\"\nmsgstr \"(Standard)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Drücken Sie ESC, um zu überspringen\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Drücken Sie Strg+C, um die aktuelle Auswahl zurückzusetzen\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Kopieren nach: \"\n\nmsgid \"Edit: \"\nmsgstr \"Bearbeiten: \"\n\nmsgid \"Key: \"\nmsgstr \"Schlüssel: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Bearbeiten {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Hinzufügen: \"\n\nmsgid \"Value: \"\nmsgstr \"Wert: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Sie können das Auswählen eines Laufwerks überspringen und die Laufwerkseinstellungen verwenden, welche am Einhängeort /mnt vorgefunden werden (experimentell)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Wählen Sie ein Laufwerk aus oder überspringen, um /mnt als Standard zu verwenden\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Wählen Sie aus, welche Partitionen formatiert werden sollen:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"HSM verwenden, um verschlüsselte Platte zu entsperren\"\n\nmsgid \"Device\"\nmsgstr \"Gerät\"\n\nmsgid \"Size\"\nmsgstr \"Größe\"\n\nmsgid \"Free space\"\nmsgstr \"Freier Speicherplatz\"\n\nmsgid \"Bus-type\"\nmsgstr \"Bus-Typ\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Entweder root Passwort oder mindestens ein Superuser muss konfiguriert sein\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Benutzernamen eingeben (leer lassen zum Überspringen): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Der eingegebene Benutzername ist ungültig. Erneut versuchen\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Soll {} ein Superuser sein (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Wählen Sie aus, welche Partitionen verschlüsselt werden sollen\"\n\nmsgid \"very weak\"\nmsgstr \"Sehr schwach\"\n\nmsgid \"weak\"\nmsgstr \"Schwach\"\n\nmsgid \"moderate\"\nmsgstr \"Moderat\"\n\nmsgid \"strong\"\nmsgstr \"Stark\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Subvolume hinzufügen\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Subvolume bearbeiten\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Subvolume löschen\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"{} Schnittstellen konfiguriert\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Diese Option setzt die Nummer an parallelen Downloads, die während der Installation durchgeführt werden\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Geben Sie die Nummer an parallelen Downloads an.\\n\"\n\" (Wert zwischen 1 und {})\\n\"\n\"Achtung:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Maximalwert   :{} (Erlaubt {} parallele Downloads, erlaubt {} Downloads gleichzeitig)\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Minimalwert   : 1 (Erlaubt einen parallelen Download, erlaubt zwei Downloads gleichzeitig)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Deaktivieren/Standard : 0 (Deaktiviert parallele Downloads, erlaubt nur einen Download gleichzeitig)\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Ungültige Eingabe! Erneut mit gültiger Eingabe versuchen [1 bis {max_downloads}, oder 0 zum deaktivieren]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Parallele Downloads\"\n\nmsgid \"ESC to skip\"\nmsgstr \"Drücken Sie ESC, um zu überspringen\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"Strg+C zum zurücksetzen\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB zum auswählen\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Standardwert: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Um diese Übersetzung nutzen zu können, installieren Sie bitte manuell eine Schriftart, die diese Sprache unterstützt.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Die Schriftart sollte als {} gespeichert werden\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall benötigt Root-Rechte zum ausführen. Siehe --help für mehr.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Wählen Sie einen Ausführmodus\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Konnte Profil nicht von der angegebenen URL holen: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Profile müssen einen eindeutige Namen haben, aber Profildefinition mit gleichem Namen gefunden: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Wählen Sie ein oder mehrere Gerät(e) aus, die konfiguriert und verwendet werden sollen\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Wenn Sie die Laufwerksauswahl zurücksetzen, dann wird das auch das Laufwerkslayout zurückgesetzt. Sind Sie sicher?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Existierende Partitionen\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Wählen Sie eine Partitionierungsoption aus\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Geben Sie das Stammverzeichnis der eingehängten Geräte an: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Minimaler Speicherplatz für /home Partition: {}GB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Minimaler Speicherplatz für Arch Linux Partition: {}GB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Dies ist eine Auflistung vorprogrammierter Profile (Backup), die es einfacher ermöglichen, Dinge wie Desktop-Umgebungen zu installieren\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Momentane Profilauswahl\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Alle neu hinzugefügten Partitionen entfernen\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Einhängeort für Partition zuweisen\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Markieren bzw. nicht markieren zum formatieren (alle Daten werden gelöscht)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Als bootbar markieren bzw. nicht markieren\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Dateisystem ändern\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Als komprimiert markieren bzw. als nicht komprimiert markieren\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Subvolumes setzen\"\n\nmsgid \"Delete partition\"\nmsgstr \"Partition löschen\"\n\nmsgid \"Partition\"\nmsgstr \"Partition\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Diese Partition ist aktuell verschlüsselt, zum formatieren muss ein Dateisystem angegeben werden\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Die Einhängeorte sind relativ zur Installation, boot würde beispielsweise /boot entsprechen.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Wenn der Einhängeort auf /boot gesetzt ist, wird die Partition ebenfalls als bootbar markiert.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Einhängeort: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Aktuell freie Sektoren auf dem Gerät {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Sektoren insgesamt: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Geben Sie den Startsektor ein (Standard: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Geben Sie den Endsektor der Partition ein (Prozent oder Blocknummer, Standard: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Dies wird alle neu hinzugefügten Partitionen entfernen, fortfahren?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Partitionsverwaltung: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Gesamtlänge: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Verschlüsselungstyp\"\n\nmsgid \"Iteration time\"\nmsgstr \"Entschlüsselungsdauer\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Geben Sie die Entschlüsselungsdauer für LUKS in Millisekunden an\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Höhere Werte verbessern die Sicherheit, verlangsamen aber den Systemstart\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Standard: 10000 ms, Empfohlen: 1000 ms - 60000 ms\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Die angegebene Entschlüsselungsdauer darf nicht leer sein\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Die Entschlüsselungsdauer muss mindestens 100 ms betragen\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Die Entschlüsselungsdauer darf maximal 120000 ms betragen\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Geben Sie eine gültige Zahl ein\"\n\nmsgid \"Partitions\"\nmsgstr \"Partitionen\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Kein HSM-Gerät verfügbar\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Partitionen die verschlüsselt werden\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Laufwerksverschlüsselungsoption auswählen\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"FIDO2-Gerät für HSM auswählen\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Empfohlenes Partitionslayout verwenden\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Manuelle Partitionierung\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Voreingehängte Konfiguration\"\n\nmsgid \"Unknown\"\nmsgstr \"Unbekannt\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Partitionsverschlüsselung\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formatiere {} in \"\n\nmsgid \"← Back\"\nmsgstr \"← Zurück\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Festplattenverschlüsselung\"\n\nmsgid \"Configuration\"\nmsgstr \"Konfiguration\"\n\nmsgid \"Password\"\nmsgstr \"Passwort\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Alle Einstellungen werden zurückgesetzt. Sind Sie sicher?\"\n\nmsgid \"Back\"\nmsgstr \"Zurück\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Bitte einen Greeter (Begrüßer/Anmeldebildschirm) für das ausgewählte Profil auswählen: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Umgebungstyp: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Der proprietäre Nvidia-Treiber wird von Sway nicht unterstützt. Es ist wahrscheinlich, dass Fehler auftreten werden, trotzdem fortfahren?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Installiere Pakete\"\n\nmsgid \"Add profile\"\nmsgstr \"Profil hinzufügen\"\n\nmsgid \"Edit profile\"\nmsgstr \"Profil bearbeiten\"\n\nmsgid \"Delete profile\"\nmsgstr \"Profil entfernen\"\n\nmsgid \"Profile name: \"\nmsgstr \"Profilname: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Der eingegebene Profilname wird bereits verwendet. Erneut versuchen\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Zusätzliche Pakete die mit diesem Profil installiert werden sollen (Mit Leerzeichen trennen, leer lassen zum Überspringen): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Dienste, die mit diesem Profil aktiviert werden sollen (Mit Leerzeichen trennen, leer lassen zum Überspringen): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Soll dieses Profil für die Installation aktiviert werden?\"\n\nmsgid \"Create your own\"\nmsgstr \"Erstellen Sie ein Eigenes\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Wählen sie einen Grafiktreiber aus oder leer lassen um alle quelloffenen Treiber zu installieren\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway benötigt Zugriff auf ihren Seat (Sammlung von Hardwaregeräten wie Tastatur, Maus, usw.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Option auswählen, um Sway Zugriff auf Ihre Hardware zu geben\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Grafiktreiber\"\n\nmsgid \"Greeter\"\nmsgstr \"Greeter (Begrüßer/Anmeldebildschirm)\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Bitte den zu installierenden Greeter (Begrüßer/Anmeldebildschirm) auswählen\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Dies ist eine Auflistung vorprogrammierter Standardprofile\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Laufwerkskonfiguration\"\n\nmsgid \"Profiles\"\nmsgstr \"Profile\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Finde mögliche Pfade um Konfigurationsdateien zu speichern...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Ordner um Konfigurationsdateien zu erstellen auswählen\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Benutzerdefinierten Spiegelserver hinzufügen\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Benutzerdefinierten Spiegelserver bearbeiten\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Benutzerdefinierten Spiegelserver löschen\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Name eingeben (leer lassen zum Überspringen): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"URL eingeben (leer lassen zum Überspringen): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Signaturprüfungs-Option auswählen\"\n\nmsgid \"Select signature option\"\nmsgstr \"Signatur-Option auswählen\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Benutzerdefinierte Spiegelserver\"\n\nmsgid \"Defined\"\nmsgstr \"Definiert\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Benutzerkonfiguration (mit Laufwerkslayout) speichern\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Geben Sie einen Ordner an, in dem die Konfiguration(en) gespeichert werden sollen (TAB zum vervollständigen)\\n\"\n\"Ordner: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Möchten Sie {} Konfigurationsdatei(en) in folgendem Ordner speichern?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} Konfigurationsdateien in {} speichern\"\n\nmsgid \"Mirrors\"\nmsgstr \"Spiegelserver\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Spiegelserver-Regionen\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Maximalwert    : {} ( Erlaubt {} parallele Downloads, erlaubt {max_downloads+1} Downloads gleichzeitig)\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Ungültige Eingabe! Erneut mit gültiger Eingabe versuchen [1 bis {}, oder 0 zum deaktivieren]\"\n\nmsgid \"Locales\"\nmsgstr \"Lokalisierung\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager nutzen (notwendig um Internetverbindungen grafisch in GNOME und KDE einzustellen)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Gesamt: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Alle eingegebenen Werte können mit einer Einheit angegeben werden: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Wenn keine Einheit angegeben wurde, wird der Wert als Sektoren interpretiert\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Geben Sie den Anfang ein (Standard: Sektor {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Geben Sie das Ende ein (Standard: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Fehler beim Finden der fido2 Geräte. Ist libfido2 installiert?\"\n\nmsgid \"Path\"\nmsgstr \"Pfad\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Hersteller\"\n\nmsgid \"Product\"\nmsgstr \"Produkt\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Ungültige Konfiguration: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Typ\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Diese Option setzt die Anzahl der parallelen Downloads, die während der Paketdownloads stattfinden\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Geben Sie die Nummer an parallelen Downloads an.\\n\"\n\"\\n\"\n\"Achtung:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Höchster empfohlener Wert  : {} ( Erlaubt {} Downloads gleichzeitig )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Deaktivieren/Standard : 0 (Deaktiviert parallele Downloads, erlaubt nur einen Download gleichzeitig)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Ungültige Eingabe! Erneut mit gültiger Eingabe versuchen [oder 0 zum deaktivieren]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland benötigt Zugriff auf ihren Seat (Sammlung von Hardwaregeräten wie Tastatur, Maus, usw.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Eine Option auswählen, um Hyprland Zugriff auf Ihre Hardware zu geben\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Alle eingegebenen Werte können mit einer Einheit angegeben werden: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Möchten Sie Vereinigte Kernel Images verwenden?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Vereinigte Kernel-Images\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Warte auf Fertigstellung der Zeitsynchronisierung (timedatectl show).\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Zeitsynchronisierung wird nicht fertig. Während Sie warten, lesen Sie die Dokumentation für Umgehungen dieses Fehlers durch: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Überspringe das Warten auf die automatische Zeitsynchronisierung (dies kann Fehler verursachen, wenn die Zeit während der Installation nicht synchronisiert ist.)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Warte auf die Synchronisierung des Arch Linux-Keyrings (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Ausgewählte Profile: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Die Zeitsynchronisierung wird nicht fertig. während Sie warten, lesen Sie die Dokumentation für Umgehungen dieses Fehlers durch: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Als nodatacow markieren bzw. nicht markieren\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Möchten Sie Komprimierung verwenden oder CoW deaktivieren?\"\n\nmsgid \"Use compression\"\nmsgstr \"Komprimierung verwenden\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Copy-on-Write deaktivieren\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Auswahl von Desktopumgebungen und kachelnden Fenstermanagern, z.B. GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Konfigurationstyp: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM-Konfigurationstyp\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"LVM-Verschlüsselung ist derzeit nicht mit mehr als 2 Partitionen unterstützt\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"NetworkManager nutzen (notwendig, um Internetverbindungen grafisch in GNOME und KDE Plasma einzustellen)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Wählen Sie eine LVM-Option aus\"\n\nmsgid \"Partitioning\"\nmsgstr \"Partitionierung\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Logisches Volumenmanagement (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Physisches Volumen\"\n\nmsgid \"Volumes\"\nmsgstr \"Volumes\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM-Volumes\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"LVM-Volumes, die verschlüsselt werden sollen\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Wählen Sie aus, welche LVM-Volumes verschlüsselt werden sollen\"\n\nmsgid \"Default layout\"\nmsgstr \"Standardlayout\"\n\nmsgid \"No Encryption\"\nmsgstr \"Keine Verschlüsselung\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM auf LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS auf LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Ja\"\n\nmsgid \"No\"\nmsgstr \"Nein\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Hilfe für Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (Standard)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Drücken Sie Strg+h, für Hilfe\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Eine Option auswählen, um Sway Zugriff auf Ihre Hardware zu geben\"\n\nmsgid \"Seat access\"\nmsgstr \"Seat-Zugriff\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Einhängeort\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Geben Sie ein Verschlüsselungspasswort ein (leer lassen, um Verschlüsselung zu deaktivieren):\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Verschlüsselungspasswort\"\n\nmsgid \"Partition - New\"\nmsgstr \"Neue Partition\"\n\nmsgid \"Filesystem\"\nmsgstr \"Dateisystem\"\n\nmsgid \"Invalid size\"\nmsgstr \"Ungültige Größe\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Geben Sie den Anfang ein (Standard: Sektor {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Geben Sie das Ende ein (Standard: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Name des Subvolumes\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Laufwerkskonfigurationstyp\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Einhängeverzeichnis der Root-Partition\"\n\nmsgid \"Select language\"\nmsgstr \"Sprache auswählen\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Schreiben Sie zusätzliche Pakete, die installiert werden sollen (mit einem Leerzeichen getrennt, zum Überspringen leer lassen):\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Ungültige Anzahl an Downloads\"\n\nmsgid \"Number downloads\"\nmsgstr \"Anzahl der Downloads\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Der eingegebene Benutzername ist ungültig\"\n\nmsgid \"Username\"\nmsgstr \"Benutzername\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Soll \\\"{}\\\" ein Superuser sein (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Verbindungen\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Sie müssen im IP-Konfigurationsmodus eine gültige IP-Adresse eingeben\"\n\nmsgid \"Modes\"\nmsgstr \"Modi\"\n\nmsgid \"IP address\"\nmsgstr \"IP-Adresse\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Geben Sie die IP-Adresse des Gateways (Router) ein (leer lassen für keines)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Gateway-Adresse\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Geben Sie die DNS-Server ein (mit Leerzeichen getrennt; leer lassen für keinen Server)\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS-Server\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Schnittstellen konfigurieren\"\n\nmsgid \"Kernel\"\nmsgstr \"Kernel\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI wurde nicht erkannt. Einige Optionen wurden deaktiviert\"\n\nmsgid \"Info\"\nmsgstr \"Info\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Der proprietäre Nvidia-Treiber wird von Sway nicht unterstützt.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Es ist wahrscheinlich, dass Fehler auftreten werden. Trotzdem fortfahren?\"\n\nmsgid \"Main profile\"\nmsgstr \"Hauptprofil\"\n\nmsgid \"Confirm password\"\nmsgstr \"Passwort bestätigen\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Das Passwort stimmt nicht überein, bitte versuche es erneut\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Ungültiges Verzeichnis\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Möchten Sie fortfahren?\"\n\nmsgid \"Directory\"\nmsgstr \"Verzeichnis\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Geben Sie einen Ordner an, in dem die Konfiguration(en) gespeichert werden sollen (Tab zum Vervollständigen)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Möchten Sie die Konfigurationsdatei(en) im Verzeichnis {} speichern?\"\n\nmsgid \"Enabled\"\nmsgstr \"Aktiviert\"\n\nmsgid \"Disabled\"\nmsgstr \"Deaktiviert\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Bitte melden Sie das Problem mit der erstellten Datei auf https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Spiegelserver-Name\"\n\nmsgid \"Url\"\nmsgstr \"URL\"\n\nmsgid \"Select signature check\"\nmsgstr \"Signaturprüfungs-Option auswählen\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Wählen Sie einen Ausführungsmodus\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Drücke ? für Hilfe\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Eine Option auswählen, um Hyprland Zugriff auf Ihre Hardware zu geben\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Zusätzliche Repositorien\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap auf zram\"\n\nmsgid \"Name\"\nmsgstr \"Name\"\n\nmsgid \"Signature check\"\nmsgstr \"Signaturprüfung\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Ausgewähltes freies Segment auf dem Gerät {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Größe: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Größe (Standard: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"HSM-Gerät\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Einige Pakete konnten nicht in den Repositorien gefunden werden\"\n\nmsgid \"User\"\nmsgstr \"Benutzername\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Die festgelegte Konfiguration wird angewendet\"\n\nmsgid \"Wipe\"\nmsgstr \"Löschen\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Als XBOOTLDR markieren bzw. nicht markieren\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Lade Pakete...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Wählen Sie Pakete aus, die Sie zusätzlich installieren möchten\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Benutzerdefiniertes Repositorium hinzufügen\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Benutzerdefiniertes Repositorium bearbeiten\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Benutzerdefiniertes Repositorium löschen\"\n\nmsgid \"Repository name\"\nmsgstr \"Name des Repositoriums\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Benutzerdefinierten Spiegelserver hinzufügen\"\n\nmsgid \"Change custom server\"\nmsgstr \"Benutzerdefinierten Spiegelserver wechseln\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Benutzerdefinierten Spiegelserver löschen\"\n\nmsgid \"Server url\"\nmsgstr \"Server-URL\"\n\nmsgid \"Select regions\"\nmsgstr \"Regionen auswählen\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Benutzerdefinierte Spiegelserver hinzufügen\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Benutzerdefiniertes Repositorium hinzufügen\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Lade Spiegelserver-Regionen...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Spiegelserver und Paketrepositorien\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Ausgewählte Spiegelserver-Regionen\"\n\nmsgid \"Custom servers\"\nmsgstr \"Benutzerdefinierte Spiegelserver\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Zusätzliche Repositorien\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Es werden nur ASCII-Zeichen unterstützt\"\n\nmsgid \"Show help\"\nmsgstr \"Hilfe anzeigen\"\n\nmsgid \"Exit help\"\nmsgstr \"Hilfe beenden\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Vorschau nach oben scrollen\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Vorschau nach unten scrollen\"\n\nmsgid \"Move up\"\nmsgstr \"Nach oben bewegen\"\n\nmsgid \"Move down\"\nmsgstr \"Nach unten bewegen\"\n\nmsgid \"Move right\"\nmsgstr \"Nach rechts bewegen\"\n\nmsgid \"Move left\"\nmsgstr \"Nach links bewegen\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Zum Eintrag springen\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Auswahl überspringen (Falls verfügbar)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Auswahl zurücksetzen (Falls verfügbar)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Bei Einzelauswahl auswählen\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Bei Mehrfachauswahl auswählen\"\n\nmsgid \"Reset\"\nmsgstr \"Zurücksetzen\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Auswahlmenü überspringen\"\n\nmsgid \"Start search mode\"\nmsgstr \"Suchmodus starten\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Suchmodus beenden\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc benötigt Zugriff auf ihren Seat (Sammlung von Hardwaregeräten wie Tastatur, Maus, usw.)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Option auswählen, um labwc Zugriff auf Ihre Hardware zu geben\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri benötigt Zugriff auf ihren Seat (Sammlung von Hardwaregeräten wie Tastatur, Maus, usw.)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Option auswählen, um niri Zugriff auf Ihre Hardware zu geben\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Als ESP markieren bzw. nicht markieren\"\n\nmsgid \"Package group:\"\nmsgstr \"Paketgruppe:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstall verlassen\"\n\nmsgid \"Reboot system\"\nmsgstr \"System neustarten\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Greifen Sie per chroot auf die neue Installation zu, um weitere Änderungen vorzunehmen\"\n\nmsgid \"Installation completed\"\nmsgstr \"Installation abgeschlossen\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Was möchten Sie als nächstes tun?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Wählen Sie einen Modus zur Konfiguration von \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Ungültiges Passwort für die Entschlüsselung der Anmeldedaten-Datei\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Falsches Passwort\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Passwort für die Entschlüsselung der Anmeldedaten-Datei\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Möchten Sie die Datei user_credentials.json verschlüsseln?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Passwort für die Verschlüsselung der Anmeldedaten-Datei\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repositorien: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Neue Version verfügbar\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Login ohne Passwort\"\n\nmsgid \"Second factor login\"\nmsgstr \"Zwei-Faktor-Login\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Möchten Sie Bluetooth aktivieren?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Möchten Sie Bluetooth aktivieren?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Partitionsverwaltung: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"Authentifizierung\"\n\nmsgid \"Applications\"\nmsgstr \"Anwendungen\"\n\nmsgid \"U2F login method: \"\nmsgstr \"U2F-Login-Methode: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo ohne Passwort: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Btrfs-Snapshot-Typ: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Synchronisiere das System...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Der Wert darf nicht leer sein\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Snapshot-Typ\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Snapshot-Typ: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"U2F Login-Einrichtung\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Keine U2F-Geräte gefunden\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"U2F-Login-Methode\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Möchten Sie sudo ohne Passwort aktivieren?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Richte U2F-Gerät für den Benutzer {} ein\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Sie müssen möglicherweise Ihre PIN eingeben und danach Ihr U2F-Gerät berühren, um es zu registrieren\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Keine Netzwerkkonfiguration\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Möchten Sie fortfahren?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Schnittstellen konfigurieren\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Wählen Sie einen Netzwerkadapter zur Konfiguration aus\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Keine Netzwerkkonfiguration\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Passwort eingeben: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Lokale Sprache\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Nur Pakete wie base, base-devel, linux, linux-firmware, efibootmgr und optionale Profilpakete werden installiert.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Wählen Sie einen Einhängeort aus:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n\n#~ msgid \"All open-source\"\n#~ msgstr \"Alle quelloffene\"\n\n#~ msgid \"AMD / ATI (open-source)\"\n#~ msgstr \"AMD / ATI (quelloffen)\"\n\n#~ msgid \"Intel (open-source)\"\n#~ msgstr \"Intel (quelloffen)\"\n\n#~ msgid \"Nvidia (open kernel module for newer GPUs, Turing+)\"\n#~ msgstr \"Nvidia (offene Kernelmodule für neuere GPUs, Turing+)\"\n\n#~ msgid \"Nvidia (open-source nouveau driver)\"\n#~ msgstr \"Nvidia (quelloffener nouveau-Treiber)\"\n\n#~ msgid \"Nvidia (proprietary)\"\n#~ msgstr \"Nvidia (proprietär)\"\n\n#~ msgid \"VirtualBox (open-source)\"\n#~ msgstr \"VirtualBox (quelloffen)\"\n\n#~ msgid \"Never\"\n#~ msgstr \"Nie\"\n\n#~ msgid \"Optional\"\n#~ msgstr \"Optional\"\n\n#~ msgid \"Required\"\n#~ msgstr \"Benötigt\"\n\n#~ msgid \"Window Manager\"\n#~ msgstr \"Fenstermanager\"\n\n#~ msgid \"Desktop Environment\"\n#~ msgstr \"Desktopumgebung\"\n"
  },
  {
    "path": "archinstall/locales/el/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: \\n\"\n\"Language: el\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.1\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Ένα αρχείο καταγραφής έχει δημιουργηθεί εδώ: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Παρακαλώ επισυνάψτε αυτό το issue (και αρχείο) στο https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Θέλετε σίγουρα να διακόψετε;\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Και άλλη μία φορά για επαλήθευση: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε swap με zram;\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Επιθυμητό όνομα υπολογιστή για την εγκατάσταση: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Όνομα χρήστη για τον απαιτούμενο υπερ-χρήστη με δικαιώματα sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Επιπρόσθετοι χρήστες για την εγκατάσταση (αφήστε κενό για κανέναν χρήστη): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Θα έπρεπε αυτός ο χρήστης να είναι ένας υπερχρήστης (χρήστης sudo);\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Επιλέξτε μία ζώνη ώρας\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε το GRUB ως bootloader αντί του systemd-boot;\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Επιλέξτε έναν bootloader\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Επιλέξτε έναν διακομιστή ήχου\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Εγκαθίστανται μόνο πακέτα όπως το base, base-devel, linux, linux-firmware, efibootmgr και προαιρετικά πακέτα προφίλ.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Εάν επιθυμείτε έναν περιηγητή διαδικτύου, όπως ο firefox ή ο chromium, πρέπει να το καθορίσετε στο επακόλουθο prompt.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Γράψτε περαιτέρω πακέτα προς εγκατάσταση (χωρισμένα με κενό, αφήστε άδειο για να παραληφθεί): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Αντιγραφή διαμόρφωση δικτύου ISO στην εγκατάσταση\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Χρήση NetworkManager (απαραίτητος για τη διαμόρφωση του δικτύου γραφικά σε GNOME και KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Επιλέξτε μία διεπαφή δικτύου για διαμόρφωση\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Επιλέξτε ποιο mode να διαμορφωθεί για το \\\"{}\\\" ή παραλείψτε για να χρησιμοποιηθεί το default mode \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Εισάγετε την IP και το υποδίκτυο για το {} (παράδειγμα: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Εισάγετε τη διεύθυνση IP του router σας ή αφήστε κενό για καμία διεύθυνση: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Εισάγετε τους διακομιστές DNS σας (χωρισμένοι με κενό, αφήστε κενό για κανέναν διακομιστή): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Επιλέξτε ποιο σύστημα αρχείων θέλετε να χρησιμοποιεί η κύρια διαμέριση\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Τρέχουσα διάταξη διαμέρισης\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Επιλέξτε τι να γίνει με\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Εισάγετε ένα επιθυμητό τύπο συστήματος αρχείων για τη διαμέριση\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"\"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"\"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} περιέχει διαμερίσεις στην ουρά, αυτό θα τις διαγράψει, είστε σίγουρη/ος;\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Επιλέξτε ποιες διαμερίσεις να διαγραφούν μέσω δείκτη\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Επιλέξτε ποια διαμέριση να γίνει mount που, μέσω δείκτη\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Τα σημεία mount της διαμέρισης είναι σχετικά ως προς το εσωτερικό της εγκατάστασης, για παράδειγμα το boot θα ήταν /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Επιλέξτε που να γίνει mount η διαμέρισιη (αφήστε κενό για να διαγραφεί το σημείο mount): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Επιλέξτε ποια διαμέριση να μεταμφιεστεί για μορφοποίηση\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Επιλέξτε ποια διαμέριση να σημειωθεί ως κρυπτογραφημένη\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Επιλέξτε ποια διαμέριση να σημειωθεί ως bootable\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Επιλέξτε σε ποια διαμέριση να δημιουργηθεί σύστημα αρχείων\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Εισάγετε τον επιθυμητό τύπο συστήματος αρχείων για αυτήν τη διαμέριση: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Γλώσσα archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Διαγραφή όλων των επιλεγμένων δίσκων και χρήση μίας προκαθορισμένης διάταξης βέλτιστης προσπάθειας\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Επιλέξτε τι να γίνει με κάθε ξεχωριστό δίσκο (με επακόλουθο τη χρήση διαμέρισης)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Επιλέξτε τι θέλετε να κάνετε με τις επιλεγμένες συσκευές block\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Αυτή είναι μία λίστα με προ-προγραμματισμένα προφίλ, που μπορεί να κάνουν την εγκατάσταση πραγμάτων όπως περιβάλλοντα επιφάνειας εργασίας πιο εύκολη\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Επιλέξτε διάταξη πληκτρολογίου\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Επιλέξτε μία από τις περιοχές από τις οποίες να γίνει λήψη πακέτων\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Επιλέξτε έναν ή περισσότερους σκληρούς δίσκους προς χρήση και διαμόρφωση\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Για την καλύτερη συμβατότητα με το AMD υλισμικό σας, ίσως θέλετε να χρησιμοποιήσετε είτε την \\\"όλα ανοιχτού κώδικα\\\", είτε την AMD / ATI επιλογή.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Για την καλύτερη συμβατότητα με το Intel υλισμικό σας, ίσως θέλετε να χρησιμοποιήσετε είτε την \\\"όλα ανοιχτού κώδικα\\\", είτε την Intel επιλογή.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Για την καλύτερη συμβατότητα με το Nvidia υλισμικό σας, ίσως θέλετε να χρησιμοποιήσετε τον ιδιόκτητο οδηγό της Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Επιλέξτε έναν οδηγό γραφικών ή αφήστε κενό για να εγκατασταθούν όλοι οι οδηγοί ανοιχτού κώδικα\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Όλα ανοιχτού κώδικα (προκαθορισμένο)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Επιλέξτε ποιοι kernels να χρησιμοποιηθούν ή αφήστε κενό για το προκαθορισμένο \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Επιλέξτε ποια τοπική γλώσσα να χρησιμοποιηθεί\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Επιλέξτε ποια τοπική κωδικοποίηση να χρησιμοποιηθεί\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Επιλέξτε μία από τις τιμές που φαίνονται παρακάτω: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Επιλέξτε μία ή παραπάνω από τις επιλογές παρακάτω: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Προσθέτωντας τη διαμέριση....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Πρέπει να εισάγετε έναν έγκυρο fs-type ώστε να συνεχίσετε. Δείτε `man parted` για έγκυρους fs-type.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Σφάλμα: Η καταγραφή προφίλ στο URL \\\"{}\\\" είχε ως αποτέλεσμα:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Σφάλμα: Η αποκωδικοποίηση του αποτελέσματος \\\"{}\\\" ως JSON ήταν ανεπιτυχής:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Διάταξη πληκτρολογίου\"\n\nmsgid \"Mirror region\"\nmsgstr \"Περιοχή mirror\"\n\nmsgid \"Locale language\"\nmsgstr \"Τοπική γλώσσα\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Τοπική κωδικοποίηση\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Δίσκος(οι)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Διάταξη δίσκου\"\n\nmsgid \"Encryption password\"\nmsgstr \"Κωδικός κρυπτογράφησης\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Bootloader\"\n\nmsgid \"Root password\"\nmsgstr \"Κωδικός root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Λογαριασμός υπερχρήστη\"\n\nmsgid \"User account\"\nmsgstr \"Λογαριασμός χρήστη\"\n\nmsgid \"Profile\"\nmsgstr \"Προφίλ\"\n\nmsgid \"Audio\"\nmsgstr \"Ήχος\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernels\"\n\nmsgid \"Additional packages\"\nmsgstr \"Περαιτέρω πακέτα\"\n\nmsgid \"Network configuration\"\nmsgstr \"Διαμόρφωση δικτύου\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Αυτόματη ενημέρωση ώρας (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Εγκατάσταση (η/οι {} διαμόρφωση/εις λείπει/ουν)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Επιλέξατε να παραλείψετε την επιλογή σκληρού δίσκου\\n\"\n\"και θα χρησιμοποιηθεί οποιαδήποτε εγκατάσταση δίσκου είναι mount στο {} (πειραματικό)\\n\"\n\"ΠΡΟΣΟΧΗ: Το archinstall δεν μπορεί να ελέγξει την καταλληλότητα αυτής της εγκατάστασης\\n\"\n\"Θέλετε να συνεχίσετε;\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Επαναχρησιμοποιώντας την instance διαμέρισης: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Δημιουργία καινούργιας διαμέρισης\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Διαγραφή διαμέρισης\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Καθαρισμός/Διαγραφή όλων των διαμερίσεων\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Εκχώρηση σημείου mount για μία διαμέριση\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Σημείωση/Ξεμαρκάρισμα διαμέρισης προς μορφοποίηση (διαγράφει τα δεδομένα)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Σημείωση/Ξεμαρκάρισμα διαμέρισης ως κρυπτογραφημένη\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Σημείωση/Ξεμαρκάρισμα διαμέρισης ως ικανή για boot (αυτόματο για /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Θέση επιθυμητού συστήματος αρχείων για μία διαμέριση\"\n\nmsgid \"Abort\"\nmsgstr \"Εγκατάλειψη\"\n\nmsgid \"Hostname\"\nmsgstr \"Όνομα υπολογιστή\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Δεν έχει διαμορφωθεί, μη διαθέσιμο εκτός εάν εγκατασταθεί χειροκίνητα\"\n\nmsgid \"Timezone\"\nmsgstr \"Ζώνη ώρας\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Θέση/Τροποποίηση των παρακάτω επιλογών\"\n\nmsgid \"Install\"\nmsgstr \"Εγκατάσταση\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Χρησιμοποιήστε ESC για παράλειψη\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Πρόταση διάταξης διαμέρισης\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Εισάγετε κωδικό: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Εισάγετε έναν κωδικό κρυπτογράφησης για {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Εισάγετε κωδικό κρυπτογράφησης δίσκου (αφήστε κενό για καμία κρυπτογράφηση): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Δημιουργήστε έναν απαιτούμενο υπερχρήστη με δικαιώματα sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Εισάγετε τον κωδικό root (αφήστε κενό για να απενεργοποιηθεί το root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Κωδικός για τον χρήστη \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Επαληθεύοντας ότι υπάρχουν περαιτέρω πακέτα (μπορεί να πάρει μερικά δευτερόλεπτα)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε αυτόματο συγχρονισμό χρόνου (NTP) με τους προκαθορισμένους διακομιστές χρόνου;\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Ο χρόνος υλισμικού και άλλα βήματα μετά τη διαμόρφωση ενδέχεται να απαιτούνται ώστε να δουλέψει ο NTP.\\n\"\n\"Για περισσότερες πληροφορίες, παρακαλώ ελέγξτε το Arch wiki\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Εισάγετε ένα όνομα χρήστη για να δημιουργήσετε έναν ακόμα χρήστη (αφήστε κενό για παράλειψη): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Χρησιμοποιήστε ESC για παράλειψη\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Επιλέξτε ένα αντικείμενο από τη λίστα, και επιλέξτε μία από τις διαθέσιμες επιλογές προς εκτέλεση\"\n\nmsgid \"Cancel\"\nmsgstr \"Ακύρωση\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Επιβεβαίωση και έξοδος\"\n\nmsgid \"Add\"\nmsgstr \"Προσθήκη\"\n\nmsgid \"Copy\"\nmsgstr \"Αντιγραφή\"\n\nmsgid \"Edit\"\nmsgstr \"Επεξεργασία\"\n\nmsgid \"Delete\"\nmsgstr \"Διαγραφή\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Επιλέξτε μία ενέργεια για '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Αντιγραφή σε νέο κλειδί:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Άγνωστος τύπος nic: {}. Πιθανές τιμές είναι οι {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Αυτή είναι η επιλεγμένη σας διαμόρφωση:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Ο Pacman ήδη εκτελείται, αναμονή μέχρι 10 λεπτά ώστε να τερματίσει.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Η προϋπάρχουσα pacman lock δεν εξήλθε. Παρακαλώ καθαρίστε τυχόν συνεδρίες pacman πριν τη χρήση του archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Επιλέξτε ποια προαιρετικά περαιτέρω αποθετήρια να ενεργοποιηθούν\"\n\nmsgid \"Add a user\"\nmsgstr \"Προσθήκη χρήστη\"\n\nmsgid \"Change password\"\nmsgstr \"Αλλαγή κωδικού\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Προαγωγή/Υποβιβασμός χρήστη\"\n\nmsgid \"Delete User\"\nmsgstr \"Διαγραφή Χρήστη\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Ορισμός νέου χρήστη\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Όνομα Χρήστη : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Θα έπρεπε ο {} να είναι υπερχρήστης (χρήστης sudo);\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Καθορίστε τους χρήστες με δικαιώματα sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Καμία διαμόρφωση δικτύου\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Θέση επιθυμητών υποόγκων σε μία διαμέριση btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Επιλέξτε σε ποια διαμέριση να τεθούν υποόγκοι\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Διαχειριστείτε τους υποόγκους btrfs για την τρέχουσα διαμέριση\"\n\nmsgid \"No configuration\"\nmsgstr \"Καμία διαμόρφωση\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Αποθήκευση διαμόρφωσης χρήστη\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Αποθήκευση στοιχείων χρήστη\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Αποθήκευση διάταξης δίσκου\"\n\nmsgid \"Save all\"\nmsgstr \"Αποθήκευση όλων\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Επιλέξτε ποια διαμόρφωση να αποθηκευτεί\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Εισάγετε έναν φάκελο για την αποθήκευση της/ων διαμόρφωση/ων: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Μη έγκυρος φάκελος: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Ο κωδικός που χρησιμοποιείτε φαίνεται να είναι αδύναμος,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"είστε σίγουρη/ος ότι θέλετε να τον χρησιμοποιήσετε;\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Προαιρετικά αποθετήρια\"\n\nmsgid \"Save configuration\"\nmsgstr \"Αποθήκευση διαμόρφωσης\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Διαμορφώσεις που λείπουν:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Πρέπει να καθοριστεί είτε ο κωδικός του root είτε τουλάχιστον 1 υπερχρήστης\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Διαχείριση λογαριασμών υπερχρήστη: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Διαχείριση λογαριασμών κανονικών χρηστών: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Υποόγκος :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" Έχει γίνει mount στο {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" με επιλογή {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Συμπληρώστε τις επιθυμητές τιμές για έναν νέο υποόγκο \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Όνομα υποόγκου \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Σημείο mount υποόγκου\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Επιλογές υποόγκου\"\n\nmsgid \"Save\"\nmsgstr \"Αποθήκευση\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Όνομα υποόγκου :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Επιλέξτε ένα σημείο mount :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Επιλέξτε τις επιθυμητές επιλογές υποόγκου \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Καθορίστε τους χρήστες με δικαιώματα sudo, μέσω όνομα χρήστη: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Ένα αρχείο ιστορικού έχει δημιουργηθεί εδώ: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε BTRFS υποόγκους με μία προκαθορισμένη δομή;\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε συμπίεση BTRFS;\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Θα θέλατε να δημιουργήσετε μία ξεχωριστή διαμέριση για το /home;\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Οι επιλεγμένοι δίσκοι δεν έχουν την ελάχιστη χωρητικότητα που απαιτείται για μία αυτόματη πρόταση\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Ελάχιστη χωρητικότητα για τη διαμέριση /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Ελάχιστη χωρητικότητα για τη διαμέριση Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Συνέχεια\"\n\nmsgid \"yes\"\nmsgstr \"ναι\"\n\nmsgid \"no\"\nmsgstr \"οχι\"\n\nmsgid \"set: {}\"\nmsgstr \"θέση {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Η ρύθμιση χειροκίνητης διαμόρφωσης πρέπει να είναι μία λίστα\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Δεν έχει καθοριστεί iface για χειροκίνητη διαμόρφωση\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Η χειροκίνητη διαμόρφωση nic χωρίς αυτόματο DHCP απαιτεί μία διεύθυνση IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Προσθήκη διεπαφής\"\n\nmsgid \"Edit interface\"\nmsgstr \"Επεξεργασία διεπαφής\"\n\nmsgid \"Delete interface\"\nmsgstr \"Διαγραφή διεπαφής\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Επιλέξτε διεπαφή προς προσθήκη\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Χειροκίνητη διαμόρφωση\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Σημείωση/Ξεμαρκάρισμα μίας διαμέρισως ως συμπιεσμένη (μόνο για btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Ο κωδικός που χρησιμοποιείτε φαίνεται να είναι αδύναμος, είστε σίγουρη/ος ότι θέλετε να τον χρησιμοποιήσετε;\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Παρέχει μία επιλογή από περιβάλλοντα επιφάνειας εργασίας και διαχειριστές tiling παραθύρων, π.χ. gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Επιλέξτε το επιθυμητό σας περιβάλλον επιφάνειας εργασίας\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Μία πολύ βασική εγκατάσταση που σας επιτρέπει να προσαρμόσετε τα Arch Linux όπως εσείς κρίνετε κατάλληλο.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Παρέχει μία επιλογή από ποικίλα πακέτα διακομιστών προς εγκατάσταση και ενεργοποίηση, π.χ. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Επιλέξτε ποιους διακομιστές να εγκατασταθούν, αν δεν επιλεχθεί κανένας τότε θα γίνει μία minimal εγκατάσταση\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Εγκαθιστά ένα minimal σύστημα καθώς και το xorg και οδηγούς γραφικών.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Πατήστε Enter για να συνεχίσετε.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Θα θέλατε να κάνετε chroot εντός της καινούργιας εγκατάστασης για περαιτέρω διαμόρφωση;\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Είστε σίγουρη/ος ότι θέλετε να επαναφέρετε αυτήν τη ρύθμιση;\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Επιλέξτε έναν ή περισσότερους σκληρούς δίσκους προς χρήση και διαμόρφωση\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Τυχόν τροποποιήσεις στην ήδη υπάρχουσα ρύθμιση θα επαναφέρουν τη διάταξη δίσκου!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Αν επαναφέρετε την επιλογή σκληρού δίσκου αυτό επίσης θα επαναφέρει την τρέχουσα διάταξη δίσκου. Είστε σίγουρη/ος;\"\n\nmsgid \"Save and exit\"\nmsgstr \"Αποθήκευση και έξοδος\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"περιέχει διαμερίσεις στην ουρά, αυτό θα τις διαγράψει, είστε σίγουρη/ος;\"\n\nmsgid \"No audio server\"\nmsgstr \"Κανένας διακομιστής ήχου\"\n\nmsgid \"(default)\"\nmsgstr \"(προκαθορισμένο)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Χρησιμοποιήστε ESC για παράλειψη\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Χρησιμοποιήστε CTRL+C για να επαναφέρετε την τρέχουσα επιλογή\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Αντιγραφή σε: \"\n\nmsgid \"Edit: \"\nmsgstr \"Επεξεργασία \"\n\nmsgid \"Key: \"\nmsgstr \"Κλειδί: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Επεξεργασία {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Προσθήκη: \"\n\nmsgid \"Value: \"\nmsgstr \"Τιμή: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Μπορείτε να παραλείψετε την επιλογή δίσκου και διαμερισμού και να χρησιμοποιήσετε οποιαδήποτε εγκατάσαση δίσκου είναι mount στο /mnt (πειραματικό)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Επιλέξτε έναν από τους δίσκους ή παραλείψτε και χρησιμοποιήστε το /mnt ως προκαθορισμένο\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Επιλέξτε ποιες διαμερίσεις να σημειωθούν για μορφοποίηση:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Χρήση HSM για ξεκλείδωμα κρυπτογραφημένου δίσκου\"\n\nmsgid \"Device\"\nmsgstr \"Συσκευή\"\n\nmsgid \"Size\"\nmsgstr \"Μέγεθος\"\n\nmsgid \"Free space\"\nmsgstr \"Ελεύθερος χώρος\"\n\nmsgid \"Bus-type\"\nmsgstr \"Τύπος bus\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Πρέπει να καθοριστεί είτε ο κωδικός root ή τουλάχιστον 1 χρήστης με δικαιώματα sudo\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Εισάγετε όνομα χρήστη (αφήστε κενό για παράλειψη): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Το όνομα χρήστη που εισάγατε δεν είναι έγκυρο. Προσπαθήστε ξανά\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Θα έπρεπε ο \\\"{}\\\" να είναι υπερχρήστης (sudo);\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Επιλέξτε ποιες διαμερίσεις να κρυπτογραφηθούν.\"\n\nmsgid \"very weak\"\nmsgstr \"πολύ αδύναμος\"\n\nmsgid \"weak\"\nmsgstr \"αδύναμος\"\n\nmsgid \"moderate\"\nmsgstr \"μέτριος\"\n\nmsgid \"strong\"\nmsgstr \"ισχυρός\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Προσθήκη υποόγκου\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Επεξεργασία υποόγκου\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Διαγραφή υποόγκου\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Διαμορφωμένες {} διεπαφές\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Αυτή η επιλογή θέτει τον αριθμό των παράλληλων λήψεων που μπορούν να συμβούν κατά την εγκατάσταση\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Εισάγετε τον αριθμό των παράλληλων λήψεων προς ενεργοποίηση.\\n\"\n\" (Εισάγετε μία τιμή από 1 μέχρι {})\\n\"\n\"Σημείωση:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Μέγιστη τιμή  : {} ( Επιτρέπει {} παράλληλες λήψεις, επιτρέπει {} λήψεις σε μία στιγμή )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Ελάχιστη τιμή  : 1 ( Επιτρέπει 1 παράλληλη λήψη, επιτρέπει 2 λήψεις σε μία στιγμή )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Απενεργοποίηση/Προκαθορισμένο : 0 ( Απενεργοποιεί τις παράλληλες λήψεις, επιτρέπει μόνο 1 λήψη σε μία στιγμή )\"\n\n#, fuzzy, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Μη έγκυρη είσοδος! Προσπαθήστε ξανά με μία έγκυρη είσοδο [1 μέχρι {max_downloads}, ή 0 για απενεργοποίηση]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Παράλληλες Λήψεις\"\n\n#, fuzzy\nmsgid \"ESC to skip\"\nmsgstr \"Χρησιμοποιήστε ESC για παράλειψη\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C για επαναφορά\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB για επιλογή\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Προεπιλεγμένη τιμή: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Για να μπορείτε να χρησιμοποιήσετε αυτή την μετάφραση, παρακαλώ εγκαταστήστε χειροκίνητα την γραμματοσειρά που υποστηρίζει την γλώσσα.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Η γραμματοσειρά θα πρέπει να αποθηκευτεί ως {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Το Archinstall απαιτεί δικαιώματα υπερχρήστη για να εκτελεστεί. Δείτε --help for more.\"\n\n#, fuzzy\nmsgid \"Select an execution mode\"\nmsgstr \"Επιλέξτε μία ενέργεια για '{}'\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Αδύνατη η λήψη προφίλ από το συγκεκριμένο url: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Τα προφίλ πρέπει να έχουν μοναδικό όνομα, αλλά βρέθηκαν ορισμοί προφίλ με διπλό όνομα: {}\"\n\n#, fuzzy\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Επιλέξτε έναν ή περισσότερους σκληρούς δίσκους προς χρήση και διαμόρφωση\"\n\n#, fuzzy\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Αν επαναφέρετε την επιλογή σκληρού δίσκου αυτό επίσης θα επαναφέρει την τρέχουσα διάταξη δίσκου. Είστε σίγουρη/ος;\"\n\n#, fuzzy\nmsgid \"Existing Partitions\"\nmsgstr \"Προσθέτωντας τη διαμέριση....\"\n\n#, fuzzy\nmsgid \"Select a partitioning option\"\nmsgstr \"Διαγραφή διαμέρισης\"\n\n#, fuzzy\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Εισάγετε έναν φάκελο για την αποθήκευση της/ων διαμόρφωση/ων: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Ελάχιστη χωρητικότητα για τη διαμέριση /home: {}GB\\n\"\n\n#, fuzzy, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Ελάχιστη χωρητικότητα για τη διαμέριση Arch Linux: {}GB\"\n\n#, fuzzy\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Αυτή είναι μία λίστα με προ-προγραμματισμένα προφίλ, που μπορεί να κάνουν την εγκατάσταση πραγμάτων όπως περιβάλλοντα επιφάνειας εργασίας πιο εύκολη\"\n\n#, fuzzy\nmsgid \"Current profile selection\"\nmsgstr \"Τρέχουσα διάταξη διαμέρισης\"\n\n#, fuzzy\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Αφαίρεση όλων των νέων διαμερίσεων\"\n\n#, fuzzy\nmsgid \"Assign mountpoint\"\nmsgstr \"Εκχώρηση σημείου mount για μία διαμέριση\"\n\n#, fuzzy\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Σημείωση/Ξεμαρκάρισμα διαμέρισης προς μορφοποίηση (διαγράφει τα δεδομένα)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Σημείωση/Ξεμαρκάρισμα ως bootable\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Αλλαγή συστήματος αρχείων\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Σημείωση/Ξεμαρκάρισμα μίας διαμέρισως ως συμπιεσμένη (μόνο για btrfs)\"\n\n#, fuzzy\nmsgid \"Set subvolumes\"\nmsgstr \"Ορισμός υποόγκων\"\n\n#, fuzzy\nmsgid \"Delete partition\"\nmsgstr \"Διαγραφή διαμέρισης\"\n\nmsgid \"Partition\"\nmsgstr \"Διαμέριση\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Αυτή η διαμέριση είναι κρυπτογραφημένη, για μορφοποίηση πρέπει να οριστεί ένα σύστημα αρχείων\"\n\n#, fuzzy\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Τα σημεία mount της διαμέρισης είναι σχετικά ως προς το εσωτερικό της εγκατάστασης, για παράδειγμα το boot θα ήταν /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"\"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Total sectors: {}\"\nmsgstr \"Σύνολο sectors: {}\"\n\n#, fuzzy\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Εισάγετε τον start sector (ποσοστό ή αριθμό block, προκαθορισμένο {}): \"\n\n#, fuzzy\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Εισάγετε τον end sector της διαμέρισης (ποσοστό ή αριθμό block, πχ: {}) \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Αυτή η ενέργεια θα αφαιρέσει τις νέες διαμερίσεις, συνέχεια;\"\n\n#, fuzzy, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Διαχείριση διαμέρισης\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Encryption type\"\nmsgstr \"Κωδικός κρυπτογράφησης\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"Διαμερίσεις\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Καμία διαθέσιμη συσκευή HSM\"\n\n#, fuzzy\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Επιλέξτε ποιες διαμερίσεις να κρυπτογραφηθούν.\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Επιλογή κρυπτογράφησης δίσκου\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Διαγραφή όλων των επιλεγμένων δίσκων και χρήση μίας προκαθορισμένης διάταξης βέλτιστης προσπάθειας\"\n\n#, fuzzy\nmsgid \"Manual Partitioning\"\nmsgstr \"Χειροκίνητη διαμόρφωση\"\n\n#, fuzzy\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Καμία διαμόρφωση\"\n\nmsgid \"Unknown\"\nmsgstr \"Άγνωστο\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Κρυπτογράφηση διαμέρισης\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Μορφοποίηση {} σε \"\n\nmsgid \"← Back\"\nmsgstr \"← Πίσω\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Κρυπτογράφηση δίσκου\"\n\n#, fuzzy\nmsgid \"Configuration\"\nmsgstr \"Καμία διαμόρφωση\"\n\n#, fuzzy\nmsgid \"Password\"\nmsgstr \"Κωδικός root\"\n\n#, fuzzy\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"{} περιέχει διαμερίσεις στην ουρά, αυτό θα τις διαγράψει, είστε σίγουρη/ος;\"\n\nmsgid \"Back\"\nmsgstr \"Πίσω\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Installed packages\"\nmsgstr \"Εγκατεστημένα πακέτα\"\n\n#, fuzzy\nmsgid \"Add profile\"\nmsgstr \"Προσθήκη προφίλ\"\n\n#, fuzzy\nmsgid \"Edit profile\"\nmsgstr \"Επεξεργασία προφίλ\"\n\n#, fuzzy\nmsgid \"Delete profile\"\nmsgstr \"Διαγραφή προφίλ\"\n\n#, fuzzy\nmsgid \"Profile name: \"\nmsgstr \"Όνομα προφίλ: \"\n\n#, fuzzy\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Το όνομα χρήστη που εισάγατε δεν είναι έγκυρο. Προσπαθήστε ξανά\"\n\n#, fuzzy\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Γράψτε περαιτέρω πακέτα προς εγκατάσταση (χωρισμένα με κενό, αφήστε κενό για να παραληφθεί): \"\n\n#, fuzzy\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Γράψτε περαιτέρω πακέτα προς εγκατάσταση (χωρισμένα με κενό, αφήστε κενό για να παραληφθεί): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Ενεργοποίηση του προφίλ για εγκατάσταση;\"\n\nmsgid \"Create your own\"\nmsgstr \"Δημιουργήστε δικό σας\"\n\n#, fuzzy\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Επιλέξτε έναν οδηγό γραφικών ή αφήστε κενό για να εγκατασταθούν όλοι οι οδηγοί ανοιχτού κώδικα\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Οδηγός γραφικών\"\n\nmsgid \"Greeter\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Disk configuration\"\nmsgstr \"Καμία διαμόρφωση\"\n\n#, fuzzy\nmsgid \"Profiles\"\nmsgstr \"Προφίλ\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Επιλέξτε έναν ή περισσότερους σκληρούς δίσκους προς χρήση και διαμόρφωση\"\n\n#, fuzzy\nmsgid \"Add a custom mirror\"\nmsgstr \"Προσθήκη custom mirror\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Αλλαγή custom mirror\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Διαγραφή custom mirror\"\n\n#, fuzzy\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Εισάγετε όνομα χρήστη (αφήστε κενό για παράλειψη): \"\n\n#, fuzzy\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Εισάγετε όνομα χρήστη (αφήστε κενό για παράλειψη): \"\n\n#, fuzzy\nmsgid \"Select signature check option\"\nmsgstr \"Επιλέξτε διεπαφή προς προσθήκη\"\n\n#, fuzzy\nmsgid \"Select signature option\"\nmsgstr \"Επιλέξτε διεπαφή προς προσθήκη\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"\"\n\nmsgid \"Defined\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Αποθήκευση διαμόρφωσης χρήστη\"\n\n#, fuzzy\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"Εισάγετε έναν φάκελο για την αποθήκευση της/ων διαμόρφωση/ων: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Αποθήκευση διαμόρφωσης\"\n\n#, fuzzy\nmsgid \"Mirrors\"\nmsgstr \"Περιοχή mirror\"\n\n#, fuzzy\nmsgid \"Mirror regions\"\nmsgstr \"Περιοχή mirror\"\n\n#, fuzzy\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Μέγιστη τιμή  : {} ( Επιτρέπει {} παράλληλες λήψεις, επιτρέπει {} λήψεις σε μία στιγμή )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Μη έγκυρη είσοδος! Προσπαθήστε ξανά με μία έγκυρη είσοδο [1 μέχρι {}, ή 0 για απενεργοποίηση]\"\n\nmsgid \"Locales\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Χρήση NetworkManager (απαραίτητος για τη διαμόρφωση του δικτύου γραφικά σε GNOME και KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Σύνολο: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Αν δεν έχει δωθεί μονάδα, η τιμή ερμηνεύεται ως sectors\"\n\n#, fuzzy\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Εισάγετε τον start sector (ποσοστό ή αριθμό block, προκαθορισμένο {}): \"\n\n#, fuzzy\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Εισάγετε τον start sector (ποσοστό ή αριθμό block, προκαθορισμένο {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"\"\n\nmsgid \"Path\"\nmsgstr \"Μονοπάτι\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Κατασκευαστής\"\n\nmsgid \"Product\"\nmsgstr \"Προϊόν\"\n\n#, fuzzy, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Χειροκίνητη διαμόρφωση\"\n\nmsgid \"Type\"\nmsgstr \"Τύπος\"\n\n#, fuzzy\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Αυτή η επιλογή θέτει τον αριθμό των παράλληλων λήψεων που μπορούν να συμβούν κατά την εγκατάσταση\"\n\n#, fuzzy\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Εισάγετε τον αριθμό των παράλληλων λήψεων προς ενεργοποίηση.\\n\"\n\" (Εισάγετε μία τιμή από 1 μέχρι {})\\n\"\n\"Σημείωση:\"\n\n#, fuzzy, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Μέγιστη τιμή  : {} ( Επιτρέπει {} παράλληλες λήψεις, επιτρέπει {} λήψεις σε μία στιγμή )\"\n\n#, fuzzy\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Απενεργοποίηση/Προκαθορισμένο : 0 ( Απενεργοποιεί τις παράλληλες λήψεις, επιτρέπει μόνο 1 λήψη σε μία στιγμή )\"\n\n#, fuzzy\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Μη έγκυρη είσοδος! Προσπαθήστε ξανά με μία έγκυρη είσοδο [1 μέχρι {}, ή 0 για απενεργοποίηση]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Διαλέξτε μία επιλογή για να δώσετε πρόσβαση του Hyprland στο υλισμικό σας\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε swap με zram;\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Περιμένοντας να ολοκληρωθεί ο συγχρονισμός του χρόνου (timedatectl show)\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Ο συγχρονισμός χρόνου δεν ολοκληρώνεται, όσο περιμένετε - ελέγξτε την τεκμηρίωση για λύσεις: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Παραλείποντας την αναμονή για αυτόματο συγχρονισμό χρόνου (μπορεί να προκαλέσει προβλήματα αν ο χρόνος δεν είναι συγχρονισμένος κατά την εγκατάσταση)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Selected profiles: \"\nmsgstr \"Διαγραφή προφίλ\"\n\n#, fuzzy\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Ο συγχρονισμός χρόνου δεν ολοκληρώνεται, όσο περιμένετε - ελέγξτε την τεκμηρίωση για λύσεις: https://archinstall.readthedocs.io/\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Σημείωση/Ξεμαρκάρισμα ως bootable\"\n\n#, fuzzy\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε συμπίεση BTRFS;\"\n\nmsgid \"Use compression\"\nmsgstr \"\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Παρέχει μία επιλογή από περιβάλλοντα επιφάνειας εργασίας και διαχειριστές tiling παραθύρων, π.χ. gnome, kde, sway\"\n\n#, fuzzy, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Καμία διαμόρφωση\"\n\n#, fuzzy\nmsgid \"LVM configuration type\"\nmsgstr \"Καμία διαμόρφωση\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Χρήση NetworkManager (απαραίτητος για τη διαμόρφωση του δικτύου γραφικά σε GNOME και KDE)\"\n\n#, fuzzy\nmsgid \"Select a LVM option\"\nmsgstr \"Επιλέξτε μία ζώνη ώρας\"\n\n#, fuzzy\nmsgid \"Partitioning\"\nmsgstr \"Διαμέριση\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"LVM volumes\"\nmsgstr \"Ορισμός υποόγκων\"\n\n#, fuzzy\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Επιλέξτε ποιες διαμερίσεις να κρυπτογραφηθούν.\"\n\n#, fuzzy\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Επιλέξτε ποιες διαμερίσεις να κρυπτογραφηθούν.\"\n\n#, fuzzy\nmsgid \"Default layout\"\nmsgstr \"Διάταξη δίσκου\"\n\n#, fuzzy\nmsgid \"No Encryption\"\nmsgstr \"Κωδικός κρυπτογράφησης\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"ναι\"\n\nmsgid \"No\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Archinstall help\"\nmsgstr \"Γλώσσα archinstall\"\n\n#, fuzzy\nmsgid \" (default)\"\nmsgstr \"(προκαθορισμένο)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Διαλέξτε μία επιλογή για να δώσετε πρόσβαση του Hyprland στο υλισμικό σας\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"Εκχώρηση σημείου mount για μία διαμέριση\"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Εισάγετε κωδικό κρυπτογράφησης δίσκου (αφήστε κενό για καμία κρυπτογράφηση): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"Κωδικός κρυπτογράφησης\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"Διαμέριση\"\n\n#, fuzzy\nmsgid \"Filesystem\"\nmsgstr \"Αλλαγή συστήματος αρχείων\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Εισάγετε τον start sector (ποσοστό ή αριθμό block, προκαθορισμένο {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"Εισάγετε τον start sector (ποσοστό ή αριθμό block, προκαθορισμένο {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"Όνομα υποόγκου \"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"Καμία διαμόρφωση\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"Τοπική γλώσσα\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Γράψτε περαιτέρω πακέτα προς εγκατάσταση (χωρισμένα με κενό, αφήστε άδειο για να παραληφθεί): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The username you entered is invalid\"\nmsgstr \"Το όνομα χρήστη που εισάγατε δεν είναι έγκυρο. Προσπαθήστε ξανά\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"Όνομα Χρήστη : \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Θα έπρεπε ο \\\"{}\\\" να είναι υπερχρήστης (sudo);\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"Προσθήκη διεπαφής\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Εισάγετε τη διεύθυνση IP του router σας ή αφήστε κενό για καμία διεύθυνση: \"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Εισάγετε τους διακομιστές DNS σας (χωρισμένοι με κενό, αφήστε κενό για κανέναν διακομιστή): \"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"Κανένας διακομιστής ήχου\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"Διαμορφωμένες {} διεπαφές\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"Kernels\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"Επεξεργασία προφίλ\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"Αλλαγή κωδικού\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"Μη έγκυρος φάκελος: {}\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε συμπίεση BTRFS;\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Εισάγετε έναν φάκελο για την αποθήκευση της/ων διαμόρφωση/ων: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Αποθήκευση διαμόρφωσης\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Παρακαλώ επισυνάψτε αυτό το issue (και αρχείο) στο https://github.com/archlinux/archinstall/issues\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"Περιοχή mirror\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"Επιλέξτε διεπαφή προς προσθήκη\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"Επιλέξτε μία ενέργεια για '{}'\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Διαλέξτε μία επιλογή για να δώσετε πρόσβαση του Hyprland στο υλισμικό σας\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"Προαιρετικά αποθετήρια\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"Επιλέξτε διεπαφή προς προσθήκη\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Σύνολο: {} / {}\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Εισάγετε τον start sector (ποσοστό ή αριθμό block, προκαθορισμένο {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"Συσκευή\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"Όνομα Χρήστη : \"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Σημείωση/Ξεμαρκάρισμα ως bootable\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"Περαιτέρω πακέτα\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"Προσθήκη custom mirror\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"Αλλαγή custom mirror\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"Διαγραφή custom mirror\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"Περιοχή mirror\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"Προσθήκη custom mirror\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"Αλλαγή custom mirror\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"Διαγραφή custom mirror\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"Επιλέξτε διεπαφή προς προσθήκη\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"Προσθήκη custom mirror\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"Προσθήκη custom mirror\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"Περιοχή mirror\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"Προαιρετικά αποθετήρια\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"Περιοχή mirror\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"Κανένας διακομιστής ήχου\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"Προαιρετικά αποθετήρια\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"Επιλέξτε διεπαφή προς προσθήκη\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"Επιλέξτε μία ζώνη ώρας\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"Επιλέξτε μία ενέργεια για '{}'\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Διαλέξτε μία επιλογή για να δώσετε πρόσβαση του Hyprland στο υλισμικό σας\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Διαλέξτε μία επιλογή για να δώσετε πρόσβαση του Hyprland στο υλισμικό σας\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Σημείωση/Ξεμαρκάρισμα ως bootable\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Γλώσσα archinstall\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"Αλλαγή συστήματος αρχείων\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Θα θέλατε να κάνετε chroot εντός της καινούργιας εγκατάστασης για περαιτέρω διαμόρφωση;\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε συμπίεση BTRFS;\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Επιλέξτε ποιο mode να διαμορφωθεί για το \\\"{}\\\" ή παραλείψτε για να χρησιμοποιηθεί το default mode \\\"{}\\\"\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Κωδικός κρυπτογράφησης\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Κωδικός root\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"Κωδικός κρυπτογράφησης\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Αποθήκευση διαμόρφωσης\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"Κωδικός κρυπτογράφησης\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Περιοχή mirror\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"Καμία διαθέσιμη συσκευή HSM\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Κωδικός root\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε συμπίεση BTRFS;\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε συμπίεση BTRFS;\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Διαχείριση διαμέρισης\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Καμία διαμόρφωση\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Εισάγετε κωδικό: \"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Καμία διαμόρφωση δικτύου\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Θα θέλατε να χρησιμοποιήσετε συμπίεση BTRFS;\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Διαμορφωμένες {} διεπαφές\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Επιλέξτε μία διεπαφή δικτύου για διαμόρφωση\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Καμία διαμόρφωση δικτύου\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Εισάγετε κωδικό: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Τοπική γλώσσα\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Εγκαθίστανται μόνο πακέτα όπως το base, base-devel, linux, linux-firmware, efibootmgr και προαιρετικά πακέτα προφίλ.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Επιλέξτε ένα σημείο mount :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/en/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: \\n\"\n\"Language: en\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.3\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"\"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"\"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"\"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"\"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"\"\n\nmsgid \"Select a timezone\"\nmsgstr \"\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"\"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"\"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"\"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"\"\n\nmsgid \"Current partition layout\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"\"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"\"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"\"\n\nmsgid \"Archinstall language\"\nmsgstr \"\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"\"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"\"\n\nmsgid \"Adding partition....\"\nmsgstr \"\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"\"\n\nmsgid \"Mirror region\"\nmsgstr \"\"\n\nmsgid \"Locale language\"\nmsgstr \"\"\n\nmsgid \"Locale encoding\"\nmsgstr \"\"\n\nmsgid \"Drive(s)\"\nmsgstr \"\"\n\nmsgid \"Disk layout\"\nmsgstr \"\"\n\nmsgid \"Encryption password\"\nmsgstr \"\"\n\nmsgid \"Swap\"\nmsgstr \"\"\n\nmsgid \"Bootloader\"\nmsgstr \"\"\n\nmsgid \"Root password\"\nmsgstr \"\"\n\nmsgid \"Superuser account\"\nmsgstr \"\"\n\nmsgid \"User account\"\nmsgstr \"\"\n\nmsgid \"Profile\"\nmsgstr \"\"\n\nmsgid \"Audio\"\nmsgstr \"\"\n\nmsgid \"Kernels\"\nmsgstr \"\"\n\nmsgid \"Additional packages\"\nmsgstr \"\"\n\nmsgid \"Network configuration\"\nmsgstr \"\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"\"\n\nmsgid \"Create a new partition\"\nmsgstr \"\"\n\nmsgid \"Delete a partition\"\nmsgstr \"\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"\"\n\nmsgid \"Abort\"\nmsgstr \"\"\n\nmsgid \"Hostname\"\nmsgstr \"\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"\"\n\nmsgid \"Timezone\"\nmsgstr \"\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"\"\n\nmsgid \"Install\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"\"\n\nmsgid \"Enter a password: \"\nmsgstr \"\"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"\"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"\"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"\"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"\"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\nmsgid \"Cancel\"\nmsgstr \"\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"\"\n\nmsgid \"Add\"\nmsgstr \"\"\n\nmsgid \"Copy\"\nmsgstr \"\"\n\nmsgid \"Edit\"\nmsgstr \"\"\n\nmsgid \"Delete\"\nmsgstr \"\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"\"\n\nmsgid \"Add a user\"\nmsgstr \"\"\n\nmsgid \"Change password\"\nmsgstr \"\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"\"\n\nmsgid \"Delete User\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\nmsgid \"User Name : \"\nmsgstr \"\"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"\"\n\nmsgid \"No network configuration\"\nmsgstr \"\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"\"\n\nmsgid \"No configuration\"\nmsgstr \"\"\n\nmsgid \"Save user configuration\"\nmsgstr \"\"\n\nmsgid \"Save user credentials\"\nmsgstr \"\"\n\nmsgid \"Save disk layout\"\nmsgstr \"\"\n\nmsgid \"Save all\"\nmsgstr \"\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"\"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"\"\n\nmsgid \"Optional repositories\"\nmsgstr \"\"\n\nmsgid \"Save configuration\"\nmsgstr \"\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"\"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"\"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \"\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \"\"\n\nmsgid \" with option {}\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\nmsgid \"Subvolume name \"\nmsgstr \"\"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"\"\n\nmsgid \"Subvolume options\"\nmsgstr \"\"\n\nmsgid \"Save\"\nmsgstr \"\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"\"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"\"\n\nmsgid \"Continue\"\nmsgstr \"\"\n\nmsgid \"yes\"\nmsgstr \"\"\n\nmsgid \"no\"\nmsgstr \"\"\n\nmsgid \"set: {}\"\nmsgstr \"\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"\"\n\nmsgid \"Add interface\"\nmsgstr \"\"\n\nmsgid \"Edit interface\"\nmsgstr \"\"\n\nmsgid \"Delete interface\"\nmsgstr \"\"\n\nmsgid \"Select interface to add\"\nmsgstr \"\"\n\nmsgid \"Manual configuration\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"\"\n\nmsgid \"Save and exit\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\nmsgid \"No audio server\"\nmsgstr \"\"\n\nmsgid \"(default)\"\nmsgstr \"\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\nmsgid \"Copy to: \"\nmsgstr \"\"\n\nmsgid \"Edit: \"\nmsgstr \"\"\n\nmsgid \"Key: \"\nmsgstr \"\"\n\nmsgid \"Edit {}: \"\nmsgstr \"\"\n\nmsgid \"Add: \"\nmsgstr \"\"\n\nmsgid \"Value: \"\nmsgstr \"\"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"\"\n\nmsgid \"Device\"\nmsgstr \"\"\n\nmsgid \"Size\"\nmsgstr \"\"\n\nmsgid \"Free space\"\nmsgstr \"\"\n\nmsgid \"Bus-type\"\nmsgstr \"\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"\"\n\nmsgid \"very weak\"\nmsgstr \"\"\n\nmsgid \"weak\"\nmsgstr \"\"\n\nmsgid \"moderate\"\nmsgstr \"\"\n\nmsgid \"strong\"\nmsgstr \"\"\n\nmsgid \"Add subvolume\"\nmsgstr \"\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \"\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \"\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"\"\n\nmsgid \"ESC to skip\"\nmsgstr \"\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"\"\n\nmsgid \"TAB to select\"\nmsgstr \"\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"\"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"\"\n\nmsgid \"Current profile selection\"\nmsgstr \"\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"\"\n\nmsgid \"Change filesystem\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"\"\n\nmsgid \"Delete partition\"\nmsgstr \"\"\n\nmsgid \"Partition\"\nmsgstr \"\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"\"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"\"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"\"\n\nmsgid \"Encryption type\"\nmsgstr \"\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"\"\n\nmsgid \"Unknown\"\nmsgstr \"\"\n\nmsgid \"Partition encryption\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \"\"\n\nmsgid \"← Back\"\nmsgstr \"\"\n\nmsgid \"Disk encryption\"\nmsgstr \"\"\n\nmsgid \"Configuration\"\nmsgstr \"\"\n\nmsgid \"Password\"\nmsgstr \"\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"\"\n\nmsgid \"Back\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\nmsgid \"Installed packages\"\nmsgstr \"\"\n\nmsgid \"Add profile\"\nmsgstr \"\"\n\nmsgid \"Edit profile\"\nmsgstr \"\"\n\nmsgid \"Delete profile\"\nmsgstr \"\"\n\nmsgid \"Profile name: \"\nmsgstr \"\"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"\"\n\nmsgid \"Create your own\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Graphics driver\"\nmsgstr \"\"\n\nmsgid \"Greeter\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"\"\n\nmsgid \"Disk configuration\"\nmsgstr \"\"\n\nmsgid \"Profiles\"\nmsgstr \"\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Select signature check option\"\nmsgstr \"\"\n\nmsgid \"Select signature option\"\nmsgstr \"\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"\"\n\nmsgid \"Defined\"\nmsgstr \"\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"\"\n\nmsgid \"Mirrors\"\nmsgstr \"\"\n\nmsgid \"Mirror regions\"\nmsgstr \"\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \"\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Locales\"\nmsgstr \"\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"\"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"\"\n\nmsgid \"Path\"\nmsgstr \"\"\n\nmsgid \"Manufacturer\"\nmsgstr \"\"\n\nmsgid \"Product\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"\"\n\nmsgid \"Type\"\nmsgstr \"\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \"\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \"\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"\"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"\"\n\nmsgid \"Use compression\"\nmsgstr \"\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"\"\n\nmsgid \"Partitioning\"\nmsgstr \"\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\nmsgid \"LVM volumes\"\nmsgstr \"\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"\"\n\nmsgid \"Default layout\"\nmsgstr \"\"\n\nmsgid \"No Encryption\"\nmsgstr \"\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\nmsgid \"Yes\"\nmsgstr \"\"\n\nmsgid \"No\"\nmsgstr \"\"\n\nmsgid \"Archinstall help\"\nmsgstr \"\"\n\nmsgid \" (default)\"\nmsgstr \"\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\nmsgid \"Mountpoint\"\nmsgstr \"\"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"\"\n\nmsgid \"Partition - New\"\nmsgstr \"\"\n\nmsgid \"Filesystem\"\nmsgstr \"\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"\"\n\nmsgid \"End (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Subvolume name\"\nmsgstr \"\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\nmsgid \"Select language\"\nmsgstr \"\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"\"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"\"\n\nmsgid \"Username\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"\"\n\nmsgid \"Interfaces\"\nmsgstr \"\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"\"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"\"\n\nmsgid \"DNS servers\"\nmsgstr \"\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"\"\n\nmsgid \"Kernel\"\nmsgstr \"\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\nmsgid \"Main profile\"\nmsgstr \"\"\n\nmsgid \"Confirm password\"\nmsgstr \"\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"\"\n\nmsgid \"Mirror name\"\nmsgstr \"\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\nmsgid \"Select signature check\"\nmsgstr \"\"\n\nmsgid \"Select execution mode\"\nmsgstr \"\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Additional repositories\"\nmsgstr \"\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\nmsgid \"Signature check\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"\"\n\nmsgid \"HSM device\"\nmsgstr \"\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\nmsgid \"User\"\nmsgstr \"\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"\"\n\nmsgid \"Loading packages...\"\nmsgstr \"\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"\"\n\nmsgid \"Change custom repository\"\nmsgstr \"\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"\"\n\nmsgid \"Repository name\"\nmsgstr \"\"\n\nmsgid \"Add a custom server\"\nmsgstr \"\"\n\nmsgid \"Change custom server\"\nmsgstr \"\"\n\nmsgid \"Delete custom server\"\nmsgstr \"\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\nmsgid \"Select regions\"\nmsgstr \"\"\n\nmsgid \"Add custom servers\"\nmsgstr \"\"\n\nmsgid \"Add custom repository\"\nmsgstr \"\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"\"\n\nmsgid \"Custom servers\"\nmsgstr \"\"\n\nmsgid \"Custom repositories\"\nmsgstr \"\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Select on single select\"\nmsgstr \"\"\n\nmsgid \"Select on multi select\"\nmsgstr \"\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"\"\n\nmsgid \"Reboot system\"\nmsgstr \"\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"\"\n\nmsgid \"Incorrect password\"\nmsgstr \"\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"\"\n\nmsgid \"New version available\"\nmsgstr \"\"\n\nmsgid \"Passwordless login\"\nmsgstr \"\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"\"\n\nmsgid \"Power management\"\nmsgstr \"\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\nmsgid \"No network connection found\"\nmsgstr \"\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"\"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\nmsgid \"Language\"\nmsgstr \"\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/es/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: esbendev <bsmith@scnctech.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: es\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Se ha creado un archivo de registro aquí: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Por favor envíe este problema (y archivo) a https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"¿Realmente desea abortar?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Y una vez más para verificar: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"¿Le gustaría usar swap en zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Nombre de host deseado para la instalación: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Nombre de usuario para el superusuario con privilegios sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Algún usuario adicional a instalar (déjelo en blanco para no agregar ninguno): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Debería este usuario ser un superusuario (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Seleccione una zona horaria\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Le gustaría usar GRUB como gestor de arranque en lugar de systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Elija un gestor de arranque\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Elija un servidor de audio\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Solo paquetes como base, base-devel, linux, linux-firmware, efibootmgr y paquetes opcionales de perfil se instalan.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"Nota: base-devel ya no viene instalado por defecto. Agreguelo aquí si necesita herramientas de build.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Si desea un navegador web, como firefox o chromium, puede especificarlo en el siguiente mensaje.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Escriba paquetes adicionales para instalar (separados por espacios, deje en blanco para omitir): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Copiar la configuración de red ISO a la instalación\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Seleccione una interfaz de red para configurar\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Seleccione qué modo configurar para \\\"{}\\\" u omita para usar el modo predeterminado \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Escriba la IP y subred para {} (ejemplo: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Escriba la IP de su puerta de enlace (enrutador) o déjelo en blanco para no usar ninguna: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Ingrese sus servidores DNS (separados por espacios, en blanco para ninguno): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Seleccione qué sistema de archivos debe usar su partición principal\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Distribución actual de las particiones\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Seleccione qué hacer con\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Ingrese un tipo de sistema de archivos deseado para la partición\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Ingrese la ubicación de inicio (en unidades divididas: s, GB, %, etc. ; predeterminado: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Ingrese la ubicación final (en unidades divididas: s, GB, %, etc. ; ej.: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} contiene particiones en cola, esto eliminará esas particiones, ¿está seguro?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione por índice qué particiones eliminar\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione por índice qué partición montar en qué ubicación\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Los puntos de montaje de la partición son relativos al interior de la instalación, por ejemplo: el arranque sería /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Seleccione dónde montar la partición (deje en blanco para eliminar el punto de montaje): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione qué partición enmascarar para formatear\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione qué partición marcar como encriptada\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione qué partición marcar como de arranque\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione en qué partición establecer un sistema de archivos\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Ingrese un tipo de sistema de archivos deseado para la partición: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Idioma de Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Borrar todas las unidades seleccionadas y usar un diseño de partición predeterminado de mejor esfuerzo\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Seleccione qué hacer con cada unidad individual (seguido del uso de la partición)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Seleccione lo que desea hacer con los dispositivos de bloque seleccionados\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Esta es una lista de perfiles preprogramados que podrían facilitar la instalación de cosas como entornos de escritorio\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Seleccione la distribución del teclado\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Seleccione qué región usar para descargar paquetes\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Seleccione uno o más discos duros para usar y configurar\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Para obtener la mejor compatibilidad con su hardware AMD, es posible que desee utilizar las opciones de código abierto o AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Para obtener la mejor compatibilidad con su hardware Intel, es posible que desee utilizar las opciones de código abierto o de Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Para obtener la mejor compatibilidad con su hardware de Nvidia, es posible que desee utilizar el controlador patentado de Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Seleccione un controlador de gráficos o déjelo en blanco para instalar todos los controladores de código abierto\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Todos de código abierto (predeterminado)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Elija qué kernel usar o déjelo en blanco para usar el kernel \\\"{}\\\" predeterminado\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Elija qué idioma local usar\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Elija qué codificación local usar\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Seleccione uno de los valores que se muestran a continuación: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Seleccione una o más de las siguientes opciones: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Añadiendo partición...\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Debe ingresar un tipo de sistema de archivos (fs-type) válido para continuar. Consulte `man parted` para conocer los tipos válidos.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Error: Listar perfiles en la URL \\\"{}\\\" resultó en:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Error: No se pudo decodificar el resultado \\\"{}\\\" como JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Distribución del teclado\"\n\nmsgid \"Mirror region\"\nmsgstr \"Región del servidor\"\n\nmsgid \"Locale language\"\nmsgstr \"Idioma local\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Codificación local\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Disco(s)\"\n\n# not sure about this one... we've been saying distribución instead of diseño up to now...\nmsgid \"Disk layout\"\nmsgstr \"Diseño del disco\"\n\nmsgid \"Encryption password\"\nmsgstr \"Contraseña de cifrado\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Gestor de arranque\"\n\nmsgid \"Root password\"\nmsgstr \"Contraseña de root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Cuenta de superusuario\"\n\nmsgid \"User account\"\nmsgstr \"Cuenta de usuario\"\n\nmsgid \"Profile\"\nmsgstr \"Perfil\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Núcleos\"\n\nmsgid \"Additional packages\"\nmsgstr \"Paquetes adicionales\"\n\nmsgid \"Network configuration\"\nmsgstr \"Configuración de la red\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Sincronización automática de hora (NTP)\"\n\n# are you installing missing configs or are there missing configs\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Instalar ({} ajuste(s) faltante(s))\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Ha decidido saltar la selección de discos duros\\n\"\n\"y usar la configuración montada en {} (experimental)\\n\"\n\"ADVERTENCIA: Archinstall no verificará la idoneidad de esta configuración\\n\"\n\"¿Desea continuar?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Reutilizando instancia de partición: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Crear una nueva partición\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Eliminar una partición\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Limpiar/Eliminar todas las particiones\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Asignar punto de montaje para una partición\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Marcar/Desmarcar una partición para ser formateada (borra los datos)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Marcar/Desmarcar una partición como encriptada\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Marcar/Desmarcar una partición como arrancable (automática para /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Establecer el sistema de archivos deseado para una partición\"\n\nmsgid \"Abort\"\nmsgstr \"Abortar\"\n\nmsgid \"Hostname\"\nmsgstr \"Nombre de host\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"No configurado, no disponible a menos que se configure manualmente\"\n\nmsgid \"Timezone\"\nmsgstr \"Zona horaria\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Establecer/Modificar las opciones siguientes\"\n\nmsgid \"Install\"\nmsgstr \"Instalar\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Usar ESC para saltar\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Sugerir el diseño de partición\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Ingrese una contraseña: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Ingrese una contraseña de cifrado para {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Ingrese la contraseña de cifrado de disco (deje en blanco para no cifrar): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Crear un super-usuario requerido con privilegios sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Ingrese la contraseña de root (deje en blanco para deshabilitar root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Contraseña para el usuario “{}”: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Verificando que los paquetes adicionales existen (esto puede tardar unos segundos)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"¿Le gustaría utilizar la sincronización automática de hora (NTP) con los servidores de hora predeterminados?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"La hora del hardware y otros pasos post-configuración pueden ser necesarios para que NTP funcione. \\n\"\n\"Para más información, por favor, consulte la wiki de Arch\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Introduzca un nombre de usuario para crear un usuario adicional (deje en blanco para saltar): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Use ESC para omitir\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Elija un objeto de la lista y seleccione una de las acciones disponibles para ejecutar\"\n\nmsgid \"Cancel\"\nmsgstr \"Cancelar\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Confirmar y salir\"\n\nmsgid \"Add\"\nmsgstr \"Añadir\"\n\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\nmsgid \"Edit\"\nmsgstr \"Editar\"\n\nmsgid \"Delete\"\nmsgstr \"Eliminar\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Seleccione una acción para '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Copiar a nueva clave:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Tipo de nic desconocido: {}. Los valores posibles son {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Esta es su configuración elegida:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman ya se está ejecutando, esperando un máximo de 10 minutos para que finalice.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"El bloqueo de pacman preexistente nunca se cerró. Limpie cualquier sesión de pacman existente antes de usar archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Elija qué repositorios adicionales opcionales habilitar\"\n\nmsgid \"Add a user\"\nmsgstr \"Añadir un usuario\"\n\nmsgid \"Change password\"\nmsgstr \"Cambiar contraseña\"\n\n# maybe ascender/descender here?\nmsgid \"Promote/Demote user\"\nmsgstr \"Promocionar/Degradar usuario\"\n\nmsgid \"Delete User\"\nmsgstr \"Eliminar usuario\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Definir un nuevo usuario\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Nombre de usuario : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"¿Debe {} ser un superusuario (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Defina usuarios con privilegio sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Sin configuración de red\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Establecer los subvolúmenes deseados en una partición btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione en qué partición configurar los subvolúmenes\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Administrar subvolúmenes btrfs para la partición actual\"\n\nmsgid \"No configuration\"\nmsgstr \"Sin configuración\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Guardar configuración de usuario\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Guardar credenciales de usuario\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Guardar diseño de disco\"\n\nmsgid \"Save all\"\nmsgstr \"Guardar todo\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Elija qué configuración guardar\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Ingrese un directorio para guardar la(s) configuración(es): \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"No es un directorio válido: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"La contraseña que está utilizando parece ser débil,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"¿Está seguro de querer usarlo?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Repositorios opcionales\"\n\nmsgid \"Save configuration\"\nmsgstr \"Guardar configuración\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Configuraciones que faltan:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Debe especificar una contraseña de root o al menos 1 superusuario\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Administrar cuentas de superusuario: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Administrar cuentas de usuario ordinarias: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolumen :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" montado en {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" con opción {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"Complete los valores deseados para un nuevo subvolumen\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Nombre del subvolumen \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Punto de montaje del subvolumen\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Opciones del subvolumen\"\n\nmsgid \"Save\"\nmsgstr \"Guardar\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Nombre del subvolumen :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Seleccione un punto de montaje :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Seleccione las opciones de subvolumen deseadas \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Defina usuarios con privilegio sudo, por nombre de usuario: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Se ha creado un archivo de registro aquí: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"¿Le gustaría utilizar subvolúmenes BTRFS con una estructura predeterminada?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"¿Le gustaría usar la compresión BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"¿Le gustaría crear una partición separada para /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Las unidades seleccionadas no tienen la capacidad mínima requerida para una sugerencia automática\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Capacidad mínima para la partición /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Capacidad mínima para la partición Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Continuar\"\n\nmsgid \"yes\"\nmsgstr \"sí\"\n\nmsgid \"no\"\nmsgstr \"no\"\n\nmsgid \"set: {}\"\nmsgstr \"establecer: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"La configuración manual debe ser una lista.\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"No se especificó iface para la configuración manual\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"La configuración manual de la NIC sin DHCP automático requiere una dirección IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Añadir interfaz\"\n\nmsgid \"Edit interface\"\nmsgstr \"Editar interfaz\"\n\nmsgid \"Delete interface\"\nmsgstr \"Eliminar intefaz\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Seleccione la interfaz para agregar\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Configuración manual\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Marcar/Desmarcar una partición como comprimida (solo btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"La contraseña que está utilizando parece ser débil, ¿está seguro de que desea usarla?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Proporciona una selección de entornos de escritorio y administradores de ventanas en mosaico, p.e. gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Seleccione su entorno de escritorio deseado\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Una instalación muy básica que te permite personalizar Arch Linux como mejor te parezca.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Proporciona una selección de varios paquetes de servidor para instalar y habilitar, p.e. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Elija qué servidores instalar, si no hay ninguno, se realizará una instalación mínima\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Instala un sistema mínimo, así como controladores xorg y gráficos.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Presione Entrar para continuar.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"¿Le gustaría acceder a la instalación recién creada y realizar la configuración posterior a la instalación?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"¿Está seguro de que desea restablecer esta configuración?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Seleccione uno o más discos duros para usar y configurar\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"¡Cualquier modificación a la configuración existente restablecerá el diseño del disco!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Si restablece la selección del disco duro, esto también restablecerá el diseño actual del disco. ¿Está seguro?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Guardar y salir\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"contiene particiones en cola, esto las eliminará, ¿está seguro?\"\n\nmsgid \"No audio server\"\nmsgstr \"Sin servidor de audio\"\n\nmsgid \"(default)\"\nmsgstr \"(predeterminado)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Use ESC para omitir\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Use CTRL+C para restablecer la selección actual\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Copiar a: \"\n\nmsgid \"Edit: \"\nmsgstr \"Editar: \"\n\nmsgid \"Key: \"\nmsgstr \"Clave: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Editar {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Añadir: \"\n\nmsgid \"Value: \"\nmsgstr \"Valor: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"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)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Seleccione uno de los discos u omita y use /mnt como predeterminado\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Seleccione qué particiones marcar para formatear:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Usar HSM para desbloquear la unidad cifrada\"\n\nmsgid \"Device\"\nmsgstr \"Dispositivo\"\n\nmsgid \"Size\"\nmsgstr \"Tamaño\"\n\nmsgid \"Free space\"\nmsgstr \"Espacio libre\"\n\nmsgid \"Bus-type\"\nmsgstr \"Tipo de bus\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Debe especificar una contraseña de root o al menos 1 usuario con privilegios sudo\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Ingrese el nombre de usuario (déjelo en blanco para omitir): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"El nombre de usuario que ingresó no es válido. Intente nuevamente\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"¿Debe \\\"{}\\\" ser un superusuario (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Seleccione qué particiones cifrar\"\n\nmsgid \"very weak\"\nmsgstr \"muy débil\"\n\nmsgid \"weak\"\nmsgstr \"débil\"\n\nmsgid \"moderate\"\nmsgstr \"moderado\"\n\nmsgid \"strong\"\nmsgstr \"fuerte\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Agregar subvolumen\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Editar subvolumen\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Eliminar subvolumen\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Interfaces {} configuradas\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Esta opción habilita la cantidad de descargas paralelas que pueden ocurrir durante la instalación\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Ingrese el número de descargas paralelas que se habilitarán.\\n\"\n\" (Ingrese un valor entre 1 y {})\\n\"\n\"Nota:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Valor máximo   : {} ( Habilita {} descargas paralelas, permite {} descargas simultáneas )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Valor mínimo   : 1 ( Habilita 1 descarga paralela, permite 2 descargas simultáneas )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Deshabilitar/Predeterminado : 0 ( Deshabilita la descarga paralela, permite solo 1 descarga simultánea )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"¡Entrada no válida! Intente nuevamente con una entrada válida [1 a {max_downloads}, o 0 para deshabilitar]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Descargas paralelas\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC para omitir\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C para restablecer\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB para seleccionar\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Valor predeterminado: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Para poder usar esta traducción, instale manualmente una fuente que admita el idioma.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"La fuente debe almacenarse como {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall requiere privilegios de root para ejecutarse. Consulte --help para más información.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Seleccione un modo de ejecución\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"No se puede recuperar el perfil de la URL especificada: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Los perfiles deben tener un nombre único, pero se encontraron definiciones de perfil con nombre duplicado: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Seleccione uno o más dispositivos para usar y configurar\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Si restablece la selección del dispositivo, esto también restablecerá el diseño actual del disco. ¿Está seguro?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Particiones existentes\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Seleccione una opción de partición\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Ingrese el directorio raíz de los dispositivos montados: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Capacidad mínima para la partición /home: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Capacidad mínima para la partición Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Esta es una lista de profiles_bck preprogramados que podrían facilitar la instalación de cosas como entornos de escritorio\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Selección de perfil actual\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Eliminar todas las particiones recién agregadas\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Asignar punto de montaje\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Marcar/Desmarcar para formatear (borra datos)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Marcar/Desmarcar como arrancable\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Cambiar el sistema de archivos\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Marcar/Desmarcar como comprimido\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Establecer subvolúmenes\"\n\nmsgid \"Delete partition\"\nmsgstr \"Eliminar partición\"\n\nmsgid \"Partition\"\nmsgstr \"Partición\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Esta partición está actualmente cifrada, para formatearla se debe especificar un sistema de archivos\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Los puntos de montaje de la partición son relativos al interior de la instalación; el arranque sería /boot como ejemplo.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Si se establece el punto de montaje /boot, la partición también se marcará como arrancable.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Punto de montaje: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Sectores libres actuales en el dispositivo {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Sectores totales: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Introduzca el sector de inicio (predeterminado: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Ingrese el sector final de la partición (porcentaje o número de bloque, predeterminado: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Esto eliminará todas las particiones recientemente agregadas, ¿continuar?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Gestión de particiones: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Largo total: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Tipo de cifrado\"\n\nmsgid \"Iteration time\"\nmsgstr \"Tiempo de iteración\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Ingrese el tiempo de iteración para cifrado LUKS (en milisegundos)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Valores más grandes mejoran la seguridad pero aumentan el tiempo de arranque\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Por defecto: 10000ms, Rango recomendado 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Tiempo de iteración no puede estar vacío\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Tiempo de iteración no puede menor a 100ms\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Tiempo de iteración no puede ser mayor a 120000ms\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Por favor ingrese un número válido\"\n\nmsgid \"Partitions\"\nmsgstr \"Particiones\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"No hay dispositivos HSM disponibles\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Particiones a cifrar\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Seleccione la opción de cifrado de disco\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Seleccione un dispositivo FIDO2 para usar con HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Utlizar un diseño de partición predeterminado de mejor esfuerzo\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Partición manual\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Configuración premontada\"\n\nmsgid \"Unknown\"\nmsgstr \"Desconocido\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Cifrado de partición\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formateando {} en \"\n\nmsgid \"← Back\"\nmsgstr \"← Regresar\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Cifrado de disco\"\n\nmsgid \"Configuration\"\nmsgstr \"Configuración\"\n\nmsgid \"Password\"\nmsgstr \"Contraseña\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Todos los ajustes se restablecerán, ¿está seguro?\"\n\nmsgid \"Back\"\nmsgstr \"Regresar\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Por favor, elija qué gestor de inicio de sesión instalar para los perfiles elegidos: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Tipo de entorno: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"El controlador propietario de Nvidia no es compatible con Sway. Es probable que encuentre problemas, ¿Desear continuar?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Paquetes instalados\"\n\nmsgid \"Add profile\"\nmsgstr \"Agregar perfil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Editar perfil\"\n\nmsgid \"Delete profile\"\nmsgstr \"Eliminar perfil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Nombre de perfil: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"El nombre de perfil que ingresó ya está en uso. Intente nuevamente\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Paquetes que se instalarán con este perfil (separados por espacios, déjelo en blanco para omitir): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Servicios que se habilitarán con este perfil (separados por espacios, deje en blanco para omitir): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"¿Debería habilitarse este perfil para la instalación?\"\n\nmsgid \"Create your own\"\nmsgstr \"Crear tu propio\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Seleccione un controlador de gráficos o deje en blanco para instalar todos los controladores de código abierto\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway necesita acceso a sus dispositivos de hardware (teclado, mouse, etc.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Elija una opción para darle a Sway acceso a su hardware\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Controlador de gráficos\"\n\nmsgid \"Greeter\"\nmsgstr \"Gestor de inicio de sesión\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Por favor, elija qué gestor de inicio de sesión instalar\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Esta es una lista de default_profiles preprogramados\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Configuración del disco\"\n\nmsgid \"Profiles\"\nmsgstr \"Perfiles\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Encontrar posibles directorios para guardar archivos de configuración...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Seleccione el directorio (o directorios) para guardar los archivos de configuración\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Agregar un espejo personalizado\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Cambiar espejo personalizado\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Eliminar espejo personalizado\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Ingrese el nombre (deje en blanco para omitir): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Ingrese la URL (deje en blanco para omitir): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Seleccione la opción de verificación de firma\"\n\nmsgid \"Select signature option\"\nmsgstr \"Seleccione la opción de firma\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Espejos personalizados\"\n\nmsgid \"Defined\"\nmsgstr \"Definido\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Guardar la configuración del usuario (incluido el diseño del disco)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Ingrese un directorio para guardar las configuraciones (completar con tabulación habilitado)\\n\"\n\"Guardar directorio: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"¿Desea guardar {} archivo(s) de configuración en la siguiente ubicación?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Guardar {} archivos de configuración en {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Espejos\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Regiones de espejos\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Valor máximo   : {} ( Habilita {} descargas paralelas, permite {max_downloads+1} descargas simultáneas )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"¡Entrada no válida! Intente nuevamente con una entrada válida [1 a {}, o 0 para deshabilitar]\"\n\nmsgid \"Locales\"\nmsgstr \"Localidades\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Total: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Todos los valores ingresados pueden tener una unidad como sufijo: B, KB, KiB, MB, MiB ...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Si no se proporciona ninguna unidad, el valor se interpreta como sectores\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Ingrese el inicio (predeterminado: sector {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Ingrese el final (predeterminado: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"No se pueden determinar los dispositivos fido2. ¿Está instalado libfido2?\"\n\nmsgid \"Path\"\nmsgstr \"Ruta\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Fabricante\"\n\nmsgid \"Product\"\nmsgstr \"Producto\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Configuración no válida: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Tipo\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Esta opción habilita la cantidad de descargas paralelas que pueden ocurrir durante las descargas de paquetes\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Ingrese el número de descargas paralelas que se habilitarán.\\n\"\n\"\\n\"\n\"Nota:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Valor máximo recomendado : {} ( Permite {} descargas paralelas simultáneas )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Deshabilitar/Predeterminado : 0 ( Deshabilita la descarga paralela, permite solo 1 descarga simultánea )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"¡Entrada no válida! Intente nuevamente con una entrada válida [o 0 para deshabilitar]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland necesita acceso a su asiento (colección de dispositivos de hardware, es decir, teclado, mouse, etc.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Elija una opción para darle acceso a Hyprland a su hardware\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Todos los valores introducidos pueden tener como sufijo una unidad: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"¿Le gustaría utilizar imágenes del kernel unificadas?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Imágenes del kernel unificadas\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Esperando a que se complete la sincronización de la hora (timedatectl show).\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"La sincronización de hora no se completa mientras espera - consulte los documentos para encontrar soluciones: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"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)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Esperando a que se complete la sincronización del llavero de Arch Linux (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Perfiles seleccionados: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"La sincronización de hora no se completa mientras espera - consulte los documentos para encontrar soluciones: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Marcar/Desmarcar como nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"¿Le gustaría utilizar compresión o desactivar CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"Usar compresión\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Desactivar copia en escritura\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Proporciona una selección de entornos de escritorio y administradores de ventanas en mosaico, p.e. GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Tipo de configuración: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Tipo de configuración LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"Actualmente no se admite el cifrado de disco LVM con más de 2 particiones\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE Plasma)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Seleccione una opción LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Particionamiento\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Gestión de volúmenes lógicos (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Volúmenes físicos\"\n\nmsgid \"Volumes\"\nmsgstr \"Volúmenes\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Volúmenes LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Volúmenes LVM a cifrar\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Seleccione qué volúmenes LVM cifrar\"\n\nmsgid \"Default layout\"\nmsgstr \"Diseño predeterminado\"\n\nmsgid \"No Encryption\"\nmsgstr \"Sin cifrado\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM en LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS en LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Sí\"\n\nmsgid \"No\"\nmsgstr \"No\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Ayuda de archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (predeterminado)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Presione Ctrl+h para obtener ayuda\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Elija una opción para darle a Sway acceso a su hardware\"\n\n# maybe \"Acceso a la estación\"  or \"Gestión de puestos (seats)\" could be better?\nmsgid \"Seat access\"\nmsgstr \"Acceso al asiento\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Punto de montaje\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Ingrese la contraseña de cifrado del disco (deje en blanco si no desea cifrar)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Contraseña de cifrado de disco\"\n\nmsgid \"Partition - New\"\nmsgstr \"Partición - Nueva\"\n\nmsgid \"Filesystem\"\nmsgstr \"Sistema de archivos\"\n\nmsgid \"Invalid size\"\nmsgstr \"Tamaño no válido\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Inicio (predeterminado: sector {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Fin (predeterminado: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Nombre del subvolumen\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Tipo de configuración del disco\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Directorio de montaje raíz\"\n\nmsgid \"Select language\"\nmsgstr \"Seleccionar idioma\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Escriba paquetes adicionales para instalar (separados por espacios, déjelo en blanco para omitir)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Número de descarga no válido\"\n\nmsgid \"Number downloads\"\nmsgstr \"Número de descargas\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"El nombre de usuario ingresado no es válido\"\n\nmsgid \"Username\"\nmsgstr \"Nombre de usuario\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"¿\\\"{}\\\" debería ser un superusuario (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Interfaces\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Debe ingresar una IP válida en el modo de configuración de IP\"\n\nmsgid \"Modes\"\nmsgstr \"Modos\"\n\nmsgid \"IP address\"\nmsgstr \"Dirección IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Ingrese la dirección IP de su puerta de enlace (enrutador) (deje en blanco si no hay ninguna)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Dirección de puerta de enlace\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Ingrese sus servidores DNS separados por espacios (deje en blanco si no hay ninguno)\"\n\nmsgid \"DNS servers\"\nmsgstr \"Servidores DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Configurar interfaces\"\n\nmsgid \"Kernel\"\nmsgstr \"Núcleo\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"No se detecta UEFI y algunas opciones están deshabilitadas\"\n\nmsgid \"Info\"\nmsgstr \"Info\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"El controlador patentado de Nvidia no es compatible con Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Es probable que tengas problemas. ¿Te parece bien?\"\n\nmsgid \"Main profile\"\nmsgstr \"Perfil principal\"\n\nmsgid \"Confirm password\"\nmsgstr \"Confirmar contraseña\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"La contraseña de confirmación no coincide, por favor intente nuevamente\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"No es un directorio válido\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"¿Quiere continuar?\"\n\nmsgid \"Directory\"\nmsgstr \"Directorio\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Ingrese un directorio para guardar las configuraciones (autocompletado de tabulación habilitado)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"¿Desea guardar los archivos de configuración en {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Habilitado\"\n\nmsgid \"Disabled\"\nmsgstr \"Deshabilitado\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Envíe este problema (y archivo) a https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Nombre del espejo\"\n\nmsgid \"Url\"\nmsgstr \"Url\"\n\nmsgid \"Select signature check\"\nmsgstr \"Seleccionar verificación de firma\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Seleccionar modo de ejecución\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Presione ? para obtener ayuda\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Elija una opción para darle a Hyprland acceso a su hardware\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Repositorios adicionales\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap en zram\"\n\nmsgid \"Name\"\nmsgstr \"Nombre\"\n\nmsgid \"Signature check\"\nmsgstr \"Comprobación de firma\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Segmento de espacio libre seleccionado en el dispositivo {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Tamaño: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Tamaño (predeterminado: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Dispositivo HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"No se pudieron encontrar algunos paquetes en el repositorio\"\n\nmsgid \"User\"\nmsgstr \"Usuario\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Se aplicará la configuración especificada\"\n\nmsgid \"Wipe\"\nmsgstr \"Borrar\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Marcar/Desmarcar como XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Cargando paquetes...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Seleccione cualquier paquete de la lista a continuación que deba instalarse adicionalmente\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Agregar un repositorio personalizado\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Cambiar el repositorio personalizado\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Eliminar repositorio personalizado\"\n\nmsgid \"Repository name\"\nmsgstr \"Nombre del repositorio\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Agregar un servidor personalizado\"\n\nmsgid \"Change custom server\"\nmsgstr \"Cambiar servidor personalizado\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Eliminar servidor personalizado\"\n\nmsgid \"Server url\"\nmsgstr \"URL del servidor\"\n\nmsgid \"Select regions\"\nmsgstr \"Seleccione regiones\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Agregar servidores personalizados\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Agregar repositorio personalizado\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Cargando regiones de espejo...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Espejos y repositorios\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Regiones de espejo seleccionadas\"\n\nmsgid \"Custom servers\"\nmsgstr \"Servidores personalizados\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Repositorios personalizados\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Sólo se admiten caracteres ASCII\"\n\nmsgid \"Show help\"\nmsgstr \"Mostrar ayuda\"\n\nmsgid \"Exit help\"\nmsgstr \"Ayuda para salir\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Subir en vista previa\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Bajar en vista previa\"\n\nmsgid \"Move up\"\nmsgstr \"Subir\"\n\nmsgid \"Move down\"\nmsgstr \"Bajar\"\n\nmsgid \"Move right\"\nmsgstr \"Mover a la derecha\"\n\nmsgid \"Move left\"\nmsgstr \"Mover a la izquierda\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Saltar a la entrada\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Saltar selección (si está disponible)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Restablecer selección (si está disponible)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Seleccionar en selección única\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Seleccionar en selección múltiple\"\n\nmsgid \"Reset\"\nmsgstr \"Restablecer\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Saltar el menú de selección\"\n\nmsgid \"Start search mode\"\nmsgstr \"Iniciar modo de búsqueda\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Salir del modo de búsqueda\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc necesita acceso a su asiento (colección de dispositivos de hardware, es decir, teclado, ratón, etc.)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Elija una opción para darle a labwc acceso a su hardware\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri necesita acceso a su asiento (colección de dispositivos de hardware, es decir, teclado, ratón, etc.)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Elija una opción para darle a niri acceso a su hardware\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Marcar/Desmarcar como ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"Grupo de paquetes:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Salir de archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"Reiniciar el sistema\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"chroot en la instalación para configuraciones posteriores a la instalación\"\n\nmsgid \"Installation completed\"\nmsgstr \"Instalación completada\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"¿Qué le gustaría hacer a continuación?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Seleccione qué modo configurar para \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Contraseña incorrecta para descifrar el archivo de credenciales\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Contraseña incorrecta\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Contraseña para descifrar el archivo de credenciales\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"¿Desea encriptar el archivo user_credentials.json?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Contraseña para cifrar el archivo de credenciales\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repositorios: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Nueva versión disponible\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Inicio de sesión sin contraseña\"\n\nmsgid \"Second factor login\"\nmsgstr \"Inicio de sesión con factor secundario\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"¿Desea configurar Bluetooth?\"\n\nmsgid \"Print service\"\nmsgstr \"Servicio de impresión\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"¿Desea configurar el servicio de impresión?\"\n\nmsgid \"Power management\"\nmsgstr \"Administración de energía\"\n\nmsgid \"Authentication\"\nmsgstr \"Autenticación\"\n\nmsgid \"Applications\"\nmsgstr \"Aplicaciones\"\n\nmsgid \"U2F login method: \"\nmsgstr \"Método de inicio de sesión U2F: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo sin contraseña: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Tipo de snapshot Btrfs: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Sincronizando el sistema...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"El valor no puede estár vacío\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Tipo de snapshot\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Tipo de snapshot: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Configuración de inicio de sesión U2F\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"No se encontró dispositivos U2F\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"Método de inicio de sesión U2F\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Habilitar sudo sin contraseña?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Configurando dispositivo U2F para usuario: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Puede que deba ingresar su PIN antes de tocar su dispositivo U2F para registrarlo\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Iniciando modificaciones en dispositivo en \"\n\nmsgid \"No network connection found\"\nmsgstr \"No se encontró una conección de red\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"¿Desea conectarse a Wifi?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"No se encontró ninguna interfaz de wifi\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Seleccione una red de wifi para conectarse\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Buscando redes de wifi...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"No se encontró redes de wifi\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Error configurando wifi\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Ingrese contraseña de wifi\"\n\nmsgid \"Ok\"\nmsgstr \"Ok\"\n\nmsgid \"Removable\"\nmsgstr \"Desmontable\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Instalar a ubicación desmontable\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"Se instalará en /EFI/BOOT/ (ubicación desmontable)\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"Se instalará en ubicación estandar con entrada NVRAM\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"¿Desea instalar el gestor de arranque en la ubicación predeterminada de búsqueda de medios desmontables?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Esto instala el gestor de arranque en /EFI/BOOT/BOOTX64.EFI (o similar) lo cual es útil para:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"Disco USB u otros medios portátiles externos.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Sistemas donde quiere que el disco sea arrancable en cualquier computadora.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Firmware que no soporta entradas arrancables NVRAM.\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"Instalará a /EFI/BOOT/ (ubicación desmontable, segura por defecto)\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"Instalará a ubicación personalizada con entrada NVRAM\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Firmware que no soporta entradas arrancables NVRAM como la mayoría de las placas MSI,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"la mayoría de las Macs Apple, muchas laptops...\"\n\nmsgid \"Language\"\nmsgstr \"Idioma local\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"Algoritmo de compresión\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Solo paquetes como base, base-devel, linux, linux-firmware, efibootmgr y paquetes opcionales de perfil se instalan.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Seleccione algorimto de compresión zram:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"Usar Gestor de Red (backend por defecto)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"Usar gestor de Red (backend iwd)\"\n\nmsgid \"Firewall\"\nmsgstr \"Cortafuegos\"\n\nmsgid \"Select audio configuration\"\nmsgstr \"Seleccionar configuración de audio\"\n\nmsgid \"Enter credentials file decryption password\"\nmsgstr \"Ingrese la contraseña de descifrado del archivo de credenciales\"\n\nmsgid \"Enter root password\"\nmsgstr \"Ingrese la contraseña de root\"\n\nmsgid \"Select bootloader to install\"\nmsgstr \"Seleccione el gestor de arranque que desea instalar\"\n\nmsgid \"Configuration preview\"\nmsgstr \"Vista previa de la configuración\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved\"\nmsgstr \"Ingrese un directorio para guardar las configuraciones\"\n\nmsgid \"Select encryption type\"\nmsgstr \"Seleccione el tipo de cifrado\"\n\nmsgid \"Select disks for the installation\"\nmsgstr \"Seleccione discos para la instalación\"\n\nmsgid \"Enter a mountpoint\"\nmsgstr \"Ingrese un punto de montaje\"\n\n#, python-brace-format\nmsgid \"Enter a size (default: {}): \"\nmsgstr \"Ingrese un tamaño (predeterminado: {}): \"\n\nmsgid \"Enter subvolume name\"\nmsgstr \"Ingrese el nombre del subvolumen\"\n\nmsgid \"Enter subvolume mountpoint\"\nmsgstr \"Ingrese el punto de montaje del subvolumen\"\n\nmsgid \"Select a disk configuration\"\nmsgstr \"Seleccione una configuración de disco\"\n\nmsgid \"Enter root mount directory\"\nmsgstr \"Ingrese al directorio de montaje raíz\"\n\nmsgid \"You will use whatever drive-setup is mounted at the specified directory\"\nmsgstr \"Utilizará cualquier configuración de unidad que esté montada en el directorio especificado\"\n\nmsgid \"WARNING: Archinstall won't check the suitability of this setup\"\nmsgstr \"ADVERTENCIA: Archinstall no comprobará la idoneidad de esta configuración\"\n\nmsgid \"Select main filesystem\"\nmsgstr \"Seleccione el sistema de archivos principal\"\n\nmsgid \"Enter a hostname\"\nmsgstr \"Ingrese un nombre de host\"\n\nmsgid \"Select timezone\"\nmsgstr \"Seleccione una zona horaria\"\n\nmsgid \"Enter the number of parallel downloads to be enabled\"\nmsgstr \"Ingrese el número de descargas paralelas que desea habilitar\"\n\n#, python-brace-format\nmsgid \"Value must be between 1 and {}\"\nmsgstr \"El valor debe estar entre 1 y {}\"\n\nmsgid \"Select which kernel(s) to install\"\nmsgstr \"Seleccione qué núcleo(s) desea instalar\"\n\nmsgid \"Enter a respository name\"\nmsgstr \"Ingrese un nombre de repositorio\"\n\nmsgid \"Enter the repository url\"\nmsgstr \"Ingrese la URL del repositorio\"\n\nmsgid \"Enter server url\"\nmsgstr \"Ingrese la URL del servidor\"\n\nmsgid \"Select mirror regions to be enabled\"\nmsgstr \"Seleccione las regiones espejo que se habilitarán\"\n\nmsgid \"Select optional repositories to be enabled\"\nmsgstr \"Seleccione repositorios opcionales para habilitar\"\n\nmsgid \"Select an interface\"\nmsgstr \"Seleccione una interfaz\"\n\nmsgid \"Choose network configuration\"\nmsgstr \"Elija la configuración de red\"\n\nmsgid \"No packages found\"\nmsgstr \"No se encontraron paquetes\"\n\nmsgid \"Select which greeter to install\"\nmsgstr \"Seleccione el saludo que desea instalar\"\n\nmsgid \"Select a profile type\"\nmsgstr \"Seleccione un tipo de perfil\"\n\nmsgid \"Enter new password\"\nmsgstr \"Ingrese nueva contraseña\"\n\nmsgid \"Enter a username\"\nmsgstr \"Ingrese un nombre de usuario\"\n\nmsgid \"Enter a password\"\nmsgstr \"Ingrese una contraseña\"\n\nmsgid \"The password did not match, please try again\"\nmsgstr \"La contraseña no coincide, por favor inténtelo nuevamente\"\n\n#~ msgid \"Add :\"\n#~ msgstr \"Añadir :\"\n\n#~ msgid \"Value :\"\n#~ msgstr \"Valor :\"\n\n#, python-brace-format\n#~ msgid \"Edit {origkey} :\"\n#~ msgstr \"Editar {origkey} :\"\n\n#~ msgid \"Copy to :\"\n#~ msgstr \"Copiar a :\"\n\n#~ msgid \"Edite :\"\n#~ msgstr \"Editar :\"\n\n#~ msgid \"Key :\"\n#~ msgstr \"Clave :\"\n"
  },
  {
    "path": "archinstall/locales/et/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: \\n\"\n\"Language: et\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.3\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Siia on loodud logifail: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Esitage see probleem (ja fail) aadressil https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Kas sa tahad katkestada?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Ja veel kord kinnitamiseks: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Kas soovite zramis kasutada swapi?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Installimiseks soovitud hostinimi: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Kasutajanimi nõutud superkasutajale sudo õigustega: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Lisa kasutajate lisamine(jäta tühjaks kui ei soovi lisa kasutajaid): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Kas see kasutaja peaks olema superkasutaja (sudo õigustega)\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Vali ajatsoon\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Kas soovite systemd-booti asemel kasutada GRUBi buudilaadijana?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Vali buudilaadija\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Vali audio server\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Paigaldatakse ainult sellised paketid nagu base, base-devel, linux, linux-firmware, efibootmgr ja valikulised profiilipaketid.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Kui soovite veebibrauserit, näiteks firefox või chromium, saate selle määrata järgmises viipas.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Kirjutage paigaldatavad lisapaketid (tühikutega eraldatuna, jätke tühjaks, kui soovite vahele jätta): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO-võrgu konfiguratsiooni kopeerimine paigaldusse\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Kasutage NetworkManagerit (vajalik interneti graafiliseks konfigureerimiseks GNOME-s ja KDE-s).\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Valige üks võrguliides konfigureerimiseks\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Valige, millist režiimi soovite konfigureerida \\\"{}\\\" või jätke vahele, kasutada vaikimisi režiimi \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Sisestage IP ja alamvõrk {} (näide: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Sisestage oma võrguvärava (ruuteri) IP-aadress või jätke tühjaks, kui see puudub: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Sisestage oma DNS-serverid (tühikuga eraldatud, jätke tühjaks, kui neid ei ole): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Valige, millist failisüsteemi teie peamine partitsioon peaks kasutama\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Praegune partitsiooni paigutus\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Valige, mida teha\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Sisestage partitsiooni jaoks soovitud failisüsteemi tüüp\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Sisestage alguskoht (parted ühikutes: s, GB, % jne; vaikimisi: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Sisestage lõpu asukoht (parted ühikutes: s, GB, % jne; näiteks: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} sisaldab järjekorras olevaid partitsioone, see eemaldab need, kas olete kindel?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"\\n\"\n\"Valige indeksi järgi, milliseid partitsioone kustutada\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"\\n\"\n\"Valige indeksi järgi, millise partitsiooni kuhu paigaldada\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Partitsioonide kinnituspunktid on suhtelised installeerimise sees, näiteks boot oleks /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Valige, kuhu partitsiooni paigaldada (jätke tühjaks, et eemaldada paigalduspunkt): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Valige, millist partitsiooni soovite vormindamiseks maskeerida\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"\\n\"\n\"Valige, millist partitsiooni soovite krüpteerituks märkida\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"\\n\"\n\"Valige, millist partitsiooni soovite märkida käivitatavaks\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"\\n\"\n\"Valige, millisele partitsioonile failisüsteemi määrata\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Sisestage partitsiooni jaoks soovitud failisüsteemi tüüp: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstalli keel\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Pühkige kõik valitud kettad ja kasutage parimat võimalikku vaikimisi partitsiooni paigutust\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Valige, mida teha iga üksiku kettaga (järgneb partitsiooni kasutamine)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Valige, mida soovite valitud plokkseadmetega teha\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"See on nimekiri eelprogrammeeritud profiilidest, need võivad lihtsustada selliste asjade nagu töölauakeskkondade paigaldamist\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Valige klaviatuuri paigutus\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Valige üks piirkondadest, kust pakette alla laadida\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Valige üks või mitu kõvaketast kasutamiseks ja konfigureerimiseks\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Parima ühilduvuse saavutamiseks oma AMD riistvaraga võiksite kasutada kas kõiki avatud lähtekoodiga või AMD/ATI valikuid.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"\"\n\"Parima ühilduvuse saavutamiseks oma Inteli riistvaraga võiksite kasutada kas kõiki avatud lähtekoodiga või Inteli valikuid.\\n\"\n\"\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"\"\n\"Parima ühilduvuse saavutamiseks oma Nvidia riistvaraga peaksite kasutama Nvidia enda toodetud draiverit.\\n\"\n\"\\n\"\n\"\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valige graafikadraiver või jätke tühjaks, et paigaldada kõik avatud lähtekoodiga draiverid\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Kõik avatud lähtekoodiga (vaikimisi)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Valige, milliseid tuumasid soovite kasutada või jätke vaikimisi tühjaks \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Valige, millist asukoha keelt kasutada\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Valige, millist asukoha kodeeringut kasutada\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Valige üks allpool esitatud väärtustest: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Valige üks või mitu järgmistest võimalustest: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Partitsiooni lisamine....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Partitsiooni lisamine....\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Viga: URL-i \\\"{}\\\" profiilide loetlemine andis tulemuseks:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Viga: {}\\\" tulemust JSON-ina dekodeerida:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Klaviatuuri paigutus\"\n\nmsgid \"Mirror region\"\nmsgstr \"Peegelregioon\"\n\nmsgid \"Locale language\"\nmsgstr \"Kohalik keel\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Kohaliku keele kodeering\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Draiv(id)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Ketta paigutus\"\n\nmsgid \"Encryption password\"\nmsgstr \"Krüpteerimise parool\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Buudilaadija\"\n\nmsgid \"Root password\"\nmsgstr \"Juur parool\"\n\nmsgid \"Superuser account\"\nmsgstr \"Superkasutaja konto\"\n\nmsgid \"User account\"\nmsgstr \"Kasutaja konto\"\n\nmsgid \"Profile\"\nmsgstr \"Profiil\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernelid\"\n\nmsgid \"Additional packages\"\nmsgstr \"Täiendavad paketid\"\n\nmsgid \"Network configuration\"\nmsgstr \"Võrgu konfiguratsioon\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Automaatne ajasünkroonimine\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Install ({} config(id) puudu(vad)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Sa otsustasid kõvaketta valiku vahele jätta\\n\"\n\"ja kasutad mis tahes draivi seadistust, mis on paigaldatud {} (eksperimentaalne)\\n\"\n\"HOIATUS: Archinstall ei kontrolli selle seadistuse sobivust\\n\"\n\"Kas soovite jätkata?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Partitsiooni instantsi taaskasutamine: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Uue partitsiooni loomine\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Kustuta paritsioon\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Puhasta/Kustuta kõik partitsioonid\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Määrake partitsioonile kinnituspunkt\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Märgistage/mittemärgistage vormindatav partitsioon (kustutab andmed)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Märgistage/mittemärgistage partitsiooni krüpteerituks\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Märgistage/mittemärgistage partitsiooni käivitatavaks (automaatne /boot jaoks)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Soovitud failisüsteemi määramine partitsiooni jaoks\"\n\nmsgid \"Abort\"\nmsgstr \"Katkesta\"\n\nmsgid \"Hostname\"\nmsgstr \"Hostinimi\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Ei ole konfigureeritud, ei ole saadaval, kui seda ei ole käsitsi seadistatud\"\n\nmsgid \"Timezone\"\nmsgstr \"Ajatsoon\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Määrake/muutke järgmisi valikuid\"\n\nmsgid \"Install\"\nmsgstr \"Install\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Kasutage ESC vahelejätmiseks\\n\"\n\"\\n\"\n\"\\n\"\n\"\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Soovitage partitsiooni paigutust\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Sisestage parool: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Sisestage {}'le krüpteerimis parool\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Sisestage ketta krüpteerimise parool (krüpteerimise puudumisel jätke see tühjaks): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Looge nõutav sudo õigustega superkasutaja: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Sisestage juur parool (jätke tühjaks, et keelata root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Kasutaja \\\"{}\\\" parool: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Täiendavate pakettide olemasolu kontrollimine (see võib võtta paar sekundit)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Kas soovite kasutada automaatset ajasünkroniseerimist (NTP) vaikimisi ajaserveritega?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP toimimiseks võib olla vaja riistvara aega ja muid konfiguratsioonijärgseid samme.\\n\"\n\"Lisateavet leiate Archi wikist\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Sisestage kasutajanimi, et luua lisakasutaja (jätke tühjaks, et vahele jätta): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Kasutage ESC'i et vahele jätta\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Valige loetelust objekt ja valige selle täitmiseks üks olemasolevatest toimingutest\"\n\nmsgid \"Cancel\"\nmsgstr \"Tühista\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Kinnita ja lahku\"\n\nmsgid \"Add\"\nmsgstr \"Lisa\"\n\nmsgid \"Copy\"\nmsgstr \"Kopeeri\"\n\nmsgid \"Edit\"\nmsgstr \"Muuda\"\n\nmsgid \"Delete\"\nmsgstr \"Kustuta\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Valige tegevus '{}' jaoks\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Kopeeri uude võtmesse:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Tundmatu nic-tüüp: {}. Võimalikud väärtused on {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"See on teie valitud konfiguratsioon:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman on juba käivitatud ja ootab maksimaalselt 10 minutit, kuni see lõpeb.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Eelnev pacmani lukk ei ole kunagi väljunud. Enne archinstall'i kasutamist puhastage olemasolevad pacmani sessioonid.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Valige, milliseid valikulisi lisa repositooriumeid soovite lubada\"\n\nmsgid \"Add a user\"\nmsgstr \"Lisa kasutaja\"\n\nmsgid \"Change password\"\nmsgstr \"Muuda parool\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Edenda/alanda kasutajat\"\n\nmsgid \"Delete User\"\nmsgstr \"Kustuta kasutaja\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Uue kasutaja määramine\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Kasutajanimi : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Kas {} peaks olema superkasutaja (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Määrake sudo privileegiga kasutajad: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Puudub võrgu konfiguratsioon\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Määrake soovitud alamköited btrfs-i partitsioonile\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Valige, millisele partitsioonile alamkogumid määrata\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Hallake praeguse partitsiooni btrfs-i alamköiteid\"\n\nmsgid \"No configuration\"\nmsgstr \"Puudub konfiguratsioon\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Salvesta kasutaja konfiguratsioon\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Salvesta kasutaja volitused\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Salvesta ketta paigutus\"\n\nmsgid \"Save all\"\nmsgstr \"Salvesta kõik\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Valige milline konfiguratsioon salvestada\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Sisestage salvestatava(te) konfiguratsiooni(de) kataloog: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Ei ole sobiv kataloog: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Teie kasutatav salasõna näib olevat nõrk,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"oled sa kindel et soovid seda kasutada?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Valikulised repositooriumid\"\n\nmsgid \"Save configuration\"\nmsgstr \"Salvesta konfiguratsioon\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Puuduvad konfiguratsioonid:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Tuleb määrata kas juur-parool või vähemalt 1 superkasutaja\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Hallake superkasutaja kontosi \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Hallake tavalisi kasutajaid: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Alamköide :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" paigaldatud {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" koos valikuga {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Täida uue alamhulga soovitud väärtused \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Alamhulga nimi \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Alamhulga kinnituspunkt\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Alamhulga valikud\"\n\nmsgid \"Save\"\nmsgstr \"Salvesta\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Alamhulga nimi:\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Valige kinnitus punkt :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Valige soovitud alamhulga valikud \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Määrake sudo õigustega kasutajad kasutajanime järgi: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Siin on loodud logifail: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Kas soovite kasutada BTRFS-i alamkogusid vaikimisi struktuuriga?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Kas soovite kasutada BTRFS-i tihendamist?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Kas soovite luua eraldi partitsiooni /home jaoks?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Valitud ketastel ei ole automaatseks soovituseks vajalikku minimaalset mahtu\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Minimaalne mahutavus /home partitsioonile: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Arch Linuxi partitsiooni minimaalne mahutavus: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Jätka\"\n\nmsgid \"yes\"\nmsgstr \"jah\"\n\nmsgid \"no\"\nmsgstr \"ei\"\n\nmsgid \"set: {}\"\nmsgstr \"seadista: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Käsitsi konfiguratsiooniseade peab olema loend\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Käsitsi seadistamiseks pole iface'i määratud\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Manuaalne nici konfigureerimine ilma automaatse DHCPta nõuab IP-aadressi\"\n\nmsgid \"Add interface\"\nmsgstr \"Lisa liides\"\n\nmsgid \"Edit interface\"\nmsgstr \"Muuda liidest\"\n\nmsgid \"Delete interface\"\nmsgstr \"Kustutage liides\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Valige millist liidest lisada\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Manuaalne konfiguratsioon\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Märgistada/mittemärgistada partitsiooni kompressiooniks (ainult btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Teie kasutatav salasõna tundub olevat nõrk, kas olete kindel, et soovite seda kasutada?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Pakub valikut töölauakeskkondi ja plaadistatavaid aknahaldureid, nt gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Valige soovitud töölauakeskkonda\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Väga lihtne paigaldus, mis võimaldab teil Arch Linuxi kohandada vastavalt oma äranägemisele.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Annab valiku erinevate serveripakettide paigaldamiseks ja aktiveerimiseks, nt httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Valige, milliseid servereid paigaldada, kui ühtegi ei ole, siis tehakse minimaalne paigaldus\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Installeerib minimaalse süsteemi ning xorgi ja graafikadraiverid.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Jätkamiseks vajutage Enter.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Kas soovite chrootida äsja loodud installatsiooni ja teostada installeerimisjärgset konfigureerimist?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Kas olete kindel, et soovite seda seadistust lähtestada?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Valige üks või mitu kasutatavat kõvaketast ja konfigureerige\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Olemasoleva seadistuse muutmine lähtestab ketta paigutuse!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Kui lähtestate kõvaketta valiku, lähtestab see ka praeguse kettapaigutuse. Oled sa kindel?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Salvesta ja lahku\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"sisaldab järjekorras olevaid partitsioone, see eemaldab need, oled sa kindel?\"\n\nmsgid \"No audio server\"\nmsgstr \"Puudub audio server\"\n\nmsgid \"(default)\"\nmsgstr \"(vaikimisi)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Kasutage ESC vahelejätmiseks\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Kasuta CTRL+C praeguse valiku lähtestamiseks\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Kopeeri: \"\n\nmsgid \"Edit: \"\nmsgstr \"Muuda: \"\n\nmsgid \"Key: \"\nmsgstr \"Võti: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Muuda {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Lisa: \"\n\nmsgid \"Value: \"\nmsgstr \"Väärtus: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Saad vahele jätta ketta valimise ja partitsioneerimise ning kasutada mis tahes draivi-komplekti, mis on paigaldatud /mnt (eksperimentaalne).\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Valige üks ketastest või jätke vahele ja kasutage vaikimisi /mnt\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Valige, milliseid partitsioone soovite vormindamiseks märkida:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Kasutage HSM-i krüpteeritud draivi avamiseks\"\n\nmsgid \"Device\"\nmsgstr \"Seade\"\n\nmsgid \"Size\"\nmsgstr \"Suurus\"\n\nmsgid \"Free space\"\nmsgstr \"Vaba mälu\"\n\nmsgid \"Bus-type\"\nmsgstr \"Bussi tüüp\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Tuleb määrata kas root-sõna või vähemalt 1 kasutaja, kellel on sudo õigused\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Sisestage kasutajanimi (jätke tühjaks, et vahele jätta): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Teie sisestatud kasutajanimi ei sobi. Proovige uuesti\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Kas \\\"{}\\\" peaks olema superkasutaja (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Valige, milliseid partitsioone krüpteerida\"\n\nmsgid \"very weak\"\nmsgstr \"väga nõrk\"\n\nmsgid \"weak\"\nmsgstr \"nõrk\"\n\nmsgid \"moderate\"\nmsgstr \"keskmine\"\n\nmsgid \"strong\"\nmsgstr \"tugev\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Lisage alamhulk\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Osahulga redigeerimine\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Kustuta osahulk\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Konfigureeritud {} liidesed\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"See valik võimaldab installimise ajal valida paralleelsete allalaadimiste arvu\"\n\n#, fuzzy\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Sisestage lubatavate paralleelsete allalaadimiste arv.\\n\"\n\" (Sisestage väärtus vahemikus 1 kuni {max_downloads})\\n\"\n\"note:\"\n\n#, fuzzy\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Minimaalne väärtus   : 1 ( Võimaldab 1 paralleelset allalaadimist, võimaldab 2 allalaadimist korraga )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Minimaalne väärtus   : 1 ( Võimaldab 1 paralleelset allalaadimist, võimaldab 2 allalaadimist korraga )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Keela/Vaikimisi : 0 ( keelab paralleelse allalaadimise, võimaldab ainult 1 allalaadimist korraga )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Vale sisestus! Proovige uuesti kehtiva sisendiga [1 {max_downloads} või 0 keelamiseks].\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Paralleelsed allalaadimised\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC vahelejätmiseks\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C lähtestamiseks\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB valimiseks\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Vaikimisi väärtus: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Selleks, et seda tõlget kasutada, paigaldage käsitsi fondi, mis toetab seda keelt.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Font tuleks salvestada kujul {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall vajab käivitamiseks juurkasutaja õigusi. Vaata --help.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Valige täitmisrežiim\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Ei õnnestu profiili hankida määratud url'ist: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Profiilidel peab olema unikaalne nimi, kuid leiti topeltnimega profiilide määratlusi: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Valige üks või mitu seadet mida kasutada ja konfigureerida\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Kui lähtestate seadme valiku, siis lähtestate sellega ka praeguse draivi paigutuse. Kas olete kindel?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Olemasolevad Jaotused\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Valige jaotuste valik\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Sisestage paigaldatud seadmete juurkataloog: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Minimaalne mahutavus /home partitsioonile: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Arch Linuxi partitsiooni minimaalne mahutavus: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"See on nimekiri eelprogrammeeritud profiilidest_bck, need võivad lihtsustada selliste asjade nagu töölauakeskkondade paigaldamist\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Praegune profiilivalik\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Eemaldage kõik äsja lisatud partitsioonid\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Määra paigaldamis punkt\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Märgistada/mittemärgistada vormindamiseks (kustutab andmed)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Märgistada/mittemärgistada käivitatavak\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Failisüsteemi muutmine\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Märgistada/mittemärgistada kui tihendatud\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Alamköite määramine\"\n\nmsgid \"Delete partition\"\nmsgstr \"Kustuta partitsioon\"\n\nmsgid \"Partition\"\nmsgstr \"Partitsioon\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"See partitsioon on praegu krüpteeritud, selle vormindamiseks tuleb määrata failisüsteem\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Partitsiooni kinnituspunktid on suhtelised installeerimise sees, näiteks boot oleks /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Kui paigalduspunkt /boot on määratud, siis märgitakse partitsioon ka käivitatavaks.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Paigalduspunkt: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Praegused vabad sektorid seadmes {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Sektorid kokku: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Sisestage algussektor (vaikimisi: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Sisestage partitsiooni lõppsektor (protsent või plokkide number, vaikimisi: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"See eemaldab kõik äsja lisatud partitsioonid, jätka?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Partitsiooni haldamine:{}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Kogupikkus: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Krüpteerimise tüüp\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"Partitsioonid\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Puuduvad HSM seadmed\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Krüpteeritavad partitsioonid\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Valige ketta krüpteerimise valik\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Valige HSM-i jaoks kasutatav FIDO2-seade\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Kasutage parimat võimalikku vaikimisi partitsiooni paigutust\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Käsitsi partitsioneerimine\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Eelnevalt paigaldatud konfiguratsioon\"\n\nmsgid \"Unknown\"\nmsgstr \"Tundmatu\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Partitsiooni krüpteerimine\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Vormindamine {} \"\n\nmsgid \"← Back\"\nmsgstr \"Tagasi\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Ketta krüpteerimine\"\n\nmsgid \"Configuration\"\nmsgstr \"Konfiguratsioon\"\n\nmsgid \"Password\"\nmsgstr \"Parool\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Kõik seaded lähtestatakse, kas sa oled kindel?\"\n\nmsgid \"Back\"\nmsgstr \"Tagasi\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Palun valige millist tervitajat installida valitud profiilidele\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Keskkonna tüüp: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Sway ei toeta Nvidia enda draiverit. Tõenäoliselt tekib teil probleeme, kas teile sobib see?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Installeeritud paketid\"\n\nmsgid \"Add profile\"\nmsgstr \"Lisa profiil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Muuda profiili\"\n\nmsgid \"Delete profile\"\nmsgstr \"Kustuta profiil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Profiili nimi: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Sisestatud profiili nimi on juba kasutuses. Proovi uuesti\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Selle profiiliga paigaldatavad paketid (tühikuga eraldatud, jäta tühjaks, et jätta vahele): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Selle profiiliga lubatavad teenused (tühikuga eraldatud, jäta tühjaks, kui soovid vahele jätta): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Kas see profiil peaks olema paigaldamiseks lubatud?\"\n\nmsgid \"Create your own\"\nmsgstr \"Loo oma\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Vali graafikadraiver või jäta tühjaks, et paigaldada kõik avatud lähtekoodiga draiverid\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway vajab juurdepääsu teie seatile (riistvaraseadmete kogum, st klaviatuur, hiir jne.\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valige valik, et anda Sway'le juurdepääs teie riistvarale\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Graafika draiver\"\n\nmsgid \"Greeter\"\nmsgstr \"Tervitaja\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Palun valige millist tervitajat installida\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"See on eelnevalt programmeeritud vaikimisi_profiilide nimekiri\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Ketta konfiguratsioon\"\n\nmsgid \"Profiles\"\nmsgstr \"Profiilid\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Võimalike kataloogide leidmine konfiguratsioonifailide salvestamiseks ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Konfigureerimisfailide salvestamise kataloogi (või kataloogide) valimine\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Lisa kohandatud peegel\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Muuda kohandatud peeglit\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Kustuta kohandadtud peeglit\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Sisesta nimi (jätke tühjaks, et vahele jätta): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Sisesta url (jätke tühjaks, et vahele jätta): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Valige allkirja kontrollimise võimalus\"\n\nmsgid \"Select signature option\"\nmsgstr \"Valige allkirja valik\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Kohandatud peegel\"\n\nmsgid \"Defined\"\nmsgstr \"Defineeritud\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Salvesta kasutaja konfiguratsioon (kaasa arvatud plaadi paigutus)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Sisestage salvestatava(te) konfiguratsiooni(de) kataloog (vahekaartide täitmine lubatud)\\n\"\n\"Salvesta kataloog: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Kas soovite salvestada {} konfiguratsioonifaili(d) järgmisesse asukohta?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} konfiguratsioonifailide salvestamine {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Peeglid\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Peegel regioonid\"\n\n#, fuzzy\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Maksimaalne väärtus   : {max_downloads} ( Võimaldab {max_downloads} paralleelset allalaadimist, lubab {max_downloads+1} allalaadimist korraga )\"\n\n#, fuzzy\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Vale sisestus! Proovige uuesti kehtiva sisendiga [1 {max_downloads} või 0 keelamiseks].\"\n\nmsgid \"Locales\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Kasutage NetworkManagerit (vajalik interneti graafiliseks konfigureerimiseks GNOME-s ja KDE-s).\"\n\n#, fuzzy\nmsgid \"Total: {} / {}\"\nmsgstr \"Kogupikkus: {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Sisestage algussektor (vaikimisi: {}): \"\n\n#, fuzzy\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Sisestage algussektor (vaikimisi: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"\"\n\nmsgid \"Path\"\nmsgstr \"\"\n\nmsgid \"Manufacturer\"\nmsgstr \"\"\n\nmsgid \"Product\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Manuaalne konfiguratsioon\"\n\nmsgid \"Type\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"See valik võimaldab installimise ajal valida paralleelsete allalaadimiste arvu\"\n\n#, fuzzy\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Sisestage lubatavate paralleelsete allalaadimiste arv.\\n\"\n\" (Sisestage väärtus vahemikus 1 kuni {max_downloads})\\n\"\n\"note:\"\n\n#, fuzzy, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Minimaalne väärtus   : 1 ( Võimaldab 1 paralleelset allalaadimist, võimaldab 2 allalaadimist korraga )\"\n\n#, fuzzy\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Keela/Vaikimisi : 0 ( keelab paralleelse allalaadimise, võimaldab ainult 1 allalaadimist korraga )\"\n\n#, fuzzy\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Vale sisestus! Proovige uuesti kehtiva sisendiga [1 {max_downloads} või 0 keelamiseks].\"\n\n#, fuzzy\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway vajab juurdepääsu teie seatile (riistvaraseadmete kogum, st klaviatuur, hiir jne.\"\n\n#, fuzzy\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valige valik, et anda Sway'le juurdepääs teie riistvarale\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Kas soovite zramis kasutada swapi?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Selected profiles: \"\nmsgstr \"Kustuta profiil\"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Märgistada/mittemärgistada käivitatavak\"\n\n#, fuzzy\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Kas soovite kasutada BTRFS-i tihendamist?\"\n\nmsgid \"Use compression\"\nmsgstr \"\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Pakub valikut töölauakeskkondi ja plaadistatavaid aknahaldureid, nt gnome, kde, sway\"\n\n#, fuzzy, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Konfiguratsioon\"\n\n#, fuzzy\nmsgid \"LVM configuration type\"\nmsgstr \"Puudub konfiguratsioon\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Kasutage NetworkManagerit (vajalik interneti graafiliseks konfigureerimiseks GNOME-s ja KDE-s).\"\n\n#, fuzzy\nmsgid \"Select a LVM option\"\nmsgstr \"Vali ajatsoon\"\n\n#, fuzzy\nmsgid \"Partitioning\"\nmsgstr \"Partitsioon\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"LVM volumes\"\nmsgstr \"Alamköite määramine\"\n\n#, fuzzy\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Krüpteeritavad partitsioonid\"\n\n#, fuzzy\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Valige, milliseid partitsioone krüpteerida\"\n\n#, fuzzy\nmsgid \"Default layout\"\nmsgstr \"Ketta paigutus\"\n\n#, fuzzy\nmsgid \"No Encryption\"\nmsgstr \"Krüpteerimise tüüp\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"jah\"\n\nmsgid \"No\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Archinstall help\"\nmsgstr \"Archinstalli keel\"\n\n#, fuzzy\nmsgid \" (default)\"\nmsgstr \"(vaikimisi)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valige valik, et anda Sway'le juurdepääs teie riistvarale\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"Paigalduspunkt: \"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Sisestage ketta krüpteerimise parool (krüpteerimise puudumisel jätke see tühjaks): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"Krüpteerimise parool\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"Partitsioon\"\n\n#, fuzzy\nmsgid \"Filesystem\"\nmsgstr \"Failisüsteemi muutmine\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Sisestage algussektor (vaikimisi: {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"Sisestage algussektor (vaikimisi: {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"Alamhulga nimi \"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"Ketta konfiguratsioon\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"Kohalik keel\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Kirjutage paigaldatavad lisapaketid (tühikutega eraldatuna, jätke tühjaks, kui soovite vahele jätta): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The username you entered is invalid\"\nmsgstr \"Teie sisestatud kasutajanimi ei sobi. Proovige uuesti\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"Kasutajanimi : \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Kas \\\"{}\\\" peaks olema superkasutaja (sudo)?\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"Lisa liides\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Sisestage oma võrguvärava (ruuteri) IP-aadress või jätke tühjaks, kui see puudub: \"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Sisestage oma DNS-serverid (tühikuga eraldatud, jätke tühjaks, kui neid ei ole): \"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"Puudub audio server\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"Konfigureeritud {} liidesed\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"Kernelid\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Sway ei toeta Nvidia enda draiverit. Tõenäoliselt tekib teil probleeme, kas teile sobib see?\"\n\n#, fuzzy\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Sway ei toeta Nvidia enda draiverit. Tõenäoliselt tekib teil probleeme, kas teile sobib see?\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"Muuda profiili\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"Muuda parool\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"Ei ole sobiv kataloog: {}\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"Kas soovite kasutada BTRFS-i tihendamist?\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"\"\n\"Sisestage salvestatava(te) konfiguratsiooni(de) kataloog (vahekaartide täitmine lubatud)\\n\"\n\"Salvesta kataloog: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"\"\n\"Kas soovite salvestada {} konfiguratsioonifaili(d) järgmisesse asukohta?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Esitage see probleem (ja fail) aadressil https://github.com/archlinux/archinstall/issues\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"Peegelregioon\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"Valige allkirja kontrollimise võimalus\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"Valige täitmisrežiim\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valige valik, et anda Sway'le juurdepääs teie riistvarale\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"Valikulised repositooriumid\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"Valige allkirja kontrollimise võimalus\"\n\n#, fuzzy, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Praegused vabad sektorid seadmes {}:\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Kogupikkus: {}\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Sisestage algussektor (vaikimisi: {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"Seade\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"Kasutajanimi : \"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Märgistada/mittemärgistada käivitatavak\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"Täiendavad paketid\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"Lisa kohandatud peegel\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"Muuda kohandatud peeglit\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"Kustuta kohandadtud peeglit\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"Peegelregioon\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"Lisa kohandatud peegel\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"Muuda kohandatud peeglit\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"Kustuta kohandadtud peeglit\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"Valige allkirja valik\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"Lisa kohandatud peegel\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"Lisa kohandatud peegel\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"Peegel regioonid\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"Valikulised repositooriumid\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"Peegel regioonid\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"Kohandatud peegel\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"Valikulised repositooriumid\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"Valige allkirja kontrollimise võimalus\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"Vali ajatsoon\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"Valige täitmisrežiim\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway vajab juurdepääsu teie seatile (riistvaraseadmete kogum, st klaviatuur, hiir jne.\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valige valik, et anda Sway'le juurdepääs teie riistvarale\"\n\n#, fuzzy\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway vajab juurdepääsu teie seatile (riistvaraseadmete kogum, st klaviatuur, hiir jne.\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valige valik, et anda Sway'le juurdepääs teie riistvarale\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Märgistada/mittemärgistada käivitatavak\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstalli keel\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"Failisüsteemi muutmine\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Kas soovite chrootida äsja loodud installatsiooni ja teostada installeerimisjärgset konfigureerimist?\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"Kas soovite kasutada BTRFS-i tihendamist?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Valige, millist režiimi soovite konfigureerida \\\"{}\\\" või jätke vahele, kasutada vaikimisi režiimi \\\"{}\\\"\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Krüpteerimise parool\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Juur parool\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"Krüpteerimise parool\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"\"\n\"Kas soovite salvestada {} konfiguratsioonifaili(d) järgmisesse asukohta?\\n\"\n\"\\n\"\n\"{}\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"Krüpteerimise parool\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Peegelregioon\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"Puuduvad HSM seadmed\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Parool\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Kas soovite kasutada BTRFS-i tihendamist?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Kas soovite kasutada BTRFS-i tihendamist?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Partitsiooni haldamine:{}\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Keskkonna tüüp: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Sisestage parool: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Valige HSM-i jaoks kasutatav FIDO2-seade\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Puudub võrgu konfiguratsioon\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Kas soovite kasutada BTRFS-i tihendamist?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Konfigureeritud {} liidesed\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Valige üks võrguliides konfigureerimiseks\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Puudub võrgu konfiguratsioon\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Sisestage parool: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Kohalik keel\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Paigaldatakse ainult sellised paketid nagu base, base-devel, linux, linux-firmware, efibootmgr ja valikulised profiilipaketid.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Valige kinnitus punkt :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/fi/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Aleksi Puhakainen <aleksi.puhakainen@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: fi\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 2.3\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Lokitiedosto luotiin tähän: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Lähetä tämä ongelma (ja tiedosto) osoitteeseen https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Haluatko todella poistua?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Ja vielä kerran vahvistukseksi: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Haluatko käyttää swap:ia zram:ssa?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Valitse hostname asennukselle: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Käyttäjänimi superkäyttäjälle, jolla on sudo-oikeudet: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Muut asennettavat käyttäjät (jätä tyhjäksi, jos ei muita käyttäjiä): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Pitäisikö tämän käyttäjän olla superkäyttäjä (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Valitse aikavyöhyke\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Haluatko käyttää GRUB:ia lataimena systemd-bootin sijaan?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Valitse käynnistyslatain\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Valitse audiopalvelin\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Vain paketit, kuten base, base-devel, linux, linux-firmware, efibootmgr ja valinnaiset profiili-paketit, asennetaan.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Jos haluat selaimen, kuten firefox tai chromium, voit valita sen seuraavassa kohdassa.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Kirjoita asennettavat lisäpaketit (välilyönnillä erotettuna, ohita vaihe jättämällä tyhjäksi): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Kopioi ISO verkkoasetukset asennukseen\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Käytä NetworkManager ohjelmaa (Internetin graafinen määritys GNOME ja KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Valitse yksi määritettävä verkkoliitäntä\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Valitse, mikä tila määritetään \\\"{}\\\", tai ohita ja käytä \\\"{}\\\" oletusta.\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Anna IP-osoite ja aliverkko {} (esim. 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Anna yhdyskäytävän (reitittimen) IP-osoite tai jätä tyhjäksi: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Anna DNS-osoitteet (välilyönti erottaa kaksi osoitetta toisistaan, tyhjä ei mitään): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Valitse, mitä tiedostojärjestelmä pääosiolle\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Tämänhetkinen osion asettelu\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Valitse mitä haluat tehdä\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Anna osiolle haluttu tiedostojärjestelmän tyyppi\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Anna aloituspaikka (yksiköt: s, GB, %, etc. ; oletus: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Anna lopetuspaikka (yksiköt: s, GB, %, etc. ; ex: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} sisältää jonossa olevat osiot, tämä poistaa ne, oletko varma?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Valitse indeksin perusteella, mitkä osiot haluat poistaa\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Valitse indeksin perusteella, mikä osio liitetään mihin\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Osioiden liitoskohdat ovat suhteessa asennuksen sisäpuolelle, käynnistys olisi esimerkiksi /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Valitse, mihin osio asennetaan (jätä tyhjäksi, jos haluat poistaa liitoskohdan): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Valitse, mikä osio merkitään alustusta varten\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Valitse, mikä osio merkitään salattavaksi\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Valitse, mikä osio merkitään käynnistyväksi\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Valitse, mikä osio merkitään tiedostojärjestelmää varten\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Anna osiolle haluttu tiedostojärjestelmän tyyppi: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall kieli\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Pyyhi kaikki valitut asemat ja käytä parasta mahdollista oletusosion asettelua\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Valitse, mitä tehdään kullekin yksittäiselle asemalle (ja osion käytölle)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Valitse, mitä haluat tehdä valituilla lohkoilla\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Tämä on lista valmiista profiileista, jotka saattavat helpottaa esimerkiksi työpöytäympäristön asentamista\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Valitse näppäimistön asettelu\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Valitse yksi alueista, joista paketit ladataan\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Valitse yksi tai useampi kiintolevy käytettäväksi ja määritettäväksi\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Saat parhaan yhteensopivuuden AMD:n kanssa käyttämällä joko avoimen lähdekoodin vaihtoehtoja tai AMD/ATI valmistajan vaihtoehtoja.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Saat parhaan yhteensopivuuden Intelin kanssa käyttämällä joko avoimen lähdekoodin vaihtoehtoja tai Intel valmistajan vaihtoehtoja.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Saat parhaan yhteensopivuuden Nvidian kanssa käyttämällä Nvidia valmistajan omaa ohjainta.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valitse näytönohjaimen ohjain tai jätä tyhjäksi niin kaikki asennetaan avoimen lähdekoodin ohjaimilla\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Kaikki avoimet lähdekoodit (oletus)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Valitse käytettävät kernelit tai jätä tyhjäksi oletuksena \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Valitse käytettävä kieli\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Valitse käytettävä kielialueen koodaus\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Valitse jokin alla olevista arvoista: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Valitse yksi tai useampi alla olevista: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Lisätään osiota....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Sinun on annettava kelvollinen fs-tyyppi jatkaaksesi. Katso kelvolliset fs-tyypit kohdasta \\\"man parted\\\".\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Virhe: Profiilien luettelointi URL \\\"{}\\\" johti:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Virhe: Tulosta \\\"{}\\\" ei voitu purkaa JSON-muodossa:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Näppäimistö\"\n\nmsgid \"Mirror region\"\nmsgstr \"Pakettivarasto\"\n\nmsgid \"Locale language\"\nmsgstr \"Kieli\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Kieli-koodaus\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Levyasemat\"\n\nmsgid \"Disk layout\"\nmsgstr \"Levyn asettelu\"\n\nmsgid \"Encryption password\"\nmsgstr \"Salauksen salasana\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Käynnistyksenlataaja\"\n\nmsgid \"Root password\"\nmsgstr \"Root salasana\"\n\nmsgid \"Superuser account\"\nmsgstr \"Superkäyttäjätili\"\n\nmsgid \"User account\"\nmsgstr \"Käyttäjätili\"\n\nmsgid \"Profile\"\nmsgstr \"Profiili\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernelit\"\n\nmsgid \"Additional packages\"\nmsgstr \"Lisäpaketit\"\n\nmsgid \"Network configuration\"\nmsgstr \"Verkkoasetukset\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Autom. kellonajan synkronointi (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Asenna ({} asetusta puuttuu)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Päätit ohittaa kiintolevyn valinnan ja käyttää\\n\"\n\"mitä tahansa asema-asetusta {} (kokeellinen)\\n\"\n\"VAROITUS: Archinstall ei voi tarkista asennuksen sopivuutta\\n\"\n\"Haluatko jatkaa?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Käytetään osiointi esimerkkiä: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Luo uusi osio\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Poista osio\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Tyhjennä/poista kaikki osiot\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Määritä osion liitoskohta\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Merkitse/poista osion alustaminen (pyyhkii tiedot)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Merkitse/poista osio salataan merkintä\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Merkitse/poista osion merkintä käynnistyväksi (automaattinen /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Aseta osiolle haluttu tiedostojärjestelmä\"\n\nmsgid \"Abort\"\nmsgstr \"Keskeytä\"\n\nmsgid \"Hostname\"\nmsgstr \"Hostname \\\"kone-nimi\\\"\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Ei määritetty, ei käytettävissä, ellei asennusta ole käsin määritetty\"\n\nmsgid \"Timezone\"\nmsgstr \"Aikavyöhyke\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Aseta/muokkaa alla olevia asetuksia\"\n\nmsgid \"Install\"\nmsgstr \"Asenna\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Ohita painamalla ESC\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Ehdota osion asettelua\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Anna salasana: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Anna salauksen salasana {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Anna levyn salauksen salasana (jätä tyhjäksi, jos et salaa): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Luo vaadittu superkäyttäjä, jolla on sudo-oikeudet: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Anna root-salasana (jätä tyhjäksi niin root poistetaan käytöstä): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Salasana käyttäjälle \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Varmistetaan, että lisäpaketit ovat olemassa (saattaa kestää muutaman sekunnin)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Haluatko käyttää automaattista ajan synkronointia oletus (NTP) aikapalvelinten kanssa?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP:n toiminta saattaa vaatia laitteistolle muita määrityksen jälkeisiä vaiheita.\\n\"\n\"Katso lisätietoja Arch-wiki\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Luo uusi käyttäjä antamalla käyttäjänimi (jätä tyhjäksi ja ohita): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Ohita painamalla ESC\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Valitse suoritettava toiminto luettelosta\"\n\nmsgid \"Cancel\"\nmsgstr \"Peruuta\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Vahvista ja poistu\"\n\nmsgid \"Add\"\nmsgstr \"Lisää\"\n\nmsgid \"Copy\"\nmsgstr \"Kopioi\"\n\nmsgid \"Edit\"\nmsgstr \"Muokkaa\"\n\nmsgid \"Delete\"\nmsgstr \"Poista\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Valitse toiminta \\\"{}\\\"\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Kopioi uuteen avaimeen:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Tuntematon verkkokortin tyyppi: {}. Mahdolliset arvot ovat {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Tämä on sinun valitsema kokoonpano:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman on jo käynnissä, odota enintään 10 minuuttia sen päättymistä.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Aiempi pacman-lukko ei ole poistunut. Lopeta kaikki olemassa olevat pacman-istunnot ennen archinstall ohjelman käyttöä.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Valitse, valinnaiset lisävarastot jotka otetaan käyttöön\"\n\nmsgid \"Add a user\"\nmsgstr \"Lisää käyttäjä\"\n\nmsgid \"Change password\"\nmsgstr \"Vaihda salasana\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Korota/alenna käyttäjä\"\n\nmsgid \"Delete User\"\nmsgstr \"Poista käyttäjä\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Määritä uusi käyttäjä\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Käyttäjänimi : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Pitäisikö {} olla superkäyttäjä (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Määritä käyttäjät, joilla on sudo-oikeudet: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Ei verkkoasetuksia\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Aseta haluamasi alitaltiot btrfs-osioon\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Valitse, mille osioille alitaltiot asetetaan\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Hallitse nykyisen osion btrfs-alitaltioita\"\n\nmsgid \"No configuration\"\nmsgstr \"Ei määritystä\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Tallenna käyttäjän määritykset\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Tallenna käyttäjän tunnistetiedot\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Tallenna levyasettelu\"\n\nmsgid \"Save all\"\nmsgstr \"Tallenna kaikki\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Valitse tallennettavat määritykset\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Anna hakemisto tallennettaville määrityksille: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Hakemisto ei ole kelvollinen: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Käyttämäsi salasana vaikuttaa heikolta,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"oletko varma että haluat käyttää sitä?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Valinnaiset arkistot\"\n\nmsgid \"Save configuration\"\nmsgstr \"Tallenna määritykset\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Puuttuvat määritykset:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Joko root-salasana tai vähintään yksi pääkäyttäjä on määritettävä\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Hallitse superkäyttäjätilejä: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Hallitse tavallisia käyttäjätilejä: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Alitaltio :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" liitetty {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" valinnalla {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Täytä halutut arvot uudelle alitaltiolle \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Alitaltion nimi \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Alitaltion liitoskohta\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Alitaltion valinnat\"\n\nmsgid \"Save\"\nmsgstr \"Tallenna\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Alitaltion nimi :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Valitse liitoskohta :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Valitse alitaltion asetukset \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Määritä käyttäjät, joilla on sudo-oikeudet, käyttäjänimen mukaan: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Lokitiedosto on luotu tähän: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Haluatko käyttää BTRFS-alitaltioita oletusrakenteena?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Haluatko käyttää BTRFS-pakkausta?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Haluatko luoda erillisen osion /home ?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Valituilla asemilla ei ole automaattiseen ehdotukseen vaadittavaa vähimmäistilaa\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Minimi tila /home osiolle: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Minimi tila Arch Linux osiolle: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Jatka\"\n\nmsgid \"yes\"\nmsgstr \"kyllä\"\n\nmsgid \"no\"\nmsgstr \"ei\"\n\nmsgid \"set: {}\"\nmsgstr \"aseta: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Manuaaliset asetukset on oltava lista muodossa\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Manuaalista määritystä varten iface on tekemättä\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Manuaalinen verkkokortin määritys ilman autom. DHCP:tä vaatii IP-osoitteen\"\n\nmsgid \"Add interface\"\nmsgstr \"Lisää liitäntä\"\n\nmsgid \"Edit interface\"\nmsgstr \"Muokkaa liitäntää\"\n\nmsgid \"Delete interface\"\nmsgstr \"Poista liitäntä\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Valitse lisättävä liitäntä\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Käsin määrittely\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Merkitse/poista osio pakatuksi (vain btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Käyttämäsi salasana vaikuttaa heikolta, haluatko käyttää sitä?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Tarjoaa valikoiman erilaisia työpöytiä ja ikkunointia esim. gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Valitse haluamasi työpöytä\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Hyvin kevyt asennus, jonka avulla voit mukauttaa Arch Linuxia haluamallasi tavalla.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Tarjoaa valikoiman erilaisia palvelinpaketteja ja saatavilla käyttöön esim. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Valitse mitkä palvelimet asennetaan. Jos ei yhtään, tehdään pienin mahdollinen asennus\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Asentaa minimaalisen järjestelmän sekä xorg ja ohjaimet näytönohjaimelle.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Paina ENTER ja jatka.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Haluatko chroot:in uuteen asennukseen ja suorittaa asennuksen jälkeiset asetukset?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Haluatko varmasti nollata tämän asetuksen?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Valitse yksi tai useampi kiintolevy määritettäväksi\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Kaikki muutokset olemassa olevaan asetukseen nollaavat levyasettelun!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Jos nollaat kiintolevyn valinnan, tämä nollaa myös nykyisen levyasettelun. Oletko varma?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Tallenna ja poistu\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"sisältää jonossa olevia osioita, tämä poistaa ne, oletko varma?\"\n\nmsgid \"No audio server\"\nmsgstr \"Ei audiopalvelinta\"\n\nmsgid \"(default)\"\nmsgstr \"(oletus)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Ohita painamalla ESC\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"CTRL+C nollaa nykyisen valinnan\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Kopioi…: \"\n\nmsgid \"Edit: \"\nmsgstr \"Muokkaa: \"\n\nmsgid \"Key: \"\nmsgstr \"Avain: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Muokkaa {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Lisää: \"\n\nmsgid \"Value: \"\nmsgstr \"Arvo: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Voit ohittaa aseman valinnan, sekä osioinnin ja käyttää mitä tahansa asemaa, joka on kytketty /mnt hakemistossa (kokeellinen)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Valitse jokin levyistä tai ohita ja käytä /mnt oletuksena\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Valitse alustettavat osiot:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Käytä HSM:ää avataksesi salatun aseman\"\n\nmsgid \"Device\"\nmsgstr \"Laite\"\n\nmsgid \"Size\"\nmsgstr \"Koko\"\n\nmsgid \"Free space\"\nmsgstr \"Vapaata tilaa\"\n\nmsgid \"Bus-type\"\nmsgstr \"Väylän tyyppi\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Joko root-salasana tai vähintään yksi käyttäjä, jolla on sudo-oikeudet, on määritettävä\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Anna käyttäjänimi (jätä tyhjäksi ja ohita): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Antamasi käyttäjänimi ei kelpaa. Yritä uudelleen\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Pitäisikö \\\"{}\\\" olla superkäyttäjä (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Valitse salattavat osiot\"\n\nmsgid \"very weak\"\nmsgstr \"hyvin heikko\"\n\nmsgid \"weak\"\nmsgstr \"heikko\"\n\nmsgid \"moderate\"\nmsgstr \"kohtalainen\"\n\nmsgid \"strong\"\nmsgstr \"vahva\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Lisää alitaltio\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Muokkaa alitaltiota\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Poista alitaltio\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Määritetty {} liittymää\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Tämä valinta mahdollistaa asennuksen aikana tapahtuvien rinnakkaisten latausten määrän\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Anna rinnakkaisten latausten määrä.\\n\"\n\" (anna arvo väliltä 1 - {})\\n\"\n\"Huomaa:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Suurin arvo   : {} ( sallii {} rinnakkaista latausta, sallii {} latausta kerralla )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Pienin arvo   : 1 ( sallii 1 rinnakkaisen latauksen, sallii {} 2 latausta kerralla )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Pois/oletus   : 0 ( ei salli rinnakkaisia latauksia, sallii vain 1 latauksen kerralla )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Virheellinen arvo! Yritä uudelleen kelvollisella arvolla [1 - {max_downloads}, tai 0 on poistettu]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Rinnakkaiset lataukset\"\n\nmsgid \"ESC to skip\"\nmsgstr \"Ohita painamalla ESC\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C nollaa\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB valitsee\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[oletusarvo: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Jotta voit käyttää tätä käännöstä, asenna käsin fontti, joka tukee tätä kieltä.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Fontti tulee tallentaa {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall vaatii toimiakseen root oikeudet. Katso --help ja saat lisätietoja.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Valitse suoritustila\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Profiilia ei voi hakea määritetystä URL-osoitteesta: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Profiilin nimi on oltava yksilöllinen, mutta määrityksistä löytyy päällekkäinen nimi: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Valitse yksi tai useampi laite määritettäväksi\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Jos nollaat laitevalinnan, tämä nollaa myös nykyisen levyasettelun. Oletko varma?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Olemassa olevat osiot\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Valitse osiointivaihtoehto\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Anna root hahemisto liitetylle laitteelle: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Minimi tila /home osiolle: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Minimi tila Arch Linux osiolle: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Lista esiohjelmoiduista profiles_bck paketeista, joka voivat helpottaa asioita, kuten työpöydän asentamista\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Nykyinen profiilivalinta\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Poista kaikki juuri lisätyt osiot\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Määritä liitoskohta\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Merkitse/poista osion alustaminen (pyyhkii tiedot)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Merkitse/poista käynnistyvä\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Vaihda tiedostojärjestelmä\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Merkitse/poista pakatuksi\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Aseta alitaltiot\"\n\nmsgid \"Delete partition\"\nmsgstr \"Poista osio\"\n\nmsgid \"Partition\"\nmsgstr \"Osio\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Tämä osio on tällä hetkellä salattu, joten sen alustamiseksi on määritettävä tiedostojärjestelmä\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Osioiden liitoskohdat ovat suhteessa asennuksen sisäpuolelle, käynnistys olisi esimerkiksi /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Jos liitoskohta /boot on asetettu, myös osio merkitään käynnistettäväksi.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Liitoskohta: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Laitteen nykyiset vapaat sektorit {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Sektoreita kaikkiaan: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Anna aloitussektori (oletus: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Anna osion loppusektori (prosenttina tai lohkonumerona, oletus:: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Tämä poistaa kaikki juuri lisätyt osiot, jatkaako?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Osioiden hallinta: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Kokonaispituus: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Salaustyyppi\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"Osiot\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Ei HSM-laitteita saatavilla\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Salattavat osiot\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Valitse levyn salausasetus\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Valitse HSM:ään käytettävä FIDO2-laite\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Käytä parasta mahdollista oletusosion asettelua\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Osiointi käsin\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Valmiiksi liitetty kokoonpano\"\n\nmsgid \"Unknown\"\nmsgstr \"Tuntematon\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Osion salaus\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Alustetaan {} \"\n\nmsgid \"← Back\"\nmsgstr \"← Takaisin\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Levyn salaus\"\n\nmsgid \"Configuration\"\nmsgstr \"Asetukset\"\n\nmsgid \"Password\"\nmsgstr \"Salasana\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Kaikki asetukset nollataan, oletko varma?\"\n\nmsgid \"Back\"\nmsgstr \"Takaisin\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Valitse asennettava käyttöliittymä valituille profiileille: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Ympäristötyyppi: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Sway ei tue patentoitua Nvidia-ohjainta. Todennäköistä, että kohtaat joitain ongelmia, kelpaako se silti sinulle?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Asennetut paketit\"\n\nmsgid \"Add profile\"\nmsgstr \"Lisää profiili\"\n\nmsgid \"Edit profile\"\nmsgstr \"Muokkaa profiilia\"\n\nmsgid \"Delete profile\"\nmsgstr \"Poista profiili\"\n\nmsgid \"Profile name: \"\nmsgstr \"Profiilinimi: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Antamasi profiilinimi on jo käytössä. Yritä uudelleen\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Tällä profiililla asennettavat paketit (välilyönnillä erotettuna, ohita jättämällä tyhjäksi): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Palvelut, jotka otetaan käyttöön tällä profiililla (välilyönnillä erotettuna, ohita jättämällä tyhjäksi): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Pitäisikö tämä profiili ottaa käyttöön asennusta varten?\"\n\nmsgid \"Create your own\"\nmsgstr \"Luo sinun oma\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Valitse näytönohjaimen ohjain tai jätä tyhjäksi niin kaikki asennetaan avoimen lähdekoodin ohjaimilla\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway tarvitsee pääsyn istuntoon (kokoelma laitteistoja, kuten näppäimistö, hiiri jne.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valitse asetus antaaksesi Swaylle pääsyn laitteistoosi\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Näytönohjaimen ohjain\"\n\nmsgid \"Greeter\"\nmsgstr \"Käyttöliittymä\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Valitse asennettava käyttöliittymä\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Tämä on lista esiohjelmoiduista default_profiles\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Kiintolevyn määritys\"\n\nmsgid \"Profiles\"\nmsgstr \"Profiilit\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Etsitään hakemistoja asetustiedostojen tallentamiseen ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Valitse hakemisto (tai hakemistot) asetustiedostojen tallentamiseen\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Lisää mukautettu peilipaikka\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Vaihda mukautettu peilipaikka\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Poista mukautettu peilipaikka\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Anna nimi (jätä tyhjäksi ja ohita): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Anna url (jätä tyhjäksi ja ohita): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Valitse allekirjoituksen tarkistusvaihtoehto\"\n\nmsgid \"Select signature option\"\nmsgstr \"Valitse allekirjoituksen asetus\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Mukautetut peilipaikat\"\n\nmsgid \"Defined\"\nmsgstr \"Määritelty\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Tallenna käyttäjän asetukset (myös levyasettelu)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Anna hakemisto tallennettaville määrityksille (välilehden viimeistely käytössä)\\n\"\n\"Tallennushakemisto: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Haluatko tallentaa {} asetustiedostoa seuraavaan paikkaan?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Tallennetaan {} määritystiedostoa {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Peilipaikat\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Peilipaikan maa\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Suurin arvo   : {} ( sallii {} rinnakkaista latausta, sallii {max_downloads+1} latausta kerralla )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Virheellinen arvo! Yritä uudelleen kelvollisella arvolla [1 - {}, tai 0 on poistettu]\"\n\nmsgid \"Locales\"\nmsgstr \"Alueet\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Käytä NetworkManager -ohjelmaa (Internetin määritys graafisesti GNOME ja KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Yhteensä: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Kaikki annetut arvot voidaan liittää käyttäen yksikköjä: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Jos yksikköä ei ole annettu, arvo tulkitaan sektoreiksi\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Anna alku (oletus: sektori {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Anna loppu (oletus:  {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Fido2-laitteita ei voida määrittää. Onko libfido2 asennettu?\"\n\nmsgid \"Path\"\nmsgstr \"Polku\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Valmistaja\"\n\nmsgid \"Product\"\nmsgstr \"Tuote\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Virheellinen määritys: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Tyyppi\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Tämä valinta mahdollistaa asennuksen aikana tapahtuvien rinnakkaisten latausten määrän\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Anna rinnakkaisten latausten määrä.\\n\"\n\"\\n\"\n\"Huomaa:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Suurin suositeltu arvo   : {} ( sallii {} rinnakkaista latausta kerralla )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Pois/oletus   : 0 ( ei salli rinnakkaisia latauksia, sallii vain 1 latauksen kerralla )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Virheellinen arvo! Yritä uudelleen kelvollisella arvolla [tai 0 on poistettu]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland tarvitsee pääsyn istuntoon (kokoelma laitteistoja, kuten näppäimistö, hiiri jne.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valitse asetus antaaksesi Hyprlandille pääsyn laitteistoosi\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Kaikki annetut arvot voidaan liittää käyttäen yksikköjä: B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Haluatko käyttää Unified Kernel Images, joka voidaan käynnistää suoraan UEFI-ohjelmistosta?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"UKI Unified Kernel Images\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Odotetaan ajan synkronoinnin (timedatectl show) päättymistä.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Ajan synkronointi ei ole valmis, kun odotat voit tarkistaa kiertotapoja: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Autom. ajan synkronoinnin odottaminen ohitetaan (voi aiheuttaa ongelmia, jos aikaa ei ole synkronoitu asennuksen aikana)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Odotetaan Arch Linux avainten synkronoinnin valmistumista (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Valitut profiilit: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Ajan synkronointi ei ole valmis, kun odotat voit tarkistaa kiertotapoja: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Merkitse/poista nodatacow merkintä\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Haluatko käyttää pakkausta vai poistaa CoW:n käytöstä?\"\n\nmsgid \"Use compression\"\nmsgstr \"Käytä pakkausta\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Poista kopiointi kirjoittamisen yhteydessä\"\n\n#, fuzzy\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Tarjoaa valikoiman erilaisia työpöytiä ja ikkunointia esim. gnome, kde, sway\"\n\n#, fuzzy, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Asetukset\"\n\n#, fuzzy\nmsgid \"LVM configuration type\"\nmsgstr \"Ei määritystä\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Käytä NetworkManager -ohjelmaa (Internetin määritys graafisesti GNOME ja KDE)\"\n\n#, fuzzy\nmsgid \"Select a LVM option\"\nmsgstr \"Valitse aikavyöhyke\"\n\n#, fuzzy\nmsgid \"Partitioning\"\nmsgstr \"Osio\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"LVM volumes\"\nmsgstr \"Aseta alitaltiot\"\n\n#, fuzzy\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Salattavat osiot\"\n\n#, fuzzy\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Valitse salattavat osiot\"\n\n#, fuzzy\nmsgid \"Default layout\"\nmsgstr \"Levyn asettelu\"\n\n#, fuzzy\nmsgid \"No Encryption\"\nmsgstr \"Salaustyyppi\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"kyllä\"\n\nmsgid \"No\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall kieli\"\n\n#, fuzzy\nmsgid \" (default)\"\nmsgstr \"(oletus)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valitse asetus antaaksesi Swaylle pääsyn laitteistoosi\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"Liitoskohta: \"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Anna levyn salauksen salasana (jätä tyhjäksi, jos et salaa): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"Salauksen salasana\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"Osio\"\n\n#, fuzzy\nmsgid \"Filesystem\"\nmsgstr \"Vaihda tiedostojärjestelmä\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Anna alku (oletus: sektori {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"Anna loppu (oletus:  {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"Alitaltion nimi \"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"Kiintolevyn määritys\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"Kieli\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Kirjoita asennettavat lisäpaketit (välilyönnillä erotettuna, ohita vaihe jättämällä tyhjäksi): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The username you entered is invalid\"\nmsgstr \"Antamasi käyttäjänimi ei kelpaa. Yritä uudelleen\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"Käyttäjänimi : \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Pitäisikö \\\"{}\\\" olla superkäyttäjä (sudo)?\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"Lisää liitäntä\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Sinun on annettava kelvollinen IP-osoite IP-määritystilassa\"\n\nmsgid \"Modes\"\nmsgstr \"Tilat\"\n\nmsgid \"IP address\"\nmsgstr \"IP osoite\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Anna yhdyskäytävän (reitittimen) IP-osoite tai jätä tyhjäksi: \"\n\nmsgid \"Gateway address\"\nmsgstr \"Yhdyskäytävän osoite\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Anna DNS-osoitteet (välilyönti erottaa kaksi osoitetta toisistaan, tyhjä ei mitään): \"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"Ei audiopalvelinta\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"Määritetty {} liittymää\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"Kernelit\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFIa ei tunnisteta ja jotkin asetukset on poistettu käytöstä\"\n\nmsgid \"Info\"\nmsgstr \"Informaatio\"\n\n#, fuzzy\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Sway ei tue patentoitua Nvidia-ohjainta. Todennäköistä, että kohtaat joitain ongelmia, kelpaako se silti sinulle?\"\n\n#, fuzzy\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Sway ei tue patentoitua Nvidia-ohjainta. Todennäköistä, että kohtaat joitain ongelmia, kelpaako se silti sinulle?\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"Muokkaa profiilia\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"Vaihda salasana\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"Hakemisto ei ole kelvollinen: {}\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"Haluatko käyttää BTRFS-pakkausta?\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"\"\n\"Anna hakemisto tallennettaville määrityksille (välilehden viimeistely käytössä)\\n\"\n\"Tallennushakemisto: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"\"\n\"Haluatko tallentaa {} asetustiedostoa seuraavaan paikkaan?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Enabled\"\nmsgstr \"Käytössä\"\n\nmsgid \"Disabled\"\nmsgstr \"Pois Käytostä\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Lähetä tämä ongelma (ja tiedosto) osoitteeseen https://github.com/archlinux/archinstall/issues\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"Pakettivarasto\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"Valitse allekirjoituksen tarkistusvaihtoehto\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"Valitse suoritustila\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valitse asetus antaaksesi Hyprlandille pääsyn laitteistoosi\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"Valinnaiset arkistot\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"Nimi\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"Valitse allekirjoituksen tarkistusvaihtoehto\"\n\n#, fuzzy, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Laitteen nykyiset vapaat sektorit {}:\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Yhteensä: {} / {}\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Anna loppu (oletus:  {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"Laite\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"Käyttäjänimi : \"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Merkitse/poista käynnistyvä\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"Lisäpaketit\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"Lisää mukautettu peilipaikka\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"Vaihda mukautettu peilipaikka\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"Poista mukautettu peilipaikka\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"Pakettivarasto\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"Lisää mukautettu peilipaikka\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"Vaihda mukautettu peilipaikka\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"Poista mukautettu peilipaikka\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"Valitse allekirjoituksen asetus\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"Lisää mukautettu peilipaikka\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"Lisää mukautettu peilipaikka\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"Peilipaikan maa\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"Valinnaiset arkistot\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"Peilipaikan maa\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"Mukautetut peilipaikat\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"Valinnaiset arkistot\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"Näytä apua\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"Liikku ylös\"\n\nmsgid \"Move down\"\nmsgstr \"Liikku alas\"\n\nmsgid \"Move right\"\nmsgstr \"Liiku oikealle\"\n\nmsgid \"Move left\"\nmsgstr \"Liiku vasemmalle\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"Valitse allekirjoituksen tarkistusvaihtoehto\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"Valitse aikavyöhyke\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"Valitse suoritustila\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway tarvitsee pääsyn istuntoon (kokoelma laitteistoja, kuten näppäimistö, hiiri jne.)\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valitse asetus antaaksesi Swaylle pääsyn laitteistoosi\"\n\n#, fuzzy\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway tarvitsee pääsyn istuntoon (kokoelma laitteistoja, kuten näppäimistö, hiiri jne.)\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Valitse asetus antaaksesi Swaylle pääsyn laitteistoosi\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Merkitse/poista käynnistyvä\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstall kieli\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"Vaihda tiedostojärjestelmä\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Haluatko chroot:in uuteen asennukseen ja suorittaa asennuksen jälkeiset asetukset?\"\n\nmsgid \"Installation completed\"\nmsgstr \"Lataus valmis\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"Haluatko käyttää BTRFS-pakkausta?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Valitse, mikä tila määritetään \\\"{}\\\", tai ohita ja käytä \\\"{}\\\" oletusta.\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Salauksen salasana\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Root salasana\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"Salauksen salasana\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"\"\n\"Haluatko tallentaa {} asetustiedostoa seuraavaan paikkaan?\\n\"\n\"\\n\"\n\"{}\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"Salauksen salasana\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Pakettivarasto\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"Ei HSM-laitteita saatavilla\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Salasana\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Haluatko käyttää BTRFS-pakkausta?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Haluatko käyttää BTRFS-pakkausta?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Osioiden hallinta: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"Todennus\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Salasanaton sudo\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Ympäristötyyppi: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Anna salasana: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Valitse HSM:ään käytettävä FIDO2-laite\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Ei verkkoasetuksia\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Haluatko käyttää BTRFS-pakkausta?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Määritetty {} liittymää\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Valitse yksi määritettävä verkkoliitäntä\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Ei verkkoasetuksia\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Anna salasana: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Kieli\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Vain paketit, kuten base, base-devel, linux, linux-firmware, efibootmgr ja valinnaiset profiili-paketit, asennetaan.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Valitse liitoskohta :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/fr/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: 2025-04-11 23:02+0200\\n\"\n\"Last-Translator: Roxfr <roxfr@outlook.fr>\\n\"\n\"Language-Team: \\n\"\n\"Language: fr\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.6\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Un fichier journal a été créé ici : {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Veuillez soumettre ce problème (et le fichier) à https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Voulez-vous vraiment abandonner ?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Et encore une fois pour vérification : \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Souhaitez-vous utiliser le swap sur zram ?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Nom d'hôte souhaité pour l'installation : \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Nom d'utilisateur pour le superutilisateur requis avec les privilèges sudo : \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Utilisateur supplémentaire à installer (laisser vide pour aucun utilisateur) : \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Cet utilisateur doit-il être un superutilisateur (sudoer) ?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Sélectionner un fuseau horaire\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Souhaitez-vous utiliser GRUB comme chargeur de démarrage au lieu de systemd-boot ?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Choisir un chargeur de démarrage\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Choisir un serveur audio\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Seuls les paquets tels que base, base-devel, linux, linux-firmware, efibootmgr et les paquets de profil optionnels sont installés.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Si vous désirez un navigateur Web, tel que firefox ou chrome, vous pouvez le spécifier dans l'invite suivante.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Saisir les paquets supplémentaires à installer (séparés par des espaces, vide pour ignorer) : \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Copier la configuration réseau ISO dans l'installation\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Utiliser NetworkManager (nécessaire pour configurer graphiquement Internet dans GNOME et KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Sélectionner une interface réseau à configurer\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Sélectionner le mode à configurer pour \\\"{}\\\" ou ignorer pour utiliser le mode par défaut \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Entrer l'IP et le sous-réseau pour {} (exemple : 192.168.0.5/24) : \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Entrer l'adresse IP de votre passerelle (routeur) ou laisser vide pour aucune : \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Entrer vos serveurs DNS (séparés par des espaces, vide pour aucun) : \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Sélectionner le système de fichiers que votre partition principale doit utiliser\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Disposition actuelle des partitions\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Sélectionner quoi faire avec\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Entrer un type de système de fichiers souhaité pour la partition\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Entrer l'emplacement de départ (en unités séparées : s, Go, %, etc. ; par défaut : {}) : \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Entrer l'emplacement de fin (en unités séparées : s, Go, %, etc. ; ex : {}) : \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} contient des partitions en file d'attente, cela les supprimera, êtes-vous sûr ?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Sélectionner par index les partitions à supprimer\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Sélectionner par index où et quelle partition montée\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Les points de montage de la partition sont relatifs à l'intérieur de l'installation, le démarrage serait /boot par exemple.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Sélectionner où monter la partition (laisser vide pour supprimer le point de montage) : \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Sélectionner la partition à masquer pour le formatage\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Sélectionner la partition à marquer comme encrypté\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Sélectionner la partition à marquer comme amorçable\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Sélectionner la partition sur laquelle définir un système de fichiers\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Entrer un type de système de fichiers souhaité pour la partition : \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Langue d'Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Effacer tous les lecteurs sélectionnés et utiliser une disposition de partition par défaut optimale\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Sélectionner ce qu'il faut faire avec chaque lecteur individuel (suivi de l'utilisation de la partition)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Sélectionner ce que vous souhaitez faire avec les périphériques de bloc sélectionnés\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Ceci est une liste préprogrammée de profiles, ils pourraient faciliter l'installation d'outils comme les environnements de bureau\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Sélectionner la disposition du clavier\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Sélectionner l'une des régions depuis lesquelles télécharger les paquets\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Sélectionner un ou plusieurs disques durs à utiliser et à configurer\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Pour une meilleure compatibilité avec votre matériel AMD, vous pouvez utiliser les options entièrement open source ou AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Pour une compatibilité optimale avec votre matériel Intel, vous pouvez utiliser les options entièrement open source ou Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Pour une meilleure compatibilité avec votre matériel Nvidia, vous pouvez utiliser le pilote propriétaire Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Sélectionner un pilote graphique ou laisser vide pour installer tous les pilotes open-source\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Tout open-source (par défaut)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Choisir les noyaux à utiliser ou laisser vide pour \\\"{}\\\" par défaut\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Choisir la langue locale à utiliser\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Choisir quel encodage de paramètres régionaux utiliser\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Sélectionner l'une des valeurs ci-dessous : \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Sélectionner une ou plusieurs des options ci-dessous : \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Ajout de la partition....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Vous devez entrer un type de fs valide pour continuer. Voir `man parted` pour les types de fs valides.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Erreur : la liste des profils sur l'URL \\\"{}\\\" a entraîné :\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Erreur : Impossible de décoder le résultat \\\"{}\\\" en tant que JSON :\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Disposition du clavier\"\n\nmsgid \"Mirror region\"\nmsgstr \"Région miroir\"\n\nmsgid \"Locale language\"\nmsgstr \"Langue locale\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Encodage des paramètres régionaux\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Disques\"\n\nmsgid \"Disk layout\"\nmsgstr \"Disposition du disque\"\n\nmsgid \"Encryption password\"\nmsgstr \"Mot de passe de chiffrement\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Chargeur de démarrage\"\n\nmsgid \"Root password\"\nmsgstr \"Mot de passe root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Compte superutilisateur\"\n\nmsgid \"User account\"\nmsgstr \"Compte utilisateur\"\n\nmsgid \"Profile\"\nmsgstr \"Profil\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Noyaux\"\n\nmsgid \"Additional packages\"\nmsgstr \"Paquets supplémentaires\"\n\nmsgid \"Network configuration\"\nmsgstr \"Configurer le réseau\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Synchronisation automatique de l'heure (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Installer ({} configuration(s) manquante(s))\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Vous avez décidé d'ignorer la sélection du disque dur\\n\"\n\"et vous utiliserez la configuration de disque montée sur {} (expérimental)\\n\"\n\"ATTENTION : Archinstall ne vérifiera pas l'adéquation de cette configuration\\n\"\n\"Souhaitez-vous continuer ?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Réutilisation de l'instance de partition : {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Créer une nouvelle partition\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Supprimer une partition\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Effacer/Supprimer toutes les partitions\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Attribuer un point de montage pour une partition\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Marquer/Démarquer une partition à formater (efface les données)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Marquer/Démarquer une partition comme encrypté\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Marquer/Démarquer une partition comme amorçable (automatique pour /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Définir le système de fichiers souhaité pour une partition\"\n\nmsgid \"Abort\"\nmsgstr \"Abandonner\"\n\nmsgid \"Hostname\"\nmsgstr \"Nom d'hôte\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Non configuré, indisponible sauf configuration manuelle\"\n\nmsgid \"Timezone\"\nmsgstr \"Fuseau horaire\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Définir/Modifier les options ci-dessous\"\n\nmsgid \"Install\"\nmsgstr \"Installer\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Utiliser ESC pour ignorer\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Suggérer la disposition des partitions\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Entrer un mot de passe : \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Entrer un mot de passe de chiffrement pour {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Entrer le mot de passe de chiffrement du disque (laisser vide pour aucun chiffrement) : \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Créer un super-utilisateur requis avec les privilèges sudo : \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Entrer le mot de passe root (laisser vide pour désactiver root) : \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Mot de passe pour l'utilisateur \\\"{}\\\" : \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Vérifier que des paquets supplémentaires existent (cela peut prendre quelques secondes)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Souhaitez-vous utiliser la synchronisation automatique de l'heure (NTP) avec les serveurs de temps par défaut ?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Le temps matériel et d'autres étapes de post-configuration peuvent être nécessaires pour que NTP fonctionne.\\n\"\n\"Pour plus d'informations, veuillez consulter le wiki Arch\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Entrer un nom d'utilisateur pour créer un utilisateur supplémentaire (laisser vide pour ignorer) : \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Utiliser ESC pour ignorer\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Choisir un objet dans la liste et sélectionner l'une des actions disponibles pour qu'il s'exécute\"\n\nmsgid \"Cancel\"\nmsgstr \"Annuler\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Confirmer et quitter\"\n\nmsgid \"Add\"\nmsgstr \"Ajouter\"\n\nmsgid \"Copy\"\nmsgstr \"Copier\"\n\nmsgid \"Edit\"\nmsgstr \"Modifier\"\n\nmsgid \"Delete\"\nmsgstr \"Supprimer\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Sélectionner une action pour '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Copier vers une nouvelle clé :\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Type de carte réseau inconnu : {}. Les valeurs possibles sont {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Voici la configuration choisie :\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman est déjà en cours d'exécution, attendez au maximum 10 minutes pour qu'il se termine.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Le verrou pacman préexistant n'a jamais été fermé. Veuillez nettoyer toutes les sessions pacman existantes avant d'utiliser archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Choisir les dépôts supplémentaires en option à activer\"\n\nmsgid \"Add a user\"\nmsgstr \"Ajouter un utilisateur\"\n\nmsgid \"Change password\"\nmsgstr \"Changer le mot de passe\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Promouvoir/Rétrograder l'utilisateur\"\n\nmsgid \"Delete User\"\nmsgstr \"Supprimer l'utilisateur\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Définir un nouveau utilisateur\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Nom d'utilisateur : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Cet utilisateur {} doit-il être un superutilisateur (sudoer) ?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Définir les utilisateurs avec le privilège sudo : \"\n\nmsgid \"No network configuration\"\nmsgstr \"Aucune configuration réseau\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Définir les sous-volumes souhaités sur une partition btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Sélectionner la partition sur laquelle définir les sous-volumes\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Gérer les sous-volumes btrfs pour la partition actuelle\"\n\nmsgid \"No configuration\"\nmsgstr \"Aucune configuration\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Enregistrer la configuration utilisateur\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Enregistrer les informations d'identification de l'utilisateur\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Enregistrer la disposition du disque\"\n\nmsgid \"Save all\"\nmsgstr \"Tout enregistrer\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Choisir la configuration à enregistrer\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Saisir un répertoire pour la ou les configuration(s) à enregistrer : \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Répertoire non valide : {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Le mot de passe que vous utilisez semble faible,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"êtes-vous sûr de vouloir l'utiliser ?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Dépôts supplémentaires\"\n\nmsgid \"Save configuration\"\nmsgstr \"Enregistrer la configuration\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Configurations manquantes :\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Le mot de passe root ou au moins 1 superutilisateur doit être spécifié\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Gérer les comptes de superutilisateur : \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Gérer les comptes d'utilisateurs ordinaires : \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Sous-volume : {:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" monté à {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" avec option {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Remplir les valeurs souhaitées pour un nouveau sous-volume \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Nom du sous-volume \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Point de montage du sous-volume\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Options de sous-volume\"\n\nmsgid \"Save\"\nmsgstr \"Sauvegarder\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Nom du sous-volume :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Sélectionner un point de montage :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Sélectionner les options de sous-volume souhaitées \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Définir les utilisateurs avec le privilège sudo, par nom d'utilisateur : \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Un fichier journal a été créé ici : {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Souhaitez-vous utiliser des sous-volumes BTRFS avec une structure par défaut ?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Souhaitez-vous utiliser la compression BTRFS ?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Souhaitez-vous créer une partition séparée pour /home ?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Les disques sélectionnés n'ont pas la capacité minimale requise pour une suggestion automatique\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Capacité minimale pour la partition /home : {} Go\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Capacité minimale pour la partition Arch Linux : {} Go\"\n\nmsgid \"Continue\"\nmsgstr \"Poursuivre\"\n\nmsgid \"yes\"\nmsgstr \"oui\"\n\nmsgid \"no\"\nmsgstr \"non\"\n\nmsgid \"set: {}\"\nmsgstr \"définir : {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Le paramètre de configuration manuelle doit être une liste\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Aucun iface spécifié pour la configuration manuelle\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"La configuration manuelle de la carte réseau sans DHCP automatique nécessite une adresse IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Ajouter une interface\"\n\nmsgid \"Edit interface\"\nmsgstr \"Modifier l'interface\"\n\nmsgid \"Delete interface\"\nmsgstr \"Supprimer l'interface\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Sélectionner l'interface à ajouter\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Configuration manuelle\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Marquer/Démarquer une partition comme compressée (btrfs uniquement)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Le mot de passe que vous utilisez semble faible, êtes-vous sûr de vouloir l'utiliser ?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Fournit une sélection d'environnements de bureau et de gestionnaires de fenêtres en mosaïque, par ex. gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Sélectionner l'environnement de bureau souhaité\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Une installation très basique qui vous permet de personnaliser Arch Linux comme bon vous semble.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Fournit une sélection de divers paquets de serveur à installer et à activer, par ex. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Choisir les serveurs à installer, s'il n'y en a pas, alors une installation minimale sera effectuée\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Installe un système minimal ainsi que les pilotes graphiques et xorg.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Appuyer sur Entrée pour continuer.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Souhaitez-vous chrooter dans l'installation nouvellement créée et effectuer la configuration post-installation ?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Voulez-vous vraiment réinitialiser ce paramètre ?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Sélectionner un ou plusieurs disques durs à utiliser et à configurer\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Toute modification du paramètre existant réinitialisera la disposition du disque !\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Si vous réinitialisez la sélection du disque dur, cela réinitialisera également la disposition actuelle du disque. Êtes-vous sûr ?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Sauvegarder et quitter\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"contient des partitions en file d'attente, cela les supprimera, êtes-vous sûr ?\"\n\nmsgid \"No audio server\"\nmsgstr \"Pas de serveur audio\"\n\nmsgid \"(default)\"\nmsgstr \"(par défaut)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Utiliser ESC pour ignorer\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Utiliser CTRL+C pour réinitialiser la sélection actuelle\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Copier vers : \"\n\nmsgid \"Edit: \"\nmsgstr \"Modifier : \"\n\nmsgid \"Key: \"\nmsgstr \"Clé : \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Modifier {} : \"\n\nmsgid \"Add: \"\nmsgstr \"Ajouter : \"\n\nmsgid \"Value: \"\nmsgstr \"Valeur : \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Vous pouvez ignorer la sélection d'un lecteur et le partitionnement et utiliser n'importe quelle configuration de lecteur montée sur /mnt (expérimental)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Sélectionner l'un des disques ou ignorer et utiliser /mnt par défaut\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Sélectionner la partition à masquer pour le formatage:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Utiliser HSM pour déverrouiller le lecteur chiffré\"\n\nmsgid \"Device\"\nmsgstr \"Dispositif\"\n\nmsgid \"Size\"\nmsgstr \"Taille\"\n\nmsgid \"Free space\"\nmsgstr \"Espace libre\"\n\nmsgid \"Bus-type\"\nmsgstr \"Type de bus\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Le mot de passe root ou au moins 1 utilisateur avec des privilèges sudo doit être spécifié\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Entrer le nom d'utilisateur (laisser vide pour ignorer) : \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Le nom d'utilisateur que vous avez saisi n'est pas valide. Réessayer\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\\\"{}\\\" devrait-il être un superutilisateur (sudo) ?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Sélectionner les partitions à encrypter\"\n\nmsgid \"very weak\"\nmsgstr \"très faible\"\n\nmsgid \"weak\"\nmsgstr \"faible\"\n\nmsgid \"moderate\"\nmsgstr \"modéré\"\n\nmsgid \"strong\"\nmsgstr \"fort\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Ajouter un sous-volume\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Modifier le sous-volume\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Supprimer le sous-volume\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Interfaces {} configurées\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Cette option active le nombre de téléchargements parallèles qui peuvent se produire pendant l'installation\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Saisir le nombre de téléchargements parallèles à activer.\\n\"\n\"  (Entrer une valeur comprise entre 1 et {})\\n\"\n\"Note :\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Valeur maximale : {} (Autorise {} téléchargements parallèles, autorise {} téléchargements à la fois)\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Valeur minimale : 1 (Autorise 1 téléchargement parallèle, autorise 2 téléchargements à la fois)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Désactiver/Défaut : 0 (Désactive le téléchargement parallèle, n'autorise qu'un seul téléchargement à la fois)\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Entrée invalide ! Réessayer avec une entrée valide [1 pour {max_downloads}, ou 0 pour désactiver]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Téléchargements parallèles\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC pour ignorer\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C pour réinitialiser\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB pour sélectionner\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Valeur par défaut : 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Pour pouvoir utiliser cette traduction, veuillez installer manuellement une police prenant en charge la langue.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"La police d'écriture doit être stockée sous {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall nécessite des privilèges root pour s'exécuter. Voir --help pour plus d'informations.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Sélectionner un mode d'exécution\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Impossible de récupérer le profil à partir de l'URL spécifiée : {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Les profils doivent avoir un nom unique, mais des définitions de profil avec un nom en double ont été trouvées : {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Sélectionner un ou plusieurs périphériques à utiliser et à configurer\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Si vous réinitialisez la sélection de périphérique, cela réinitialisera également la disposition actuelle du disque. Etes-vous sûr ?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Partitions existantes\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Sélectionner une option de partitionnement\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Entrer le répertoire racine des périphériques montés : \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Capacité minimale pour la partition /home : {} Gio\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Capacité minimale pour la partition Arch Linux : {} Gio\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Ceci est une liste préprogrammée de profiles_bck, ils pourraient faciliter l'installation de choses comme les environnements de bureau\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Sélection du profil actuel\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Supprimer toutes les partitions nouvellement ajoutées\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Attribuer un point de montage\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Marquer/Démarquer à formater (efface les données)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Marquer/Démarquer comme amorçable\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Changer le système de fichiers\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Marquer/Démarquer comme compressé\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Définir des sous-volumes\"\n\nmsgid \"Delete partition\"\nmsgstr \"Supprimer la partition\"\n\nmsgid \"Partition\"\nmsgstr \"Partition\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Cette partition est actuellement encrypté, pour la formater, un système de fichiers doit être spécifié\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Les points de montage de partition sont relatifs à l'intérieur de l'installation, le démarrage serait /boot par exemple.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Si le point de montage /boot est défini, la partition sera également marquée comme amorçable.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Point de montage : \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Secteurs actuellement libres sur le périphérique {} :\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Total des secteurs : {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Saisir le secteur de début (par défaut : {}) : \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Saisir le secteur de fin de la partition (pourcentage ou numéro de bloc, par défaut : {}) : \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Cela supprimera toutes les partitions nouvellement ajoutées, voulez-vous continuer ?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Gestion des partitions : {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Taille total : {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Type de chiffrement\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Des valeurs plus grandes peuvent agrandir la sécurité, mais peuvent ralentir le temps de démarrage\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Par défaut: 10000ms, range recommandé: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Le temps d'itération ne peut pas être vide\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Le temps d'itération doit être d'au moins 100 ms\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Le temps d'itération doit être au maximum 120000 ms\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"S'il vous plaît entrez un nombre valide\"\n\nmsgid \"Partitions\"\nmsgstr \"Partitions\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Aucun périphérique HSM disponible\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Partitions à encrypter\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Sélectionner l'option de chiffrement du disque\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Sélectionner un périphérique FIDO2 à utiliser pour HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Utiliser une disposition de partition optimale par défaut\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Partitionnement manuel\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Configuration pré-montée\"\n\nmsgid \"Unknown\"\nmsgstr \"Inconnu\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Chiffrement des partitions\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formatage {} dans \"\n\nmsgid \"← Back\"\nmsgstr \"← Retour\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Chiffrement du disque\"\n\nmsgid \"Configuration\"\nmsgstr \"Configuration\"\n\nmsgid \"Password\"\nmsgstr \"Mot de passe\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Tous les paramètres seront réinitialisés, êtes-vous sûr ?\"\n\nmsgid \"Back\"\nmsgstr \"Retour\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Veuillez choisir le greeter (interface de connexion) à installer pour les profils choisis : {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Type d'environnement : {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Le pilote Nvidia propriétaire n'est pas pris en charge par Sway. Il est probable que vous rencontriez des problèmes, êtes-vous d'accord avec cela ?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Paquets installés\"\n\nmsgid \"Add profile\"\nmsgstr \"Ajouter un profil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Modifier le profil\"\n\nmsgid \"Delete profile\"\nmsgstr \"Supprimer le profil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Nom de profil : \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Le nom de profil que vous avez saisi est déjà utilisé. Essayer à nouveau\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Saisir les paquets à installer avec ce profil (séparés par des espaces, vide pour ignorer) : \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Saisir les services à activer avec ce profil (séparés par des espaces, vide pour ignorer) : \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Ce profil doit-il être activé pour l'installation ?\"\n\nmsgid \"Create your own\"\nmsgstr \"Créer le votre\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Sélectionner un pilote graphique ou laisser vide pour installer tous les pilotes open source\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway a besoin d'accéder à votre espace (ensemble de périphériques matériels : clavier, souris, etc.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Choisir une option pour permettre à Sway d'accéder à votre matériel\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Pilote graphique\"\n\nmsgid \"Greeter\"\nmsgstr \"Greeter (interface de connexion)\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Veuillez choisir le greeter (interface de connexion) à installer\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Il s'agit d'une liste préprogrammée de default_profiles par défaut\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Configuration du disque\"\n\nmsgid \"Profiles\"\nmsgstr \"Profils\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Recherche des répertoires possibles pour enregistrer les fichiers de configuration...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Sélectionner le répertoire (ou les répertoires) pour enregistrer les fichiers de configuration\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Ajouter un miroir personnalisé\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Changer le miroir personnalisé\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Supprimer le miroir personnalisé\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Entrer le nom (laisser vide pour ignorer) : \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Entrer l'URL (laisser vide pour ignorer) : \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Sélectionner l'option de vérification de signature\"\n\nmsgid \"Select signature option\"\nmsgstr \"Sélectionner l'option de signature\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Miroirs personnalisés\"\n\nmsgid \"Defined\"\nmsgstr \"Défini\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Enregistrer la configuration utilisateur (y compris la disposition du disque)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Saisir un répertoire pour la/les configuration(s) à enregistrer (complétion par tabulation activée)\\n\"\n\"Entrer le nom du répertoire de sauvegarde : \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Voulez-vous enregistrer {} fichier(s) de configuration à l'emplacement suivant ?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Enregistrement de {} fichiers de configuration dans {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Miroirs\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Régions miroir\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Valeur maximale : {} (Autorise {} téléchargements parallèles, autorise {max_downloads+1} téléchargements à la fois)\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Entrée invalide ! Réessayer avec une entrée valide [1 pour {}, ou 0 pour désactiver]\"\n\nmsgid \"Locales\"\nmsgstr \"Paramètres régionaux\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Utiliser NetworkManager (nécessaire pour configurer graphiquement internet dans GNOME et KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Total (taille) : {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Toutes les valeurs saisies peuvent être saccompagnées par une unité : B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Si aucune unité n'est fournie, la valeur est interprétée comme des secteurs\\\"\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Saisir le secteur de début (par défaut : secteur {}) : \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Saisir le secteur de fin (par défaut : secteur {}) : \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Impossible de déterminer les appareils fido2.  Est-ce que libfido2 est installé ?\"\n\nmsgid \"Path\"\nmsgstr \"Chemin\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Fabricant\"\n\nmsgid \"Product\"\nmsgstr \"Produit\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Configuration invalide : {error}\"\n\nmsgid \"Type\"\nmsgstr \"Type\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Cette option active le nombre de téléchargements parallèles pouvant avoir lieu lors des téléchargements des paquets\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Saisir le nombre de téléchargements parallèles à activer.\\n\"\n\"\\n\"\n\"Note :\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Valeur maximale recommandée : {} (Autorise {} téléchargements parallèles à la fois)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Désactiver/Par défaut : 0 (Désactive le téléchargement parallèle, autorise un seul téléchargement à la fois)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Entrée invalide ! Réessayer avec une entrée valide [ou 0 pour désactiver]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland a besoin d'accéder à votre espace (ensemble de périphériques matériels, par exemple clavier, souris, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Choisir une option pour donner à Hyprland l'accès à votre matériel\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Toutes les valeurs saisies peuvent être accompagnées par une unité : %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Souhaitez-vous utiliser des images de noyau unifiées ?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Images du noyau unifiées\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"En attente de la fin de la synchronisation de l'heure (timedatectl show) de finir.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"La synchronisation de l'heure ne se termine pas, veuillez consulter la documentation afin de trouver des solutions de contournement : https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Ignorer l'attente de la synchronisation automatique de l'heure (cela peut entraîner des problèmes si l'heure n'est pas synchronisée lors de l'installation)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"En attente de la fin de la synchronisation du trousseau de clés d'Arch Linux (archlinux-keyring-wkd-sync) de finir.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Profils sélectionnés : \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"La synchronisation de l'heure ne se termine pas, veuillez consulter la documentation afin de trouver des solutions de contournement : https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Marquer/Démarquer comme nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Souhaitez-vous utiliser la compression ou désactiver la copie à l'écriture (CoW) ?\"\n\nmsgid \"Use compression\"\nmsgstr \"Utiliser la compression\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Désactiver la copie à l'écriture (CoW)\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Fournit une sélection d'environnements de bureau et de gestionnaires de fenêtres en mosaïque, par ex. GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Type de configuration : {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Type de configuration LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"Le chiffrement de disque LVM avec plus de 2 partitions n'est actuellement pas pris en charge\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Utiliser NetworkManager (nécessaire pour configurer internet graphiquement dans GNOME et KDE Plasma)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Sélectionner une option LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Partitionnement\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Gestion des volumes logiques (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Volumes physiques\"\n\nmsgid \"Volumes\"\nmsgstr \"Volumes\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Volumes LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Volumes LVM à encrypter\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Sélectionner les volumes LVM à encrypter\"\n\nmsgid \"Default layout\"\nmsgstr \"Disposition par défaut\"\n\nmsgid \"No Encryption\"\nmsgstr \"Pas de chiffrement\"\n\nmsgid \"LUKS\"\nmsgstr \"Configuration de la clé unifiée Linux (LUKS)\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM sur LUKS (sécurité maximale)\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS sur LVM (flexibilité)\"\n\nmsgid \"Yes\"\nmsgstr \"Oui\"\n\nmsgid \"No\"\nmsgstr \"Non\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Aide pour Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (par défaut)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Appuyer sur Ctrl+h pour obtenir de l'aide\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Choisir une option pour permettre à Sway d'accéder à votre matériel\"\n\nmsgid \"Seat access\"\nmsgstr \"Accès au siège\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Point de montage\"\n\nmsgid \"HSM\"\nmsgstr \"Gestion hiérarchique du stockage (HSM)\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Entrer le mot de passe de chiffrement du disque (laisser vide pour aucun chiffrement)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Mot de passe de chiffrement du disque\"\n\nmsgid \"Partition - New\"\nmsgstr \"Partition - Nouveau\"\n\nmsgid \"Filesystem\"\nmsgstr \"Système de fichiers\"\n\nmsgid \"Invalid size\"\nmsgstr \"Taille invalide\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Démarrer (par défaut : secteur {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Fin (par défaut : {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Nom du sous-volume\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Type de configuration du disque\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Répertoire de montage racine\"\n\nmsgid \"Select language\"\nmsgstr \"Sélectionner la langue\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Écrire les paquets supplémentaires à installer (séparés par des espaces, laisser vide pour ignorer)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Numéro de téléchargement invalide\"\n\nmsgid \"Number downloads\"\nmsgstr \"Nombre de téléchargements\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Le nom d'utilisateur que vous avez saisi est invalide\"\n\nmsgid \"Username\"\nmsgstr \"Nom d'utilisateur\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Le \\\"{}\\\" doit-il être un superutilisateur (sudo) ?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Interfaces\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Vous devez entrer une adresse IP valide en mode IP-config\"\n\nmsgid \"Modes\"\nmsgstr \"Modes\"\n\nmsgid \"IP address\"\nmsgstr \"Adresse IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Entrer l'adresse IP de votre passerelle (routeur) (laisser vide pour aucun)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Adresse de passerelle\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Entrer vos serveurs DNS séparés par des espaces (laisser vide pour aucun)\"\n\nmsgid \"DNS servers\"\nmsgstr \"Serveurs DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Configurer les interfaces\"\n\nmsgid \"Kernel\"\nmsgstr \"Noyau\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"L'UEFI n'est pas détecté et certaines options sont désactivées\"\n\nmsgid \"Info\"\nmsgstr \"Info\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Le pilote propriétaire Nvidia n'est pas supporté par Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Il est probable que vous rencontriez des problèmes, êtes-vous d'accord avec cela ?\"\n\nmsgid \"Main profile\"\nmsgstr \"Profil principal\"\n\nmsgid \"Confirm password\"\nmsgstr \"Confirmer le mot de passe\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Le mot de passe de confirmation ne correspond pas, veuillez réessayer\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Ce n'est pas un répertoire valide\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Voulez-vous continuer ?\"\n\nmsgid \"Directory\"\nmsgstr \"Répertoire\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Entrer un répertoire pour que la(les) configuration(s) soit(ent) enregistrée(s) (complétion par tabulation activée)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Voulez-vous enregistrer le(s) fichier(s) de configuration dans {} ?\"\n\nmsgid \"Enabled\"\nmsgstr \"Activé\"\n\nmsgid \"Disabled\"\nmsgstr \"Désactivé\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Veuillez soumettre ce problème (et fichier) à https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Nom du miroir\"\n\nmsgid \"Url\"\nmsgstr \"Url\"\n\nmsgid \"Select signature check\"\nmsgstr \"Sélectionner la vérification de la signature\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Sélectionner le mode d'exécution\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Appuyer sur ? pour obtenir de l'aide\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Choisir une option pour donner à Hyprland l'accès à votre matériel\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Dépôts supplémentaires\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap sur zram\"\n\nmsgid \"Name\"\nmsgstr \"Nom\"\n\nmsgid \"Signature check\"\nmsgstr \"Vérification de la signature\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Segment d’espace libre sélectionné sur le périphérique {} :\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Taille : {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Taille (par défaut : {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Périphérique HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Certains paquets sont introuvables dans le dépôt\"\n\nmsgid \"User\"\nmsgstr \"Utilisateur\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"La configuration spécifiée sera appliquée\"\n\nmsgid \"Wipe\"\nmsgstr \"Effacer\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Marquer/Démarquer comme XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Chargement des paquets...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Sélectionner les paquets à installer en supplément dans la liste ci-dessous\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Ajouter un dépôt personnalisé\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Modifier le dépôt personnalisé\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Supprimer le dépôt personnalisé\"\n\nmsgid \"Repository name\"\nmsgstr \"Nom du dépôt\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Ajouter un serveur personnalisé\"\n\nmsgid \"Change custom server\"\nmsgstr \"Modifier le serveur personnalisé\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Supprimer le serveur personnalisé\"\n\nmsgid \"Server url\"\nmsgstr \"URL du serveur\"\n\nmsgid \"Select regions\"\nmsgstr \"Sélectionner des régions\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Ajouter des serveurs personnalisés\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Ajouter un dépôt personnalisé\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Chargement des régions miroirs...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Miroirs et dépôts\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Régions de miroirs sélectionnées\"\n\nmsgid \"Custom servers\"\nmsgstr \"Serveurs personnalisés\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Dépôts personnalisés\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Seuls les caractères ASCII sont pris en charge\"\n\nmsgid \"Show help\"\nmsgstr \"Afficher de l'aide\"\n\nmsgid \"Exit help\"\nmsgstr \"Quitter l’aide\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Faire défiler l’aperçu vers le haut\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Faire défiler l’aperçu vers le bas\"\n\nmsgid \"Move up\"\nmsgstr \"Déplacer vers le haut\"\n\nmsgid \"Move down\"\nmsgstr \"Déplacer vers le bas\"\n\nmsgid \"Move right\"\nmsgstr \"Déplacer vers la droite\"\n\nmsgid \"Move left\"\nmsgstr \"Déplacer vers la gauche\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Aller à l’entrée\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Ignorer la sélection (si disponible)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Réinitialiser la sélection (si disponible)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Sélectionner sur sélection unique\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Sélectionner sur sélection multiple\"\n\nmsgid \"Reset\"\nmsgstr \"Réinitialiser\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Passer le menu de sélection\"\n\nmsgid \"Start search mode\"\nmsgstr \"Démarrer le mode de recherche\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Quitter le mode de recherche\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc a besoin d’accéder à votre siège (ensemble d’appareils matériels, c’est-à-dire clavier, souris, etc.)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Choisir une option pour donner à labwc l’accès à votre matériel\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri a besoin d’accéder à vos périphériques (ensemble d’appareils matériels, c’est-à-dire clavier, souris, etc.)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Choisir une option pour donner à niri l’accès à votre matériel\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Marquer/Démarquer comme ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"Groupe de paquets :\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Sortir d'Archinstall\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"Redémarrer le système\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Souhaitez-vous chrooter dans l'installation nouvellement créée et effectuer la configuration post-installation ?\"\n\nmsgid \"Installation completed\"\nmsgstr \"Installation complétée\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"Voulez-vous continuer ?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Sélectionner le mode à configurer pour \\\"{}\\\" ou ignorer pour utiliser le mode par défaut \\\"{}\\\"\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Mot de passe de déchiffrement du disque\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Mot de passe incorrect\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"Mot de passe de déchiffrement du disque\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Voulez-vous enregistrer le(s) fichier(s) de configuration dans {} ?\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"Mot de passe de l'encryption du disque\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Nom du dépôt\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"Nouvelle version disponible\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Connexion sans mot de passe\"\n\nmsgid \"Second factor login\"\nmsgstr \"Connexion à deux facteurs\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Voulez-vous configurer le Bluetooth ?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Voulez-vous configurer le Bluetooth ?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Gestion des partitions : {}\"\n\nmsgid \"Authentication\"\nmsgstr \"Authentification\"\n\nmsgid \"Applications\"\nmsgstr \"Applications\"\n\nmsgid \"U2F login method: \"\nmsgstr \"Méthode\\tde connexion U2F : \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo sans mot de passe : \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Type de\\tsnapshot Btrfs : {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Synchronisation du système...\"\n\n#, fuzzy\nmsgid \"Value cannot be empty\"\nmsgstr \"La valeur ne peut pas être vide\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Type de snapshot\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Type de snapshot : {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Configuration de la connexion U2F\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Pas de périphériques U2F trouvés\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"Méthode de connexion U2F\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Activer sudo sans mot de passe ?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Configuration du périphérique U2F pour l'utilisateur : {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Vous devez peut-être entrer le code PIN, puis toucher votre périphérique U2F pour l'enregistrer\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Aucune configuration réseau\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Voulez-vous continuer ?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Configurer les interfaces\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Sélectionner une interface réseau à configurer\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Aucune configuration réseau\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Entrer un mot de passe : \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Langue locale\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Seuls les paquets tels que base, base-devel, linux, linux-firmware, efibootmgr et les paquets de profil optionnels sont installés.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Sélectionner un point de montage :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n\n#, python-brace-format\n#~ msgid \"Edit {origkey} :\"\n#~ msgstr \"Modifier {origkey} :\"\n"
  },
  {
    "path": "archinstall/locales/ga/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ga\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.4.4\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Cruthaíodh logchomhad anseo: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Cuir isteach an tsaincheist seo (agus an comhad) chuig https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Ar mhaith leat tobscoir?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Agus uair amháin eile le haghaidh fíoraithe: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Ar mhaith leat úsáid a bhaint as babhtáil ar zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"An t-óstainm inmhianaithe don suiteáil: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Ainm úsáideora le haghaidh sár-úsáideoir riachtanach le pribhléidí sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Aon úsáideoirí breise le suiteáil (fág bán gan aon úsáideoir): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Ar cheart don úsáideoir seo a bheith ina shár-úsáideoir (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Roghnaigh crios ama\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Ar mhaith leat GRUB a úsáid mar bootloader in ionad systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Roghnaigh lódálaí tosaithe\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Roghnaigh freastalaí fuaime\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Ní shuiteáiltear ach pacáistí cosúil le pacáistí bonn, base-devel, linux, linux-firmware, efibootmgr agus próifíl roghnach.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Más mian leat brabhsálaí gréasáin, mar firefox nó cróimiam, is féidir leat é a shonrú sa leid seo a leanas.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Scríobh pacáistí breise le suiteáil (spás scartha, fág bán le scipeáil): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Cóipeáil cumraíocht líonra ISO chuig an suiteáil\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Úsáid NetworkManager (riachtanach chun an t-idirlíon a chumrú go grafach i GNOME agus KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Roghnaigh comhéadan líonra amháin le chumrú\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Roghnaigh an mód a chumrú le haghaidh \\\"{}\\\" nó scipeáil chun an mód réamhshocraithe \\\"{}\\\" a úsáid\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Cuir isteach an IP agus an subnet do {} (mar shampla: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Cuir isteach do sheoladh IP geata (ródaire) nó fág bán é: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Cuir isteach do fhreastalaithe DNS (spás scartha, folamh gan aon cheann): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Roghnaigh cén córas comhaid ar cheart do do phríomh-dheighilt a úsáid\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Leagan amach na críochdheighilte reatha\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Roghnaigh cad atá le déanamh leis\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Cuir isteach cineál córais comhaid atá ag teastáil don deighilt\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Cuir isteach an suíomh tosaithe (in aonaid dheighilte: s, GB, %, etc. ; réamhshocrú: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Cuir isteach an suíomh deiridh (in aonaid dheighilte: s, GB, %, etc.; ex: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} tá deighiltí ciúáilte, bainfidh sé seo iad, an bhfuil tú cinnte?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Roghnaigh de réir innéacs cé na deighiltí atá le scriosadh\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Roghnaigh de réir innéacs cén deighilt a ghairfidh tú\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Tá mount-pointí críochdheighilte i gcoibhneas leis an taobh istigh den suiteáil, bheadh ​​an tosaithe / tosaithe mar shampla.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Roghnaigh cá háit ar cheart an deighilt a shuiteáil (fág bán chun an pointe sléibhe a bhaint): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Roghnaigh an deighilt le masc le haghaidh formáidithe\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Roghnaigh an deighilt lena mharcáil mar chriptithe\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Roghnaigh an deighilt atá le marcáil mar bootable\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Roghnaigh an deighilt chun córas comhaid a shocrú air\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Cuir isteach cineál córais comhad atá ag teastáil don deighilt: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Teanga Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Scrios gach tiomántán roghnaithe agus bain úsáid as leagan amach deighilte réamhshocraithe is fearr iarrachta\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Roghnaigh cad atá le déanamh le gach tiomántán aonair (agus úsáid deighilte ina dhiaidh sin)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Roghnaigh cad is mian leat a dhéanamh leis na feistí bloc roghnaithe\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Is liosta é seo de phróifílí réamhchláraithe, b'fhéidir go n-éascódh siad rudaí cosúil le timpeallachtaí deisce a shuiteáil\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Roghnaigh leagan amach an mhéarchláir\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Roghnaigh ceann de na réigiúin chun pacáistí a íoslódáil uaidh\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Roghnaigh tiomántán crua amháin nó níos mó le húsáid agus cumraigh\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Chun an chomhoiriúnacht is fearr le do chrua-earraí AMD, b'fhéidir gur mhaith leat na roghanna uile foinse oscailte nó AMD / ATI a úsáid.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Chun an chomhoiriúnacht is fearr le do chrua-earraí Intel, b'fhéidir gur mhaith leat na roghanna uile foinse oscailte nó Intel a úsáid.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Chun an comhoiriúnacht is fearr le do chrua-earraí Nvidia, b'fhéidir gur mhaith leat an tiománaí dílseánaigh Nvidia a úsáid.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Roghnaigh tiománaí grafaicí nó fág bán é chun gach tiománaí foinse oscailte a shuiteáil\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Gach foinse oscailte (réamhshocraithe)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Roghnaigh cé na heithneanna le húsáid nó fág bán don réamhshocrú \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Roghnaigh cén teanga logánta is cóir a úsáid\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Roghnaigh cén ionchódú locale is cóir a úsáid\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Roghnaigh ceann amháin de na luachanna a thaispeántar thíos: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Roghnaigh ceann amháin nó níos mó de na roghanna thíos: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Deighilt á cur leis....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Ní mór duit cineál bailí fs-type a chur isteach chun leanúint ar aghaidh. Féach man parted le haghaidh cineálacha fs-type bailí.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Earráid: Mar thoradh ar liostú próifílí ar URL \\\"{}\\\" bhí:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Earráid: Níorbh fhéidir an toradh \\\"{}\\\" a dhíchódú mar JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Leagan amach méarchlár\"\n\nmsgid \"Mirror region\"\nmsgstr \"Réigiún scáthán\"\n\nmsgid \"Locale language\"\nmsgstr \"Teanga logánta\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Ionchódú locale\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Tiomántán(í)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Leagan amach diosca\"\n\nmsgid \"Encryption password\"\nmsgstr \"Pasfhocal criptithe\"\n\nmsgid \"Swap\"\nmsgstr \"Babhtáil\"\n\nmsgid \"Bootloader\"\nmsgstr \"Lódálaí Tosaithe\"\n\nmsgid \"Root password\"\nmsgstr \"Pasfhocal Root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Cuntas sár-úsáideoir\"\n\nmsgid \"User account\"\nmsgstr \"Cuntas úsáideora\"\n\nmsgid \"Profile\"\nmsgstr \"Próifíl\"\n\nmsgid \"Audio\"\nmsgstr \"Fuaime\"\n\nmsgid \"Kernels\"\nmsgstr \"Eithne\"\n\nmsgid \"Additional packages\"\nmsgstr \"Pacáistí breise\"\n\nmsgid \"Network configuration\"\nmsgstr \"Cumraíocht líonra\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Sioncronú ama uathoibríoch (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Suiteáil ({} config(s) in easnamh)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Shocraigh tú an rogha tiomántán crua a scipeáil\\n\"\n\"agus úsáidfidh sé cibé tiomántán atá gléasta ag {} (turgnamhach)\\n\"\n\"RABHADH: Ní seiceálfaidh Archinstall oiriúnacht an tsocraithe seo\\n\"\n\"Ar mhaith leat leanúint ar aghaidh?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Mar shampla deighilte a athúsáid: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Cruthaigh deighilt nua\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Scrios deighilt\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Glan/Scrios gach Deighiltí\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Sann mount-point le haghaidh críochdheighilte\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Marcáil/Dímharcáil deighilt atá le formáidiú (síolraigh na sonraí)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Marcáil/Dímharcáil críochdheighilt mar atá criptithe\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Marcáil/Dímharcáil críochdheighilt mar bootable (uathoibríoch le haghaidh /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Socraigh córas comhaid atá ag teastáil le haghaidh críochdheighilte\"\n\nmsgid \"Abort\"\nmsgstr \"Tobscoir\"\n\nmsgid \"Hostname\"\nmsgstr \"Óstainm\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Gan a bheith cumraithe, níl sé ar fáil mura socraítear é de láimh\"\n\nmsgid \"Timezone\"\nmsgstr \"Crios ama\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Socraigh/Athraigh na roghanna thíos\"\n\nmsgid \"Install\"\nmsgstr \"Suiteáil\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Úsáid ESC chun scipeáil\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Mol leagan amach na críochdheighilte\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Iontráil pasfhocal: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Cuir isteach pasfhocal criptithe le haghaidh {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Cuir isteach pasfhocal criptithe diosca (fág bán gan aon chriptiú): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Cruthaigh sár-úsáideoir riachtanach le pribhléidí sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Cuir isteach pasfhocal fréimhe (fág bán chun an fhréamh a dhíchumasú): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Pasfhocal don úsáideoir \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Ag fíorú go bhfuil pacáistí breise ann (seans go dtógfaidh sé seo cúpla soicind)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Ar mhaith leat sioncrónú ama uathoibríoch (NTP) a úsáid leis na freastalaithe réamhshocraithe ama?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"D’fhéadfadh go mbeadh am crua-earraí agus céimeanna eile iarchumraíochta ag teastáil le go n-oibreoidh NTP.\\n\"\n\"Le haghaidh tuilleadh eolais, seiceáil le do thoil an vicí Arch\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Cuir isteach ainm úsáideora chun úsáideoir breise a chruthú (fág bán chun scipeáil): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Úsáid ESC chun scipeáil\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Roghnaigh rud ón liosta, agus roghnaigh ceann de na gníomhartha atá ar fáil chun é a fhorghníomhú\"\n\nmsgid \"Cancel\"\nmsgstr \"Cealaigh\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Deimhnigh agus scoir\"\n\nmsgid \"Add\"\nmsgstr \"Cuir\"\n\nmsgid \"Copy\"\nmsgstr \"Cóip\"\n\nmsgid \"Edit\"\nmsgstr \"Cuir in eagar\"\n\nmsgid \"Delete\"\nmsgstr \"Scrios\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Roghnaigh gníomh le haghaidh '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Cóipeáil chuig eochair nua:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Cineál nic anaithnid: {}. Is iad na luachanna féideartha ná {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Seo é do chumraíocht roghnaithe:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Tá PacmanName ag rith cheana féin, ag fanacht 10 nóiméad ar a mhéad chun é a fhoirceannadh.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Níor imigh an glas pacmannach a bhí ann cheana. Glan suas aon seisiúin PacmanName atá ann cheana féin le do thoil roimh úsáid a bhaint as archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Roghnaigh na stórtha breise roghnacha le cumasú\"\n\nmsgid \"Add a user\"\nmsgstr \"Cuir úsáideoir leis\"\n\nmsgid \"Change password\"\nmsgstr \"Athraigh pasfhocal\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Úsáideoir a chur chun cinn/a dhíspeagadh\"\n\nmsgid \"Delete User\"\nmsgstr \"Scrios Úsáideoir\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Sainmhínigh úsáideoir nua\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Ainm Úsáideora: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Ar cheart go mbeadh {} ina shár-úsáideoir (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Sainmhínigh úsáideoirí a bhfuil pribhléid sudo acu: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Gan cumraíocht líonra\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Socraigh fo-imleabhair atá ag teastáil ar dheighilt btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Roghnaigh cén deighilt ar cheart fo-imleabhair a shocrú\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Bainistigh fo-imleabhair btrfs don deighilt reatha\"\n\nmsgid \"No configuration\"\nmsgstr \"Gan cumraíocht\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Sábháil cumraíocht úsáideora\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Sábháil dintiúir úsáideora\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Sábháil leagan amach diosca\"\n\nmsgid \"Save all\"\nmsgstr \"Sábháil go léir\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Roghnaigh cén chumraíocht atá le sábháil\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Cuir isteach eolaire don chumraíocht(s) atá le sábháil: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Ní eolaire bailí é: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Is cosúil go bhfuil an pasfhocal atá in úsáid agat lag,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"an bhfuil tú cinnte gur mhaith leat é a úsáid?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Taisclanna roghnacha\"\n\nmsgid \"Save configuration\"\nmsgstr \"Sábháil cumraíocht\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Cumraíochtaí in easnamh:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Ní mór fréimhe pasfhocal nó ar a laghad 1 shár-úsáideoir a shonrú\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Bainistigh cuntais sár-úsáideoirí: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Bainistigh gnáthchuntais úsáideora: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Fo-imleabhar :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" suite ar {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" le rogha {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"Líon isteach na luachanna atá ag teastáil le haghaidh fo-imleabhar nua\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Ainm fo-imleabhar \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Pointe sléibhe subvolume\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Roghanna subvolume\"\n\nmsgid \"Save\"\nmsgstr \"Sábháil\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Ainm fo-imleabhar :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Roghnaigh pointe gléasta :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Roghnaigh na roghanna subvolume atá ag teastáil \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Sainmhínigh úsáideoirí a bhfuil pribhléid sudo acu, de réir ainm úsáideora: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Cruthaíodh logchomhad anseo: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Ar mhaith leat fo-imleabhair BTRFS a úsáid le struchtúr réamhshocraithe?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Ar mhaith leat comhbhrú BTRFS a úsáid?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Ar mhaith leat críochdheighilt ar leith a chruthú don /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Níl an acmhainn íosta ag na tiomántáin roghnaithe le haghaidh moladh uathoibríoch\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Toilleadh íosta le haghaidh /deighilt baile: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Toilleadh íosta do dheighilt Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Lean ort\"\n\nmsgid \"yes\"\nmsgstr \"tá\"\n\nmsgid \"no\"\nmsgstr \"níl\"\n\nmsgid \"set: {}\"\nmsgstr \"socrú: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Ní mór liosta a bheith i socrú cumraíochta láimhe\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Níl iface sonraithe do chumraíocht láimhe\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Teastaíonn seoladh IP ó chumraíocht láimhe nic gan DHCP uathoibríoch\"\n\nmsgid \"Add interface\"\nmsgstr \"Cuir comhéadan leis\"\n\nmsgid \"Edit interface\"\nmsgstr \"Cuir comhéadan in eagar\"\n\nmsgid \"Delete interface\"\nmsgstr \"Scrios comhéadan\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Roghnaigh comhéadan le cur leis\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Cumraíocht láimhe\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Marcáil/Dímharcáil deighilt mar chomhbhrúite (btrfs amháin)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Is cosúil go bhfuil an pasfhocal atá in úsáid agat lag, an bhfuil tú cinnte gur mhaith leat é a úsáid?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Soláthraíonn sé rogha timpeallachtaí deisce agus bainisteoirí fuinneog tíleála, e.g. gnome, kde, smacht\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Roghnaigh do thimpeallacht deisce atá ag teastáil\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Suiteáil an-bhunúsach a ligeann duit Arch Linux a shaincheapadh mar is cuí leat.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Soláthraíonn sé rogha de phacáistí freastalaí éagsúla le suiteáil agus le cumasú, m.sh. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Roghnaigh cé na freastalaithe atá le suiteáil, mura bhfuil ann dóibh, déanfar suiteáil íosta\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Suiteáil córas íosta chomh maith le tiománaithe xorg agus grafaicí.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Brúigh Enter chun leanúint ar aghaidh.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Ar mhaith leat an tsuiteáil nuachruthaithe a chrosadh agus cumraíocht iar-shuiteála a dhéanamh?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"An bhfuil tú cinnte gur mhaith leat an socrú seo a athshocrú?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Roghnaigh tiomántán crua amháin nó níos mó le húsáid agus cumraigh\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Athshocróidh aon athruithe ar an socrú reatha leagan amach an diosca!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Má athshocraíonn tú an rogha tiomántán crua athshocróidh sé seo leagan amach reatha an diosca freisin. An bhfuil tú cinnte?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Sábháil agus scoir\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"ina bhfuil deighiltí ciúáilte, bainfidh sé seo iad, an bhfuil tú cinnte?\"\n\nmsgid \"No audio server\"\nmsgstr \"Gan freastalaí fuaime\"\n\nmsgid \"(default)\"\nmsgstr \"(réamhshocraithe)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Úsáid ESC chun scipeáil\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Úsáid CTRL+C chun an rogha reatha a athshocrú\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Cóipeáil chuig: \"\n\nmsgid \"Edit: \"\nmsgstr \"Cuir: \"\n\nmsgid \"Key: \"\nmsgstr \"Eochair: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Cuir {} in eagar: \"\n\nmsgid \"Add: \"\nmsgstr \"Cuir leis: \"\n\nmsgid \"Value: \"\nmsgstr \"Luach: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Is féidir leat scipeáil tiomántán agus deighilt a roghnú agus úsáid a bhaint as cibé socrú tiomántán atá suite ag /mnt (turgnamhach)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Roghnaigh ceann amháin de na dioscaí nó scipeáil agus úsáid / mnt mar réamhshocrú\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Roghnaigh na deighiltí atá le marcáil le haghaidh formáidithe:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Úsáid HSM chun tiomántán criptithe a dhíghlasáil\"\n\nmsgid \"Device\"\nmsgstr \"Gléas\"\n\nmsgid \"Size\"\nmsgstr \"Méid\"\n\nmsgid \"Free space\"\nmsgstr \"Spás saor in aisce\"\n\nmsgid \"Bus-type\"\nmsgstr \"Cineál bus\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Ní mór focal faire fréimhe nó 1 úsáideoir ar a laghad a bhfuil pribhléidí sudo aige a shonrú\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Cuir isteach ainm úsáideora (fág bán chun scipeáil): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Tá an t-ainm úsáideora a d'iontráil tú neamhbhailí. Bain triail eile as\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Ar cheart \\\"{}\\\" a bheith ina shár-úsáideoir (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Roghnaigh na deighiltí atá le criptiú\"\n\nmsgid \"very weak\"\nmsgstr \"an-lag\"\n\nmsgid \"weak\"\nmsgstr \"lag\"\n\nmsgid \"moderate\"\nmsgstr \"measartha\"\n\nmsgid \"strong\"\nmsgstr \"láidir\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Cuir fo-imleabhar leis\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Cuir fo-imleabhar in eagar\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Scrios fo-imleabhar\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Comhéadain {} cumraithe\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Cumasaíonn an rogha seo líon na n-íoslódálacha comhthreomhara is féidir a dhéanamh le linn na suiteála\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Cuir isteach líon na n-íoslódálacha comhthreomhara atá le cumasú.\\n\"\n\" (Iontráil luach idir 1 agus {})\\n\"\n\"Nóta:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Uasluach   : {} ( Ligeann sé seo do {} íoslódálacha comhthreomhara, ceadaíonn sé {} íoslódálacha ag an am céanna )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Íosluach   : 1 (Ceadaítear 1 íoslódáil chomhthreomhar, ceadaíonn sé 2 íosluchtú ag an am)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Díchumasaigh / Réamhshocrú: 0 (Díchumasaigh íoslódáil comhthreomhar, ní cheadaítear ach 1 íoslódáil ag an am)\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Ionchur neamhbhailí! Bain triail eile as le hionchur bailí [1 go {max_downloads}, nó 0 le díchumasú]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Comhuaineach íosluchtuithe\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC a scipeáil\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C le hathshocrú\"\n\nmsgid \"TAB to select\"\nmsgstr \"Tab le roghnú\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Luach réamhshocraithe: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Chun an t-aistriúchán seo a úsáid, suiteáil cló de láimh a thacaíonn leis an teanga.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Ba cheart an cló a stóráil mar {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Éilíonn Archinstall pribhléidí fréimhe chun é a rith. Féach --help le haghaidh tuilleadh.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Roghnaigh modh forghníomhaithe\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Ní féidir próifíl a fháil ón url sonraithe: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Caithfidh ainm uathúil a bheith ag próifílí, ach aimsíodh sainmhínithe próifíle le hainm dúblach: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Roghnaigh gléas amháin nó níos mó le húsáid agus cumraigh\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Má athshocraíonn tú an rogha gléis athshocróidh sé seo leagan amach reatha an diosca freisin. An bhfuil tú cinnte?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Deighiltí Láithreacha\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Roghnaigh rogha deighilte\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Cuir isteach eolaire fréamhacha na ngléasanna gléasta: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Toilleadh íosta le haghaidh /deighilt baile: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Toilleadh íosta do dheighilt Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Seo liosta de profiles_bck réamhchláraithe, seans go mbeidh sé níos fusa rudaí cosúil le timpeallachtaí deisce a shuiteáil\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Roghnú próifíle reatha\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Bain gach deighilt nua-chur leis\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Sann pointe sléibhe\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Marcáil/Dímharcáil le formáidiú (síolraigh na sonraí)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Marcáil/Dímharcáil mar bootable\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Athraigh córas comhaid\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Marcáil/Dímharcáil mar chomhbhrúite\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Socraigh fo-imleabhair\"\n\nmsgid \"Delete partition\"\nmsgstr \"Scrios an deighilt\"\n\nmsgid \"Partition\"\nmsgstr \"Deighiltí\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Tá an deighilt seo criptithe faoi láthair, chun é a fhormáid ní mór córas comhaid a shonrú\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Tá na pointí gléasta deighilte i gcoibhneas leis an taobh istigh den suiteáil, bheadh ​​an tosaithe mar shampla.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Má tá mountpoint /boot socraithe, ansin marcálfar an deighilt mar bootable freisin.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Mountpoint: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Earnálacha saor in aisce faoi láthair ar ghléas {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Earnálacha iomlána: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Cuir isteach an earnáil tosaithe (réamhshocrú: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Cuir isteach earnáil deiridh na críochdheighilte (céatadán nó blocuimhir, réamhshocrú: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Bainfidh sé seo gach deighilt nua-chur leis, leanúint ar aghaidh?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Bainistíocht críochdheighilte: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Fad iomlán: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Cineál criptithe\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"Deighiltí\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Níl aon ghléas HSM ar fáil\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Deighiltí le bheith criptithe\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Roghnaigh rogha criptithe diosca\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Roghnaigh gléas FIDO2 le húsáid le haghaidh HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Bain úsáid as leagan amach deighilte réamhshocraithe is fearr-iarracht\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Deighilt láimhe\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Cumraíocht réamhshuiteáilte\"\n\nmsgid \"Unknown\"\nmsgstr \"Anaithnid\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Criptiú críochdheighilte\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formáidiú {} in \"\n\nmsgid \"← Back\"\nmsgstr \"← Ar ais\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Criptiú diosca\"\n\nmsgid \"Configuration\"\nmsgstr \"Cumraíocht\"\n\nmsgid \"Password\"\nmsgstr \"Pasfhocal\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Athshocrófar gach socrú, an bhfuil tú cinnte?\"\n\nmsgid \"Back\"\nmsgstr \"Ar ais\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Roghnaigh cé acu beannaí le suiteáil do na próifílí roghnaithe: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Cineál timpeallachta: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Níl an tiománaí dílseánaigh Nvidia tacaithe ag Sway. Is dócha go mbeidh fadhbanna agat, an bhfuil tú ceart go leor leis sin?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Pacáistí suiteáilte\"\n\nmsgid \"Add profile\"\nmsgstr \"Cuir próifíl leis\"\n\nmsgid \"Edit profile\"\nmsgstr \"Cuir próifíl in eagar\"\n\nmsgid \"Delete profile\"\nmsgstr \"Scrios próifíl\"\n\nmsgid \"Profile name: \"\nmsgstr \"Ainm próifíle: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Tá an t-ainm próifíle a d'iontráil tú in úsáid cheana féin. Bain triail eile as\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Pacáistí atá le suiteáil leis an bpróifíl seo (spás scartha, fág bán le scipeáil): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Seirbhísí atá le cumasú leis an bpróifíl seo (spás scartha, fág bán chun scipeáil): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Ar cheart an phróifíl seo a chumasú le haghaidh suiteáil?\"\n\nmsgid \"Create your own\"\nmsgstr \"Cruthaigh do chuid féin\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Roghnaigh tiománaí grafaicí nó fág bán é chun gach tiománaí foinse oscailte a shuiteáil\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Teastaíonn rochtain ó Sway ar do shuíochán (bailiúchán de ghléasanna crua-earraí i.e. méarchlár, luch, srl)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Roghnaigh rogha chun rochtain a thabhairt do Sway ar do chrua-earraí\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Tiománaí grafaicí\"\n\nmsgid \"Greeter\"\nmsgstr \"Beannóir\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Roghnaigh cé acu beannaitheoir atá le suiteáil\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Seo liosta de default_profiles réamhchláraithe\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Cumraíocht diosca\"\n\nmsgid \"Profiles\"\nmsgstr \"Próifílí\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Eolaire féideartha a aimsiú chun comhaid cumraíochta a shábháil ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Roghnaigh eolaire (nó eolairí) chun comhaid cumraíochta a shábháil\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Cuir scáthán saincheaptha leis\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Athraigh scáthán saincheaptha\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Scrios scáthán saincheaptha\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Iontráil ainm (fág bán chun scipeáil): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Cuir isteach url (fág bán chun scipeáil): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Roghnaigh an rogha seiceála sínithe\"\n\nmsgid \"Select signature option\"\nmsgstr \"Roghnaigh an rogha sínithe\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Scátháin saincheaptha\"\n\nmsgid \"Defined\"\nmsgstr \"Sainithe\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Sábháil cumraíocht úsáideora (leagan amach diosca san áireamh)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Iontráil eolaire don chumraíocht(s) atá le sábháil (cumasaíodh comhlánú an táb)\\n\"\n\"Sábháil eolaire: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Ar mhaith leat {} comhad cumraíochta a shábháil sa suíomh seo a leanas?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} comhad cumraíochta á sábháil go {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Scátháin\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Réigiúin scátháin\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Uasluach   : {} ( Ligeann sé seo {} íoslódálacha comhthreomhara, ceadaítear {max_downloads+1} íosluchtú ag an am céanna )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Ionchur neamhbhailí! Bain triail eile as le hionchur bailí [1 go {}, nó 0 le díchumasú]\"\n\nmsgid \"Locales\"\nmsgstr \"Áitiúlachtaí\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Úsáid NetworkManager (riachtanach chun an t-idirlíon a chumrú go grafach i GNOME agus KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Iomlán: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Is féidir gach luach a iontráladh a iarmhír le haonad: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Mura gcuirtear aonad ar fáil, léirmhínítear an luach mar earnálacha\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Cuir isteach tús (réamhshocrú: earnáil {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Cuir isteach an deireadh (réamhshocraithe: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Ní féidir gléasanna fido2 a chinneadh. An bhfuil libfido2 suiteáilte?\"\n\nmsgid \"Path\"\nmsgstr \"Cosán\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Monaróir\"\n\nmsgid \"Product\"\nmsgstr \"Táirge\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Cumraíocht neamhbhailí: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Cineál\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Cumasaíonn an rogha seo líon na n-íoslódálacha comhthreomhara is féidir a dhéanamh le linn íoslódálacha pacáiste\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Cuir isteach líon na n-íoslódálacha comhthreomhara atá le cumasú.\\n\"\n\"\\n\"\n\"Nóta:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Uasluach molta : {} ( Ceadaítear {} íoslódálacha comhthreomhara ag an am céanna )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Díchumasaigh / Réamhshocrú: 0 (Díchumasaigh íoslódáil comhthreomhar, ní cheadaítear ach 1 íoslódáil ag an am)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Ionchur neamhbhailí! Bain triail eile as le hionchur bailí [nó 0 le díchumasú]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Teastaíonn rochtain ar do shuíochán ó Hyprland (bailiúchán de ghléasanna crua-earraí, i.e. méarchlár, luch, srl)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Roghnaigh rogha chun rochtain a thabhairt do Hyprland ar do chrua-earraí\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Is féidir gach luach a iontráladh a iarmhír le haonad: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Ar mhaith leat íomhánna eithne aontaithe a úsáid?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Íomhánna eithne aontaithe\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Ag fanacht le sioncronú ama (timedatectl show) le cur i gcrích.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Níl an sioncrónú ama críochnaithe, agus tú ag fanacht - seiceáil na doiciméid le haghaidh réitigh oibre: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Gan bacadh le feithimh le haghaidh sioncronaithe ama uathoibríoch (féadfaidh sé seo fadhbanna a chruthú má bhíonn an t-am as sioncronaithe le linn na suiteála)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Ag fanacht le sioncronú eochairfháinne Arch Linux (archlinux-keyring-wkd-sync) a chur i gcrích.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Próifílí roghnaithe: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Níl an sioncrónú ama críochnaithe, agus tú ag fanacht - seiceáil na doiciméid le haghaidh réitigh oibre: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Marcáil/Dímharcáil mar bhó nodata\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Ar mhaith leat comhbhrú a úsáid nó CoW a dhíchumasú?\"\n\nmsgid \"Use compression\"\nmsgstr \"Bain úsáid as comhbhrú\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Díchumasaigh Cóipeáil-ar-Scríobh\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Soláthraíonn sé rogha timpeallachtaí deisce agus bainisteoirí fuinneog tíleála, e.g. GNOME, Plasma KDE, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Cineál cumraíochta: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Cineál cumraíochta LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"Ní thacaítear le criptiú diosca LVM le níos mó ná 2 dheighilt faoi láthair\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Úsáid NetworkManager (riachtanach chun an t-idirlíon a chumrú go grafach i GNOME agus KDE Plasma)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Roghnaigh rogha LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Deighilt\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Bainistíocht Toirt Loighciúil (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Toirteanna fisiceacha\"\n\nmsgid \"Volumes\"\nmsgstr \"Imleabhair\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Toirteanna LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Toirteanna LVM le criptiú\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Roghnaigh cé na méideanna LVM atá le criptiú\"\n\nmsgid \"Default layout\"\nmsgstr \"Leagan amach réamhshocraithe\"\n\nmsgid \"No Encryption\"\nmsgstr \"Gan Criptiú\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM ar LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS ar LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Tá\"\n\nmsgid \"No\"\nmsgstr \"Níl\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Cabhair Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (réamhshocraithe)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Brúigh Ctrl+h chun cabhair a fháil\"\n\n#, fuzzy\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Roghnaigh rogha chun rochtain a thabhairt do Sway ar do chrua-earraí\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"Mountpoint: \"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Cuir isteach pasfhocal criptithe diosca (fág bán gan aon chriptiú): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"Pasfhocal criptithe\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"Deighiltí\"\n\n#, fuzzy\nmsgid \"Filesystem\"\nmsgstr \"Athraigh córas comhaid\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Cuir isteach tús (réamhshocrú: earnáil {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"Cuir isteach an deireadh (réamhshocraithe: {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"Ainm fo-imleabhar \"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"Cumraíocht diosca\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"Teanga logánta\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Scríobh pacáistí breise le suiteáil (spás scartha, fág bán le scipeáil): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The username you entered is invalid\"\nmsgstr \"Tá an t-ainm úsáideora a d'iontráil tú neamhbhailí. Bain triail eile as\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"Ainm Úsáideora: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Ar cheart \\\"{}\\\" a bheith ina shár-úsáideoir (sudo)?\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"Cuir comhéadan leis\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Cuir isteach do sheoladh IP geata (ródaire) nó fág bán é: \"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Cuir isteach do fhreastalaithe DNS (spás scartha, folamh gan aon cheann): \"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"Gan freastalaí fuaime\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"Comhéadain {} cumraithe\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"Eithne\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Níl an tiománaí dílseánaigh Nvidia tacaithe ag Sway. Is dócha go mbeidh fadhbanna agat, an bhfuil tú ceart go leor leis sin?\"\n\n#, fuzzy\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Níl an tiománaí dílseánaigh Nvidia tacaithe ag Sway. Is dócha go mbeidh fadhbanna agat, an bhfuil tú ceart go leor leis sin?\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"Cuir próifíl in eagar\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"Athraigh pasfhocal\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"Ní eolaire bailí é: {}\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"Ar mhaith leat comhbhrú BTRFS a úsáid?\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"\"\n\"Iontráil eolaire don chumraíocht(s) atá le sábháil (cumasaíodh comhlánú an táb)\\n\"\n\"Sábháil eolaire: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"\"\n\"Ar mhaith leat {} comhad cumraíochta a shábháil sa suíomh seo a leanas?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Cuir isteach an tsaincheist seo (agus an comhad) chuig https://github.com/archlinux/archinstall/issues\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"Réigiún scáthán\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"Roghnaigh an rogha seiceála sínithe\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"Roghnaigh modh forghníomhaithe\"\n\n#, fuzzy\nmsgid \"Press ? for help\"\nmsgstr \"Brúigh Ctrl+h chun cabhair a fháil\"\n\n#, fuzzy\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Roghnaigh rogha chun rochtain a thabhairt do Hyprland ar do chrua-earraí\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"Taisclanna roghnacha\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"Roghnaigh an rogha seiceála sínithe\"\n\n#, fuzzy, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Earnálacha saor in aisce faoi láthair ar ghléas {}:\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Iomlán: {} / {}\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Cuir isteach an deireadh (réamhshocraithe: {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"Gléas\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"Ainm Úsáideora: \"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Marcáil/Dímharcáil mar bootable\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"Pacáistí breise\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"Cuir scáthán saincheaptha leis\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"Athraigh scáthán saincheaptha\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"Scrios scáthán saincheaptha\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"Réigiún scáthán\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"Cuir scáthán saincheaptha leis\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"Athraigh scáthán saincheaptha\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"Scrios scáthán saincheaptha\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"Roghnaigh an rogha sínithe\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"Cuir scáthán saincheaptha leis\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"Cuir scáthán saincheaptha leis\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"Réigiúin scátháin\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"Taisclanna roghnacha\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"Réigiúin scátháin\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"Scátháin saincheaptha\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"Taisclanna roghnacha\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"Roghnaigh an rogha seiceála sínithe\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"Roghnaigh crios ama\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"Roghnaigh modh forghníomhaithe\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Teastaíonn rochtain ó Sway ar do shuíochán (bailiúchán de ghléasanna crua-earraí i.e. méarchlár, luch, srl)\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Roghnaigh rogha chun rochtain a thabhairt do Sway ar do chrua-earraí\"\n\n#, fuzzy\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Teastaíonn rochtain ó Sway ar do shuíochán (bailiúchán de ghléasanna crua-earraí i.e. méarchlár, luch, srl)\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Roghnaigh rogha chun rochtain a thabhairt do Sway ar do chrua-earraí\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Marcáil/Dímharcáil mar bootable\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Cabhair Archinstall\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"Athraigh córas comhaid\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Ar mhaith leat an tsuiteáil nuachruthaithe a chrosadh agus cumraíocht iar-shuiteála a dhéanamh?\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"Ar mhaith leat comhbhrú BTRFS a úsáid?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Roghnaigh an mód a chumrú le haghaidh \\\"{}\\\" nó scipeáil chun an mód réamhshocraithe \\\"{}\\\" a úsáid\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Pasfhocal criptithe\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Pasfhocal Root\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"Pasfhocal criptithe\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"\"\n\"Ar mhaith leat {} comhad cumraíochta a shábháil sa suíomh seo a leanas?\\n\"\n\"\\n\"\n\"{}\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"Pasfhocal criptithe\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Réigiún scáthán\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"Níl aon ghléas HSM ar fáil\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Pasfhocal\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Ar mhaith leat comhbhrú BTRFS a úsáid?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Ar mhaith leat comhbhrú BTRFS a úsáid?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Bainistíocht críochdheighilte: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Cineál timpeallachta: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Iontráil pasfhocal: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Roghnaigh gléas FIDO2 le húsáid le haghaidh HSM\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Gan cumraíocht líonra\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Ar mhaith leat comhbhrú BTRFS a úsáid?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Comhéadain {} cumraithe\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Roghnaigh comhéadan líonra amháin le chumrú\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Gan cumraíocht líonra\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Iontráil pasfhocal: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Teanga logánta\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Ní shuiteáiltear ach pacáistí cosúil le pacáistí bonn, base-devel, linux, linux-firmware, efibootmgr agus próifíl roghnach.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Roghnaigh pointe gléasta :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/gl/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: gaelgnz <gaelgnz06@gmail.comm>\\n\"\n\"Language-Team: \\n\"\n\"Language: gl\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Se ha creado un archivo de registro aquí: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Por favor envíe este problema (e archivo) a https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"¿Realmente desexas abortar?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"E unha vez mais para verificar: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"¿Gustarialle usar swap en zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Nome do host desexado para a instalación: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Nome de usuario para o superusuario con privilegios sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Algún usuario adicional a instalar (dexalo en blanco para non agregar ninguno): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Debería este usuario ser un superusuario (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Seleccione unha zona horaria\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Gustarialle usar GRUB como xestor de arranque en lugar de systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Elixa un xestor de arranque\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Elixa un servidor de audio\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"So paquetes como base, base-devel, linux, linux-firmware, efibootmgr e paquetes opcionales de perfil instalaranse.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"Nota: base-devel xa non veñe instalado por defecto. Agreguelo aquí se necesita herramientas de build.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Si deseaxa un navegador web, como firefox o chromium, pode especificalo non seguiente mensaxe.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Escriba paquetes adicionais para instalar (separados por espazos, dexe en blanco para omitir): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Copiar a configuración de red ISO a instalación\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Seleccione unha interfaz de red para configurar\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Seleccione qué modo configurar para \\\"{}\\\" ou omita para usar o modo predeterminado \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Escriba a IP e subred para {} (ejemplo: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Escriba a IP de a sua porta de enlace (enrutador) ou dexelo en branco para non usar ningunha: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Ingrese os seus servidores DNS (separados por espazos, en branco para ningun): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Seleccione qué sistema de archivos debe usar a sua partición principal\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Distribución actual das particions\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Seleccione qué hacer con\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Ingrese un tipo de sistema de arquivos desexado para a partición\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Ingrese a ubicación de inicio (en unidades divididas: s, GB, %, etc. ; predeterminado: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Ingrese a ubicación final (en unidades divididas: s, GB, %, etc. ; ej.: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} contén particions en cola, esto eliminará esas particións, ¿está seguro?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione por índice qué particions eliminar\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione por índice qué partición montar en qué ubicación\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Os puntos de montaxe da partición son relativos ao interior da instalación, por exemplo: o arranque sería /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Seleccione onde montar a partición (dexela en branco para eliminar o punto de montaje): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione cal partición enmascarar para formatear\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione cal partición marcar como encriptada\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione cal partición marcar como de arranque\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione en cal partición establecer un sistema de arquivos\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Ingrese un tipo de sistema de arquivos desexado para a partición: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Idioma de Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Borrar todas as unidades seleccionadas e usar un diseño de partición predeterminado de mellor esforzo\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Seleccione qué hacer con cada unidad individual (seguido do uso da partición)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Seleccione o que desexa hacer con os dispositivos de bloque seleccionados\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Esta es unha lista de perfils preprogramados que podrían facilitarche a instalación de cousas como entornos de escritorio\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Seleccione a distribución do teclado\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Seleccione qué rexión usar para descargar paquetes\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Seleccione uno o mais discos duros para usar e configurar\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Para obtener a mellor compatibilidade con o seu hardware AMD, e posible que desexe utilizar as opcions de código aberto ou AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Para obtener a mellor compatibilidade con o seu hardware Intel, e posible que desexe utilizar as opciones de código abierto ou de Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Para obtener a mellor compatibilidade con o seu hardware de Nvidia, e posible que desexe utilizar o controlador patentado de Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Seleccione un controlador de gráficos ou dexelo en branco para instalar todos os controladores de código abierto\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Todos de código aberto (predeterminado)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Escoxa qué kernel usar o déjelo en branco para usar o kernel \\\"{}\\\" predeterminado\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Escoxa qué idioma local usar\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Escoxa qué codificación local usar\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Seleccione uno de os valores que se muestran a continuación: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Seleccione unha o más das siguientes opciones: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Añadiendo partición...\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Debe ingresar un tipo de sistema de archivos (fs-type) válido para continuar. Consulte `man parted` para conocer os tipos válidos.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Error: Listar perfiles na URL \\\"{}\\\" resultó en:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Error: No se pudo decodificar el resultado \\\"{}\\\" como JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Distribución do teclado\"\n\nmsgid \"Mirror region\"\nmsgstr \"Región do servidor\"\n\nmsgid \"Locale language\"\nmsgstr \"Idioma local\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Codificación local\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Disco(s)\"\n\n# not sure about this one... we've been saying distribución instead of diseño up to now...\nmsgid \"Disk layout\"\nmsgstr \"Diseño do disco\"\n\nmsgid \"Encryption password\"\nmsgstr \"Contraseña de cifrado\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"xestor de arranque\"\n\nmsgid \"Root password\"\nmsgstr \"Contraseña de root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Conta de superusuario\"\n\nmsgid \"User account\"\nmsgstr \"Conta de usuario\"\n\nmsgid \"Profile\"\nmsgstr \"Perfil\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Núcleos\"\n\nmsgid \"Additional packages\"\nmsgstr \"Paquetes adicionais\"\n\nmsgid \"Network configuration\"\nmsgstr \"Configuración da red\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Sincronización automática de hora (NTP)\"\n\n# are you installing missing configs or are there missing configs\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Instalar ({} ajuste(s) faltante(s))\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Ha decidido saltar a selección de discos duros\\n\"\n\"y usar a configuración montada en {} (experimental)\\n\"\n\"ADVERTENCIA: Archinstall no verificará a idoneidad de esta configuración\\n\"\n\"¿Desexa continuar?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Reutilizando instancia de partición: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Crear unha nueva partición\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Eliminar unha partición\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Limpiar/Eliminar todas as particións\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Asignar punto de montaje para unha partición\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Marcar/Desmarcar unha partición para ser formateada (borra os datos)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Marcar/Desmarcar unha partición como encriptada\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Marcar/Desmarcar unha partición como arrancable (automática para /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Establecer el sistema de archivos deseado para unha partición\"\n\nmsgid \"Abort\"\nmsgstr \"Abortar\"\n\nmsgid \"Hostname\"\nmsgstr \"Nome de host\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"No configurado, no disponible a menos que se configure manualmente\"\n\nmsgid \"Timezone\"\nmsgstr \"Zona horaria\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Establecer/Modificar as opciones siguientes\"\n\nmsgid \"Install\"\nmsgstr \"Instalar\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Usar ESC para saltar\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Sugerir el diseño de partición\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Ingrese unha contraseña: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Ingrese unha contraseña de cifrado para {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Ingrese a contraseña de cifrado de disco (deje en blanco para no cifrar): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Crear un super-usuario requerido con privilexios sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Ingrese a contraseña de root (deje en blanco para deshabilitar root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Contraseña para o usuario “{}”: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Verificando que os paquetes adicionais existen (esto pode tardar unos segundos)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"¿Gustarialle utilizar a sincronización automática de hora (NTP) con os servidores de hora predeterminados?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"A hora do hardware y otros pasos post-configuración poden ser necesarios para que NTP funcione. \\n\"\n\"Para más información, por favor, consulte a wiki de Arch\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Introduzca un nome de usuario para crear un usuario adicional (deje en blanco para saltar): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Use ESC para omitir\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Escoxa un objeto da lista y seleccione unha das acciones disponibles para ejecutar\"\n\nmsgid \"Cancel\"\nmsgstr \"Cancelar\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Confirmar e salir\"\n\nmsgid \"Add\"\nmsgstr \"Añadir\"\n\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\nmsgid \"Edit\"\nmsgstr \"Editar\"\n\nmsgid \"Delete\"\nmsgstr \"Eliminar\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Seleccione unha acción para '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Copiar a nueva clave:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Tipo de nic desconocido: {}. os valores posibles son {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Esta es su configuración elegida:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman ya se está ejecutando, esperando un máximo de 10 minutos para que finalice.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"o bloqueo de pacman preexistente nunca se cerró. Limpie cualquier sesión de pacman existente antes de usar archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Escoxa qué repositorios adicionais opcionales habilitar\"\n\nmsgid \"Add a user\"\nmsgstr \"Añadir un usuario\"\n\nmsgid \"Change password\"\nmsgstr \"Cambiar contraseña\"\n\n# maybe ascender/descender here?\nmsgid \"Promote/Demote user\"\nmsgstr \"Promocionar/Degradar usuario\"\n\nmsgid \"Delete User\"\nmsgstr \"Eliminar usuario\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Definir un nuevo usuario\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Nome de usuario : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"¿Debe {} ser un superusuario (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Defina usuarios con privilegio sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Sin configuración de red\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Establecer os subvolúmenes deseados en unha partición btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleccione en qué partición configurar os subvolúmenes\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Administrar subvolúmenes btrfs para la partición actual\"\n\nmsgid \"No configuration\"\nmsgstr \"Sin configuración\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Guardar configuración de usuario\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Guardar credenciales de usuario\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Guardar diseño de disco\"\n\nmsgid \"Save all\"\nmsgstr \"Guardar todo\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Escoxa qué configuración guardar\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Ingrese un directorio para guardar a(s) configuración(es): \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"No es un directorio válido: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"A contraseña que está utilizando parece ser débil,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"¿Está seguro de querer usarlo?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Repositorios opcionales\"\n\nmsgid \"Save configuration\"\nmsgstr \"Guardar configuración\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Configuraciones que faltan:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Debe especificar unha contraseña de root o al menos 1 superusuario\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Administrar cuentas de superusuario: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Administrar cuentas de usuario ordinarias: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolumen :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" montado en {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" con opción {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"Complete os valores deseados para un nuevo subvolumen\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Nome do subvolumen \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Punto de montaje do subvolumen\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Opciones do subvolumen\"\n\nmsgid \"Save\"\nmsgstr \"Guardar\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Nome do subvolumen :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Seleccione un punto de montaje :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Seleccione as opciones de subvolumen deseadas \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Defina usuarios con privilexio sudo, por nome de usuario: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Se ha creado un archivo de registro aquí: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"¿Le gustaría utilizar subvolúmenes BTRFS con unha estructura predeterminada?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"¿Le gustaría usar a compresión BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"¿Le gustaría crear unha partición separada para /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"As unidades seleccionadas no tienna capacidad mínima requerida para unha sugerencia automática\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Capacidad mínima para a partición /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Capacidad mínima para a partición Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Continuar\"\n\nmsgid \"yes\"\nmsgstr \"sí\"\n\nmsgid \"no\"\nmsgstr \"no\"\n\nmsgid \"set: {}\"\nmsgstr \"establecer: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"A configuración manual debe ser unha lista.\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"No se especificó iface para a configuración manual\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"A configuración manual da NIC sin DHCP automático requiere unha dirección IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Añadir interfaz\"\n\nmsgid \"Edit interface\"\nmsgstr \"Editar interfaz\"\n\nmsgid \"Delete interface\"\nmsgstr \"Eliminar intefaz\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Seleccione a interfaz para agregar\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Configuración manual\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Marcar/Desmarcar unha partición como comprimida (solo btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"A contraseña que está utilizando parece ser débil, ¿está seguro de que desea usarla?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Proporciona unha selección de entornos de escritorio y administradores de ventanas en mosaico, p.e. gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Seleccione su entorno de escritorio deseado\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"unha instalación muy básica que te permite personalizar Arch Linux como mejor te parezca.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Proporciona unha selección de varios paquetes de servidor para instalar y habilitar, p.e. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Escoxa qué servidores instalar, si no hay ninguno, se realizará unha instalación mínima\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Instala un sistema mínimo, así como controladores xorg y gráficos.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Presione Entrar para continuar.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"¿Gustarialle acceder a la instalación recién creada e realizar a configuración posterior á instalación?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"¿Está seguro de que desea restablecer esta configuración?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Seleccione uno ou miss discos duros para usar e configurar\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"¡Cualquier modificación a a configuración existente restablecerá el diseño do disco!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Se restablece a selección do disco duro, esto tamén restablecerá o diseño actual do disco. ¿Está seguro?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Guardar y salir\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"contiene particións en cola, esto as eliminará, ¿está seguro?\"\n\nmsgid \"No audio server\"\nmsgstr \"Sin servidor de audio\"\n\nmsgid \"(default)\"\nmsgstr \"(predeterminado)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Use ESC para omitir\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Use CTRL+C para restablecer a selección actual\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Copiar a: \"\n\nmsgid \"Edit: \"\nmsgstr \"Editar: \"\n\nmsgid \"Key: \"\nmsgstr \"Clave: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Editar {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Añadir: \"\n\nmsgid \"Value: \"\nmsgstr \"Valor: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"pode omitir a selección de unha unidad y a partición y usar cualquier configuración de unidad que esté montada en /mnt (experimental)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Seleccione uno de os discos u omita y use /mnt como predeterminado\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Seleccione qué particións marcar para formatear:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Usar HSM para desbloquear a unidad cifrada\"\n\nmsgid \"Device\"\nmsgstr \"Dispositivo\"\n\nmsgid \"Size\"\nmsgstr \"Tamaño\"\n\nmsgid \"Free space\"\nmsgstr \"Espacio libre\"\n\nmsgid \"Bus-type\"\nmsgstr \"Tipo de bus\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Debe especificar unha contraseña de root o al menos 1 usuario con privilegios sudo\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Ingrese el nombre de usuario (déjelo en blanco para omitir): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"o nombre de usuario que ingresó no es válido. Intente nuevamente\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"¿Debe \\\"{}\\\" ser un superusuario (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Seleccione qué particións cifrar\"\n\nmsgid \"very weak\"\nmsgstr \"muy débil\"\n\nmsgid \"weak\"\nmsgstr \"débil\"\n\nmsgid \"moderate\"\nmsgstr \"moderado\"\n\nmsgid \"strong\"\nmsgstr \"fuerte\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Agregar subvolumen\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Editar subvolumen\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Eliminar subvolumen\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Interfaces {} configuradas\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Esta opción habilita a cantidad de descargas paralelas que poden ocurrir durante a instalación\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Ingrese el número de descargas paralelas que se habilitarán.\\n\"\n\" (Ingrese un valor entre 1 y {})\\n\"\n\"Nota:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Valor máximo   : {} ( Habilita {} descargas paralelas, permite {} descargas simultáneas )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Valor mínimo   : 1 ( Habilita 1 descarga paralela, permite 2 descargas simultáneas )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Deshabilitar/Predeterminado : 0 ( Deshabilita a descarga paralea, permite solo 1 descarga simultánea )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"¡Entrada no válida! Intente nuevamente con unha entrada válida [1 a {max_downloads}, o 0 para deshabilitar]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Descargas paralelas\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC para omitir\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C para restablecer\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB para seleccionar\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Valor predeterminado: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Para poder usar esta traducción, instale manualmente unha fonte que admita el idioma.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"A fonte debe almacenarse como {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall require privilegios de root para ejecutarse. Consulte --help para más información.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Seleccione un modo de execución\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"No se pode recuperar el perfil da URL especificada: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"os perfiles deben tener un nombre único, pero se encontraron definiciones de perfil con nombre duplicado: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Seleccione uno o más dispositivos para usar y configurar\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Si restablece la selección do dispositivo, esto también restablecerá el diseño actual do disco. ¿Está seguro?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"particións existentes\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Seleccione unha opción de partición\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Ingrese el directorio raíz de os dispositivos montados: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Capacidad mínima para la partición /home: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Capacidad mínima para la partición Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Esta es unha lista de profiles_bck preprogramados que podrían facilitar la instalación de cosas como entornos de escritorio\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Selección de perfil actual\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Eliminar todas las particións recién agregadas\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Asignar punto de montaje\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Marcar/Desmarcar para formatear (borra datos)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Marcar/Desmarcar como arrancable\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Cambiar el sistema de archivos\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Marcar/Desmarcar como comprimido\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Establecer subvolúmenes\"\n\nmsgid \"Delete partition\"\nmsgstr \"Eliminar partición\"\n\nmsgid \"Partition\"\nmsgstr \"Partición\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Esta partición está actualmente cifrada, para formatearla se debe especificar un sistema de archivos\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"os puntos de montaje da partición son relativos al interior da instalación; el arranque sería /boot como ejemplo.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Si se establece el punto de montaje /boot, la partición también se marcará como arrancable.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Punto de montaje: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Sectores libres actuales en el dispositivo {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Sectores totales: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Introduzca el sector de inicio (predeterminado: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Ingrese el sector final da partición (porcentaje o número de bloque, predeterminado: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Esto eliminará todas las particións recientemente agregadas, ¿continuar?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Gestión de particións: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Largo total: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Tipo de cifrado\"\n\nmsgid \"Iteration time\"\nmsgstr \"Tiempo de iteración\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Ingrese el tiempo de iteración para cifrado LUKS (en milisegundos)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Valores más grandes mejoran la seguridad pero aumentan el tiempo de arranque\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Por defecto: 10000ms, Rango recomendado 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Tiempo de iteración no pode estar vacío\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Tiempo de iteración no pode menor a 100ms\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Tiempo de iteración no pode ser mayor a 120000ms\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Por favor ingrese un número válido\"\n\nmsgid \"Partitions\"\nmsgstr \"particións\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Non hai dispositivos HSM disponibles\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"particións a cifrar\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Seleccione la opción de cifrado de disco\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Seleccione un dispositivo FIDO2 para usar con HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Utlizar un diseño de partición predeterminado de mejor esfuerzo\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Partición manual\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Configuración premontada\"\n\nmsgid \"Unknown\"\nmsgstr \"Desconocido\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Cifrado de partición\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formateando {} en \"\n\nmsgid \"← Back\"\nmsgstr \"← Regresar\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Cifrado de disco\"\n\nmsgid \"Configuration\"\nmsgstr \"Configuración\"\n\nmsgid \"Password\"\nmsgstr \"Contraseña\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Todos os ajustes se restablecerán, ¿está seguro?\"\n\nmsgid \"Back\"\nmsgstr \"Regresar\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Por favor, elixa qué xestor de inicio de sesión instalar para os perfiles elegidos: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Tipo de entorno: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"O controlador propietario de Nvidia no es compatible con Sway. Es probable que encuentre problemas, ¿Desexar continuar?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Paquetes instalados\"\n\nmsgid \"Add profile\"\nmsgstr \"Agregar perfil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Editar perfil\"\n\nmsgid \"Delete profile\"\nmsgstr \"Eliminar perfil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Nome de perfil: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"El nombre de perfil que ingresó ya está en uso. Intente nuevamente\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Paquetes que se instalarasen con este perfil (separados por espacios, déjelo en blanco para omitir): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Servicios que se habilitarán con este perfil (separados por espacios, deje en blanco para omitir): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"¿Debería habilitarse este perfil para la instalación?\"\n\nmsgid \"Create your own\"\nmsgstr \"Crear tu propio\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Seleccione un controlador de gráficos o deje en blanco para instalar todos os controladores de código abierto\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway necesita acceso a sus dispositivos de hardware (teclado, mouse, etc.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Escoxa unha opción para darle a Sway acceso a su hardware\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Controlador de gráficos\"\n\nmsgid \"Greeter\"\nmsgstr \"xestor de inicio de sesión\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Por favor, elixa qué xestor de inicio de sesión instalar\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Esta es unha lista de default_profiles preprogramados\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Configuración do disco\"\n\nmsgid \"Profiles\"\nmsgstr \"Perfiles\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Encontrar posibles directorios para guardar archivos de configuración...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Seleccione el directorio (o directorios) para guardar os archivos de configuración\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Agregar un espejo personalizado\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Cambiar espejo personalizado\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Eliminar espejo personalizado\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Ingrese el nombre (deje en blanco para omitir): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Ingrese la URL (deje en blanco para omitir): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Seleccione la opción de verificación de firma\"\n\nmsgid \"Select signature option\"\nmsgstr \"Seleccione la opción de firma\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Espejos personalizados\"\n\nmsgid \"Defined\"\nmsgstr \"Definido\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Guardar la configuración do usuario (incluido el diseño do disco)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Ingrese un directorio para guardar las configuraciones (completar con tabulación habilitado)\\n\"\n\"Guardar directorio: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"¿Desexa guardar {} archivo(s) de configuración na siguiente ubicación?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Guardar {} archivos de configuración en {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Espellos\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Rexions de espejos\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Valor máximo   : {} ( Habilita {} descargas paralelas, permite {max_downloads+1} descargas simultáneas )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"¡Entrada no válida! Intente nuevamente con unha entrada válida [1 a {}, o 0 para deshabilitar]\"\n\nmsgid \"Locales\"\nmsgstr \"Localidades\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Total: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Todos os valores ingresados poden tener unha unidad como sufijo: B, KB, KiB, MB, MiB ...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Se non se proporciona ningunha unidad, o valor se interpreta como sectores\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Ingrese el inicio (predeterminado: sector {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Ingrese el final (predeterminado: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Non se pode determinar os dispositivos fido2. ¿Está instalado libfido2?\"\n\nmsgid \"Path\"\nmsgstr \"Ruta\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Fabricante\"\n\nmsgid \"Product\"\nmsgstr \"Producto\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Configuración no válida: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Tipo\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Esta opción habilita a cantidade de descargas paralelas que poden ocurrir durante as descargas de paquetes\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Ingrese el número de descargas paralelas que se habilitarán.\\n\"\n\"\\n\"\n\"Nota:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Valor máximo recomendado : {} ( Permite {} descargas paralelas simultáneas )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Deshabilitar/Predeterminado : 0 ( Deshabilita la descarga paralela, permite solo 1 descarga simultánea )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"¡Entrada non válida! Intente novamente con unha entrada válida [ou 0 para deshabilitar]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland necesita acceso ao seu asiento (colección de dispositivos de hardware, es decir, teclado, mouse, etc.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Escoxa unha opción para darle acceso a Hyprland a su hardware\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Todos os valores introducidos poden tener como sufijo unha unidad: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"¿Gustarialle utilizar imágenes do kernel unificadas?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Imaxes do kernel unificadas\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Esperando a que se complete la sincronización da hora (timedatectl show).\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"A sincronización de hora no se completa mientras espera - consulte os documentos para encontrar soluciones: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Saltarse la espera de sincronización automática da hora (esto pode causar problemas si la hora no está sincronizada durante la instalación)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Esperando a que se complete la sincronización do llavero de Arch Linux (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Perfiles seleccionados: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"A sincronización de hora no se completa mientras espera - consulte os documentos para encontrar soluciones: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Marcar/Desmarcar como nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"¿Le gustaría utilizar compresión o desactivar CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"Usar compresión\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Desactivar copia en escritura\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Proporciona unha selección de entornos de escritorio y administradores de ventanas en mosaico, p.e. GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Tipo de configuración: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Tipo de configuración LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"Actualmente no se admite el cifrado de disco LVM con más de 2 particións\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE Plasma)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Seleccione unha opción LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Particionamiento\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Gestión de volúmenes lógicos (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Volúmenes físicos\"\n\nmsgid \"Volumes\"\nmsgstr \"Volúmenes\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Volúmenes LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Volúmenes LVM a cifrar\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Seleccione qué volúmenes LVM cifrar\"\n\nmsgid \"Default layout\"\nmsgstr \"Diseño predeterminado\"\n\nmsgid \"No Encryption\"\nmsgstr \"Sen cifrado\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM en LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS en LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Sí\"\n\nmsgid \"No\"\nmsgstr \"No\"\n\nmsgid \"Archinstall help\"\nmsgstr \"axuda de archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (predeterminado)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Presione Ctrl+h para obtener axuda\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Escoxa unha opción para darle a Sway acceso a su hardware\"\n\n# maybe \"Acceso a la estación\"  or \"Gestión de puestos (seats)\" could be better?\nmsgid \"Seat access\"\nmsgstr \"Acceso al asiento\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Punto de montaje\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Ingrese la contraseña de cifrado do disco (deje en blanco si no desea cifrar)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Contraseña de cifrado de disco\"\n\nmsgid \"Partition - New\"\nmsgstr \"Partición - nova\"\n\nmsgid \"Filesystem\"\nmsgstr \"Sistema de archivos\"\n\nmsgid \"Invalid size\"\nmsgstr \"Tamaño no válido\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Inicio (predeterminado: sector {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Fin (predeterminado: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Nome do subvolumen\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Tipo de configuración do disco\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Directorio de montaxe raíz\"\n\nmsgid \"Select language\"\nmsgstr \"Seleccionar idioma\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Escriba paquetes adicionais para instalar (separados por espacios, déxelo en blanco para omitir)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Número de descarga no válido\"\n\nmsgid \"Number downloads\"\nmsgstr \"Número de descargas\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"O nome de usuario ingresado no es válido\"\n\nmsgid \"Username\"\nmsgstr \"Nome de usuario\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"¿\\\"{}\\\" debería ser un superusuario (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Interfaces\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Debe ingresar unha IP válida en el modo de configuración de IP\"\n\nmsgid \"Modes\"\nmsgstr \"Modos\"\n\nmsgid \"IP address\"\nmsgstr \"Dirección IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Ingrese la dirección IP de su puerta de enlace (enrutador) (deje en blanco si no hay ninguna)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Dirección de puerta de enlace\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Ingrese sus servidores DNS separados por espacios (deje en blanco si no hay ninguno)\"\n\nmsgid \"DNS servers\"\nmsgstr \"Servidores DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Configurar interfaces\"\n\nmsgid \"Kernel\"\nmsgstr \"Núcleo\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"No se detecta UEFI ou algunhas opciones están deshabilitadas\"\n\nmsgid \"Info\"\nmsgstr \"Info\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"O controlador patentado de Nvidia non e compatible con Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Es probable que tengas problemas. ¿Te parece bien?\"\n\nmsgid \"Main profile\"\nmsgstr \"Perfil principal\"\n\nmsgid \"Confirm password\"\nmsgstr \"Confirmar contraseña\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"A contraseña de confirmación no coincide, por favor intente nuevamente\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"No es un directorio válido\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"¿Quiere continuar?\"\n\nmsgid \"Directory\"\nmsgstr \"Directorio\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Ingrese un directorio para guardar las configuraciones (autocompletado de tabulación habilitado)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"¿Desexa guardar os archivos de configuración en {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Habilitado\"\n\nmsgid \"Disabled\"\nmsgstr \"Deshabilitado\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Envíe este problema (y archivo) a https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Nome do espejo\"\n\nmsgid \"Url\"\nmsgstr \"Url\"\n\nmsgid \"Select signature check\"\nmsgstr \"Seleccionar verificación de firma\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Seleccionar modo de execución\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Presione ? para obtener axuda\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Escoxa unha opción para darle a Hyprland acceso a su hardware\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Repositorios adicionais\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap en zram\"\n\nmsgid \"Name\"\nmsgstr \"Nome\"\n\nmsgid \"Signature check\"\nmsgstr \"Comprobación de firma\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Segmento de espazo libre seleccionado no dispositivo {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Tamaño: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Tamaño (predeterminado: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Dispositivo HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"No se pudieron encontrar algunos paquetes en el repositorio\"\n\nmsgid \"User\"\nmsgstr \"Usuario\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Aplicarase la configuración especificada\"\n\nmsgid \"Wipe\"\nmsgstr \"Borrar\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Marcar/Desmarcar como XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Cargando paquetes...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Seleccione cualquier paquete da lista a continuación que deba instalarse adicionalmente\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Agregar un repositorio personalizado\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Cambiar el repositorio personalizado\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Eliminar repositorio personalizado\"\n\nmsgid \"Repository name\"\nmsgstr \"Nome do repositorio\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Agregar un servidor personalizado\"\n\nmsgid \"Change custom server\"\nmsgstr \"Cambiar servidor personalizado\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Eliminar servidor personalizado\"\n\nmsgid \"Server url\"\nmsgstr \"URL do servidor\"\n\nmsgid \"Select regions\"\nmsgstr \"Seleccione regiones\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Agregar servidores personalizados\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Agregar repositorio personalizado\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Cargando regiones de espejo...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Espejos y repositorios\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Regiones de espejo seleccionadas\"\n\nmsgid \"Custom servers\"\nmsgstr \"Servidores personalizados\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Repositorios personalizados\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Sólo admitense caracteres ASCII\"\n\nmsgid \"Show help\"\nmsgstr \"Mostrar axuda\"\n\nmsgid \"Exit help\"\nmsgstr \"Axuda para salir\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Subir en vista previa\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Bajar en vista previa\"\n\nmsgid \"Move up\"\nmsgstr \"Subir\"\n\nmsgid \"Move down\"\nmsgstr \"Bajar\"\n\nmsgid \"Move right\"\nmsgstr \"Mover a la dereita\"\n\nmsgid \"Move left\"\nmsgstr \"Mover a la esquerda\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Saltar á entrada\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Saltar selección (si está disponible)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Restablecer selección (si está disponible)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Seleccionar en selección única\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Seleccionar en selección múltiple\"\n\nmsgid \"Reset\"\nmsgstr \"Restablecer\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Saltar el menú de selección\"\n\nmsgid \"Start search mode\"\nmsgstr \"Iniciar modo de búsqueda\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Salir do modo de búsqueda\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc necesita acceso a o seu asiento (colección de dispositivos de hardware, es decir, teclado, ratón, etc.)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Escoxa unha opción para darle a labwc acceso a su hardware\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri necesita acceso a su asiento (colección de dispositivos de hardware, es decir, teclado, ratón, etc.)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Escoxa unha opción para darle a niri acceso a su hardware\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Marcar/Desmarcar como ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"Grupo de paquetes:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Salir de archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"Reiniciar el sistema\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"chroot na instalación para configuraciones posteriores a la instalación\"\n\nmsgid \"Installation completed\"\nmsgstr \"Instalación completada\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"¿Qué lle gustaría hacer a continuación?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Seleccione qué modo configurar para \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Contraseña incorrecta para descifrar el archivo de credenciales\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Contraseña incorrecta\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Contraseña para descifrar el archivo de credenciales\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"¿Desexa encriptar el archivo user_credentials.json?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Contraseña para cifrar el archivo de credenciales\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repositorios: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Nova versión disponible\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Inicio de sesión sin contraseña\"\n\nmsgid \"Second factor login\"\nmsgstr \"Inicio de sesión con factor secundario\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"¿Desexa configurar Bluetooth?\"\n\nmsgid \"Print service\"\nmsgstr \"Servicio de impresión\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"¿Desexa configurar el servicio de impresión?\"\n\nmsgid \"Power management\"\nmsgstr \"Administración de energía\"\n\nmsgid \"Authentication\"\nmsgstr \"Autenticación\"\n\nmsgid \"Applications\"\nmsgstr \"Aplicacións\"\n\nmsgid \"U2F login method: \"\nmsgstr \"Método de inicio de sesión U2F: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo sen contraseña: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Tipo de snapshot Btrfs: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Sincronizando o sistema...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"O valor no pode estár vacío\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Tipo de snapshot\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Tipo de snapshot: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Configuración de inicio de sesión U2F\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"No se encontró dispositivos U2F\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"Método de inicio de sesión U2F\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Habilitar sudo sin contraseña?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Configurando dispositivo U2F para usuario: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"pode que deba ingresar su PIN antes de tocar su dispositivo U2F para registrarlo\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Iniciando modificaciones en dispositivo en \"\n\nmsgid \"No network connection found\"\nmsgstr \"No se encontró unha conección de red\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"¿Desexa conectarse a Wifi?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"No se encontró ningunha interfaz de wifi\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Seleccione unha red de wifi para conectarse\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Buscando redes de wifi...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"No se encontró redes de wifi\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Error configurando wifi\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Ingrese contraseña de wifi\"\n\nmsgid \"Ok\"\nmsgstr \"Ok\"\n\nmsgid \"Removable\"\nmsgstr \"Desmontable\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Instalar a ubicación desmontable\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"Se instalarase en /EFI/BOOT/ (ubicación desmontable)\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"Se instalarase en ubicación estandar con entrada NVRAM\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"¿Desexa instalar el xestor de arranque na ubicación predeterminada de búsqueda de medios desmontables?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Esto instala el xestor de arranque en /EFI/BOOT/BOOTX64.EFI (o similar) lo cual es útil para:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"Disco USB u otros medios portátiles externos.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Sistemas donde quiere que el disco sea arrancable en cualquier computadora.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Firmware que non soporta entradas arrancables NVRAM.\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"Instalarase a /EFI/BOOT/ (ubicación desmontable, segura por defecto)\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"Instalarase a ubicación personalizada con entrada NVRAM\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Firmware que non soporta entradas arrancables NVRAM como la mayoría das placas MSI,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"A mayoría das Macs Apple, moitas laptops...\"\n\nmsgid \"Language\"\nmsgstr \"Idioma local\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"Algoritmo de compresión\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Solo paquetes como base, base-devel, linux, linux-firmware, efibootmgr y paquetes opcionales de perfil se instalan.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Seleccione algorimto de compresión zram:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"Usar xestor de Red (backend por defecto)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"Usar xestor de Red (backend iwd)\"\n\nmsgid \"Firewall\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select audio configuration\"\nmsgstr \"Guardar configuración de usuario\"\n\n#, fuzzy\nmsgid \"Enter credentials file decryption password\"\nmsgstr \"Contraseña para descifrar el archivo de credenciales\"\n\n#, fuzzy\nmsgid \"Enter root password\"\nmsgstr \"Ingrese unha contraseña: \"\n\nmsgid \"Select bootloader to install\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Configuration preview\"\nmsgstr \"Configuración\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved\"\nmsgstr \"Ingrese un directorio para guardar a(s) configuración(es): \"\n\n#, fuzzy\nmsgid \"Select encryption type\"\nmsgstr \"Tipo de cifrado\"\n\n#, fuzzy\nmsgid \"Select disks for the installation\"\nmsgstr \"Nome do host desexado para a instalación: \"\n\n#, fuzzy\nmsgid \"Enter a mountpoint\"\nmsgstr \"Seleccione un punto de montaje :\"\n\n#, fuzzy, python-brace-format\nmsgid \"Enter a size (default: {}): \"\nmsgstr \"Ingrese el final (predeterminado: {}): \"\n\n#, fuzzy\nmsgid \"Enter subvolume name\"\nmsgstr \"Nome do subvolumen\"\n\n#, fuzzy\nmsgid \"Enter subvolume mountpoint\"\nmsgstr \"Punto de montaje do subvolumen\"\n\n#, fuzzy\nmsgid \"Select a disk configuration\"\nmsgstr \"Configuración do disco\"\n\n#, fuzzy\nmsgid \"Enter root mount directory\"\nmsgstr \"Directorio de montaxe raíz\"\n\nmsgid \"You will use whatever drive-setup is mounted at the specified directory\"\nmsgstr \"\"\n\nmsgid \"WARNING: Archinstall won't check the suitability of this setup\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select main filesystem\"\nmsgstr \"Cambiar el sistema de archivos\"\n\nmsgid \"Enter a hostname\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select timezone\"\nmsgstr \"Seleccione unha zona horaria\"\n\n#, fuzzy\nmsgid \"Enter the number of parallel downloads to be enabled\"\nmsgstr \"\"\n\"Ingrese el número de descargas paralelas que se habilitarán.\\n\"\n\"\\n\"\n\"Nota:\\n\"\n\n#, python-brace-format\nmsgid \"Value must be between 1 and {}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select which kernel(s) to install\"\nmsgstr \"Por favor, elixa qué xestor de inicio de sesión instalar\"\n\n#, fuzzy\nmsgid \"Enter a respository name\"\nmsgstr \"Nome do repositorio\"\n\n#, fuzzy\nmsgid \"Enter the repository url\"\nmsgstr \"Cambiar el repositorio personalizado\"\n\n#, fuzzy\nmsgid \"Enter server url\"\nmsgstr \"URL do servidor\"\n\n#, fuzzy\nmsgid \"Select mirror regions to be enabled\"\nmsgstr \"Regiones de espejo seleccionadas\"\n\n#, fuzzy\nmsgid \"Select optional repositories to be enabled\"\nmsgstr \"Escoxa qué repositorios adicionais opcionales habilitar\"\n\n#, fuzzy\nmsgid \"Select an interface\"\nmsgstr \"Eliminar intefaz\"\n\n#, fuzzy\nmsgid \"Choose network configuration\"\nmsgstr \"Sin configuración de red\"\n\n#, fuzzy\nmsgid \"No packages found\"\nmsgstr \"No se encontró dispositivos U2F\"\n\n#, fuzzy\nmsgid \"Select which greeter to install\"\nmsgstr \"Por favor, elixa qué xestor de inicio de sesión instalar\"\n\n#, fuzzy\nmsgid \"Select a profile type\"\nmsgstr \"Perfiles seleccionados: \"\n\n#, fuzzy\nmsgid \"Enter new password\"\nmsgstr \"Ingrese contraseña de wifi\"\n\nmsgid \"Enter a username\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter a password\"\nmsgstr \"Ingrese unha contraseña: \"\n\n#, fuzzy\nmsgid \"The password did not match, please try again\"\nmsgstr \"A contraseña de confirmación no coincide, por favor intente nuevamente\"\n\n#~ msgid \"Add :\"\n#~ msgstr \"Añadir :\"\n\n#~ msgid \"Value :\"\n#~ msgstr \"Valor :\"\n\n#, python-brace-format\n#~ msgid \"Edit {origkey} :\"\n#~ msgstr \"Editar {origkey} :\"\n\n#~ msgid \"Copy to :\"\n#~ msgstr \"Copiar a :\"\n\n#~ msgid \"Edite :\"\n#~ msgstr \"Editar :\"\n\n#~ msgid \"Key :\"\n#~ msgstr \"Clave :\"\n"
  },
  {
    "path": "archinstall/locales/he/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: he\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.5\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] כאן נוצר קובץ היומן: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    נא להגיש דיווח על הבעיה הזאת (ואת הקובץ) דרך https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"לבטל את התהליך?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"ופעם נוספת לאימות: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"להשתמש בשטח החלפה ב־zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"שם מארח רצוי להתקנה: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"שם למשתמש העל הנחוץ עם הרשאות על: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"משתמשים נוספים להתקנה (ריק משמעו אין עוד משתמשים): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"זה אמור להיות משתמש על (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"בחירת אזור זמן\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"להשתמש ב־GRUB כמנהל טעינה על פני systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"נא לבחור מנהל טעינה\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"נא לבחור שרת שמע\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"רק חבילות כגוןbase,‏ base-devel,‏ linux,‏ linux-firmware,‏ efibootmgr וחבילות פרופיל כרשות מותקנות.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"כדי שיותקן דפדפן כגון firefox או chromium אפשר לציין זאת בבקשה הבאה.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"נא לכתוב חבילות נוספות להתקנה (להפריד ברווחים, להשאיר ריק כדי לדלג): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"העתקת הגדרות הרשת מה־ISO להתקנה\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"להשתמש ב־NetworkManager (חיוני להגדרת האינטרנט עם כלים חזותיים ב־GNOME וב־KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"נא לבחור מנשק רשת להגדרה\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"נא לבחור איזה מצב להגדרה עבור „{}“ או לדלג כדי להשתמש במצב ברירת המחדל „{}“\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"נא למלא IP ורשת־משנה (סאבנט) עבור {} (למשל: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"נא למלא את כתובת ה־IP של שער הגישה (ראוטר) או להשאיר ריק כדי לא להגדיר: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"נא למלא את שרתי ה־DNS שלך (להפריד ברווחים, להשאיר ריק אם אין): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"נא לבחור באיזו מערכת קבצים צריכה להשתמש המחיצה הראשית שלך\"\n\nmsgid \"Current partition layout\"\nmsgstr \"פריסת מחיצות נוכחית\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"נא לבחור מה לעשות עם‬\\n\"\n\"‫{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"נא לציין את סוג מערכת הקבצים הרצויה במחיצה\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"נא למלא את מיקום ההתחלה (ביחידות של parted‏: s,‏ GB, %, וכו׳ ; ברירת מחדל: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"נא למלא את מיקום הסוף (ביחידות של parted‏: s,‏ GB, %, וכו׳ ; למשל: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} מכיל מחיצות ממתינות, פעולה זו תסיר אותן, להמשיך?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}‬\\n\"\n\"\\n\"\n\"‫בחירה לפי מפתח אילו מחיצות למחוק\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}‬\\n\"\n\"\\n\"\n\"‫בחירה לפי מפתח אילו מחיצות לעגן ואיפה\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * נקודות העגינה של המחיצה הן יחסיות למערכת ההתקנה, מחיצת הטעינה למשל תהיה ‎/boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"נא לבחור להיכן לעגן את המחיצה (להשאיר ריק כדי להסיר את נקודת העגינה): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"‫{}‬‬\\n\"\n\"\\n\"\n\"‫נא לבחור איזו מחיצה לסמן לפרמוט\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"‫{}‬‬‬\\n\"\n\"\\n\"\n\"‫‫נא לבחור איזו מחיצה לסמן להצפנה\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"‫{}‬‬‬\\n\"\n\"\\n\"\n\"‫נא לבחור איזו מחיצה לסמן כזמינה לטעינה\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"‫{}‬\\n\"\n\"\\n\"\n\"‫נא לבחור על איזו מחיצה להגדיר מערכת קבצים\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"נא לציין סוג מערכת קבצים רצויה למחיצה: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"השפה של Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"למחוק את כל הכוננים הנבחרים ולהשתמש בפריסת מחיצות כברירת מחדל על בסיס מאמץ מיטבי\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"לבחור מה לעשות עם כל כונן בנפרד (עם אופן השימוש במחיצה בסוף)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"נא לבחור מה לעשות עם התקני הבלוק הנבחרים\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"זאת רשימה של פרופילים שנכתבו מראש, הם עשויים להקל על התקנת דברים כמו סביבות שולחן עבודה\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"נא לבחור פריסת מקלדת\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"נא לבחור את אחר מהאזורים להוריד ממנו חבילות\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"נא לבחור כונן קשיח אחד או יותר לשימוש והגדרה\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"לתאימות המיטבית עם חומרת ה־AMD שלך, כדאי להשתמש או באפשרות של קוד פתוח לחלוטין או ב־AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"לתאימות המיטבית עם חומרת האינטל שלך, כדאי להשתמש או באפשרות של קוד פתוח לחלוטין או באינטל.‬\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"לתאימות המיטבית עם חומרת ה־Nvidia שלך, כדאי להשתמש במנהל ההתקן הקנייני של Nvidia.‬\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"‫‬‬\\n\"\n\"‫‫נא לבחור מנהל התקן גרפי או להשאיר ריק כדי להתקין מנהלי התקנים בקוד פתוח לגמרי\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"הכול בקוד פתוח (ברירת מחדל)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"נא לבחור אילו ליבות להשתמש או להשאיר ריק לברירת המחדל „{}”\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"נא לבחור באיזו שפה של הגדרה אזורית להשתמש\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"נא לבחור איזה קידוד של הגדרה אזורית להשתמש\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"נא לבחור את אחד מהערכים שמופיע להלן: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"יש לבחור באפשרות אחת או יותר מאלו שלהלן: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"נוספת מחיצה…\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"יש למלא סוג מערכת קבצים תקפה כדי להמשיך. ניתן לעיין ב־`man parted` לקבלת רשימת סוגי מערכת הקבצים התקפות.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"שגיאה: הצגת הפרופילים בכתובת „{}“ הניבה:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"לא ניתן לפענח את התוצאה „{}“ כ־JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"פריסת מקלדת\"\n\nmsgid \"Mirror region\"\nmsgstr \"אזור אתר מראה\"\n\nmsgid \"Locale language\"\nmsgstr \"שפת ההגדרה האזורית\"\n\nmsgid \"Locale encoding\"\nmsgstr \"קידוד ההגדרה האזורית\"\n\nmsgid \"Drive(s)\"\nmsgstr \"כוננים\"\n\nmsgid \"Disk layout\"\nmsgstr \"פריסת כוננים\"\n\nmsgid \"Encryption password\"\nmsgstr \"סיסמת הצפנה\"\n\nmsgid \"Swap\"\nmsgstr \"שטח החלפה\"\n\nmsgid \"Bootloader\"\nmsgstr \"מנהל טעינה\"\n\nmsgid \"Root password\"\nmsgstr \"סיסמת root (משתמש עליון)\"\n\nmsgid \"Superuser account\"\nmsgstr \"חשבון משתמש־על\"\n\nmsgid \"User account\"\nmsgstr \"חשבון משתמש\"\n\nmsgid \"Profile\"\nmsgstr \"פרופיל\"\n\nmsgid \"Audio\"\nmsgstr \"שמע\"\n\nmsgid \"Kernels\"\nmsgstr \"ליבות\"\n\nmsgid \"Additional packages\"\nmsgstr \"חבילות נוספות\"\n\nmsgid \"Network configuration\"\nmsgstr \"הגדרות רשת\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"סנכרון זמן אוטומטי (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"התקנה ({} הגדרות חסרות)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"החלטת לוותר על בחירת כוננים קשיחים\\n\"\n\"‬\\n\"\n\"‫ולהשתמש בתצורת הכוננים שמעוגנת על {} כמו שהיא (ניסיוני)\\n\"\n\"‬\\n\"\n\"‫אזהרה: Archinstall won't check the suitability of this setup\\n\"\n\"‬\\n\"\n\"‏‫Do you wish to continue?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"שימוש מחדש בעותק של מחיצה: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"יצירת מחיצה חדשה\"\n\nmsgid \"Delete a partition\"\nmsgstr \"מחיקת מחיצה\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"פינוי/מחיקה של כל המחיצות\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"הקצאת נקודת עגינה למחיצה\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"סימון/ביטול סימון מחיצה לפרמוט (מחיקה מוחלטת של הנתונים)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"סימון/ביטול סימון מחיצה כמוצפנת\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"סימון/ביטול סימון מחיצה כרשאית טעינה (אוטומטית ל־‎/boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"נא להגדיר מערכת קבצים רצויה למחיצה\"\n\nmsgid \"Abort\"\nmsgstr \"ביטול\"\n\nmsgid \"Hostname\"\nmsgstr \"שם מארח\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"לא מוגדר, לא זמין למעט במקרה של התקנה ידנית\"\n\nmsgid \"Timezone\"\nmsgstr \"אזור זמן\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"הגדרת/שינוי האפשרויות הבאות\"\n\nmsgid \"Install\"\nmsgstr \"התקנה\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"להשתמש ב־ESC כדי לצאת‬\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"הצעת פריסת מחיצות\"\n\nmsgid \"Enter a password: \"\nmsgstr \"נא למלא סיסמה: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"נא למלא סיסמת הצפנה עבור {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"נא למלא סיסמה להצפנת הכונן (להשאיר ריק כדי לא להגדיר הצפנה): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"יצירת משתמש על נחוץ עם הרשאות sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"נא למלא סיסמה למשתמש העליון (יש להשאיר ריק כדי להשבית את root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"סיסמה למשתמש „{}“: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"מתבצע וידוא שחבילות נוספות קיימות (יכול לקחת כמה שניות)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"להשתמש בסנכרון שעון אוטומטי (NTP) מול שרתי התזמון כברירת מחדל?‬\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"שעון חומרה וצעדים נוספים לאחר ההתקנה כנראה יהיו נחוצים כדי שה־NTP יעבוד.‬\\n\"\n\"‫למידע נוסף, נא לפנות לוויקי של Arch\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"נא למלא שם משתמש כדי ליצור משתמש נוסף (ריק כדי לדלג): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"יש להשתמש ב־ESC כדי לדלג‬\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"‫נא לבחור עצם מהרשימה ולבחור באחת מהאפשרויות הזמינות עבורו כדי להפעיל אותו\"\n\nmsgid \"Cancel\"\nmsgstr \"הסגה\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"אישור ויציאה\"\n\nmsgid \"Add\"\nmsgstr \"הוספה\"\n\nmsgid \"Copy\"\nmsgstr \"העתקה\"\n\nmsgid \"Edit\"\nmsgstr \"עריכה\"\n\nmsgid \"Delete\"\nmsgstr \"מחיקה\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"נא לבחור פעולה עבור ‚{}’\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"העתקה למפתח חדש:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"סוג מתאם תקשורת לא ידוע: {}. הערכים האפשריים הם {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"‫זאת ההגדרה שבחרת:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"‫Pacman כבר פועל, נמתין למשך 10 דקות לכל היותר עד לסיומו.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"נעילת ה־pacman הקודמת מעולם לא נסגרה. נא לנקות הפעלות קיימות של pacman בטרם הפעלת archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"נא לבחור אילו מאגרים נוספים להפעיל כרשות\"\n\nmsgid \"Add a user\"\nmsgstr \"הוספת משתמש\"\n\nmsgid \"Change password\"\nmsgstr \"החלפת סיסמה\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"קידום/הסגת משתמש\"\n\nmsgid \"Delete User\"\nmsgstr \"מחיקת משתמש\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"‫הגדרת משתמש חדש‬\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"שם משתמש : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"האם {} אמור לקבל הרשאות על (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"הגדרת משתמשים עם הרשאת sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"אין הגדרות רשת\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"הגדרת תת־כרכים רצויים במחיצת BTRFS\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}‬\\n\"\n\"\\n\"\n\"‫נא לבחור תחת איזו מחיצה להגדיר תת־כרכים\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"ניהול תת־כרכי BTRFS למחיצה הנוכחית\"\n\nmsgid \"No configuration\"\nmsgstr \"אין הגדרה\"\n\nmsgid \"Save user configuration\"\nmsgstr \"שמירת הגדרת משתמש\"\n\nmsgid \"Save user credentials\"\nmsgstr \"שמירת פרטי משתמש\"\n\nmsgid \"Save disk layout\"\nmsgstr \"שמירת פריסת כונן\"\n\nmsgid \"Save all\"\nmsgstr \"לשמור הכול\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"נא לבחור אילו הגדרות לשמור\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"נא למלא את התיקייה להגדרות לשמירה: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"אינה תיקייה תקפה: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"הסיסמה שבחרת נראית חלשה,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"בכל זאת להשתמש בה?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"מאגרי רשות\"\n\nmsgid \"Save configuration\"\nmsgstr \"שמירת הגדרה\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"\"\n\"הגדרות חסרות:\\n\"\n\"‬\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"יש לציין או סיסמה למשתמש העליון (root) או לפחות משתמש אחד עם הרשאות על (sudo)\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"ניהול משתמשים עם הרשאות על: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"ניהול חשבונות משתמשים רגילים: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" תת־כרך :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" מעוגן תחת {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" עם האפשרות {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"‫‫‫‫ נא למלא את הערכים הרצויים לתת־כרך חדש ‬\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"שם תת־כרך \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"נק׳ עיגון תת־כרך\"\n\nmsgid \"Subvolume options\"\nmsgstr \"אפשרויות תת־כרך\"\n\nmsgid \"Save\"\nmsgstr \"שמירה\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"שם תת־כרך :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"נא לבחור נק׳ עגינה :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"נא לבחור את אפשרויות התת־כרך הרצויות \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"הגדרת משתמשים עם הרשאת על (sudo), לפי שם משתמש: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] כאן נוצר קובץ יומן: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"להשתמש בתת־כרכים של BTRFS במבנה ברירת המחדל?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"להשתמש בדחיסה של BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"ליצור מחיצה נפרדת ל־‎/home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"לכוננים הנבחרים אין את הקיבולת המזערית הנחוצה להצעות אוטומטיות\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"הקיבולת המזערית למחיצת ‎/home:‏ {}ג״ב\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"הקיבולת המזערית למחיצת ‎/home:‏ {}ג״ב\"\n\nmsgid \"Continue\"\nmsgstr \"המשך\"\n\nmsgid \"yes\"\nmsgstr \"כן\"\n\nmsgid \"no\"\nmsgstr \"לא\"\n\nmsgid \"set: {}\"\nmsgstr \"הוגדר: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"רשומת ההגדרה הידנית חייבת להיות רשימה\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"לא צוין iface להגדרה ידנית\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"הגדרת מתאם תקשורת ללא DHCP אוטומטי דורש כתובת IP\"\n\nmsgid \"Add interface\"\nmsgstr \"הוספת מנשק\"\n\nmsgid \"Edit interface\"\nmsgstr \"עריכת מנשק\"\n\nmsgid \"Delete interface\"\nmsgstr \"מחיקת מנשק\"\n\nmsgid \"Select interface to add\"\nmsgstr \"נא לבחור מנשק להוספה\"\n\nmsgid \"Manual configuration\"\nmsgstr \"הגדרה ידנית\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"סימון/ביטול סימון מחיצה כדחוסה (btrfs בלבד)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"נראה שהסיסמה שבחרת חלשה, בכל זאת להשתמש בה?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"מספק מבחר סביבות שולחן עבודה ומנהלי ריצוף חלונות, למשל: gnome,‏ kde,‏ sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"נא לבחור את סביבת שולחן העבודה הרצויה לך\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"התקנה בסיסית מאוד שמאפשרת לך להתאים את Arch Linux בדיוק לדרך שנוחה לך.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"מספק מבחר חבילות שרת להתקנה ולהפעלה, למשל: httpd,‏ nginx,‏ mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"נא לבחור אילו שרתים להתקין, אם אין אז תבוצע התקנה מזערית\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"מתקין מערכת מזערית בנוסף ל־xorg ולמנהלי התקנים גרפיים.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"נא ללחוץ על Enter כדי להמשיך.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"האם להיכנס להתקנה החדשה שיצרת עם chroot (העמסת סביבה) לביצוע הגדרות שלאחר התקנה?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"לאפס את ההגדרה הזאת?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"נא לבחור כונן אחד או או יותר לשימוש ולהגדרה‬\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"כל שינוי שהוא להגדרה הקיימת יאפס את פריסת הכוננים!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"איפוס בחירת הכוננים יאפס גם את פריסת הכוננים הנוכחית. להמשיך?\"\n\nmsgid \"Save and exit\"\nmsgstr \"לשמור ולצאת\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"‫{}‬\\n\"\n\"‫‬‫מכיל מחיצות שממתינות בתור, הפעולה הזאת תסיר אותן, להמשיך?\"\n\nmsgid \"No audio server\"\nmsgstr \"אין שרת שמע\"\n\nmsgid \"(default)\"\nmsgstr \"(ברירת מחדל)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"יש להשתמש ב־ESC כדי לדלג\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"יש להשתמש ב־CTRL+C כדי לאפס את הבחירה הנוכחית\\n\"\n\"‬\\n\"\n\"‏‫\\n\"\n\"‬\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"העתקה אל: \"\n\nmsgid \"Edit: \"\nmsgstr \"עריכה: \"\n\nmsgid \"Key: \"\nmsgstr \"מפתח: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"עריכת {}: \"\n\nmsgid \"Add: \"\nmsgstr \"הוספה: \"\n\nmsgid \"Value: \"\nmsgstr \"ערך: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"אפשר לדלג על בחירת כונן וחלוקה למחיצות ולהשתמש בתצורת הכוננים שמעוגנת תחת ‎/mnt כפי שהיא (ניסיוני)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"נא לבחור אחד מהכוננים או לדלג ולהשתמש ב־‎/mnt כברירת מחדל\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"נא לבחור אילו מחיצות לסמן לפרמוט:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"להשתמש ב־HSM לשחרור כונן מוצפן\"\n\nmsgid \"Device\"\nmsgstr \"התקן\"\n\nmsgid \"Size\"\nmsgstr \"גודל\"\n\nmsgid \"Free space\"\nmsgstr \"מקום פנוי\"\n\nmsgid \"Bus-type\"\nmsgstr \"סוג אפיק\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"יש לציין או סיסמה למשתמש העליון (root) או לפחות משתמש אחד עם הרשאות על (sudo)\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"נא למלא שם משתמש (להשאיר ריק כדי לדלג): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"שם המשתמש שמילאת שגוי. נא לנסות שוב\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"האם ל־„{}“ אמורות להיות הרשאות על (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"נא לבחור איזו מחיצה להצפין\"\n\nmsgid \"very weak\"\nmsgstr \"חלשה מאוד\"\n\nmsgid \"weak\"\nmsgstr \"חלשה\"\n\nmsgid \"moderate\"\nmsgstr \"מתונה\"\n\nmsgid \"strong\"\nmsgstr \"חזקה\"\n\nmsgid \"Add subvolume\"\nmsgstr \"הוספת תת־כרך\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"עריכת תת־כרך\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"מחיקת תת־כרך\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"הוגדרו {} מנשקים\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"האפשרות הזאת מאפשרת מספר הורדות במקביל שיכולות להתרחש במהלך התקנה\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"נא למלא את מספר ההורדות המקביליות שתהיינה פעילות.‬\\n\"\n\"‫ (אמור להיות ערך בין 1 ל־{})‬\\n\"\n\"‫הערה:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - ערך מרבי   : {} ( מאפשר {} הורדות במקביל, מאפשר {} הורדות בבת אחת )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - ערך מזערי   : 1 ( מאפשר כל הורדות במקביל, מאפשר שתי הורדות בו־זמנית )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - השבתה/ברירת מחדל : 0 ( השבתת הורדה במקביל, מאפשר הורדה אחת בבת אחת )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"קלט שגוי! נא לנסות שוב עם קלט תקין [1 עד {max_downloads}, או 0 להשבתה]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"הורדות במקביל\"\n\nmsgid \"ESC to skip\"\nmsgstr \"‫ESC לדילוג\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C לאיפוס\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB לבחירה\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[ערך ברירת מחדל: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"כדי להשתמש בתרגום הזה, נא להתקין את הגופן שתומך בשפה הזאת ידנית.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"יש לאחסן את הגופן בתור {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"‫Archinstall דורש הרשאות עליונות (root) כדי לעלות. ‎--help לקבלת מידע נוסף.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"נא לבחור מצב הפעלה\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"לא ניתן למשוך את הפרופיל מהכתובת שצוינה: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"השמות של הפרופילים חייבים להיות יחודיים, אך נמצאו הגדרות פרופילים עם שמות כפולים: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"נא לבחור התקן או יותר לשימוש ולהגדרה\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"איפוס בחירת ההתקנים יאפס גם את פריסת הכוננים הנוכחית. להמשיך?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"מחיצות קיימות\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"נא לבחור אפשרויות מחיצות\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"נא למלא את תיקיית השורש של ההתקנים המעוגנים: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"קיבולת מזערית למחיצת ‎/home: {} ג״ב\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"קיבולת מזערית למחיצת Arch Linux: {} ג״ב\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"זאת רשימה של פרופילי גיבוי שנכתבו מראש, הם עשויים להקל על התקנת דברים כמו סביבות שולחן עבודה\"\n\nmsgid \"Current profile selection\"\nmsgstr \"בחירת הפרופיל הנוכחי\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"הסרת כל המחיצות החדשות שנוספו\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"הקצאת נקודת עגינה\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"סימון/ביטול סימן לפרמוט (מוחה את הנתונים)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"סימון/ביטול סימון כזמין לטעינה\"\n\nmsgid \"Change filesystem\"\nmsgstr \"החלפת מערכת קבצים\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"סימון/ביטול סימון כמכווץ\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"הגדרת תת־כרכים\"\n\nmsgid \"Delete partition\"\nmsgstr \"מחיקת מחיצה\"\n\nmsgid \"Partition\"\nmsgstr \"מחיצה\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"המחיצה הזאת מוצפנת כרגע, כדי לפרמט אותה צריך להגדיר מערכת קבצים\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"נקודות העגינה של המחיצה הן יחסיות למערכת ההתקנה, מחיצת הטעינה למשל תהיה ‎/boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"אם מוגדרת נקודת עגינה על ‎/boot, אז המחיצה תסומן כזמינה לטעינה.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"נקודת עגינה: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"כמות המקטעים (סקטורים) הפנויים כרגע בכונן {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"סך כל המקטעים (סקטורים): {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"נא למלא את מקטע (סקטור) ההתחלה (ברירת מחדל: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"נא למלא את מקטע (סקטור) הסוף של המחיצה (אחוז או מספר בלוק, ברירת מחדל: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"הפעולה הזאת תסיר את המחיצות שנוספו, להמשיך?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"ניהול מחיצות: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"אורך כולל: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"סוג הצפנה\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"מחיצות\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"אין התקני HSM זמינים\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"מחיצות להצפנה\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"נא לבחור אפשרויות להצפנת כונן\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"נא לבחור את התקן ה־FIDO2 לשימוש עבור HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"להשתמש בפריסת מחיצות כברירת מחדל על בסיס מאמץ מיטבי\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"חלוקה ידנית למחיצות\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"הגדרות לעיגון שבוצע\"\n\nmsgid \"Unknown\"\nmsgstr \"לא ידוע\"\n\nmsgid \"Partition encryption\"\nmsgstr \"הצפנת מחיצה\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! {} מפורמט תחת \"\n\nmsgid \"← Back\"\nmsgstr \"→ חזרה\"\n\nmsgid \"Disk encryption\"\nmsgstr \"הצפנת כונן\"\n\nmsgid \"Configuration\"\nmsgstr \"הגדרות\"\n\nmsgid \"Password\"\nmsgstr \"סיסמה\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"כל ההגדרות תאופסנה, להמשיך?\"\n\nmsgid \"Back\"\nmsgstr \"חזרה\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"נא לבחור את מערכת קבלת הפנים לפרופילים הנבחרים: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"סוג סביבה: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"ב־Sway אין תמיכה במנהל ההתקן של Nvidia. כנראה שזה יוביל לבעיות, זה בסדר מבחינתך?\"\n\nmsgid \"Installed packages\"\nmsgstr \"חבילות מותקנות\"\n\nmsgid \"Add profile\"\nmsgstr \"הוספת פרופיל\"\n\nmsgid \"Edit profile\"\nmsgstr \"עריכת פרופיל\"\n\nmsgid \"Delete profile\"\nmsgstr \"מחיקת פרופיל\"\n\nmsgid \"Profile name: \"\nmsgstr \"שם הפרופיל: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"שם הפרופיל שמילאת כבר קיים. נא לנסות שוב\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"חבילות להתקנה עם הפרופיל הזה (להפריד ברווחים, ריק יוביל לדילוג על השלב הזה): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"שירותים להפעלה עם הפרופיל הזה (להפריד ברווחים, ריק יוביל לדילוג על השלב הזה): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"להפעיל את הפרופיל הזה להתקנה?\"\n\nmsgid \"Create your own\"\nmsgstr \"יצירת אחד משלך\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"‫נא לבחור מנהל התקן גרפי או להשאיר ריק כדי להתקין את מנהל ההתקן שכולו בקוד פתוח\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"‫Sway צריך גישה למושב (אוסף של התקני חומרה כמו למשל מקלדת, עכבר וכו׳) שלך\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"‫נא לבחור אפשרות לתת ל־Sway גישה לחומרה שלך\"\n\nmsgid \"Graphics driver\"\nmsgstr \"מנהלי התקני גרפיים\"\n\nmsgid \"Greeter\"\nmsgstr \"מערכת קבלת פנים\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"נא לבחור איזו מערכת קבלת פנים להתקין\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"זאת רשימה של פרופילים ברירת מחדל שנכתבו מראש\"\n\nmsgid \"Disk configuration\"\nmsgstr \"הגדרת כונן\"\n\nmsgid \"Profiles\"\nmsgstr \"פרופילים\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"מתבצע חיפוש אחר תיקיות אפשריות לשמירת קובצי ההגדרות…\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"נא לבחור תיקייה (או תיקיות) לשמירת קובצי ההגדרות\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"הוספת אתר מראה משלך\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"החלפת אתר מראה משלך\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"מחיקת אתר מראה משלך\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"נא למלא שם (ריק לדילוג): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"נא למלא כתובת (ריק לדילוג): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"בחירת אפשרות בדיקת חתימות\"\n\nmsgid \"Select signature option\"\nmsgstr \"בחירת אפשרות חתימות\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"אתרי מראה משלך\"\n\nmsgid \"Defined\"\nmsgstr \"מוגדר\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"שמירת הגדרות משתמש (כולל פריסת כוננים)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"נא למלא תיקייה לשמירת ההגדרות (אפשר להשלים עם tab)\\n\"\n\"‬\\n\"\n\"‫תיקיית השמירה: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"לשמור את {} קובצי ההגדרות בתיקייה הבאה?‬\\n\"\n\"\\n\"\n\"‫{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"קובצי ההגדרות {} נשמרים אל {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"אתרי מראה\"\n\nmsgid \"Mirror regions\"\nmsgstr \"אזורי אתרי מראה\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - ערך מרבי   : {} ( מאפשר {} הורדות במקביל, מאפשר {max_downloads+1} הורדות במקביל )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"קלט שגוי! נא לנסות שוב עם קלט תקין [1 עד {}, או 0 להשבתה]\"\n\nmsgid \"Locales\"\nmsgstr \"הגדרות אזוריות\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"להשתמש ב־NetworkManager (נחוץ להגדרת האינטרנט באופן גרפי ב־GNOME וב־KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"סך הכול: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"אפשר להוסיף יחידה לכל ערך שהוא שהזנת: %, B,‏ KB,‏ KiB,‏ MB,‏ MiB…\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"אם לא צוין ערך, הערך יפורש בתוך סקטורים (מגזרים)\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"נא למלא התחלה (ברירת מחדל: סקטור {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"נא למלא סוף (ברירת מחדל: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"לא ניתן למצוא התקני fido2.‏ libfido2 מותקן?\"\n\nmsgid \"Path\"\nmsgstr \"נתיב\"\n\nmsgid \"Manufacturer\"\nmsgstr \"יצרן\"\n\nmsgid \"Product\"\nmsgstr \"מוצר\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"הגדרה שגויה: {error}\"\n\nmsgid \"Type\"\nmsgstr \"סוג\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"אפשרות זו מאפשרת כמה הורדות במקביל לטובת הורדות של חבילות\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"נא למלא את מספר ההורדות המקביליות להפעלה.‬\\n\"\n\"\\n\"\n\"‫הערה:‬\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - הערך המרבי המומלץ: {} ( מאפשר {} הורדות במקביל בכל עת )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - השבתה/ברירת מחדל : 0 ( משבית הורדות מקביליות, מאפשר רק הורדה אחת כל פעם )‬\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"קלט שגוי! נא לנסות שוב עם קלט תקין [או 0 להשבתה]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"‫Hyprland צריך גישה למושב שלך (seat - אוסף של התקני חומרה, כלומר מקלדת, עכבר וכו׳)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"‫נא לבחור אפשרות כדי לתת ל־Hyprland גישה לחומרה שלך\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"אפשר להוסיף יחידה לכל ערך שהוא: %, B,‏ KB,‏ KiB,‏ MB,‏ MiB…\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"להשתמש בדמויות ליבה אחודות (UKI)?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"דמויות ליבה אחודות\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"בהמתנה להשלמת סנכרון השעון (timedatectl show).\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"סנכרון זמן לא מסתיים, בזמן ההמתנה - כדאי לחפש צורות לעקוף את זה במסמכים: https://archinstall.readthedocs.io/‎\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"לדלג על המתנה לסנכרון השעון אוטומטית (יכול לגרום לבעיות אם השעה לא מסונכרנת במהלך ההתקנה)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"בהמתנה לסיום סנכרון מחזיק מפתחות של Arch Linux‏ (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"פרופילים נבחרים: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"סנכרון זמן לא מסתיים, בזמן ההמתנה - אפשר לחפש צורות לעקוף את זה במסמכים: https://archinstall.readthedocs.io/‎\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"סימון/ביטול סימון כ־nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"להשתמש בדחיסה או להשבית את CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"להשתמש בדחיסה\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"השבתת העתקה בעת כתיבה\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"מספק מבחר סביבות שולחן עבודה ומנהלי ריצוף חלונות, למשל: GNOME,‏ KDE פלזמה, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"סוג הגדרה: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"סוג הגדרת LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"הצפנת כונן LVM עם יותר משתי מחיצות אינה נתמכת כרגע\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"להשתמש ב־NetworkManager (נחוץ להגדרת האינטרנט באופן גרפי ב־GNOME וב־KDE פלזמה)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"בחירת אפשרות LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"חלוקה למחיצות\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"ניהול כרכים לוגיים (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"כרכים פיזיים\"\n\nmsgid \"Volumes\"\nmsgstr \"כרכים\"\n\nmsgid \"LVM volumes\"\nmsgstr \"כרכי LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"כרכי LVM להצפנה\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"נא לבחור אילו כרכי LVM להצפין\"\n\nmsgid \"Default layout\"\nmsgstr \"פריסת ברירת מחדל\"\n\nmsgid \"No Encryption\"\nmsgstr \"אין הצפנה\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM על גבי LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS על גבי LVM\"\n\nmsgid \"Yes\"\nmsgstr \"כן\"\n\nmsgid \"No\"\nmsgstr \"לא\"\n\nmsgid \"Archinstall help\"\nmsgstr \"העזרה של Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (ברירת מחדל)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"לחיצה על Ctrl+h תפנה לעזרה\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"נא לבחור אפשרות לתת ל־Sway גישה לחומרה שלך\"\n\nmsgid \"Seat access\"\nmsgstr \"גישה למושב\"\n\nmsgid \"Mountpoint\"\nmsgstr \"נקודת עגינה\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"נא למלא סיסמה להצפנת הכונן (להשאיר ריק כדי לא להגדיר הצפנה)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"סיסמת הצפנת כונן\"\n\nmsgid \"Partition - New\"\nmsgstr \"מחיצה - חדשה\"\n\nmsgid \"Filesystem\"\nmsgstr \"מערכת קבצים\"\n\nmsgid \"Invalid size\"\nmsgstr \"גודל שגוי\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"התחלה (ברירת מחדל: סקטור {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"סוף (ברירת מחדל: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"שם תת־כרך\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"סוג הגדרת כונן\"\n\nmsgid \"Root mount directory\"\nmsgstr \"תיקיית עגינת שורש\"\n\nmsgid \"Select language\"\nmsgstr \"בחירת שפה\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"נא לכתוב חבילות נוספות להתקנה (להפריד ברווחים, להשאיר ריק כדי לדלג)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"מספר ההורדה שגוי\"\n\nmsgid \"Number downloads\"\nmsgstr \"מספר ההורדות\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"שם המשתמש שמילאת שגוי\"\n\nmsgid \"Username\"\nmsgstr \"שם משתמש\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"האם ל־„{}“ אמורות להיות הרשאות על (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"מנשקים\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"יש למלא כתובת IP תקפה במצב הגדרות IP\"\n\nmsgid \"Modes\"\nmsgstr \"מצבים\"\n\nmsgid \"IP address\"\nmsgstr \"כתובת IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"נא למלא את כתובת ה־IP של שער הגישה (ראוטר - או להשאיר ריק כדי לא להגדיר)\"\n\nmsgid \"Gateway address\"\nmsgstr \"כתובת שער גישה\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"נא למלא את שרתי ה־DNS שלך (להפריד ברווחים, להשאיר ריק אם אין)\"\n\nmsgid \"DNS servers\"\nmsgstr \"שרתי DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"הגדרת מנשקים\"\n\nmsgid \"Kernel\"\nmsgstr \"ליבה\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"לא זוהה UEFI וחלק מהאפשרויות מושבתות\"\n\nmsgid \"Info\"\nmsgstr \"פרטים\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"ב־Sway אין תמיכה במנהל ההתקן הקנייני של Nvidia.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"כנראה שזה יוביל לבעיות, זה בסדר מבחינתך?\"\n\nmsgid \"Main profile\"\nmsgstr \"פרופיל ראשי\"\n\nmsgid \"Confirm password\"\nmsgstr \"אישור סיסמה\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"סיסמת האישור לא תואמת, נא לנסות שוב\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"אינה תיקייה תקפה\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"להמשיך?\"\n\nmsgid \"Directory\"\nmsgstr \"תיקייה\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"נא למלא תיקייה לשמירת ההגדרות (אפשר להשלים עם tab)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"לשמור את קובצי ההגדרות אל {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"פעיל\"\n\nmsgid \"Disabled\"\nmsgstr \"מושבת\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"נא להגיש דיווח על הבעיה הזאת (ואת הקובץ) דרך https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"שם אתר המראה\"\n\nmsgid \"Url\"\nmsgstr \"כתובת\"\n\nmsgid \"Select signature check\"\nmsgstr \"בחירת בדיקת חתימות\"\n\nmsgid \"Select execution mode\"\nmsgstr \"בחירת מצב הפעלה\"\n\nmsgid \"Press ? for help\"\nmsgstr \"נא ללחוץ על ? לעזרה\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"נא לבחור אפשרות כדי לתת ל־Hyprland גישה לחומרה שלך\"\n\nmsgid \"Additional repositories\"\nmsgstr \"מאגרים נוספים\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"החלפה ב־zram\"\n\nmsgid \"Name\"\nmsgstr \"שם\"\n\nmsgid \"Signature check\"\nmsgstr \"בדיקת חתימות\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"כמות המקטעים (הסגמנטים) הנבחרים בכונן {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"גודל: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"גודל (ברירת מחדל: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"התקן HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"חלק מהחבילות לא נמצאו במאגר\"\n\nmsgid \"User\"\nmsgstr \"משתמש\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"ההגדרות שצוינו תחולנה\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"סימון/ביטול סימון כזמין לטעינה\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"חבילות נוספות\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"הוספת אתר מראה משלך\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"החלפת אתר מראה משלך\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"מחיקת אתר מראה משלך\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"שם אתר המראה\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"הוספת אתר מראה משלך\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"החלפת אתר מראה משלך\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"מחיקת אתר מראה משלך\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"בחירת אפשרות חתימות\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"הוספת אתר מראה משלך\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"הוספת אתר מראה משלך\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"אזורי אתרי מראה\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"מאגרי רשות\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"אזורי אתרי מראה\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"אתרי מראה משלך\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"מאגרי רשות\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"בחירת בדיקת חתימות\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"בחירת אזור זמן\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"בחירת מצב הפעלה\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"‫Sway צריך גישה למושב (אוסף של התקני חומרה כמו למשל מקלדת, עכבר וכו׳) שלך\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"נא לבחור אפשרות לתת ל־Sway גישה לחומרה שלך\"\n\n#, fuzzy\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"‫Sway צריך גישה למושב (אוסף של התקני חומרה כמו למשל מקלדת, עכבר וכו׳) שלך\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"נא לבחור אפשרות לתת ל־Sway גישה לחומרה שלך\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"סימון/ביטול סימון כזמין לטעינה\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"העזרה של Archinstall\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"מערכת קבצים\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"האם להיכנס להתקנה החדשה שיצרת עם chroot (העמסת סביבה) לביצוע הגדרות שלאחר התקנה?\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"להמשיך?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"נא לבחור איזה מצב להגדרה עבור „{}“ או לדלג כדי להשתמש במצב ברירת המחדל „{}“\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"סיסמת הצפנת כונן\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"סיסמת root (משתמש עליון)\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"סיסמת הצפנת כונן\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"לשמור את קובצי ההגדרות אל {}?\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"סיסמת הצפנת כונן\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"שם אתר המראה\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"אין התקני HSM זמינים\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"סיסמה\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"להמשיך?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"להמשיך?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"ניהול מחיצות: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"סוג סביבה: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"נא למלא סיסמה: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"נא לבחור את התקן ה־FIDO2 לשימוש עבור HSM\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"אין הגדרות רשת\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"להמשיך?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"הגדרת מנשקים\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"נא לבחור מנשק רשת להגדרה\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"אין הגדרות רשת\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"נא למלא סיסמה: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"שפת ההגדרה האזורית\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"רק חבילות כגוןbase,‏ base-devel,‏ linux,‏ linux-firmware,‏ efibootmgr וחבילות פרופיל כרשות מותקנות.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"נא לבחור נק׳ עגינה :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/hi/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Atharv <atharvnegi26@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: he\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.5\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] यहाँ एक लॉग फ़ाइल बनाई गई है: {} {}\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"कृपया इस समस्या (और फ़ाइल) को https://github.com/archlinux/archinstall/issues पर सबमिट करें।\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"क्या आप वाकई रद्द करना चाहते हैं?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"सत्यापन के लिए एक बार और: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"क्या आप swap के लिए zram इस्तेमाल करना चाहेंगे?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"इच्छित होस्ट का नाम (hostname) इंस्टालेशन के लिए: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"sudo प्रिविलेज वाले ज़रूरी सुपरयूज़र के लिए यूज़रनेम: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"इंस्टॉल करने के लिए कोई अतिरिक्त यूज़र (कोई यूज़र नहीं होने पर खाली छोड़ दें): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"क्या यह user एक superuser होना चाहिए (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"समयक्षेत्र चुनें\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"क्या आप systemd-boot की जगह GRUB को बूटलोडर के रूप में इस्तेमाल करना चाहेंगे?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"एक bootloader चुनें\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"एक audio server चुनें\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"केवल बेस, बेस-डेवल, लिनक्स, लिनक्स-फर्मवेयर, efibootmgr और ऑप्शनल प्रोफ़ाइल पैकेज जैसे पैकेज ही इंस्टॉल किए जाते हैं।\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"ध्यान दें: base-devel अब डिफ़ॉल्ट रूप से इंस्टॉल नहीं होता है। अगर आपको बिल्ड टूल्स की ज़रूरत है तो इसे यहाँ जोड़ें।\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"अगर आप फ़ायरफ़ॉक्स या क्रोमियम जैसा वेब ब्राउज़र चाहते हैं, तो आप इसे नीचे दिए गए प्रॉम्प्ट में बता सकते हैं।\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"अन्य packages का नाम लिखें (स्पेस छोड़कर, अन्यथा खाली छोड़ें): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO नेटवर्क कॉन्फ़िगरेशन को इंस्टॉलेशन में कॉपी करें\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager का इस्तेमाल करें (GNOME और KDE में ग्राफिकली इंटरनेट कॉन्फ़िगर करने के लिए ज़रूरी है)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"कॉन्फ़िगर करने के लिए एक नेटवर्क इंटरफ़ेस चुनें\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"\\\"{}\\\" के लिए किस मोड को कॉन्फ़िगर करना है चुनें या डिफ़ॉल्ट मोड \\\"{}\\\" का उपयोग करने के लिए छोड़ दें\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"{} के लिए IP और सबनेट दर्ज करें (उदाहरण: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"अपना गेटवे (राउटर) IP एड्रेस डालें या अगर कोई नहीं है तो खाली छोड़ दें: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"अपने DNS सर्वर डालें (स्पेस से अलग करें, कोई नहीं के लिए खाली छोड़ें): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"चुनें कि आपका मुख्य पार्टीशन किस फ़ाइलसिस्टम का उपयोग करेगा\"\n\nmsgid \"Current partition layout\"\nmsgstr \"वर्तमान partition (विभाजन) लेआउट\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"चुनें कि इसके साथ क्या करना है\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"पार्टीशन के लिए मनचाहा फ़ाइलसिस्टम टाइप डालें\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"शुरुआती लोकेशन डालें (पार्टेड यूनिट्स में: s, GB, %, वगैरह; डिफ़ॉल्ट: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"अंतिम लोकेशन डालें (अलग-अलग यूनिट में: s, GB, %, आदि; उदाहरण: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} में कतारबद्ध (queued) पार्टीशन हैं, इससे वे हट जाएंगे, क्या आप पक्का हैं?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"इंडेक्स (index) द्वारा चुनें कि कौन से पार्टीशन हटाने हैं\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"इंडेक्स द्वारा चुनें कि कौन सा पार्टीशन कहाँ माउंट करना है\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * पार्टीशन माउंट-पॉइंट इंस्टॉलेशन के अंदर के सापेक्ष (relative) हैं, उदाहरण के लिए बूट /boot होगा।\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"चुनें कि पार्टीशन को कहाँ माउंट करना है (माउंटपॉइंट हटाने के लिए खाली छोड़ें): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"चुनें कि फ़ॉर्मेटिंग के लिए किस पार्टीशन को मार्क (mask) करना है\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"चुनें कि किस पार्टीशन को एनक्रिप्टेड (encrypted) मार्क करना है\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"चुनें कि किस पार्टीशन को बूट करने योग्य (bootable) मार्क करना है\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"चुनें कि किस पार्टीशन पर फ़ाइलसिस्टम सेट करना है\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"पार्टीशन के लिए वांछित फ़ाइलसिस्टम टाइप दर्ज करें: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall की भाषा\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"सभी चयनित ड्राइव्स को वाइप (Wipe) करें और सर्वोत्तम-प्रयास डिफ़ॉल्ट पार्टीशन लेआउट का उपयोग करें\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"चुनें कि प्रत्येक अलग ड्राइव के साथ क्या करना है (जिसके बाद पार्टीशन उपयोग आता है)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"चुनें कि आप चयनित ब्लॉक डिवाइसेज के साथ क्या करना चाहते हैं\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"यह पूर्व-प्रोग्राम किए गए प्रोफ़ाइल की सूची है, ये डेस्कटॉप एनवायरनमेंट जैसी चीजों को इंस्टॉल करना आसान बना सकते हैं\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"कीबोर्ड लेआउट चुनें\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"पैकेज डाउनलोड करने के लिए क्षेत्रों (regions) में से एक चुनें\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"उपयोग और कॉन्फ़िगर करने के लिए एक या अधिक हार्ड ड्राइव चुनें\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"अपने AMD हार्डवेयर के साथ सर्वोत्तम अनुकूलता के लिए, आप सभी ओपन-सोर्स या AMD / ATI विकल्पों का उपयोग करना चाह सकते हैं।\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"अपने Intel हार्डवेयर के साथ सर्वोत्तम अनुकूलता के लिए, आप सभी ओपन-सोर्स या Intel विकल्पों का उपयोग करना चाह सकते हैं।\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"अपने Nvidia हार्डवेयर के साथ सर्वोत्तम अनुकूलता के लिए, आप Nvidia प्रोप्राइटरी (proprietary) ड्राइवर का उपयोग करना चाह सकते हैं।\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"एक ग्राफिक्स ड्राइवर चुनें या सभी ओपन-सोर्स ड्राइवरों को इंस्टॉल करने के लिए खाली छोड़ दें\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"सभी ओपन-सोर्स (डिफ़ॉल्ट)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"चुनें कि कौन से कर्नेल (kernels) का उपयोग करना है या डिफ़ॉल्ट \\\"{}\\\" के लिए खाली छोड़ दें\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"उपयोग करने के लिए लोकेल (locale) भाषा चुनें\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"उपयोग करने के लिए लोकेल एन्कोडिंग चुनें\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"नीचे दिखाए गए मानों में से एक चुनें: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"नीचे दिए गए विकल्पों में से एक या अधिक चुनें: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"पार्टीशन जोड़ा जा रहा है....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"जारी रखने के लिए आपको एक मान्य fs-type दर्ज करना होगा। मान्य fs-type के लिए `man parted` देखें।\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"त्रुटि: URL \\\"{}\\\" पर प्रोफ़ाइल लिस्ट करने का परिणाम यह रहा:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"त्रुटि: \\\"{}\\\" परिणाम को JSON के रूप में डिकोड नहीं किया जा सका:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"कीबोर्ड लेआउट\"\n\nmsgid \"Mirror region\"\nmsgstr \"मिरर क्षेत्र (Mirror region)\"\n\nmsgid \"Locale language\"\nmsgstr \"लोकेल भाषा\"\n\nmsgid \"Locale encoding\"\nmsgstr \"लोकेल एन्कोडिंग\"\n\nmsgid \"Drive(s)\"\nmsgstr \"ड्राइव(s)\"\n\nmsgid \"Disk layout\"\nmsgstr \"डिस्क लेआउट\"\n\nmsgid \"Encryption password\"\nmsgstr \"एन्क्रिप्शन पासवर्ड\"\n\nmsgid \"Swap\"\nmsgstr \"स्वैप (Swap)\"\n\nmsgid \"Bootloader\"\nmsgstr \"बूटलोडर\"\n\nmsgid \"Root password\"\nmsgstr \"रूट पासवर्ड\"\n\nmsgid \"Superuser account\"\nmsgstr \"सुपरयूज़र खाता\"\n\nmsgid \"User account\"\nmsgstr \"उपयोगकर्ता खाता\"\n\nmsgid \"Profile\"\nmsgstr \"प्रोफ़ाइल\"\n\nmsgid \"Audio\"\nmsgstr \"ऑडियो\"\n\nmsgid \"Kernels\"\nmsgstr \"कर्नेल (Kernels)\"\n\nmsgid \"Additional packages\"\nmsgstr \"अतिरिक्त पैकेज\"\n\nmsgid \"Network configuration\"\nmsgstr \"नेटवर्क कॉन्फ़िगरेशन\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"स्वचालित समय सिंक (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"इंस्टॉल करें ({} कॉन्फ़िगरेशन गायब है/हैं)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"आपने हार्डड्राइव चयन छोड़ने का निर्णय लिया है\\n\"\n\"और जो भी ड्राइव-सेटअप {} पर माउंट है उसका उपयोग करेंगे (प्रयोगात्मक)\\n\"\n\"चेतावनी: Archinstall इस सेटअप की उपयुक्तता की जाँच नहीं करेगा\\n\"\n\"क्या आप जारी रखना चाहते हैं?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"पार्टीशन इंस्टेंस का पुनः उपयोग: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"एक नया पार्टीशन बनाएँ\"\n\nmsgid \"Delete a partition\"\nmsgstr \"एक पार्टीशन हटाएँ\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"सभी पार्टीशन साफ़ करें/हटाएँ\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"पार्टीशन के लिए माउंट-पॉइंट असाइन करें\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"फ़ॉर्मेट किए जाने वाले पार्टीशन को मार्क/अनमार्क करें (डेटा मिटा देता है)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"पार्टीशन को एनक्रिप्टेड के रूप में मार्क/अनमार्क करें\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"पार्टीशन को बूट करने योग्य मार्क/अनमार्क करें (/boot के लिए स्वचालित)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"पार्टीशन के लिए वांछित फ़ाइलसिस्टम सेट करें\"\n\nmsgid \"Abort\"\nmsgstr \"रद्द करें\"\n\nmsgid \"Hostname\"\nmsgstr \"होस्टनेम (Hostname)\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"कॉन्फ़िगर नहीं किया गया, जब तक मैन्युअल रूप से सेटअप न हो तब तक अनुपलब्ध\"\n\nmsgid \"Timezone\"\nmsgstr \"समयक्षेत्र\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"नीचे दिए गए विकल्पों को सेट/संशोधित करें\"\n\nmsgid \"Install\"\nmsgstr \"इंस्टॉल करें\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"छोड़ने के लिए ESC का उपयोग करें\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"पार्टीशन लेआउट का सुझाव दें\"\n\nmsgid \"Enter a password: \"\nmsgstr \"पासवर्ड दर्ज करें: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"{} के लिए एन्क्रिप्शन पासवर्ड दर्ज करें\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"डिस्क एन्क्रिप्शन पासवर्ड दर्ज करें (एन्क्रिप्शन नहीं के लिए खाली छोड़ दें): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"sudo विशेषाधिकारों के साथ एक आवश्यक सुपर-यूज़र बनाएँ: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"रूट पासवर्ड दर्ज करें (रूट को अक्षम करने के लिए खाली छोड़ दें): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"उपयोगकर्ता \\\"{}\\\" के लिए पासवर्ड: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"सत्यापित किया जा रहा है कि अतिरिक्त पैकेज मौजूद हैं (इसमें कुछ सेकंड लग सकते हैं)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"क्या आप डिफ़ॉल्ट समय सर्वरों के साथ स्वचालित समय तुल्यकालन (NTP) का उपयोग करना चाहेंगे?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP के काम करने के लिए हार्डवेयर समय और अन्य पोस्ट-कॉन्फ़िगरेशन चरणों की आवश्यकता हो सकती है।\\n\"\n\"अधिक जानकारी के लिए, कृपया Arch wiki देखें\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"अतिरिक्त उपयोगकर्ता बनाने के लिए यूज़रनेम दर्ज करें (छोड़ने के लिए खाली छोड़ दें): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"छोड़ने के लिए ESC का उपयोग करें\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" सूची से एक ऑब्जेक्ट चुनें, और इसे निष्पादित करने के लिए उपलब्ध क्रियाओं में से एक चुनें\"\n\nmsgid \"Cancel\"\nmsgstr \"रद्द करें\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"पुष्टि करें और बाहर निकलें\"\n\nmsgid \"Add\"\nmsgstr \"जोड़ें\"\n\nmsgid \"Copy\"\nmsgstr \"कॉपी करें\"\n\nmsgid \"Edit\"\nmsgstr \"संपादित करें\"\n\nmsgid \"Delete\"\nmsgstr \"हटाएँ\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"'{}' के लिए एक क्रिया चुनें\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"नई कुंजी (key) पर कॉपी करें:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"अज्ञात nic प्रकार: {}। संभावित मान {} हैं\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"यह आपका चुना हुआ कॉन्फ़िगरेशन है:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman पहले से चल रहा है, इसके समाप्त होने के लिए अधिकतम 10 मिनट प्रतीक्षा की जा रही है।\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"पहले से मौजूद pacman लॉक कभी बाहर नहीं निकला। कृपया archinstall का उपयोग करने से पहले किसी भी मौजूदा pacman सत्र को साफ़ करें।\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"चुनें कि कौन से वैकल्पिक अतिरिक्त रिपॉजिटरी को सक्षम करना है\"\n\nmsgid \"Add a user\"\nmsgstr \"एक उपयोगकर्ता जोड़ें\"\n\nmsgid \"Change password\"\nmsgstr \"पासवर्ड बदलें\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"उपयोगकर्ता को प्रमोट/डितेम (Promote/Demote) करें\"\n\nmsgid \"Delete User\"\nmsgstr \"उपयोगकर्ता हटाएँ\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"एक नया उपयोगकर्ता परिभाषित करें\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"उपयोगकर्ता नाम : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"क्या {} को सुपरयूज़र (sudoer) होना चाहिए?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"sudo विशेषाधिकार वाले उपयोगकर्ताओं को परिभाषित करें: \"\n\nmsgid \"No network configuration\"\nmsgstr \"कोई नेटवर्क कॉन्फ़िगरेशन नहीं\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"btrfs पार्टीशन पर वांछित सबवॉल्यूम (subvolumes) सेट करें\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"चुनें कि किस पार्टीशन पर सबवॉल्यूम सेट करने हैं\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"वर्तमान पार्टीशन के लिए btrfs सबवॉल्यूम प्रबंधित करें\"\n\nmsgid \"No configuration\"\nmsgstr \"कोई कॉन्फ़िगरेशन नहीं\"\n\nmsgid \"Save user configuration\"\nmsgstr \"उपयोगकर्ता कॉन्फ़िगरेशन सहेजें\"\n\nmsgid \"Save user credentials\"\nmsgstr \"उपयोगकर्ता क्रेडेंशियल्स सहेजें\"\n\nmsgid \"Save disk layout\"\nmsgstr \"डिस्क लेआउट सहेजें\"\n\nmsgid \"Save all\"\nmsgstr \"सभी सहेजें\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"चुनें कि कौन सा कॉन्फ़िगरेशन सहेजना है\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"कॉन्फ़िगरेशन सहेजने के लिए डायरेक्टरी दर्ज करें: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"मान्य डायरेक्टरी नहीं है: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"आप जो पासवर्ड इस्तेमाल कर रहे हैं वह कमजोर लग रहा है,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"क्या आप वाकई इसका उपयोग करना चाहते हैं?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"वैकल्पिक रिपॉजिटरी\"\n\nmsgid \"Save configuration\"\nmsgstr \"कॉन्फ़िगरेशन सहेजें\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"लापता कॉन्फ़िगरेशन:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"या तो रूट-पासवर्ड या कम से कम 1 सुपरयूज़र निर्दिष्ट होना चाहिए\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"सुपरयूज़र खाते प्रबंधित करें: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"साधारण उपयोगकर्ता खाते प्रबंधित करें: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" सबवॉल्यूम :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" यहाँ माउंट किया गया {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" विकल्प {} के साथ\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" नए सबवॉल्यूम के लिए वांछित मान भरें \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"सबवॉल्यूम का नाम \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"सबवॉल्यूम माउंटपॉइंट\"\n\nmsgid \"Subvolume options\"\nmsgstr \"सबवॉल्यूम विकल्प\"\n\nmsgid \"Save\"\nmsgstr \"सहेजें\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"सबवॉल्यूम का नाम :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"माउंट पॉइंट चुनें :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"वांछित सबवॉल्यूम विकल्प चुनें \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"उपयोगकर्ता नाम से, sudo विशेषाधिकार वाले उपयोगकर्ताओं को परिभाषित करें: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] यहाँ एक लॉग फ़ाइल बनाई गई है: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"क्या आप डिफ़ॉल्ट संरचना के साथ BTRFS सबवॉल्यूम का उपयोग करना चाहेंगे?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"क्या आप BTRFS कम्प्रेशन का उपयोग करना चाहेंगे?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"क्या आप /home के लिए एक अलग पार्टीशन बनाना चाहेंगे?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"चयनित ड्राइव्स में स्वचालित सुझाव के लिए आवश्यक न्यूनतम क्षमता नहीं है\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"/home पार्टीशन के लिए न्यूनतम क्षमता: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Arch Linux पार्टीशन के लिए न्यूनतम क्षमता: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"जारी रखें\"\n\nmsgid \"yes\"\nmsgstr \"हाँ\"\n\nmsgid \"no\"\nmsgstr \"नहीं\"\n\nmsgid \"set: {}\"\nmsgstr \"सेट: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"मैन्युअल कॉन्फ़िगरेशन सेटिंग एक सूची होनी चाहिए\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"मैन्युअल कॉन्फ़िगरेशन के लिए कोई iface निर्दिष्ट नहीं है\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"बिना ऑटो DHCP वाले मैन्युअल nic कॉन्फ़िगरेशन के लिए IP पते की आवश्यकता होती है\"\n\nmsgid \"Add interface\"\nmsgstr \"इंटरफ़ेस जोड़ें\"\n\nmsgid \"Edit interface\"\nmsgstr \"इंटरफ़ेस संपादित करें\"\n\nmsgid \"Delete interface\"\nmsgstr \"इंटरफ़ेस हटाएँ\"\n\nmsgid \"Select interface to add\"\nmsgstr \"जोड़ने के लिए इंटरफ़ेस चुनें\"\n\nmsgid \"Manual configuration\"\nmsgstr \"मैन्युअल कॉन्फ़िगरेशन\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"पार्टीशन को कम्प्रेश्ड (केवल btrfs) के रूप में मार्क/अनमार्क करें\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"आप जो पासवर्ड इस्तेमाल कर रहे हैं वह कमजोर लग रहा है, क्या आप वाकई इसका उपयोग करना चाहते हैं?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"डेस्कटॉप एनवायरनमेंट और टाइलिंग विंडो मैनेजर का चयन प्रदान करता है, जैसे gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"अपना वांछित डेस्कटॉप एनवायरनमेंट चुनें\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"एक बहुत ही बुनियादी इंस्टॉलेशन जो आपको अपनी इच्छानुसार Arch Linux को अनुकूलित करने की अनुमति देता है।\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"इंस्टॉल और सक्षम करने के लिए विभिन्न सर्वर पैकेजों का चयन प्रदान करता है, जैसे httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"चुनें कि कौन से सर्वर इंस्टॉल करने हैं, यदि कोई नहीं तो न्यूनतम इंस्टॉलेशन किया जाएगा\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"एक न्यूनतम सिस्टम के साथ-साथ xorg और ग्राफिक्स ड्राइवर इंस्टॉल करता है।\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"जारी रखने के लिए Enter दबाएँ।\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"क्या आप नव निर्मित इंस्टॉलेशन में chroot करना चाहते हैं और पोस्ट-इंस्टॉलेशन कॉन्फ़िगरेशन करना चाहते हैं?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"क्या आप वाकई इस सेटिंग को रीसेट करना चाहते हैं?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"उपयोग और कॉन्फ़िगर करने के लिए एक या अधिक हार्ड ड्राइव चुनें\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"मौजूदा सेटिंग में कोई भी संशोधन डिस्क लेआउट को रीसेट कर देगा!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"यदि आप हार्डड्राइव चयन को रीसेट करते हैं तो यह वर्तमान डिस्क लेआउट को भी रीसेट कर देगा। क्या आप पक्का हैं?\"\n\nmsgid \"Save and exit\"\nmsgstr \"सहेजें और छोड़ें\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"में कतारबद्ध पार्टीशन हैं, इससे वे हट जाएंगे, क्या आप पक्का हैं?\"\n\nmsgid \"No audio server\"\nmsgstr \"कोई ऑडियो सर्वर नहीं\"\n\nmsgid \"(default)\"\nmsgstr \"(डिफ़ॉल्ट)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"छोड़ने के लिए ESC का उपयोग करें\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"वर्तमान चयन को रीसेट करने के लिए CTRL+C का उपयोग करें\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"यहाँ कॉपी करें: \"\n\nmsgid \"Edit: \"\nmsgstr \"संपादित करें: \"\n\nmsgid \"Key: \"\nmsgstr \"कुंजी (Key): \"\n\nmsgid \"Edit {}: \"\nmsgstr \"संपादित करें {}: \"\n\nmsgid \"Add: \"\nmsgstr \"जोड़ें: \"\n\nmsgid \"Value: \"\nmsgstr \"मान (Value): \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"आप ड्राइव का चयन और विभाजन छोड़ सकते हैं और /mnt पर माउंट किए गए किसी भी ड्राइव-सेटअप का उपयोग कर सकते हैं (प्रयोगात्मक)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"डिस्क में से एक का चयन करें या छोड़ दें और डिफ़ॉल्ट के रूप में /mnt का उपयोग करें\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"चुनें कि फ़ॉर्मेटिंग के लिए किन पार्टीशन को मार्क करना है:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"एन्क्रिप्टेड ड्राइव को अनलॉक करने के लिए HSM का उपयोग करें\"\n\nmsgid \"Device\"\nmsgstr \"डिवाइस\"\n\nmsgid \"Size\"\nmsgstr \"आकार\"\n\nmsgid \"Free space\"\nmsgstr \"खाली जगह\"\n\nmsgid \"Bus-type\"\nmsgstr \"बस-प्रकार (Bus-type)\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"या तो रूट-पासवर्ड या sudo विशेषाधिकार वाले कम से कम 1 उपयोगकर्ता को निर्दिष्ट किया जाना चाहिए\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"यूज़रनेम दर्ज करें (छोड़ने के लिए खाली छोड़ दें): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"आपके द्वारा दर्ज किया गया यूज़रनेम अमान्य है। पुनः प्रयास करें\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"क्या \\\"{}\\\" को superuser (sudo) होना चाहिए?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"चुनें कि किन पार्टीशन को एनक्रिप्ट करना है\"\n\nmsgid \"very weak\"\nmsgstr \"बहुत कमजोर\"\n\nmsgid \"weak\"\nmsgstr \"कमजोर\"\n\nmsgid \"moderate\"\nmsgstr \"मध्यम\"\n\nmsgid \"strong\"\nmsgstr \"मज़बूत\"\n\nmsgid \"Add subvolume\"\nmsgstr \"सबवॉल्यूम जोड़ें\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"सबवॉल्यूम संपादित करें\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"सबवॉल्यूम हटाएँ\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"{} इंटरफ़ेस कॉन्फ़िगर किए गए\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"यह विकल्प उन समानांतर (parallel) डाउनलोडों की संख्या को सक्षम करता है जो इंस्टॉलेशन के दौरान हो सकते हैं\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"सक्षम किए जाने वाले समानांतर डाउनलोड की संख्या दर्ज करें।\\n\"\n\" (1 से {} के बीच मान दर्ज करें)\\n\"\n\"नोट:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - अधिकतम मान   : {} ( {} समानांतर डाउनलोड की अनुमति देता है, एक समय में {} डाउनलोड की अनुमति देता है )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - न्यूनतम मान   : 1 ( 1 समानांतर डाउनलोड की अनुमति देता है, एक समय में 2 डाउनलोड की अनुमति देता है )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - अक्षम/डिफ़ॉल्ट : 0 ( समानांतर डाउनलोडिंग को अक्षम करता है, एक समय में केवल 1 डाउनलोड की अनुमति देता है )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"अमान्य इनपुट! एक मान्य इनपुट के साथ पुनः प्रयास करें [1 से {max_downloads}, या अक्षम करने के लिए 0]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"समानांतर डाउनलोड\"\n\nmsgid \"ESC to skip\"\nmsgstr \"छोड़ने के लिए ESC दबाएँ\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"रीसेट करने के लिए CTRL+C\"\n\nmsgid \"TAB to select\"\nmsgstr \"चुनने के लिए TAB\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[डिफ़ॉल्ट मान: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"इस अनुवाद का उपयोग करने में सक्षम होने के लिए, कृपया मैन्युअल रूप से एक फ़ॉन्ट इंस्टॉल करें जो भाषा का समर्थन करता हो।\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"फ़ॉन्ट को {} के रूप में संग्रहीत किया जाना चाहिए\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall को चलाने के लिए रूट विशेषाधिकारों की आवश्यकता होती है। अधिक जानकारी के लिए --help देखें।\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"एक निष्पादन मोड चुनें\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"निर्दिष्ट url से प्रोफ़ाइल प्राप्त करने में असमर्थ: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"प्रोफ़ाइल का नाम अद्वितीय होना चाहिए, लेकिन डुप्लिकेट नाम वाले प्रोफ़ाइल परिभाषाएँ मिलीं: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"उपयोग और कॉन्फ़िगर करने के लिए एक या अधिक डिवाइस चुनें\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"यदि आप डिवाइस चयन को रीसेट करते हैं तो यह वर्तमान डिस्क लेआउट को भी रीसेट कर देगा। क्या आप पक्का हैं?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"मौजूदा पार्टीशन\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"एक विभाजन विकल्प चुनें\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"माउंट किए गए डिवाइसेज की रूट डायरेक्टरी दर्ज करें: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"/home पार्टीशन के लिए न्यूनतम क्षमता: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Arch Linux पार्टीशन के लिए न्यूनतम क्षमता: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"यह पूर्व-प्रोग्राम किए गए profiles_bck की सूची है, ये डेस्कटॉप एनवायरनमेंट जैसी चीजों को इंस्टॉल करना आसान बना सकते हैं\"\n\nmsgid \"Current profile selection\"\nmsgstr \"वर्तमान प्रोफ़ाइल चयन\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"सभी नए जोड़े गए पार्टीशन हटाएँ\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"माउंटपॉइंट असाइन करें\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"फ़ॉर्मेट करने के लिए मार्क/अनमार्क करें (डेटा मिटाता है)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"बूट करने योग्य के रूप में मार्क/अनमार्क करें\"\n\nmsgid \"Change filesystem\"\nmsgstr \"फ़ाइलसिस्टम बदलें\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"कम्प्रेश्ड के रूप में मार्क/अनमार्क करें\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"सबवॉल्यूम सेट करें\"\n\nmsgid \"Delete partition\"\nmsgstr \"पार्टीशन हटाएँ\"\n\nmsgid \"Partition\"\nmsgstr \"पार्टीशन\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"यह पार्टीशन वर्तमान में एनक्रिप्टेड है, इसे फ़ॉर्मेट करने के लिए एक फ़ाइलसिस्टम निर्दिष्ट करना होगा\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"पार्टीशन माउंट-पॉइंट इंस्टॉलेशन के अंदर के सापेक्ष (relative) हैं, उदाहरण के लिए बूट /boot होगा।\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"यदि माउंटपॉइंट /boot सेट है, तो पार्टीशन को बूट करने योग्य भी मार्क किया जाएगा।\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"माउंटपॉइंट: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"डिवाइस {} पर वर्तमान मुक्त सेक्टर:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"कुल सेक्टर: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"प्रारंभिक सेक्टर दर्ज करें (डिफ़ॉल्ट: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"पार्टीशन का अंतिम सेक्टर दर्ज करें (प्रतिशत या ब्लॉक संख्या, डिफ़ॉल्ट: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"यह सभी नए जोड़े गए पार्टीशन को हटा देगा, जारी रखें?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"पार्टीशन प्रबंधन: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"कुल लंबाई: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"एन्क्रिप्शन प्रकार\"\n\nmsgid \"Iteration time\"\nmsgstr \"इटरेशन समय (Iteration time)\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"LUKS एन्क्रिप्शन के लिए इटरेशन समय दर्ज करें (मिलीसेकंड में)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"उच्च मान सुरक्षा बढ़ाते हैं लेकिन बूट समय धीमा करते हैं\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"डिफ़ॉल्ट: 10000ms, अनुशंसित सीमा: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"इटरेशन समय खाली नहीं हो सकता\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"इटरेशन समय कम से कम 100ms होना चाहिए\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"इटरेशन समय अधिकतम 120000ms होना चाहिए\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"कृपया एक मान्य संख्या दर्ज करें\"\n\nmsgid \"Partitions\"\nmsgstr \"पार्टीशन\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"कोई HSM डिवाइस उपलब्ध नहीं है\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"एनक्रिप्ट किए जाने वाले पार्टीशन\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"डिस्क एन्क्रिप्शन विकल्प चुनें\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"HSM के लिए उपयोग करने के लिए FIDO2 डिवाइस चुनें\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"सर्वोत्तम-प्रयास डिफ़ॉल्ट पार्टीशन लेआउट का उपयोग करें\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"मैन्युअल विभाजन\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"पूर्व-माउंटेड कॉन्फ़िगरेशन\"\n\nmsgid \"Unknown\"\nmsgstr \"अज्ञात\"\n\nmsgid \"Partition encryption\"\nmsgstr \"पार्टीशन एन्क्रिप्शन\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! {} को इसमें फ़ॉर्मेट किया जा रहा है \"\n\nmsgid \"← Back\"\nmsgstr \"← वापस\"\n\nmsgid \"Disk encryption\"\nmsgstr \"डिस्क एन्क्रिप्शन\"\n\nmsgid \"Configuration\"\nmsgstr \"कॉन्फ़िगरेशन\"\n\nmsgid \"Password\"\nmsgstr \"पासवर्ड\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"सभी सेटिंग्स रीसेट हो जाएंगी, क्या आप पक्का हैं?\"\n\nmsgid \"Back\"\nmsgstr \"वापस\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"कृपया चुनें कि चुने गए प्रोफ़ाइल के लिए कौन सा ग्रीटर (greeter) इंस्टॉल करना है: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"एन्वायरनमेंट प्रकार: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"प्रोप्राइटरी Nvidia ड्राइवर Sway द्वारा समर्थित नहीं है। संभावना है कि आपको समस्याओं का सामना करना पड़ेगा, क्या आप इसके साथ ठीक हैं?\"\n\nmsgid \"Installed packages\"\nmsgstr \"इंस्टॉल किए गए पैकेज\"\n\nmsgid \"Add profile\"\nmsgstr \"प्रोफ़ाइल जोड़ें\"\n\nmsgid \"Edit profile\"\nmsgstr \"प्रोफ़ाइल संपादित करें\"\n\nmsgid \"Delete profile\"\nmsgstr \"प्रोफ़ाइल हटाएँ\"\n\nmsgid \"Profile name: \"\nmsgstr \"प्रोफ़ाइल नाम: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"आपके द्वारा दर्ज किया गया प्रोफ़ाइल नाम पहले से उपयोग में है। पुनः प्रयास करें\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"इस प्रोफ़ाइल के साथ इंस्टॉल किए जाने वाले पैकेज (स्पेस से अलग करें, छोड़ने के लिए खाली छोड़ें): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"इस प्रोफ़ाइल के साथ सक्षम की जाने वाली सेवाएँ (स्पेस से अलग करें, छोड़ने के लिए खाली छोड़ें): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"क्या इस प्रोफ़ाइल को इंस्टॉलेशन के लिए सक्षम किया जाना चाहिए?\"\n\nmsgid \"Create your own\"\nmsgstr \"अपना स्वयं का बनाएँ\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"एक ग्राफिक्स ड्राइवर चुनें या सभी ओपन-सोर्स ड्राइवरों को इंस्टॉल करने के लिए खाली छोड़ दें\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway को आपकी सीट (हार्डवेयर डिवाइसेज का संग्रह यानी कीबोर्ड, माउस, आदि) तक पहुंच की आवश्यकता है\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Sway को अपने हार्डवेयर तक पहुंच देने के लिए एक विकल्प चुनें\"\n\nmsgid \"Graphics driver\"\nmsgstr \"ग्राफिक्स ड्राइवर\"\n\nmsgid \"Greeter\"\nmsgstr \"ग्रीटर (Greeter)\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"कृपया चुनें कि कौन सा ग्रीटर इंस्टॉल करना है\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"यह पूर्व-प्रोग्राम किए गए default_profiles की सूची है\"\n\nmsgid \"Disk configuration\"\nmsgstr \"डिस्क कॉन्फ़िगरेशन\"\n\nmsgid \"Profiles\"\nmsgstr \"प्रोफ़ाइल\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"कॉन्फ़िगरेशन फ़ाइलों को सहेजने के लिए संभावित डायरेक्टरी खोजी जा रही हैं...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"कॉन्फ़िगरेशन फ़ाइलों को सहेजने के लिए डायरेक्टरी (या डायरेक्टरीज़) चुनें\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"एक कस्टम मिरर जोड़ें\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"कस्टम मिरर बदलें\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"कस्टम मिरर हटाएँ\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"नाम दर्ज करें (छोड़ने के लिए खाली छोड़ें): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"url दर्ज करें (छोड़ने के लिए खाली छोड़ें): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"हस्ताक्षर जाँच (signature check) विकल्प चुनें\"\n\nmsgid \"Select signature option\"\nmsgstr \"हस्ताक्षर विकल्प चुनें\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"कस्टम मिरर\"\n\nmsgid \"Defined\"\nmsgstr \"परिभाषित\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"उपयोगकर्ता कॉन्फ़िगरेशन सहेजें (डिस्क लेआउट सहित)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"कॉन्फ़िगरेशन सहेजने के लिए डायरेक्टरी दर्ज करें (tab completion enabled)\\n\"\n\"सेव डायरेक्टरी: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"क्या आप निम्नलिखित स्थान पर {} कॉन्फ़िगरेशन फ़ाइल(लें) सहेजना चाहते हैं?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} कॉन्फ़िगरेशन फ़ाइलों को {} में सहेजा जा रहा है\"\n\nmsgid \"Mirrors\"\nmsgstr \"मिरर (Mirrors)\"\n\nmsgid \"Mirror regions\"\nmsgstr \"मिरर क्षेत्र\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - अधिकतम मान   : {} ( {} समानांतर डाउनलोड की अनुमति देता है, एक समय में {max_downloads+1} डाउनलोड की अनुमति देता है )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"अमान्य इनपुट! एक मान्य इनपुट के साथ पुनः प्रयास करें [1 से {}, या अक्षम करने के लिए 0]\"\n\nmsgid \"Locales\"\nmsgstr \"लोकेल्स (Locales)\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager का उपयोग करें (GNOME और KDE में ग्राफिक रूप से इंटरनेट कॉन्फ़िगर करने के लिए आवश्यक)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"कुल: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"सभी दर्ज मानों को एक इकाई के साथ जोड़ा जा सकता है: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"यदि कोई इकाई प्रदान नहीं की गई है, तो मान को सेक्टर के रूप में समझा जाता है\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"प्रारंभ दर्ज करें (डिफ़ॉल्ट: सेक्टर {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"अंत दर्ज करें (डिफ़ॉल्ट: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"fido2 डिवाइस निर्धारित करने में असमर्थ। क्या libfido2 इंस्टॉल है?\"\n\nmsgid \"Path\"\nmsgstr \"पथ (Path)\"\n\nmsgid \"Manufacturer\"\nmsgstr \"निर्माता\"\n\nmsgid \"Product\"\nmsgstr \"उत्पाद\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"अमान्य कॉन्फ़िगरेशन: {error}\"\n\nmsgid \"Type\"\nmsgstr \"प्रकार\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"यह विकल्प उन समानांतर डाउनलोडों की संख्या को सक्षम करता है जो पैकेज डाउनलोड के दौरान हो सकते हैं\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"सक्षम किए जाने वाले समानांतर डाउनलोड की संख्या दर्ज करें।\\n\"\n\"\\n\"\n\"नोट:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - अधिकतम अनुशंसित मान : {} ( एक समय में {} समानांतर डाउनलोड की अनुमति देता है )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - अक्षम/डिफ़ॉल्ट : 0 ( समानांतर डाउनलोडिंग को अक्षम करता है, एक समय में केवल 1 डाउनलोड की अनुमति देता है )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"अमान्य इनपुट! एक मान्य इनपुट के साथ पुनः प्रयास करें [या अक्षम करने के लिए 0]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland को आपकी सीट (हार्डवेयर डिवाइसेज का संग्रह यानी कीबोर्ड, माउस, आदि) तक पहुंच की आवश्यकता है\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Hyprland को अपने हार्डवेयर तक पहुंच देने के लिए एक विकल्प चुनें\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"सभी दर्ज मानों को एक इकाई के साथ जोड़ा जा सकता है: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"क्या आप यूनिफाइड कर्नेल इमेज (unified kernel images) का उपयोग करना चाहेंगे?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"यूनिफाइड कर्नेल इमेज\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"टाइम सिंक (timedatectl show) पूरा होने की प्रतीक्षा की जा रही है।\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"समय तुल्यकालन (Time synchronization) पूरा नहीं हो रहा है, प्रतीक्षा करते समय - वर्कअराउंड के लिए डॉक्स देखें: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"स्वचालित समय सिंक की प्रतीक्षा छोड़ी जा रही है (यदि इंस्टॉलेशन के दौरान समय सिंक से बाहर है तो इससे समस्याएं हो सकती हैं)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Arch Linux कीरिंग सिंक (archlinux-keyring-wkd-sync) पूरा होने की प्रतीक्षा की जा रही है।\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"चयनित प्रोफ़ाइल: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"समय तुल्यकालन (Time synchronization) पूरा नहीं हो रहा है, प्रतीक्षा करते समय - वर्कअराउंड के लिए डॉक्स देखें: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"nodatacow के रूप में मार्क/अनमार्क करें\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"क्या आप compression का उपयोग करना चाहते हैं या CoW को बंद करना चाहते हैं?\"\n\nmsgid \"Use compression\"\nmsgstr \"कम्प्रेशन का उपयोग करें\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Copy-on-Write (CoW) को अक्षम करें\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"डेस्कटॉप एनवायरनमेंट और टाइलिंग विंडो मैनेजर का चयन प्रदान करता है, जैसे GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"कॉन्फ़िगरेशन प्रकार: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM कॉन्फ़िगरेशन प्रकार\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"2 से अधिक पार्टीशन के साथ LVM डिस्क एन्क्रिप्शन वर्तमान में समर्थित नहीं है\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"NetworkManager का उपयोग करें (GNOME और KDE Plasma में ग्राफिक रूप से इंटरनेट कॉन्फ़िगर करने के लिए आवश्यक)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"एक LVM विकल्प चुनें\"\n\nmsgid \"Partitioning\"\nmsgstr \"विभाजन (Partitioning)\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"लॉजिकल वॉल्यूम मैनेजमेंट (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"फिजिकल वॉल्यूम (Physical volumes)\"\n\nmsgid \"Volumes\"\nmsgstr \"वॉल्यूम (Volumes)\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM वॉल्यूम\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"LVM वॉल्यूम जिन्हें एनक्रिप्ट किया जाना है\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"चुनें कि किन LVM वॉल्यूम को एनक्रिप्ट करना है\"\n\nmsgid \"Default layout\"\nmsgstr \"डिफ़ॉल्ट लेआउट\"\n\nmsgid \"No Encryption\"\nmsgstr \"कोई एन्क्रिप्शन नहीं\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM on LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS on LVM\"\n\nmsgid \"Yes\"\nmsgstr \"हाँ\"\n\nmsgid \"No\"\nmsgstr \"नहीं\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall मदद\"\n\nmsgid \" (default)\"\nmsgstr \" (डिफ़ॉल्ट)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"मदद के लिए Ctrl+h दबाएँ\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Sway को अपने हार्डवेयर तक पहुंच देने के लिए एक विकल्प चुनें\"\n\nmsgid \"Seat access\"\nmsgstr \"सीट एक्सेस\"\n\nmsgid \"Mountpoint\"\nmsgstr \"माउंटपॉइंट\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"डिस्क एन्क्रिप्शन पासवर्ड दर्ज करें (एन्क्रिप्शन नहीं के लिए खाली छोड़ दें)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"डिस्क एन्क्रिप्शन पासवर्ड\"\n\nmsgid \"Partition - New\"\nmsgstr \"पार्टीशन - नया\"\n\nmsgid \"Filesystem\"\nmsgstr \"फ़ाइलसिस्टम\"\n\nmsgid \"Invalid size\"\nmsgstr \"अमान्य आकार\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"प्रारंभ (डिफ़ॉल्ट: सेक्टर {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"अंत (डिफ़ॉल्ट: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"सबवॉल्यूम का नाम\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"डिस्क कॉन्फ़िगरेशन प्रकार\"\n\nmsgid \"Root mount directory\"\nmsgstr \"रूट माउंट डायरेक्टरी\"\n\nmsgid \"Select language\"\nmsgstr \"भाषा चुनें\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"स्थापित करने के लिए अतिरिक्त पैकेज लिखें (स्पेस से अलग करें, छोड़ने के लिए खाली छोड़ें)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"अमान्य डाउनलोड संख्या\"\n\nmsgid \"Number downloads\"\nmsgstr \"डाउनलोड संख्या\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"आपके द्वारा दर्ज किया गया यूज़रनेम अमान्य है\"\n\nmsgid \"Username\"\nmsgstr \"उपयोगकर्ता नाम\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"क्या \\\"{}\\\" को superuser (sudo) होना चाहिए?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"इंटरफ़ेस\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"IP-config मोड में आपको एक मान्य IP दर्ज करना होगा\"\n\nmsgid \"Modes\"\nmsgstr \"मोड\"\n\nmsgid \"IP address\"\nmsgstr \"IP पता\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"अपना गेटवे (राउटर) IP पता दर्ज करें (कोई नहीं के लिए खाली छोड़ दें)\"\n\nmsgid \"Gateway address\"\nmsgstr \"गेटवे पता\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"अपने DNS सर्वर स्पेस से अलग करके दर्ज करें (कोई नहीं के लिए खाली छोड़ दें)\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS सर्वर\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"इंटरफ़ेस कॉन्फ़िगर करें\"\n\nmsgid \"Kernel\"\nmsgstr \"कर्नेल (Kernel)\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI का पता नहीं चला है और कुछ विकल्प अक्षम हैं\"\n\nmsgid \"Info\"\nmsgstr \"जानकारी\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"प्रोप्राइटरी Nvidia ड्राइवर Sway द्वारा समर्थित नहीं है।\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"संभावना है कि आपको समस्याओं का सामना करना पड़ेगा, क्या आप इसके साथ ठीक हैं?\"\n\nmsgid \"Main profile\"\nmsgstr \"मुख्य प्रोफ़ाइल\"\n\nmsgid \"Confirm password\"\nmsgstr \"पासवर्ड की पुष्टि करें\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"पुष्टि पासवर्ड मेल नहीं खाता, कृपया पुनः प्रयास करें\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"एक मान्य डायरेक्टरी नहीं है\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"क्या आप जारी रखना चाहते हैं?\"\n\nmsgid \"Directory\"\nmsgstr \"डायरेक्टरी\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"कॉन्फ़िगरेशन सहेजने के लिए डायरेक्टरी दर्ज करें (tab completion enabled)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"क्या आप कॉन्फ़िगरेशन फ़ाइल(लें) को {} में सहेजना चाहते हैं?\"\n\nmsgid \"Enabled\"\nmsgstr \"सक्षम\"\n\nmsgid \"Disabled\"\nmsgstr \"अक्षम\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"कृपया इस समस्या (और फ़ाइल) को https://github.com/archlinux/archinstall/issues पर सबमिट करें\"\n\nmsgid \"Mirror name\"\nmsgstr \"मिरर का नाम\"\n\nmsgid \"Url\"\nmsgstr \"Url\"\n\nmsgid \"Select signature check\"\nmsgstr \"हस्ताक्षर जाँच चुनें\"\n\nmsgid \"Select execution mode\"\nmsgstr \"निष्पादन मोड का चयन करें\"\n\nmsgid \"Press ? for help\"\nmsgstr \"मदद के लिए ? दबाएँ\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Hyprland को अपने हार्डवेयर तक पहुंच देने के लिए एक विकल्प चुनें\"\n\nmsgid \"Additional repositories\"\nmsgstr \"अतिरिक्त रिपॉजिटरी\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"zram पर स्वैप\"\n\nmsgid \"Name\"\nmsgstr \"नाम\"\n\nmsgid \"Signature check\"\nmsgstr \"हस्ताक्षर जाँच\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"डिवाइस {} पर चयनित मुक्त स्थान खंड:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"आकार: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"आकार (डिफ़ॉल्ट: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"HSM डिवाइस\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"रिपॉजिटरी में कुछ पैकेज नहीं मिले\"\n\nmsgid \"User\"\nmsgstr \"उपयोगकर्ता\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"निर्दिष्ट कॉन्फ़िगरेशन लागू किया जाएगा\"\n\nmsgid \"Wipe\"\nmsgstr \"वाइप (Wipe)\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"XBOOTLDR के रूप में मार्क/अनमार्क करें\"\n\nmsgid \"Loading packages...\"\nmsgstr \"पैकेज लोड हो रहे हैं...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"नीचे दी गई सूची से कोई भी पैकेज चुनें जिसे अतिरिक्त रूप से इंस्टॉल किया जाना चाहिए\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"एक कस्टम रिपॉजिटरी जोड़ें\"\n\nmsgid \"Change custom repository\"\nmsgstr \"कस्टम रिपॉजिटरी बदलें\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"कस्टम रिपॉजिटरी हटाएँ\"\n\nmsgid \"Repository name\"\nmsgstr \"रिपॉजिटरी का नाम\"\n\nmsgid \"Add a custom server\"\nmsgstr \"एक कस्टम सर्वर जोड़ें\"\n\nmsgid \"Change custom server\"\nmsgstr \"कस्टम सर्वर बदलें\"\n\nmsgid \"Delete custom server\"\nmsgstr \"कस्टम सर्वर हटाएँ\"\n\nmsgid \"Server url\"\nmsgstr \"सर्वर url\"\n\nmsgid \"Select regions\"\nmsgstr \"क्षेत्र चुनें\"\n\nmsgid \"Add custom servers\"\nmsgstr \"कस्टम सर्वर जोड़ें\"\n\nmsgid \"Add custom repository\"\nmsgstr \"कस्टम रिपॉजिटरी जोड़ें\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"मिरर क्षेत्र लोड हो रहे हैं...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"मिरर और रिपॉजिटरी\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"चयनित मिरर क्षेत्र\"\n\nmsgid \"Custom servers\"\nmsgstr \"कस्टम सर्वर\"\n\nmsgid \"Custom repositories\"\nmsgstr \"कस्टम रिपॉजिटरी\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"केवल ASCII वर्ण समर्थित हैं\"\n\nmsgid \"Show help\"\nmsgstr \"मदद दिखायें\"\n\nmsgid \"Exit help\"\nmsgstr \"मदद छोड़ें\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"प्रिव्यू ऊपर स्क्रॉल करें\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"प्रिव्यू नीचे स्क्रॉल करें\"\n\nmsgid \"Move up\"\nmsgstr \"ऊपर बढ़ो\"\n\nmsgid \"Move down\"\nmsgstr \"नीचे जाएँ\"\n\nmsgid \"Move right\"\nmsgstr \"दाएँ जाएँ\"\n\nmsgid \"Move left\"\nmsgstr \"बाएँ जाएँ\"\n\nmsgid \"Jump to entry\"\nmsgstr \"प्रवेश पर जाएँ\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"चयन छोड़ें (यदि उपलब्ध हो)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"चयन रीसेट करें (यदि उपलब्ध हो)\"\n\nmsgid \"Select on single select\"\nmsgstr \"एकल चयन पर चयन करें\"\n\nmsgid \"Select on multi select\"\nmsgstr \"बहु चयन पर चयन करें\"\n\nmsgid \"Reset\"\nmsgstr \"रीसेट\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"चयन मेनू छोड़ें\"\n\nmsgid \"Start search mode\"\nmsgstr \"खोज मोड शुरू करें\"\n\nmsgid \"Exit search mode\"\nmsgstr \"खोज मोड से बाहर निकलें\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc को आपकी सीट (हार्डवेयर डिवाइसेज का संग्रह यानी कीबोर्ड, माउस, आदि) तक पहुंच की आवश्यकता है\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"labwc को अपने हार्डवेयर तक पहुंच देने के लिए एक विकल्प चुनें\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri को आपकी सीट (हार्डवेयर डिवाइसेज का संग्रह यानी कीबोर्ड, माउस, आदि) तक पहुंच की आवश्यकता है\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"niri को अपने हार्डवेयर तक पहुंच देने के लिए एक विकल्प चुनें\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"ESP के रूप में चिह्नित/अचिह्नित करें\"\n\nmsgid \"Package group:\"\nmsgstr \"पैकेज समूह:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"archinstall से बाहर निकलें\"\n\nmsgid \"Reboot system\"\nmsgstr \"सिस्टम रीबूट करें\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"स्थापना के बाद के कॉन्फ़िगरेशन के लिए इंस्टॉलेशन में chroot करें\"\n\nmsgid \"Installation completed\"\nmsgstr \"स्थापना पूरी हुई\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"अब आप क्या करना चाहेंगे?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"\\\"{}\\\" के लिए कौन सा मोड कॉन्फ़िगर करना है, चुनें\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"गलत क्रेडेंशियल्स फ़ाइल डिक्रिप्शन पासवर्ड\"\n\nmsgid \"Incorrect password\"\nmsgstr \"गलत पासवर्ड\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"क्रेडेंशियल्स फ़ाइल डिक्रिप्शन पासवर्ड\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"क्या आप user_credentials.json फ़ाइल को एन्क्रिप्ट करना चाहते हैं?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"क्रेडेंशियल्स फ़ाइल एन्क्रिप्शन पासवर्ड\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"रिपॉजिटरी: {}\"\n\nmsgid \"New version available\"\nmsgstr \"नया संस्करण उपलब्ध है\"\n\nmsgid \"Passwordless login\"\nmsgstr \"बिना पासवर्ड के लॉगिन करें\"\n\nmsgid \"Second factor login\"\nmsgstr \"सेकंड फैक्टर लॉगिन\"\n\nmsgid \"Bluetooth\"\nmsgstr \"ब्लूटूथ\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"क्या आप ब्लूटूथ कॉन्फ़िगर करना चाहेंगे?\"\n\nmsgid \"Print service\"\nmsgstr \"प्रिंट सेवा\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"क्या आप print सेवा को कॉन्फ़िगर करना चाहेंगे?\"\n\nmsgid \"Power management\"\nmsgstr \"पावर मैनेजमेंट\"\n\nmsgid \"Authentication\"\nmsgstr \"प्रमाणीकरण\"\n\nmsgid \"Applications\"\nmsgstr \"एप्लिकेशन्स\"\n\nmsgid \"U2F login method: \"\nmsgstr \"U2F लॉगिन विधि: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"बिना पासवर्ड के sudo: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Btrfs स्नैपशॉट प्रकार: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"सिस्टम सिंक किया जा रहा है...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"मूल्य खाली नहीं हो सकता\"\n\nmsgid \"Snapshot type\"\nmsgstr \"स्नैपशॉट प्रकार\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"स्नैपशॉट प्रकार: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"U2F लॉगिन सेटअप\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"कोई U2F डिवाइस नहीं मिला\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"U2F लॉगिन विधि\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"क्या बिना पासवर्ड के sudo सक्षम करें?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"उपयोगकर्ता के लिए U2F डिवाइस सेटअप किया जा रहा है: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"इसे रजिस्टर करने के लिए आपको पिन दर्ज करने और फिर अपने U2F डिवाइस को टच करने की आवश्यकता हो सकती है\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"डिवाइस संशोधन शुरू हो रहा है \"\n\nmsgid \"No network connection found\"\nmsgstr \"कोई नेटवर्क कनेक्शन नहीं मिला\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"क्या आप wifi से कनेक्ट करना चाहेंगे?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"कोई वाई-फाई इंटरफ़ेस नहीं मिला\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"कनेक्ट करने के लिए वाई-फाई नेटवर्क चुनें\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"वाई-फाई नेटवर्क स्कैन किए जा रहे हैं...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"कोई वाई-फाई नेटवर्क नहीं मिला\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"वाई-फाई सेटअप विफल रहा\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"वाई-फाई पासवर्ड दर्ज करें\"\n\nmsgid \"Ok\"\nmsgstr \"ठीक है\"\n\nmsgid \"Removable\"\nmsgstr \"रिमूवेबल\"\n\nmsgid \"Install to removable location\"\nmsgstr \"रिमूवेबल लोकेशन पर इंस्टॉल करें\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"/EFI/BOOT/ (रिमूवेबल लोकेशन) पर इंस्टॉल होगा\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"NVRAM एंट्री के साथ मानक स्थान पर इंस्टॉल होगा\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"क्या आप बूटलोडर को डिफ़ॉल्ट रिमूवेबल मीडिया सर्च लोकेशन पर इंस्टॉल करना चाहेंगे?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"यह बूटलोडर को /EFI/BOOT/BOOTX64.EFI (या समान) पर इंस्टॉल करता है जो इसके लिए उपयोगी है:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"USB ड्राइव या अन्य पोर्टेबल बाहरी मीडिया।\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"ऐसे सिस्टम जहाँ आप चाहते हैं कि डिस्क किसी भी कंप्यूटर पर बूट करने योग्य हो।\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"फ़र्मवेयर जो NVRAM बूट प्रविष्टियों का ठीक से समर्थन नहीं करता है।\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"/EFI/BOOT/ (रिमूवेबल लोकेशन, सुरक्षित डिफ़ॉल्ट) पर इंस्टॉल होगा\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"NVRAM एंट्री के साथ कस्टम स्थान पर इंस्टॉल होगा\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"फ़र्मवेयर जो अधिकांश MSI मदरबोर्ड की तरह NVRAM बूट प्रविष्टियों का ठीक से समर्थन नहीं करता है,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"अधिकांश Apple Mac, कई लैपटॉप...\"\n\nmsgid \"Language\"\nmsgstr \"एक भाषा चुनें\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"संपीड़न एल्गोरिथ्म\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"केवल base, sudo, linux, linux-firmware, efibootmgr और वैकल्पिक प्रोफ़ाइल पैकेज ही इंस्टॉल किए गए हैं।\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Zram संपीड़न एल्गोरिथ्म का चयन करें:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"नेटवर्क मैनेजर का उपयोग करें (डिफ़ॉल्ट बैकएंड)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"नेटवर्क मैनेजर का उपयोग करें (iwd बैकएंड)\"\n"
  },
  {
    "path": "archinstall/locales/hu/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: summoner <summoner@disroot.org>\\n\"\n\"Language-Team: \\n\"\n\"Language: hu\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] A naplófájl itt jött létre: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Jelentse ezt a problémát (a naplófájllal együtt) itt: https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Biztosan megszakítja?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"És még egyszer az ellenőrzéshez: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Szeretne zRam alapú cserehelyet használni?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Gép neve a telepítéshez: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"A sudo-jogosultságokkal rendelkező rendszergazda felhasználóneve: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"További felhasználók hozzáadása a telepítéshez (hagyja üresen, ha nem akar több felhasználót hozzáadni): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Rendelkezzen ez a felhasználó rendszergazdai (sudo) jogosultságokkal?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Időzóna kiválasztása\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Szeretné használni a GRUB-ot rendszerbetöltőként a systemd-boot helyett?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Válasszon ki egy rendszerbetöltőt\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Válasszon ki egy hangkiszolgálót\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Csak az olyan csomagok, mint a base, base-devel, linux, linux-firmware, efibootmgr és a nem kötelező profilcsomagok lesznek telepítve.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"Megjegyzés: a base-devel már nem települ alapértelmezettként. Ha szüksége van az összeállítási eszközökre, akkor itt adhatja hozzá a telepítéshez.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Ha olyan böngészőre vágyik, mint például a Firefox vagy a Chromium, akkor azt a következő promptban adhatja meg.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Írjon be további csomagneveket a telepítéshez (szóközzel elválasztva; hagyja üresen a kihagyáshoz): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Másolja be az ISO hálózati konfigurációt a telepítéshez\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"A hálózatkezelő használata (szükséges az internet grafikus konfigurálásához GNOME-ban és KDE-ben)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Válasszon ki egy hálózati csatolót a konfiguráláshoz\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Válassza ki a konfigurálandó módot a következőhöz: „{}”, vagy hagyja ki ezt a lépést az alapértelmezett „{}” mód használatához\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Adja meg a(z) {} IP-címét és alhálózatát (például: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Adja meg az átjáró (elosztó) IP-címét (hagyja üresen, ha nincs ilyen): \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Adja meg a DNS-kiszolgálókat (szóközzel elválasztva; hagyja üresen, ha nincsenek ilyenek): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Válassza ki, hogy a fő partíció milyen fájlrendszert használjon\"\n\nmsgid \"Current partition layout\"\nmsgstr \"A partíció jelenlegi elrendezése\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Válassza ki, hogy mi legyen a teendő a következővel:\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Adja meg a partíció fájlrendszertípusát\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Adja meg a kezdési helyet (a Parteddal kompatibilis egységekben: s, GB, %, stb.; alapértelmezett: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Adja meg a befejezési helyet (felosztott egységekben: s, GB, %, stb.; például: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"A(z) {} sorban álló partíciókat tartalmaz, ez eltávolítja azokat, biztos benne?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Index alapján válassza ki a törlendő partíciókat\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Index alapján válassza ki, hogy melyik partíció hová legyen csatolva\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * A partíció csatolási pontjai a telepítésen belülre vonatkoznak, a „boot” például „/boot” lesz.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Válassza ki, hogy hová legyen csatolva a partíció (hagyja üresen a csatolási pont eltávolításához): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Válassza ki a formázásra megjelölendő partíció(ka)t\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Válassza ki a titkosításra megjelölendő partíció(ka)t\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Válassza ki a rendszerbetöltőként megjelölendő partíciót\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Válassza ki, hogy melyik partícióra legyen beállítva a fájlrendszer\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Adja meg a partíció fájlrendszertípusát: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Az Archinstall nyelve\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Törölje az összes kiválasztott meghajtót, és használja a lehető legjobb beállítást lehetővé tévő alapértelmezett partícióelrendezést\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Válassza ki, hogy mit tegyen a telepítő az egyes meghajtókkal (ezt a partícióhasználat követi)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Válassza ki, hogy mit tegyen a telepítő a kiválasztott blokkeszközökkel\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Ez az előre programozott profilok listája, amelyek megkönnyíthetik az olyan dolgok telepítését, mint például az asztali környezetek\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Válassza ki a billentyűzetkiosztást\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Válassza ki a régiót a csomagok letöltéséhez\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Válasszon ki egy vagy több meghajtót a használathoz és a konfiguráláshoz\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Az AMD hardverrel való legjobb kompatibilitás érdekében érdemes lehet az összes nyílt forráskódú vagy az AMD / ATI beállítást használni.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Az Intel hardverrel való legjobb kompatibilitás érdekében érdemes lehet az összes nyílt forráskódú vagy az Intel beállítást használni.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Az Nvidia hardverrel való legjobb kompatibilitás érdekében érdemes lehet az Nvidia saját fejlesztésű, zárt illesztőprogramját használni.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Válasszon ki egy grafikus illesztőprogramot vagy hagyja üresen az összes nyílt forráskódú illesztőprogram telepítéséhez\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Összes nyílt forráskódú (alapértelmezett)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Válassza ki a használandó kerneleket, vagy hagyja üresen az alapértelmezett „{}” kernel használatához\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Válassza ki a használandó területi nyelvet\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Válassza ki a használandó nyelvi kódolást\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Válasszon az alábbi értékek egyikéből: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Válasszon ki egyet vagy többet az alábbi beállítások közül: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Partíció hozzáadása…\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"A folytatáshoz meg kell adnia egy érvényes fs-típust. Az érvényes fs-típusok megtekinthetők a „man parted” részben.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Hiba: A(z) „{}” webcímen lévő profilok listázása a következőket eredményezte:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Hiba: Nem sikerült dekódolni a(z) „{}” eredményt JSON-ként:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Billentyűzetkiosztás\"\n\nmsgid \"Mirror region\"\nmsgstr \"Tükörrégió\"\n\nmsgid \"Locale language\"\nmsgstr \"Helyi nyelv\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Helyi kódolás\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Meghajtó(k)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Lemezelrendezés\"\n\nmsgid \"Encryption password\"\nmsgstr \"Titkosítási jelszó\"\n\nmsgid \"Swap\"\nmsgstr \"Cserehely\"\n\nmsgid \"Bootloader\"\nmsgstr \"Rendszerbetöltő\"\n\nmsgid \"Root password\"\nmsgstr \"Root-jelszó\"\n\nmsgid \"Superuser account\"\nmsgstr \"Rendszergazdai fiók\"\n\nmsgid \"User account\"\nmsgstr \"Felhasználói fiók\"\n\nmsgid \"Profile\"\nmsgstr \"Profil\"\n\nmsgid \"Audio\"\nmsgstr \"Hang\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernelek\"\n\nmsgid \"Additional packages\"\nmsgstr \"További csomagok\"\n\nmsgid \"Network configuration\"\nmsgstr \"Hálózati konfiguráció\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Automatikus időszinkronizálás (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Telepítés ({} konfiguráció hiányzik)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Ön úgy döntött, hogy kihagyja a merevlemez kiválasztását\\n\"\n\"és azt a meghajtóbeállítást fogja használni, amely a(z) {} helyen van csatolva (kísérleti)\\n\"\n\"FIGYELMEZTETÉS: Az Archinstall nem ellenőrzi ennek a beállításnak a megfelelőségét\\n\"\n\"Biztosan folytatni akarja?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Partíciópéldány ismételt felhasználása: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Új partíció létrehozása\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Partíció törlése\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Az összes partíció tisztítása/törlése\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Csatolási pont hozzárendelése egy partícióhoz\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Egy partíció megjelölése/elvetése mint formázandó (adatok törlése)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Egy partíció megjelölése/elvetése mint titkosított\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Egy partíció megjelölése/elvetése mint rendszerindító (automatikus a „/boot” esetében)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Állítsa be a partíció fájlrendszertípusát\"\n\nmsgid \"Abort\"\nmsgstr \"Megszakítás\"\n\nmsgid \"Hostname\"\nmsgstr \"Gép neve\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Nincs konfigurálva, nem érhető el, kivéve, ha kézzel állítja be\"\n\nmsgid \"Timezone\"\nmsgstr \"Időzóna\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Az alábbi beállítások beállítása/módosítása\"\n\nmsgid \"Install\"\nmsgstr \"Telepítés\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"ESC → a kihagyáshoz\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Partícióelrendezési javaslat\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Adjon meg egy jelszót: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Adjon meg egy titkosítási jelszót a következőhöz: {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Adjon meg egy jelszót a lemez titkosításához (hagyja üresen, ha nem akarja titkosítani): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Hozzon létre egy szükséges rendszergazdát „sudo” jogosultságokkal: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Adjon meg egy root-jelszót (hagyja üresen a „root” letiltásához): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"A(z) „{}” nevű felhasználó jelszava: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"További csomagok létezésének ellenőrzése (ez eltarthat néhány másodpercig)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Szeretné használni az automatikus időszinkronizálást (NTP) az alapértelmezett kiszolgálókkal?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Az NTP működéséhez szükség lehet a hardveridőre és egyéb utólagos konfigurációs lépésekre.\\n\"\n\"További információkért tekintse meg az Arch wiki-t\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Adjon meg egy felhasználónevet egy további felhasználó létrehozásához (üresen hagyva ez a lépés kihagyható): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"\"\n\"ESC → a kihagyáshoz\\n\"\n\"\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Válasszon ki egy objektumot a listából, majd válasszon ki egyet a végrehajtandó műveletek közül\"\n\nmsgid \"Cancel\"\nmsgstr \"Mégse\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Megerősítés és kilépés\"\n\nmsgid \"Add\"\nmsgstr \"Hozzáadás\"\n\nmsgid \"Copy\"\nmsgstr \"Másolás\"\n\nmsgid \"Edit\"\nmsgstr \"Szerkesztés\"\n\nmsgid \"Delete\"\nmsgstr \"Törlés\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Válasszon ki egy műveletet a következőhöz: „{}”\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Másolás új kulcsba:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Ismeretlen nic-típus: {}. Lehetséges értékek: {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Ez az ön által választott konfiguráció:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"A Pacman már fut, várjon maximum 10 percet a megszakításával.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"A már meglévő pacman-zár soha nem lép ki. Az Archinstall használata előtt tisztítsa meg a meglévő pacman-munkameneteket.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Válassza ki a további (nem kötelező) engedélyezendő tárolókat\"\n\nmsgid \"Add a user\"\nmsgstr \"Felhasználó hozzáadása\"\n\nmsgid \"Change password\"\nmsgstr \"Jelszó módosítása\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Felhasználó előléptetése/lefokozása\"\n\nmsgid \"Delete User\"\nmsgstr \"Felhasználó törlése\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Új felhasználó meghatározása\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Felhasználónév: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"{} rendszergazda (sudoer) legyen?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"A „sudo” jogosultsággal rendelkező felhasználók meghatározása: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Nincs hálózati konfiguráció\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Állítsa be egy BTRFS-partíció alköteteit\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Válassza ki, hogy melyik partícióra legyenek beállítva az alkötetek\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"A jelenlegi partíció BTRFS-alköteteinek kezelése\"\n\nmsgid \"No configuration\"\nmsgstr \"Nincs konfiguráció\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Felhasználói konfiguráció mentése\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Felhasználói hitelesítési adatok mentése\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Lemezelrendezés mentése\"\n\nmsgid \"Save all\"\nmsgstr \"Összes mentése\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Válassza ki a mentendő konfiguráció(ka)t\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Adjon meg egy könyvtárat a mentendő konfiguráció(k) számára: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Érvénytelen könyvtár: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Úgy tűnik, hogy a megadott jelszó gyenge,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"biztosan használni akarja?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Nem kötelező tárolók\"\n\nmsgid \"Save configuration\"\nmsgstr \"Konfiguráció mentése\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Hiányzó konfigurációk:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Meg kell adni egy root-jelszót vagy legalább 1 rendszergazdát\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Rendszergazdai fiókok kezelése: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Normál felhasználói fiókok kezelése: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Alkötet: {:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" csatolási pont: {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" a következő beállítással: {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"Adja meg az értékeket egy új alkötethez \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Alkötet neve \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Alkötet csatolási pontja\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Alkötetbeállítások\"\n\nmsgid \"Save\"\nmsgstr \"Mentés\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Alkötet neve:\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Válasszon ki egy csatolási pontot:\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Válassza ki az alkötetbeállításokat \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"A „sudo” jogosultsággal rendelkező felhasználók meghatározása a felhasználónév alapján: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] A naplófájl itt jött létre: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Szeretne BTRFS-alköteteket alapértelmezett struktúrával használni?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Szeretne BTRFS-tömörítést használni?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Szeretne egy külön partíciót létrehozni a „/home” számára?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"A kiválasztott meghajtók nem rendelkeznek az automatikus javaslathoz szükséges minimális kapacitással.\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"A „/home” partíció minimális kapacitása: {} GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Az Arch Linux-partíció minimális kapacitása: {} GB\"\n\nmsgid \"Continue\"\nmsgstr \"Folytatás\"\n\nmsgid \"yes\"\nmsgstr \"igen\"\n\nmsgid \"no\"\nmsgstr \"nem\"\n\nmsgid \"set: {}\"\nmsgstr \"beállítás: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"A kézi konfigurációs beállításnak egy listának kell lennie\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Nincs megadva iface a kézi konfigurációhoz\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"A kézi nic-konfiguráció automatikus DHCP nélkül egy IP-címet igényel\"\n\nmsgid \"Add interface\"\nmsgstr \"Csatoló hozzáadása\"\n\nmsgid \"Edit interface\"\nmsgstr \"Csatoló szerkesztése\"\n\nmsgid \"Delete interface\"\nmsgstr \"Csatoló törlése\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Válassza ki a hozzáadandó csatolót\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Kézi konfiguráció\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"A partíció megjelölése/elvetése mint tömörített (csak BTRFS)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Úgy tűnik, hogy a megadott jelszó gyenge. Biztosan használni akarja?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Asztali környezetek és ablakkezelők széles választékát kínálja, például: gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Válassza ki az asztali környezetet\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Egy nagyon alapszintű telepítés, amely lehetővé teszi, hogy az Arch Linuxot saját belátása szerint testre szabja.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Különböző kiszolgálócsomagok széles választékát kínálja a telepítéshez és az engedélyezéshez, például: httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Válassza ki, hogy mely kiszolgálók legyenek telepítve, ha egyiket sem választja ki, akkor minimális telepítés történik\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Telepít egy minimális rendszert, valamint az xorg-ot és a grafikus illesztőprogramokat.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"A folytatáshoz nyomja meg az „Entert”.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Szeretne chroot-olni az újonnan létrehozott telepítésbe, és elvégezni a telepítés utáni konfigurációt?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Biztosan vissza akarja állítani ezt a beállítást alapértelmezettre?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Válasszon ki egy vagy több meghajtót a használathoz és konfiguráláshoz.\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"A meglévő beállítások bármilyen módosítása visszaállítja a lemezelrendezést az alapértelmezettre!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Ha alapértelmezettre állítja a meghajtókiválasztást, akkor a jelenlegi lemezelrendezést is visszaállítja. Biztos benne?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Mentés és kilépés\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"sorban álló partíciót tartalmaz, ez eltávolítja azokat, biztos benne?\"\n\nmsgid \"No audio server\"\nmsgstr \"Nincs kiválasztva hangkiszolgáló\"\n\nmsgid \"(default)\"\nmsgstr \"(alapértelmezett)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"ESC → a kihagyáshoz\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"CTRL+C → a jelenlegi kiválasztás visszaállításához\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Másolás ide: \"\n\nmsgid \"Edit: \"\nmsgstr \"Szerkesztés: \"\n\nmsgid \"Key: \"\nmsgstr \"Kulcs: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"{} szerkesztése: \"\n\nmsgid \"Add: \"\nmsgstr \"Hozzáadás: \"\n\nmsgid \"Value: \"\nmsgstr \"Érték: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Kihagyhatja a meghajtó kiválasztását és a particionálást, továbbá bármilyen meghajtóbeállítást használhat, amely az „/mnt” könyvtárhoz van csatolva (kísérleti)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Válassza ki az egyik lemezt, vagy hagyja ki ezt a lépést és használja az „/mnt” csatolási pontot alapértelmezettként\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Válassza ki a formázásra megjelölendő partíciókat:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"HSM használata a titkosított meghajtó feloldásához\"\n\nmsgid \"Device\"\nmsgstr \"Eszköz\"\n\nmsgid \"Size\"\nmsgstr \"Méret\"\n\nmsgid \"Free space\"\nmsgstr \"Szabad terület\"\n\nmsgid \"Bus-type\"\nmsgstr \"Busztípus\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Meg kell adni egy root-jelszót, vagy legalább 1 „sudo” jogosultsággal rendelkező felhasználót\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Felhasználónév megadása (hagyja üresen a kihagyáshoz): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"A megadott felhasználónév érvénytelen. Próbálja újra\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"A(z) „{}” nevű felhasználónak rendszergazdának (sudoer) kell lennie?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Válassza ki a titkosítandó partíciókat\"\n\nmsgid \"very weak\"\nmsgstr \"nagyon gyenge\"\n\nmsgid \"weak\"\nmsgstr \"gyenge\"\n\nmsgid \"moderate\"\nmsgstr \"közepes\"\n\nmsgid \"strong\"\nmsgstr \"erős\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Alkötet hozzáadása\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Alkötet szerkesztése\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Alkötet törlése\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"{} konfigurált csatoló\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Ez a beállítás lehetővé teszi, hogy telepítéskor hány párhuzamos letöltés történhet\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Adja meg az engedélyezendő párhuzamos letöltések számát.\\n\"\n\" (Adjon meg egy értéket 1 és {} között)\\n\"\n\"Megjegyzés:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Maximális érték: {} ({} párhuzamos letöltést tesz lehetővé egyszerre {} szálon)\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Minimális érték: 1 (1 párhuzamos letöltést tesz lehetővé, egyszerre 2 szálon)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Letiltás/alapértelmezett: 0 (Kikapcsolja a párhuzamos letöltést, egyszerre csak 1 szálon teszi lehetővé a letöltést)\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Érvénytelen bemenet! Próbálja újra egy érvényes bemenettel [1-től {max_downloads}-ig, vagy 0-t a letiltáshoz]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Párhuzamos letöltések\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC → a kihagyáshoz\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C → a visszaállításhoz\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB → a kiválasztáshoz\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Alapértelmezett érték: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"A fordítás használatához telepítsen kézileg egy olyan betűtípust, amelyik támogatja ezt a nyelvet.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"A betűtípust úgy kell eltárolni mint {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Az Archinstall futtatásához root-jogosultságok szükségesek. További információkért tekintse meg a súgót: --help.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Válasszon ki egy végrehajtási módot\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Nem sikerült lekérni a profilt a megadott webcímről: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"A profiloknak egyedi névvel kell rendelkezniük, de ismétlődő névvel rendelkező profildefiníciók találhatók: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Válasszon ki egy vagy több eszközt a használathoz és a konfiguráláshoz\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Ha visszaállítja az eszközkiválasztást, akkor a jelenlegi lemezelrendezést is visszaállítja. Biztos benne?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Meglévő partíciók\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Válasszon ki egy particionálási beállítást\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Adja meg a csatolt eszközök gyökérkönyvtárát: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"A „/home” partíció minimális kapacitása: {} GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Az Arch Linux-partíció minimális kapacitása: {} GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Ez az előre programozott profiles_bck lista, ami megkönnyítheti az olyan dolgok telepítését, mint például az asztali környezetekét\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Jelenlegi profil kiválasztása\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Az összes újonnan hozzáadott partíció eltávolítása\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Csatolási pont hozzárendelése\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Megjelölés/elvetés mint formázandó (adatok törlése)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Megjelölés/elvetés mint rendszerindító\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Fájlrendszer módosítása\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Megjelölés/elvetés mint tömörített\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Alkötetek beállítása\"\n\nmsgid \"Delete partition\"\nmsgstr \"Partíció törlése\"\n\nmsgid \"Partition\"\nmsgstr \"Partíció\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Ez a partíció jelenleg titkosított, a formázásához meg kell adni egy fájlrendszert\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"A partíció csatolási pontok a telepítésen belülre vonatkoznak, a „boot” például „/boot” lesz.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Ha a „/boot” csatolási pont be van állítva, akkor a partíció is rendszerbetöltőnek lesz megjelölve.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Csatolási pont: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Jelenlegi szabad szektorok a(z) {} eszközön:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Összes szektor: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Adja meg a kezdési szektort (alapértelmezett: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Adja meg a partíció végszektorát (százalékban vagy blokkszámban, alapértelmezett: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Ezzel eltávolítja az összes újonnan hozzáadott partíciót, folytatja?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Partíciókezelés: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Teljes hossz: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Titkosítástípus\"\n\nmsgid \"Iteration time\"\nmsgstr \"Iterációs idő\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Adja meg az iterációs időt a LUKS-titkosításhoz (ezredmásodpercben)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"A nagyobb értékek növelik a biztonságot, de lassítják a rendszerindítást\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Alapértelmezett: 10 000 ms, ajánlott tartomány: 1 000 - 60 000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Az iterációs idő nem lehet üres\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Az iterációs időnek legalább 100 ms-nek kell lennie\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Az iterációs idő legfeljebb 120 000 ms lehet\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Adjon meg egy érvényes számot\"\n\nmsgid \"Partitions\"\nmsgstr \"Partíciók\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Nem állnak rendelkezésre HSM-eszközök\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Titkosítandó partíciók\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Válasszon ki egy lemeztitkosítási beállítást\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Válassza ki a HSM-hez használandó FIDO2-eszközt\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"A lehető legjobb beállítást lehetővé tévő alapértelmezett partícióelrendezés használata\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Kézi particionálás\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Előcsatolt konfiguráció\"\n\nmsgid \"Unknown\"\nmsgstr \"Ismeretlen\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Partíciótitkosítás\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! {} formázása erre: \"\n\nmsgid \"← Back\"\nmsgstr \"← Vissza\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Lemeztitkosítás\"\n\nmsgid \"Configuration\"\nmsgstr \"Konfiguráció\"\n\nmsgid \"Password\"\nmsgstr \"Jelszó\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Az összes beállítás vissza lesz állítva az alapértelmezettre, biztos benne?\"\n\nmsgid \"Back\"\nmsgstr \"Vissza\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Válassza ki a telepítendő bejelentkezési segédet a kiválasztott profilokhoz: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Környezet típusa: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"A Sway nem támogatja az Nvidia saját fejlesztésű, zárt illesztőprogramját. Valószínű, hogy problémákba fog ütközni, rendben van ez így?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Telepített csomagok\"\n\nmsgid \"Add profile\"\nmsgstr \"Profil hozzáadása\"\n\nmsgid \"Edit profile\"\nmsgstr \"Profil szerkesztése\"\n\nmsgid \"Delete profile\"\nmsgstr \"Profil törlése\"\n\nmsgid \"Profile name: \"\nmsgstr \"Profil neve: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"A megadott profilnév már használatban van. Próbálja újra\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Ezzel a profillal telepítendő csomagok (szóközzel elválasztva; hagyja üresen a kihagyáshoz): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"A profillal engedélyezendő szolgáltatások (szóközzel elválasztva; hagyja üresen a kihagyáshoz): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Engedélyezi ezt a profilt a telepítéshez?\"\n\nmsgid \"Create your own\"\nmsgstr \"Hozza létre a sajátját\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Válasszon ki egy grafikus illesztőprogramot, vagy hagyja üresen az összes nyílt forráskódú illesztőprogram telepítéséhez\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"A Swaynek hozzáférésre van szüksége az Ön munkamenetéhez (olyan hardvereszközök gyűjteményéhez, mint például a billentyűzet, az egér, stb.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Válasszon ki egy beállítást, hogy engedélyezze a Sway számára a hardverekhez való hozzáférést\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Grafikus illesztőprogram\"\n\nmsgid \"Greeter\"\nmsgstr \"Bejelentkezési segéd\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Válassza ki a telepítendő bejelentkezési segédet\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Ez az előre programozott „default_profiles” listája\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Lemezkonfiguráció\"\n\nmsgid \"Profiles\"\nmsgstr \"Profilok\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Lehetséges könyvtárak keresése a konfigurációs fájlok mentéséhez…\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Válassza ki a könyvtára(ka)t a konfigurációs fájlok mentéséhez\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Egyéni tükör hozzáadása\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Egyéni tükör módosítása\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Egyéni tükör törlése\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Adjon meg egy nevet (hagyja üresen a kihagyáshoz): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Adjon megy egy webcímet (hagyja üresen a kihagyáshoz): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Válasszon ki egy aláírás-ellenőrzési beállítást\"\n\nmsgid \"Select signature option\"\nmsgstr \"Válasszon ki egy aláírásbeállítást\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Egyéni tükrök\"\n\nmsgid \"Defined\"\nmsgstr \"Meghatározott\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Felhasználói konfiguráció mentése (beleértve a lemezelrendezést is)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Adjon meg egy könyvtárat a mentendő konfiguráció(k) számára (a tabulátoros kiegészítés engedélyezve van)\\n\"\n\"Mentési könyvtár: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Szeretné elmenteni a(z) {} konfigurációs fájlt a következő helyre?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} konfigurációs fájl mentése ide: {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Tükrök\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Tükörrégiók\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Maximális érték: {} ({} párhuzamos letöltést tesz lehetővé, egyszerre {max_downloads+1} szálon)\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Érvénytelen bemenet! Próbálja újra egy érvényes bemenettel [1-től {}-ig, vagy 0-t a letiltáshoz]\"\n\nmsgid \"Locales\"\nmsgstr \"Nyelvi beállítások\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"A hálózatkezelő használata (szükséges az internet grafikus konfigurálásához GNOME-ban és KDE-ben)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Összesen: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Az összes beírt értéket mértékegységekkel kell ellátni: B, KB, KiB, MB, MiB…\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Ha nincs mértékegység megadva, akkor az értéket szektorokként értelmezi\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Kezdési hely megadása (alapértelmezett: {} szektor): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Végpont megadása (alapértelmezett: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Nem sikerült meghatározni a FIDO2-eszközöket. Telepítve van a libfido2?\"\n\nmsgid \"Path\"\nmsgstr \"Elérési útvonal\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Gyártó\"\n\nmsgid \"Product\"\nmsgstr \"Termék\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Érvénytelen konfiguráció: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Típus\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Ez a beállítás engedélyezi a csomagletöltéskor a lehetséges párhuzamos letöltések számát\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Adja meg az engedélyezendő párhuzamos letöltések számát.\\n\"\n\"\\n\"\n\"Megjegyzés:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Maximális ajánlott érték: {} ({} párhuzamos letöltést tesz lehetővé egyszerre)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Letiltás/Alapértelmezett: 0 (Kikapcsolja a párhuzamos letöltést, egyszerre csak 1 letöltést tesz lehetővé)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Érvénytelen bemenet! Próbálja újra egy érvényes bemenettel [vagy 0-t a letiltáshoz]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"A Hyprlandnek hozzáférésre van szüksége az Ön munkamenetéhez (olyan hardvereszközök gyűjteményéhez, mint például a billentyűzet, az egér, stb.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Válasszon ki egy beállítást, hogy engedélyezze a Hyprland számára a hardverekhez való hozzáférést\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Az összes beírt értéket mértékegységgel kell ellátni: %, B, KB, KiB, MB, MiB…\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Szeretne egységesített kernelképeket (UKI) használni?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Egységesített kernelképek (UKI)\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Várakozás az időszinkronizálás (timedatectl show) befejezésére.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Az időszinkronizálás nem fejeződik be, amíg várakozik - tekintse meg a dokumentációban a megoldásokat: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Az automatikus időszinkronizálásra való várakozás kihagyása (ez problémákat okozhat, ha az idő nincs szinkronban a telepítéskor)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Várakozás az Arch Linux-kulcstartó szinkronizálásának (archlinux-keyring-wkd-sync) befejezésére.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Kiválasztott profil: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Az időszinkronizálás nem fejeződik be, amíg várakozik - tekintse meg a dokumentációban a megoldásokat: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Megjelölés/elvetés mint „nodatacow”\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Szeretne tömörítést használni vagy letiltani az adatmásolást íráskor?\"\n\nmsgid \"Use compression\"\nmsgstr \"Tömörítés használata\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Adatmásolás letiltása íráskor\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Asztali környezetek és csempés ablakkezelők széles választékát kínálja, például: GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Konfigurációtípus: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM-konfigurációtípus\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"Az LVM-lemez titkosítása 2-nél több partícióval jelenleg nem támogatott\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"A hálózatkezelő használata (szükséges az internet grafikus konfigurálásához GNOME-ban és KDE Plasma-ban)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Válasszon ki egy LVM-beállítást\"\n\nmsgid \"Partitioning\"\nmsgstr \"Particionálás\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Logikai kötetkezelő (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Fizikai kötetek\"\n\nmsgid \"Volumes\"\nmsgstr \"Kötetek\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM-kötetek\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Titkosítandó LVM-kötetek\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Válassza ki a titkosítandó LVM-köteteket\"\n\nmsgid \"Default layout\"\nmsgstr \"Alapértelmezett elrendezés\"\n\nmsgid \"No Encryption\"\nmsgstr \"Nincs titkosítás\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM a LUKS fölött\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS az LVM fölött\"\n\nmsgid \"Yes\"\nmsgstr \"Igen\"\n\nmsgid \"No\"\nmsgstr \"Nem\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall súgó\"\n\nmsgid \" (default)\"\nmsgstr \" (alapértelmezett)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"CTRL+h → a súgó megjelenítéséhez\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Válasszon ki egy beállítást, hogy engedélyezze a Sway számára a hardverekhez való hozzáférést\"\n\nmsgid \"Seat access\"\nmsgstr \"Hozzáférés a munkaállomáshoz\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Csatolási pont\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Adjon meg egy jelszót a lemez titkosításához (hagyja üresen, ha nem akarja titkosítani)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Lemeztitkosítási jelszó\"\n\nmsgid \"Partition - New\"\nmsgstr \"Partíció - új\"\n\nmsgid \"Filesystem\"\nmsgstr \"Fájlrendszer\"\n\nmsgid \"Invalid size\"\nmsgstr \"Érvénytelen méret\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Kezdési hely megadása (alapértelmezett: {} szektor): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Végpont megadása (alapértelmezett: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Alkötet neve\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Lemezkonfiguráció típusa\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Root csatolási könyvtár\"\n\nmsgid \"Select language\"\nmsgstr \"Nyelv kiválasztása\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Írjon be további csomagneveket a telepítéshez (szóközzel elválasztva; hagyja üresen a kihagyáshoz)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Érvénytelen érték lett megadva a párhuzamos letöltések számához\"\n\nmsgid \"Number downloads\"\nmsgstr \"Párhuzamos letöltések száma\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"A megadott felhasználónév érvénytelen\"\n\nmsgid \"Username\"\nmsgstr \"Felhasználónév\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"A(z) „{}” nevű felhasználónak rendszergazdának (sudoer) kell lennie?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Csatolók\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Meg kell adnia egy érvényes IP-címet az IP-cím-konfigurációs módban\"\n\nmsgid \"Modes\"\nmsgstr \"Módok\"\n\nmsgid \"IP address\"\nmsgstr \"IP-cím\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Adja meg az átjáró (elosztó) IP-címét (hagyja üresen, ha nincs ilyen)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Átjárócím\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Adja meg a DNS-kiszolgálókat (szóközzel elválasztva; hagyja üresen, ha nincsenek ilyenek)\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS-kiszolgálók\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Csatolók konfigurálása\"\n\nmsgid \"Kernel\"\nmsgstr \"Kernel\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"A rendszer nem észlelt UEFI-módot, ezért egyes beállítások le vannak tiltva\"\n\nmsgid \"Info\"\nmsgstr \"Információ\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"A Sway nem támogatja az Nvidia saját fejlesztésű, zárt illesztőprogramját.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Valószínű, hogy problémákba fog ütközni, rendben van ez így?\"\n\nmsgid \"Main profile\"\nmsgstr \"Fő profil\"\n\nmsgid \"Confirm password\"\nmsgstr \"Jelszó megerősítése\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"A megerősítéshez használt jelszó nem egyezik meg, próbálja újra\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Érvénytelen könyvtár\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Szeretné folytatni?\"\n\nmsgid \"Directory\"\nmsgstr \"Könyvtár\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Adjon meg egy könyvtárat a mentendő konfiguráció(k) számára (a tabulátoros kiegészítés engedélyezve van)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Szeretné elmenteni a konfigurációs fájl(oka)t a következő helyre: {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Engedélyezve\"\n\nmsgid \"Disabled\"\nmsgstr \"Letiltva\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Jelentse ezt a problémát (a naplófájllal együtt) itt: https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Tükörnév\"\n\nmsgid \"Url\"\nmsgstr \"Webcím\"\n\nmsgid \"Select signature check\"\nmsgstr \"Aláírás-ellenőrzés kiválasztása\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Végrehajtási mód kiválasztása\"\n\nmsgid \"Press ? for help\"\nmsgstr \"? → a súgó megjelenítéséhez\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Válasszon ki egy beállítást, hogy engedélyezze a Hyprland számára a hardverekhez való hozzáférést\"\n\nmsgid \"Additional repositories\"\nmsgstr \"További tárolók\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap a zRam fölött\"\n\nmsgid \"Name\"\nmsgstr \"Név\"\n\nmsgid \"Signature check\"\nmsgstr \"Aláírás-ellenőrzés\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"A kiválasztott szabad szakaszok a(z) {} eszközön:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Méret: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Méret (alapértelmezett: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"HSM-eszköz\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Néhány csomag nem található a tárolóban\"\n\nmsgid \"User\"\nmsgstr \"Felhasználó\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"A megadott konfiguráció lesz alkalmazva\"\n\nmsgid \"Wipe\"\nmsgstr \"Törlés\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Megjelölés/elvetés mint XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Csomagok betöltése…\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Válassza ki az alábbi listából azokat a csomagokat, amelyeket hozzá akar adni a telepítéshez\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Egyéni tároló hozzáadása\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Egyéni tároló módosítása\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Egyéni tároló törlése\"\n\nmsgid \"Repository name\"\nmsgstr \"Tároló neve\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Egyéni kiszolgáló hozzáadása\"\n\nmsgid \"Change custom server\"\nmsgstr \"Egyéni kiszolgáló módosítása\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Egyéni kiszolgáló törlése\"\n\nmsgid \"Server url\"\nmsgstr \"Kiszolgáló webcíme\"\n\nmsgid \"Select regions\"\nmsgstr \"Régiók kiválasztása\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Egyéni kiszolgálók hozzáadása\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Egyéni tároló hozzáadása\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Tükörrégiók betöltése…\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Tükrök és tárolók\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Kiválasztott tükörrégiók\"\n\nmsgid \"Custom servers\"\nmsgstr \"Egyéni kiszolgálók\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Egyéni tárolók\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Csak ASCII karakterek támogatottak\"\n\nmsgid \"Show help\"\nmsgstr \"Súgó megjelenítése\"\n\nmsgid \"Exit help\"\nmsgstr \"Kilépés a súgóból\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Előnézet felfelé görgetése\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Előnézet lefelé görgetése\"\n\nmsgid \"Move up\"\nmsgstr \"Felfelé léptetés\"\n\nmsgid \"Move down\"\nmsgstr \"Lefelé léptetés\"\n\nmsgid \"Move right\"\nmsgstr \"Jobbra léptetés\"\n\nmsgid \"Move left\"\nmsgstr \"Balra léptetés\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Ugrás a bejegyzésre\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Kiválasztás kihagyása (ha elérhető)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Kiválasztás visszaállítása (ha elérhető)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Egyetlen elem kiválasztása\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Több elem kiválasztása\"\n\nmsgid \"Reset\"\nmsgstr \"Visszaállítás\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Kiválasztási menü kihagyása\"\n\nmsgid \"Start search mode\"\nmsgstr \"Keresési mód indítása\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Kilépés a keresési módból\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"A Labwc-nek hozzáférésre van szüksége az Ön munkamenetéhez (olyan hardvereszközök gyűjteményéhez, mint például a billentyűzet, az egér, stb.)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Válasszon ki egy beállítást, hogy engedélyezze a Labwc számára a hardverekhez való hozzáférést\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"A Nirinek hozzáférésre van szüksége az Ön munkamenetéhez (olyan hardvereszközök gyűjteményéhez, mint például a billentyűzet, az egér, stb.)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Válasszon ki egy beállítást, hogy engedélyezze a Niri számára a hardverekhez való hozzáférést\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Megjelölés/elvetés mint EFI-rendszerpartíció (ESP)\"\n\nmsgid \"Package group:\"\nmsgstr \"Csomagcsoport:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Kilépés az Archinstallból\"\n\nmsgid \"Reboot system\"\nmsgstr \"Rendszer újraindítása\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Belépés a telepített rendszer gyökerébe (chroot) a telepítés utáni konfigurációk elvégzéséhez\"\n\nmsgid \"Installation completed\"\nmsgstr \"A telepítés sikeresen befejeződött\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Mit szeretne tenni?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Válassza ki a konfigurálandó módot a következőhöz: „{}”\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Helytelen a jelszó a hitelesítési adatok fájljának visszafejtéséhez\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Helytelen jelszó\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"A hitelesítőadat-fájl visszafejtési jelszava\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Szeretné titkosítani a user_credentials.json fájlt?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"A hitelesítőadat-fájl titkosítási jelszava\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Tárolók: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Új verzió érhető el\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Jelszó nélküli bejelentkezés\"\n\nmsgid \"Second factor login\"\nmsgstr \"Második lépcsős bejelentkezés\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Szeretné konfigurálni a Bluetooth-t?\"\n\nmsgid \"Print service\"\nmsgstr \"Nyomtatási szolgáltatás\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Szeretné konfigurálni a nyomtatási szolgáltatást?\"\n\nmsgid \"Power management\"\nmsgstr \"Energiagazdálkodás\"\n\nmsgid \"Authentication\"\nmsgstr \"Hitelesítés\"\n\nmsgid \"Applications\"\nmsgstr \"Alkalmazások\"\n\nmsgid \"U2F login method: \"\nmsgstr \"U2F bejelentkezési eljárás: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Jelszó nélküli sudo: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"BTRFS-pillanatkép típusa: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Rendszer szinkronizálása…\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Az érték nem lehet üres\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Pillanatkép típusa\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Pillanatkép típusa: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"U2F bejelentkezés beállítása\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Nem található U2F-eszköz\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"U2F bejelentkezési eljárás\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Engedélyezi a jelszó nélküli sudo-t?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"U2F-eszköz beállítása a következő felhasználónak: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Lehet, hogy meg kell adnia a PIN-kódot, majd ki kell választania az U2F-eszközt a regisztrációhoz\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Eszközmódosítások indítása a következőben: \"\n\nmsgid \"No network connection found\"\nmsgstr \"Nem található hálózati kapcsolat\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Szeretne kapcsolódni egy Wi-Fi-hálózathoz?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Nem található Wi-Fi-csatoló\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Válassza ki azt a Wi-Fi-hálózatot, amelyhez kapcsolódni szeretne\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Wi-Fi-hálózatok keresése…\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Nem találhatók Wi-Fi-hálózatok\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Nem sikerült beállítani a Wi-Fi-t\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Adja meg a Wi-Fi-jelszót\"\n\nmsgid \"Ok\"\nmsgstr \"OK\"\n\nmsgid \"Removable\"\nmsgstr \"Cserélhető adathordozó\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Telepítés cserélhető adathordozóra\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"Telepítés helye: /EFI/BOOT/ (cserélhető adathordozó)\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"Telepítés szabványos helyre, NVRAM-bejegyzéssel\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"Szeretné a rendszerbetöltőt a cserélhető adathordozók alapértelmezett keresési helyére telepíteni?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Ez a rendszerbetöltőt az /EFI/BOOT/BOOTX64.EFI (vagy hasonló) helyre telepíti, ami hasznos lehet a következőkhöz:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"USB-meghajtóknál vagy egyéb hordozható, külső adathordozóknál.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Olyan rendszereknél, ahol azt szeretné, hogy a lemez bármely számítógépen indítható legyen.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Olyan firmware-eknél, amelyek nem támogatják megfelelően az NVRAM-rendszerindítási bejegyzéseket.\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"Telepítés helye: /EFI/BOOT/ (cserélhető adathordozó, biztonságos alapértelmezett)\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"Telepítés egyénileg kiválasztott helyre, NVRAM-bejegyzéssel\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Olyan firmware, amely nem támogatja megfelelően az NVRAM-rendszerindító bejegyzéseket, mint a legtöbb MSI-alaplap,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"a legtöbb Apple Mac és számos egyéb laptop…\"\n\nmsgid \"Language\"\nmsgstr \"Nyelv\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"Tömörítési algoritmus\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Csak az olyan csomagok, mint a base, sudo, linux, linux-firmware, efibootmgr és a nem kötelező profilcsomagok lesznek telepítve.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Válassza ki a zRam tömörítési algoritmust:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"Hálózatkezelő használata (alapértelmezett háttérprogram)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"Hálózatkezelő használata (iwd-háttérprogram)\"\n"
  },
  {
    "path": "archinstall/locales/id/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Ali Rohman <laymoth@pm.me>\\n\"\n\"Language-Team: \\n\"\n\"Language: id\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.2.2\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] File log telah dibuat di sini: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Silakan kirimkan masalah ini (dan file) ke https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Apakah Anda benar-benar ingin membatalkan?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Dan sekali lagi untuk verifikasi: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Apakah Anda ingin menggunakan swap di zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Nama host yang diinginkan untuk instalasi: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Nama pengguna untuk superuser yang diperlukan dengan hak sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Beberapa pengguna tambahan untuk dipasang (biarkan kosong untuk tidak menambahkan): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Haruskah pengguna ini menjadi superuser (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Pilih zona waktu\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Apakah Anda ingin menggunakan GRUB sebagai bootloader daripada systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Pilih bootloader\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Pilih server audio\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Hanya paket seperti base, base-devel, linux, linux-firmware, efibootmgr dan paket profil opsional yang diinstal.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Jika Anda menginginkan web browser, seperti firefox atau chromium, Anda dapat menentukannya di prompt berikut.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Ketik paket tambahan untuk diinstal (dipisahkan dengan spasi, biarkan kosong untuk dilewati): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Salin konfigurasi jaringan ISO ke instalasi\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Gunakan NetworkManager (diperlukan untuk mengkonfigurasi internet secara grafis di GNOME dan KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Pilih satu interface jaringan untuk dikonfigurasi\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Pilih mode mana yang akan dikonfigurasi untuk \\\"{}\\\" atau lewati untuk menggunakan mode default \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Masukkan IP dan subnet untuk {} (contoh: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Masukkan IP gateway (router) Anda atau biarkan kosong untuk tidak menggunakan apa pun: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Masukkan server DNS Anda (dipisahkan dengan spasi, untuk kosongkan tidak menggunakan apa pun): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Pilih filesystem mana yang harus digunakan partisi utama Anda\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Tata letak partisi saat ini\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Pilih apa yang harus dilakukan dengan\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Masukkan jenis filesystem yang diinginkan untuk partisi\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Masukkan lokasi awal (dalam satuan parted: s, GB, %, dll. ; default: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Masukkan lokasi akhir (dalam satuan parted: s, GB, %, dll. ; cth: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} berisi partisi yang telah di-queue, tindakan ini akan menghapusnya, apakah Anda yakin?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Pilih berdasarkan indeks partisi mana yang akan dihapus\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Pilih berdasarkan indeks partisi mana yang akan di mount\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Mount point partisi relatif terhadap di dalam instalasi, boot akan menjadi /boot sebagai contoh.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Pilih tempat untuk memasang partisi (biarkan kosong untuk menghapus mountpoint): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Pilih partisi mana yang akan di mask untuk pemformatan\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Pilih partisi mana yang akan ditandai sebagai terenkripsi\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Pilih partisi mana yang akan ditandai sebagai bootable\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Pilih partisi mana untuk mengatur sistem file\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Masukkan jenis filesystem yang diinginkan untuk partisi: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Bahasa Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Hapus semua drive yang dipilih dan gunakan upaya terbaik tata letak partisi default\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Pilih apa yang harus dilakukan dengan setiap drive individu (diikuti dengan penggunaan partisi)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Pilih apa yang ingin Anda lakukan dengan perangkat blok yang dipilih\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Ini adalah daftar profil yang telah diprogram sebelumnya, mereka mungkin memudahkan untuk menginstal hal-hal seperti desktop environment\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Pilih tata letak keyboard\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Pilih salah satu wilayah untuk mengunduh paket dari mana\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Pilih satu atau lebih hard drive untuk digunakan dan dikonfigurasi\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Untuk kompatibilitas terbaik dengan perangkat keras AMD Anda, Anda mungkin ingin menggunakan opsi semua sumber terbuka atau AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Untuk kompatibilitas terbaik dengan perangkat keras Intel Anda, Anda mungkin ingin menggunakan opsi semua sumber terbuka atau Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Untuk kompatibilitas terbaik dengan perangkat keras Nvidia Anda, Anda mungkin ingin menggunakan driver proprietary Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Pilih driver grafis atau biarkan kosong untuk menginstal semua driver open-source\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Semua sumber terbuka (default)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Pilih kernel mana yang akan digunakan atau biarkan kosong untuk \\\"{}\\\" default\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Pilih locale bahasa yang akan digunakan\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Pilih locale encoding yang akan digunakan\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Pilih salah satu nilai yang ditunjukkan di bawah ini: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Pilih satu atau beberapa opsi di bawah ini: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Menambahkan partisi....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Anda harus memasukkan tipe fs yang valid untuk melanjutkan. Lihat `man parted` untuk tipe fs yang valid.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Kesalahan: Mencantumkan profil pada URL \\\"{}\\\" mengakibatkan:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Kesalahan: Tidak dapat mendekode hasil \\\"{}\\\" sebagai JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Tata letak keyboard\"\n\nmsgid \"Mirror region\"\nmsgstr \"Wilayah mirror\"\n\nmsgid \"Locale language\"\nmsgstr \"Locale language\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Locale encoding\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Drive\"\n\nmsgid \"Disk layout\"\nmsgstr \"Tata letak disk\"\n\nmsgid \"Encryption password\"\nmsgstr \"Kata sandi enkripsi\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Bootloader\"\n\nmsgid \"Root password\"\nmsgstr \"Kata sandi root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Akun superuser\"\n\nmsgid \"User account\"\nmsgstr \"Akun pengguna\"\n\nmsgid \"Profile\"\nmsgstr \"Profil\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernel\"\n\nmsgid \"Additional packages\"\nmsgstr \"Paket tambahan\"\n\nmsgid \"Network configuration\"\nmsgstr \"Konfigurasi jaringan\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Sinkronisasi waktu otomatis (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Instal ({} konfigurasi tidak ada)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Anda memutuskan untuk melewati pemilihan harddisk\\n\"\n\"dan akan menggunakan pengaturan drive apa pun yang dipasang di {} (eksperimental)\\n\"\n\"PERINGATAN: Archinstall tidak akan memeriksa kesesuaian pengaturan ini\\n\"\n\"Apakah Anda ingin melanjutkan?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Menggunakan kembali instance partisi: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Buat partisi baru\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Hapus partisi\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Bersihkan/Hapus semua partisi\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Tetapkan titik-mount untuk sebuah partisi\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Tandai/Hapus tanda partisi yang akan diformat (menghapus data)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Tandai/Hapus tanda partisi sebagai terenkripsi\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Tandai/Hapus tanda partisi sebagai bootable (otomatis untuk /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Atur filesystem yang diinginkan untuk sebuah partisi\"\n\nmsgid \"Abort\"\nmsgstr \"Batalkan\"\n\nmsgid \"Hostname\"\nmsgstr \"Hostname\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Tidak dikonfigurasi, tidak tersedia kecuali diatur secara manual\"\n\nmsgid \"Timezone\"\nmsgstr \"Zona waktu\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Atur/Ubah opsi di bawah ini\"\n\nmsgid \"Install\"\nmsgstr \"Install\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Gunakan ESC untuk melewati\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Saran tata letak partisi\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Masukan kata sandi: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Masukkan sandi enkripsi untuk {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Masukkan kata sandi enkripsi disk (biarkan kosong jika tidak ada enkripsi): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Buat pengguna super yang diperlukan dengan hak sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Masukkan kata sandi root (biarkan kosong untuk menonaktifkan root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Kata sandi untuk pengguna \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Memverifikasi bahwa ada paket tambahan (ini mungkin memakan waktu beberapa detik)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Apakah Anda ingin menggunakan sinkronisasi waktu otomatis (NTP) dengan server waktu default?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Waktu perangkat keras dan langkah-langkah pasca-konfigurasi lainnya mungkin diperlukan agar NTP berfungsi.\\n\"\n\"Untuk informasi lebih lanjut, silakan periksa Arch wiki\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Masukkan nama pengguna untuk membuat pengguna tambahan (biarkan kosong untuk melewati): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Gunakan ESC untuk melewati\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Pilih objek dari daftar, dan pilih salah satu tindakan yang tersedia untuk dieksekusi\"\n\nmsgid \"Cancel\"\nmsgstr \"Batalkan\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Konfirmasi dan keluar\"\n\nmsgid \"Add\"\nmsgstr \"Tambah\"\n\nmsgid \"Copy\"\nmsgstr \"Salin\"\n\nmsgid \"Edit\"\nmsgstr \"Edit\"\n\nmsgid \"Delete\"\nmsgstr \"Hapus\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Pilih tindakan untuk '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Salin ke kunci baru:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Jenis nic tidak dikenal: {}. Nilai yang mungkin adalah {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Ini adalah konfigurasi yang Anda pilih:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman sudah berjalan, menunggu maksimal 10 menit untuk berhenti.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Pacman lock yang sudah ada tidak pernah keluar. Harap bersihkan sesi pacman yang ada sebelum menggunakan archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Pilih repositori tambahan opsional mana yang akan diaktifkan\"\n\nmsgid \"Add a user\"\nmsgstr \"Tambahkan pengguna\"\n\nmsgid \"Change password\"\nmsgstr \"Ganti kata sandi\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Promosikan/Turunkan pengguna\"\n\nmsgid \"Delete User\"\nmsgstr \"Hapus pengguna\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Tentukan pengguna baru\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Nama Pengguna : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Haruskah {} menjadi superuser (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Tentukan pengguna dengan hak sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Tidak ada konfigurasi jaringan\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Atur subvolume yang diinginkan pada partisi btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Pilih partisi mana untuk mengatur subvolume\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Kelola subvolume btrfs untuk partisi saat ini\"\n\nmsgid \"No configuration\"\nmsgstr \"Tidak ada konfigurasi\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Simpan konfigurasi pengguna\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Simpan kredensial pengguna\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Simpan tata letak disk\"\n\nmsgid \"Save all\"\nmsgstr \"Simpan semua\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Pilih konfigurasi mana yang akan disimpan\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Masukkan direktori untuk konfigurasi yang akan disimpan: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Bukan direktori yang valid: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Kata sandi yang Anda gunakan tampaknya lemah,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"apakah Anda yakin ingin menggunakannya?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Repositori opsional\"\n\nmsgid \"Save configuration\"\nmsgstr \"Simpan konfigurasi\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Konfigurasi tidak ada: \\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Salah satu root-password atau setidaknya 1 superuser harus ditentukan\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Kelola akun superuser: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Kelola akun pengguna biasa: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolume :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" di mount di {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" dengan opsi {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"Isi nilai yang diinginkan untuk subvolume baru\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Nama subvolume \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Titik mount subvolume\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Opsi subvolume\"\n\nmsgid \"Save\"\nmsgstr \"Simpan\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Nama subvolume :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Pilih titik mount :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Pilih opsi subvolume yang diinginkan \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Tentukan pengguna dengan hak sudo, berdasarkan nama pengguna: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] File log telah dibuat di sini: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Apakah Anda ingin menggunakan subvolume BTRFS dengan struktur default?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Apakah Anda ingin menggunakan kompresi BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Apakah Anda ingin membuat partisi terpisah untuk /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Drive yang dipilih tidak memiliki kapasitas minimum yang diperlukan untuk saran otomatis\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Kapasitas minimum untuk partisi /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Kapasitas minimum untuk partisi Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Lanjutkan\"\n\nmsgid \"yes\"\nmsgstr \"ya\"\n\nmsgid \"no\"\nmsgstr \"tidak\"\n\nmsgid \"set: {}\"\nmsgstr \"atur: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Pengaturan konfigurasi manual harus berupa list\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Tidak ada iface yang ditentukan untuk konfigurasi manual\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Konfigurasi nic manual tanpa DHCP otomatis memerlukan alamat IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Tambahkan interface\"\n\nmsgid \"Edit interface\"\nmsgstr \"Edit interface\"\n\nmsgid \"Delete interface\"\nmsgstr \"Hapus interface\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Pilih interface untuk ditambahkan\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Konfigurasi manual\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Tandai/Hapus tanda partisi sebagai terkompresi (hanya btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Kata sandi yang Anda gunakan tampaknya lemah, apakah Anda yakin ingin menggunakannya?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Menyediakan pilihan desktop environment dan tiling window manager, cth. gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Pilih desktop environment yang Anda inginkan\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Instalasi yang sangat basic yang memungkinkan Anda untuk menyesuaikan Arch Linux sesuai keinginan Anda.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Menyediakan pilihan berbagai paket server untuk diinstal dan diaktifkan, cth. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Pilih server mana yang akan diinstal, jika tidak ada maka instalasi minimal akan dilakukan\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Install sistem minimal serta xorg dan driver grafis.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Tekan Enter untuk melanjutkan.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Apakah Anda ingin melakukan chroot ke instalasi yang baru dibuat dan melakukan konfigurasi pasca-instalasi?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Anda yakin ingin menyetel ulang setelan ini?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Pilih satu atau lebih hard drive untuk digunakan dan dikonfigurasi\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Setiap modifikasi pada pengaturan yang ada akan mengatur ulang tata letak disk!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Jika Anda mengatur ulang pilihan harddrive, ini juga akan mengatur ulang tata letak disk saat ini. Apakah Anda yakin?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Simpan dan keluar\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"berisi partisi yang mengantri, ini akan menghapusnya, apakah Anda yakin?\"\n\nmsgid \"No audio server\"\nmsgstr \"Tidak ada server audio\"\n\nmsgid \"(default)\"\nmsgstr \"(default)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Gunakan ESC untuk melewati\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Gunakan CTRL + C untuk mengatur ulang pilihan saat ini\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Salin ke: \"\n\nmsgid \"Edit: \"\nmsgstr \"Edit: \"\n\nmsgid \"Key: \"\nmsgstr \"Kunci: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Edit {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Tambah: \"\n\nmsgid \"Value: \"\nmsgstr \"Nilai: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Anda dapat melewatkan memilih drive dan mempartisi dan menggunakan pengaturan drive apa pun yang dipasang di /mnt (eksperimental)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Pilih salah satu disk atau lewati dan gunakan /mnt sebagai default\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Pilih partisi mana yang akan ditandai untuk pemformatan:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Gunakan HSM untuk membuka kunci drive terenkripsi\"\n\nmsgid \"Device\"\nmsgstr \"Perangkat\"\n\nmsgid \"Size\"\nmsgstr \"Ukuran\"\n\nmsgid \"Free space\"\nmsgstr \"Ruang kosong\"\n\nmsgid \"Bus-type\"\nmsgstr \"Tipe bus\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Baik kata sandi root atau setidaknya 1 pengguna dengan hak sudo harus ditentukan\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Masukkan nama pengguna (kosongkan untuk melewati): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Nama pengguna yang Anda masukkan tidak valid. Coba lagi\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Haruskah \\\"{}\\\" menjadi superuser (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Pilih partisi mana yang akan dienkripsi\"\n\nmsgid \"very weak\"\nmsgstr \"sangat lemah\"\n\nmsgid \"weak\"\nmsgstr \"lemah\"\n\nmsgid \"moderate\"\nmsgstr \"sedang\"\n\nmsgid \"strong\"\nmsgstr \"kuat\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Tambah subvolume\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Edit subvolume\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Hapus subvolume\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Interface {} dikonfigurasi\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Opsi ini memungkinkan jumlah unduhan paralel yang dapat terjadi selama instalasi\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Masukkan jumlah unduhan paralel yang akan diaktifkan.\\n\"\n\" (Masukkan nilai antara 1 hingga {})\\n\"\n\"Catatan:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Nilai maksimum   : {} ( Memungkinkan {} unduhan paralel, memungkinkan {} unduhan sekaligus)\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Nilai minimum   : 1 (Mengizinkan 1 unduhan paralel, memungkinkan 2 unduhan sekaligus)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Nonaktifkan/Default: 0 (Menonaktifkan pengunduhan paralel, hanya mengizinkan 1 unduhan pada satu waktu)\"\n\n#, fuzzy, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Input tidak valid! Coba lagi dengan input yang valid [1 untuk {}, atau 0 untuk menonaktifkan]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Unduhan Paralel\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC untuk melewati\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL + C untuk mengatur ulang\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB untuk memilih\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Nilai default: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select an execution mode\"\nmsgstr \"Pilih tindakan untuk '{}'\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Pilih satu atau lebih hard drive untuk digunakan dan dikonfigurasi\"\n\n#, fuzzy\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Jika Anda mengatur ulang pilihan harddrive, ini juga akan mengatur ulang tata letak disk saat ini. Apakah Anda yakin?\"\n\n#, fuzzy\nmsgid \"Existing Partitions\"\nmsgstr \"Menambahkan partisi....\"\n\n#, fuzzy\nmsgid \"Select a partitioning option\"\nmsgstr \"Hapus partisi\"\n\n#, fuzzy\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Masukkan direktori untuk konfigurasi yang akan disimpan: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Kapasitas minimum untuk partisi /home: {}GB\\n\"\n\n#, fuzzy, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Kapasitas minimum untuk partisi Arch Linux: {}GB\"\n\n#, fuzzy\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Ini adalah daftar profil yang telah diprogram sebelumnya, mereka mungkin memudahkan untuk menginstal hal-hal seperti desktop environment\"\n\n#, fuzzy\nmsgid \"Current profile selection\"\nmsgstr \"Tata letak partisi saat ini\"\n\n#, fuzzy\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Buat partisi baru\"\n\n#, fuzzy\nmsgid \"Assign mountpoint\"\nmsgstr \"Tetapkan titik-mount untuk sebuah partisi\"\n\n#, fuzzy\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Tandai/Hapus tanda partisi yang akan diformat (menghapus data)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"\"\n\nmsgid \"Change filesystem\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Tandai/Hapus tanda partisi sebagai terkompresi (hanya btrfs)\"\n\n#, fuzzy\nmsgid \"Set subvolumes\"\nmsgstr \"Hapus subvolume\"\n\n#, fuzzy\nmsgid \"Delete partition\"\nmsgstr \"Hapus partisi\"\n\nmsgid \"Partition\"\nmsgstr \"\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Mount point partisi relatif terhadap di dalam instalasi, boot akan menjadi /boot sebagai contoh.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"\"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Total sectors: {}\"\nmsgstr \"Bukan direktori yang valid: {}\"\n\n#, fuzzy\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Masukkan sektor awal (persentase atau nomor blok, default: {}): \"\n\n#, fuzzy\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Masukkan sektor akhir partisi (persentase atau nomor blok, mis: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Encryption type\"\nmsgstr \"Kata sandi enkripsi\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Pilih partisi mana yang akan dienkripsi\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Hapus semua drive yang dipilih dan gunakan upaya terbaik tata letak partisi default\"\n\n#, fuzzy\nmsgid \"Manual Partitioning\"\nmsgstr \"Konfigurasi manual\"\n\n#, fuzzy\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Tidak ada konfigurasi\"\n\nmsgid \"Unknown\"\nmsgstr \"\"\n\nmsgid \"Partition encryption\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \"\"\n\nmsgid \"← Back\"\nmsgstr \"\"\n\nmsgid \"Disk encryption\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Configuration\"\nmsgstr \"Tidak ada konfigurasi\"\n\n#, fuzzy\nmsgid \"Password\"\nmsgstr \"Kata sandi root\"\n\n#, fuzzy\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"{} berisi partisi yang mengantri, ini akan menghapusnya, apakah Anda yakin?\"\n\nmsgid \"Back\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Installed packages\"\nmsgstr \"Paket tambahan\"\n\n#, fuzzy\nmsgid \"Add profile\"\nmsgstr \"Profil\"\n\n#, fuzzy\nmsgid \"Edit profile\"\nmsgstr \"Profil\"\n\n#, fuzzy\nmsgid \"Delete profile\"\nmsgstr \"Hapus interface\"\n\n#, fuzzy\nmsgid \"Profile name: \"\nmsgstr \"Profil\"\n\n#, fuzzy\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Nama pengguna yang Anda masukkan tidak valid. Coba lagi\"\n\n#, fuzzy\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Ketik paket tambahan untuk diinstal (dipisahkan dengan spasi, biarkan kosong untuk dilewati): \"\n\n#, fuzzy\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Ketik paket tambahan untuk diinstal (dipisahkan dengan spasi, biarkan kosong untuk dilewati): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"\"\n\nmsgid \"Create your own\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Pilih driver grafis atau biarkan kosong untuk menginstal semua driver open-source\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Graphics driver\"\nmsgstr \"\"\n\nmsgid \"Greeter\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Disk configuration\"\nmsgstr \"Tidak ada konfigurasi\"\n\n#, fuzzy\nmsgid \"Profiles\"\nmsgstr \"Profil\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Pilih satu atau lebih hard drive untuk digunakan dan dikonfigurasi\"\n\n#, fuzzy\nmsgid \"Add a custom mirror\"\nmsgstr \"Tambahkan pengguna\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Masukkan nama pengguna (kosongkan untuk melewati): \"\n\n#, fuzzy\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Masukkan nama pengguna (kosongkan untuk melewati): \"\n\n#, fuzzy\nmsgid \"Select signature check option\"\nmsgstr \"Pilih interface untuk ditambahkan\"\n\n#, fuzzy\nmsgid \"Select signature option\"\nmsgstr \"Pilih interface untuk ditambahkan\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"\"\n\nmsgid \"Defined\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Simpan konfigurasi pengguna\"\n\n#, fuzzy\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"Masukkan direktori untuk konfigurasi yang akan disimpan: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Simpan konfigurasi\"\n\n#, fuzzy\nmsgid \"Mirrors\"\nmsgstr \"Wilayah mirror\"\n\n#, fuzzy\nmsgid \"Mirror regions\"\nmsgstr \"Wilayah mirror\"\n\n#, fuzzy\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Nilai maksimum   : {} ( Memungkinkan {} unduhan paralel, memungkinkan {} unduhan sekaligus)\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Input tidak valid! Coba lagi dengan input yang valid [1 untuk {}, atau 0 untuk menonaktifkan]\"\n\nmsgid \"Locales\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Gunakan NetworkManager (diperlukan untuk mengkonfigurasi internet secara grafis di GNOME dan KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Masukkan sektor awal (persentase atau nomor blok, default: {}): \"\n\n#, fuzzy\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Masukkan sektor awal (persentase atau nomor blok, default: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"\"\n\nmsgid \"Path\"\nmsgstr \"\"\n\nmsgid \"Manufacturer\"\nmsgstr \"\"\n\nmsgid \"Product\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Konfigurasi manual\"\n\nmsgid \"Type\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Opsi ini memungkinkan jumlah unduhan paralel yang dapat terjadi selama instalasi\"\n\n#, fuzzy\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Masukkan jumlah unduhan paralel yang akan diaktifkan.\\n\"\n\" (Masukkan nilai antara 1 hingga {})\\n\"\n\"Catatan:\"\n\n#, fuzzy, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Nilai maksimum   : {} ( Memungkinkan {} unduhan paralel, memungkinkan {} unduhan sekaligus)\"\n\n#, fuzzy\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Nonaktifkan/Default: 0 (Menonaktifkan pengunduhan paralel, hanya mengizinkan 1 unduhan pada satu waktu)\"\n\n#, fuzzy\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Input tidak valid! Coba lagi dengan input yang valid [1 untuk {}, atau 0 untuk menonaktifkan]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Apakah Anda ingin menggunakan swap di zram?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Selected profiles: \"\nmsgstr \"Hapus interface\"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Tandai/Hapus tanda partisi sebagai terkompresi (hanya btrfs)\"\n\n#, fuzzy\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Apakah Anda ingin menggunakan kompresi BTRFS?\"\n\nmsgid \"Use compression\"\nmsgstr \"\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Menyediakan pilihan desktop environment dan tiling window manager, cth. gnome, kde, sway\"\n\n#, fuzzy, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Tidak ada konfigurasi\"\n\n#, fuzzy\nmsgid \"LVM configuration type\"\nmsgstr \"Tidak ada konfigurasi\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Gunakan NetworkManager (diperlukan untuk mengkonfigurasi internet secara grafis di GNOME dan KDE)\"\n\n#, fuzzy\nmsgid \"Select a LVM option\"\nmsgstr \"Pilih zona waktu\"\n\n#, fuzzy\nmsgid \"Partitioning\"\nmsgstr \"Konfigurasi manual\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"LVM volumes\"\nmsgstr \"Hapus subvolume\"\n\n#, fuzzy\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Pilih partisi mana yang akan dienkripsi\"\n\n#, fuzzy\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Pilih partisi mana yang akan dienkripsi\"\n\n#, fuzzy\nmsgid \"Default layout\"\nmsgstr \"Tata letak disk\"\n\n#, fuzzy\nmsgid \"No Encryption\"\nmsgstr \"Kata sandi enkripsi\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"ya\"\n\nmsgid \"No\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Archinstall help\"\nmsgstr \"Bahasa Archinstall\"\n\n#, fuzzy\nmsgid \" (default)\"\nmsgstr \"(default)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"Tetapkan titik-mount untuk sebuah partisi\"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Masukkan kata sandi enkripsi disk (biarkan kosong jika tidak ada enkripsi): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"Kata sandi enkripsi\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"Konfigurasi manual\"\n\nmsgid \"Filesystem\"\nmsgstr \"\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Masukkan sektor awal (persentase atau nomor blok, default: {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"Masukkan sektor awal (persentase atau nomor blok, default: {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"Nama subvolume \"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"Tidak ada konfigurasi\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"Locale language\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Ketik paket tambahan untuk diinstal (dipisahkan dengan spasi, biarkan kosong untuk dilewati): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The username you entered is invalid\"\nmsgstr \"Nama pengguna yang Anda masukkan tidak valid. Coba lagi\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"Nama Pengguna : \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Haruskah \\\"{}\\\" menjadi superuser (sudo)?\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"Tambahkan interface\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Masukkan IP gateway (router) Anda atau biarkan kosong untuk tidak menggunakan apa pun: \"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Masukkan server DNS Anda (dipisahkan dengan spasi, untuk kosongkan tidak menggunakan apa pun): \"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"Tidak ada server audio\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"Interface {} dikonfigurasi\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"Kernel\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"Profil\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"Ganti kata sandi\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"Bukan direktori yang valid: {}\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"Apakah Anda ingin menggunakan kompresi BTRFS?\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Masukkan direktori untuk konfigurasi yang akan disimpan: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Simpan konfigurasi\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Silakan kirimkan masalah ini (dan file) ke https://github.com/archlinux/archinstall/issues\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"Wilayah mirror\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"Pilih interface untuk ditambahkan\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"Pilih tindakan untuk '{}'\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"Repositori opsional\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"Pilih interface untuk ditambahkan\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Masukkan sektor awal (persentase atau nomor blok, default: {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"Perangkat\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"Nama Pengguna : \"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Tandai/Hapus tanda partisi sebagai terkompresi (hanya btrfs)\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"Paket tambahan\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"Tambahkan pengguna\"\n\nmsgid \"Change custom repository\"\nmsgstr \"\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"Wilayah mirror\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"Tambahkan pengguna\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"Pilih server audio\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"Hapus pengguna\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"Pilih interface untuk ditambahkan\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"Tambahkan pengguna\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"Tambahkan pengguna\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"Wilayah mirror\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"Repositori opsional\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"Wilayah mirror\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"Tidak ada server audio\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"Repositori opsional\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"Pilih interface untuk ditambahkan\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"Pilih zona waktu\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"Pilih tindakan untuk '{}'\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Tandai/Hapus tanda partisi sebagai terkompresi (hanya btrfs)\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Bahasa Archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Apakah Anda ingin melakukan chroot ke instalasi yang baru dibuat dan melakukan konfigurasi pasca-instalasi?\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"Apakah Anda ingin menggunakan kompresi BTRFS?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Pilih mode mana yang akan dikonfigurasi untuk \\\"{}\\\" atau lewati untuk menggunakan mode default \\\"{}\\\"\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Kata sandi enkripsi\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Kata sandi root\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"Kata sandi enkripsi\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Simpan konfigurasi\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"Kata sandi enkripsi\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Wilayah mirror\"\n\nmsgid \"New version available\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Kata sandi root\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Apakah Anda ingin menggunakan kompresi BTRFS?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Apakah Anda ingin menggunakan kompresi BTRFS?\"\n\nmsgid \"Power management\"\nmsgstr \"\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Tidak ada konfigurasi\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Masukan kata sandi: \"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Tidak ada konfigurasi jaringan\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Apakah Anda ingin menggunakan kompresi BTRFS?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Interface {} dikonfigurasi\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Pilih satu interface jaringan untuk dikonfigurasi\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Tidak ada konfigurasi jaringan\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Masukan kata sandi: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Locale language\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Hanya paket seperti base, base-devel, linux, linux-firmware, efibootmgr dan paket profil opsional yang diinstal.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Pilih titik mount :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/it/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: 2026-01-20 19:23+0100\\n\"\n\"Last-Translator: Van Matten\\n\"\n\"Language-Team: Alessio Cuccovillo <alessio.cuccovillo.dev@gmail.com>, Van Matten\\n\"\n\"Language: it\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\"X-Poedit-Basepath: ../..\\n\"\n\"X-Poedit-SearchPath-0: base.pot\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Un file di log è stato creato qui: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Invia questo problema (e il file) a https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Vuoi davvero interrompere?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"E ancora una volta per verifica: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Desideri usare lo swap su zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Nome host desiderato per l'installazione: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Nome utente per il superuser richiesto con privilegi sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Eventuali utenti aggiuntivi da installare (lascia vuoto per nessun utente): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Questo utente dovrebbe essere un superuser (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Seleziona un fuso orario\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Desideri usare GRUB come bootloader invece di systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Scegli un bootloader\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Scegli un server audio\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Vengono installati solo pacchetti come base, base-devel, linux, linux-firmware, efibootmgr e pacchetti di profilo opzionali.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"Nota: base-devel non è più installato di default. Aggiungilo qui se ti servono i build tools.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Se desideri un browser web, come Firefox o Chromium, puoi specificarlo nel seguente prompt.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Scrivi i pacchetti aggiuntivi da installare (separati da spazi, lascia vuoto per saltare): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Copia la configurazione di rete ISO nell'installazione\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Usa NetworkManager (necessario per configurare graficamente Internet in GNOME e KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Seleziona un'interfaccia di rete da configurare\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Seleziona la modalità da configurare per \\\"{}\\\" o salta per utilizzare la modalità predefinita \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Inserisci l'IP e la sottorete per {} (esempio: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Inserisci l'indirizzo IP del tuo gateway (router) o lascia vuoto per nessuno: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Inserisci i tuoi server DNS (separati da spazi, vuoto per nessuno): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Seleziona quale filesystem dovrebbe usare la tua partizione principale\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Layout della partizione corrente\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Seleziona cosa fare con\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Inserisci un tipo di filesystem desiderato per la partizione\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Inserisci la posizione iniziale (in unità separate: s, GB, %, ecc.; impostazione predefinita: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Inserisci la posizione finale (in unità separate: s, GB, %, ecc.; es: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} contiene partizioni in coda, questo le rimuoverà, sei sicuro?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleziona per indice quali partizioni eliminare\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleziona per indice quale partizione montare dove\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * I punti di mount della partizione sono relativi all'interno dell'installazione, per esempio l'avvio sarebbe /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Seleziona dove montare la partizione (lascia vuoto per rimuovere il punto di mount): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleziona quale partizione mascherare per la formattazione\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleziona quale partizione contrassegnare come crittografata\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleziona quale partizione contrassegnare come avviabile\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleziona su quale partizione impostare un filesystem\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Inserisci un tipo di filesystem desiderato per la partizione: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Lingua di Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Cancella tutte le unità selezionate e utilizza un layout di partizione predefinito ottimale\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Seleziona cosa fare con ogni singola unità (seguito dall'utilizzo della partizione)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Seleziona cosa desideri fare con i dispositivi a blocchi selezionati\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Questo è un elenco di profili pre-programmati, che potrebbero semplificare l'installazione di elementi come gli ambienti desktop\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Seleziona il layout della tastiera\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Seleziona una delle regioni da cui scaricare i pacchetti\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Seleziona uno o più dischi rigidi da utilizzare e configurare\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Per la migliore compatibilità con il tuo hardware AMD, potresti voler utilizzare tutte le opzioni open source o AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Per la migliore compatibilità con il tuo hardware Intel, potresti voler utilizzare tutte le opzioni open source o Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Per la migliore compatibilità con il tuo hardware Nvidia, potresti voler utilizzare il driver proprietario Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Seleziona un driver grafico o lascia vuoto per installare tutti i driver open source\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Tutti gli open source (predefinito)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Scegli quali kernel usare o lascia vuoto per il predefinito \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Scegli quale lingua locale utilizzare\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Scegli quale codifica locale utilizzare\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Seleziona uno dei valori mostrati di seguito: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Seleziona una o più delle seguenti opzioni \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Aggiungendo la partizione....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Devi inserire un tipo di filesystem valido per continuare. Vedi `man parted` per tipi di filesystem validi.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Errore: l'elenco dei profili sull'URL \\\"{}\\\" ha prodotto:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Errore: impossibile decodificare il risultato \\\"{}\\\" come JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Layout della tastiera\"\n\nmsgid \"Mirror region\"\nmsgstr \"Regione dei mirror\"\n\nmsgid \"Locale language\"\nmsgstr \"Lingua locale\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Codifica locale\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Dischi\"\n\nmsgid \"Disk layout\"\nmsgstr \"Layout del disco\"\n\nmsgid \"Encryption password\"\nmsgstr \"Password di crittografia\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Bootloader\"\n\nmsgid \"Root password\"\nmsgstr \"Password di root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Account superuser\"\n\nmsgid \"User account\"\nmsgstr \"Account utente\"\n\nmsgid \"Profile\"\nmsgstr \"Profilo\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernel\"\n\nmsgid \"Additional packages\"\nmsgstr \"Pacchetti aggiuntivi\"\n\nmsgid \"Network configuration\"\nmsgstr \"Configurazione di rete\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Sincronizzazione automatica dell'ora (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Installa ({} configurazioni mancanti)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Hai deciso di saltare la selezione del disco rigido\\n\"\n\"e utilizzerà qualsiasi configurazione dell'unità montata su {} (sperimentale)\\n\"\n\"ATTENZIONE: Archinstall non verificherà l'idoneità di questa configurazione\\n\"\n\"Vuoi continuare?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Riutilizzo dell'istanza di partizione: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Crea una nuova partizione\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Elimina una partizione\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Cancella/Elimina tutte le partizioni\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Assegna punto di mount per una partizione\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Seleziona/Deseleziona una partizione da formattare (cancella i dati)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Seleziona/Deseleziona una partizione come crittografata\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Seleziona/Deseleziona una partizione come avviabile (automatico per /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Imposta il filesystem desiderato per una partizione\"\n\nmsgid \"Abort\"\nmsgstr \"Interrompi\"\n\nmsgid \"Hostname\"\nmsgstr \"Nome host\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Non configurato, non disponibile a meno che non venga configurato manualmente\"\n\nmsgid \"Timezone\"\nmsgstr \"Fuso orario\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Imposta/Modifica le seguenti opzioni\"\n\nmsgid \"Install\"\nmsgstr \"Installa\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Usa ESC per saltare\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Suggerisci il layout della partizione\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Inserisci una password: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Inserisci una password di crittografia per {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Inserisci la password di crittografia del disco (lasciare vuoto per nessuna crittografia): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Crea un superuser richiesto con privilegi sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Inserisci la password di root (lascia vuoto per disabilitare il root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Password per l'utente \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Verifico l'esistenza dei pacchetti aggiuntivi (potrebbe richiedere alcuni secondi)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Desideri usare la sincronizzazione automatica dell'ora (NTP) con i server orari predefiniti?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Per il funzionamento di NTP potrebbero essere necessari l'ora dell'hardware e altri passaggi successivi alla configurazione.\\n\"\n\"Per ulteriori informazioni, consultare Arch Wiki\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Inserisci un nome utente per creare un utente aggiuntivo (lascia vuoto per saltare): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Usa ESC per saltare\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Scegli un oggetto dall'elenco e seleziona una delle azioni disponibili per l'esecuzione\"\n\nmsgid \"Cancel\"\nmsgstr \"Annulla\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Conferma ed esci\"\n\nmsgid \"Add\"\nmsgstr \"Aggiungi\"\n\nmsgid \"Copy\"\nmsgstr \"Copia\"\n\nmsgid \"Edit\"\nmsgstr \"Modifica\"\n\nmsgid \"Delete\"\nmsgstr \"Elimina\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Seleziona un'azione per '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Copia su nuova chiave:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Tipo nic sconosciuto: {}. I valori possibili sono {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Questa è la configurazione scelta:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman è già in esecuzione, in attesa di un massimo di 10 minuti per la sua terminazione.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Il lock di pacman preesistente non è mai terminato. Rimuovi ogni sessione pacman esistente prima di usare archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Scegli quali repository aggiuntivi facoltativi abilitare\"\n\nmsgid \"Add a user\"\nmsgstr \"Aggiungi un utente\"\n\nmsgid \"Change password\"\nmsgstr \"Cambia password\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Promuovi/Retrocedi un utente\"\n\nmsgid \"Delete User\"\nmsgstr \"Elimina utente\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Definisci un nuovo utente\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Nome utente : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"{} dovrebbe essere un superuser (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Definisci utenti con privilegi sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Nessuna configurazione di rete\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Imposta i sottovolumi desiderati su una partizione btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Seleziona su quale partizione impostare i sottovolumi\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Gestisci i sottovolumi btrfs per la partizione corrente\"\n\nmsgid \"No configuration\"\nmsgstr \"Nessuna configurazione\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Salva configurazione utente\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Salva le credenziali dell'utente\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Salva layout del disco\"\n\nmsgid \"Save all\"\nmsgstr \"Salva tutto\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Scegli quale configurazione salvare\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Inserisci una cartella in cui salvare le configurazioni: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Cartella non valida: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"La password che stai utilizzando sembra essere debole,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"sei sicuro di volerla usare?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Repository opzionali\"\n\nmsgid \"Save configuration\"\nmsgstr \"Salva configurazione\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Configurazioni mancanti:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"È necessario specificare la password di root o almeno 1 superuser\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Gestisci account superuser: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Gestisci gli account utente ordinari: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Sottovolume :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" montato su {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" con opzione {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Riempi i valori desiderati per un nuovo sottovolume \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Nome del sottovolume \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Punto di mount del sottovolume\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Opzioni del sottovolume\"\n\nmsgid \"Save\"\nmsgstr \"Salva\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Nome del sottovolume :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Seleziona un punto di mount:\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Seleziona le opzioni del sottovolume desiderate \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Definisci gli utenti con privilegi sudo, per nome utente: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Un file di log è stato creato qui: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Desideri usare i sottovolumi BTRFS con una struttura predefinita?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Desideri usare la compressione BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Desideri creare una partizione separata per /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Le unità selezionate non hanno la capacità minima richiesta per un suggerimento automatico\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Capacità minima per la partizione /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Capacità minima per la partizione Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Continua\"\n\nmsgid \"yes\"\nmsgstr \"sì\"\n\nmsgid \"no\"\nmsgstr \"no\"\n\nmsgid \"set: {}\"\nmsgstr \"imposta: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"L'impostazione della configurazione manuale deve essere un elenco\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Nessuna iface specificata per la configurazione manuale\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"La configurazione manuale del nic senza DHCP automatico richiede un indirizzo IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Aggiungi interfaccia\"\n\nmsgid \"Edit interface\"\nmsgstr \"Modifica interfaccia\"\n\nmsgid \"Delete interface\"\nmsgstr \"Elimina interfaccia\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Seleziona l'interfaccia da aggiungere\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Configurazione manuale\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Seleziona/Deseleziona una partizione come compressa (solo btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"La password che stai utilizzando sembra essere debole, sei sicuro di volerla usare?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Fornisce una selezione di ambienti desktop e gestori di finestre, per esempio gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Seleziona l'ambiente desktop desiderato\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Un'installazione molto semplice che ti consente di personalizzare Arch Linux come meglio credi.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Fornisce una selezione di vari pacchetti server da installare e abilitare, per esempio httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Scegli quali server installare, se nessuno verrà eseguita un'installazione minima\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Installa un sistema minimo oltre a xorg e driver grafici.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Premi Invio per continuare.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Desideri eseguire il chroot nell'installazione appena creata e fare la configurazione post-installazione?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Sei sicuro di voler ripristinare questa impostazione?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Seleziona uno o più dischi rigidi da utilizzare e configurare\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Qualsiasi modifica all'impostazione esistente ripristinerà il layout del disco!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Se si ripristina la selezione del disco rigido, verrà ripristinato anche il layout del disco corrente. Sei sicuro?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Salva ed esci\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"contiene partizioni in coda, questo le rimuoverà, sei sicuro?\"\n\nmsgid \"No audio server\"\nmsgstr \"Nessun server audio\"\n\nmsgid \"(default)\"\nmsgstr \"(predefinito)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Usa ESC per saltare\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Usa CTRL+C per reimpostare la selezione corrente\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Copia su: \"\n\nmsgid \"Edit: \"\nmsgstr \"Modifica: \"\n\nmsgid \"Key: \"\nmsgstr \"Chiave: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Modifica {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Aggiungi: \"\n\nmsgid \"Value: \"\nmsgstr \"Valore: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Puoi saltare la selezione e il partizionamento di un'unità e utilizzare qualsiasi configurazione di unità sia montata in /mnt (sperimentale)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Seleziona uno dei dischi o salta e usa /mnt come predefinito\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Seleziona quali partizioni contrassegnare per la formattazione:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Utilizza HSM per sbloccare l'unità crittografata\"\n\nmsgid \"Device\"\nmsgstr \"Dispositivo\"\n\nmsgid \"Size\"\nmsgstr \"Dimensione\"\n\nmsgid \"Free space\"\nmsgstr \"Spazio libero\"\n\nmsgid \"Bus-type\"\nmsgstr \"Tipo di bus\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"È necessario specificare la password di root o almeno 1 utente con privilegi sudo\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Inserisci il nome utente (lascia vuoto per saltare): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Il nome utente inserito non è valido. Riprova\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\\\"{}\\\" dovrebbe essere un superuser (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Seleziona le partizioni da crittografare\"\n\nmsgid \"very weak\"\nmsgstr \"molto debole\"\n\nmsgid \"weak\"\nmsgstr \"debole\"\n\nmsgid \"moderate\"\nmsgstr \"discreta\"\n\nmsgid \"strong\"\nmsgstr \"forte\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Aggiungi sottovolume\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Modifica sottovolume\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Elimina sottovolume\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Interfacce {} configurate\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Questa opzione consente di impostare il numero di download paralleli che possono avvenire durante l'installazione\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Inserisci il numero di download paralleli da abilitare.\\n\"\n\" (Inserisci un valore compreso tra 1 e {})\\n\"\n\"Nota:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Valore massimo   : {} ( Consente {} download parallelo, consente {} download alla volta )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Valore minimo   : 1 ( Consente 1 download parallelo, consente 2 download alla volta )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Disabilita/Predefinito : 0 ( Disabilita il download parallelo, consente solo 1 download alla volta )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Input non valido! Riprova con un input valido [da 1 a {max_downloads}, o 0 per disabilitare].\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Download paralleli\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC per saltare\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C per resettare\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB per selezionare\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Valore predefinito: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Per poter utilizzare questa traduzione, installa manualmente un font che supporti la lingua.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Il carattere dovrebbe essere memorizzato come {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall richiede i privilegi di root per essere eseguito. Vedi --help per ulteriori informazioni.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Seleziona una modalità d’esecuzione\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Impossibile recuperare il profilo dall’URL specificato: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"I profili devono avere un nome univoco, ma sono state trovate definizioni di profilo con nome duplicato: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Seleziona uno o più dispositivi da utilizzare e configurare\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Se si ripristina la selezione del disco rigido, verrà ripristinato anche il layout del disco corrente. Sei sicuro?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Partizioni esistenti\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Selezione opzione di partizionamento\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Inserisci la cartella principale dei dispositivi montati: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Capacità minima per la partizione /home: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Capacità minima per la partizione Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Questo è un elenco di profili pre-programmati, che potrebbero semplificare l'installazione di elementi come gli ambienti desktop\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Selezione profilo corrente\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Elimina tutte le partizioni appena aggiunte\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Assegna punto di mount\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Seleziona/Deseleziona come da formattare (cancella i dati)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Contrassegna/Deseleziona come avviabile\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Cambia filesystem\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Seleziona/Deseleziona come compressa\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Imposta sottovolumi\"\n\nmsgid \"Delete partition\"\nmsgstr \"Elimina partizione\"\n\nmsgid \"Partition\"\nmsgstr \"Partizione\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Questa partizione è attualmente crittografata, per formattarla è necessario specificare un filesystem\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"I punti di mount della partizione sono relativi all'interno dell'installazione, l'avvio sarebbe per esempio /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Se il punto di mount /boot è impostato, anche la partizione sarà contrassegnata come avviabile.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Punto di mount: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Settori attualmente liberi sul dispositivo {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Settori totali: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Inserisci il settore iniziale (predefinito: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Inserisci il settore finale della partizione (percentuale o numero di blocco, predefinito: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Questo rimuoverà tutte le partizioni appena aggiunte, continuare?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Gestione partizione: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Lunghezza totale: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Tipo di crittografia\"\n\nmsgid \"Iteration time\"\nmsgstr \"Tempo di iterazione\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Inserisci il tempo di iterazione per la crittografia LUKS (in millisecondi)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Valori alti aumentano la sicurezza ma rallentano l'avvio\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Predefinito: 10000 ms, Intervallo consigliato: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Il tempo di iterazione non può essere vuoto\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Il tempo di iterazione deve essere almeno 100 ms\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Il tempo di iterazione deve essere al massimo 120000 ms\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Inserisci un numero valido\"\n\nmsgid \"Partitions\"\nmsgstr \"Partizioni\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Nessun dispositivo HSM disponibile\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Partizioni da crittografare\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Selezione opzione per crittografia disco\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Seleziona un dispositivo FIDO2 da utilizzare per HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Utilizza un layout di partizione predefinito ottimale\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Partizionamento manuale\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Configurazione pre caricata\"\n\nmsgid \"Unknown\"\nmsgstr \"Sconosciuto\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Crittografia partizione\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formattazione {} in \"\n\nmsgid \"← Back\"\nmsgstr \"← Indietro\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Crittografia disco\"\n\nmsgid \"Configuration\"\nmsgstr \"Configurazione\"\n\nmsgid \"Password\"\nmsgstr \"Password\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Tutte le impostazioni verranno resettate, sei sicuro?\"\n\nmsgid \"Back\"\nmsgstr \"Indietro\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Scegli quale messaggio di benvenuto installare per i profili scelti: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Tipo di ambiente: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Il driver proprietario Nvidia non è supportato da Sway. È probabile che incontrerai dei problemi, ti va bene?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Pacchetti installati\"\n\nmsgid \"Add profile\"\nmsgstr \"Aggiungi profilo\"\n\nmsgid \"Edit profile\"\nmsgstr \"Modifica profilo\"\n\nmsgid \"Delete profile\"\nmsgstr \"Elimina profilo\"\n\nmsgid \"Profile name: \"\nmsgstr \"Nome profilo: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Il nome utente inserito non è già in uso. Riprova\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Pacchetti da installare con questo profilo (separati da spazi, lascia vuoto per saltare): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Servizi da abilitare con questo profilo (separati da spazi, lascia vuoto per saltare): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Questo profilo dovrebbe essere abilitato per l’installazione?\"\n\nmsgid \"Create your own\"\nmsgstr \"Crea il tuo\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Seleziona un driver grafico o lascia vuoto per installare tutti i driver open source\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway ha bisogno dell’accesso al tuo posto (insieme di dispositivi hardware, ad esempio tastiera, mouse, ecc.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Scegli un’opzione per concedere a Sway l’accesso al tuo hardware\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Driver grafici\"\n\nmsgid \"Greeter\"\nmsgstr \"Programma di benvenuto\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Scegli quale programma di benvenuto installare\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Questo è un elenco di default_profiles preprogrammati\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Configurazione disco\"\n\nmsgid \"Profiles\"\nmsgstr \"Profili\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Ricerca di possibili cartelle in cui salvare i file di configurazione ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Seleziona una o più cartelle in cui salvare i file di configurazione\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Aggiungi un mirror personalizzato\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Cambia mirror personalizzato\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Elimina mirror personalizzato\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Inserisci il nome (lascia vuoto per saltare): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Inserisci url (lascia vuoto per saltare): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Seleziona opzione di controllo della firma\"\n\nmsgid \"Select signature option\"\nmsgstr \"Seleziona opzioni di firma\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Mirror personalizzati\"\n\nmsgid \"Defined\"\nmsgstr \"Definito\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Salva configurazione utente (incluso layout del disco)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Inserisci una cartella in cui salvare le configurazioni (completamento col tasto tab abilitato)\\n\"\n\"Cartella di salvataggio: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Vuoi salvare i file di configurazione {} nel seguente percorso?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Salva file di configurazione {} in {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Mirror\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Regione dei mirror\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Valore massimo   : {} ( Consente {} download paralleli, consente {max_downloads+1} downloads alla volta )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Input non valido! Riprova con un input valido [da 1 a {}, o 0 per disabilitare].\"\n\nmsgid \"Locales\"\nmsgstr \"Localizzazione\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Usa NetworkManager (necessario per configurare graficamente Internet in GNOME e KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Totale: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Tutti i valori immessi possono avere come suffisso un’unità: %, B, KB, KiB, MB, MiB…\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Se non viene fornita alcuna unità, il valore viene interpretato come settori\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Inserisci inizio (predefinito: {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Inserisci fine (predefinito: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Impossibile determinare i dispositivi fido2. libfido2 è installato?\"\n\nmsgid \"Path\"\nmsgstr \"Percorso\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Costruttore\"\n\nmsgid \"Product\"\nmsgstr \"Prodotto\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Configurazione non valida: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Tipo\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Questa opzione consente di impostare il numero di download paralleli che possono avvenire durante l'installazione\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Inserisci il numero di download paralleli da abilitare.\\n\"\n\"\\n\"\n\"Nota:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Valore massimo raccomandato : {} ( Consente {} download paralleli)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Disabilita/Predefinito : 0 ( Disabilita il download parallelo, consente solo 1 download alla volta )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Input non valido! Riprova con un input valido [0 per disabilitare].\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland ha bisogno dell’accesso al tuo posto (insieme di dispositivi hardware, ad esempio tastiera, mouse, ecc.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Scegli un’opzione per concedere a Hyprland l'accesso al tuo hardware a Hyprland\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Tutti i valori immessi possono avere come suffisso un’unità: %, B, KB, KiB, MB, MiB…\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Desideri usare le immagini kernel unificate?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Immagini kernel unificate\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"In attesa del completamento della sincronizzazione dell’orario (timedatectl show)\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"La sincronizzazione dell’orario non si sta completando, mentre aspetti leggi la documentazione alla ricerca di una soluzione: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Salto l’attesa della sincronizzazione automatica dell’ora (potrebbe causare problemi se l’orario non è sincronizzato durante l’installazione)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"In attesa che la sincronizzazione del portachiavi di Arch Linux (archlinux-keyring-wkd-sync) sia completa.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Profili selezionati: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"La sincronizzazione dell’orario non si sta completando, in attesa, leggi la documentazione alla ricerca di una soluzione: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Seleziona/Deseleziona come nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Desideri usare la compressione o disabilitare CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"Usa la compressione\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Disabilita Copy-on-Write\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Fornisce una selezione di ambienti desktop e gestori di finestre, per esempio GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Tipo configurazione: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Tipo configurazione LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"La crittografia del disco LVM con più di 2 partizioni non è supportata al momento\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Usa NetworkManager (necessario per configurare graficamente Internet in GNOME e KDE Plasma)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Seleziona una opzione LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Partizionamento in corso\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Logical Volume Management (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Volumi fisici\"\n\nmsgid \"Volumes\"\nmsgstr \"Volumi\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Volumi LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Volumi LVM da crittografare\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Seleziona volumi LVM da crittografare\"\n\nmsgid \"Default layout\"\nmsgstr \"Layout predefinito\"\n\nmsgid \"No Encryption\"\nmsgstr \"Nessuna crittografia\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM su LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS su LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Sì\"\n\nmsgid \"No\"\nmsgstr \"No\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Aiuto di Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (predefinito)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Premi CTRL+H per aiuto\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Scegli un’opzione per concedere a Sway l’accesso al tuo hardware\"\n\nmsgid \"Seat access\"\nmsgstr \"Accesso al posto\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Punto di mount\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Inserisci la password di crittografia del disco (lascia vuoto per nessuna crittografia)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Password di crittografia del disco\"\n\nmsgid \"Partition - New\"\nmsgstr \"Partizione - Nuova\"\n\nmsgid \"Filesystem\"\nmsgstr \"Filesystem\"\n\nmsgid \"Invalid size\"\nmsgstr \"Dimensione non valida\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Inizio (predefinito: settore{}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Fine (predefinito: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Nome del sottovolume\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Tipo configurazione disco\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Cartella di montaggio del root\"\n\nmsgid \"Select language\"\nmsgstr \"Seleziona lingua\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Scrivi i pacchetti aggiuntivi da installare (separati da spazi, lascia vuoto per saltare)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Numero di download non valido\"\n\nmsgid \"Number downloads\"\nmsgstr \"Numero di download\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Il nome utente inserito non è valido\"\n\nmsgid \"Username\"\nmsgstr \"Nome utente\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"\\\"{}\\\" dovrebbe essere un superuser (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Interfacce\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Devi inserire un IP valido nella modalità IP-config\"\n\nmsgid \"Modes\"\nmsgstr \"Modalità\"\n\nmsgid \"IP address\"\nmsgstr \"Indirizzo IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Inserisci l'indirizzo IP del tuo gateway (router) o lascia vuoto per nessuno\"\n\nmsgid \"Gateway address\"\nmsgstr \"Indirizzo gateway\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Inserisci i tuoi server DNS (separati da spazi, vuoto per nessuno)\"\n\nmsgid \"DNS servers\"\nmsgstr \"Server DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Configurazione interfacce\"\n\nmsgid \"Kernel\"\nmsgstr \"Kernel\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"L'UEFI non è stato rilevato ed alcune opzioni sono disattivate\"\n\nmsgid \"Info\"\nmsgstr \"Info\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Il driver proprietario Nvidia non è supportato da Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"È possibile che incorrerai in problemi, ti va bene?\"\n\nmsgid \"Main profile\"\nmsgstr \"Profilo principale\"\n\nmsgid \"Confirm password\"\nmsgstr \"Conferma password\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Le password non corrispondono, prova di nuovo\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Non è una cartella valida\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Desideri continuare?\"\n\nmsgid \"Directory\"\nmsgstr \"Cartella\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Inserisci una cartella in cui salvare le configurazioni (completamento col tasto tab abilitato)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Vuoi salvare i file di configurazione in {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Attivato\"\n\nmsgid \"Disabled\"\nmsgstr \"Disattivato\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Invia questo problema (e il file) a https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Nome mirror\"\n\nmsgid \"Url\"\nmsgstr \"URL\"\n\nmsgid \"Select signature check\"\nmsgstr \"Seleziona controllo della firma\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Seleziona una modalità d’esecuzione\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Premi ? per aiuto\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Scegli un’opzione per concedere a Hyprland l'accesso al tuo hardware\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Repository aggiuntive\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap su zram\"\n\nmsgid \"Name\"\nmsgstr \"Nome\"\n\nmsgid \"Signature check\"\nmsgstr \"Controllo della firma\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Segmento di spazio libero selezionato sul dispositivo {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Dimensione: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Dimensione (predefinita: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Dispositivo HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Alcuni pacchetti non sono stati trovati nella repository\"\n\nmsgid \"User\"\nmsgstr \"Utente\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"La configurazione specificata verrà applicata\"\n\nmsgid \"Wipe\"\nmsgstr \"Cancella\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Contrassegna/Deseleziona come XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Caricamento pacchetti in corso...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Seleziona dalla lista sotto i pacchetti da installare\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Aggiungi una repository personalizzata\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Cambia repository personalizzata\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Elimina repository personalizzata\"\n\nmsgid \"Repository name\"\nmsgstr \"Nome repository\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Aggiungi un server personalizzato\"\n\nmsgid \"Change custom server\"\nmsgstr \"Cambia server personalizzato\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Elimina server personalizzato\"\n\nmsgid \"Server url\"\nmsgstr \"URL server\"\n\nmsgid \"Select regions\"\nmsgstr \"Seleziona regioni\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Aggiungi server personalizzati\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Aggiungi repository personalizzate\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Caricamento regioni dei mirror in corso...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Mirror e repository\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Regioni dei mirror selezionate\"\n\nmsgid \"Custom servers\"\nmsgstr \"Server personalizzati\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Repository personalizzate\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Sono supportati solo caratteri ASCII\"\n\nmsgid \"Show help\"\nmsgstr \"Mostra aiuto\"\n\nmsgid \"Exit help\"\nmsgstr \"Chiudi aiuto\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Anteprima scorrimento vero l'alto\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Anteprima scorrimento vero il basso\"\n\nmsgid \"Move up\"\nmsgstr \"Muovi su\"\n\nmsgid \"Move down\"\nmsgstr \"Muovi giù\"\n\nmsgid \"Move right\"\nmsgstr \"Muovi a destra\"\n\nmsgid \"Move left\"\nmsgstr \"Muovi a sinistra\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Vai alla voce\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Salta selezione (se disponibile)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Ripristina selezione (se disponibile)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Seleziona con selezione singola\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Seleziona con selezione multipla\"\n\nmsgid \"Reset\"\nmsgstr \"Ripristina\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Salta menu di selezione\"\n\nmsgid \"Start search mode\"\nmsgstr \"Avvia modalità ricerca\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Chiudi modalità ricerca\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc ha bisogno dell’accesso al tuo posto (insieme di dispositivi hardware, ad esempio tastiera, mouse, ecc.)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Scegli un’opzione per concedere a labwc l’accesso al tuo hardware\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri ha bisogno dell’accesso al tuo posto (insieme di dispositivi hardware, ad esempio tastiera, mouse, ecc.)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Scegli un’opzione per concedere a niri l’accesso al tuo hardware\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Contrassegna/Deseleziona come ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"Gruppo di pacchetti:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Esci da archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"Riavvia il sistema\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"chroot nell'installazione per la configurazione post-installazione\"\n\nmsgid \"Installation completed\"\nmsgstr \"Installazione completata\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Cosa desideri fare dopo?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Seleziona la modalità da configurare per \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Password di decrittazione del file delle credenziali errata\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Password errata\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Password di decrittazione del file delle credenziali\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Vuoi criptare il file di user_credentials.json?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Password di crittazione del file delle credenziali\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repository: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Nuova versione disponibile\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Accesso senza password\"\n\nmsgid \"Second factor login\"\nmsgstr \"Accesso con secondo fattore\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Desideri configurare il Bluetooth?\"\n\nmsgid \"Print service\"\nmsgstr \"Servizio di stampa\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Desideri configurare il Servizio di stampa?\"\n\nmsgid \"Power management\"\nmsgstr \"Gestione energetica\"\n\nmsgid \"Authentication\"\nmsgstr \"Autenticazione\"\n\nmsgid \"Applications\"\nmsgstr \"Applicazioni\"\n\nmsgid \"U2F login method: \"\nmsgstr \"Metodo di accesso U2F: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo senza password: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Tipo di snapshot Btrfs: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Sincronizzazione del sistema in corso…\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Il valore non può essere vuoto\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Tipo di snapshot\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Tipo di snapshot: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Imposta accesso U2F\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Nessun dispositivo U2F trovato\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"Metodo di accesso U2F\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Attivare sudo senza password?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Impostazione dispositivo U2F per l'utente: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Devi inserire il PIN e toccare il tuo dispositivo U2F per registrarlo\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Avvio delle modifiche del dispositivo in \"\n\nmsgid \"No network connection found\"\nmsgstr \"Nessuna connessione di rete trovata\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Desideri connetterti ad una Wi-FI?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Nessuna interfaccia Wi-Fi trovata\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Seleziona una rete Wi-Fi a cui connettersi\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Scansione reti Wi-Fi in corso...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Nessuna rete Wi-Fi trovata\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Impostazione del Wi-Fi non riuscita\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Inserisci la password del Wi-Fi\"\n\nmsgid \"Ok\"\nmsgstr \"Ok\"\n\nmsgid \"Removable\"\nmsgstr \"Rimovibile\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Installa in una posizione rimovibile\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"Verrà installato in /EFI/BOOT/ (posizione rimovibile)\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"Verrà installato nella posizione standard con voce di avvio NVRAM\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"Desideri installare il bootloader nella posizione predefinita di ricerca dei supporti rimovibili?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Questo installa il bootloader in /EFI/BOOT/BOOTX64.EFI (or simile) che è utile per:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"Unità USB o altri supporti esterni portatili.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Sistemi in cui si desidera che il disco sia avviabile da qualsiasi computer.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Firmware che non supporta correttamente voci di avvio NVRAM.\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"Verrà installato in /EFI/BOOT/ (posizione rimovibile, predefinita sicura)\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"Verrà installato nella posizione personalizzata con voce di avvio NVRAM\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Firmware che non supporta correttamente voci di avvio NVRAM come la maggior parte delle schede madri MSI,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"dei Mac di Apple, molti portatili...\"\n\nmsgid \"Language\"\nmsgstr \"Lingua\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"Algoritmo di compressione\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Vengono installati solo pacchetti come base, sudo, linux, linux-firmware, efibootmgr e pacchetti di profilo opzionali.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Seleziona un algoritmo di compressione zram:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"Usa NetworkManager (backend predefinito)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"Usa NetworkManager (backend iwd)\"\n\nmsgid \"Firewall\"\nmsgstr \"Firewall\"\n\nmsgid \"Enter credentials file decryption password\"\nmsgstr \"Inserici la password di decrittazione del file delle credenziali\"\n\nmsgid \"Configuration preview\"\nmsgstr \"Anteprima della configurazione\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved\"\nmsgstr \"Inserisci una cartella in cui salvare le configurazioni\"\n\nmsgid \"Enter a respository name\"\nmsgstr \"Inserisci il nome di un repository\"\n\nmsgid \"Enter the repository url\"\nmsgstr \"Inserisci l'URL della repository\"\n\nmsgid \"Enter server url\"\nmsgstr \"Inserisci l'URL del server\"\n\nmsgid \"Select mirror regions to be enabled\"\nmsgstr \"Seleziona quali regioni dei mirror abilitare\"\n\nmsgid \"Select optional repositories to be enabled\"\nmsgstr \"Seleziona quali repository aggiuntive opzionali abilitare\"\n\nmsgid \"Select audio configuration\"\nmsgstr \"Seleziona la configurazione audio\"\n\nmsgid \"Enter root password\"\nmsgstr \"Inserisci la password di root\"\n\nmsgid \"Select bootloader to install\"\nmsgstr \"Seleziona il bootloader da installare\"\n\nmsgid \"Select encryption type\"\nmsgstr \"Seleziona il tipo di crittografia\"\n\nmsgid \"Select disks for the installation\"\nmsgstr \"Seleziona il disco per l'installazione\"\n\nmsgid \"Enter a mountpoint\"\nmsgstr \"Inserisci un punto di mount\"\n\n#, python-brace-format\nmsgid \"Enter a size (default: {}): \"\nmsgstr \"Inserisci una dimensione (predefinita: {}): \"\n\nmsgid \"Enter subvolume name\"\nmsgstr \"Inserisci il nome del sottovolume\"\n\nmsgid \"Enter subvolume mountpoint\"\nmsgstr \"Inserisci il punto di mount del sottovolume\"\n\nmsgid \"Select a disk configuration\"\nmsgstr \"Seleziona una configurazione del disco\"\n\nmsgid \"Enter root mount directory\"\nmsgstr \"Inserisci la cartella di montaggio del root\"\n\nmsgid \"You will use whatever drive-setup is mounted at the specified directory\"\nmsgstr \"Userai qualunque configurazione del disco che sia montata nella cartella specificata\"\n\nmsgid \"WARNING: Archinstall won't check the suitability of this setup\"\nmsgstr \"ATTENZIONE: Archinstall non verificherà la compatibilità di di questa configurazione\"\n\nmsgid \"Select main filesystem\"\nmsgstr \"Seleziona il filesystem principale\"\n\nmsgid \"Enter a hostname\"\nmsgstr \"Inserisci un nome dell'host\"\n\nmsgid \"Select timezone\"\nmsgstr \"Seleziona il fuso orario\"\n\nmsgid \"No packages found\"\nmsgstr \"Nessun pacchetto trovato\"\n\nmsgid \"Enter the number of parallel downloads to be enabled\"\nmsgstr \"Inserisci il numero di download in parallelo da abilitare\"\n\n#, python-brace-format\nmsgid \"Value must be between 1 and {}\"\nmsgstr \"Il valore deve essere tra 1 e {}\"\n\nmsgid \"Enter new password\"\nmsgstr \"Inserisci una nuova password\"\n\nmsgid \"Enter a username\"\nmsgstr \"Inserisci un nome utente\"\n\nmsgid \"Enter a password\"\nmsgstr \"Inserisci una password\"\n\nmsgid \"Select an interface\"\nmsgstr \"Seleziona un'interfaccia\"\n\nmsgid \"Choose network configuration\"\nmsgstr \"Scegli la configurazione di rete\"\n\nmsgid \"Select which kernel(s) to install\"\nmsgstr \"Scegli quali kernel installare\"\n\nmsgid \"Select which greeter to install\"\nmsgstr \"Seleziona quale schermata di benvenuto installare\"\n\nmsgid \"Select a profile type\"\nmsgstr \"Seleziona un tipo di profilo\"\n\nmsgid \"The password did not match, please try again\"\nmsgstr \"La password non corrisponde, prova ancora\"\n"
  },
  {
    "path": "archinstall/locales/ja/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: UTUMI Hirosi <utuhiro78@yahoo.co.jp>\\n\"\n\"Language-Team: \\n\"\n\"Language: ja\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] ここにログファイルが作成されました: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    この問題（およびファイル）を https://github.com/archlinux/archinstall/issues に送信してください\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"本当に中止しますか？\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"確認のためにもう1度: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"zram でスワップを使用しますか？\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"インストール時のホスト名: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"sudo 権限を持つスーパーユーザーのユーザー名: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"インストールする追加のユーザー（ユーザーがない場合は無記入）: \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"このユーザーはスーパーユーザーに昇格しますか（sudoer）？\"\n\nmsgid \"Select a timezone\"\nmsgstr \"タイムゾーンを選択\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"systemd-boot の代わりに GRUB をブートローダーとして使用しますか？\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"ブートローダーを選択\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"オーディオサーバーを選択\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"base, base-devel, linux, linux-firmware, efibootmgr などのパッケージとオプションのプロファイルパッケージのみがインストールされます。\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"注意: base-devel はデフォルトではインストールされなくなりました。ビルドツールが必要な場合は、ここで追加してください。\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"firefox や chromium などのウェブブラウザーをインストールする場合は、次のプロンプトで指定できます。\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"追加でインストールするパッケージを書く（スペースで区切る。無記入でスキップ）: \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO ネットワーク設定をインストール環境にコピー\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager を使用（GNOME と KDE でインターネットをグラフィカルに設定するのに必要）\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"設定するネットワークインターフェイスを 1 つ選択\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"どのモードを \\\"{}\\\" に設定するかを選択。スキップでデフォルトモード \\\"{}\\\" を使用\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"{} の IP とサブネットを入力（例: 192.168.0.5/24）: \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"ゲートウェイ（ルーター）の IP アドレスを入力。無い場合は無記入: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"DNS サーバーを入力（スペースで区切る。無い場合は無記入）: \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"メインパーティションで使用するファイルシステムを選択\"\n\nmsgid \"Current partition layout\"\nmsgstr \"現在のパーティションレイアウト\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"何をするか選択\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"パーティションのファイルシステムを入力\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"開始場所を入力（単位: s, GB, % など。デフォルト: {}）: \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"終了場所を入力（単位: s, GB, % など。例: {}）: \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} にはキューに入っているパーティションが含まれます。それらが削除されますがよろしいですか？\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"削除するパーティションをインデックスで選択\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"どのパーティションをどこにマウントするかをインデックスで選択\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"* パーティションのマウントポイントはインストールにおける相対的なものであり、例として boot は /boot になります。\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"パーティションをマウントする場所を選択（無記入でマウントポイントを削除）: \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"フォーマット対象としてマークするパーティションを選択\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"暗号化対象としてマークするパーティションを選択\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"ブータブルとしてマークするパーティションを選択\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"ファイルシステムを設定するパーティションを選択\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"パーティションのファイルシステムを入力: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall の言語\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"選択したすべてのドライブを消去し、ベストエフォートのデフォルトパーティションレイアウトを使用する\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"個々のドライブをどうするかを選択（次にパーティションの使用方法が続く）\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"選択したブロックデバイスで何をするかを選択\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"これは事前にプログラムされたプロファイルのリストです。デスクトップ環境などのインストールが簡単になる可能性があります\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"キーボードレイアウトを選択\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"パッケージをダウンロードする地域を 1 つ選択\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"使用・設定する 1 つ以上のハードドライブを選択\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"AMD ハードウェアとの互換性を最大限に高めるには、すべてのオープンソースまたは AMD/ATI オプションのいずれかを使用することをお勧めします。\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Intel ハードウェアとの互換性を最大限に高めるには、すべてのオープンソースまたは Intel オプションのいずれかを使用することをお勧めします。\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Nvidia ハードウェアとの互換性を最大限に高めるには、Nvidia 独自のドライバーを使用することをお勧めします。\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"グラフィックドライバーを選択するか、無記入ですべてのオープンソースドライバーをインストール\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"すべてのオープンソース（デフォルト）\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"使用するカーネルを選択。無記入でデフォルトの \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"使用するロケール言語を選択\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"使用するロケール エンコーディングを選択\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"以下の値のいずれかを選択: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"以下のオプションを 1 つ以上選択: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"パーティションを追加....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"続行するには、有効な fs-type を入力する必要があります。有効な fs-type については、 `man parted` を参照してください。\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"エラー: URL \\\"{}\\\" のプロファイルをリストすると、次の結果が発生:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"エラー: \\\"{}\\\" の結果を JSON としてデコードできませんでした:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"キーボードレイアウト\"\n\nmsgid \"Mirror region\"\nmsgstr \"ミラーの地域\"\n\nmsgid \"Locale language\"\nmsgstr \"ロケール言語\"\n\nmsgid \"Locale encoding\"\nmsgstr \"ロケールエンコーディング\"\n\nmsgid \"Drive(s)\"\nmsgstr \"ドライブ\"\n\nmsgid \"Disk layout\"\nmsgstr \"ディスクレイアウト\"\n\nmsgid \"Encryption password\"\nmsgstr \"暗号化パスワード\"\n\nmsgid \"Swap\"\nmsgstr \"スワップ\"\n\nmsgid \"Bootloader\"\nmsgstr \"ブートローダー\"\n\nmsgid \"Root password\"\nmsgstr \"root パスワード\"\n\nmsgid \"Superuser account\"\nmsgstr \"スーパーユーザーアカウント\"\n\nmsgid \"User account\"\nmsgstr \"ユーザーアカウント\"\n\nmsgid \"Profile\"\nmsgstr \"プロファイル\"\n\nmsgid \"Audio\"\nmsgstr \"オーディオ\"\n\nmsgid \"Kernels\"\nmsgstr \"カーネル\"\n\nmsgid \"Additional packages\"\nmsgstr \"追加パッケージ\"\n\nmsgid \"Network configuration\"\nmsgstr \"ネットワーク設定\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"時刻の自動同期（NTP）\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"インストール（{} 個の設定がありません）\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"ハードドライブの選択をスキップし、\\n\"\n\"{} にマウントしているドライブのセットアップを使用します（実験的）\\n\"\n\"警告: Archinstall はこのセットアップの適合性をチェックしません\\n\"\n\"続行しますか？\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"パーティションインスタンスの再利用: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"新しいパーティションを作成\"\n\nmsgid \"Delete a partition\"\nmsgstr \"パーティションを削除\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"すべてのパーティションをクリア/削除\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"パーティションにマウントポイントを割り当てる\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"フォーマットするパーティションとしてマーク/マーク解除（データを消去）\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"暗号化するパーティションとしてマーク/マーク解除\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"ブータブルパーティションとしてマーク/マーク解除（/boot の場合は自動）\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"パーティションのファイルシステムを設定\"\n\nmsgid \"Abort\"\nmsgstr \"中止\"\n\nmsgid \"Hostname\"\nmsgstr \"ホスト名\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"未設定。手動で設定しない限り使用できません\"\n\nmsgid \"Timezone\"\nmsgstr \"タイムゾーン\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"以下のオプションを設定/変更\"\n\nmsgid \"Install\"\nmsgstr \"インストール\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Esc でスキップ\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"パーティションレイアウトを提案\"\n\nmsgid \"Enter a password: \"\nmsgstr \"パスワードを入力: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"{} の暗号化パスワードを入力\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"ディスクの暗号化パスワードを入力（暗号化しない場合は無記入）: \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"sudo 権限を持つスーパーユーザーを作成: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"root パスワードを入力（root を無効にする場合は無記入）: \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"ユーザー \\\"{}\\\" のパスワード: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"追加のパッケージが存在することを確認（これには数秒かかる場合があります）\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"デフォルトのタイムサーバーで時刻の自動同期（NTP）を使用しますか？\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP が機能するには、ハードウェアクロックおよびその他の設定後のステップが必要になる場合があります。\\n\"\n\"詳細については Arch wiki を確認してください\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"ユーザー名を入力して追加ユーザーを作成（無記入でスキップ）: \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Esc でスキップ\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"リストからオブジェクトを選択し、そのオブジェクトで実行できるアクションの 1 つを選択\"\n\nmsgid \"Cancel\"\nmsgstr \"キャンセル\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"確認して終了\"\n\nmsgid \"Add\"\nmsgstr \"追加\"\n\nmsgid \"Copy\"\nmsgstr \"コピー\"\n\nmsgid \"Edit\"\nmsgstr \"編集\"\n\nmsgid \"Delete\"\nmsgstr \"削除\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"'{}' へのアクションを選択\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"新しいキーにコピー:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"不明な NIC タイプ: {}。可能な値は {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"これが選択した設定です:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman はすでに実行されており、終了するまで最大 10 分間待機します。\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"既存の pacman のロックが終了しませんでした。Archinstall を使用する前に、既存の pacman セッションをクリーンアップしてください。\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"オプションで有効にする追加リポジトリを選択\"\n\nmsgid \"Add a user\"\nmsgstr \"ユーザーを追加\"\n\nmsgid \"Change password\"\nmsgstr \"パスワードを変更\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"ユーザーを昇格/降格\"\n\nmsgid \"Delete User\"\nmsgstr \"ユーザーを削除\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"新しいユーザーを定義\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"ユーザー名: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"{} はスーパーユーザーに昇格しますか（sudoer）？\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"sudo 権限を持つユーザーを定義: \"\n\nmsgid \"No network configuration\"\nmsgstr \"ネットワーク設定なし\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Btrfs パーティションに必要なサブボリュームを設定\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"サブボリュームを設定するパーティションを選択\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"現在のパーティションの Btrfs サブボリュームを管理\"\n\nmsgid \"No configuration\"\nmsgstr \"設定なし\"\n\nmsgid \"Save user configuration\"\nmsgstr \"ユーザー設定を保存\"\n\nmsgid \"Save user credentials\"\nmsgstr \"ユーザーの認証情報を保存\"\n\nmsgid \"Save disk layout\"\nmsgstr \"ディスクレイアウトを保存\"\n\nmsgid \"Save all\"\nmsgstr \"すべて保存\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"保存する設定を選択\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"設定を保存するディレクトリを入力: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"有効なディレクトリではありません: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"使用しているパスワードは弱いようです、\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"本当に使用してもよろしいですか？\"\n\nmsgid \"Optional repositories\"\nmsgstr \"オプションリポジトリ\"\n\nmsgid \"Save configuration\"\nmsgstr \"設定を保存\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"設定が存在しません:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"root パスワードか、1人以上のスーパーユーザーを指定してください\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"スーパーユーザーアカウントを管理: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"一般ユーザーのアカウントを管理: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" サブボリューム :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" マウント場所 {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" 次のオプションで {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" 新しいサブボリュームに必要な値を入力 \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"サブボリューム名 \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"サブボリュームのマウントポイント\"\n\nmsgid \"Subvolume options\"\nmsgstr \"サブボリュームのオプション\"\n\nmsgid \"Save\"\nmsgstr \"保存\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"サブボリューム名:\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"マウントポイントを選択:\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"サブボリュームのオプションを選択\"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"sudo 権限を持つユーザーを、ユーザー名で定義: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] ここにログファイルが作成されました: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"デフォルトの設定で Btrfs サブボリュームを使用しますか？\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Btrfs の圧縮を使用しますか？\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"/home 用に別のパーティションを作成しますか？\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"選択したドライブには、自動提案に必要な最小容量がありません\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"/home パーティションの最小容量: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Arch Linux パーティションの最小容量: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"続行\"\n\nmsgid \"yes\"\nmsgstr \"yes\"\n\nmsgid \"no\"\nmsgstr \"no\"\n\nmsgid \"set: {}\"\nmsgstr \"セット: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"手動設定はリストである必要があります\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"手動設定に iface が指定されていません\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"自動 DHCP を使用しない手動 NIC 設定には、IP アドレスが必要です\"\n\nmsgid \"Add interface\"\nmsgstr \"インターフェイスを追加\"\n\nmsgid \"Edit interface\"\nmsgstr \"インターフェイスを編集\"\n\nmsgid \"Delete interface\"\nmsgstr \"インターフェイスを削除\"\n\nmsgid \"Select interface to add\"\nmsgstr \"追加するインターフェースを選択\"\n\nmsgid \"Manual configuration\"\nmsgstr \"手動設定\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"圧縮するパーティションとしてマーク/マーク解除（Btrfs のみ）\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"使用しているパスワードは弱いようですが、本当に使用してもよろしいですか？\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"デスクトップ環境とタイルウィンドウマネージャーの選択を提供します。e.g. gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"デスクトップ環境を選択\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Arch Linux を必要に応じてカスタマイズできる非常に基本的なインストールです。\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"さまざまなサーバー パッケージの選択肢を提供します。e.g. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"インストールするサーバーを選択。存在しない場合は最小限のインストールが実行されます\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"最小限のシステムと xorg およびグラフィックドライバーをインストール。\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Enter キーで続行します。\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"新しく作成したインストールに chroot して、インストール後の設定を実行しますか？\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"この設定をリセットしてもよろしいですか？\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"使用・設定する 1 つ以上のハードドライブを選択\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"既存の設定を変更すると、ディスクレイアウトがリセットされます！\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"ハードドライブの選択をリセットすると、現在のディスクレイアウトもリセットされます。よろしいですか？\"\n\nmsgid \"Save and exit\"\nmsgstr \"保存して終了\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"キューに入れられたパーティションが含まれています。削除しますがよろしいですか？\"\n\nmsgid \"No audio server\"\nmsgstr \"オーディオサーバーなし\"\n\nmsgid \"(default)\"\nmsgstr \"（デフォルト）\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Esc でスキップ\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Ctrl+C で現在の選択をリセット\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"コピー先: \"\n\nmsgid \"Edit: \"\nmsgstr \"編集: \"\n\nmsgid \"Key: \"\nmsgstr \"キー: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"編集 {}: \"\n\nmsgid \"Add: \"\nmsgstr \"追加: \"\n\nmsgid \"Value: \"\nmsgstr \"値: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"ドライブ選択とパーティション作成をスキップして、/mnt にマウントしているドライブのセットアップを使用できます（実験的）\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"いずれかのディスクを選択するか、スキップして /mnt をデフォルトとして使用\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"フォーマットするパーティションを選択:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"HSM を使用して暗号化されたドライブのロックを解除\"\n\nmsgid \"Device\"\nmsgstr \"デバイス\"\n\nmsgid \"Size\"\nmsgstr \"サイズ\"\n\nmsgid \"Free space\"\nmsgstr \"空き容量\"\n\nmsgid \"Bus-type\"\nmsgstr \"Bus タイプ\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"root パスワードか、1人以上の sudo 権限を持つユーザーを指定する必要があります\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"ユーザー名を入力（無記入でスキップ）: \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"入力したユーザー名は無効です。もう1度やり直してください\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\\\"{}\\\" はスーパーユーザーに昇格しますか（sudo）？\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"暗号化するパーティションを選択\"\n\nmsgid \"very weak\"\nmsgstr \"非常に弱い\"\n\nmsgid \"weak\"\nmsgstr \"弱い\"\n\nmsgid \"moderate\"\nmsgstr \"中程度\"\n\nmsgid \"strong\"\nmsgstr \"強い\"\n\nmsgid \"Add subvolume\"\nmsgstr \"サブボリュームを追加\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"サブボリュームを編集\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"サブボリュームを削除\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"設定した {} インターフェース\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"このオプションは、インストール中に実行できる並列ダウンロードの数を有効にします\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"有効にする並列ダウンロードの数を入力してください。\\n\"\n\" （1 から {} の値を入力）\\n\"\n\"注意:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - 最大値   : {} ({} 個の並列ダウンロードを許可して、1度に {} 個のダウンロードを許可する)\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - 最小値   : 1 (1 個の並列ダウンロードを許可して、1度に 2 個のダウンロードを許可する)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - 無効/デフォルト   : 0 (並列ダウンロードを無効にして、1度に 1 個のみダウンロードを許可する)\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"無効な入力です！有効な入力を使用して再試行してください [1 - {max_downloads}、0 で無効]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"並行ダウンロード\"\n\nmsgid \"ESC to skip\"\nmsgstr \"Esc でスキップ\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"Ctrl+C でリセット\"\n\nmsgid \"TAB to select\"\nmsgstr \"Tab で選択\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[デフォルト値: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"この翻訳を使用できるようにするには、その言語をサポートするフォントを手動でインストールしてください。\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"フォントは {} として保存する必要があります\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall を実行するには root 権限が必要です。詳細については --help を参照してください。\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"実行モードを選択\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"指定された URL からプロファイルを取得できません: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"プロファイルには一意の名前が必要ですが、重複した名前のプロファイル定義が見つかりました: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"使用・設定する 1 つ以上のデバイスを選択\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"デバイスの選択をリセットすると、現在のディスクレイアウトもリセットされます。よろしいですか？\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"既存のパーティション\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"パーティション作成のオプションを選択\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"マウントしているデバイスのルートディレクトリを入力: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"/home パーティションの最小容量: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Arch Linux パーティションの最小容量: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"これは事前にプログラムされたプロファイルのリストです。デスクトップ環境などのインストールが簡単になる可能性があります\"\n\nmsgid \"Current profile selection\"\nmsgstr \"現在のプロファイルの選択\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"新しく追加されたパーティションをすべて削除\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"マウントポイントを割り当てる\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"フォーマット対象としてマーク/マーク解除（データを消去）\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"ブータブルとしてマーク/マーク解除\"\n\nmsgid \"Change filesystem\"\nmsgstr \"ファイルシステムを変更\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"圧縮対象としてマーク/マーク解除\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"サブボリュームを設定\"\n\nmsgid \"Delete partition\"\nmsgstr \"パーティションを削除\"\n\nmsgid \"Partition\"\nmsgstr \"パーティション\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"このパーティションは現在暗号化されています。フォーマットするにはファイルシステムを指定してください\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"パーティションのマウントポイントはインストールにおける相対的なもので、例として boot は /boot になります。\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"マウントポイントに /boot が設定された場合、パーティションはブータブルとしてマークされます。\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"マウントポイント: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"デバイス {} の現在の空きセクター:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"総セクター数: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"開始セクターを入力（デフォルト: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"パーティションの終了セクターを入力（パーセンテージかブロック番号。デフォルト: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"これは新しく追加されたパーティションをすべて削除します。続けますか？\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"パーティションを管理: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"全体のサイズ: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"暗号化のタイプ\"\n\nmsgid \"Iteration time\"\nmsgstr \"反復時間\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"LUKS 暗号化のイテレーション時間（ミリ秒単位）を入力\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"値を大きくするとセキュリティは向上しますが、起動時間が遅くなります\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"デフォルト: 10000ms, 推奨範囲: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"イテレーション時間は空にできません\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"イテレーション時間は最低 100ms にしてください\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"イテレーション時間は最大 120000ms にしてください\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"有効な数字を入力してください\"\n\nmsgid \"Partitions\"\nmsgstr \"パーティション\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"利用可能な HSM デバイスがありません\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"暗号化するパーティション\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"ディスクの暗号化オプションを選択\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"HSM に使用する FIDO2 デバイスを選択\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"ベストエフォートのデフォルトパーティションレイアウトを使用\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"手動でパーティションを作成\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"現在のマウント設定\"\n\nmsgid \"Unknown\"\nmsgstr \"不明\"\n\nmsgid \"Partition encryption\"\nmsgstr \"パーティションの暗号化\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! {} のフォーマットまで \"\n\nmsgid \"← Back\"\nmsgstr \"← 戻る\"\n\nmsgid \"Disk encryption\"\nmsgstr \"ディスクの暗号化\"\n\nmsgid \"Configuration\"\nmsgstr \"設定\"\n\nmsgid \"Password\"\nmsgstr \"パスワード\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"すべての設定がリセットされます。よろしいですか？\"\n\nmsgid \"Back\"\nmsgstr \"戻る\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"選択したプロファイルにインストールするグリーターを選択: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"環境のタイプ: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"プロプライエタリの Nvidia ドライバーは Sway ではサポートされていません。問題が発生する可能性がありますが、よろしいですか？\"\n\nmsgid \"Installed packages\"\nmsgstr \"インストールするパッケージ\"\n\nmsgid \"Add profile\"\nmsgstr \"プロファイルを追加\"\n\nmsgid \"Edit profile\"\nmsgstr \"プロファイルを編集\"\n\nmsgid \"Delete profile\"\nmsgstr \"プロファイルを削除\"\n\nmsgid \"Profile name: \"\nmsgstr \"プロファイル名: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"入力したプロファイル名はすでに使用されています。もう1度やり直してください\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"このプロファイルでインストールするパッケージ（スペースで区切る。無記入でスキップ）: \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"このプロファイルで有効にするサービス（スペースで区切る。未記入でスキップ): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"このプロファイルのインストールを有効にしますか？\"\n\nmsgid \"Create your own\"\nmsgstr \"自分で作成\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"グラフィックドライバーを選択。無記入ですべてのオープンソースドライバーをインストール\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway はお使いの Seat（キーボード、マウスなどのハードウェアデバイス群）にアクセスする必要があります\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Sway にハードウェアへのアクセスを許可するオプションを選択\"\n\nmsgid \"Graphics driver\"\nmsgstr \"グラフィックドライバー\"\n\nmsgid \"Greeter\"\nmsgstr \"グリーター\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"インストールするグリーターを選択\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"これは、事前にプログラムされた default_profile のリストです\"\n\nmsgid \"Disk configuration\"\nmsgstr \"ディスクの設定\"\n\nmsgid \"Profiles\"\nmsgstr \"プロファイル\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"設定ファイルを保存できるディレクトリを検索しています...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"設定ファイルを保存するディレクトリを選択\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"カスタムミラーを追加\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"カスタムミラーを変更\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"カスタムミラーを削除\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"名前を入力（無記入でスキップ）: \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"URL を入力（未記入でスキップ）: \"\n\nmsgid \"Select signature check option\"\nmsgstr \"署名チェックのオプションを選択\"\n\nmsgid \"Select signature option\"\nmsgstr \"署名オプションを選択\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"カスタムミラー\"\n\nmsgid \"Defined\"\nmsgstr \"定義済み\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"ユーザー設定を保存（ディスクレイアウトを含む）\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"設定を保存するディレクトリを入力（Tab で補完可能）\\n\"\n\"保存ディレクトリ: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"{} 設定ファイルを次の場所に保存しますか？\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} 設定ファイルを {} に保存\"\n\nmsgid \"Mirrors\"\nmsgstr \"ミラー\"\n\nmsgid \"Mirror regions\"\nmsgstr \"ミラーの地域\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - 最大値   : {}（{} 個の並列ダウンロードを許可し、1度に {max_downloads+1} 個のダウンロードを許可する）\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"無効な入力です！有効な入力でやり直してください [1 から {}、または 0 で無効]\"\n\nmsgid \"Locales\"\nmsgstr \"ロケール\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager を使用（GNOME と KDE でインターネットをグラフィカルに設定するのに必要）\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"全体: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"入力したすべての値に、B、KB、KiB、MB、MiB などの単位を付けることができます。\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"単位が指定されていない場合、値はセクターとして解釈されます\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"開始値を入力（デフォルト: セクター {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"終了値を入力（デフォルト: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"fido2 デバイスを特定できません。lifido2 はインストールされていますか？\"\n\nmsgid \"Path\"\nmsgstr \"パス\"\n\nmsgid \"Manufacturer\"\nmsgstr \"メーカー\"\n\nmsgid \"Product\"\nmsgstr \"製品\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"無効な設定: {error}\"\n\nmsgid \"Type\"\nmsgstr \"タイプ\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"このオプションは、パッケージのダウンロード中に実行できる並列ダウンロードの数を設定します\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"並列ダウンロードの数を入力してください。\\n\"\n\"\\n\"\n\"注意:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - 最大推奨値 : {} （1度に {} 個の並列ダウンロードを許可する）\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - 無効/デフォルト : 0 （並列ダウンロードを無効にして、1度に 1 個のダウンロードのみ許可する）\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"無効な入力です！有効な入力でやり直してください（無効にする場合は 0）\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland はお使いの Seat（キーボード、マウスなどのハードウェアデバイス群）にアクセスする必要があります\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Hyprland にハードウェアへのアクセスを許可するオプションを選択\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"入力したすべての値に、%、B、KB、KiB、MB、MiB などの単位を付けることができます。\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Unified カーネルイメージを使用しますか？\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Unified カーネルイメージ\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"時刻の同期（timedatectl show）が完了するのを待機しています。\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"待機中に時刻同期が完了しません - 回避策についてはドキュメントを確認してください: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"自動での時刻同期の待機をスキップします（インストール中に時刻が同期していない場合は、問題が発生する可能性があります）\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Arch Linux キーリングの同期（archlinux-keyring-wkd-sync）が完了するのを待っています。\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"選択したプロファイル: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"待機中に時刻同期が完了しません - 回避策についてはドキュメントを確認してください: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"nodatacow としてマーク/マーク解除\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"圧縮を使用しますか、それとも CoW を無効にしますか？\"\n\nmsgid \"Use compression\"\nmsgstr \"圧縮する\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"コピーオンライトを無効にする\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"デスクトップ環境とタイルウィンドウマネージャーの選択を提供します。例: GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"設定タイプ: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM の設定タイプ\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"パーティションが2個を超える場合の LVM ディスク暗号化は、現在サポートしていません\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"NetworkManager を使用する（GNOME と KDE Plasma でインターネットをグラフィカルに設定するのに必要）\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"LVM のオプションを選択\"\n\nmsgid \"Partitioning\"\nmsgstr \"パーティションを作成\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"論理ボリューム管理（LVM）\"\n\nmsgid \"Physical volumes\"\nmsgstr \"物理ボリューム\"\n\nmsgid \"Volumes\"\nmsgstr \"ボリューム\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM ボリューム\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"暗号化する LVM ボリューム\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"暗号化する LVM ボリュームを選択\"\n\nmsgid \"Default layout\"\nmsgstr \"デフォルトのレイアウト\"\n\nmsgid \"No Encryption\"\nmsgstr \"暗号化なし\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LUKS 上の LVM\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LVM 上の LUKS\"\n\nmsgid \"Yes\"\nmsgstr \"Yes\"\n\nmsgid \"No\"\nmsgstr \"No\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall ヘルプ\"\n\nmsgid \" (default)\"\nmsgstr \" (デフォルト)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Ctrl+H でヘルプを表示\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Sway にハードウェアへのアクセスを許可するオプションを選択\"\n\nmsgid \"Seat access\"\nmsgstr \"Seat アクセス\"\n\nmsgid \"Mountpoint\"\nmsgstr \"マウントポイント\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"ディスクの暗号化パスワードを入力（暗号化しない場合は無記入）\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"ディスク暗号化パスワード\"\n\nmsgid \"Partition - New\"\nmsgstr \"パーティション - 新規\"\n\nmsgid \"Filesystem\"\nmsgstr \"ファイルシステム\"\n\nmsgid \"Invalid size\"\nmsgstr \"無効なサイズ\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"開始値（デフォルト: セクター {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"終了値（デフォルト: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"サブボリューム名\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"ディスク設定のタイプ\"\n\nmsgid \"Root mount directory\"\nmsgstr \"ルートマウントディレクトリ\"\n\nmsgid \"Select language\"\nmsgstr \"言語を選択\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"追加でインストールするパッケージを書く（スペースで区切る。無記入でスキップ）\"\n\nmsgid \"Invalid download number\"\nmsgstr \"ダウンロード数が無効です\"\n\nmsgid \"Number downloads\"\nmsgstr \"ダウンロード数\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"入力したユーザー名は無効です\"\n\nmsgid \"Username\"\nmsgstr \"ユーザー名\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"\\\"{}\\\" はスーパーユーザーに昇格しますか（sudo）？\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"インターフェイス\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"IP設定モードで有効なIPを入力する必要があります\"\n\nmsgid \"Modes\"\nmsgstr \"モード\"\n\nmsgid \"IP address\"\nmsgstr \"IPアドレス\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"ゲートウェイ（ルーター）の IP アドレスを入力。無い場合は無記入\"\n\nmsgid \"Gateway address\"\nmsgstr \"ゲートウェイアドレス\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"DNS サーバーをスペースで区切って入力（無い場合は無記入）\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNSサーバー\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"インターフェースを設定\"\n\nmsgid \"Kernel\"\nmsgstr \"カーネル\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFIが検出されず、一部のオプションが無効になります\"\n\nmsgid \"Info\"\nmsgstr \"情報\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"プロプライエタリの Nvidia ドライバーは Sway ではサポートされていません。\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"問題が発生する可能性が高いですが、よろしいですか？\"\n\nmsgid \"Main profile\"\nmsgstr \"メインプロファイル\"\n\nmsgid \"Confirm password\"\nmsgstr \"パスワードを確認\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"確認のパスワードが一致しませんでした。もう一度試してください\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"有効なディレクトリではありません\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"続行しますか？\"\n\nmsgid \"Directory\"\nmsgstr \"ディレクトリ\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"設定を保存するディレクトリを入力（Tab で補完可能）\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"設定ファイルを次の場所に保存しますか？ {}\"\n\nmsgid \"Enabled\"\nmsgstr \"有効\"\n\nmsgid \"Disabled\"\nmsgstr \"無効\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"この問題（およびファイル）を https://github.com/archlinux/archinstall/issues に送信してください\"\n\nmsgid \"Mirror name\"\nmsgstr \"ミラーの名前\"\n\nmsgid \"Url\"\nmsgstr \"URL\"\n\nmsgid \"Select signature check\"\nmsgstr \"署名チェックを選択\"\n\nmsgid \"Select execution mode\"\nmsgstr \"実行モードを選択\"\n\nmsgid \"Press ? for help\"\nmsgstr \"? を押すとヘルプを表示\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Hyprland にハードウェアへのアクセスを許可するオプションを選択\"\n\nmsgid \"Additional repositories\"\nmsgstr \"追加リポジトリ\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"zram のスワップ\"\n\nmsgid \"Name\"\nmsgstr \"名前\"\n\nmsgid \"Signature check\"\nmsgstr \"署名チェック\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"デバイス {} の選択された空きスペースセグメント:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"サイズ: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"サイズ (デフォルト: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"HSM デバイス\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"リポジトリ内にいくつかのパッケージが見つかりませんでした\"\n\nmsgid \"User\"\nmsgstr \"ユーザー\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"指定された設定が適用されます\"\n\nmsgid \"Wipe\"\nmsgstr \"ワイプ\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"XBOOTLDR としてマーク/マーク解除\"\n\nmsgid \"Loading packages...\"\nmsgstr \"パッケージを読み込んでいます...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"追加でインストールする必要があるパッケージをリストから選択してください\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"カスタムリポジトリを追加\"\n\nmsgid \"Change custom repository\"\nmsgstr \"カスタムリポジトリを変更\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"カスタムリポジトリを削除\"\n\nmsgid \"Repository name\"\nmsgstr \"リポジトリ名\"\n\nmsgid \"Add a custom server\"\nmsgstr \"カスタムサーバーを追加\"\n\nmsgid \"Change custom server\"\nmsgstr \"カスタムサーバーを変更\"\n\nmsgid \"Delete custom server\"\nmsgstr \"カスタムサーバーを削除\"\n\nmsgid \"Server url\"\nmsgstr \"サーバー URL\"\n\nmsgid \"Select regions\"\nmsgstr \"地域を選択\"\n\nmsgid \"Add custom servers\"\nmsgstr \"カスタムサーバーを追加\"\n\nmsgid \"Add custom repository\"\nmsgstr \"カスタムリポジトリを追加\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"ミラーの地域を読み込んでいます...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"ミラーとリポジトリ\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"選択されたミラーの地域\"\n\nmsgid \"Custom servers\"\nmsgstr \"カスタムサーバー\"\n\nmsgid \"Custom repositories\"\nmsgstr \"カスタムリポジトリ\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"ASCII 文字のみサポートされます\"\n\nmsgid \"Show help\"\nmsgstr \"ヘルプを表示\"\n\nmsgid \"Exit help\"\nmsgstr \"ヘルプを終了\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"プレビューを上にスクロール\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"プレビューを下にスクロール\"\n\nmsgid \"Move up\"\nmsgstr \"上に移動\"\n\nmsgid \"Move down\"\nmsgstr \"下に移動\"\n\nmsgid \"Move right\"\nmsgstr \"右に移動\"\n\nmsgid \"Move left\"\nmsgstr \"左に移動\"\n\nmsgid \"Jump to entry\"\nmsgstr \"エントリーへジャンプ\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"選択をスキップ（利用可能な場合）\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"選択をリセット（利用可能な場合）\"\n\nmsgid \"Select on single select\"\nmsgstr \"単一で選択\"\n\nmsgid \"Select on multi select\"\nmsgstr \"複数で選択\"\n\nmsgid \"Reset\"\nmsgstr \"リセット\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"選択メニューをスキップ\"\n\nmsgid \"Start search mode\"\nmsgstr \"検索モードを開始\"\n\nmsgid \"Exit search mode\"\nmsgstr \"検索モードを終了\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc はお使いの Seat（キーボード、マウスなどのハードウェアデバイス群）にアクセスする必要があります\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"labwc にハードウェアへのアクセスを許可するオプションを選択\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri はお使いの Seat（キーボード、マウスなどのハードウェアデバイス群）にアクセスする必要があります\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"niri にハードウェアへのアクセスを許可するオプションを選択\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"ESP としてマーク/マーク解除\"\n\nmsgid \"Package group:\"\nmsgstr \"パッケージグループ:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"archinstall を終了\"\n\nmsgid \"Reboot system\"\nmsgstr \"システムを再起動\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"インストール後の設定を行うためインストールディレクトリに chroot する\"\n\nmsgid \"Installation completed\"\nmsgstr \"インストール完了\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"次は何をしますか？\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"「{}」に設定するモードを選択\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"認証情報ファイルの復号化パスワードが正しくありません\"\n\nmsgid \"Incorrect password\"\nmsgstr \"パスワードが間違っています\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"認証情報ファイルの復号化パスワード\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"user_credentials.json ファイルを暗号化しますか？\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"認証情報ファイルの暗号化パスワード\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"リポジトリ: {}\"\n\nmsgid \"New version available\"\nmsgstr \"新しいバージョンが利用可能\"\n\nmsgid \"Passwordless login\"\nmsgstr \"パスワードなしのログイン\"\n\nmsgid \"Second factor login\"\nmsgstr \"2要素ログイン\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Bluetooth を設定しますか？\"\n\nmsgid \"Print service\"\nmsgstr \"印刷サービス\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"印刷サービスを設定しますか？\"\n\nmsgid \"Power management\"\nmsgstr \"電力管理\"\n\nmsgid \"Authentication\"\nmsgstr \"認証\"\n\nmsgid \"Applications\"\nmsgstr \"アプリケーション\"\n\nmsgid \"U2F login method: \"\nmsgstr \"U2F ログインメソッド: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"パスワードなしの sudo: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Btrfs スナップショットのタイプ: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"システムを同期...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"値は空にできません\"\n\nmsgid \"Snapshot type\"\nmsgstr \"スナップショットのタイプ\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"スナップショットのタイプ: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"U2F ログインの設定\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"U2F デバイスが見つかりません\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"U2F ログインメソッド\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"パスワードなしの sudo を有効にしますか？\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"ユーザー用 U2F デバイスの設定: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"PIN を入力したのち U2F デバイスをタッチして登録しなければならない場合があります\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"次の場所でデバイスの変更を開始しています \"\n\nmsgid \"No network connection found\"\nmsgstr \"ネットワーク接続が見つかりません\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Wi-Fi に接続しますか？\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Wi-Fi インターフェースが見つかりません\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"接続する Wi-Fi ネットワークを選択\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Wi-Fi ネットワークをスキャンしています...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Wi-Fi ネットワークが見つかりません\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Wi-Fi の設定に失敗しました\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Wi-Fi パスワードを入力\"\n\nmsgid \"Ok\"\nmsgstr \"OK\"\n\nmsgid \"Removable\"\nmsgstr \"リムーバブル\"\n\nmsgid \"Install to removable location\"\nmsgstr \"リムーバブルな場所にインストールする\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"/EFI/BOOT/ (リムーバブルな場所) にインストールする\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"NVRAM エントリーのある標準の場所にインストールする\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"ブートローダーをデフォルトのリムーバブルメディアの検索場所にインストールしますか？\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"ブートローダーが /EFI/BOOT/BOOTX64.EFI (または類似の場所) にインストールされ、次の場合に役立ちます:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"USB ドライブまたは他のポータブル外部メディア。\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"ディスクをどのコンピューターでも起動できるようにするシステム。\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"NVRAM ブートエントリーを適切にサポートしていないファームウェア。\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"/EFI/BOOT/（リムーバブルな場所、安全なデフォルト）にインストール\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"NVRAM エントリーを使用してカスタムした場所にインストール\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"ほとんどの MSI マザーボードのように NVRAM ブートエントリーを適切にサポートしていないファームウェア、\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"ほとんどの Apple Mac、多くのラップトップ...\"\n\nmsgid \"Language\"\nmsgstr \"言語\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"圧縮アルゴリズム\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"base、sudo、linux、linux-firmware、efibootmgr などのパッケージとオプションのプロファイルパッケージのみがインストールされます。\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"zram 圧縮アルゴリズムを選択:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"NetworkManager（デフォルトのバックエンド）を使用する\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"NetworkManager (iwd バックエンド) を使用する\"\n\nmsgid \"Firewall\"\nmsgstr \"ファイアウォール\"\n\nmsgid \"Select audio configuration\"\nmsgstr \"オーディオ設定を選択\"\n\nmsgid \"Enter credentials file decryption password\"\nmsgstr \"認証情報ファイルの復号パスワードを入力\"\n\nmsgid \"Enter root password\"\nmsgstr \"ルートパスワードを入力\"\n\nmsgid \"Select bootloader to install\"\nmsgstr \"インストールするブートローダーを選択\"\n\nmsgid \"Configuration preview\"\nmsgstr \"設定プレビュー\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved\"\nmsgstr \"設定を保存するディレクトリを入力\"\n\nmsgid \"Select encryption type\"\nmsgstr \"暗号化のタイプを選択\"\n\nmsgid \"Select disks for the installation\"\nmsgstr \"インストール用のディスクを選択\"\n\nmsgid \"Enter a mountpoint\"\nmsgstr \"マウントポイントを入力\"\n\n#, python-brace-format\nmsgid \"Enter a size (default: {}): \"\nmsgstr \"サイズを入力（デフォルト: {}): \"\n\nmsgid \"Enter subvolume name\"\nmsgstr \"サブボリューム名を入力\"\n\nmsgid \"Enter subvolume mountpoint\"\nmsgstr \"サブボリュームのマウントポイントを入力\"\n\nmsgid \"Select a disk configuration\"\nmsgstr \"ディスクの設定を選択\"\n\nmsgid \"Enter root mount directory\"\nmsgstr \"ルートマウントディレクトリを入力\"\n\nmsgid \"You will use whatever drive-setup is mounted at the specified directory\"\nmsgstr \"指定されたディレクトリにマウントされているドライブの設定を使用します\"\n\nmsgid \"WARNING: Archinstall won't check the suitability of this setup\"\nmsgstr \"警告: Archinstall はこのセットアップの適合性をチェックしません\"\n\nmsgid \"Select main filesystem\"\nmsgstr \"メインファイルシステムを選択\"\n\nmsgid \"Enter a hostname\"\nmsgstr \"ホスト名を入力\"\n\nmsgid \"Select timezone\"\nmsgstr \"タイムゾーンを選択\"\n\nmsgid \"Enter the number of parallel downloads to be enabled\"\nmsgstr \"有効にする並列ダウンロード数を入力\"\n\n#, python-brace-format\nmsgid \"Value must be between 1 and {}\"\nmsgstr \"値は 1 から {} までの範囲にしてください\"\n\nmsgid \"Select which kernel(s) to install\"\nmsgstr \"インストールするカーネルを選択\"\n\nmsgid \"Enter a respository name\"\nmsgstr \"リポジトリ名を入力\"\n\nmsgid \"Enter the repository url\"\nmsgstr \"リポジトリの URL を入力\"\n\nmsgid \"Enter server url\"\nmsgstr \"サーバーの URL を入力\"\n\nmsgid \"Select mirror regions to be enabled\"\nmsgstr \"有効にするミラー地域を選択\"\n\nmsgid \"Select optional repositories to be enabled\"\nmsgstr \"有効にするオプションリポジトリを選択\"\n\nmsgid \"Select an interface\"\nmsgstr \"インターフェースを選択\"\n\nmsgid \"Choose network configuration\"\nmsgstr \"ネットワーク設定を選択\"\n\nmsgid \"No packages found\"\nmsgstr \"パッケージが見つかりません\"\n\nmsgid \"Select which greeter to install\"\nmsgstr \"インストールするグリーターを選択\"\n\nmsgid \"Select a profile type\"\nmsgstr \"プロファイルのタイプを選択\"\n\nmsgid \"Enter new password\"\nmsgstr \"新しいパスワードを入力\"\n\nmsgid \"Enter a username\"\nmsgstr \"ユーザー名を入力\"\n\nmsgid \"Enter a password\"\nmsgstr \"パスワードを入力\"\n\nmsgid \"The password did not match, please try again\"\nmsgstr \"パスワードが一致しません。もう一度試してください\"\n"
  },
  {
    "path": "archinstall/locales/ka/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: archinstall\\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\\n\"\n\"Language-Team: Georgian <(nothing)>\\n\"\n\"Language: ka\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.3.2\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] ჟურნალის ფაილი შეიქმნა აქ: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    ეს პრობლემა და ფაილი გადმოგვიგზავნეთ ბმულზე https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"გნებავთ, გააუქმოთ?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"და კიდევ ერთხელ, გადასამოწმებლად: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"გნებავთ სვოპის ZRAM-ზე გამოყენება?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"ჰოსტის სასურველი სახელი, დაყენებისთვის: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Sudo პრივილეგიების მქონე ზემომხმარებლის მომხმარებლის სახელი: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"დამატებითი მომხმარებლები დასაყენებლად (მომხმარებლების გარეშე გასაგრძელებლად ცარიელი დატოვეთ): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"უნდა იყოს ეს მომხმარებელი ზემომხმარებელი (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"აირჩიეთ დროის სარტყელი\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"გნებავთ ჩამტვირთავად system-boot-ის მაგიერ GRUB-ი გამოიყენოთ?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"აირჩიეთ ჩამტვირთავი\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"აირჩიეთ აუდიოსერვერი\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"მოხდება მხოლოდ ისეთი პაკეტების დაყენება, როგორებიცაა base, base-devel, linux, linux-firmware, efibootmgr და არასავალდებულო პროფილის პაკეტი.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"თუ გნებავთ ბრაუზერის, როგორებიცაა firefox ან chromium, ქონა, შემდეგი რამ უნდა მიუთითოთ.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"დამატებითი პაკეტები დასაყენებლად (გამოტოვებით გამოყოფილი, გამოსატოვებლად ცარიელი დატოვეთ): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO-ის ქსელის კონფიგურაციის კოპირება დაყენების დროს\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager-ის გამოყენება (აუცილებელია ინტერნეტის GNOME/KDE-დან მოსარგებად)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"მოსარგებად ერთ-ერთი ქსელის ინტერფეისი აირჩიეთ\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"აირჩიეთ მოსარგები რეჟიმი \\\"{}\\\"-სთვის ან გამოტოვეთ ნაგულისხმევი რეჟიმის \\\"{}\\\" გამოსაყენებლად\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"შეიყვანეთ IP მისამართი და ქვექსელი {}-სთვის (მაგ: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"აირჩიეთ ნაგულისხმევი რაუტერის IP მისამართი, ან ცარიელი დატოვეთ: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"შეიყვანეთ თქვენი DNS სერვერების მისამართები (გამოყოფილი ცარიელი ადგილით. ცარიელი, თუ არ გნებავთ, გამოიყენოთ): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"რომელ ფაილურ სისტემას გამოიყენებს თქვენი მთავარი დანაყოფი\"\n\nmsgid \"Current partition layout\"\nmsgstr \"მიმდინარე დანაყოფების განლაგება\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"აირჩიეთ, რა მოუვა\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"შეიყვანეთ დანაყოფის სასურველი ფაილური სისტემის ტიპი\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"აირჩიეთ დაწყების მდებარეობა (parted-ის ერთეულებში: s, GB, % და ა.შ. ; ნაგულისხმევი: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"აირჩიეთ დასრულების მდებარეობა (parted-ის ერთეულებში: s, GB, % და ა.შ. ; მაგ: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} რიგში ჩაყენებულ დანაყოფებს შეიცავს. ეს წაშლის მათ. დარწმუნებული ბრძანდებით?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"წასაშლელი დანაყოფების ინდექსით არჩევა\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"ინდექსით არჩევა, რომელი დანაყოფი სად იქნება მიმაგრებული\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * დანაყოფის მიმაგრების წერტილები შედარებითია დაყენების შიგნით. ჩატვირთვა, მაგალითად, /boot შეიძლება, იყოს.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"აირჩიეთ, სად გნებავთ მიამაგროთ დანაყოფი (მიმაგრების წერტილის წასაშლელად დატოვეთ ის ცარიელი): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"აირჩიეთ, რომელი დანაყოფი იქნება მონიშნული ფორმატირებისთვის\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"აირჩიეთ, რომელი დანაყოფი მოინიშნება, როგორც დაშიფრული\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"აირჩიეთ, რომელი დანაყოფი მოინიშნება, როგორც ჩატვირთვადი\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"აირჩიეთ, ფაილური სისტემა რომელ დანაყოფზე დავაყენო\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"შეიყვანეთ დანაყოფის სასურველი ფაილური სისტემის ტიპი: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall-ის ენა\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"მონიშნულ დისკებზე ყველაფრის წაშლა და დანაყოფების განლაგების საუკეთესო განლაგების გამოყენება\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"აირჩიეთ, რა ვუყო ინდივიდუალურ დისკს (დანაყოფების გამოყენების შემდეგ)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"აირჩიეთ, მონიშნულ ბლოკურ მოწყობილობებს რა გნებავთ, უქნათ\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"ეს წინასწარ მითითებული პროფილების სიაა. მათი დახმარებით ისეთი რამების, როგორიცაა სამუშაო მაგიდის გარემოები, დაყენება უფრო ადვილია\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"აირჩიეთ კლავიატურის განლაგება\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"აირჩიეთ რეგიონი პაკეტების გადმოსაწერად\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"აირჩიეთ ერთი ან მეტი მყარი დისკი და მოირგეთ\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"თქვენს AMD-ის აპარატურასთან საუკეთესო თავსებადობისთვის შეგიძლიათ როგორც სრულად ღია კოდის მქონე, ისე AMD/ATI-ის ვარიანტები გამოიყენოთ.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Intel-ის აპარატურასთან საუკეთესო თავსებადობისთვის შეგიძლიათ მათი სრულად ღია კოდის მქონე ვარიანტი გამოიყენოთ.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Nvidia-ის თქვენს აპარატურასთან საუკეთესო თავსებადობისთვის შეიძლება Nvidia-ის დახურული კოდის მქონე დრაივერის დაყენება გნებავდეთ.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"აირჩიეთ გრაფიკის დრაივერი ან, ღია კოდის მქონე დრაივერის დასაყენებლად, ცარიელი დატოვეთ\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"ყველა ღია კოდით (ნაგულისხმევი)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"აირჩიეთ, რომელი ბირთვი გნებავთ, გამოიყენოთ. ან ნაგულისხმევისთვის (\\\"{}\\\") ცარიელი დატოვეთ\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"აირჩიეთ, რომელი ლოკალის ენა გნებავთ, გამოიყენოთ\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"აირჩიეთ, რომელი ლოკალის კოდირება გნებავთ, გამოიყენოთ\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"აირჩიეთ ერთ-ერთი ქვემოთ მოყვანილი მნიშვნელობებიდან: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"აირჩეთ ერთი ან მეტი პარამეტრი ქვემოდან: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"დანაყოფის დამატება...\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"გასაგრძელებლად აუცილებელია სწორი fs-type შეიყვანოთ. ხელმისაწვდომი სიის სანახავად იხილეთ 'man parted'.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"შეცდომა: URL-ზე \\\"{}\\\" პროფილების ჩამოთვლის შედეგია:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"შეცდომა: \\\"{}\\\" შედეგის JSON-ის სახით გაშიფვრა შეუძლებელია:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"კლავიატურის განლაგება\"\n\nmsgid \"Mirror region\"\nmsgstr \"სარკის რეგიონი\"\n\nmsgid \"Locale language\"\nmsgstr \"ლოკალის ენა\"\n\nmsgid \"Locale encoding\"\nmsgstr \"ლოკალის კოდირება\"\n\nmsgid \"Drive(s)\"\nmsgstr \"დისკები\"\n\nmsgid \"Disk layout\"\nmsgstr \"დისკის განლაგება\"\n\nmsgid \"Encryption password\"\nmsgstr \"დაშიფვრის პაროლი\"\n\nmsgid \"Swap\"\nmsgstr \"სვოპი\"\n\nmsgid \"Bootloader\"\nmsgstr \"ჩამტვირთავი\"\n\nmsgid \"Root password\"\nmsgstr \"Root-ის პაროლი\"\n\nmsgid \"Superuser account\"\nmsgstr \"ზემომხმარებლის ანგარიში\"\n\nmsgid \"User account\"\nmsgstr \"მომხმარებლის ანგარიში\"\n\nmsgid \"Profile\"\nmsgstr \"პროფილი\"\n\nmsgid \"Audio\"\nmsgstr \"აუდიო\"\n\nmsgid \"Kernels\"\nmsgstr \"ბირთვები\"\n\nmsgid \"Additional packages\"\nmsgstr \"დამატებითი პაკეტები\"\n\nmsgid \"Network configuration\"\nmsgstr \"ქსელის მორგება\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"დროის ავტომატური სინქრონიზაცია (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"დაყენება (აკლია {} კონფიგურაცია)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"გადაწყვიტეთ, გამოტოვოთ მყარი დისკის არჩევანი\\n\"\n\"და გამოიყენოთ ის, რაც {}-ზეა მიმაგრებული (ექსპერიმენტალური)\\n\"\n\"გაფრთხილება: Archinstall-ს ამ მორგების სტაბილურობის გადამოწმება არ შეუძლია.\\n\"\n\"გნებავთ, გააგრძელოთ?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"დანაყოფის ასლის თავიდან გამოყენება: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"ახალი დანაყოფის შექმნა\"\n\nmsgid \"Delete a partition\"\nmsgstr \"დანაყოფის წაშლა\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"დანაყოფების გასუფთავება/წაშლა\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"დანაყოფის მიმაგრების წერტილის მინიჭება\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"დანაყოფის დასაფორმატებლობის ჭდის მოხსნა/დადება (მონაცემები წაიშლება)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"დანაყოფის დაშიფრულობის ჭდის დადება/მოხსნა\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"დანაყოფის ჩატვირთვადობის ჭდის მოხსნა/დადება (ავტომატურია /boot-სთვის)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"აირჩიეთ დანაყოფის სასურველი ფაილური სისტემა\"\n\nmsgid \"Abort\"\nmsgstr \"გაუქმება\"\n\nmsgid \"Hostname\"\nmsgstr \"ჰოსტის სახელი\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"მორგებული არაა. მიუწვდომელია, სანამ ხელით არ მოირგებთ\"\n\nmsgid \"Timezone\"\nmsgstr \"დროის სარტყელი\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"დააყენეთ/შეცვალეთ ქვედა პარამეტრები\"\n\nmsgid \"Install\"\nmsgstr \"დაყენება\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"გამოსატოვებლად გამოიყენეთ ღილაკი Esc\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"დანაყოფების განლაგების მინიშნება\"\n\nmsgid \"Enter a password: \"\nmsgstr \"შეიყვანეთ პაროლი: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"შეიყვანეთ {}-ის დაშიფვრის პაროლი\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"შეიყვანეთ დისკის დაშიფვრის პაროლი (დაშიფვრის გასათიშად დატოვეთ ცარიელი): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Sudo-ის პრივილეგიების სმქონე აუცილებელი ზემომხმარებლის: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"შეიყვანეთ root-ის პაროლი (თუ გნებავთ, გათიშოთ root, ცარიელი დატოვეთ): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"პაროლი მომხმარებლისთვის \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"დამატებითი პაკეტების არსებობის შემოწმება (ამას რამდენიმე წამი შეიძლება დასჭირდეს)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"გნებავთ დროის ავტომატური სინქრონიზაციის (NTP) ნაგულისხმევი დროის სერვერებით გამოყენება?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP-ის ასამუშავებლად აპარატურული დრო და სხვა დაყენების-შემდგომი ნაბიჯები დაგჭირდებათ.\\n\"\n\"მეტი ინფორმაციისთვის იხილეთ Arch-ის დოკუმენტაცია\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"დამატებითი მომხმარებლის შესაქმნელად შეიყვანეთ მისი სახელი (გამოსატოვებლად ცარიელი დატოვეთ): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"გამოსატოვებლად გამოიყენეთ ღილაკი Esc\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" შესასრულებლად აირჩიეთ ობიექტი სიიდან და აირჩიეთ მისთვის ხელმისაწვდომი ქმედება\"\n\nmsgid \"Cancel\"\nmsgstr \"შეწყვეტა\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"დადასტურება და გასვლა\"\n\nmsgid \"Add\"\nmsgstr \"დამატება\"\n\nmsgid \"Copy\"\nmsgstr \"კოპირება\"\n\nmsgid \"Edit\"\nmsgstr \"ჩასწორება\"\n\nmsgid \"Delete\"\nmsgstr \"წაშლა\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"აირჩიეთ ქმედება '{}'-სთვის\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"ახალ გასაღებში კოპირება:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"NIC-ის უცნობი ტიპი: {}. შესაძლო მნიშვნელობებია {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"ეს თქვენი არჩეული კონფიგურაციაა:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman- უკვე გაშვებულია. მოკვლამდე 10 წუთი დაველოდები.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"წინასწარ packman-ის ბლოკი არასდროს არსებობდა. Archinstall-ის დაყენებამდე აუცილებელია pacman-ს სესიების მოსუფთავება აუცილებელია.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"აირჩიეთ, რომელი არასავალდებულო დამატებითი რეპოზიტორია გნებავთ, ჩართოთ\"\n\nmsgid \"Add a user\"\nmsgstr \"მომხმარებლის დამატება\"\n\nmsgid \"Change password\"\nmsgstr \"პაროლის შეცვლა\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"მომხმარებლის დაწინაურება/ჩამოქვეითება\"\n\nmsgid \"Delete User\"\nmsgstr \"მომხმარებლის წაშლა\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"აღწერეთ ახალი მომხმარებელი\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"მომხმარებლის სახელი : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"იყოს {} ზემომხმარებელი (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"აღწერეთ sudo პრივილეგიის მქონე მომხმარებლები: \"\n\nmsgid \"No network configuration\"\nmsgstr \"ქსელის მორგების გარეშე\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"დააყენეთ Btrfs დანაყოფის სასურველი ქვეტომები\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"აირჩიეთ, რომელ დანაყოფზე აპირებთ ქვეტომების დაყენებას\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Btrfs-ის ქვეტომების მართვა მიმდინარე დანაყოფისთვის\"\n\nmsgid \"No configuration\"\nmsgstr \"მორგების გარეშე\"\n\nmsgid \"Save user configuration\"\nmsgstr \"მომხმარებლის კონფიგურაციის შენახვა\"\n\nmsgid \"Save user credentials\"\nmsgstr \"მომხმარებლის ავტორიზაციის დეტალების შენახვა\"\n\nmsgid \"Save disk layout\"\nmsgstr \"დისკის განლაგების შენახვა\"\n\nmsgid \"Save all\"\nmsgstr \"ყველაფრის შენახვა\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"აირჩიეთ, რომელი კონფიგურაცია შევინახო\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"შეიყვანეთ საქაღალდე, სადაც კონფიგურაცი(ებ)-ი იქნება შენახული: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"არასწორი საქაღალდე: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"პაროლი, რომელიც შეიყვანეთ, სუსტია,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"დარწმუნებული ბრძანდებით, რომ გნებავთ, გამოიყენოთ ის?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"არასავალდებულო რეპოზიტორიები\"\n\nmsgid \"Save configuration\"\nmsgstr \"კონფიგურაციი შენახვა\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"ნაკლული კონფიგურაციები:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"შეიყვანეთ root-ის პაროლი ან მიუთითეთ 1 ზემომხმარებელი მაინც\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"ზემომხმარებლის ანგარიშების მართვა: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"ჩვეულებრივი მომხმარებლის ანგარიშების მართვა: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" ქვეტომი :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" მიმაგრების წერტილი {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" პარამეტრით {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"შეავსეთ სასურველი მნიშვნელობები ახალი ქვეტომისთვის \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"ქვეტომის სახელი \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"ქვეტომის მიმაგრების წერტილი\"\n\nmsgid \"Subvolume options\"\nmsgstr \"ქვეტომის მორგება\"\n\nmsgid \"Save\"\nmsgstr \"შენახვა\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"ქვეტომის სახელი :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"აირჩიეთ მიმაგრების წერტილი :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"აირჩიეთ სასურველი ქვეტომის პარამეტრები \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"აღწერეთ sudo-ის პრივილეგიების მქონე მომხმარებლები, მათი სახელით: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] ჟურნალის ფაილის მდებარეობა: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"გნებავთ BTRFS-ის ქვეტომები ნაგულისხმევი სტრუქტურით გამოიყენოთ?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"გნებავთ BTRFS-ის შეკუმშვის გამოყენება?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"გნებავთ /home-სთვის ცალკე დანაყოფი შექმნათ?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"მონიშნულ დისკებზე ავტომატურად დასაყენებლად საკმარისი მინიმალური ადგილი აღმოჩენილი არაა\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"მინიმალური სივრცე დანაყოფისთვის /home: {}გბ\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"მინიმალური სივრცე ArchLinux-ის დანაყოფისთვის: {}გბ\"\n\nmsgid \"Continue\"\nmsgstr \"გაგრძელება\"\n\nmsgid \"yes\"\nmsgstr \"დიახ\"\n\nmsgid \"no\"\nmsgstr \"არა\"\n\nmsgid \"set: {}\"\nmsgstr \"დაყენება: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"მორგებული კონფიგურაციის პარამეტრი სია უნდა იყოს\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"მორგებული კონფიგურაციისთვის ინტერფეისი მითითებული არაა\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"NIC-ის DHCP-ის გარეშე მოსარგებად IP მისამართის მითითება აუცილებელია\"\n\nmsgid \"Add interface\"\nmsgstr \"ინტერფეისის დამატება\"\n\nmsgid \"Edit interface\"\nmsgstr \"ინტერფეისის ჩასწორება\"\n\nmsgid \"Delete interface\"\nmsgstr \"ინტერფეისის წაშლა\"\n\nmsgid \"Select interface to add\"\nmsgstr \"აირჩიეთ დასამატებელი ინტერფეისი\"\n\nmsgid \"Manual configuration\"\nmsgstr \"ხელით მორგება\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"დანაყოფზე შეკუმშულობის ჭდის მოხსნა/დადება (მხოლოდ btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"როგორც ჩანს პაროლი, რომელსაც იყენებთ, სუსტია. დარწმუნებული ბრძანდებით, რომ გნებავთ, გამოიყენოთ ის?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"მოგაწვდით სამუშაო გარემოებისა და ფანჯრების მმართველების არჩევანს. მაგ: gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"აირჩიეთ სასურველი სამუშაო მაგიდის გარემო\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"მინიმალური დაყენება, რომელიც საშუალებას გაძლევთ, Arch Linux სურვილისამებრ მოირგოთ.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"სერვერის ისეთი პაკეტების დაყენება და ჩართვა, როგორიცაა httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"აირჩიეთ, რომელი სერვერების დაყენება გნებავთ. თუ არაფერს შეიყვანთ, მინიმალური დაყენება მოხდება\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"აყენებს მინიმალურ სისტემას, ასევე xorg-ს და გრაფიკის დრაივერებს.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"გასაგრძელებლად დააჭირეთ Enter-ს.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"გნებავთ chroot ახალ დაყენებულ სისტემაში და დაყენების შემდეგი კონფიგურაციის გაშვება?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"დარწმუნებული ბრძანდებით, რომ გნებავთ, დააბრუნოთ ეს პარამეტრი?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"მოსარგებად და გამოსაყენებლად აირჩიეთ ერთი ან მეტი მყარი დისკი\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"არსებული პარამეტრის ნებისმიერი ცვლილება დისკის განლაგებას საწყის მნიშვნელობებზე დააბრუნებს!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"ეს მყარი დისკის არჩევანს და მიმდინარე დისკის განლაგებას საწყის მნიშვნელობებზე დააბრუნებს. დარწმუნებული ბრძანდებით?\"\n\nmsgid \"Save and exit\"\nmsgstr \"შენახვა და გასვლა\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"რიგში ჩაყენებულ დანაყოფებს შეიცავს. ეს წაშლის მათ. დარწმუნებული ბრძანდებით?\"\n\nmsgid \"No audio server\"\nmsgstr \"აუდიოსერვერის გრეშე\"\n\nmsgid \"(default)\"\nmsgstr \"(ნაგულისხმევი)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"გამოსატოვებლად გამოიყენეთ ღილაკი Esc\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"მიმდინარე მონიშვნის დასაბრუნებლად დააწექით CTRL+C\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"კოპირება: \"\n\nmsgid \"Edit: \"\nmsgstr \"ჩასწორება: \"\n\nmsgid \"Key: \"\nmsgstr \"გასაღები: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"ჩასწორება {}: \"\n\nmsgid \"Add: \"\nmsgstr \"დამატება: \"\n\nmsgid \"Value: \"\nmsgstr \"მნიშვნელობა: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"შეგიძლიათ დისკის არჩევანი და დაყოფა გამოტოვოთ და გამოიყენოთ სასურველი დისკი, რომელიც /mnt-ზეა მიმაგრებული (ექსპერიმენტალური)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"აირჩიეთ ერტი ან მეტი დისკი ან გამოტოვება და ნაგულისხმევი /mnt-ის გამოყენება\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"აირჩიეთ, რომელი დანაყოფები მოვნიშნო დასაფორმატებლად:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"დაშიფრული დისკის გასახსნელად HSM-ის გამოყენება\"\n\nmsgid \"Device\"\nmsgstr \"მოწყობილობა\"\n\nmsgid \"Size\"\nmsgstr \"ზომა\"\n\nmsgid \"Free space\"\nmsgstr \"თავისუფალი ადგილი\"\n\nmsgid \"Bus-type\"\nmsgstr \"მატარებლის-ტიპი\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Root-ის პაროლის ან მინიმუმ 1 sudo-ის პრივილეგიების მქონე მომხმარებლის მითითება აუცილებელია\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"შეიყვანეთ მომხმარებლი სახელი (გამოსატოვებლად ცარიელი დატოვეთ): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"შეყვანილი მომხმარებლის სახელი არასწორია. კიდევ სცადეთ\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"იყოს \\\"{}\\\" ზემომხმარებელი(sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"არჩიეთ დასაშიფრი დანაყოფები\"\n\nmsgid \"very weak\"\nmsgstr \"ძალიან სუსტი\"\n\nmsgid \"weak\"\nmsgstr \"სუსტი\"\n\nmsgid \"moderate\"\nmsgstr \"საშუალო\"\n\nmsgid \"strong\"\nmsgstr \"ძლიერი\"\n\nmsgid \"Add subvolume\"\nmsgstr \"ქვეტომის დამატება\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"ქვეტომის ჩასწორება\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"ქვეტომის წაშლა\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"მორგებულია {} ინტერფეისი\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"ეს პარამეტრი დაყენებისას მითითებული რაოდენობის პარალელურ გადმოწერას დაუშვებს\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"შეიყვანეთ დასაშვები პარალელური გადმოწერების რაოდენობა.\\n\"\n\" (შეიყვანეთ მნიშვნელობა 1-დან {}-მდე)\\n\"\n\"დაიმახსოვრეთ:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - მინიმალური მნიშვნელობა   : {} ( დაუშვებს {} პარალელურ გადმოწერას, დაუშვებს {} ერთდროულ გადმოწერას )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - მინიმალური მნიშვნელობა   : 1 ( დაუშვებს 1 პარალელურ გადმოწერას, დაუშვებს 2 ერთდროულ გადმოწერას )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - გამორთვა/ნაგულისხმევი : 0 ( პარალელური გადმოწერების გათიშვა. დროის ერთ მომენტში მხოლოდ ერთი გადმოწერა მოხდება )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"შეყვანილი რიცხვი არასწორია! თავიდან სცადეთ [1-დან {max_downloads}-მდე, ან 0, გასათიშად]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"პარალელური გადმოწერები\"\n\nmsgid \"ESC to skip\"\nmsgstr \"გამოსატოვებლად ღილაკი Esc\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"დასაბრუნებლად CTRL+C\"\n\nmsgid \"TAB to select\"\nmsgstr \"ასარჩევად TAB\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[ნაგულისხმევი მნიშვნელობა: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"თარგმანის გამოსაყენებლად ფონტი, რომელსაც ენის მხარდაჭერა გააჩნია, ხელით უნდა დააყენოთ.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"ფონტი {}-ში უნდა იყოს შენახული\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall-ს გასაშვებად root მომხმარებლის პრივილეგიები სჭირდება. მეტი ინფორმაციისთვის იხილეთ --help.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"აირჩიეთ შესრულების რეჟიმი\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"პროფილის მიღება შეუძლებელია მითითებული ბმულიდან: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"პროფილებს უნიკალური სახელი უნდა ჰქონდეთ, მაგრამ აღმოჩენილია პროფილის აღწერები გამეორებადი სახელით: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"აირჩიეთ ერთი ან მეტი მოწყობილობა და მოირგეთ\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"ეს მყარი დისკის არჩევანს და მიმდინარე დისკის განლაგებას საწყის მნიშვნელობებზე დააბრუნებს. დარწმუნებული ბრძანდებით?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"არსებული დანაყოფები\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"აირჩიეთ დისკის დაყოფის პარამეტრი\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"შეიყვანეთ მიმაგრებული მოწყობილობების ძირითადი საქაღალდე: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"მინიმალური სივრცე დანაყოფისთვის /home: {}გიბ\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"მინიმალური სივრცე Arch Linux-ის დანაყოფისთვის: {}გიბ\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"ეს წინასწარ მითითებული profiles_bck-ის სიაა. მათი დახმარებით ისეთი რამების, როგორიცაა სამუშაო მაგიდის გარემოები, დაყენება უფრო ადვილია\"\n\nmsgid \"Current profile selection\"\nmsgstr \"მიმდინარე პროფილის არჩევანი\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"ყველა ახლად დამატებული დანაყოფის წაშლა\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"მიმაგრების წერტილის მინიჭება\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"დასაფორმატებულობის ჭდის მოხსნა/დადება (მონაცემები წაიშლება)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"ჩატვირთვადი ალმის დაყენება/მოხსნა\"\n\nmsgid \"Change filesystem\"\nmsgstr \"ფაილური სისტემის შეცვლა\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"შეკუმშულად მონიშვნა/მონიშვნის მოხსნა\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"ქვეტომების დაყენება\"\n\nmsgid \"Delete partition\"\nmsgstr \"დანაყოფის წაშლა\"\n\nmsgid \"Partition\"\nmsgstr \"დანაყოფი\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"ეს დანაყოფი ამჟამად დაშიფრულია. დასაფორმატებლად აუცილებელია ფაილური სისტემის მითითება\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"დანაყოფის მიმაგრების წერტილები შედარებითია დაყენების შიგნით. ჩატვირთვა, მაგალითად, /boot შეიძლება, იყოს.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"თუ /boot მიმაგრების წერტილი დაყენებულია, ეს დანაყოფი ასევე მოინიშნება, როგორც ჩატვირთვადი.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"მიმაგრების წერტილი: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"ამჟამად თავისუფალი სექტორები მოწყობილობაზე {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"სექტორები ჯამში: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"შეიყვანეთ საწყისი სექტორი (ნაგულისხმევი: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"შეიყვანეთ დანაყოფის ბოლო სექტორი (პროცენტულად ან ბლოკის ნომერი. ნაგულისხმევი: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"ეს ყველა ახლად დამატებულ დანაყოფს წაშლის. გავაგრძელო?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"დანაყოფების მართვა: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"ჯამური სიგრძე: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"დაშიფვრის ტიპი\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"დანაყოფები\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"HSM მოწყობილობები მიუწვდომელია\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"დასაშიფრი დანაყოფები\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"აირჩიეთ დისკის დაშიფვრის პარამეტრი\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"აირჩიეთ HSM-სთვის გამოსაყენებელი FIDO2 მოწყობილობა\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"დანაყოფების განლაგების საუკეთესო განლაგების გამოყენება\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"ხელით დაყოფა\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"წინასწარ მიმაგრებული კონფიგურაცია\"\n\nmsgid \"Unknown\"\nmsgstr \"უცნობი\"\n\nmsgid \"Partition encryption\"\nmsgstr \"დანაყოფის დაშიფვრა\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! {}-ის დაფორმატება ფორმატში \"\n\nmsgid \"← Back\"\nmsgstr \"← უკან\"\n\nmsgid \"Disk encryption\"\nmsgstr \"დისკის დაშიფვრა\"\n\nmsgid \"Configuration\"\nmsgstr \"მორგება\"\n\nmsgid \"Password\"\nmsgstr \"პაროლი\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"ყველა პარამეტრი დაბრუნდება. დარწმუნებული ბრძანდებით?\"\n\nmsgid \"Back\"\nmsgstr \"უკან\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"აირჩიეთ, რომელი მისალმების ეკრანის დაყენება გნებავთ არჩეული პროფილებისთვის: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"გარემოს ტიპი: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Sway-ის დახურული კოდის მქონე Nvidia-ის დრაივერის მხარდაჭერა არ გააჩნია. როგორც ჩანს, შარში ყოფთ თავს. დარწმუნებული ბრძანდებით?\"\n\nmsgid \"Installed packages\"\nmsgstr \"დაყენებული პაკეტები\"\n\nmsgid \"Add profile\"\nmsgstr \"პროფილის დამატება\"\n\nmsgid \"Edit profile\"\nmsgstr \"პროფილის ჩასწორება\"\n\nmsgid \"Delete profile\"\nmsgstr \"პროფილის წაშლა\"\n\nmsgid \"Profile name: \"\nmsgstr \"პროფილის სახელი: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"შეყვანილი პროფილის სახელი უკვე გამოიყენება. კიდევ სცადეთ\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"ამ პროფილთან დასაყენებელი პაკეტები (ჰარეებით გამოყოფილი, გამოსატოვებლად ცარიელი დატოვეთ): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"ამ პროფილთან ჩასართავი სერვისები (ჰარეებით გამოყოფილი, გამოსატოვებლად ცარიელი დატოვეთ): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"უნდა ჩაირთოს თუ არა ეს პროფილი დაყენებისთვის?\"\n\nmsgid \"Create your own\"\nmsgstr \"შექმენით საკუთარი\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"აირჩიეთ გრაფიკის დრაივერი ან, ღია კოდის მქონე დრაივერის დასაყენებლად, ცარიელი დატოვეთ\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway-ს თქვენს სამუშაო ადგილთან (აპარატურასთან, როგორიცაა კლავიატურა, თაგუნა და ა.შ>) წვდომა სჭირდება\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"აირჩიეთ ეს პარამეტრი, რომ Sway-ს თქვენს აპარატურასთან წვდომა მისცეთ\"\n\nmsgid \"Graphics driver\"\nmsgstr \"გრაფიკის დრაივერი\"\n\nmsgid \"Greeter\"\nmsgstr \"მისამების ეკრანი\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"აირჩიეთ, რომელი მისალმების ეკრანის დაყენება გნებავთ\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"ეს წინასწარ დაპროგრამებული ნაგულისხმევი პროფილების სიაა\"\n\nmsgid \"Disk configuration\"\nmsgstr \"დისკის მორგება\"\n\nmsgid \"Profiles\"\nmsgstr \"პროფილები\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"მიმდინარეობს კონფიგურაციის ფაილების შესანახად შესაძლო საქაღალდეების ძებნა ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"აირჩიეთ საქაღალდე (ან საქაღალდეები) კონფიგურაციის ფაილების შესანახად\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"მორგებული სარკის დამატება\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"მორგებული სარკის შეცვლა\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"მორგებული სარკის წაშლა\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"შეიყვანეთ სახელი (გამოსატოვებლად ცარიელი დატოვეთ): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"შეიყვანეთ ბმული (გამოსატოვებლად ცარიელი დატოვეთ): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"აირჩიეთ ხელმოწერის შემოწმების პარამეტრი\"\n\nmsgid \"Select signature option\"\nmsgstr \"აირჩიეთ ხელმოწერის პარამეტრი\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"მორგებული სარკეები\"\n\nmsgid \"Defined\"\nmsgstr \"აღწერილია\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"მომხმარებლის კონფიგურაციის შენახვა (დისკის განლაგების ჩართვით)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"შეიყვანეთ საქაღალდე კონფიგურაცი(ებ)-ის შესანახად (ტაბით დასრულება ჩართულია)\\n\"\n\"შენახვის საქაღალდე: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"გნებავთ, შეინახოთ {} კონფიგურაციის ფაილები შემდეგ მისამართზე?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{}-კონფიგურაციის ფაილების შენახვა {}-ზე\"\n\nmsgid \"Mirrors\"\nmsgstr \"სარკეები\"\n\nmsgid \"Mirror regions\"\nmsgstr \"სარკის რეგიონები\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - მინიმალური მნიშვნელობა   : {} ( დაუშვებს {} პარალელურ გადმოწერას, დაუშვებს {მაქს_გადმოწერები+1} ერთდროულ გადმოწერას )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"შეყვანილი რიცხვი არასწორია! თავიდან სცადეთ [1-დან {}-მდე, ან 0, გასათიშად]\"\n\nmsgid \"Locales\"\nmsgstr \"ლოკალები\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager-ის გამოყენება (აუცილებელია ინტერნეტის GNOME/KDE-დან მოსარგებად)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"სულ: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"ყველა შეყვანილ მნიშვნელობად სუფიქსად შეგიძლიათ მიუთითოთ ერთეული: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"თუ ერთეული მითითებული არაა, მნიშვნელობა სექტორების რაოდენობად იქნება აღქმული\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"შეიყვანეთ საწყისი სექტორი (ნაგულისხმევი: {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"შეიყვანეთ ბოლო სექტორი (ნაგულისხმევი: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"შეცდომა fido2 მოწყობილობების დადგენისას. libfido2 დაყენებული გაქვთ?\"\n\nmsgid \"Path\"\nmsgstr \"ბილიკი\"\n\nmsgid \"Manufacturer\"\nmsgstr \"მწარმოებელი\"\n\nmsgid \"Product\"\nmsgstr \"პროდუქტი\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"არასწორი კონფიგურაცია: {error}\"\n\nmsgid \"Type\"\nmsgstr \"ტიპი\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"ეს პარამეტრი დაყენებისას მითითებული რაოდენობის პარალელურ გადმოწერას დაუშვებს\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"შეიყვანეთ დასაშვები პარალელური გადმოწერების რაოდენობა.\\n\"\n\"\\n\"\n\"შენიშვნა:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - მინიმალური მნიშვნელობა   : {} ( დაუშვებს {} პარალელურ გადმოწერას )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - გამორთვა/ნაგულისხმევი : 0 ( პარალელური გადმოწერების გათიშვა. დროის ერთ მომენტში მხოლოდ ერთი გადმოწერა მოხდება )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"შეყვანილი რიცხვი არასწორია! თავიდან სცადეთ [ან დააყენეთ 0, გასათიშად]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyperland-ს თქვენს სამუშაო ადგილთან (აპარატურასთან, როგორიცაა კლავიატურა, თაგუნა და ა.შ>) წვდომა სჭირდება\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"აირჩიეთ ეს პარამეტრი, რომ Hyperland-ს თქვენს აპარატურასთან წვდომა მისცეთ\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"ყველა შეყვანილ მნიშვნელობად სუფიქსად შეგიძლიათ მიუთითოთ ერთეული: B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"გნებავთ გაერთიანებული ბირთვის დისკის ასლის ფაილების გამოყენება?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"გაერთიანებული ბირთვის დისკის ასლის ფაილები\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"დროის სინქრონიზაციის (timedatectl show) დასრულების მოლოდინი.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"დროის სინქრონიზაცია არ სრულდება. სანამ ელოდებით, შეამოწმეთ დოკუმენტაცია, როგორ აიცილოთ ეს თავიდან: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"ავტომატური დროის სინქრონიზაციის მოლოდინის გამოტოვება (ამას შეუძლია, პრობლემები გამოიწვიოს, თუ დრო დაყენებისას აირევა)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"ველოდები Arch Linux-ის ბრელოკის სინქრონიზაციის (archlinux-keyring-wkd-sync) დასრულებას.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"მონიშნული პროფილები: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"დროის სინქრონიზაცია არ სრულდება. სანამ ელოდებით, შეამოწმეთ დოკუმენტაცია, როგორ აიცილოთ ეს თავიდან: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"'nodatacow' ალმის დასმა/მოხსნა\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"შეკუმშვის გამოყენება გნებავთ, თუ CoW-ის გათიშვა?\"\n\nmsgid \"Use compression\"\nmsgstr \"შეკუმშვის გამოყენება\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"ჩაწერისას-დაკოპირების გათიშვა\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"მოგაწვდით სამუშაო გარემოებისა და ფანჯრების მმართველების არჩევანს. მაგ: GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"მორგების ტიპი: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM-ის კონფიგურაციის ტიპი\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"LVM დისკის დაშიფვრა ორზე მეტი დანაყოფით ამჟამად მხარდაჭერილი არაა\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"NetworkManager-ის გამოყენება (აუცილებელია ინტერნეტის GNOME/KDE Plasma-დან მოსარგებად)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"აირჩიეთ LVM-ის პარამეტრი\"\n\nmsgid \"Partitioning\"\nmsgstr \"დაყოფა\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"ლოგიკური ტომების მართვა (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"ფიზიკური ტომები\"\n\nmsgid \"Volumes\"\nmsgstr \"ტომები\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM-ის ტომები\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"დასაშიფრი LVM-ის ტომები\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"აირჩიეთ, რომელი LVM-ის ტომი დაიშიფროს\"\n\nmsgid \"Default layout\"\nmsgstr \"ნაგულისხმები განლაგება\"\n\nmsgid \"No Encryption\"\nmsgstr \"დაშიფვრის გარეშე\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM LUKS-ზე\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS LVM-ზე\"\n\nmsgid \"Yes\"\nmsgstr \"დიახ\"\n\nmsgid \"No\"\nmsgstr \"არა\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall-ის დახმარება\"\n\nmsgid \" (default)\"\nmsgstr \" (ნაგულისხმევი)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"აირჩიეთ ეს პარამეტრი, რომ Sway-ს თქვენს აპარატურასთან წვდომა მისცეთ\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"მიმაგრების წერტილი: \"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"შეიყვანეთ დისკის დაშიფვრის პაროლი (დაშიფვრის გასათიშად დატოვეთ ცარიელი): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"დაშიფვრის პაროლი\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"დანაყოფი\"\n\n#, fuzzy\nmsgid \"Filesystem\"\nmsgstr \"ფაილური სისტემის შეცვლა\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"შეიყვანეთ საწყისი სექტორი (ნაგულისხმევი: {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"შეიყვანეთ ბოლო სექტორი (ნაგულისხმევი: {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"ქვეტომის სახელი \"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"დისკის მორგება\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"ლოკალის ენა\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"დამატებითი პაკეტები დასაყენებლად (გამოტოვებით გამოყოფილი, გამოსატოვებლად ცარიელი დატოვეთ): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The username you entered is invalid\"\nmsgstr \"შეყვანილი მომხმარებლის სახელი არასწორია. კიდევ სცადეთ\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"მომხმარებლის სახელი : \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"იყოს \\\"{}\\\" ზემომხმარებელი(sudo)?\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"ინტერფეისის დამატება\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"აირჩიეთ ნაგულისხმევი რაუტერის IP მისამართი, ან ცარიელი დატოვეთ: \"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"შეიყვანეთ თქვენი DNS სერვერების მისამართები (გამოყოფილი ცარიელი ადგილით. ცარიელი, თუ არ გნებავთ, გამოიყენოთ): \"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"აუდიოსერვერის გრეშე\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"მორგებულია {} ინტერფეისი\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"ბირთვები\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Sway-ის დახურული კოდის მქონე Nvidia-ის დრაივერის მხარდაჭერა არ გააჩნია. როგორც ჩანს, შარში ყოფთ თავს. დარწმუნებული ბრძანდებით?\"\n\n#, fuzzy\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Sway-ის დახურული კოდის მქონე Nvidia-ის დრაივერის მხარდაჭერა არ გააჩნია. როგორც ჩანს, შარში ყოფთ თავს. დარწმუნებული ბრძანდებით?\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"პროფილის ჩასწორება\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"პაროლის შეცვლა\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"არასწორი საქაღალდე: {}\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"გნებავთ BTRFS-ის შეკუმშვის გამოყენება?\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"\"\n\"შეიყვანეთ საქაღალდე კონფიგურაცი(ებ)-ის შესანახად (ტაბით დასრულება ჩართულია)\\n\"\n\"შენახვის საქაღალდე: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"\"\n\"გნებავთ, შეინახოთ {} კონფიგურაციის ფაილები შემდეგ მისამართზე?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    ეს პრობლემა და ფაილი გადმოგვიგზავნეთ ბმულზე https://github.com/archlinux/archinstall/issues\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"სარკის რეგიონი\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"აირჩიეთ ხელმოწერის შემოწმების პარამეტრი\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"აირჩიეთ შესრულების რეჟიმი\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"აირჩიეთ ეს პარამეტრი, რომ Hyperland-ს თქვენს აპარატურასთან წვდომა მისცეთ\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"არასავალდებულო რეპოზიტორიები\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"აირჩიეთ ხელმოწერის შემოწმების პარამეტრი\"\n\n#, fuzzy, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"ამჟამად თავისუფალი სექტორები მოწყობილობაზე {}:\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"სულ: {} / {}\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"შეიყვანეთ ბოლო სექტორი (ნაგულისხმევი: {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"მოწყობილობა\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"მომხმარებლის სახელი : \"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"ჩატვირთვადი ალმის დაყენება/მოხსნა\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"დამატებითი პაკეტები\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"მორგებული სარკის დამატება\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"მორგებული სარკის შეცვლა\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"მორგებული სარკის წაშლა\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"სარკის რეგიონი\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"მორგებული სარკის დამატება\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"მორგებული სარკის შეცვლა\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"მორგებული სარკის წაშლა\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"აირჩიეთ ხელმოწერის პარამეტრი\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"მორგებული სარკის დამატება\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"მორგებული სარკის დამატება\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"სარკის რეგიონები\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"არასავალდებულო რეპოზიტორიები\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"სარკის რეგიონები\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"მორგებული სარკეები\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"არასავალდებულო რეპოზიტორიები\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"აირჩიეთ ხელმოწერის შემოწმების პარამეტრი\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"აირჩიეთ დროის სარტყელი\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"აირჩიეთ შესრულების რეჟიმი\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway-ს თქვენს სამუშაო ადგილთან (აპარატურასთან, როგორიცაა კლავიატურა, თაგუნა და ა.შ>) წვდომა სჭირდება\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"აირჩიეთ ეს პარამეტრი, რომ Sway-ს თქვენს აპარატურასთან წვდომა მისცეთ\"\n\n#, fuzzy\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway-ს თქვენს სამუშაო ადგილთან (აპარატურასთან, როგორიცაა კლავიატურა, თაგუნა და ა.შ>) წვდომა სჭირდება\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"აირჩიეთ ეს პარამეტრი, რომ Sway-ს თქვენს აპარატურასთან წვდომა მისცეთ\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"ჩატვირთვადი ალმის დაყენება/მოხსნა\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstall-ის დახმარება\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"ფაილური სისტემის შეცვლა\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"გნებავთ chroot ახალ დაყენებულ სისტემაში და დაყენების შემდეგი კონფიგურაციის გაშვება?\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"გნებავთ BTRFS-ის შეკუმშვის გამოყენება?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"აირჩიეთ მოსარგები რეჟიმი \\\"{}\\\"-სთვის ან გამოტოვეთ ნაგულისხმევი რეჟიმის \\\"{}\\\" გამოსაყენებლად\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"დაშიფვრის პაროლი\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Root-ის პაროლი\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"დაშიფვრის პაროლი\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"\"\n\"გნებავთ, შეინახოთ {} კონფიგურაციის ფაილები შემდეგ მისამართზე?\\n\"\n\"\\n\"\n\"{}\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"დაშიფვრის პაროლი\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"სარკის რეგიონი\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"HSM მოწყობილობები მიუწვდომელია\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"პაროლი\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"გნებავთ BTRFS-ის შეკუმშვის გამოყენება?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"გნებავთ BTRFS-ის შეკუმშვის გამოყენება?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"დანაყოფების მართვა: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"გარემოს ტიპი: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"შეიყვანეთ პაროლი: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"აირჩიეთ HSM-სთვის გამოსაყენებელი FIDO2 მოწყობილობა\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"ქსელის მორგების გარეშე\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"გნებავთ BTRFS-ის შეკუმშვის გამოყენება?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"მორგებულია {} ინტერფეისი\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"მოსარგებად ერთ-ერთი ქსელის ინტერფეისი აირჩიეთ\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"ქსელის მორგების გარეშე\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"შეიყვანეთ პაროლი: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"ლოკალის ენა\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"მოხდება მხოლოდ ისეთი პაკეტების დაყენება, როგორებიცაა base, base-devel, linux, linux-firmware, efibootmgr და არასავალდებულო პროფილის პაკეტი.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"აირჩიეთ მიმაგრების წერტილი :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/ko/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: An Jaebeom <ajb8533296@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ko\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.1.1\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] 로그파일을 다음의 경로에 생성했습니다: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    이 문제(및 파일)를 https://github.com/archlinux/archinstall/issues 에 제출하세요\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"정말 중단하시겠습니까?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"확인을 위해 한번 더: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"zram에서 스왑을 사용하시겠습니까?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"설치에 원하는 호스트명: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"sudo 권한이 있는 필수 슈퍼유저의 사용자명: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"설치할 추가 사용자(없는 경우 비워 둠): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"이 사용자가 슈퍼유저여야 합니까 (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"시간대를 선택하세요\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"systemd-boot 대신 GRUB 를 부트로더로 사용하시겠습니까?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"부트로더를 선택하세요\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"오디오 서버를 선택하세요\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"base, base-devel, linux, linux-firmware, efibootmgr 및 선택적 프로파일 패키지와 같은 패키지만 설치됩니다.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"만약 파이어폭스나 크로미움같은 웹브라우저를 희망하실 경우 다음 프롬프트에서 지정하실 수 있습니다.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"설치할 추가 패키지 작성하세요 (띄어쓰기로 구분, 건너뛰려면 공백): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO 네트워크 구성을 설치에 복사\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager 사용 (GNOME 이나 KDE 에서 그래픽으로 인터넷을 구성하는 데 필요)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"구성할 네트워크 인터페이스를 하나 선택하세요\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"\\\"{}\\\" 에 대해 구성할 모드를 선택하거나 기본 모드 \\\"{}\\\" 을(를) 사용하도록 건너뛰세요\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"{} 의 IP와 서브넷을 입력하세요 (예시: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"게이트웨이(라우터) IP 주소를 입력하시거나 공백으로 두세요: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"DNS 서버를 입력하세요 (띄어쓰기로 구분, 없는 경우 공백): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"주 파티션이 사용해야 하는 파일 시스템을 선택하세요\"\n\nmsgid \"Current partition layout\"\nmsgstr \"현재 파티션 레이아웃\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"무엇을 할 것인지 선택하세요\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"파티션에 대해 원하는 파일 시스템 유형을 입력하세요\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"\"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"\"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} 에 대기 중인 파티션이 포함되어 있습니다. 그러면 이러한 파티션이 제거됩니다. 정말 진행하시겠습니까?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"삭제할 파티션을 인덱스 값으로 선택하세요\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"마운트할 파티션을 인덱스 값으로 선택하세요\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * 파티션 마운트 포인트는 설치 내부를 기준으로 하며 예를 들어 부팅은 /boot 입니다.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"파티션을 마운트할 위치를 선택하세요 (마운트 포인트 제거는 공백): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"포맷을 위해 마스킹할 파티션 선택\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"암호화를 위해 마스킹할 파티션 선택\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"부팅 가능으로 표시할 파티션 선택\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"파일 시스템을 설정할 파티션 선택\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"파티션에 대해 원하는 파일 시스템을 입력하세요: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall 언어\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"선택한 모든 드라이브를 지우고 최선의 기본 파티션 레이아웃 사용\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"각 개별 드라이브로 수행할 작업을 선택하세요 (파티션 사용 후)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"선택한 블록 장치로 수행할 작업을 선택하세요\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"이것은 사전 프로그래밍된 프로필 목록이며 데스크톱 환경과 같은 것을 더 쉽게 설치할 수 있습니다\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"키보드 레이아웃을 선택하세요\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"패키지를 다운로드할 지역 중 하나를 선택하세요\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"사용하고 구성할 하드 드라이브를 하나 이상 선택하세요\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"AMD 하드웨어와의 최상의 호환성을 위해 모든 오픈 소스 또는 AMD/ATI 옵션을 사용할 수 있습니다.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"인텔 하드웨어와의 최상의 호환성을 위해 모든 오픈 소스 또는 인텔 옵션을 사용할 수 있습니다.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Nvidia 하드웨어와의 최상의 호환성을 위해 Nvidia 독점 드라이버를 사용할 수 있습니다.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"모든 오픈 소스 드라이버를 설치하려면 그래픽 드라이버를 선택하거나 공백으로 두세요\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"전부 오픈소스 (기본값)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"사용할 커널을 선택하시거나 기본 커널인 \\\"{}\\\" 을(를) 사용하실 경우 비워두세요\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"사용할 로케일 언어를 선택하세요\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"사용할 로케일 인코딩을 선택하세요\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"아래 표시된 값 중 하나를 선택하세요: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"아래 표시된 값 중 하나 이상을 선택하세요: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"파티션 추가 중....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"계속하려면 유효한 fs-type을 입력해야 합니다. 유효한 fs-type에 대해서는 `man parted`를 참조하세요.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"오류: URL \\\"{}\\\"의 프로필 나열 결과:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"오류: \\\"{}\\\" 결과를 JSON으로 디코딩할 수 없습니다:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"키보드 레이아웃\"\n\nmsgid \"Mirror region\"\nmsgstr \"미러 위치\"\n\nmsgid \"Locale language\"\nmsgstr \"로케일 언어\"\n\nmsgid \"Locale encoding\"\nmsgstr \"로케일 인코딩\"\n\nmsgid \"Drive(s)\"\nmsgstr \"드라이브\"\n\nmsgid \"Disk layout\"\nmsgstr \"디스크 레이아웃\"\n\nmsgid \"Encryption password\"\nmsgstr \"비밀번호 암호화\"\n\nmsgid \"Swap\"\nmsgstr \"스왑\"\n\nmsgid \"Bootloader\"\nmsgstr \"부트로더\"\n\nmsgid \"Root password\"\nmsgstr \"루트 비밀번호\"\n\nmsgid \"Superuser account\"\nmsgstr \"슈퍼유저 계정\"\n\nmsgid \"User account\"\nmsgstr \"사용자 계정\"\n\nmsgid \"Profile\"\nmsgstr \"프로필\"\n\nmsgid \"Audio\"\nmsgstr \"오디오\"\n\nmsgid \"Kernels\"\nmsgstr \"커널\"\n\nmsgid \"Additional packages\"\nmsgstr \"추가 패키지\"\n\nmsgid \"Network configuration\"\nmsgstr \"네트워크 구성\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"시간 자동 동기화 (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"설치 ({} 개의 설정(들)이 누락됨)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"하드 드라이브 선택을 건너뛰기로 결정했습니다\\n\"\n\"{} 에 마운트된 모든 드라이브 설정을 사용합니다 (실험적).\\n\"\n\"경고: Archinstall은 이 설정의 적합성을 확인하지 않습니다.\\n\"\n\"계속하시겠습니까?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"파티션 인스턴스 재사용: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"새 파티션 생성\"\n\nmsgid \"Delete a partition\"\nmsgstr \"파티션 제거\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"모든 파티션 제거\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"파티션에 대한 마운트 지점 할당\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"포맷할 파티션 표시/표시 해제 (데이터 삭제)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"암호화된 파티션으로 표시/표시 해제\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"부팅 가능한 파티션으로 표시/표시 해제 (/boot의 경우 자동)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"파티션에 대해 원하는 파일 시스템 설정\"\n\nmsgid \"Abort\"\nmsgstr \"중단\"\n\nmsgid \"Hostname\"\nmsgstr \"호스트명\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"구성되지 않음, 수동으로 설정하지 않으면 사용할 수 없음\"\n\nmsgid \"Timezone\"\nmsgstr \"시간대\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"아래 옵션 설정/수정\"\n\nmsgid \"Install\"\nmsgstr \"설치\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"ESC 키를 사용해 스킵하세요\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"파티션 레이아웃 제안\"\n\nmsgid \"Enter a password: \"\nmsgstr \"비밀번호를 입력하세요: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"{} 에 대한 암호화 비밀번호 입력\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"디스크를 암호화할 암호를 입력하세요 (암호화하지 않으려면 비워 둠): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"sudo 권한이 있는 필수 슈퍼유저를 생성합니다: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"루트 비밀번호를 입력하세요 (루트를 비활성화 할 경우 공백): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"사용자 \\\"{}\\\" 님에 대한 비밀번호: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"추가 패키지가 있는지 확인합니다 (몇 초 정도 소요될 수 있음)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"기본 시간 서버와 함께 자동 시간 동기화(NTP)를 사용하시겠습니까?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP가 작동하려면 하드웨어 시간 및 기타 사후 구성 단계가 필요할 수 있습니다.\\n\"\n\"더 많은 정보를 확인하시려면, Arch wiki 를 확인하세요\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"추가 사용자를 만들려면 사용자 이름을 입력하세요 (건너뛰려면 공백): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"ESC 키를 사용해 스킵하세요\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"목록에서 개체를 선택하고 실행 가능한 작업 중 하나를 선택하세요\"\n\nmsgid \"Cancel\"\nmsgstr \"취소\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"저장 후 종료\"\n\nmsgid \"Add\"\nmsgstr \"추가\"\n\nmsgid \"Copy\"\nmsgstr \"복사\"\n\nmsgid \"Edit\"\nmsgstr \"수정\"\n\nmsgid \"Delete\"\nmsgstr \"제거\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"'{}' 에 대한 작업 선택\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"새 키로 복사:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"알 수 없는 nic 타입: {}, 가능한 값은 {} 입니다\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"선택된 구성:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman 이 이미 실행중입니다, 종료될 때까지 최대 10분 대기해야 합니다.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"기존 pacman 잠금이 종료되지 않았습니다. archinstall을 사용하기 전에 기존 pacman 세션을 모두 정리하세요.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"활성화할 선택적 추가 리포지토리를 선택하세요\"\n\nmsgid \"Add a user\"\nmsgstr \"사용자 추가\"\n\nmsgid \"Change password\"\nmsgstr \"비밀번호 변경\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"사용자 승격/강등\"\n\nmsgid \"Delete User\"\nmsgstr \"사용자 제거\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"새 사용자 정의\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"사용자명 : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"{} 님은 슈퍼유저(sudoer)여야 하나요?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"sudo 권한이 있는 사용자 정의: \"\n\nmsgid \"No network configuration\"\nmsgstr \"네트워크 구성 없음\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"btrfs 파티션에 원하는 하위 볼륨 설정\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"하위 볼륨을 설정할 파티션을 선택하세요\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"현재 파티션에 대한 btrfs 하위 볼륨 관리\"\n\nmsgid \"No configuration\"\nmsgstr \"구성 없음\"\n\nmsgid \"Save user configuration\"\nmsgstr \"사용자 구성 저장\"\n\nmsgid \"Save user credentials\"\nmsgstr \"사용자 자격 증명 저장\"\n\nmsgid \"Save disk layout\"\nmsgstr \"디스크 레이아웃 저장\"\n\nmsgid \"Save all\"\nmsgstr \"모두 저장\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"저장할 구성을 선택하세요\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"저장할 구성의 디렉토리를 입력하세요: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"올바른 디렉터리가 아닙니다: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"사용 중인 비밀번호가 보안에 취약한 것 같습니다,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"그래도 사용하시겠습니까?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"선택적 저장소\"\n\nmsgid \"Save configuration\"\nmsgstr \"구성 저장\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"누락된 구성들:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"root-password 또는 1명 이상의 슈퍼유저를 지정해야 합니다\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"슈퍼유저 계정 관리: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"일반 사용자 계정 관리: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" 하위 볼륨 :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" {:16} 에 마운트됨\"\n\nmsgid \" with option {}\"\nmsgstr \" 옵션 {} 와 함께\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" 새 하위 볼륨에 대해 원하는 값 채우기 \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"하위 볼륨 이름 \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"하위 볼륨 마운트 지점\"\n\nmsgid \"Subvolume options\"\nmsgstr \"하위 볼륨 옵션\"\n\nmsgid \"Save\"\nmsgstr \"저장\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"하위 볼륨 이름 :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"마운트 지점을 선택하세요 :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"원하는 하위 볼륨 옵션을 선택하세요 \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"sudo 권한을 가질 사용자 이름을 입력하세요: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] 로그파일이 다음 경로에 생성되었습니다: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"기본 구조로 BTRFS 하위 볼륨을 사용하시겠습니까?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"BTRFS 압축을 사용하시겠습니까?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"/home 에 대해 별도의 파티션을 생성하시겠습니까?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"선택한 드라이브에 자동 제안에 필요한 최소 용량이 없습니다\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Arch Linux 파티션의 최대 용량: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Arch Linux 파티션의 최소 용량: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"계속\"\n\nmsgid \"yes\"\nmsgstr \"예\"\n\nmsgid \"no\"\nmsgstr \"아니오\"\n\nmsgid \"set: {}\"\nmsgstr \"설정: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"수동 구성 설정은 list여야 합니다\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"수동 구성에 대해 지정된 iface가 없습니다\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"자동 DHCP가 없는 수동 nic 구성에는 IP 주소가 필요합니다\"\n\nmsgid \"Add interface\"\nmsgstr \"인터페이스 추가\"\n\nmsgid \"Edit interface\"\nmsgstr \"인터페이스 수정\"\n\nmsgid \"Delete interface\"\nmsgstr \"인터페이스 제거\"\n\nmsgid \"Select interface to add\"\nmsgstr \"추가할 인터페이스 선택\"\n\nmsgid \"Manual configuration\"\nmsgstr \"수동 구성\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"파티션을 압축된 것으로 표시/표시 해제(btrfs만 해당)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"사용 중인 비밀번호가 보안에 취약한 것 같습니다. 그래도 사용하시겠습니까?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"gnome, kde, sway 같은 다양한 데스크탑 환경 및 타일링 창 관리자를 제공합니다\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"원하는 데스크탑 환경을 선택하세요\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Arch Linux를 원하는 대로 커스터마이징할 수 있는 매우 기본적인 설치입니다.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"설치 및 활성화할 httpd, nginx, mariadb 같은 다양한 서버 패키지를 제공합니다\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"설치할 서버를 선택하고, 설치하지 않으면 최소 설치가 수행됩니다\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"최소 시스템과 xorg 및 그래픽 드라이버를 설치합니다.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"계속하려면 Enter 키를 누르세요.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"새로 생성된 설치로 chroot 하고 설치 후 구성을 수행하시겠습니까?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"정말 설정을 초기화 하시겠습니까?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"사용 및 구성할 하드 드라이브를 하나 이상 선택하세요\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"기존 설정을 수정하면 디스크 레이아웃이 재설정됩니다!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"하드 드라이브 선택을 재설정하면 현재 디스크 레이아웃도 재설정됩니다. 정말 진행하시겠습니까?\"\n\nmsgid \"Save and exit\"\nmsgstr \"저장하고 종료\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"대기 중인 파티션이 포함되어 있습니다. 그러면 이러한 파티션이 제거됩니다. 정말 진행하시겠습니까?\"\n\nmsgid \"No audio server\"\nmsgstr \"오디오 서버가 없습니다\"\n\nmsgid \"(default)\"\nmsgstr \"(기본)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"ESC 키를 사용하여 건너뜁니다\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"CTRL+C 를 이용해 현재 선택을 재설정합니다\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"다음 경로로 복사: \"\n\nmsgid \"Edit: \"\nmsgstr \"수정됨: \"\n\nmsgid \"Key: \"\nmsgstr \"키: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"수정된 {}: \"\n\nmsgid \"Add: \"\nmsgstr \"추가됨: \"\n\nmsgid \"Value: \"\nmsgstr \"값: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"드라이브 선택 및 파티셔닝을 건너뛰고 /mnt 에 마운트된 드라이브 설정을 사용할 수 있습니다 (실험용).\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"디스크 중 하나를 선택하거나 건너뛰고 /mnt 를 기본값으로 사용하세요\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"포맷할 파티션을 선택하세요:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"HSM을 사용하여 암호화된 드라이브 잠금 해제\"\n\nmsgid \"Device\"\nmsgstr \"장치\"\n\nmsgid \"Size\"\nmsgstr \"크기\"\n\nmsgid \"Free space\"\nmsgstr \"여유 공간\"\n\nmsgid \"Bus-type\"\nmsgstr \"버스 타입\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"root-password 또는 sudo 권한이 있는 사용자 1 명 이상을 지정해야 합니다\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"사용자명 입력 (공백일 경우 스킵): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"입력한 사용자 이름이 잘못되었습니다. 다시 시도하세요\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\\\"{}\\\"은(는) 슈퍼유저여야 합니까 (sudo)?\"\n\n#, fuzzy\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"암호화할 파티션을 선택하세요:\"\n\nmsgid \"very weak\"\nmsgstr \"아주 약하게\"\n\nmsgid \"weak\"\nmsgstr \"약하게\"\n\nmsgid \"moderate\"\nmsgstr \"보통\"\n\nmsgid \"strong\"\nmsgstr \"강하게\"\n\nmsgid \"Add subvolume\"\nmsgstr \"하위 볼륨 추가\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"하위 볼륨 수정\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"하위 볼륨 제거\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"구성된 {} 인터페이스\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"이 옵션은 설치 중에 발생할 수 있는 병렬 다운로드 수를 활성화합니다\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"활성화할 병렬 다운로드 수를 입력하세요.\\n\"\n\" (1 부터 {} 까지의 숫자중 하나를 입력하세요)\\n\"\n\"메모:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - 최댓값   : {} ( {} 개의 병렬 다운로드 허용, 한 번에 {} 개의 다운로드 허용 )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - 최솟값   : 1 ( 1 개의 병렬 다운로드 허용, 한 번에 2 개의 다운로드 허용 )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - 비활성화/기본 : - ( 병렬 다운로드 비활성화, 한 번에 1 개의 다운로드만 허용 )\"\n\n#, fuzzy, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"잘못된 값입니다! 유효한 값으로 다시 시도해주세요 [1 부터 {} 까지, 비활성화 하려면 0]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"병렬 다운로드\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC 키로 스킵\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C 로 재설정\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB 으로 선택\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[기본값: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"이 번역을 사용하려면 해당 언어를 지원하는 글꼴을 수동으로 설치하세요.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"글꼴은 {} (으)로 저장해야 합니다\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select an execution mode\"\nmsgstr \"'{}' 에 대한 작업 선택\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"사용하고 구성할 하드 드라이브를 하나 이상 선택하세요\"\n\n#, fuzzy\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"하드 드라이브 선택을 재설정하면 현재 디스크 레이아웃도 재설정됩니다. 정말 진행하시겠습니까?\"\n\n#, fuzzy\nmsgid \"Existing Partitions\"\nmsgstr \"파티션 추가 중....\"\n\n#, fuzzy\nmsgid \"Select a partitioning option\"\nmsgstr \"파티션 제거\"\n\n#, fuzzy\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"저장할 구성의 디렉토리를 입력하세요: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Arch Linux 파티션의 최대 용량: {}GB\\n\"\n\n#, fuzzy, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Arch Linux 파티션의 최소 용량: {}GB\"\n\n#, fuzzy\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"이것은 사전 프로그래밍된 프로필 목록이며 데스크톱 환경과 같은 것을 더 쉽게 설치할 수 있습니다\"\n\n#, fuzzy\nmsgid \"Current profile selection\"\nmsgstr \"현재 파티션 레이아웃\"\n\n#, fuzzy\nmsgid \"Remove all newly added partitions\"\nmsgstr \"새 파티션 생성\"\n\n#, fuzzy\nmsgid \"Assign mountpoint\"\nmsgstr \"파티션에 대한 마운트 지점 할당\"\n\n#, fuzzy\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"포맷할 파티션 표시/표시 해제 (데이터 삭제)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"\"\n\nmsgid \"Change filesystem\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"파티션을 압축된 것으로 표시/표시 해제(btrfs만 해당)\"\n\n#, fuzzy\nmsgid \"Set subvolumes\"\nmsgstr \"하위 볼륨 제거\"\n\n#, fuzzy\nmsgid \"Delete partition\"\nmsgstr \"파티션 제거\"\n\nmsgid \"Partition\"\nmsgstr \"\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * 파티션 마운트 포인트는 설치 내부를 기준으로 하며 예를 들어 부팅은 /boot 입니다.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"\"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Total sectors: {}\"\nmsgstr \"올바른 디렉터리가 아닙니다: {}\"\n\n#, fuzzy\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"시작 섹터를 입력하세요 (백분율 또는 블록 번호, 기본값: {}): \"\n\n#, fuzzy\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"파티션의 끝 섹터를 입력하세요 (백분율 또는 블록 번호, 예시: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Encryption type\"\nmsgstr \"비밀번호 암호화\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Partitions to be encrypted\"\nmsgstr \"암호화할 파티션을 선택하세요:\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"선택한 모든 드라이브를 지우고 최선의 기본 파티션 레이아웃 사용\"\n\n#, fuzzy\nmsgid \"Manual Partitioning\"\nmsgstr \"수동 구성\"\n\n#, fuzzy\nmsgid \"Pre-mounted configuration\"\nmsgstr \"구성 없음\"\n\nmsgid \"Unknown\"\nmsgstr \"\"\n\nmsgid \"Partition encryption\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \"\"\n\nmsgid \"← Back\"\nmsgstr \"\"\n\nmsgid \"Disk encryption\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Configuration\"\nmsgstr \"구성 없음\"\n\n#, fuzzy\nmsgid \"Password\"\nmsgstr \"루트 비밀번호\"\n\n#, fuzzy\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"{} 에 대기 중인 파티션이 포함되어 있습니다. 그러면 이러한 파티션이 제거됩니다. 정말 진행하시겠습니까?\"\n\nmsgid \"Back\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Installed packages\"\nmsgstr \"추가 패키지\"\n\n#, fuzzy\nmsgid \"Add profile\"\nmsgstr \"프로필\"\n\n#, fuzzy\nmsgid \"Edit profile\"\nmsgstr \"프로필\"\n\n#, fuzzy\nmsgid \"Delete profile\"\nmsgstr \"인터페이스 제거\"\n\n#, fuzzy\nmsgid \"Profile name: \"\nmsgstr \"프로필\"\n\n#, fuzzy\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"입력한 사용자 이름이 잘못되었습니다. 다시 시도하세요\"\n\n#, fuzzy\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"설치할 추가 패키지 작성하세요 (띄어쓰기로 구분, 건너뛰려면 공백): \"\n\n#, fuzzy\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"설치할 추가 패키지 작성하세요 (띄어쓰기로 구분, 건너뛰려면 공백): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"\"\n\nmsgid \"Create your own\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"모든 오픈 소스 드라이버를 설치하려면 그래픽 드라이버를 선택하거나 공백으로 두세요\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Graphics driver\"\nmsgstr \"\"\n\nmsgid \"Greeter\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Disk configuration\"\nmsgstr \"구성 없음\"\n\n#, fuzzy\nmsgid \"Profiles\"\nmsgstr \"프로필\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"사용하고 구성할 하드 드라이브를 하나 이상 선택하세요\"\n\n#, fuzzy\nmsgid \"Add a custom mirror\"\nmsgstr \"사용자 추가\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"사용자명 입력 (공백일 경우 스킵): \"\n\n#, fuzzy\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"사용자명 입력 (공백일 경우 스킵): \"\n\n#, fuzzy\nmsgid \"Select signature check option\"\nmsgstr \"추가할 인터페이스 선택\"\n\n#, fuzzy\nmsgid \"Select signature option\"\nmsgstr \"추가할 인터페이스 선택\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"\"\n\nmsgid \"Defined\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"사용자 구성 저장\"\n\n#, fuzzy\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"저장할 구성의 디렉토리를 입력하세요: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"구성 저장\"\n\n#, fuzzy\nmsgid \"Mirrors\"\nmsgstr \"미러 위치\"\n\n#, fuzzy\nmsgid \"Mirror regions\"\nmsgstr \"미러 위치\"\n\n#, fuzzy\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - 최댓값   : {} ( {} 개의 병렬 다운로드 허용, 한 번에 {} 개의 다운로드 허용 )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"잘못된 값입니다! 유효한 값으로 다시 시도해주세요 [1 부터 {} 까지, 비활성화 하려면 0]\"\n\nmsgid \"Locales\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager 사용 (GNOME 이나 KDE 에서 그래픽으로 인터넷을 구성하는 데 필요)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"시작 섹터를 입력하세요 (백분율 또는 블록 번호, 기본값: {}): \"\n\n#, fuzzy\nmsgid \"Enter end (default: {}): \"\nmsgstr \"시작 섹터를 입력하세요 (백분율 또는 블록 번호, 기본값: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"\"\n\nmsgid \"Path\"\nmsgstr \"\"\n\nmsgid \"Manufacturer\"\nmsgstr \"\"\n\nmsgid \"Product\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"수동 구성\"\n\nmsgid \"Type\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"이 옵션은 설치 중에 발생할 수 있는 병렬 다운로드 수를 활성화합니다\"\n\n#, fuzzy\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"활성화할 병렬 다운로드 수를 입력하세요.\\n\"\n\" (1 부터 {} 까지의 숫자중 하나를 입력하세요)\\n\"\n\"메모:\"\n\n#, fuzzy, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - 최댓값   : {} ( {} 개의 병렬 다운로드 허용, 한 번에 {} 개의 다운로드 허용 )\"\n\n#, fuzzy\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - 비활성화/기본 : - ( 병렬 다운로드 비활성화, 한 번에 1 개의 다운로드만 허용 )\"\n\n#, fuzzy\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"잘못된 값입니다! 유효한 값으로 다시 시도해주세요 [1 부터 {} 까지, 비활성화 하려면 0]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"zram에서 스왑을 사용하시겠습니까?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Selected profiles: \"\nmsgstr \"인터페이스 제거\"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"파티션을 압축된 것으로 표시/표시 해제(btrfs만 해당)\"\n\n#, fuzzy\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"BTRFS 압축을 사용하시겠습니까?\"\n\nmsgid \"Use compression\"\nmsgstr \"\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"gnome, kde, sway 같은 다양한 데스크탑 환경 및 타일링 창 관리자를 제공합니다\"\n\n#, fuzzy, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"구성 없음\"\n\n#, fuzzy\nmsgid \"LVM configuration type\"\nmsgstr \"구성 없음\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"NetworkManager 사용 (GNOME 이나 KDE 에서 그래픽으로 인터넷을 구성하는 데 필요)\"\n\n#, fuzzy\nmsgid \"Select a LVM option\"\nmsgstr \"시간대를 선택하세요\"\n\n#, fuzzy\nmsgid \"Partitioning\"\nmsgstr \"수동 구성\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"LVM volumes\"\nmsgstr \"하위 볼륨 제거\"\n\n#, fuzzy\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"암호화할 파티션을 선택하세요:\"\n\n#, fuzzy\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"암호화할 파티션을 선택하세요:\"\n\n#, fuzzy\nmsgid \"Default layout\"\nmsgstr \"디스크 레이아웃\"\n\n#, fuzzy\nmsgid \"No Encryption\"\nmsgstr \"비밀번호 암호화\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"예\"\n\nmsgid \"No\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall 언어\"\n\n#, fuzzy\nmsgid \" (default)\"\nmsgstr \"(기본)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"파티션에 대한 마운트 지점 할당\"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"디스크를 암호화할 암호를 입력하세요 (암호화하지 않으려면 비워 둠): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"비밀번호 암호화\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"수동 구성\"\n\nmsgid \"Filesystem\"\nmsgstr \"\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"시작 섹터를 입력하세요 (백분율 또는 블록 번호, 기본값: {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"시작 섹터를 입력하세요 (백분율 또는 블록 번호, 기본값: {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"하위 볼륨 이름 \"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"구성 없음\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"로케일 언어\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"설치할 추가 패키지 작성하세요 (띄어쓰기로 구분, 건너뛰려면 공백): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The username you entered is invalid\"\nmsgstr \"입력한 사용자 이름이 잘못되었습니다. 다시 시도하세요\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"사용자명 : \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"\\\"{}\\\"은(는) 슈퍼유저여야 합니까 (sudo)?\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"인터페이스 추가\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"게이트웨이(라우터) IP 주소를 입력하시거나 공백으로 두세요: \"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"DNS 서버를 입력하세요 (띄어쓰기로 구분, 없는 경우 공백): \"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"오디오 서버가 없습니다\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"구성된 {} 인터페이스\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"커널\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"프로필\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"비밀번호 변경\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"올바른 디렉터리가 아닙니다: {}\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"BTRFS 압축을 사용하시겠습니까?\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"저장할 구성의 디렉토리를 입력하세요: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"구성 저장\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    이 문제(및 파일)를 https://github.com/archlinux/archinstall/issues 에 제출하세요\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"미러 위치\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"추가할 인터페이스 선택\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"'{}' 에 대한 작업 선택\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"선택적 저장소\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"추가할 인터페이스 선택\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"시작 섹터를 입력하세요 (백분율 또는 블록 번호, 기본값: {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"장치\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"사용자명 : \"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"파티션을 압축된 것으로 표시/표시 해제(btrfs만 해당)\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"추가 패키지\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"사용자 추가\"\n\nmsgid \"Change custom repository\"\nmsgstr \"\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"미러 위치\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"사용자 추가\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"오디오 서버를 선택하세요\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"사용자 제거\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"추가할 인터페이스 선택\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"사용자 추가\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"사용자 추가\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"미러 위치\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"선택적 저장소\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"미러 위치\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"오디오 서버가 없습니다\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"선택적 저장소\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"추가할 인터페이스 선택\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"시간대를 선택하세요\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"'{}' 에 대한 작업 선택\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"파티션을 압축된 것으로 표시/표시 해제(btrfs만 해당)\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstall 언어\"\n\nmsgid \"Reboot system\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"새로 생성된 설치로 chroot 하고 설치 후 구성을 수행하시겠습니까?\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"BTRFS 압축을 사용하시겠습니까?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"\\\"{}\\\" 에 대해 구성할 모드를 선택하거나 기본 모드 \\\"{}\\\" 을(를) 사용하도록 건너뛰세요\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"비밀번호 암호화\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"루트 비밀번호\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"비밀번호 암호화\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"구성 저장\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"비밀번호 암호화\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"미러 위치\"\n\nmsgid \"New version available\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"루트 비밀번호\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"BTRFS 압축을 사용하시겠습니까?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"BTRFS 압축을 사용하시겠습니까?\"\n\nmsgid \"Power management\"\nmsgstr \"\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"구성 없음\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"비밀번호를 입력하세요: \"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"네트워크 구성 없음\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"BTRFS 압축을 사용하시겠습니까?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"구성된 {} 인터페이스\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"구성할 네트워크 인터페이스를 하나 선택하세요\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"네트워크 구성 없음\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"비밀번호를 입력하세요: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"로케일 언어\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"base, base-devel, linux, linux-firmware, efibootmgr 및 선택적 프로파일 패키지와 같은 패키지만 설치됩니다.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"마운트 지점을 선택하세요 :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/ku/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: Cyaxares\\n\"\n\"Language: ku\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Peleke tomarkirinê li vir hat afirandin: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Tika vê pirsgirêkê (û pelê) bişîne bo https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Tu dixwazî têk bibî?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Û careke din ji bo piştrastkriinê: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Tu dixwazî swap li ser zram bi kar bînî?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Navê mêvandarê xwestî ji bo sazkirinê: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Navê bikarhêner ji bo superbikarhênerê pêwîst bi mafên sudo yên taybet: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Her bikarhênerên din ên ku werin sazkirin (ku bikarhêner tune ne vala bihêle): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Divê ev bikarhêner superbikarhêner (sudoer) be?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Herêmeke demê hilbijêre\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Tu dixwazî GRUB wekî barkarê destpêkirinê li şûna systemd-boot bi kar bînî?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Barkarê destpêkirinê hilbijêre\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Rajekarekî dengî hilbijêre\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Tenê pakêtên wekî base, base-devel, linux, linux-firmware, efibootmgr û pakêtên profîlê yên vebijêrkî tên sazkirin.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Ku tu gerokeke tevnê dixwazî, wekî firefox an chromium, tu dikarî wê di fermana jêrîn de diyar bikî.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Pakêtên din binivîse ji bo sazkirinê (bi valahiyê veqetandî, bo derbas bikî vala bihêle): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Sazkariyên tora ISO ya ji bo sazkirinê jê bigire\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Rêveberiya torê bi kar bîne (ji bo sazkirina înternetê bi awayekî grafîkî di GNOME û KDE de pêdivî ye)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Ji bo sazkirinê navrûyeke torê hilbijêre\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Ka kîjan awaya ku bo \\\"{}\\\" were rêkxisitin hilbijêre yan derbas bike bo bikaranîna awaya berdest \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"IP û bintorê ji bo {} têxîne (mînak: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Navnîşana IP ya dergehê (router) a xwe têxîne yan ku tune be vala bihêle: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Rajekarên DNS a xwe têxîne (bi valahiyê veqetandî, ku tune be vala bihêle): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Dabeşkirinê xwe ya sereke divê kîjan pergala pelê bi kar bîne hilbijêre\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Şêwaza dabeşkirina heyî\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Ka tu yê çi bikî bi\\n\"\n\"{} re hilbijêre\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Cûreyê pergala pelê ya xwestî ji bo dabeşkirinê têxîne\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Cihê destpêkê têxîne (bi yekîneyên parçekirî: s, GB, %, hwd.; berdest: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Cihê dawî têxîne (bi yekîneyên parçekirî: s, GB, %, hwd.; mînak: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} tê de dabeşkirinên rêzkirî heye, ev ê wan jê bibe, tu bawer î?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Li gorî naverokê divê kîjan dabeşkirin werin jêbirin hilbijêre\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Li gorî naverokê divê kîjan dabeşkirin were siwarkirin hilbijêre\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Xalên siwarkirina dabeşkirinê bi hundirê sazkirinê ve girêdayî ne, barkirin wê wekî mînak /boot be.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Cihê ku dabeşkirin lê were siwarkirin hilbijêre (ji bo rakirina xala siwarkirinê vala bihêle): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Bo dabeşkirin were veşartin ji bo formatkirinê hilbijêre\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Bo dabeşkirin wekî şîfrekirî were nîşankirin hilbijêre\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Bo dabeşkirin wekî destpêkbar were nîşankirin hilbijêre\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Bo dabeşkirin pergaleke pelê li ser were sazkirin hilbijêre\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Cûreyê pergala pelê ya xwestî ji bo dabeşkirinê têxîne: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Zimanê Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Hemû ajokarên hilbijartî jê dibe û şewaza dabeşkirina kesane ya bi têkoşîna herî baş bi kar bîne\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Ka bi her ajokarekê re tu yê çi bikî (bi bikaranîna dabeşkirinê tê şopandin) hilbijêre\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Tiştê ku tu dixwazî bi amûrên astengkirî yên hilbijartî bikî hilbijêre\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Ev lîsteyek profîlên pêş-bernamekirî ye, dibe ku ew sazkirina tiştên wekî jîngehên sermaseyê hêsantir bikin\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Şêwaza kilîtdankê hilbijêre\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Ji bo daxistina pakêtan yek ji herêman hilbijêre\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Yek an çend req ajokar hilbijêre da ku bi kar bîn û rêk bixî\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Ji bo çêtirîn lihevhatin bi reqalavên AMD a te re, dibe ku tu bixwazî vebijêrkên hemû çavkaniya vekirî yên AMD / ATI bi kar bînî.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Ji bo çêtirîn lihevhatin bi reqalavên Intel a te re, dibe ku tu bixwazî vebijêrkên hemû çavkaniya vekirî yên Intel bi kar bînî.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Ji bo çêtirîn lihevhatin bi reqalavên Nvidia ya te re, dibe ku tu bixwazî vebijêrkên hemû çavkaniya vekirî yên Nvidia bi kar bînî.\\r\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Ajokareke grafîkê hilbijêre yan vala bihêle da ku hemû ajokarên çavkaniya vekirî werin sazkirin\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Hemû çavkaniya vekirî (berdest)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Ka kîjan kernel bo bi kar bînî hilbijêre yan ji bo berdest \\\"{}\\\" vala bihêle\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Ka kîjan zimanê herêmî bo bikaranînê hilbijêre\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Ka kîjan kodkirina herêmî bo bikaranînê hilbijêre\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Yek ji nirxên ku li jêr tên nîşandan hilbijêre: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Yek an çend ji vebijêrkên li jêr hilbijêre: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Dabeşkirin tevlî dibe....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Ji bo domandinê divê tu cûreyek fs a derbasdar têxînî. Ji bo cûreyên fs a derbasdar li `man partid` binêre.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Şaşetî: Lîstekirina profîlan li ser girêdanê \\\"{}\\\" bû sedema:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Şaşetî: Encama \\\"{}\\\" wekî JSON nehat deşîfrekirin:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Şêwaza kilîtdankê\"\n\nmsgid \"Mirror region\"\nmsgstr \"Herêma eynikê\"\n\nmsgid \"Locale language\"\nmsgstr \"Zimanê herêmî\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Kodkirina herêmî\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Ajokar\"\n\nmsgid \"Disk layout\"\nmsgstr \"Şêwaza dîskê\"\n\nmsgid \"Encryption password\"\nmsgstr \"Borînpeyva şîfrekirinê\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Barkarê destpêkirinê\"\n\nmsgid \"Root password\"\nmsgstr \"Borînpeyva Root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Jimarê superbikarhêner\"\n\nmsgid \"User account\"\nmsgstr \"Jimarê bikarhêner\"\n\nmsgid \"Profile\"\nmsgstr \"Profîl\"\n\nmsgid \"Audio\"\nmsgstr \"Deng\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernel\"\n\nmsgid \"Additional packages\"\nmsgstr \"Pakêtên vebijêrkî\"\n\nmsgid \"Network configuration\"\nmsgstr \"Sazkirina torê\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Hevdemkirina demê ya xweber (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Sazkirina ({} rêkxisitin(an) wenda ne)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Te biryar da ku tu yê hilbijartina reqdîsk derbas bikî\\n\"\n\"û wê her sazkirina ajokarê çi be ku li {} hatiye sazkirin bi kar bîne (ezmûnkirî)\\n\"\n\"ŞIYARÎ: Archinstall wê guncavbûna vê sazkirinê kontrol neke\\n\"\n\"Tu dixwazî bidomînî ?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Ji nû ve bikaranîna mînaka dabeşkirinê: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Dabeşkirineke nû biafrîne\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Dabeşkirinekê jê bibe\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Hemû dabeşkirinan pak bike/ jê bibe\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Ji bo dabeşkirinê xala-siwarkirinê destnîşan bike\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Dabeşkirinekê ku bo were formatkirin nîşan bide/nede (daneyan jê dibe)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Dabeşkirinekê wekî şifrekirî nîşan bide/nede\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Dabeşkirinekê wekî destpêkbar nîşan bide/nede (xweber ji bo /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Pergala pelê ya xwestî ji bo dabeşkirinê saz bike\"\n\nmsgid \"Abort\"\nmsgstr \"Têk bibe\"\n\nmsgid \"Hostname\"\nmsgstr \"Navê mêvandar\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Nehatiye rêkxisitin, heya ku bi destan saz nekî ne pêkan e\"\n\nmsgid \"Timezone\"\nmsgstr \"Herêma demê\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Vebijarkên li jêr saz bike/biguherîne\"\n\nmsgid \"Install\"\nmsgstr \"Saz bike\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Bo derbas bikî ESC bi kar bîne \\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Şewaza dabeşkirinê pêşniyar bike\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Borînpeyvekê têxîne: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Borînpeyveke şîfrekirî ji bo {} têxîne\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Borînpeyva şîfrekirinê ya dîskê têxîne (ku şîfrekrin tune be vala bihêle): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Bi mafên sudo yên taybet re super-bikarhênerek pêwist biafirîne: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Borînpeyva root têxîne (ku root neçalak bike vala bihêle ): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Borînpeyv ji bo bikarhêner \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Piştrastkirina hebûna pakêtên din bike (ev dibe ku çend çirkeyan bidome)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Tu dixwazî hevdemkirina demê ya xweber (NTP) bi rajekarên demê yên kesane re bi kar bînî?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Bo ku NTP bixebite, dibe ku demê reqalav û gavên din ên piştî sazkirinê pêwist be.\\n\"\n\"\\n\"\n\"Ji bo bêtir zanyarî, Tika wiki Arch kontrol bike\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Bo afirandina bikarhênereke din navê bikarhênereke vebijêrkî têxîne (bo derbas bikî vala bihêle): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Bo derbas bikî ESC bi kar bîne\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Tiştekî ji listeyê hilbijêre, û yek ji çalakiyên heyî ji bo pêkanîna wê hilbijêre\"\n\nmsgid \"Cancel\"\nmsgstr \"Têk bibe\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Biperjîne û derkeve\"\n\nmsgid \"Add\"\nmsgstr \"Tevlî bike\"\n\nmsgid \"Copy\"\nmsgstr \"Jê bigire\"\n\nmsgid \"Edit\"\nmsgstr \"Biguherîne\"\n\nmsgid \"Delete\"\nmsgstr \"Jê bibe\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Çalakiyekê ji bo '{}' hilbijêre\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Bo kilîtê nû jê bigire:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Çûreya nic nenas e: {}. Nirxên gengaz ev in {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Ev rêkxisitinê te ya hilbijartî ye:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman jixwe dixebite, herî pir 10 xulekan bimîne benda bidawîbûna wî.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Kilîtê pacman ya pêş-hebûyî hiç tune bû. Tika berî ku archinstall bi kar bînî, danişînên pacman ên heyî pak bike.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Ka kîjan depoyên vebijêrkî divê çalak bibe hilbijêre\"\n\nmsgid \"Add a user\"\nmsgstr \"Bikarhênerekî tevlî bike\"\n\nmsgid \"Change password\"\nmsgstr \"Borînpeyvê biguherîne\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Bikarhêner blind bike/neke\"\n\nmsgid \"Delete User\"\nmsgstr \"Bikarhêner jê bibe\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Bikarhênereke nû danasîn bike\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Navê bikarhêner: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Divê {} superbikarhênera (sudoer) be?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Bikarhênerên bi mafên sudo yên taybet danasîn bike: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Rêkxisitina torê tune ye\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Binpeldankên xwestî li ser dabeşekirineke btrfs saz bike\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Ka kîjan dabeşkirin li ser binpeldank divê saz bibe hilbijêre\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Birêvebirina btrfs ji bo dabeşkirina heyî bi rê ve bibe\"\n\nmsgid \"No configuration\"\nmsgstr \"Rêkxisitin tune ye\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Rêkxisitinê bikarhêner tomar bike\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Bawernameyên bikarhêner tomar bike\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Şêwaza dîskê tomar bike\"\n\nmsgid \"Save all\"\nmsgstr \"Hemû tomar bike\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Ka kîjan rêkxisitin divê tomar bibe hilbijêre\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Ji bo rêkxisitin ku werin tomarkirin pelrêçekê têxîne: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Pelrêç nederbasdar e: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Ew borînpeyva ku tu bi kar tînî xuya dike lawaz e,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"tu bawer î ku dixwazî ​​wê bi kar bînî?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Depoyên vebijêrkî\"\n\nmsgid \"Save configuration\"\nmsgstr \"Rêkxisitinê tomar bike\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Rêkxisitinên wenda:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"An borînpeyva root an herî kêm 1 superbikarhêner were diyarkirin\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Jimarên superbikarhêner bi rê ve bibe: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Jimarên bikarhênerên asayî bi rê ve bibe: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Binpeldank :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" li {:16} siwar bûye\"\n\nmsgid \" with option {}\"\nmsgstr \" bi vebijêrk {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"Nirxên xwestî ji bo binpelandkeke nû dagire \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Navê binpeldankê \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Xala siwarkirinê ya binpeldankê\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Vebijêrkên binpeldankê\"\n\nmsgid \"Save\"\nmsgstr \"Tomar bike\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Navê binpeldankê :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Xaleke siwarkirinê hilbijêre:\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Vebijarkên binpeldankê yên xwestî hilbijêre \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Bikarhênerên bi mafên sudo yên taybet, bi navê bikarhêner danasîn bike: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Peleke tomarkirinê li vir hat afirandin: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Tu dixwazî BTRFS bi avahiyeke kesane bi kar bînî?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Tu dixwaz î kompressa BTRFS bi kar bînî?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Tu dixwazî ji bo /home beşeke cûda biafrînî?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Kapasîteya herî kêm a ajokarên hilbijartî a pêwîst ji bo pêşniyareke xweber tune ye\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Kapasîteya herî kêm ji bo dabeşkirina /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Kapasîteya herî kêm ji bo dabeşkirina Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Bidomîne\"\n\nmsgid \"yes\"\nmsgstr \"erê\"\n\nmsgid \"no\"\nmsgstr \"na\"\n\nmsgid \"set: {}\"\nmsgstr \"saz bike: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Sazkirina rêkxisitinê destî divê lîsteyek be\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Ji bo rêkxisitina destî iface nehatiye diyarkirin\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Rêkxisitina nic a destî bê DHCP a xweber pêdiviya navnîşana IP dike\"\n\nmsgid \"Add interface\"\nmsgstr \"Navrûyê tevlî bike\"\n\nmsgid \"Edit interface\"\nmsgstr \"Navrûyê biguherîne\"\n\nmsgid \"Delete interface\"\nmsgstr \"Navrûyê jê bibe\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Navrûya ji bo tevlîkirinê hilbijêre\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Rêkxisitina destî\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Dabeşkrinê wekî  nîşan bide/nede (tenê btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Borînpeyva ku tu bi kar tînî xuya dike ku lawaz e, tu bawer î ku tu dixwazî wê bi kar bînî?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Hilbijartinekê ji jîngehên sermaseyê û rêveberên çarçoveyan ên sermaseyê peyda dike, mînak gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Jîngeha sermaseya xwe ya xwestî hilbijêre\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Sazkirinek pir bingehîn e ku dihêle tu Arch Linux li gorî xwe kesane bikî.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Hilbijartinek ji pakêtên  yên cûrbecûr peyda dike ji bo sazkirin û çalakkirinê, mînak httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Ka kîjan rajekar divê saz bikî hilbijêre, ku tune bin wê demê sazkirineke biçûk wê were kirin\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Pergaleke herî biçûk û her wiha ajokarên xorg û ajokarên grafîkan saz dike.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Bo domandinê Enter bitikîne.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Tu dixwazî bi chroot têkevî nav sazkirina nû afirandî û rêkxistina piştî-sazkirinê pêk bînî?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Tu bi rastî dixwazî ​​vê sazkariyê ji nû ve saz bikî?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Yek an çend req dîsk hilbijêre ku bi kar bînî û rêkxisitin bixî\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Her guhertinek li sazkariyên heyî wê şêwaza dîskê ji nû ve saz bike!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Ku tu hilbijartina dîskê ji nû ve saz bikî, ev ê şewaza dîskê ya heyî jî ji nû ve saz bike. Tu bawer î?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Tomar bike û derkeve\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"dabeşkirinên rêzkirî tê de heye, ev ê wan rake, tu bawer î?\"\n\nmsgid \"No audio server\"\nmsgstr \"Tu rajekarên dengê tune ye\"\n\nmsgid \"(default)\"\nmsgstr \"(berdest)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Bo derbas bikî ESC bi kar bîne\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"CTRL + C bi kar bîne da ku hilbijartina heyî ji nû ve saz bikî\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Jê bigire bo: \"\n\nmsgid \"Edit: \"\nmsgstr \"Biguherîne: \"\n\nmsgid \"Key: \"\nmsgstr \"Kilît: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"{}: biguherîne  \"\n\nmsgid \"Add: \"\nmsgstr \"Tevlî bike: \"\n\nmsgid \"Value: \"\nmsgstr \"Nirx: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Tu dikarî hilbijartina ajokar û dabeşkirinê derbas bikî û her sazkirina ajokara ku li /mnt hatiye sazkirin bi kar bînî (ezmûnî)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Yek ji dîskan hilbijêre yan derbas bike û /mnt wekî berdest bi kar bîne\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Ka kîjan dabeşkirinên bo formatkirinê werin nîşankirin hilbijêre:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Ji bo vekirina ajokara şîfrekirî HSM bi kar bîne\"\n\nmsgid \"Device\"\nmsgstr \"Amûr\"\n\nmsgid \"Size\"\nmsgstr \"Mezinahî\"\n\nmsgid \"Free space\"\nmsgstr \"Cihê vala\"\n\nmsgid \"Bus-type\"\nmsgstr \"Cûreya-Bus\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"An borînpeyva root an herî kêm 1 bikarhênera xwedî mafên sudo yên taybet were destnîşankirin\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Navê bikarhêner têxîne (bo derbas bikî vala bihêle): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Navê bikarhênerê ku te nivîsand ne derbasdar e. Dîsa hewl bide\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Divê \\\"{}\\\" superbikarhêner (sudo) be?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Beşên ku werin şîfrekirin hilbijêre\"\n\nmsgid \"very weak\"\nmsgstr \"pir lawaz e\"\n\nmsgid \"weak\"\nmsgstr \"lawaz e\"\n\nmsgid \"moderate\"\nmsgstr \"navînî e\"\n\nmsgid \"strong\"\nmsgstr \"bihêz e\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Binpeldankê tevlî bike\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Binpeldankê biguherîne\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Binpeldankê jê bibe\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Navrûyên {} ên rêkxistî\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Ev vebijêrk jimara daxisitinên paralel ên ku dikarin di dema sazkirinê de werin xuyakirin çalak dike\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Jimara daxisitinên paralel ên ku werin çalakkirin têxîne.\\n\"\n\"(Nirxekê di navbera 1 û {} de têxîne)\\n\"\n\"Nîşe:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Nirxa herî pir: {} ( Mafê dide daxisitinên paralel ên {}, mafê dide {} daxisitinan di yek car de )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Nirxa herî kêm: 1 ( Mafê dide 1 daxisitina paralel, mafê dide 2 daxisitinan di yek car de )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Neçalak/Berdest: 0 ( Daxistina paralel neçalak dike, mafê tenê dide 1 daxistin di yek car de )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Têketineke nederbasdar! Bi têketineke derbasdar re dîsa hewl bide [1 bo {max_downloads}, an 0 bo neçalakkirinê]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Daxistinên parallel\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC bo derbas bikî\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C bo jinûvesazkirinê\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB bo hilbijartinê\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Nirxa berdest: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Ji bo ku tu bikaribî vê wergerê bi kar bînî, tika cûrenivîsekeke ku ziman piştgirî dike bi destan saz bike.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Divê çûrenivîs wekî {} were tomarkirin\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Bo xebitandina Archinstall mafên root pêdivî dike. Ji bo bêtir zanyarî li --alîkarî binêre.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Awayeke pêkanînê hilbijêre\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Nikare profîlê ji navnîşana girêdanê ya diyarkirî bîne : {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Pêdivî ye ku profîl nava yekana be, lê pênaseyên profîlê yên bi navên dûbarekirî hatin dîtin: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Yek an çend amûran bo bikaranîn û rêkxisitinê hilbijêre\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Ku tu hilbijartina amûrê ji nû ve saz bikî, ev ê şêwaza dîskê ya heyî jî ji nû ve saz bike. Tu bawer î?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Dabeşkirinên heyî\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Vebijêrkeke dabeşkirinê hilbijêre\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Peldanka root ya amûrênn siwarkirî têxîne: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Kapasîteya herî kêm ji bo dabeşkirina /home: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Kapasîteya herî kêm ji bo dabeşkirina Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Ev lîsteyek ji profiles_bck ên pêş-bernamekirî ye, dibe ku ew sazkirina tiştên wekî jîngehên sermaseyê hêsantir bike\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Hilbijartina profîla heyî\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Hemû beşên nû tevlîkirî rake\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Xala siwarkirinê destnîşan bike\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Nîşan bike/neke bo were formatkirin (daneyan jê dibe)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Wekî destpêkbar nîşan bide/nede\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Pergala pelê biguherîne\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Wekî guvaştî nîşan bide/nede\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Binpeldankan saz bike\"\n\nmsgid \"Delete partition\"\nmsgstr \"Dabeşkirinê jê bibe\"\n\nmsgid \"Partition\"\nmsgstr \"Dabeşkirin\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Ev dabeşkirin niha şîfrekirî ye, ji bo formatkirina wê divê pergaleke pelan were destnîşankirin\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Xalên siwarkirina dabeşkirinê bi hundirê sazkirinê ve girêdayî ne, despêkirin wê wekî mînak /boot be.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Ku xala siwarkirinê /boot hatibe sazkirin, wê demê dabeşkirin jî wê wekî destpêkbar were nîşankirin.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Xala siwarkirinê: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Sektorên vala ên niha li ser amûra {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Tevahiya sektoran: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Sektora destpêkê têxîne (berdest: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Sektora dawî ya dabeşkirinê têxîne (ji sedî an jimareya blokê, kesane: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Ev ê hemû dabeşkirinên nû tevlîkirî rake, bidomînî?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Rêvebiriya dabeşkirinê: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Dirêjahiya tevahî: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Cûreyê şîfrekirinê\"\n\nmsgid \"Iteration time\"\nmsgstr \"Dema dûbarekirinê\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Dema dûbarekirinê ji bo şîfrekirina LUKS têxîne (bi milîçirkeyan)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Nirxên bilind ewlehiyê bilind dikin lê di dema destpêkirinê de hêdî dikin\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Kesane: 10000ms, Rêjeya pêşniyarkirî: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Dema dûbarekirinê nabe ku vala be\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Dema dûbarekirinê divê herî kêm 100ms be\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Dema dûbarekirinê divê herî pir 120000ms be\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Tika jimareke derbasdar têxîne\"\n\nmsgid \"Partitions\"\nmsgstr \"Dabeşkirin\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Amûrên HSM tune ne\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Beşên ku werin şîfrekirin\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Vebijêrka şîfrekirina dîskê hilbijêre\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Amûrek FIDO2 hilbijêre ku ji bo HSM bi kar bînî\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Şewaza dabeşkirina kesane ya bi têkoşîna herî baş bi kar bîne\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Dabeşkirina destî\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Rêkxistina pêş-siwarkirî\"\n\nmsgid \"Unknown\"\nmsgstr \"Nenas\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Şîfrekirina dabeşkirinê\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formatkirina {} di \"\n\nmsgid \"← Back\"\nmsgstr \"← Vegere\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Şîfrekirina dîskê\"\n\nmsgid \"Configuration\"\nmsgstr \"Rêkxistin\"\n\nmsgid \"Password\"\nmsgstr \"Borînpeyv\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Hemû sazkarî wê ji nû ve werin sazkirin, tu bawer î?\"\n\nmsgid \"Back\"\nmsgstr \"Vegere\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Tika, ji bo profîlên hilbijartî kîjan silavkar divê saz bikî hilbijêre: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Cûreya jîngehê: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Ajokarê xwedan Nvidia ji aliyê Sway ve nayê piştgirîkirin. Dibe ku tu bi pirsgirêkan re rû bi rû werî, tu bi wê re baş î?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Pakêtên sazkirî\"\n\nmsgid \"Add profile\"\nmsgstr \"Profîlê tevlî bike\"\n\nmsgid \"Edit profile\"\nmsgstr \"Profîlê biguherîne\"\n\nmsgid \"Delete profile\"\nmsgstr \"Profîlê jê bibe\"\n\nmsgid \"Profile name: \"\nmsgstr \"Navê profîlê: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Navê profîlê ku te nivîsand jixwe tê bikaranîn. Dîsa hewl bide\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Pakêtên ku bi vê profîlê werin sazkirin (bi valahiyê veqetandî, bo derbas bikî vala bihêle): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Rajearên ku bi vê profîlê re werin çalakkirin (bi valahiyê veqetandî, bo derbas bikî vala bihêle): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Divê ev profîl ji bo sazkirinê were çalakkirin?\"\n\nmsgid \"Create your own\"\nmsgstr \"Ya xwe biafirîne\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Ajokarek grafîkan hilbijêre yan vala bihêle da ku hemû ajokarên çavkaniya vekirî werin sazkirin\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway gihîştina cihê te pêwîst dike (komek ji req amûran b.m. kilîtdank, mişk, hwd)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Vebijêrkekê hilbijêre da ku Sway bigihêje reqalavê te\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Ajokara grafîkan\"\n\nmsgid \"Greeter\"\nmsgstr \"Silavkar\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Tika ka kîjan silavkar divê were sazkirin hilbijêre\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Ev lîsteyek ji profîlên_berdest ên pêş-bernamekirî ye\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Rêkxisitina dîskê\"\n\nmsgid \"Profiles\"\nmsgstr \"Profîl\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Dîtina peldankên gengaz ji bo tomarkirina pelên rêkxisitinê ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Ji bo tomarkirina pelên rêkxisitinê pelrêçekê (an jî pelrêçan) hilbijêre\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Eynika kesane tevlî bike\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Eynika kesane biguherîne\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Eynika kesane jê bibe\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Navê têxîne (bo derbas bikî vala bihêle): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Girêdanê têxîne (bo derbas bikî vala bihêle): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Vebijêrka kontrolkirina îmzeyê hilbijêre\"\n\nmsgid \"Select signature option\"\nmsgstr \"Vebijêrka îmzeyê hilbijêre\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Eynikên kesane\"\n\nmsgid \"Defined\"\nmsgstr \"Danaskirî\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Rêkxisitinên bikarhêner tomar bike (tevlî şêwaza dîskê)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Ji bo rêkxistin(an) ku werin tomarkirin peldankekê têxîne (bidawîkirina tabê çalak e)\\n\"\n\"Pelrêçê tomar bike: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Tu dixwazî pel(ên) rêkxistî li cihê jêrîn tomar bibin?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} pelên rêkxsitinê tên tomarkirin bo {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Eynik\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Herêmên eynikê\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Nirxa herî pir: {} ( Mafê dide {} daxistinên paralel, mafê dide {max_downloads+1} daxistinan di carekê de)\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Têketineke nederbasdar! Bi têketineke derbasdar dîsa hewl bide [1 heya {}, an 0 ji bo neçalakkirinê]\"\n\nmsgid \"Locales\"\nmsgstr \"Ziman\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager bi kar bîne (ji bo rêkxistina înternetê bi awayekî grafîkî di GNOME û KDE de pêdivî ye)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Tevahî: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Hemû nirxên têxistî dikarin bi yekîneyek paşgiran werin veqetandin: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Ku yekîneyek neyê dayîn, nirx wekî sektor tê şîrovekirin\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Destpêkê têxîne (kesane: sektora {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Dawî têxîne (kesane: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Amûrên fido2 nayên destnîşankirin. Libfido2 hatiye sazkirin?\"\n\nmsgid \"Path\"\nmsgstr \"Rêgeh\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Afirîner\"\n\nmsgid \"Product\"\nmsgstr \"Berhem\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Rêkxisitina nederbasdar: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Cûre\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Ev vebijêrk jimara daxistinên paralel ên ku dikarin di dema daxistinan pakêtan de xuya dibin çalak dike\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Jimara daxistinên paralel ên ku werin çalakkirin têxîne.\\n\"\n\"\\n\"\n\"Nîşe:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Nirxa herî pir a pêşniyarkirî: {} (Mafê dide {} daxisitinên paralel di carekê de)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Neçalak/Berdest: 0 ( Daxistina paralel neçalak dike, mafê tenê dide 1 daxistin di carekê de )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Têketineke nederbasdar! Bi têketineke derbasdar dîsa hewl bide [an 0 ji bo neçalakkirinê]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland gihîştina cihê te pêwîst dike(komek ji req amûran b.m. kilîtdank, mişk, hwd)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Vebijêrkek hilbijêre da ku Hyprland bigihêje reqalavê te\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Hemû nirxên têketinê dikarin bi yekîneyekê werin paşgirkirin: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Tu dixwazî wêneyên kernel ên yekgirtî bi kar bînî?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Wêneyên kernel ên yekgirtî\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Li benda bidawîbûna hevdemkirina demê ye (nîşandana timedatectl).\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Hevdemkirina demê bidawî nabe, di dema bendabûnê de - pelbendan ji bo rêgiran kontrol bike: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Li benda bidawîbûna demê tê derbaskirin (ev dikare bibe sedema pirsgirêkan ku dem neyê hevdemkirin di dema sazkirinê de)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Li benda bidawîbûna hevdemkirina keyring Arch Linux e (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Profîlên hilbijartî: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Hevdemkirina demê bidawî nabe,di dema bendabûna de - pelpendan ji bo rêgiran kontrol bike: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Wekî nodatacow nîşan bide/nede\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Tu dixwazî CoW biguvîşî bi kar bînî yan neçalak bikî?\"\n\nmsgid \"Use compression\"\nmsgstr \"Givaştinê bi kar bîne\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Jêgirin-li ser-Nivîsandinê neçalak bike\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Hilbijartinek ji jîngehên sermaseyê û rêveberên çarçoveyê komkirî peyda dike, mînak: GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Çûreya rêkxisitinê: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Cûreya rêkxistinê LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"Şîfrekirina dîskê LVM bi bêtirî 2 beşan niha nayê piştgirîkirin\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Rêvebirê torê bi kar bîne (ji bo sazkirina înternetê bi grafîkî di GNOME û KDE Plasma de pêdivî ye)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Vebijêrkeke LVM hilbijêre\"\n\nmsgid \"Partitioning\"\nmsgstr \"Dabeşkirin\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Rêvebiriya mezinahiya lojîkî (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Mezinahiyên fizîkî\"\n\nmsgid \"Volumes\"\nmsgstr \"Mezinahî\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Peldankên LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Peldankên LVM ên ku wê werin şîfrekirin\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Ka kîjan dabeşkirinên LVM divê were şîfrekirin hilbijêre\"\n\nmsgid \"Default layout\"\nmsgstr \"Şêwaza berdest\"\n\nmsgid \"No Encryption\"\nmsgstr \"Şîfrekirin tune ye\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM li ser LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS li ser LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Erê\"\n\nmsgid \"No\"\nmsgstr \"Na\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Alîkariya Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (berdest)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Ji bo alîkariyê Ctrl+h bitikîne\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Vebijêrkekê hilbijêre da ku Sway bigihêje reqalavê te\"\n\nmsgid \"Seat access\"\nmsgstr \"Gihîştina cihê\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Xala siwarkirinê\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Borînpeyva şîfrekirina dîskê têxîne (ji bo şîfrekirin tune be vala bihêle)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Borînpeyva şîfrekirina dîskê\"\n\nmsgid \"Partition - New\"\nmsgstr \"Dabeşkirin - Nû\"\n\nmsgid \"Filesystem\"\nmsgstr \"Pergala pelê\"\n\nmsgid \"Invalid size\"\nmsgstr \"Mezinahî nederbasdar e\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Destpêk (berdest: sektor {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Dawî (berdest: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Navê binpeldankê\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Cûreya rêkxisitinê dîskê\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Pelrêça siwarkirina root\"\n\nmsgid \"Select language\"\nmsgstr \"Ziman hilbijêre\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Ji bo sazkirinê pakêtên din binivîse (bi valahiya veqetandî, bo derbas bikî vala bihêle)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Jimara daxisitinê nederbasdar e\"\n\nmsgid \"Number downloads\"\nmsgstr \"Jimara daxistinan\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Navê bikarhênerê ku te nivîsand nederbasdar e\"\n\nmsgid \"Username\"\nmsgstr \"Navê bikarhêner\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Divê \\\"{}\\\" superbikarhênerek (sudo) be?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Navrû\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Pêdivî ye ku tu IP a derbasdar di awaya IP-config de têxînî\"\n\nmsgid \"Modes\"\nmsgstr \"Awa\"\n\nmsgid \"IP address\"\nmsgstr \"Navnîşana IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Navnîşana IP ya dergehê (router) a xwe têxîne (ji bo ne yek vala bihêle)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Navnîşana dergehê\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Rajekarên DNS a xwe bi valahiya veqetandî têxîne (ji bo ne yek vala bihêle)\"\n\nmsgid \"DNS servers\"\nmsgstr \"Rajekarên DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Navrûyan rêkxistin bike\"\n\nmsgid \"Kernel\"\nmsgstr \"Kernel\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI nayê dîtin û hinek vebijêrk neçalak in\"\n\nmsgid \"Info\"\nmsgstr \"Zanyarî\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Ajokara xwedan Nvidia ji aliya Sway ve nayê piştgirîkirin.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Dibe ku tu bi pirsgirêkan re rû bi rû werî, tu bi wê re baş î?\"\n\nmsgid \"Main profile\"\nmsgstr \"Profîla sereke\"\n\nmsgid \"Confirm password\"\nmsgstr \"Borînpeyvê biperjîne\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Pejirandina borînpeyvê li hev nehat, tika dîsa hewl bide\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Pelrêçek nederbasdar e\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Dixwazî bidomînî?\"\n\nmsgid \"Directory\"\nmsgstr \"Pelrêç\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Ji bo sazkirin werin tomarkirin pêlrêçekê têxîne (Bidawîkirina tabê çalak e)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Tu dixwazî pel(ên) sazkirinê li {} werin tomarkirin?\"\n\nmsgid \"Enabled\"\nmsgstr \"Çalakkirî\"\n\nmsgid \"Disabled\"\nmsgstr \"Neçalakkirî\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Tika vê pirsgirêkê (û pelê) bişîne bo https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Navê eynikê\"\n\nmsgid \"Url\"\nmsgstr \"Girêdan\"\n\nmsgid \"Select signature check\"\nmsgstr \"Kontrola îmzeyê hilbijêre\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Awaya çalakkirinê hilbijêre\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Ji bo alîkariyê pêl ? bike\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Vebijêrkekê hilbijêre ku Hyprland bigihêje reqalavê te\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Depoyên vebijêrkî\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap li ser zram\"\n\nmsgid \"Name\"\nmsgstr \"Nav\"\n\nmsgid \"Signature check\"\nmsgstr \"Kontrolkirina îmzeyê\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Beşa cîhê vala ya hilbijartî li ser amûra {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Mezinahî: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Mezinahî (berdest: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Amûra HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Hinek pakêt di depoyê de nehatin dîtin\"\n\nmsgid \"User\"\nmsgstr \"Bikarhêner\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Sazkariya destnîşankirî wê were sepandin\"\n\nmsgid \"Wipe\"\nmsgstr \"Jê bibe\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Wekî XBOOTLDR nîşan bide/nede\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Pakêt tên barkirin...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Ji lîsteya jêrîn pakêtên ku divê werin sazkirin hilbijêre\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Depoyek kesane tevlî bike\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Depoya kesane biguherîne\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Depoya kesane jê bibe\"\n\nmsgid \"Repository name\"\nmsgstr \"Navê depoyê\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Rajekarek kesane tevlî bike\"\n\nmsgid \"Change custom server\"\nmsgstr \"Rajekara kesane biguherîne\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Rajekara kesane jê bibe\"\n\nmsgid \"Server url\"\nmsgstr \"Girêdana rajekar\"\n\nmsgid \"Select regions\"\nmsgstr \"Herêman hilbijêre\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Rajekarên kesane tevlî bike\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Depoya kesane tevlî bike\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Herêmên eynikê tên barkirin...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Eynik û depo\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Herêmên eynikê ên hilbijartî\"\n\nmsgid \"Custom servers\"\nmsgstr \"Rajekarên kesane\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Depoyên kesane\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Tenê karekterên ASCII tên piştgirîkirin\"\n\nmsgid \"Show help\"\nmsgstr \"Alîkariyê nîşan bide\"\n\nmsgid \"Exit help\"\nmsgstr \"Ji alîkariyê derkeve\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Pêşdîtina şemitandina jor\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Pêşdîtina şemitandina jêr\"\n\nmsgid \"Move up\"\nmsgstr \"Bilivîne jorê\"\n\nmsgid \"Move down\"\nmsgstr \"Bilivîne jêrê\"\n\nmsgid \"Move right\"\nmsgstr \"Bilivîne rastê\"\n\nmsgid \"Move left\"\nmsgstr \"Bilivîne çepê\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Biçe bo têketinê\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Hilbijartinê derbas bike (ku pêkan be)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Hilbijartinê ji nû ve saz bike (ku pêkan be)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Li ser hilbijartina yekane hilbijêre\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Li ser çend-hilbijartin hilbijêre\"\n\nmsgid \"Reset\"\nmsgstr \"Ji nû ve saz bike\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Menuya hilbijartinê derbas bike\"\n\nmsgid \"Start search mode\"\nmsgstr \"Awaya lêgerînê dest pê bike\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Awaya lêgerînê bi dawî bike\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc gihîştina cihê te pêwîst dike (komek ji reqalavan b.m. kilîtdank, mişk, hwd)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Vebijêrkekê hilbijêre da ku labwc bigihêje reqalavê te\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri gihîştina cihê te pêwîst dike (komek ji reqalavan b.m. kilîtdank, mişk, hwd)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Vebijêrkekê hilbijêre da ku niri bigihêje reqalavê te\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Wekî ESP nîşan bide/ nede\"\n\nmsgid \"Package group:\"\nmsgstr \"Koma pakêtê:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Ji archinstall derkeve\"\n\nmsgid \"Reboot system\"\nmsgstr \"Pergalê ji nû ve dest bike\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"bi chroot têkeve hundir sazkirinê bo rêkxistina piştî-sazkirinê\"\n\nmsgid \"Installation completed\"\nmsgstr \"Sazkirin qediya\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Tu dixwazî ​​çi bikî paşê?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Ka kîjan awa bo sazkirinê ji bo \\\"{}\\\" hilbijêre\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Borînpeyva şîfrekirina pelê bawernameyan şaş e\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Borînpeyv şaş e\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Borînpeyva şîfrekirina pelê bawernameyan\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Tu dixwazî ​​pelê user_credentials.json şîfre bikî?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Borînpeyva şîfrekirina pelê bawernameyan\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Depo: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Guhertoya nû heye\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Têketina bê borînpeyv\"\n\nmsgid \"Second factor login\"\nmsgstr \"Têketina faktora duyemîn\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Tu dixwazî ​​Bluetooth saz bikî?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Tu dixwazî ​​Bluetooth saz bikî?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Rêvebiriya dabeşkirinê: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"Rastkirin\"\n\nmsgid \"Applications\"\nmsgstr \"Sepan\"\n\nmsgid \"U2F login method: \"\nmsgstr \"Rêbaza têketina U2F: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo ya bê borînpeyv: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Cûreya snapshot ê Btrfs: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Pergal tê hevdemkirin...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Nirx nabe ku vala be\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Cûreya snapshot\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Cûreya snapshot: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Sazkirina têketina U2F\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Amûrên U2F nehatin dîtin\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"Rêbaza têketina U2F\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Sudo bê borînpeyv çalak bike?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Sazkirina amûra U2F ji bo bikarhêner: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Dibe ku tu PIN têxînî û paşê amûrê xwe ya U2F bitikînî da ku wê tomar bikî\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Guhertinên amûrê dest pê dike di \"\n\nmsgid \"No network connection found\"\nmsgstr \"Tu Girêdanên torê nehatin dîtin\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Tu dixwazî bi Wifi ve girêdayî bibî?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Tu navrûya wifi nehat dîtin\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Tora wifi hilbijêre ku pê ve girê bidî\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Li torên wifi digere...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Tu torên wifi nehatin dîtin\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Sazkirina wifi têk çû\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Borînpeyva wifi têxîne\"\n\nmsgid \"Ok\"\nmsgstr \"Baş e\"\n\nmsgid \"Removable\"\nmsgstr \"Jêbirbar\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Li cîhê jêbirbar saz bike\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"Wê li /EFI/BOOT/ saz bike (cihê jêbirbar)\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"Wê bi têketina NVRAM li cîhê standard saz bike\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"Tu dixwazî barkarê destpêkirinê li cîhê lêgerîna medyaya jêbirbar ya berdest saz bikî?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Ev barkarê destpêkirinê li /EFI/BOOT/BOOTX64.EFI (an nêzîk) saz dike ku kêrhatî ye ji bo:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"Ajokarên USB an medyaya derveyî ya barkirî yên din.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Pergalên ku tu dixwazî dîskê li ser her kombersê destpêkbar be.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Firmware ku têketinên destpêkirina NVRAM bi rêkûpêk piştgirî nake.\"\n\n#, fuzzy\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"Wê li /EFI/BOOT/ saz bike (cihê jêbirbar)\"\n\n#, fuzzy\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"Wê bi têketina NVRAM li cîhê standard saz bike\"\n\n#, fuzzy\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Firmware ku têketinên destpêkirina NVRAM bi rêkûpêk piştgirî nake.\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Zimanê herêmî\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Tenê pakêtên wekî base, base-devel, linux, linux-firmware, efibootmgr û pakêtên profîlê yên vebijêrkî tên sazkirin.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Xaleke siwarkirinê hilbijêre:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/languages.json",
    "content": "[{\"abbr\": \"aa\", \"lang\": \"Afar\"},\n {\"abbr\": \"ab\", \"lang\": \"Abkhazian\"},\n {\"abbr\": \"af\", \"lang\": \"Afrikaans\"},\n {\"abbr\": \"ak\", \"lang\": \"Akan\"},\n {\"abbr\": \"am\", \"lang\": \"Amharic\"},\n {\"abbr\": \"ar\", \"lang\": \"Arabic\"},\n {\"abbr\": \"an\", \"lang\": \"Aragonese\"},\n {\"abbr\": \"as\", \"lang\": \"Assamese\"},\n {\"abbr\": \"av\", \"lang\": \"Avaric\"},\n {\"abbr\": \"ae\", \"lang\": \"Avestan\"},\n {\"abbr\": \"ay\", \"lang\": \"Aymara\"},\n {\"abbr\": \"az\", \"lang\": \"Azerbaijani\"},\n {\"abbr\": \"ba\", \"lang\": \"Bashkir\"},\n {\"abbr\": \"bm\", \"lang\": \"Bambara\"},\n {\"abbr\": \"be\", \"lang\": \"Belarusian\"},\n {\"abbr\": \"bn\", \"lang\": \"Bengali\"},\n {\"abbr\": \"bi\", \"lang\": \"Bislama\"},\n {\"abbr\": \"bo\", \"lang\": \"Tibetan\"},\n {\"abbr\": \"bs\", \"lang\": \"Bosnian\"},\n {\"abbr\": \"br\", \"lang\": \"Breton\"},\n {\"abbr\": \"bg\", \"lang\": \"Bulgarian\"},\n {\"abbr\": \"ca\", \"lang\": \"Catalan\"},\n {\"abbr\": \"cs\", \"lang\": \"Czech\", \"translated_lang\": \"čeština\"},\n {\"abbr\": \"ch\", \"lang\": \"Chamorro\"},\n {\"abbr\": \"ce\", \"lang\": \"Chechen\"},\n {\"abbr\": \"cu\", \"lang\": \"Church Slavic\"},\n {\"abbr\": \"cv\", \"lang\": \"Chuvash\"},\n {\"abbr\": \"kw\", \"lang\": \"Cornish\"},\n {\"abbr\": \"co\", \"lang\": \"Corsican\"},\n {\"abbr\": \"cr\", \"lang\": \"Cree\"},\n {\"abbr\": \"cy\", \"lang\": \"Welsh\"},\n {\"abbr\": \"da\", \"lang\": \"Danish\", \"translated_lang\": \"Dansk\"},\n {\"abbr\": \"de\", \"lang\": \"German\", \"translated_lang\":  \"Deutsch\"},\n {\"abbr\": \"dv\", \"lang\": \"Dhivehi\"},\n {\"abbr\": \"dz\", \"lang\": \"Dzongkha\"},\n {\"abbr\": \"el\", \"lang\": \"Modern Greek (1453-)\", \"translated_lang\": \"Ελληνικά\"},\n {\"abbr\": \"en\", \"lang\": \"English\"},\n {\"abbr\": \"eo\", \"lang\": \"Esperanto\"},\n {\"abbr\": \"et\", \"lang\": \"Estonian\", \"translated_lang\": \"Eesti\" },\n {\"abbr\": \"eu\", \"lang\": \"Basque\"},\n {\"abbr\": \"ee\", \"lang\": \"Ewe\"},\n {\"abbr\": \"fo\", \"lang\": \"Faroese\"},\n {\"abbr\": \"fa\", \"lang\": \"Persian\"},\n {\"abbr\": \"fj\", \"lang\": \"Fijian\"},\n {\"abbr\": \"fi\", \"lang\": \"Finnish\"},\n {\"abbr\": \"fr\", \"lang\": \"French\", \"translated_lang\": \"Français\"},\n {\"abbr\": \"fy\", \"lang\": \"Western Frisian\"},\n {\"abbr\": \"ff\", \"lang\": \"Fulah\"},\n {\"abbr\": \"gd\", \"lang\": \"Scottish Gaelic\"},\n {\"abbr\": \"ga\", \"lang\": \"Irish\"},\n {\"abbr\": \"gl\", \"lang\": \"Galician\"},\n {\"abbr\": \"gv\", \"lang\": \"Manx\"},\n {\"abbr\": \"gn\", \"lang\": \"Guarani\"},\n {\"abbr\": \"gu\", \"lang\": \"Gujarati\"},\n {\"abbr\": \"ht\", \"lang\": \"Haitian\"},\n {\"abbr\": \"ha\", \"lang\": \"Hausa\"},\n {\"abbr\": \"sh\", \"lang\": \"Serbo-Croatian\"},\n {\"abbr\": \"he\", \"lang\": \"Hebrew\"},\n {\"abbr\": \"hz\", \"lang\": \"Herero\"},\n {\"abbr\": \"hi\", \"lang\": \"Hindi\"},\n {\"abbr\": \"ho\", \"lang\": \"Hiri Motu\"},\n {\"abbr\": \"hr\", \"lang\": \"Croatian\"},\n {\"abbr\": \"hu\", \"lang\": \"Hungarian\"},\n {\"abbr\": \"hy\", \"lang\": \"Armenian\"},\n {\"abbr\": \"ig\", \"lang\": \"Igbo\"},\n {\"abbr\": \"io\", \"lang\": \"Ido\"},\n {\"abbr\": \"ii\", \"lang\": \"Sichuan Yi\"},\n {\"abbr\": \"iu\", \"lang\": \"Inuktitut\"},\n {\"abbr\": \"ie\", \"lang\": \"Interlingue\"},\n {\"abbr\": \"ia\", \"lang\": \"Interlingua (International Auxiliary Language Association)\"},\n {\"abbr\": \"id\", \"lang\": \"Indonesian\", \"translated_lang\": \"Indonesian\"},\n {\"abbr\": \"ik\", \"lang\": \"Inupiaq\"},\n {\"abbr\": \"is\", \"lang\": \"Icelandic\"},\n {\"abbr\": \"it\", \"lang\": \"Italian\", \"translated_lang\":  \"Italiano\"},\n {\"abbr\": \"jv\", \"lang\": \"Javanese\"},\n {\"abbr\": \"ja\", \"lang\": \"Japanese\"},\n {\"abbr\": \"kl\", \"lang\": \"Kalaallisut\"},\n {\"abbr\": \"kn\", \"lang\": \"Kannada\"},\n {\"abbr\": \"ks\", \"lang\": \"Kashmiri\"},\n {\"abbr\": \"ka\", \"lang\": \"Georgian\"},\n {\"abbr\": \"kr\", \"lang\": \"Kanuri\"},\n {\"abbr\": \"kk\", \"lang\": \"Kazakh\"},\n {\"abbr\": \"km\", \"lang\": \"Central Khmer\"},\n {\"abbr\": \"ki\", \"lang\": \"Kikuyu\"},\n {\"abbr\": \"rw\", \"lang\": \"Kinyarwanda\"},\n {\"abbr\": \"ky\", \"lang\": \"Kirghiz\"},\n {\"abbr\": \"kv\", \"lang\": \"Komi\"},\n {\"abbr\": \"kg\", \"lang\": \"Kongo\"},\n {\"abbr\": \"ko\", \"lang\": \"Korean\", \"translated_lang\": \"한글\", \"external_dep\": true},\n {\"abbr\": \"kj\", \"lang\": \"Kuanyama\"},\n {\"abbr\": \"ku\", \"lang\": \"Kurdish\"},\n {\"abbr\": \"lo\", \"lang\": \"Lao\"},\n {\"abbr\": \"la\", \"lang\": \"Latin\"},\n {\"abbr\": \"lv\", \"lang\": \"Latvian\"},\n {\"abbr\": \"li\", \"lang\": \"Limburgan\"},\n {\"abbr\": \"ln\", \"lang\": \"Lingala\"},\n {\"abbr\": \"lt\", \"lang\": \"Lithuanian\", \"translated_lang\": \"Lietuvių\"},\n {\"abbr\": \"lb\", \"lang\": \"Luxembourgish\"},\n {\"abbr\": \"lu\", \"lang\": \"Luba-Katanga\"},\n {\"abbr\": \"lg\", \"lang\": \"Ganda\"},\n {\"abbr\": \"mh\", \"lang\": \"Marshallese\"},\n {\"abbr\": \"ml\", \"lang\": \"Malayalam\"},\n {\"abbr\": \"mr\", \"lang\": \"Marathi\"},\n {\"abbr\": \"mk\", \"lang\": \"Macedonian\"},\n {\"abbr\": \"mg\", \"lang\": \"Malagasy\"},\n {\"abbr\": \"mt\", \"lang\": \"Maltese\"},\n {\"abbr\": \"mn\", \"lang\": \"Mongolian\"},\n {\"abbr\": \"mi\", \"lang\": \"Maori\"},\n {\"abbr\": \"ms\", \"lang\": \"Malay (macrolanguage)\"},\n {\"abbr\": \"my\", \"lang\": \"Burmese\"},\n {\"abbr\": \"na\", \"lang\": \"Nauru\"},\n {\"abbr\": \"nv\", \"lang\": \"Navajo\"},\n {\"abbr\": \"nr\", \"lang\": \"South Ndebele\"},\n {\"abbr\": \"nd\", \"lang\": \"North Ndebele\"},\n {\"abbr\": \"ng\", \"lang\": \"Ndonga\"},\n {\"abbr\": \"ne\", \"lang\": \"Nepali\", \"translated_lang\": \"नेपाली\"},\n {\"abbr\": \"nl\", \"lang\": \"Dutch\", \"translated_lang\": \"Nederlands\"},\n {\"abbr\": \"nn\", \"lang\": \"Norwegian Nynorsk\"},\n {\"abbr\": \"nb\", \"lang\": \"Norwegian Bokmål\"},\n {\"abbr\": \"no\", \"lang\": \"Norwegian\"},\n {\"abbr\": \"ny\", \"lang\": \"Nyanja\"},\n {\"abbr\": \"oc\", \"lang\": \"Occitan (post 1500)\"},\n {\"abbr\": \"oj\", \"lang\": \"Ojibwa\"},\n {\"abbr\": \"or\", \"lang\": \"Oriya (macrolanguage)\"},\n {\"abbr\": \"om\", \"lang\": \"Oromo\"},\n {\"abbr\": \"os\", \"lang\": \"Ossetian\"},\n {\"abbr\": \"pa\", \"lang\": \"Panjabi\"},\n {\"abbr\": \"pi\", \"lang\": \"Pali\"},\n {\"abbr\": \"pl\", \"lang\": \"Polish\", \"translated_lang\": \"Polski\"},\n {\"abbr\": \"pt\", \"lang\": \"Portuguese\", \"translated_lang\": \"Português\"},\n {\"abbr\": \"pt_BR\", \"lang\": \"Brazilian Portuguese\", \"translated_lang\": \"Português do Brasil\"},\n {\"abbr\": \"ps\", \"lang\": \"Pushto\"},\n {\"abbr\": \"qu\", \"lang\": \"Quechua\"},\n {\"abbr\": \"rm\", \"lang\": \"Romansh\"},\n {\"abbr\": \"ro\", \"lang\": \"Romanian\", \"translated_lang\": \"Română\"},\n {\"abbr\": \"rn\", \"lang\": \"Rundi\"},\n {\"abbr\": \"ru\", \"lang\": \"Russian\", \"translated_lang\":  \"Русский\"},\n {\"abbr\": \"sg\", \"lang\": \"Sango\"},\n {\"abbr\": \"sa\", \"lang\": \"Sanskrit\"},\n {\"abbr\": \"si\", \"lang\": \"Sinhala\"},\n {\"abbr\": \"sk\", \"lang\": \"Slovak\"},\n {\"abbr\": \"sl\", \"lang\": \"Slovenian\"},\n {\"abbr\": \"se\", \"lang\": \"Northern Sami\"},\n {\"abbr\": \"sm\", \"lang\": \"Samoan\"},\n {\"abbr\": \"sn\", \"lang\": \"Shona\"},\n {\"abbr\": \"sd\", \"lang\": \"Sindhi\"},\n {\"abbr\": \"so\", \"lang\": \"Somali\"},\n {\"abbr\": \"st\", \"lang\": \"Southern Sotho\"},\n {\"abbr\": \"es\", \"lang\": \"Spanish\", \"translated_lang\": \"Español\"},\n {\"abbr\": \"sq\", \"lang\": \"Albanian\"},\n {\"abbr\": \"sc\", \"lang\": \"Sardinian\"},\n {\"abbr\": \"sr\", \"lang\": \"Serbian\"},\n {\"abbr\": \"ss\", \"lang\": \"Swati\"},\n {\"abbr\": \"su\", \"lang\": \"Sundanese\"},\n {\"abbr\": \"sw\", \"lang\": \"Swahili (macrolanguage)\"},\n {\"abbr\": \"sv\", \"lang\": \"Swedish\", \"translated_lang\":  \"Svenska\"},\n {\"abbr\": \"ty\", \"lang\": \"Tahitian\"},\n {\"abbr\": \"ta\", \"lang\": \"Tamil\", \"translated_lang\":  \"தமிழ்\"},\n {\"abbr\": \"tt\", \"lang\": \"Tatar\"},\n {\"abbr\": \"te\", \"lang\": \"Telugu\"},\n {\"abbr\": \"tg\", \"lang\": \"Tajik\"},\n {\"abbr\": \"tl\", \"lang\": \"Tagalog\"},\n {\"abbr\": \"th\", \"lang\": \"Thai\"},\n {\"abbr\": \"ti\", \"lang\": \"Tigrinya\"},\n {\"abbr\": \"to\", \"lang\": \"Tonga (Tonga Islands)\"},\n {\"abbr\": \"tn\", \"lang\": \"Tswana\"},\n {\"abbr\": \"ts\", \"lang\": \"Tsonga\"},\n {\"abbr\": \"tk\", \"lang\": \"Turkmen\"},\n {\"abbr\": \"tr\", \"lang\": \"Turkish\", \"translated_lang\" :  \"Türkçe\"},\n {\"abbr\": \"tw\", \"lang\": \"Twi\"},\n {\"abbr\": \"ug\", \"lang\": \"Uighur\"},\n {\"abbr\": \"uk\", \"lang\": \"Ukrainian\"},\n {\"abbr\": \"ur\", \"lang\": \"Urdu\", \"translated_lang\": \"اردو\"},\n {\"abbr\": \"uz\", \"lang\": \"Uzbek\", \"translated_lang\": \"O'zbek\"},\n {\"abbr\": \"ve\", \"lang\": \"Venda\"},\n {\"abbr\": \"vi\", \"lang\": \"Vietnamese\"},\n {\"abbr\": \"vo\", \"lang\": \"Volapük\"},\n {\"abbr\": \"wa\", \"lang\": \"Walloon\"},\n {\"abbr\": \"wo\", \"lang\": \"Wolof\"},\n {\"abbr\": \"xh\", \"lang\": \"Xhosa\"},\n {\"abbr\": \"yi\", \"lang\": \"Yiddish\"},\n {\"abbr\": \"yo\", \"lang\": \"Yoruba\"},\n {\"abbr\": \"za\", \"lang\": \"Zhuang\"},\n {\"abbr\": \"zh-CN\", \"lang\": \"Simplified Chinese\", \"translated_lang\": \"简体中文\"},\n {\"abbr\": \"zh-TW\", \"lang\": \"Traditional Chinese\", \"translated_lang\": \"繁體中文\"},\n {\"abbr\": \"zu\", \"lang\": \"Zulu\"}]\n"
  },
  {
    "path": "archinstall/locales/locales_generator.sh",
    "content": "#!/usr/bin/env bash\nset -euo pipefail\n\ncd $(dirname \"$0\")/..\n\nfunction update_lang() {\n\tfile=${1}\n\n\techo \"Updating: ${file}\"\n\tpath=$(dirname \"${file}\")\n\tmsgmerge --quiet --no-location --width 512 --backup none --update \"${file}\" locales/base.pot\n\tmsgfmt -o \"${path}/base.mo\" \"${file}\"\n}\n\n\nfunction generate_all() {\n\tfor file in $(find locales/ -name \"base.po\"); do\n\t\tupdate_lang \"${file}\"\n\tdone\n}\n\nfunction generate_single_lang() {\n\tlang_file=\"locales/${1}/LC_MESSAGES/base.po\"\n\n\tif [ ! -f \"${lang_file}\" ]; then\n\t\techo \"Language files not found: ${lang_file}\"\n\t\texit 1\n\tfi\n\n\tupdate_lang \"${lang_file}\"\n}\n\n\nif [ $# -eq 0 ]; then\n\techo \"Usage: ${0} <language_abbr>\"\n\techo \"Special case 'all' for <language_abbr> builds all languages.\"\n\texit 1\nfi\n\nlang=${1}\n\n# Update the base file containing all translatable strings\nfind . -type f -iname \"*.py\" | xargs xgettext --join-existing --no-location --omit-header --keyword='tr' -d base -o locales/base.pot\n\ncase \"${lang}\" in\n\t\"all\") generate_all;;\n\t*) generate_single_lang \"${lang}\"\nesac\n"
  },
  {
    "path": "archinstall/locales/lt/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Florijan Demidov https://github.com/FlorijanDem \\n\"\n\"Language-Team: \\n\"\n\"Language: lt\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.3\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Žurnalo failas įrašytas čia: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Prašome pateiktį šitą problemą (ir failą) https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Ar jus noritė nutraukti?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"\"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"\"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"\"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"\"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Ar noritė padarity šitą vartotoją supervartotoju (sudoer)\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Išrinkite laiko zona\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Ar jus norėtum naudoti GRUB paleidyklė, o nė systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Išrinkite paleidyklė\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Išrinkite garso serverį\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Tiktai paketai tokie kaip: base, base-devel, linux, linux-firmware, efibootmgr ir neprivalomi paketai bus įdegtį.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"\"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"\"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"\"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"\"\n\nmsgid \"Current partition layout\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"\"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"\"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"\"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall liežuvis\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Išrinkite klaviatūros išdėstyma\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"\"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"\"\n\nmsgid \"Adding partition....\"\nmsgstr \"\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"\"\n\nmsgid \"Mirror region\"\nmsgstr \"\"\n\nmsgid \"Locale language\"\nmsgstr \"Lokalės liežuvis\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Lokalės koduotė\"\n\nmsgid \"Drive(s)\"\nmsgstr \"\"\n\nmsgid \"Disk layout\"\nmsgstr \"\"\n\nmsgid \"Encryption password\"\nmsgstr \"\"\n\nmsgid \"Swap\"\nmsgstr \"\"\n\nmsgid \"Bootloader\"\nmsgstr \"Paleidyklė\"\n\nmsgid \"Root password\"\nmsgstr \"Root Slaptažodis\"\n\nmsgid \"Superuser account\"\nmsgstr \"Supervartotojo paskirą\"\n\nmsgid \"User account\"\nmsgstr \"Vartotojo paskirą\"\n\nmsgid \"Profile\"\nmsgstr \"Profilis\"\n\nmsgid \"Audio\"\nmsgstr \"Garsas\"\n\nmsgid \"Kernels\"\nmsgstr \"Branduoliai\"\n\nmsgid \"Additional packages\"\nmsgstr \"\"\n\nmsgid \"Network configuration\"\nmsgstr \"Tinklo konfigūraciją\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Automatinė laiko sinchonizaciją\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Įdiegti ({} config(s) missing)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Padariti naują skaidinį\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Šalinti skaidinį\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Ištrinti/Šalinti visus skaidinius\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"\"\n\nmsgid \"Abort\"\nmsgstr \"Nutraukti\"\n\nmsgid \"Hostname\"\nmsgstr \"Pagrindinio kompiuterio vardas\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"\"\n\nmsgid \"Timezone\"\nmsgstr \"Laiko zona\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"\"\n\nmsgid \"Install\"\nmsgstr \"Įdiegti\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"Naudokit ESC tam, kad praleistį\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Iveskite slaptažodžį\"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"\"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"\"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"\"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Slaptažodis vartotojo \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Naudokit ESC tam, kad praleistį\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\nmsgid \"Cancel\"\nmsgstr \"\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"\"\n\nmsgid \"Add\"\nmsgstr \"Pridėti\"\n\nmsgid \"Copy\"\nmsgstr \"Kopijuoti\"\n\nmsgid \"Edit\"\nmsgstr \"Redaguoti\"\n\nmsgid \"Delete\"\nmsgstr \"Pašalinti\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"\"\n\nmsgid \"Add a user\"\nmsgstr \"Pridėti vartotoją\"\n\nmsgid \"Change password\"\nmsgstr \"Pakeisti slaptažodžį\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"\"\n\nmsgid \"Delete User\"\nmsgstr \"Pašalinti vartotoją\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\nmsgid \"User Name : \"\nmsgstr \"Vartotojo vardas :\"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"\"\n\nmsgid \"No network configuration\"\nmsgstr \"\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"\"\n\nmsgid \"No configuration\"\nmsgstr \"Nėra konfigūracijos\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Išsaugoti vartotojo konfigūraciją\"\n\nmsgid \"Save user credentials\"\nmsgstr \"\"\n\nmsgid \"Save disk layout\"\nmsgstr \"\"\n\nmsgid \"Save all\"\nmsgstr \"Išsaugoti viską\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"\"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"\"\n\nmsgid \"Optional repositories\"\nmsgstr \"\"\n\nmsgid \"Save configuration\"\nmsgstr \"Išsaugoti konfigūraciją\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"\"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"\"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \"\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \"\"\n\nmsgid \" with option {}\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\nmsgid \"Subvolume name \"\nmsgstr \"\"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"\"\n\nmsgid \"Subvolume options\"\nmsgstr \"\"\n\nmsgid \"Save\"\nmsgstr \"Išsaugoti\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"\"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"\"\n\nmsgid \"Continue\"\nmsgstr \"Tęsti\"\n\nmsgid \"yes\"\nmsgstr \"taip\"\n\nmsgid \"no\"\nmsgstr \"nė\"\n\nmsgid \"set: {}\"\nmsgstr \"\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"\"\n\nmsgid \"Add interface\"\nmsgstr \"\"\n\nmsgid \"Edit interface\"\nmsgstr \"\"\n\nmsgid \"Delete interface\"\nmsgstr \"\"\n\nmsgid \"Select interface to add\"\nmsgstr \"\"\n\nmsgid \"Manual configuration\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Paspauskite Enter tam, kad tęstį.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"\"\n\nmsgid \"Save and exit\"\nmsgstr \"\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\nmsgid \"No audio server\"\nmsgstr \"Bė garso serverio\"\n\nmsgid \"(default)\"\nmsgstr \"\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Naudokit ESC tam, kad praleistį\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\nmsgid \"Copy to: \"\nmsgstr \"Kopijuoti į: \"\n\nmsgid \"Edit: \"\nmsgstr \"Redaguoti: \"\n\nmsgid \"Key: \"\nmsgstr \"Raktas: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Redaguoti {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Pridėti: \"\n\nmsgid \"Value: \"\nmsgstr \"Reikšmė: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"\"\n\nmsgid \"Device\"\nmsgstr \"Įrenginys\"\n\nmsgid \"Size\"\nmsgstr \"Didis\"\n\nmsgid \"Free space\"\nmsgstr \"Laisva vietą\"\n\nmsgid \"Bus-type\"\nmsgstr \"\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"\"\n\nmsgid \"very weak\"\nmsgstr \"labai silpnas\"\n\nmsgid \"weak\"\nmsgstr \"silpnas\"\n\nmsgid \"moderate\"\nmsgstr \"vidutinis\"\n\nmsgid \"strong\"\nmsgstr \"geras\"\n\nmsgid \"Add subvolume\"\nmsgstr \"\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \"\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \"\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC tam, kad praleistį\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB tam, kad išrinktį\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"\"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"\"\n\nmsgid \"Current profile selection\"\nmsgstr \"\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"\"\n\nmsgid \"Change filesystem\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"\"\n\nmsgid \"Delete partition\"\nmsgstr \"Pašalinti skaidynį\"\n\nmsgid \"Partition\"\nmsgstr \"Skaidinys\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"\"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"\"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"\"\n\nmsgid \"Encryption type\"\nmsgstr \"\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"Skaidiniai\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"\"\n\nmsgid \"Unknown\"\nmsgstr \"Nežinomas\"\n\nmsgid \"Partition encryption\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \"\"\n\nmsgid \"← Back\"\nmsgstr \"← Atgal\"\n\nmsgid \"Disk encryption\"\nmsgstr \"\"\n\nmsgid \"Configuration\"\nmsgstr \"\"\n\nmsgid \"Password\"\nmsgstr \"Slaptažodis\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"\"\n\nmsgid \"Back\"\nmsgstr \"Atgal\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\nmsgid \"Installed packages\"\nmsgstr \"Įdiegti paketus\"\n\nmsgid \"Add profile\"\nmsgstr \"Pridėti profilį\"\n\nmsgid \"Edit profile\"\nmsgstr \"Redaguoti profilį\"\n\nmsgid \"Delete profile\"\nmsgstr \"Pašalinti profilį\"\n\nmsgid \"Profile name: \"\nmsgstr \"Profilio vardas: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"\"\n\nmsgid \"Create your own\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Vaizdo plokštės draiveris\"\n\nmsgid \"Greeter\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Disko konfigūraciją\"\n\nmsgid \"Profiles\"\nmsgstr \"\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Pridėti savo 'custom mirror'\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Select signature check option\"\nmsgstr \"\"\n\nmsgid \"Select signature option\"\nmsgstr \"\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"\"\n\nmsgid \"Defined\"\nmsgstr \"\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"\"\n\nmsgid \"Mirrors\"\nmsgstr \"\"\n\nmsgid \"Mirror regions\"\nmsgstr \"\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \"\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Locales\"\nmsgstr \"Lokalės\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Iš viso: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"\"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"\"\n\nmsgid \"Path\"\nmsgstr \"\"\n\nmsgid \"Manufacturer\"\nmsgstr \"\"\n\nmsgid \"Product\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"\"\n\nmsgid \"Type\"\nmsgstr \"\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \"\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \"\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Selected profiles: \"\nmsgstr \"Pašalinti profilį\"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"\"\n\nmsgid \"Use compression\"\nmsgstr \"\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Nėra konfigūracijos\"\n\n#, fuzzy\nmsgid \"LVM configuration type\"\nmsgstr \"Nėra konfigūracijos\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select a LVM option\"\nmsgstr \"Išrinkite laiko zona\"\n\n#, fuzzy\nmsgid \"Partitioning\"\nmsgstr \"Skaidinys\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\nmsgid \"LVM volumes\"\nmsgstr \"\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"\"\n\nmsgid \"Default layout\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No Encryption\"\nmsgstr \"Nėra konfigūracijos\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"taip\"\n\nmsgid \"No\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall liežuvis\"\n\nmsgid \" (default)\"\nmsgstr \"\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\nmsgid \"Mountpoint\"\nmsgstr \"\"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"Skaidinys\"\n\nmsgid \"Filesystem\"\nmsgstr \"\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"\"\n\nmsgid \"End (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Subvolume name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"Disko konfigūraciją\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"Lokalės liežuvis\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"\"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"Vartotojo vardas :\"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Ar noritė padarity šitą vartotoją supervartotoju (sudoer)\"\n\nmsgid \"Interfaces\"\nmsgstr \"\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"\"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"Bė garso serverio\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"Branduoliai\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"Redaguoti profilį\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"Pakeisti slaptažodžį\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Prašome pateiktį šitą problemą (ir failą) https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\nmsgid \"Select signature check\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"Išrinkite laiko zona\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Additional repositories\"\nmsgstr \"\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\nmsgid \"Signature check\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Iš viso: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"Įrenginys\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"Vartotojo vardas :\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"\"\n\nmsgid \"Loading packages...\"\nmsgstr \"\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"Pridėti savo 'custom mirror'\"\n\nmsgid \"Change custom repository\"\nmsgstr \"\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"Pagrindinio kompiuterio vardas\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"Pridėti savo 'custom mirror'\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"Išrinkite garso serverį\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"Pašalinti vartotoją\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"Išrinkite laiko zona\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"Pridėti savo 'custom mirror'\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"Pridėti savo 'custom mirror'\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"Pašalinti profilį\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"Bė garso serverio\"\n\nmsgid \"Custom repositories\"\nmsgstr \"\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Select on single select\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"Išrinkite laiko zona\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"Išrinkite laiko zona\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstall liežuvis\"\n\nmsgid \"Reboot system\"\nmsgstr \"\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Root Slaptažodis\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Pagrindinio kompiuterio vardas\"\n\nmsgid \"New version available\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Slaptažodis\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"\"\n\nmsgid \"Power management\"\nmsgstr \"\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Nėra konfigūracijos\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Iveskite slaptažodžį\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Tinklo konfigūraciją\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Iveskite slaptažodžį\"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Lokalės liežuvis\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Tiktai paketai tokie kaip: base, base-devel, linux, linux-firmware, efibootmgr ir neprivalomi paketai bus įdegtį.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/ne/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] यहाँ एउटा लग फाइल (log file) सिर्जना गरिएको छ: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    कृपया यो समस्या (र फाइल) यहाँ बुझाउनुहोस्: https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"के तपाईं साँच्चै रद्द गर्न चाहनुहुन्छ?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"र प्रमाणीकरणको लागि फेरि एक पटक: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"के तपाईं zram मा swap प्रयोग गर्न चाहनुहुन्छ?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"स्थापनाको लागि इच्छाएको होस्ट-नाम (hostname): \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"sudo विशेषाधिकार भएको सुपर-युजर (superuser) को लागि प्रयोगकर्ता-नाम: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"थप्नुपर्ने अन्य कुनै प्रयोगकर्ताहरू (कुनै नभए खाली छोड्नुहोस्): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"के यो प्रयोगकर्ता सुपर-युजर (sudoer) हुनुपर्छ?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"समय-क्षेत्र (timezone) चयन गर्नुहोस्\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"के तपाईं systemd-boot को सट्टा GRUB लाई बूटलोडरको रूपमा प्रयोग गर्न चाहनुहुन्छ?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"बूटलोडर (bootloader) रोज्नुहोस्\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"अडियो सर्भर (audio server) रोज्नुहोस्\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"base, base-devel, linux, linux-firmware, efibootmgr र वैकल्पिक प्रोफाइल प्याकेजहरू मात्र स्थापना गरिनेछ।\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"नोट: base-devel अब पूर्वनिर्धारित रूपमा स्थापना हुँदैन। यदि तपाईंलाई निर्माण उपकरणहरू (build tools) चाहिन्छ भने यहाँ थप्नुहोस्।\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"यदि तपाईं फायरफक्स वा क्रोमियम जस्ता वेब ब्राउजर चाहनुहुन्छ भने, अर्को प्रम्प्टमा उल्लेख गर्न सक्नुहुन्छ।\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"स्थापना गर्नका लागि थप प्याकेजहरू लेख्नुहोस् (स्पेसले छुट्याउनुहोस्, छोड्नको लागि खाली राख्नुहोस्): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO को नेटवर्क कन्फिगरेसन स्थापनामा प्रतिलिपि गर्नुहोस्\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager प्रयोग गर्नुहोस् (GNOME र KDE मा ग्राफिकल रूपमा इन्टरनेट कन्फिगर गर्न आवश्यक छ)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"कन्फिगर गर्नको लागि एउटा नेटवर्क इन्टरफेस चयन गर्नुहोस्\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"\\\"{}\\\" को लागि कुन मोड कन्फिगर गर्ने चयन गर्नुहोस् वा पूर्वनिर्धारित मोड \\\"{}\\\" प्रयोग गर्न छोड्नुहोस्\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"{} को लागि IP र सबनेट राख्नुहोस् (उदाहरण: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"तपाईंको गेटवे (राउटर) IP ठेगाना राख्नुहोस् वा कुनै नभए खाली छोड्नुहोस्: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"तपाईंको DNS सर्भरहरू राख्नुहोस् (स्पेसले छुट्याउनुहोस्, कुनै नभए खाली छोड्नुहोस्): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"तपाईंको मुख्य पार्टिसनले कुन फाइल-प्रणाली (filesystem) प्रयोग गर्ने चयन गर्नुहोस्\"\n\nmsgid \"Current partition layout\"\nmsgstr \"हालको पार्टिसन लेआउट (partition layout)\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"चयन गर्नुहोस् के गर्ने\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"पार्टिसनको लागि इच्छाएको फाइल-प्रणालीको प्रकार राख्नुहोस्\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"सुरुवात स्थान राख्नुहोस् (parted units मा: s, GB, %, आदि; पूर्वनिर्धारित: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"अन्त्य स्थान राख्नुहोस् (parted units मा: s, GB, %, आदि; उदाहरणका लागि: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} मा लामबद्ध (queued) पार्टिसनहरू छन्, यसले ती हटाउनेछ, के तपाईं पक्का हुनुहुन्छ?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"कुन पार्टिसनहरू मेटाउने हो, अनुक्रमणिका (index) अनुसार चयन गर्नुहोस्\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"कुन पार्टिसन कहाँ माउन्ट (mount) गर्ने हो, अनुक्रमणिका (index) अनुसार चयन गर्नुहोस्\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * पार्टिसन माउन्ट-पोइन्टहरू स्थापना भित्रका हुन्, उदाहरणका लागि बूट /boot हुनेछ।\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"पार्टिसन कहाँ माउन्ट गर्ने चयन गर्नुहोस् (माउन्ट-पोइन्ट हटाउन खाली छोड्नुहोस्): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"फर्म्याट (format) गर्नको लागि कुन पार्टिसन छान्ने हो, चयन गर्नुहोस्\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"कुन पार्टिसनलाई इन्क्रिप्टेड (encrypted) को रूपमा चिन्ह लगाउने हो, चयन गर्नुहोस्\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"कुन पार्टिसनलाई बूटयोग्य (bootable) को रूपमा चिन्ह लगाउने हो, चयन गर्नुहोस्\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"कुन पार्टिसनमा फाइल-प्रणाली (filesystem) सेट गर्ने हो, चयन गर्नुहोस्\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"पार्टिसनको लागि इच्छाएको फाइल-प्रणालीको प्रकार राख्नुहोस्: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall भाषा\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"सबै चयन गरिएका ड्राइभहरू सफा गर्नुहोस् र उत्तम-प्रयास पूर्वनिर्धारित पार्टिसन लेआउट प्रयोग गर्नुहोस्\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"प्रत्येक व्यक्तिगत ड्राइभसँग के गर्ने चयन गर्नुहोस् (पार्टिसन प्रयोग पछि)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"चयन गरिएका ब्लक उपकरणहरू (block devices) सँग तपाईं के गर्न चाहनुहुन्छ, चयन गर्नुहोस्\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"यो पूर्व-प्रोग्राम गरिएका प्रोफाइलहरूको सूची हो, यसले डेस्कटप वातावरण जस्ता चीजहरू स्थापना गर्न सजिलो बनाउन सक्छ\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"किबोर्ड लेआउट चयन गर्नुहोस्\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"प्याकेजहरू डाउनलोड गर्नका लागि क्षेत्रहरू मध्ये एक चयन गर्नुहोस्\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"प्रयोग र कन्फिगर गर्नको लागि एक वा बढी हार्ड ड्राइभहरू चयन गर्नुहोस्\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"तपाईंको AMD हार्डवेयरसँग उत्तम अनुकूलताको लागि, तपाईं कि त सबै खुला-स्रोत (open-source) वा AMD / ATI विकल्पहरू प्रयोग गर्न सक्नुहुन्छ।\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"तपाईंको Intel हार्डवेयरसँग उत्तम अनुकूलताको लागि, तपाईं कि त सबै खुला-स्रोत (open-source) वा Intel विकल्पहरू प्रयोग गर्न सक्नुहुन्छ।\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"तपाईंको Nvidia हार्डवेयरसँग उत्तम अनुकूलताको लागि, तपाईं Nvidia प्रोप्राइटरी ड्राइभर प्रयोग गर्न सक्नुहुन्छ।\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"ग्राफिक्स ड्राइभर चयन गर्नुहोस् वा सबै खुला-स्रोत ड्राइभरहरू स्थापना गर्न खाली छोड्नुहोस्\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"सबै खुला-स्रोत (पूर्वनिर्धारित)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"कुन कर्नलहरू (kernels) प्रयोग गर्ने रोज्नुहोस् वा पूर्वनिर्धारित \\\"{}\\\" को लागि खाली छोड्नुहोस्\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"कुन लोकेल (locale) भाषा प्रयोग गर्ने रोज्नुहोस्\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"कुन लोकेल इन्कोडिङ (locale encoding) प्रयोग गर्ने रोज्नुहोस्\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"तल देखाइएका मानहरू मध्ये एक चयन गर्नुहोस्: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"तलका विकल्पहरू मध्ये एक वा बढी चयन गर्नुहोस्: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"पार्टिसन थपिँदैछ....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"अगाडि बढ्नको लागि तपाईंले मान्य फाइल-प्रणाली प्रकार (fs-type) प्रविष्ट गर्नुपर्छ। मान्य प्रकारहरूको लागि `man parted` हेर्नुहोस्।\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"त्रुटि: URL \\\"{}\\\" मा प्रोफाइलहरू सूचीबद्ध गर्दा यो परिणाम आयो:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"त्रुटि: \\\"{}\\\" परिणामलाई JSON को रूपमा डिकोड गर्न सकिएन:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"किबोर्ड लेआउट\"\n\nmsgid \"Mirror region\"\nmsgstr \"मिरर क्षेत्र (Mirror region)\"\n\nmsgid \"Locale language\"\nmsgstr \"लोकेल भाषा\"\n\nmsgid \"Locale encoding\"\nmsgstr \"लोकेल इन्कोडिङ\"\n\nmsgid \"Drive(s)\"\nmsgstr \"ड्राइभ(हरू)\"\n\nmsgid \"Disk layout\"\nmsgstr \"डिस्क लेआउट\"\n\nmsgid \"Encryption password\"\nmsgstr \"इन्क्रिप्सन पासवर्ड\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"बूटलोडर\"\n\nmsgid \"Root password\"\nmsgstr \"रूट (Root) पासवर्ड\"\n\nmsgid \"Superuser account\"\nmsgstr \"सुपर-युजर खाता\"\n\nmsgid \"User account\"\nmsgstr \"प्रयोगकर्ता खाता\"\n\nmsgid \"Profile\"\nmsgstr \"प्रोफाइल\"\n\nmsgid \"Audio\"\nmsgstr \"अडियो\"\n\nmsgid \"Kernels\"\nmsgstr \"कर्नलहरू (Kernels)\"\n\nmsgid \"Additional packages\"\nmsgstr \"थप प्याकेजहरू\"\n\nmsgid \"Network configuration\"\nmsgstr \"नेटवर्क कन्फिगरेसन\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"स्वचालित समय सिङ्क्रोनाइजेसन (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"स्थापना गर्नुहोस् ({} कन्फिगरेसन बाँकी)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"तपाईंले हार्ड-ड्राइभ चयन छोड्ने निर्णय गर्नुभयो\\n\"\n\"र {} मा माउन्ट गरिएको जुनकुनै ड्राइभ-सेटअप प्रयोग गरिनेछ (प्रयोगात्मक)\\n\"\n\"चेतावनी: Archinstall ले यो सेटअपको उपयुक्तता जाँच गर्ने छैन\\n\"\n\"के तपाईं जारी राख्न चाहनुहुन्छ?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"पार्टिसन उदाहरण पुन: प्रयोग गरिँदै: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"नयाँ पार्टिसन सिर्जना गर्नुहोस्\"\n\nmsgid \"Delete a partition\"\nmsgstr \"पार्टिसन मेटाउनुहोस्\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"सबै पार्टिसनहरू सफा गर्नुहोस्/मेटाउनुहोस्\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"पार्टिसनको लागि माउन्ट-पोइन्ट तोक्नुहोस्\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"पार्टिसन फर्म्याट गर्नको लागि चिन्ह लगाउनुहोस् वा हटाउनुहोस् (डाटा मेटिनेछ)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"पार्टिसनलाई इन्क्रिप्टेडको रूपमा चिन्ह लगाउनुहोस् वा हटाउनुहोस्\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"पार्टिसनलाई बूटयोग्य (bootable) को रूपमा चिन्ह लगाउनुहोस् वा हटाउनुहोस् (/boot को लागि स्वचालित)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"पार्टिसनको लागि इच्छाएको फाइल-प्रणाली (filesystem) सेट गर्नुहोस्\"\n\nmsgid \"Abort\"\nmsgstr \"रद्द गर्नुहोस्\"\n\nmsgid \"Hostname\"\nmsgstr \"होस्टनाम (Hostname)\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"कन्फिगर गरिएको छैन, म्यानुअल रूपमा सेटअप नगरेसम्म उपलब्ध हुने छैन\"\n\nmsgid \"Timezone\"\nmsgstr \"समय-क्षेत्र (Timezone)\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"तलका विकल्पहरू सेट वा परिमार्जन गर्नुहोस्\"\n\nmsgid \"Install\"\nmsgstr \"स्थापना गर्नुहोस्\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"छोड्नको लागि ESC प्रयोग गर्नुहोस्\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"पार्टिसन लेआउट सुझाव दिनुहोस्\"\n\nmsgid \"Enter a password: \"\nmsgstr \"पासवर्ड राख्नुहोस्: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"{} को लागि इन्क्रिप्सन पासवर्ड राख्नुहोस्\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"डिस्क इन्क्रिप्सन पासवर्ड राख्नुहोस् (इन्क्रिप्सन नचाहिएमा खाली छोड्नुहोस्): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"sudo विशेषाधिकार भएको आवश्यक सुपर-युजर (superuser) सिर्जना गर्नुहोस्: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"रूट (root) पासवर्ड राख्नुहोस् (रूट असक्षम गर्न खाली छोड्नुहोस्): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"प्रयोगकर्ता \\\"{}\\\" को लागि पासवर्ड: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"थप प्याकेजहरू अवस्थित छन् कि छैनन् भनेर प्रमाणित गरिँदैछ (यसले केही सेकेन्ड लिन सक्छ)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"के तपाईं पूर्वनिर्धारित समय सर्भरहरूसँग स्वचालित समय सिङ्क्रोनाइजेसन (NTP) प्रयोग गर्न चाहनुहुन्छ?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP ले काम गर्नको लागि हार्डवेयर समय र अन्य पोस्ट-कन्फिगरेसन चरणहरू आवश्यक पर्न सक्छ।\\n\"\n\"थप जानकारीको लागि, कृपया Arch wiki जाँच गर्नुहोस्\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"थप प्रयोगकर्ता सिर्जना गर्न प्रयोगकर्ता-नाम राख्नुहोस् (छोड्नको लागि खाली छोड्नुहोस्): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"छोड्नको लागि ESC प्रयोग गर्नुहोस्\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" सूचीबाट एउटा वस्तु छान्नुहोस्, र यसलाई कार्यान्वयन गर्न उपलब्ध कार्यहरू मध्ये एउटा चयन गर्नुहोस्\"\n\nmsgid \"Cancel\"\nmsgstr \"रद्द गर्नुहोस्\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"पुष्टि गर्नुहोस् र बाहिर निस्कनुहोस्\"\n\nmsgid \"Add\"\nmsgstr \"थप्नुहोस्\"\n\nmsgid \"Copy\"\nmsgstr \"प्रतिलिपि गर्नुहोस्\"\n\nmsgid \"Edit\"\nmsgstr \"सम्पादन गर्नुहोस्\"\n\nmsgid \"Delete\"\nmsgstr \"मेटाउनुहोस्\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"'{}' को लागि एउटा कार्य चयन गर्नुहोस्\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"नयाँ कुञ्जी (key) मा प्रतिलिपि गर्नुहोस्:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"अज्ञात nic प्रकार: {}। सम्भावित मानहरू {} हुन्\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"यो तपाईंले रोज्नुभएको कन्फिगरेसन हो:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman पहिले नै चलिरहेको छ, यसलाई बन्द हुनको लागि अधिकतम १० मिनेट पर्खिँदैछ।\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"पहिले देखिको pacman लक हटेन। कृपया archinstall प्रयोग गर्नु अघि अवस्थित कुनै पनि pacman सेसनहरू बन्द गर्नुहोस्।\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"सक्षम गर्नका लागि कुन वैकल्पिक थप रिपोजिटरीहरू (repositories) रोज्ने हो, चयन गर्नुहोस्\"\n\nmsgid \"Add a user\"\nmsgstr \"प्रयोगकर्ता थप्नुहोस्\"\n\nmsgid \"Change password\"\nmsgstr \"पासवर्ड परिवर्तन गर्नुहोस्\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"प्रयोगकर्तालाई बढावा/घटावा (Promote/Demote) गर्नुहोस्\"\n\nmsgid \"Delete User\"\nmsgstr \"प्रयोगकर्ता मेटाउनुहोस्\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"नयाँ प्रयोगकर्ता परिभाषित गर्नुहोस्\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"प्रयोगकर्ताको नाम : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"के {} सुपर-युजर (sudoer) हुनुपर्छ?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"sudo विशेषाधिकार भएका प्रयोगकर्ताहरू परिभाषित गर्नुहोस्: \"\n\nmsgid \"No network configuration\"\nmsgstr \"कुनै नेटवर्क कन्फिगरेसन छैन\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"btrfs पार्टिसनमा इच्छाएको सब-भोल्युमहरू (subvolumes) सेट गर्नुहोस्\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"कुन पार्टिसनमा सब-भोल्युमहरू सेट गर्ने हो, चयन गर्नुहोस्\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"हालको पार्टिसनको लागि btrfs सब-भोल्युमहरू व्यवस्थित गर्नुहोस्\"\n\nmsgid \"No configuration\"\nmsgstr \"कुनै कन्फिगरेसन छैन\"\n\nmsgid \"Save user configuration\"\nmsgstr \"प्रयोगकर्ता कन्फिगरेसन बचत गर्नुहोस्\"\n\nmsgid \"Save user credentials\"\nmsgstr \"प्रयोगकर्ताका पत्यारपत्रहरू (credentials) बचत गर्नुहोस्\"\n\nmsgid \"Save disk layout\"\nmsgstr \"डिस्क लेआउट बचत गर्नुहोस्\"\n\nmsgid \"Save all\"\nmsgstr \"सबै बचत गर्नुहोस्\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"कुन कन्फिगरेसन बचत गर्ने रोज्नुहोस्\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"कन्फिगरेसन बचत गर्नको लागि एउटा डाइरेक्टरी प्रविष्ट गर्नुहोस्: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"मान्य डाइरेक्टरी होइन: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"तपाईंले प्रयोग गरिरहनुभएको पासवर्ड कमजोर देखिन्छ,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"के तपाईं निश्चित रूपमा यसलाई प्रयोग गर्न चाहनुहुन्छ?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"वैकल्पिक रिपोजिटरीहरू (Optional repositories)\"\n\nmsgid \"Save configuration\"\nmsgstr \"कन्फिगरेसन बचत गर्नुहोस्\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"छुटिरहेका कन्फिगरेसनहरू:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"कि त रूट-पासवर्ड वा कम्तिमा १ सुपर-युजर (superuser) उल्लेख गर्नुपर्छ\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"सुपर-युजर खाताहरू व्यवस्थापन गर्नुहोस्: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"साधारण प्रयोगकर्ता खाताहरू व्यवस्थापन गर्नुहोस्: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" उप-भोल्युम :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" {:16} मा माउन्ट गरिएको\"\n\nmsgid \" with option {}\"\nmsgstr \" विकल्प {} सँग\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" नयाँ उप-भोल्युमको लागि इच्छाएको मानहरू भर्नुहोस् \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"उप-भोल्युमको नाम \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"उप-भोल्युम माउन्ट-पोइन्ट\"\n\nmsgid \"Subvolume options\"\nmsgstr \"उप-भोल्युम विकल्पहरू\"\n\nmsgid \"Save\"\nmsgstr \"बचत गर्नुहोस्\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"उप-भोल्युमको नाम :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"माउन्ट पोइन्ट चयन गर्नुहोस् :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"इच्छाएको उप-भोल्युम विकल्पहरू चयन गर्नुहोस् \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"प्रयोगकर्ता-नाम मार्फत sudo विशेषाधिकार भएका प्रयोगकर्ताहरू परिभाषित गर्नुहोस्: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] यहाँ एउटा लग फाइल सिर्जना गरिएको छ: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"के तपाईं पूर्वनिर्धारित ढाँचामा BTRFS उप-भोल्युमहरू प्रयोग गर्न चाहनुहुन्छ?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"के तपाईं BTRFS कम्प्रेसन (compression) प्रयोग गर्न चाहनुहुन्छ?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"के तपाईं /home को लागि छुट्टै पार्टिसन सिर्जना गर्न चाहनुहुन्छ?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"चयन गरिएका ड्राइभहरूमा स्वचालित सुझावको लागि आवश्यक न्यूनतम क्षमता छैन\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"/home पार्टिसनको लागि न्यूनतम क्षमता: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Arch Linux पार्टिसनको लागि न्यूनतम क्षमता: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"जारी राख्नुहोस्\"\n\nmsgid \"yes\"\nmsgstr \"हो\"\n\nmsgid \"no\"\nmsgstr \"होइन\"\n\nmsgid \"set: {}\"\nmsgstr \"सेट: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"म्यानुअल कन्फिगरेसन सेटिङ एउटा सूची (list) हुनुपर्छ\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"म्यानुअल कन्फिगरेसनको लागि कुनै iface उल्लेख गरिएको छैन\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"स्वचालित DHCP बिनाको म्यानुअल nic कन्फिगरेसनको लागि IP ठेगाना आवश्यक पर्छ\"\n\nmsgid \"Add interface\"\nmsgstr \"इन्टरफेस थप्नुहोस्\"\n\nmsgid \"Edit interface\"\nmsgstr \"इन्टरफेस सम्पादन गर्नुहोस्\"\n\nmsgid \"Delete interface\"\nmsgstr \"इन्टरफेस मेटाउनुहोस्\"\n\nmsgid \"Select interface to add\"\nmsgstr \"थप्नको लागि इन्टरफेस चयन गर्नुहोस्\"\n\nmsgid \"Manual configuration\"\nmsgstr \"म्यानुअल कन्फिगरेसन\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"पार्टिसनलाई कम्प्रेस्ड (compressed) को रूपमा चिन्ह लगाउनुहोस् वा हटाउनुहोस् (btrfs को लागि मात्र)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"तपाईंले प्रयोग गरिरहनुभएको पासवर्ड कमजोर देखिन्छ, के तपाईं निश्चित रूपमा यसलाई प्रयोग गर्न चाहनुहुन्छ?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"डेस्कटप वातावरण र टाइलिङ विन्डो प्रबन्धकहरूको छनोट प्रदान गर्दछ, जस्तै: gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"आफ्नो इच्छाएको डेस्कटप वातावरण चयन गर्नुहोस्\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"एकदमै आधारभूत स्थापना जसले तपाईंलाई आफ्नो आवश्यकता अनुसार Arch Linux कस्टमाइज गर्न अनुमति दिन्छ।\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"स्थापना र सक्षम गर्नका लागि विभिन्न सर्भर प्याकेजहरूको छनोट प्रदान गर्दछ, जस्तै: httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"कुन सर्भरहरू स्थापना गर्ने रोज्नुहोस्, यदि कुनै पनि रोजिएन भने न्यूनतम (minimal) स्थापना गरिनेछ\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"न्यूनतम प्रणालीको साथै xorg र ग्राफिक्स ड्राइभरहरू स्थापना गर्दछ।\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"अगाडि बढ्नको लागि Enter थिच्नुहोस्।\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"के तपाईं भर्खरै सिर्जना गरिएको स्थापनामा chroot गरेर स्थापना-पश्चातको कन्फिगरेसन गर्न चाहनुहुन्छ?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"के तपाईं पक्का यो सेटिङ रिसेट गर्न चाहनुहुन्छ?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"प्रयोग र कन्फिगर गर्नको लागि एक वा बढी हार्ड ड्राइभहरू चयन गर्नुहोस्\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"अवस्थित सेटिङमा कुनै पनि परिमार्जनले डिस्क लेआउटलाई रिसेट गर्नेछ!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"यदि तपाईंले हार्ड-ड्राइभ चयन रिसेट गर्नुभयो भने यसले हालको डिस्क लेआउट पनि रिसेट गर्नेछ। के तपाईं पक्का हुनुहुन्छ?\"\n\nmsgid \"Save and exit\"\nmsgstr \"बचत गर्नुहोस् र बाहिर निस्कनुहोस्\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"मा लामबद्ध पार्टिसनहरू छन्, यसले ती हटाउनेछ, के तपाईं पक्का हुनुहुन्छ?\"\n\nmsgid \"No audio server\"\nmsgstr \"कुनै अडियो सर्भर छैन\"\n\nmsgid \"(default)\"\nmsgstr \"(पूर्वनिर्धारित)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"छोड्नको लागि ESC प्रयोग गर्नुहोस्\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"हालको चयन रिसेट गर्न CTRL+C प्रयोग गर्नुहोस्\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"यसमा प्रतिलिपि गर्नुहोस्: \"\n\nmsgid \"Edit: \"\nmsgstr \"सम्पादन: \"\n\nmsgid \"Key: \"\nmsgstr \"कुञ्जी (Key): \"\n\nmsgid \"Edit {}: \"\nmsgstr \"सम्पादन {}: \"\n\nmsgid \"Add: \"\nmsgstr \"थप्नुहोस्: \"\n\nmsgid \"Value: \"\nmsgstr \"मान (Value): \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"तपाईं ड्राइभ चयन र पार्टिसन गर्ने प्रक्रिया छोडेर /mnt मा माउन्ट गरिएको जुनकुनै ड्राइभ-सेटअप प्रयोग गर्न सक्नुहुन्छ (प्रयोगात्मक)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"डिस्कहरू मध्ये एक चयन गर्नुहोस् वा छोडेर /mnt लाई पूर्वनिर्धारितको रूपमा प्रयोग गर्नुहोस्\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"फर्म्याट गर्नका लागि कुन पार्टिसनहरू चिन्ह लगाउने हो, चयन गर्नुहोस्:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"इन्क्रिप्टेड ड्राइभ अनलक गर्न HSM प्रयोग गर्नुहोस्\"\n\nmsgid \"Device\"\nmsgstr \"उपकरण (Device)\"\n\nmsgid \"Size\"\nmsgstr \"साइज\"\n\nmsgid \"Free space\"\nmsgstr \"खाली ठाउँ\"\n\nmsgid \"Bus-type\"\nmsgstr \"बस-प्रकार (Bus-type)\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"कि त रूट-पासवर्ड वा कम्तिमा १ sudo विशेषाधिकार भएको प्रयोगकर्ता उल्लेख गर्नुपर्छ\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"प्रयोगकर्ता-नाम प्रविष्ट गर्नुहोस् (छोड्नको लागि खाली छोड्नुहोस्): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"तपाईंले प्रविष्ट गर्नुभएको प्रयोगकर्ता-नाम अमान्य छ। फेरि प्रयास गर्नुहोस्\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"के \\\"{}\\\" सुपर-युजर (sudo) हुनुपर्छ?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"कुन पार्टिसनहरू इन्क्रिप्ट गर्ने हो, चयन गर्नुहोस्\"\n\nmsgid \"very weak\"\nmsgstr \"एकदमै कमजोर\"\n\nmsgid \"weak\"\nmsgstr \"कमजोर\"\n\nmsgid \"moderate\"\nmsgstr \"मध्यम\"\n\nmsgid \"strong\"\nmsgstr \"बलियो\"\n\nmsgid \"Add subvolume\"\nmsgstr \"सब-भोल्युम थप्नुहोस्\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"सब-भोल्युम सम्पादन गर्नुहोस्\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"सब-भोल्युम मेटाउनुहोस्\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"{} इन्टरफेसहरू कन्फिगर गरियो\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"यो विकल्पले स्थापनाको क्रममा हुन सक्ने समानान्तर डाउनलोड (parallel downloads) को संख्या सक्षम पार्छ\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"सक्षम गरिने समानान्तर डाउनलोडको संख्या प्रविष्ट गर्नुहोस्।\\n\"\n\" (१ देखि {} सम्मको मान प्रविष्ट गर्नुहोस्)\\n\"\n\"द्रष्टव्य:\"\n\n#, fuzzy\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - अधिकतम मान    : {} ( यसले {} समानान्तर डाउनलोड र एक पटकमा {} डाउनलोड अनुमति दिन्छ )\"\n\n#, fuzzy\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - न्यूनतम मान    : १ ( यसले १ समानान्तर डाउनलोड र एक पटकमा २ डाउनलोड अनुमति दिन्छ )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - असक्षम/पूर्वनिर्धारित : ० ( समानान्तर डाउनलोड असक्षम गर्छ, एक पटकमा १ डाउनलोड मात्र अनुमति दिन्छ )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"अमान्य इनपुट! मान्य इनपुटको साथ पुन: प्रयास गर्नुहोस् [१ देखि {max_downloads}, वा असक्षम गर्न ०]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"समानान्तर डाउनलोडहरू (Parallel Downloads)\"\n\nmsgid \"ESC to skip\"\nmsgstr \"छोड्नको लागि ESC\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"रिसेट गर्न CTRL+C\"\n\nmsgid \"TAB to select\"\nmsgstr \"चयन गर्न TAB\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[पूर्वनिर्धारित मान: ०] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"यो अनुवाद प्रयोग गर्न सक्षम हुनको लागि, कृपया यो भाषा समर्थन गर्ने फन्ट म्यानुअल रूपमा स्थापना गर्नुहोस्।\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"फन्ट {} को रूपमा भण्डारण गरिनुपर्छ\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall चलाउन रूट (root) विशेषाधिकार चाहिन्छ। थप जानकारीको लागि --help हेर्नुहोस्।\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"कार्यान्वयन मोड (execution mode) चयन गर्नुहोस्\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"उल्लेख गरिएको url बाट प्रोफाइल प्राप्त गर्न असमर्थ: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"प्रोफाइलहरूको नाम अद्वितीय हुनुपर्छ, तर दोहोरिएको नाम भएका प्रोफाइल परिभाषाहरू फेला परे: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"प्रयोग र कन्फिगर गर्नको लागि एक वा बढी उपकरणहरू चयन गर्नुहोस्\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"यदि तपाईंले उपकरण चयन रिसेट गर्नुभयो भने यसले हालको डिस्क लेआउट पनि रिसेट गर्नेछ। के तपाईं पक्का हुनुहुन्छ?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"अवस्थित पार्टिसनहरू\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"पार्टिसनिङ विकल्प चयन गर्नुहोस्\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"माउन्ट गरिएका उपकरणहरूको रूट डाइरेक्टरी प्रविष्ट गर्नुहोस्: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"/home पार्टिसनको लागि न्यूनतम क्षमता: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Arch Linux पार्टिसनको लागि न्यूनतम क्षमता: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"यो पूर्व-प्रोग्राम गरिएका प्रोफाइलहरूको सूची हो, यसले डेस्कटप वातावरण जस्ता चीजहरू स्थापना गर्न सजिलो बनाउन सक्छ\"\n\nmsgid \"Current profile selection\"\nmsgstr \"हालको प्रोफाइल चयन\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"भर्खरै थपिएका सबै पार्टिसनहरू हटाउनुहोस्\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"माउन्ट-पोइन्ट तोक्नुहोस्\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"फर्म्याट गर्नको लागि चिन्ह लगाउनुहोस् वा हटाउनुहोस् (डाटा मेटिनेछ)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"बूटयोग्यको रूपमा चिन्ह लगाउनुहोस् वा हटाउनुहोस्\"\n\nmsgid \"Change filesystem\"\nmsgstr \"फाइल-प्रणाली परिवर्तन गर्नुहोस्\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"कम्प्रेस्डको रूपमा चिन्ह लगाउनुहोस् वा हटाउनुहोस्\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"सब-भोल्युमहरू सेट गर्नुहोस्\"\n\nmsgid \"Delete partition\"\nmsgstr \"पार्टिसन मेटाउनुहोस्\"\n\nmsgid \"Partition\"\nmsgstr \"पार्टिसन\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"यो पार्टिसन हाल इन्क्रिप्टेड छ, यसलाई फर्म्याट गर्नको लागि फाइल-प्रणाली उल्लेख गर्नुपर्छ\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"पार्टिसन माउन्ट-पोइन्टहरू स्थापना भित्रका हुन्, उदाहरणका लागि बूट /boot हुनेछ।\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"यदि माउन्ट-पोइन्ट /boot सेट गरियो भने, पार्टिसनलाई बूटयोग्यको रूपमा पनि चिन्ह लगाइनेछ।\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"माउन्ट-पोइन्ट: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"उपकरण {} मा हालका खाली सेक्टरहरू (sectors):\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"कुल सेक्टरहरू: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"सुरुवात सेक्टर प्रविष्ट गर्नुहोस् (पूर्वनिर्धारित: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"पार्टिसनको अन्त्य सेक्टर प्रविष्ट गर्नुहोस् (प्रतिशत वा ब्लक नम्बर, पूर्वनिर्धारित: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"यसले भर्खरै थपिएका सबै पार्टिसनहरू हटाउनेछ, जारी राख्ने?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"पार्टिसन व्यवस्थापन: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"\"\n\nmsgid \"Encryption type\"\nmsgstr \"\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"\"\n\nmsgid \"Unknown\"\nmsgstr \"\"\n\nmsgid \"Partition encryption\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \"\"\n\nmsgid \"← Back\"\nmsgstr \"\"\n\nmsgid \"Disk encryption\"\nmsgstr \"डिस्क इन्क्रिप्सन\"\n\nmsgid \"Configuration\"\nmsgstr \"\"\n\nmsgid \"Password\"\nmsgstr \"पासवर्ड\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"\"\n\nmsgid \"Back\"\nmsgstr \"पछाडि\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\nmsgid \"Installed packages\"\nmsgstr \"\"\n\nmsgid \"Add profile\"\nmsgstr \"\"\n\nmsgid \"Edit profile\"\nmsgstr \"\"\n\nmsgid \"Delete profile\"\nmsgstr \"\"\n\nmsgid \"Profile name: \"\nmsgstr \"\"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"\"\n\nmsgid \"Create your own\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Graphics driver\"\nmsgstr \"\"\n\nmsgid \"Greeter\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"\"\n\nmsgid \"Disk configuration\"\nmsgstr \"\"\n\nmsgid \"Profiles\"\nmsgstr \"\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"\"\n\nmsgid \"Select signature check option\"\nmsgstr \"\"\n\nmsgid \"Select signature option\"\nmsgstr \"\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"\"\n\nmsgid \"Defined\"\nmsgstr \"\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"\"\n\nmsgid \"Mirrors\"\nmsgstr \"\"\n\nmsgid \"Mirror regions\"\nmsgstr \"\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \"\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Locales\"\nmsgstr \"\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"\"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"\"\n\nmsgid \"Path\"\nmsgstr \"\"\n\nmsgid \"Manufacturer\"\nmsgstr \"\"\n\nmsgid \"Product\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"\"\n\nmsgid \"Type\"\nmsgstr \"\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \"\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \"\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"\"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"\"\n\nmsgid \"Use compression\"\nmsgstr \"\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"\"\n\nmsgid \"Partitioning\"\nmsgstr \"\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\nmsgid \"LVM volumes\"\nmsgstr \"\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"\"\n\nmsgid \"Default layout\"\nmsgstr \"\"\n\nmsgid \"No Encryption\"\nmsgstr \"\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\nmsgid \"Yes\"\nmsgstr \"\"\n\nmsgid \"No\"\nmsgstr \"होइन\"\n\nmsgid \"Archinstall help\"\nmsgstr \"\"\n\nmsgid \" (default)\"\nmsgstr \"\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\nmsgid \"Mountpoint\"\nmsgstr \"\"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"\"\n\nmsgid \"Partition - New\"\nmsgstr \"\"\n\nmsgid \"Filesystem\"\nmsgstr \"\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"\"\n\nmsgid \"End (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Subvolume name\"\nmsgstr \"\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\nmsgid \"Select language\"\nmsgstr \"\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"\"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"\"\n\nmsgid \"Username\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"\"\n\nmsgid \"Interfaces\"\nmsgstr \"\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"\"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"\"\n\nmsgid \"DNS servers\"\nmsgstr \"\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"\"\n\nmsgid \"Kernel\"\nmsgstr \"\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\nmsgid \"Main profile\"\nmsgstr \"\"\n\nmsgid \"Confirm password\"\nmsgstr \"\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"\"\n\nmsgid \"Mirror name\"\nmsgstr \"\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\nmsgid \"Select signature check\"\nmsgstr \"\"\n\nmsgid \"Select execution mode\"\nmsgstr \"\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Additional repositories\"\nmsgstr \"\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\nmsgid \"Signature check\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"\"\n\nmsgid \"HSM device\"\nmsgstr \"\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\nmsgid \"User\"\nmsgstr \"प्रयोगकर्ता\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"\"\n\nmsgid \"Loading packages...\"\nmsgstr \"\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"\"\n\nmsgid \"Change custom repository\"\nmsgstr \"\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"\"\n\nmsgid \"Repository name\"\nmsgstr \"\"\n\nmsgid \"Add a custom server\"\nmsgstr \"\"\n\nmsgid \"Change custom server\"\nmsgstr \"\"\n\nmsgid \"Delete custom server\"\nmsgstr \"\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\nmsgid \"Select regions\"\nmsgstr \"\"\n\nmsgid \"Add custom servers\"\nmsgstr \"\"\n\nmsgid \"Add custom repository\"\nmsgstr \"\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"\"\n\nmsgid \"Custom servers\"\nmsgstr \"\"\n\nmsgid \"Custom repositories\"\nmsgstr \"\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Select on single select\"\nmsgstr \"\"\n\nmsgid \"Select on multi select\"\nmsgstr \"\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"\"\n\nmsgid \"Reboot system\"\nmsgstr \"\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"\"\n\nmsgid \"Incorrect password\"\nmsgstr \"\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"\"\n\nmsgid \"New version available\"\nmsgstr \"\"\n\nmsgid \"Passwordless login\"\nmsgstr \"\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"\"\n\nmsgid \"Power management\"\nmsgstr \"\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\nmsgid \"No network connection found\"\nmsgstr \"\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"\"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\nmsgid \"Language\"\nmsgstr \"भाषा\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n\nmsgid \"Firewall\"\nmsgstr \"\"\n\nmsgid \"Select audio configuration\"\nmsgstr \"\"\n\nmsgid \"Enter credentials file decryption password\"\nmsgstr \"\"\n\nmsgid \"Enter root password\"\nmsgstr \"\"\n\nmsgid \"Select bootloader to install\"\nmsgstr \"\"\n\nmsgid \"Configuration preview\"\nmsgstr \"\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved\"\nmsgstr \"\"\n\nmsgid \"Select encryption type\"\nmsgstr \"\"\n\nmsgid \"Select disks for the installation\"\nmsgstr \"\"\n\nmsgid \"Enter a mountpoint\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Enter a size (default: {}): \"\nmsgstr \"\"\n\nmsgid \"Enter subvolume name\"\nmsgstr \"\"\n\nmsgid \"Enter subvolume mountpoint\"\nmsgstr \"\"\n\nmsgid \"Select a disk configuration\"\nmsgstr \"\"\n\nmsgid \"Enter root mount directory\"\nmsgstr \"\"\n\nmsgid \"You will use whatever drive-setup is mounted at the specified directory\"\nmsgstr \"\"\n\nmsgid \"WARNING: Archinstall won't check the suitability of this setup\"\nmsgstr \"\"\n\nmsgid \"Select main filesystem\"\nmsgstr \"\"\n\nmsgid \"Enter a hostname\"\nmsgstr \"\"\n\nmsgid \"Select timezone\"\nmsgstr \"\"\n\nmsgid \"Enter the number of parallel downloads to be enabled\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Value must be between 1 and {}\"\nmsgstr \"\"\n\nmsgid \"Select which kernel(s) to install\"\nmsgstr \"\"\n\nmsgid \"Enter a respository name\"\nmsgstr \"\"\n\nmsgid \"Enter the repository url\"\nmsgstr \"\"\n\nmsgid \"Enter server url\"\nmsgstr \"\"\n\nmsgid \"Select mirror regions to be enabled\"\nmsgstr \"\"\n\nmsgid \"Select optional repositories to be enabled\"\nmsgstr \"\"\n\nmsgid \"Select an interface\"\nmsgstr \"\"\n\nmsgid \"Choose network configuration\"\nmsgstr \"\"\n\nmsgid \"No packages found\"\nmsgstr \"\"\n\nmsgid \"Select which greeter to install\"\nmsgstr \"\"\n\nmsgid \"Select a profile type\"\nmsgstr \"\"\n\nmsgid \"Enter new password\"\nmsgstr \"\"\n\nmsgid \"Enter a username\"\nmsgstr \"\"\n\nmsgid \"Enter a password\"\nmsgstr \"\"\n\nmsgid \"The password did not match, please try again\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/nl/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: nl\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.0.1\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Er is een logboek aangemaakt: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Meld dit voorval (inclusief het logboek) op https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Weet u zeker dat u wilt afbreken?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Nog eenmaal ter verificatie: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Wilt u wisselgeheugen i.c.m. zram gebruiken?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Standaard hostnaam van installatie: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Gebruikersnaam van beheerder met sudo-rechten (vereist): \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Andere toe te voegen gebruikers (laat leeg om niemand toe te voegen): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Moet deze gebruiker beheerder (sudoer) worden?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Kies een tijdzone\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Wilt u GRUB gebruiken als opstartlader in plaats van systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Kies een opstartlader\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Kies een audioserver\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Er worden alleen basispakketten geïnstalleerd, zoals base, base-devel, linux, linux-firmware, efibootmgr en profielpakketten (optioneel).\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Als u een webbrowser wenst, zoals Firefox of Chromium, dan kunt u dit handmatig aangeven.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Typ de namen van te installeren pakketten (spatiegescheiden - laat leeg om over te slaan): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO-netwerkinstellingen overzetten naar fysieke installatie\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager gebruiken (benodigd om internetinstellingen grafisch in te stellen in GNOME en KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Kies een in te stellen netwerkkaart\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Geef aan welke modus moet worden gebruikt bij ‘{}’ of sla over om de standaardmodus (‘{}’) te gebruiken\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Voer het ip-adres en subnet in van ‘{}’ (voorbeeld: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Voer uw eigen gateway-adres (router-ip-adres) in of laag leeg om over te slaan: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Voer uw eigen dns-servers in (spatiegescheiden - laat leeg om over te slaan): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Kies het te gebruiken bestandssysteem van de hoofdpartitie\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Huidige partitie-indeling\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Geef aan wat er moet worden gedaan met\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Kies het gewenste bestandssysteem voor de partitie\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"\"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"\"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"‘{}’ bevat in behandeling zijnde partities, welke hierdoor worden verwijderd. Weet u zeker dat u wilt doorgaan?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecteer te verwijderen partities op indexnummer\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecteer aan te koppelen partities op indexnummer\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" *Partitie-aankoppelpunten zijn gekoppeld aan de fysieke installatie. Voorbeeld: ‘boot’ wordt ‘/boot’.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Geef aan waar de partitie moet worden aangekoppeld (laat leeg om te verwijderen): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Kies welke partitie moet worden gemaskeerd alvorens te formatteren\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Kies welke partitie moet worden versleuteld\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Kies welke partitie moet worden aangemerkt als opstartbaar\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Kies op welke partitie een bestandssysteem moet worden ingesteld\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Voer de naam in van het gewenste bestandssysteem: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall-taal\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Alle geselecteerde schijven formatteren en best mogelijke partitie-indeling gebruiken\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Geef per schijf aan welke actie moet worden uitgevoerd (gevolgd door partitiegebruik)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Geef aan wat er moet worden gedaan met de gekozen blokapparaten\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Dit is een vooraf opgestelde lijst met profielen, welke het installeren van zaken als werkomgevingen vereenvoudigt\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Kies een toetsenbordindeling\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Geef aan uit welke regio pakketten moeten worden opgehaald\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Selecteer één of meer in te stellen harde schijven\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Op AMD-hardware is het aanbevolen om alle opensource- of AMD-/ATI-opties te kiezen.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Op Intel-hardware is het aanbevolen om alle opensource- of Intel-opties te kiezen.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Op Nvidia-hardware is het aanbevolen om het gesloten Nvidia-stuurprogramma te kiezen.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Kies een grafisch stuurprogramma of laat leeg om alle opensource-stuurprogramma's te installeren\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Alle opensource-stuurprogramma's (standaard)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Kies de te installeren kernels of laat leeg om ‘{}’ te installeren\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Kies de te gebruiken taal\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Kies de te gebruiken taalvariant\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Kies één van onderstaande waarden: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Kies één van onderstaande opties: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Bezig met toevoegen van partitie…\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Voer een geldig bestandssysteemtype in om door te gaan. Bekijk voor meer informatie `man parted`.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Foutmelding: het opsommen van de profielen op {} leidde tot\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Foutmelding: ‘{}’ kan niet gedecodeerd worden als json:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Toetsenbordindeling\"\n\nmsgid \"Mirror region\"\nmsgstr \"Spiegelserverregio\"\n\nmsgid \"Locale language\"\nmsgstr \"Taal\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Taalvariant\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Harde schijven\"\n\n#, fuzzy\nmsgid \"Disk layout\"\nmsgstr \"Schijfindeling vastleggen\"\n\n#, fuzzy\nmsgid \"Encryption password\"\nmsgstr \"Versleutelwachtwoord instellen\"\n\nmsgid \"Swap\"\nmsgstr \"Wisselgeheugen\"\n\nmsgid \"Bootloader\"\nmsgstr \"Opstartlader\"\n\n#, fuzzy\nmsgid \"Root password\"\nmsgstr \"Rootwachtwoord\"\n\nmsgid \"Superuser account\"\nmsgstr \"Superuserrechten\"\n\nmsgid \"User account\"\nmsgstr \"Gebruikersaccount\"\n\nmsgid \"Profile\"\nmsgstr \"Profiel\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernels\"\n\nmsgid \"Additional packages\"\nmsgstr \"Aanvullende pakketten\"\n\nmsgid \"Network configuration\"\nmsgstr \"Netwerk instellen\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Automatische tijdsynchronisatie (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Installeren ({} confirguratie(s) ontbreekt/ontbreken)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"U heeft de schijfkeuze overgeslagen.\\n\"\n\"Hierdoor zal de op {} aangekoppelde schijf worden gebruikt (experimenteel).\\n\"\n\"WAARSCHUWING: Archinstall controleert niet of deze schijf geschikt is.\\n\"\n\"Weet u zeker dat u wilt doorgaan?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"De partitie op {} wordt hergebruikt\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Partitie aanmaken\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Partitie verwijderen\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Alle partities verwijderen\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Aankoppelpunt toekennen aan partitie\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Partitie (de)markeren voor formatteren (alle gegevens worden gewist)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Partitie (de)markeren voor versleuteling\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Partitie (de)markeren als opstartbaar (automatisch voor /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Gewenste bestandssysteem van partitie instellen\"\n\nmsgid \"Abort\"\nmsgstr \"Afbreken\"\n\nmsgid \"Hostname\"\nmsgstr \"Hostnaam\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Niet ingesteld en dus niet beschikbaar, tenzij handmatig ingesteld\"\n\nmsgid \"Timezone\"\nmsgstr \"Tijdzone\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Onderstaande opties instellen/aanpassen\"\n\nmsgid \"Install\"\nmsgstr \"Installeren\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Druk op Esc om over te slaan\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Partitie-indeling voorstellen\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Voer een wachtwoord in: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Voer een versleutelwachtwoord in voor {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Voer een versleutelwachtwoord in voor (laat leeg om niet te versleutelen): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Beheerder met sudo-rechten toevoegen (vereist): \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Voer een beheerderswachtwoord in (laat leeg om uit te schakelen): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Wachtwoord van ‘{}’: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Bezig met verifiëren van aanvullende pakketten… (dit kan even duren)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Wilt u automatische tijdsynchronisatie (NTP) met de standaard tijdservers gebruiken?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"De hardwarematige tijd en andere gelijkaardige instelstappen kunnen vereist zijn om NTP te gebruiken.\\n\"\n\"Lees voor meer informatie de Arch-wiki.\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Voer een gebruikersnaam in om een tweede account toe te voegen (laat leeg om over te slaan): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Druk op Esc om over te slaan\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Kies een item van de lijst en kies vervolgens een van de beschikbare acties om uit te voeren\"\n\nmsgid \"Cancel\"\nmsgstr \"Annuleren\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Bevestigen en afsluiten\"\n\nmsgid \"Add\"\nmsgstr \"Toevoegen\"\n\nmsgid \"Copy\"\nmsgstr \"Kopiëren\"\n\nmsgid \"Edit\"\nmsgstr \"Bewerken\"\n\nmsgid \"Delete\"\nmsgstr \"Verwijderen\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Kies een actie voor '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Kopiëren naar nieuwe sleutel:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Onbekend nic-type: {}. Mogelijke waarden zijn {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Dit is de door u gekozen configuratie:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman is al actief. Er wordt maximaal 10 minuten gewacht alvorens het opnieuw te proberen.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"De eerdere Pacman-vergrendeling is niet opgeheven. Sluit actieve Pacman-sessies af alvorens deze installatiewizard te gebruiken.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Geef aan welke aanvullende pakketbronnen dienen te worden gebruikt (optioneel)\"\n\n#, fuzzy\nmsgid \"Add a user\"\nmsgstr \"Gebruiker toevoegen\"\n\nmsgid \"Change password\"\nmsgstr \"Wachtwoord wijzigen\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Gebruiker op-/afwaarderen\"\n\nmsgid \"Delete User\"\nmsgstr \"Gebruiker verwijderen\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Stel een nieuwe gebruiker in\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Gebruikersnaam: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Moet {} gebruiker een beheerder (sudoer) worden?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Gebruikersnamen van gebruikers met sudo-rechten: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Geen netwerkconfiguratie\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Gewenste subvolumes op btrfs-partitie instellen\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Kies op welke partitie de subvolumes dienen te worden ingesteld\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Btrfs-subvolumes van huidige partitie beheren\"\n\nmsgid \"No configuration\"\nmsgstr \"Geen configuratie\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Gebruikersconfiguratie vastleggen\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Aanmeldgegevens vastleggen\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Schijfindeling vastleggen\"\n\nmsgid \"Save all\"\nmsgstr \"Alles opslaan\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Geef aan welke configuratie er moet worden vastgelegd\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Voer de naam in van de map waarin de configuratie(s) moet(en) worden vastgelegd: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Ongeldige map: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Het gekozen wachtwoord is zwak.\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"Weet u zeker dat u het wilt gebruiken?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Aanvullende pakketbronnen\"\n\nmsgid \"Save configuration\"\nmsgstr \"Configuratie vastleggen\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Ontbrekende configuraties:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Stel een rootwachtwoord of minimaal één beheerder in\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Beheerdersaccounts beheren: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Beheer reguliere gebruikersaccounts: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolume :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" aangekoppeld op {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" met optie {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Voer de gewenste waarden van het nieuwe subvolume in\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Subvolumenaam \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Subvolume-aankoppelpunt\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Subvolume-opties\"\n\nmsgid \"Save\"\nmsgstr \"Opslaan\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Subvolumenaam:\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Kies een aankoppelpunt:\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Stel gewenste subvolume-opties in \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Gebruikersnamen van gebruikers met sudo-rechten: \"\n\n#, fuzzy, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Er is een logboek aangemaakt: {} {}\"\n\n#, fuzzy\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Wilt u GRUB gebruiken als opstartlader in plaats van systemd-boot?\"\n\n#, fuzzy\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Wilt u wisselgeheugen i.c.m. zram gebruiken?\"\n\n#, fuzzy\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Wilt u wisselgeheugen i.c.m. zram gebruiken?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"De geselecteerde stations hebben niet de minimale capaciteit die vereist is voor een automatische suggestie\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Minimale capaciteit voor de /home partitie: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Minimale capaciteit voor de Arch Linux partitie: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Doorgaan\"\n\nmsgid \"yes\"\nmsgstr \"ja\"\n\nmsgid \"no\"\nmsgstr \"nee\"\n\nmsgid \"set: {}\"\nmsgstr \"\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Gebruikersconfiguratie vastleggen\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"\"\n\nmsgid \"Add interface\"\nmsgstr \"Voeg interface toe\"\n\nmsgid \"Edit interface\"\nmsgstr \"Bewerk interface\"\n\n#, fuzzy\nmsgid \"Delete interface\"\nmsgstr \"Interface verwijderen\"\n\n#, fuzzy\nmsgid \"Select interface to add\"\nmsgstr \"Kies een in te stellen netwerkkaart\"\n\n#, fuzzy\nmsgid \"Manual configuration\"\nmsgstr \"Configuratie vastleggen\"\n\n#, fuzzy\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Partitie (de)markeren voor versleuteling\"\n\n#, fuzzy\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Het gekozen wachtwoord is zwak.\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Druk op Enter om door te gaan\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Weet u zeker dat u het wilt gebruiken?\"\n\n#, fuzzy\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Selecteer één of meer in te stellen harde schijven\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Save and exit\"\nmsgstr \"Bevestigen en afsluiten\"\n\n#, fuzzy\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"‘{}’ bevat in behandeling zijnde partities, welke hierdoor worden verwijderd. Weet u zeker dat u wilt doorgaan?\"\n\n#, fuzzy\nmsgid \"No audio server\"\nmsgstr \"Kies een audioserver\"\n\nmsgid \"(default)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use ESC to skip\"\nmsgstr \"Druk op Esc om over te slaan\\n\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Copy to: \"\nmsgstr \"Kopiëren naar:\"\n\n#, fuzzy\nmsgid \"Edit: \"\nmsgstr \"Bewerken\"\n\nmsgid \"Key: \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Edit {}: \"\nmsgstr \"Bewerken:\"\n\nmsgid \"Add: \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Value: \"\nmsgstr \"Waarde:\"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Kies welke partitie moet worden gemaskeerd alvorens te formatteren\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Gebruik HSM om deze drive te ontgrendelen\"\n\nmsgid \"Device\"\nmsgstr \"Apparaat\"\n\nmsgid \"Size\"\nmsgstr \"Grootte\"\n\nmsgid \"Free space\"\nmsgstr \"Beschikbare schrijfruimte\"\n\nmsgid \"Bus-type\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Stel een rootwachtwoord of minimaal één beheerder in\"\n\n#, fuzzy\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Voer een gebruikersnaam in om een tweede account toe te voegen (laat leeg om over te slaan): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Moet {} gebruiker een beheerder (sudoer) worden?\"\n\n#, fuzzy\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Kies welke partitie moet worden versleuteld\"\n\nmsgid \"very weak\"\nmsgstr \"Zeer zwak\"\n\nmsgid \"weak\"\nmsgstr \"Zwak\"\n\nmsgid \"moderate\"\nmsgstr \"Gemiddeld\"\n\nmsgid \"strong\"\nmsgstr \"Sterk\"\n\n#, fuzzy\nmsgid \"Add subvolume\"\nmsgstr \" Subvolume :{:16}\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Subvolume bewerken\"\n\n#, fuzzy\nmsgid \"Delete subvolume\"\nmsgstr \"Subvolume verwijderen\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \"\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \"\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"ESC to skip\"\nmsgstr \"Druk op Esc om over te slaan\\n\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"Druk op CTRL+C om te resetten\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB om te selecteren\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"\"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Om deze vertaling te gebruiken, installeer handmatig een lettertype die deze taal ondersteund.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select an execution mode\"\nmsgstr \"Kies een actie voor '{}'\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Selecteer één of meer in te stellen harde schijven\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Existing Partitions\"\nmsgstr \"Bestaande partities\"\n\n#, fuzzy\nmsgid \"Select a partitioning option\"\nmsgstr \"Selecteer een optie\"\n\n#, fuzzy\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Voer de naam in van de map waarin de configuratie(s) moet(en) worden vastgelegd: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Dit is een vooraf opgestelde lijst met profielen, welke het installeren van zaken als werkomgevingen vereenvoudigt\"\n\n#, fuzzy\nmsgid \"Current profile selection\"\nmsgstr \"Huidige partitie-indeling\"\n\n#, fuzzy\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Partitie aanmaken\"\n\n#, fuzzy\nmsgid \"Assign mountpoint\"\nmsgstr \"Aankoppelpunt toekennen aan partitie\"\n\n#, fuzzy\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Partitie (de)markeren voor formatteren (alle gegevens worden gewist)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"\"\n\nmsgid \"Change filesystem\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Partitie (de)markeren voor versleuteling\"\n\n#, fuzzy\nmsgid \"Set subvolumes\"\nmsgstr \"Gebruiker verwijderen\"\n\n#, fuzzy\nmsgid \"Delete partition\"\nmsgstr \"Partitie verwijderen\"\n\nmsgid \"Partition\"\nmsgstr \"Partitie\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" *Partitie-aankoppelpunten zijn gekoppeld aan de fysieke installatie. Voorbeeld: ‘boot’ wordt ‘/boot’.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"\"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Vrije sectoren op apparaat {}:\"\n\n#, fuzzy\nmsgid \"Total sectors: {}\"\nmsgstr \"Ongeldige map: {}\"\n\n#, fuzzy\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Voer de beginsector in (percentage of bloknummer - standaard: {}): \"\n\n#, fuzzy\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Voer de eindsector in (percentage of bloknummer - bijvoorbeeld: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Hiermee worden alle nieuw toegevoegde partities verwijderd. Doorgaan?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Encryption type\"\nmsgstr \"Versleutelwachtwoord instellen\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Standaard: 10000ms, Aanbevolen bereik: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Vul een geldig nummer in\"\n\nmsgid \"Partitions\"\nmsgstr \"Partities\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Kies welke partitie moet worden versleuteld\"\n\n#, fuzzy\nmsgid \"Select disk encryption option\"\nmsgstr \"Kies een schijfindeling\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Alle geselecteerde schijven formatteren en best mogelijke partitie-indeling gebruiken\"\n\n#, fuzzy\nmsgid \"Manual Partitioning\"\nmsgstr \"Configuratie vastleggen\"\n\n#, fuzzy\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Geen configuratie\"\n\nmsgid \"Unknown\"\nmsgstr \"Onbekend\"\n\nmsgid \"Partition encryption\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \"\"\n\nmsgid \"← Back\"\nmsgstr \"← Terug\"\n\nmsgid \"Disk encryption\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Configuration\"\nmsgstr \"Geen configuratie\"\n\n#, fuzzy\nmsgid \"Password\"\nmsgstr \"Rootwachtwoord\"\n\n#, fuzzy\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"‘{}’ bevat in behandeling zijnde partities, welke hierdoor worden verwijderd. Weet u zeker dat u wilt doorgaan?\"\n\nmsgid \"Back\"\nmsgstr \"Terug\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Installed packages\"\nmsgstr \"Aanvullende pakketten\"\n\n#, fuzzy\nmsgid \"Add profile\"\nmsgstr \"Profiel\"\n\n#, fuzzy\nmsgid \"Edit profile\"\nmsgstr \"Profiel\"\n\n#, fuzzy\nmsgid \"Delete profile\"\nmsgstr \"Gebruiker verwijderen\"\n\n#, fuzzy\nmsgid \"Profile name: \"\nmsgstr \"Profiel\"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Typ de namen van te installeren pakketten (spatiegescheiden - laat leeg om over te slaan): \"\n\n#, fuzzy\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Typ de namen van te installeren pakketten (spatiegescheiden - laat leeg om over te slaan): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"\"\n\nmsgid \"Create your own\"\nmsgstr \"Maak je eigen\"\n\n#, fuzzy\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Kies een grafisch stuurprogramma of laat leeg om alle opensource-stuurprogramma's te installeren\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Graphics driver\"\nmsgstr \"\"\n\nmsgid \"Greeter\"\nmsgstr \"\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Disk configuration\"\nmsgstr \"Geen configuratie\"\n\n#, fuzzy\nmsgid \"Profiles\"\nmsgstr \"Profiel\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Selecteer één of meer in te stellen harde schijven\"\n\n#, fuzzy\nmsgid \"Add a custom mirror\"\nmsgstr \"Gebruiker toevoegen\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Voer een gebruikersnaam in om een tweede account toe te voegen (laat leeg om over te slaan): \"\n\n#, fuzzy\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Voer een gebruikersnaam in om een tweede account toe te voegen (laat leeg om over te slaan): \"\n\n#, fuzzy\nmsgid \"Select signature check option\"\nmsgstr \"Kies een schijfindeling\"\n\n#, fuzzy\nmsgid \"Select signature option\"\nmsgstr \"Kies een schijfindeling\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"\"\n\nmsgid \"Defined\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Gebruikersconfiguratie vastleggen\"\n\n#, fuzzy\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"Voer de naam in van de map waarin de configuratie(s) moet(en) worden vastgelegd: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Configuratie vastleggen\"\n\n#, fuzzy\nmsgid \"Mirrors\"\nmsgstr \"Spiegelserverregio\"\n\n#, fuzzy\nmsgid \"Mirror regions\"\nmsgstr \"Spiegelserverregio\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \"\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Locales\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager gebruiken (benodigd om internetinstellingen grafisch in te stellen in GNOME en KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Voer de beginsector in (percentage of bloknummer - standaard: {}): \"\n\n#, fuzzy\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Voer de beginsector in (percentage of bloknummer - standaard: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"\"\n\nmsgid \"Path\"\nmsgstr \"\"\n\nmsgid \"Manufacturer\"\nmsgstr \"\"\n\nmsgid \"Product\"\nmsgstr \"Product\"\n\n#, fuzzy, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Configuratie vastleggen\"\n\nmsgid \"Type\"\nmsgstr \"Type\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \"\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \"\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Wilt u wisselgeheugen i.c.m. zram gebruiken?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Selected profiles: \"\nmsgstr \"Gebruiker verwijderen\"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Partitie (de)markeren voor versleuteling\"\n\n#, fuzzy\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Wilt u wisselgeheugen i.c.m. zram gebruiken?\"\n\nmsgid \"Use compression\"\nmsgstr \"\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Geen configuratie\"\n\n#, fuzzy\nmsgid \"LVM configuration type\"\nmsgstr \"Geen configuratie\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"NetworkManager gebruiken (benodigd om internetinstellingen grafisch in te stellen in GNOME en KDE)\"\n\n#, fuzzy\nmsgid \"Select a LVM option\"\nmsgstr \"Kies een tijdzone\"\n\n#, fuzzy\nmsgid \"Partitioning\"\nmsgstr \"Configuratie vastleggen\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"LVM volumes\"\nmsgstr \"Gebruiker verwijderen\"\n\n#, fuzzy\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Kies welke partitie moet worden versleuteld\"\n\n#, fuzzy\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Kies welke partitie moet worden versleuteld\"\n\n#, fuzzy\nmsgid \"Default layout\"\nmsgstr \"Schijfindeling vastleggen\"\n\n#, fuzzy\nmsgid \"No Encryption\"\nmsgstr \"Versleutelwachtwoord instellen\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\nmsgid \"Yes\"\nmsgstr \"Ja\"\n\nmsgid \"No\"\nmsgstr \"Nee\"\n\n#, fuzzy\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall-taal\"\n\nmsgid \" (default)\"\nmsgstr \"\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Toets Crtl+h voor hulp\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"Aankoppelpunt toekennen aan partitie\"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Voer een versleutelwachtwoord in voor (laat leeg om niet te versleutelen): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"Versleutelwachtwoord instellen\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"Configuratie vastleggen\"\n\nmsgid \"Filesystem\"\nmsgstr \"\"\n\nmsgid \"Invalid size\"\nmsgstr \"Invalide grootte\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Voer de beginsector in (percentage of bloknummer - standaard: {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"Voer de beginsector in (percentage of bloknummer - standaard: {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"Subvolumenaam \"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"Geen configuratie\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"Taal\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Typ de namen van te installeren pakketten (spatiegescheiden - laat leeg om over te slaan): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"Invalide aantal downloads\"\n\nmsgid \"Number downloads\"\nmsgstr \"Aantal downloads\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"De gebruikersnaam is incorrect\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"Gebruikersnaam: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Moet {} gebruiker een beheerder (sudoer) worden?\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"Gebruiker verwijderen\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Vul een geldig IP adres in de IP-config modus\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"IP adres\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Voer uw eigen gateway-adres (router-ip-adres) in of laag leeg om over te slaan: \"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Voer uw eigen dns-servers in (spatiegescheiden - laat leeg om over te slaan): \"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"Kies een audioserver\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"Gebruiker verwijderen\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"Kernels\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI is niet herkend. Sommige instellingen zullen worden uitgeschakeld\"\n\nmsgid \"Info\"\nmsgstr \"Informatie\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"Profiel\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"Wachtwoord wijzigen\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"De wachtwoorden zijn ongelijk. Probeer opnieuw.\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"Ongeldige map: {}\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"Wilt u wisselgeheugen i.c.m. zram gebruiken?\"\n\nmsgid \"Directory\"\nmsgstr \"Map\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Voer de naam in van de map waarin de configuratie(s) moet(en) worden vastgelegd: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Configuratie vastleggen\"\n\nmsgid \"Enabled\"\nmsgstr \"Ingeschakeld\"\n\nmsgid \"Disabled\"\nmsgstr \"Uitgeschakeld\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Meld dit voorval (inclusief het logboek) op https://github.com/archlinux/archinstall/issues\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"Spiegelserverregio\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"Kies een schijfindeling\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"Kies een actie voor '{}'\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Toets ? voor hulp\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"Aanvullende pakketbronnen\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"Kies een schijfindeling\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Grootte: {} / {}\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Voer de beginsector in (percentage of bloknummer - standaard: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"Gebruikersnaam: \"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Partitie (de)markeren voor versleuteling\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"Aanvullende pakketten\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"Gebruiker toevoegen\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Gebruiker wijzigen\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Gebruiker verwijderen\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"Spiegelserverregio\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"Gebruiker toevoegen\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"Kies een audioserver\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"Gebruiker verwijderen\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"Kies een schijfindeling\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"Gebruiker toevoegen\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"Gebruiker toevoegen\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"Spiegelserverregio\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"Aanvullende pakketbronnen\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"Spiegelserverregio\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"Kies een audioserver\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"Aanvullende pakketbronnen\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Alleen ASCII karakters zijn toegestaan\"\n\nmsgid \"Show help\"\nmsgstr \"Laat hulp zien\"\n\nmsgid \"Exit help\"\nmsgstr \"Sluit hulp af\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"Omhoog\"\n\nmsgid \"Move down\"\nmsgstr \"Omlaag\"\n\nmsgid \"Move right\"\nmsgstr \"Naar rechts\"\n\nmsgid \"Move left\"\nmsgstr \"Naar links\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"Kies een schijfindeling\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"Kies een tijdzone\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"Kies een actie voor '{}'\"\n\nmsgid \"Start search mode\"\nmsgstr \"Start zoekmodus\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Sluit zoekmodus af\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Partitie (de)markeren voor versleuteling\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstall-taal\"\n\nmsgid \"Reboot system\"\nmsgstr \"Systeem opnieuw opstarten\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"\"\n\nmsgid \"Installation completed\"\nmsgstr \"Installatie geslaagd\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"Wilt u wisselgeheugen i.c.m. zram gebruiken?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Geef aan welke modus moet worden gebruikt bij ‘{}’ of sla over om de standaardmodus (‘{}’) te gebruiken\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Versleutelwachtwoord instellen\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Rootwachtwoord\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"Versleutelwachtwoord instellen\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Configuratie vastleggen\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"Versleutelwachtwoord instellen\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Spiegelserverregio\"\n\nmsgid \"New version available\"\nmsgstr \"Nieuwe versie beschikbaar\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Rootwachtwoord\"\n\nmsgid \"Second factor login\"\nmsgstr \"Tweestapsverificatie\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Wilt u wisselgeheugen i.c.m. zram gebruiken?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Wilt u wisselgeheugen i.c.m. zram gebruiken?\"\n\nmsgid \"Power management\"\nmsgstr \"\"\n\nmsgid \"Authentication\"\nmsgstr \"Authenticatie\"\n\nmsgid \"Applications\"\nmsgstr \"Applicaties\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Waarde mag niet leeg zijn\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Geen configuratie\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Voer een wachtwoord in: \"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Geen netwerkconfiguratie\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Wilt u wisselgeheugen i.c.m. zram gebruiken?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Gebruiker verwijderen\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Kies een in te stellen netwerkkaart\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Wifi netwerken scannen...\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Geen netwerkconfiguratie\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Mislukt om wifi op te zetten\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Voer een wachtwoord in: \"\n\nmsgid \"Ok\"\nmsgstr \"Ok\"\n\nmsgid \"Removable\"\nmsgstr \"Verwijderbaar\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Taal\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Er worden alleen basispakketten geïnstalleerd, zoals base, base-devel, linux, linux-firmware, efibootmgr en profielpakketten (optioneel).\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Kies een aankoppelpunt:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\n#~ msgid \"Default: {DEFAULT_ITER_TIME}ms, Recommended range: 1000-60000\"\n#~ msgstr \"Standaard: 10000ms, Aanbevolen bereik: 1000-60000\"\n\n#~ msgid \"Add :\"\n#~ msgstr \"Toevoegen:\"\n\n#~ msgid \"Value :\"\n#~ msgstr \"Waarde:\"\n\n#, python-brace-format\n#~ msgid \"Edit {origkey} :\"\n#~ msgstr \"{origkey} bewerken:\"\n\n#~ msgid \"Copy to :\"\n#~ msgstr \"Kopiëren naar:\"\n\n#~ msgid \"Edite :\"\n#~ msgstr \"Bewerken:\"\n\n#~ msgid \"Key :\"\n#~ msgstr \"Sleutel:\"\n"
  },
  {
    "path": "archinstall/locales/pl/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: acuteenvy\\n\"\n\"Language-Team: \\n\"\n\"Language: pl\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 2.4.2\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Plik dziennika został stworzony tutaj: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Proszę zgłosić ten błąd (i dołączyć plik) pod adresem https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Czy na pewno chcesz przerwać?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"I jeszcze raz w celu weryfikacji: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Czy chcesz używać swap w zramie?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Nazwa hosta dla tej instalacji: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Nazwa użytkownika dla wymaganego superusera z uprawnieniami sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Ewentualni użytkownicy do instalacji (pozostaw puste jeśli nie chcesz tworzyć użytkowników): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Czy użytkownik powinien być superuserem (mieć uprawnienia sudo)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Wybierz strefę czasową\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Czy chcesz użyć GRUB-a jako programu rozruchowego zamiast systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Wybierz program rozruchowy\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Wybierz serwer dźwięku\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Instalowane są tylko pakiety takie jak base, base-devel, linux, linux-firmware, efibootmgr i opcjonalne pakiety profili.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Jeśli potrzebujesz przeglądarki internetowej, takiej jak firefox lub chromium, możesz ją określić w następującym oknie dialogowym.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Wpisz dodatkowe pakiety do zainstalowania (oddzielone spacjami, pozostaw puste aby pominąć): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Skopiuj ustawienia sieciowe z ISO do instalacji\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Użyj programu NetworkManager (niezbędne do graficznej konfiguracji Internetu w środowiskach GNOME i KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Wybierz jeden interfejs sieciowy do skonfigurowania\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Wybierz który tryb ma być skonfigurowany dla \\\"{}\\\" lub pomiń, aby użyć trybu domyślnego \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Wprowadź adres IP i podsieć dla {} (przykład: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Wprowadź adres IP bramy sieciowej (routera) lub pozostaw puste: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Wpisz swoje serwery DNS (oddzielone spacjami, lub pozostaw puste): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Wybierz, który system plików ma być używany na partycji głównej\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Aktualny układ partycji\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Wybierz, co zrobić z\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Wprowadź żądany typ systemu plików dla partycji\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Wybierz lokację startową (w jednostkach parted: s, GB, %, itd. ; domyślna: {}) \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Wybierz lokację końcową (w jednostkach parted: s, GB, %, itd. ; przykład: {}) \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} zawiera partycje oczekujące w kolejce, to spowoduje ich usunięcie. Czy na pewno chcesz to zrobić?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wybierz według indeksu, które partycje usunąć\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wybierz według indeksu, które partycje zamontować i gdzie\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Punkty montowania partycji są względne w stosunku do wnętrza instalacji, np. partycja startowa to /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Wybierz gdzie chcesz zamontować partycję (pozostaw puste, aby usunąć punkt montowania): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wybierz partycja która ma zostać sformatowana\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wybierz partycja która ma zostać zaszyfrowana\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wybierz partycja która ma zostać oznaczona jako startowa (rozruchowa/bootowalna)\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Wybierz partycję, na której ma zostać utworzony system plików\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Wprowadź typ systemu plików dla partycji: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Język archinstall-a\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Wymaż wszystkie wybrane dyski i użyj najlepszego domyślnego układu partycji\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Wybierz, co ma być zrobione z każdym dyskiem z osobna (a następnie z wykorzystaniem partycji)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Wybierz, co chcesz zrobić z wybranymi urządzeniami blokowymi\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"To jest lista wstępnie zaprogramowanych profili, które mogą ułatwić instalację takich rzeczy jak środowiska graficzne\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Wybierz układ klawiatury\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Wybierz jeden z regionów, z których chcesz pobrać pakiety\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Wybierz jeden lub więcej dysków twardych do użycia i skonfiguruj je\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Aby uzyskać najlepszą kompatybilność ze sprzętem AMD, warto skorzystać z opcji całkowicie open-source lub AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Aby uzyskać najlepszą kompatybilność ze sprzętem Intel, warto skorzystać z opcji całkowicie open-source lub Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Aby uzyskać najlepszą kompatybilność ze sprzętem firmy Nvidia, warto skorzystać z własnościowego sterownika firmy Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Wybierz sterownik graficzny lub pozostaw puste pole, aby zainstalować wszystkie sterowniki open-source\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Wszystkie open-source (domyślnie)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Wybierz które jądra mają być używane, lub pozostaw puste, aby użyć ustawień domyślnych \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Wybierz języki, których chcesz używać\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Wybierz kodowania, których chcesz używać\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Wybierz jedną z poniższych wartości: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Wybierz jedną lub więcej z poniższych opcji: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Dodawanie partycji...\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Aby kontynuować, musisz podać poprawny fs-type. Zobacz `man parted`, aby poznać prawidłowe opcje.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Błąd: Wyśwetlanie profili z URL \\\"{}\\\" spowodowało:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Błąd: Nie można zdekodować \\\"{}\\\" jako JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Układ klawiatury\"\n\nmsgid \"Mirror region\"\nmsgstr \"Region serwerów lustrzanych\"\n\nmsgid \"Locale language\"\nmsgstr \"Język\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Kodowanie\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Dyski twarde\"\n\nmsgid \"Disk layout\"\nmsgstr \"Układ dysku\"\n\nmsgid \"Encryption password\"\nmsgstr \"Hasło szyfrujące\"\n\nmsgid \"Swap\"\nmsgstr \"Pamięć wymiany (swap)\"\n\nmsgid \"Bootloader\"\nmsgstr \"Program rozruchowy\"\n\nmsgid \"Root password\"\nmsgstr \"Hasło roota\"\n\nmsgid \"Superuser account\"\nmsgstr \"Konto superusera\"\n\nmsgid \"User account\"\nmsgstr \"Konto użytkownika\"\n\nmsgid \"Profile\"\nmsgstr \"Profil\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Jądra\"\n\nmsgid \"Additional packages\"\nmsgstr \"Dodatkowe pakiety\"\n\nmsgid \"Network configuration\"\nmsgstr \"Konfiguracja sieci\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Automatyczna synchronizacja czasu (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Zainstaluj ({} brakujących konfiguracji)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Zdecydowano się na pominięcie wyboru dysku twardego\\n\"\n\"i użycie konfiguracji dysku zamontowanego w {} (eksperymentalne)\\n\"\n\"OSTRZEŻENIE: Archinstall nie sprawdzi poprawności tej konfiguracji\\n\"\n\"Czy chcesz kontynuować?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Ponowne wykorzystanie instancji partycji: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Utwórz nową partycję\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Usuń partycję\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Wyczyść/Usuń wszystkie partycje\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Przydziel punkt montowania dla partycji\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Oznacz/odznacz partycję, która ma zostać sformatowana (wymazuje dane)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Oznacz/odznacz partycję jako zaszyfrowaną\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Oznacz/odznacz partycję jako startową (rozruchową/bootowalną) (automatyczne dla /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Ustaw system plików dla partycji\"\n\nmsgid \"Abort\"\nmsgstr \"Anuluj\"\n\nmsgid \"Hostname\"\nmsgstr \"Nazwa hosta\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Niedostępna, chyba że zostanie skonfigurowana ręcznie\"\n\nmsgid \"Timezone\"\nmsgstr \"Strefa czasowa\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Ustaw/modyfikuj poniższe opcje\"\n\nmsgid \"Install\"\nmsgstr \"Zainstaluj\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Użyj ESC aby pominąć\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Zasugeruj układ partycji\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Wprowadź hasło: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Wprowadź hasło szyfrowania dla {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Wprowadź hasło do szyfrowania dysku (pozostaw puste aby nie ustawiać szyfrowania): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Utwórz wymaganego superusera z uprawnieniami sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Wprowadź hasło roota (pozostaw puste, aby wyłączyć roota): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Hasło użytkownika \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Sprawdzanie, czy istnieją dodatkowe pakiety (może to potrwać kilka sekund)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Czy chcesz korzystać z automatycznej synchronizacji czasu (NTP) z domyślnymi serwerami czasu?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Aby NTP działał, może być wymagany czas sprzętowy i inne kroki po konfiguracji.\\n\"\n\"Aby uzyskać więcej informacji, proszę sprawdzić Arch wiki\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Wprowadź nazwę użytkownika, aby utworzyć dodatkowego użytkownika (pozostaw puste, aby pominąć): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Kliknij ESC aby pominąć\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Wybierz obiekt z listy, a następnie wybierz jedno z dostępnych działań do wykonania\"\n\nmsgid \"Cancel\"\nmsgstr \"Anuluj\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Potwierdź i wyjdź\"\n\nmsgid \"Add\"\nmsgstr \"Dodaj\"\n\nmsgid \"Copy\"\nmsgstr \"Kopiuj\"\n\nmsgid \"Edit\"\nmsgstr \"Edytuj\"\n\nmsgid \"Delete\"\nmsgstr \"Usuń\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Wybierz działanie dla '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Skopiuj do nowego klucza:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Nieznany typ nic: {}. Możliwe wartości to {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Wybrana konfiguracja:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman jest już uruchomiony, czekam maksymalnie 10 minut na zakończenie pracy.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Istniejąca wcześniej blokada pacmana nie została zakończona. Proszę wyczyścić wszystkie istniejące sesje pacmana przed użyciem archinstall-a.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Wybierz, które z opcjonalnych repozytoriów chcesz włączyć\"\n\nmsgid \"Add a user\"\nmsgstr \"Dodaj użytkownika\"\n\nmsgid \"Change password\"\nmsgstr \"Zmień hasło\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Promuj/degraduj użytkownika\"\n\nmsgid \"Delete User\"\nmsgstr \"Usuń użytkownika\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Zdefiniuj nowego użytkownika\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Nazwa użytkownika : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Czy użytkownik {} powinien być superuserem (mieć uprawnienia sudo)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Zdefiniuj użytkowników z uprawnieniami sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Brak konfiguracji sieciowej\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Ustawianie żądanych subwoluminów na partycji btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"Wybierz partycję, na której mają być ustawione subwoluminy\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Zarządzaj subwoluminami btrfs dla bieżącej partycji\"\n\nmsgid \"No configuration\"\nmsgstr \"Brak konfiguracji\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Zapisz konfigurację użytkownika\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Zapisz dane uwierzytelniające użytkownika\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Zapisz układ dysku\"\n\nmsgid \"Save all\"\nmsgstr \"Zapisz wszystko\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Wybierz, która konfiguracja ma zostać zapisana\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Wprowadź katalog, w którym ma zostać zapisana konfiguracja: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Nieprawidłowy katalog: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Używane przez Ciebie hasło wydaje się być słabe,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"czy na pewno chcesz go używać?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Opcjonalne repozytoria\"\n\nmsgid \"Save configuration\"\nmsgstr \"Zapisz konfigurację\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Brakujące konfiguracje:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Należy podać hasło roota lub stworzyć co najmniej jednego superusera\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Zarządzaj kontami superuserów: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Zarządzaj kontami zwykłych użytkowników: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subwolumin :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" zamontowany w {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" z opcjami {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Wypełnij żądane wartości dla nowego subwoluminu \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Nazwa subwoluminu \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Punkt montowania subwoluminu\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Opcje subwoluminu\"\n\nmsgid \"Save\"\nmsgstr \"Zapisz\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Nazwa subwoluminu :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Wybierz punkt montowania :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Wybierz opcje subwoluminu \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Określanie użytkowników z uprawnieniami sudo według nazwy użytkownika: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Plik dziennika został zapisany tutaj: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Czy chcesz użyć subwoluminów BTRFS z domyślną strukturą?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Czy chcesz użyć kompresji BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Czy chcesz stworzyć oddzielną partycje dla /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Wybrane dyski nie mają minimalnej wymaganej pojemności dla automatycznej sugestii\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Maksymalna pojemność dla partycji /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Minimalna pojemność dla partycji Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Kontynuuj\"\n\nmsgid \"yes\"\nmsgstr \"tak\"\n\nmsgid \"no\"\nmsgstr \"nie\"\n\nmsgid \"set: {}\"\nmsgstr \"ustawiono na: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Konfiguracja ustawiona manualnie musi być listą\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Nie określono interfejsu do ręcznej konfiguracji\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Ręczna konfiguracja nic bez automatycznego DHCP wymaga podania adresu IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Dodaj interfejs\"\n\nmsgid \"Edit interface\"\nmsgstr \"Edytuj interfejs\"\n\nmsgid \"Delete interface\"\nmsgstr \"Usuń interfejs\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Wybierz interfejs sieciowy do dodania\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Ręczna konfiguracja\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Oznacz/odznacz partycje jako skompresowaną (tylko w btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Używane przez Ciebie hasło wydaje się być słabe, czy na pewno chcesz go użyć?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Dostarcza wybór środowisk graficznych oraz kafelkowych menedżerów okien, np. gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Wybierz środowisko graficzne\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Bardzo ograniczona instalacja pozwalająca ci dostosowanie Arch Linuxa do twoich upodobań.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Dostarcza wybór różnych pakietów serwerowych do zainstalowania i uruchomienia, np. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Wybierz jakie serwery zainstalować. Jeżeli żadne, wykonana będzie minimalna instalacja\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Instaluje system podstawowy, a także xorg-a i sterowniki graficzne.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Naciśnij Enter, aby kontynuować.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Czy chcesz zchrootować do nowej instalacji i przeprowadzić dodatkową konfigurację?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Czy na pewno chcesz zresetować to ustawienie?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Wybierz jeden lub więcej dysków twardych do użycia i skonfiguruj je\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Każda zmiana istniejących ustawień zresetuje układ dysków!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Jeżeli zresetujesz wybór dysków, zresetujesz także obecny układ dysków. Czy na pewno chcesz to zrobić?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Zapisz i wyjdź\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"zawiera partycje oczekujące w kolejce, to spowoduje ich usunięcie. Czy na pewno chcesz to zrobić?\"\n\nmsgid \"No audio server\"\nmsgstr \"Brak serwera dźwięku\"\n\nmsgid \"(default)\"\nmsgstr \"(domyślne)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Naciśnij ESC, aby pominąć\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Użyj CTRL+C, aby zresetować obecny wybór\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Kopiuj do: \"\n\nmsgid \"Edit: \"\nmsgstr \"Edytuj: \"\n\nmsgid \"Key: \"\nmsgstr \"Klucz: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Edytuj {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Dodaj: \"\n\nmsgid \"Value: \"\nmsgstr \"Wartość: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Możesz pominąć wybór dysku i partycjonowanie i użyć konfiguracji dysku zamontowanego w /mnt (eksperymentalne)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Wybierz jeden z dysków lub pomiń i użyj /mnt jako domyślnego\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Wybierz partycje, które mają zostać sformatowane:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Użyj HSM do odblokowania zaszyfrowanego dysku\"\n\nmsgid \"Device\"\nmsgstr \"Urządzenie\"\n\nmsgid \"Size\"\nmsgstr \"Rozmiar\"\n\nmsgid \"Free space\"\nmsgstr \"Wolne miejsce\"\n\nmsgid \"Bus-type\"\nmsgstr \"Typ magistrali\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Musisz podać hasło roota lub utworzyć co najmniej jednego superusera\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Wprowadź nazwę użytkownika (pozostaw puste, aby pominąć): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Wprowadzona nazwa użytkownika jest nieprawidłowa. Spróbuj ponownie\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Czy użytkownik \\\"{}\\\" powinien być superuserem (mieć uprawnienia sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Wybierz, które partycje mają zostać zaszyfrowane\"\n\nmsgid \"very weak\"\nmsgstr \"bardzo słabe\"\n\nmsgid \"weak\"\nmsgstr \"słabe\"\n\nmsgid \"moderate\"\nmsgstr \"umiarkowane\"\n\nmsgid \"strong\"\nmsgstr \"silne\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Dodaj subwolumin\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Edytuj subwolumin\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Usuń subwolumin\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Skonfigurowano {} interfejsów\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Ta opcja pozwala określić maksymalną liczbę pobieranych plików podczas instalacji\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Wprowadź maksymalną liczbę dodatkowych plików pobieranych jednocześnie.\\n\"\n\" (Liczba z zakresu od 1 do {})\\n\"\n\"Zauważ:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Maksymalna wartość   : {} ( Zwiększa liczbę zadań o {}, co pozwala na pobieranie {} plików jednocześnie )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Minimalna wartość   : 1 ( Zwiększa liczbę zadań o 1, co pozwala na pobieranie 2 plików jednocześnie )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - 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\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Nieprawidłowa wartość! Spróbuj jeszcze raz z prawidłową wartością [1 do {max_downloads}, lub 0 aby wyłączyć]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Pobieranie kilku plików jednocześnie\"\n\nmsgid \"ESC to skip\"\nmsgstr \"Naciśnij ESC, aby pominąć\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"Naciśnij Ctrl+C, aby zresetować\"\n\nmsgid \"TAB to select\"\nmsgstr \"Naciśnij Tab, aby wybrać\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Domyślna wartość: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Aby móc skorzystać z tego tłumaczenia, proszę ręcznie zainstalować czcionkę, która obsługuje ten język.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Czcionka powinna być przechowana jako {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall wymaga uprawnień administratora do uruchomienia. Użyj --help, aby uzyskać więcej informacji.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Wybierz tryb uruchamiania\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Nie można pobrać profilu z podanego url: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Profile muszą mieć unikalne nazwy, a znaleziono istniejący profil o tej nazwie: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Wybierz jedno lub więcej urządzeń do użycia i skonfiguruj je\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Jeżeli zresetujesz wybór urządzeń, zresetujesz także obecny układ dysków. Czy na pewno chcesz to zrobić?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Instniejące partycje\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Wybierz opcję partycjonowania\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Wprowadź katalog root zamontowanych urządzeń: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Maksymalna pojemność dla partycji /home: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Minimalna pojemność dla partycji Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"To jest lista wstępnie zaprogramowanych profili (profiles_bck), które mogą ułatwić instalację takich rzeczy jak środowiska graficzne\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Aktualny wybór profilu\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Usuń wszystkie nowo dodane partycje\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Przydziel punkt montowania\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Zaznacz/odznacz partycję do formatowania (wymazuje dane)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Zaznacz/Odznacz jako bootowalne\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Zmień system plików\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Oznacz/odznacz partycje jako skompresowaną\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Ustaw podwolumin\"\n\nmsgid \"Delete partition\"\nmsgstr \"Usuń partycję\"\n\nmsgid \"Partition\"\nmsgstr \"Partycja\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Wybrana partycja jest zaszyfrowana. Żeby ją sformatować, wybierz system plików\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Punkty montowania partycji są względne w stosunku do wnętrza instalacji, np. boot to /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Jeżeli punkt montowania /boot jest wybrany, ta partycja będzie także zaznaczona jako bootowalna.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Punkt montowania: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Aktualnie wolne sektory urządzenia {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Łącznie sektorów: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Wprowadź sektor początkowy (domyślnie: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Wprowadź sektor końcowy tej partycji (procent lub numer bloku, domyślnie: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"To usunie wszystkie nowo dodane partycje, kontynuować?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Zarządzanie partycją: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Całkowita długość: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Typ szyfrowania\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"Partycje\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Brak dostępnych urządzeń HSM\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Partycje do zaszyfrowania\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Wybierz opcję szyfrowania dysku\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Wybierz urządzenie FIDO2 do użycia z HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Użyj najlepszego domyślnego układu partycji\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Ręczne partycjonowanie\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Wstępnie zamontowana konfiguracja\"\n\nmsgid \"Unknown\"\nmsgstr \"Nieznane\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Szyfrowanie partycji\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formatowanie {} za \"\n\nmsgid \"← Back\"\nmsgstr \"← Wstecz\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Szyfrowanie dysku\"\n\nmsgid \"Configuration\"\nmsgstr \"Konfiguracja\"\n\nmsgid \"Password\"\nmsgstr \"Hasło\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Wszystkie ustawienia zostaną zresetowane. Czy na pewno chcesz to zrobić?\"\n\nmsgid \"Back\"\nmsgstr \"Wstecz\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Wybierz który greeter zainstalować dla wybranych profili: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Typ środowiska: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Własnościowy sterownik Nvidia nie jest wspierany przez Sway. Prawdopodobnie wystąpią problemy, czy chcesz kontynuować?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Zainstalowane pakiety\"\n\nmsgid \"Add profile\"\nmsgstr \"Dodaj profil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Edytuj profil\"\n\nmsgid \"Delete profile\"\nmsgstr \"Usuń profil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Nazwa profilu: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Wprowadzona nazwa profilu jest już w użyciu. Spróbuj ponownie\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Dodatkowe pakiety do zainstalowania na tym profilu (oddzielone spacjami, pozostaw puste aby pominąć): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Usługi, które mają być włączone na tym profilu (oddzielone spacjami, pozostaw puste aby pominąć): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Czy ten profil ma być włączony podczas instalacji?\"\n\nmsgid \"Create your own\"\nmsgstr \"Utwórz własny\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Wybierz sterownik graficzny lub pozostaw puste, aby zainstalować wszystkie sterowniki otwartoźródłowe\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway potrzebuje dostępu do twojego seat'a (sprzętu, np. klawiatury, myszki, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Wybierz opcję, aby nadać Sway dostęp do twojego sprzętu\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Sterownik graficzny\"\n\nmsgid \"Greeter\"\nmsgstr \"Greeter\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Wybierz, który greeter zainstalować\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"To jest lista przygotowanych domyślnych profili (default_profiles)\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Konfiguracja dysku\"\n\nmsgid \"Profiles\"\nmsgstr \"Profile\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Znajdywanie możliwych katalogów do zapisywania plików konfiguracyjnych ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Wybierz jeden lub więcej katalogów do zapisywania plików konfiguracyjnych\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Dodaj niestandardowy serwer lustrzany\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Zmień niestandardowy serwer lustrzany\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Usuń niestandardowy serwer lustrzany\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Wprowadź nazwę (pozostaw puste, aby pominąć): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Wprowadź url (pozostaw puste, aby pominąć): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Wybierz układ dysku\"\n\nmsgid \"Select signature option\"\nmsgstr \"Wybierz opcję podpisu\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Niestandardowe serwery lustrzane\"\n\nmsgid \"Defined\"\nmsgstr \"Zdefiniowane\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Zapisz konfigurację użytkownika (wraz z układem dysku)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Wprowadź katalog, w którym ma zostać zapisana konfiguracja (uzupełnianie przyciskiem tab jest włączone)\\n\"\n\"Katalog zapisu: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Czy chcesz zapisać plik(i) konfiguracji {} w podanej lokalizacji?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Zapisywanie {} plików konfiguracyjnych do {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Serwery lustrzane\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Regiony serwerów lustrzanych\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Maksymalna wartość   : {} ( Zwiększa liczbę zadań o {}, co pozwala na pobieranie {max_downloads+1} plików jednocześnie )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Nieprawidłowa wartość! Spróbuj jeszcze raz z poprawną wartością [1 do {}, lub 0 aby wyłączyć]\"\n\nmsgid \"Locales\"\nmsgstr \"Ustawienia regionalne (locale)\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Użyj programu NetworkManager (niezbędne do graficznej konfiguracji Internetu w GNOME i KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Łącznie: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Do wszystkich wybranych wartości może być dopisana jednostka: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Jeżeli jednostka nie zostanie podana, wartość zostanie zinterpretowana jako sektory\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Wprowadź początek (domyślnie: {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Wprowadź koniec (domyślnie: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Nie można określić urządzeń fido2. Czy zainstalowano libfido2?\"\n\nmsgid \"Path\"\nmsgstr \"Ścieżka\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Producent\"\n\nmsgid \"Product\"\nmsgstr \"Produkt\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Niepoprawna konfiguracja: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Typ\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Ta opcja pozwala określić maksymalną liczbę jednocześnie pobieranych pakietów\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Wprowadź maksymalną liczbę dodatkowych plików pobieranych jednocześnie.\\n\"\n\"\\n\"\n\"Note:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Maksymalna rekomendowana wartość : {} ( Zwiększa liczbę zadań o {} )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - 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\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Nieprawidłowa wartość! Spróbuj jeszcze raz z poprawną wartością [lub 0, aby wyłączyć]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland potrzebuje dostępu do twojego seat'a (sprzętu, np. klawiatury, myszki, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Wybierz opcję, aby nadać Hyprland dostęp do twojego sprzętu\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Do wszystkich wybranych wartości może być dopisana jednostka: % B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Czy chcesz użyć ujednoliconych obrazów jądra?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Ujednolicone obrazy jądra\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Oczekiwanie na synchronizację czasu (timedatectl show).\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Synchronizacja czasu nie powodzi się. Oczekując - sprawdź dokumentację: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Pomiń oczekiwanie na automatyczną synchronizację czasu (może spowodować problemy podczas instalacji)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Oczekiwanie na synchronizację Arch Linux keyring (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Wybrane profile: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Synchronizacja czasu nie powodzi się. Oczekując - sprawdź dokumentację: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Zaznacz/Odznacz jako nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Czy chcesz użyć kompresji lub wyłączyć CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"Użyj kompresji\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Wyłącz kopiowanie przy zapisie (Copy-on-Write)\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Dostarcza wybór środowisk graficznych oraz kafelkowych menedżerów okien, np. GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Typ konfiguracji: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Typ konfiguracji LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"Szyfrowanie dysku LVM z więcej niż dwoma partycjami aktualnie nie jest wspierane\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Użyj programu NetworkManager (niezbędne do graficznej konfiguracji Internetu w GNOME i KDE)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Wybierz opcję LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Partycjonowanie\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Zarządzanie Woluminami Logicznymi (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Fizyczne woluminy\"\n\nmsgid \"Volumes\"\nmsgstr \"Woluminy\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Woluminy LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Woluminy LVM do zaszyfrowania\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Wybierz, które woluminy LVM mają zostać zaszyfrowane\"\n\nmsgid \"Default layout\"\nmsgstr \"Domyślny układ\"\n\nmsgid \"No Encryption\"\nmsgstr \"Brak szyfrowania\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM na LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS na LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Tak\"\n\nmsgid \"No\"\nmsgstr \"Nie\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Pomoc archinstall-a\"\n\nmsgid \" (default)\"\nmsgstr \" (domyślne)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Naciśnij Ctrl+h, aby wyświetlić pomoc\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Wybierz opcję, aby nadać Sway dostęp do twojego sprzętu\"\n\nmsgid \"Seat access\"\nmsgstr \"Dostęp do seat'a\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Punkt montowania\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Wprowadź hasło do szyfrowania dysku (pozostaw puste, aby nie szyfrować):\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Hasło szyfrujące dysk\"\n\nmsgid \"Partition - New\"\nmsgstr \"Partycja - Nowa\"\n\nmsgid \"Filesystem\"\nmsgstr \"System plików\"\n\nmsgid \"Invalid size\"\nmsgstr \"Niepoprawny rozmiar\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Początek (domyślnie: sektor {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Koniec (domyślnie: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Nazwa subwoluminu\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Typ konfiguracji dysku\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Katalog montowania root\"\n\nmsgid \"Select language\"\nmsgstr \"Wybierz język\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Wpisz dodatkowe pakiety do zainstalowania (oddzielone spacjami, pozostaw puste aby pominąć):\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Niepoprawna liczba pobrań\"\n\nmsgid \"Number downloads\"\nmsgstr \"Liczba pobrań\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Wprowadzona nazwa użytkownika jest nieprawidłowa\"\n\nmsgid \"Username\"\nmsgstr \"Nazwa użytkownika\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Czy \\\"{}\\\" powinien być superuserem (mieć uprawnienia sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Interfejsy\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Musisz wprowadzić poprawny adres IP w trybie IP-config\"\n\nmsgid \"Modes\"\nmsgstr \"Tryby\"\n\nmsgid \"IP address\"\nmsgstr \"Adres IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Wprowadź adres IP bramy sieciowej (routera) lub pozostaw puste:\"\n\nmsgid \"Gateway address\"\nmsgstr \"Adres bramy sieciowej\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Wpisz swoje serwery DNS (oddzielone spacjami, lub pozostaw puste):\"\n\nmsgid \"DNS servers\"\nmsgstr \"Serwery DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Konfiguruj interfejsy\"\n\nmsgid \"Kernel\"\nmsgstr \"Jądro\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"Nie wykryto UEFI i niektóre opcje są wyłączone\"\n\nmsgid \"Info\"\nmsgstr \"Info\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Własnościowy sterownik Nvidia nie jest wspierany przez Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Prawdopodobnie wystąpią problemy, czy chcesz kontynuować?\"\n\nmsgid \"Main profile\"\nmsgstr \"Główny profil\"\n\nmsgid \"Confirm password\"\nmsgstr \"Potwierdź hasło\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Hasło potwierdzające nie jest poprawne, proszę spróbować jeszcze raz\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Nieprawidłowy katalog\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Czy chcesz kontynuować?\"\n\nmsgid \"Directory\"\nmsgstr \"Katalog\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Wprowadź katalog, w którym ma zostać zapisana konfiguracja (uzupełnianie przyciskiem tab jest włączone):\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Czy chcesz zapisać plik(i) konfiguracyjne do {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Włączone\"\n\nmsgid \"Disabled\"\nmsgstr \"Wyłączone\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Proszę zgłosić ten błąd (i dołączyć plik) pod adresem https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Nazwa serwera lustrzanego\"\n\nmsgid \"Url\"\nmsgstr \"Url\"\n\nmsgid \"Select signature check\"\nmsgstr \"Wybierz sprawdzanie podpisu\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Wybierz tryb uruchamiania\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Naciśnij ?, aby wyświetlić pomoc\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Wybierz opcję, aby nadać Hyprland dostęp do twojego sprzętu\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Dodatkowe repozytoria\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap na zram\"\n\nmsgid \"Name\"\nmsgstr \"Nazwa\"\n\nmsgid \"Signature check\"\nmsgstr \"Sprawdzanie podpisów\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Wybrany segment wolnego miejsca na urządzeniu {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Rozmiar: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Rozmiar (domyślnie: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Urządzenie HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Niektóre pakiety nie mogły zostać znalezione w repozytorium\"\n\nmsgid \"User\"\nmsgstr \"Użytkownik\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Podana konfiguracja zostanie zastosowana\"\n\nmsgid \"Wipe\"\nmsgstr \"Wymaż\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Zaznacz/Odznacz jako XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Ładowanie pakietów...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Wybierz pakiety z poniższej listy, które powinne być dodatkowo zainstalowane\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Dodaj niestandardowe repozytorium\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Zmień niestandardowe repozytorium\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Usuń niestandardowe repozytorium\"\n\nmsgid \"Repository name\"\nmsgstr \"Nazwa repozytorium\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Dodaj niestandardowy serwer\"\n\nmsgid \"Change custom server\"\nmsgstr \"Zmień niestandardowy serwer\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Usuń niestandardowy serwer\"\n\nmsgid \"Server url\"\nmsgstr \"Url serwera\"\n\nmsgid \"Select regions\"\nmsgstr \"Wybierz regiony\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Dodaj niestandardowe serwery\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Dodaj niestandardowe repozytorium\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Ładowanie regionów serwerów lustrzanych...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Serwery lustrzane i repozytoria\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Wybrane regiony serwerów lustrzanych\"\n\nmsgid \"Custom servers\"\nmsgstr \"Niestandardowe serwery lustrzane\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Niestandardowe repozytoria\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Tylko znaki ASCII są wspierane\"\n\nmsgid \"Show help\"\nmsgstr \"Pokaż pomoc\"\n\nmsgid \"Exit help\"\nmsgstr \"Zamknij pomoc\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Przewiń podgląd w górę\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Przewiń podgląd w dół\"\n\nmsgid \"Move up\"\nmsgstr \"Przesuń w górę\"\n\nmsgid \"Move down\"\nmsgstr \"Przesuń w dół\"\n\nmsgid \"Move right\"\nmsgstr \"Przesuń w prawo\"\n\nmsgid \"Move left\"\nmsgstr \"Przesuń w lewo\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Przeskocz do wpisu\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Pomiń wybór (jeżeli to możliwe)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Zresetuj wybór (jeżeli to możliwe)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Wybierz na wyborach pojedynczych\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Wybierz na wyborach wielokrotnych\"\n\nmsgid \"Reset\"\nmsgstr \"Zresetuj\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Pomiń menu wyboru\"\n\nmsgid \"Start search mode\"\nmsgstr \"Wejdź w tryb wyszukiwania\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Wyjdź z trybu wyszukiwania\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc potrzebuje dostępu do twojego seat'a (sprzętu, np. klawiatury, myszki)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Wybierz opcję, aby nadać labwc dostęp do twojego sprzętu\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri potrzebuje dostępu do twojego seat'a (sprzętu, np. klawiatury, myszki, etc)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Wybierz opcję, aby nadać niri dostęp do twojego sprzętu\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Zaznacz/Odznacz jako ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"Grupa pakietów:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Zamknij archinstall-a\"\n\nmsgid \"Reboot system\"\nmsgstr \"Uruchom ponownie system\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"zchrootować do nowej instalacji i przeprowadzić dodatkową konfigurację\"\n\nmsgid \"Installation completed\"\nmsgstr \"Instalacja zakończona\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Co chcesz robić dalej?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Wybierz który tryb ma być skonfigurowany dla \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Niepoprawne hasło odszyfrowujące plik danych uwierzytelniających\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Niepoprawne hasło\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Hasło odszyfrowujące plik danych uwierzytelniających\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Czy chcesz zaszyfrować plik user_credentials.json?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Hasło szyfrujące plik danych uwierzytelniających\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repozytoria: {}\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"Brak dostępnych urządzeń HSM\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Hasło\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Czy chcesz kontynuować?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Czy chcesz kontynuować?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Zarządzanie partycją: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Typ środowiska: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Wprowadź hasło: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Wybierz urządzenie FIDO2 do użycia z HSM\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Brak konfiguracji sieciowej\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Czy chcesz kontynuować?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Konfiguruj interfejsy\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Wybierz jeden interfejs sieciowy do skonfigurowania\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Brak konfiguracji sieciowej\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Wprowadź hasło: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Język\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Instalowane są tylko pakiety takie jak base, base-devel, linux, linux-firmware, efibootmgr i opcjonalne pakiety profili.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Wybierz punkt montowania :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n\n#~ msgid \"When picking a directory to save configuration files to, by default we will ignore the following folders: \"\n#~ msgstr \"Podczas wybierania katalogu do zapisywania plików konfiguracyjnych, domyślnie ignorowane są następujące foldery: \"\n\n#~ msgid \"\"\n#~ \"Do you want to save {} configuration file(s) in the following locations?\\n\"\n#~ \"\\n\"\n#~ \"{}\"\n#~ msgstr \"\"\n#~ \"Czy chcesz zapisać {} plików konfiguracyjnych do następujących lokalizacji?\\n\"\n#~ \"\\n\"\n#~ \"{}\"\n\n#~ msgid \"Add :\"\n#~ msgstr \"Dodaj :\"\n\n#~ msgid \"Value :\"\n#~ msgstr \"Wartość :\"\n\n#, python-brace-format\n#~ msgid \"Edit {origkey} :\"\n#~ msgstr \"Edytuj {origkey} :\"\n\n#~ msgid \"Copy to :\"\n#~ msgstr \"Kopiuj do :\"\n\n#~ msgid \"Edite :\"\n#~ msgstr \"Edytuj :\"\n\n#~ msgid \"Key :\"\n#~ msgstr \"Klucz :\"\n"
  },
  {
    "path": "archinstall/locales/pt/LC_MESSAGES/base.po",
    "content": "# Translators:\n# Hugo Carvalho <hugokarvalho@hotmail.com>\n# Luis Antonio <github.com/zaorinu>\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: archinstall\\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: 2025-21-12 16:08\\n\"\n\"Last-Translator: Luis Antonio <github.com/zaorinu>\\n\"\n\"Language-Team: Portuguese <hugokarvalho@hotmail.com>\\n\"\n\"Language: pt\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Foi criado um ficheiro de registo aqui: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Submeta este problema (e ficheiro) para https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Quer mesmo abortar?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"E mais uma vez para verificação: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Pretende usar a swap em zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Nome do computador desejado para a instalação: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Nome de utilizador para o superutilizador com privilégios sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Algum utilizador adicional para instalar (deixar em branco para nenhum utilizador): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Deve este utilizador ser um superutilizador (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Selecionar um fuso horário\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Pretende usar o GRUB como carregador de arranque em vez do systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Escolha um carregador de arranque\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Escolha um servidor de áudio\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Apenas pacotes como base, base-devel, linux, linux-firmware, efibootmgr e pacotes opcionais de perfil são instalados.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Se quer um navegador web, como firefox ou chromium, deve especificá-lo na pergunta seguinte.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Inserir pacotes adicionais a instalar (separados por espaço, deixar em branco para ignorar): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Copiar a configuração de rede da ISO para a instalação\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Usar o Gestor de Redes \\\"NetworkManager\\\" (necessário para configurar Internet graficamente em GNOME e KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Selecionar uma interface de rede para configurar\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Selecionar qual o modo a configurar para \\\"{}\\\" ou ignorar para usar o modo predefinido \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Inserir o IP e sub-rede para {} (exemplo: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Inserir o seu IP de gateway (router) ou deixe em branco para nenhum: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Inserir os servidores DNS (separados por espaço, deixe em branco para nenhum): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Selecionar o sistema de ficheiros que a partição principal deve utilizar\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Esquema atual da partições\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Seleciona o que fazer com\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Inserir o tipo de sistema de ficheiros desejado para a partição\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Inserir o local inicial (em unidades do parted: s, GB, %, etc. ; predefinido: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Inserir o local final (em unidades do parted: s, GB, %, etc. ; predefinido: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} contém partições em fila de espera, isto irá removê-las. Tem a certeza?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecionar por índice quais partições remover\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecionar por índice quais partições montar em\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Os pontos de montagem das partições são relativos ao interior da instalação, o boot seria /boot por exemplo.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Selecionar onde montar a partição (deixa em branco para remover o ponto de montagem): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecionar a partição a marcar para formatação\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecionar a partição a marcar como encriptada\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecionar a partição a marcar como de arranque\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecionar a partição a definir um sistema de ficheiros\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Introduza o tipo de sistema de ficheiros desejado para a partição: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Idioma do Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Limpar todos os discos selecionados e usar um esquema de partições predefinido de melhor desempenho\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Selecionar o que fazer com cada disco individual (seguido de uso de partição)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Selecionar o que deseja fazer com os dispositivos de bloco selecionados\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Esta é uma lista de perfis pré-programados, podem facilitar a instalação de ambientes de trabalho\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Selecionar o esquema de teclado\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Selecionar uma das regiões a partir da qual pretende transferir pacotes\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Selecionar um ou mais discos rígidos para usar e configurar\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Para uma melhor compatibilidade com o teu hardware AMD, poderás querer usar a opção de todos os controladores de código-aberto ou com proprietários da AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Para uma melhor compatibilidade com o teu hardware Intel, poderás querer usar a opção de todos os controladores de código-aberto ou com proprietários da Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Para uma melhor compatibilidade com o teu hardware Nvidia, poderás querer usar o controlador proprietário da Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Selecionar um controlador de gráficos ou deixa em branco para instalar todos os controladores de código-aberto\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Todos os controladores de código-aberto (predefinido)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Escolher os kernels a usar ou deixe em branco para a predefinição \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Escolher qual idioma de localização usar\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Escolher qual codificação de localização usar\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Selecionar uma das opções mostradas abaixo: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Selecionar uma ou mais opções abaixo: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Adicionando partição....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Precisa de colocar um tipo de sistema de ficheiros valido. Ver o `man parted` para ver as opções validas.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Erro: a listar os perfis em URL \\\"{}\\\" resulta em:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Erro: não foi possível decodificar \\\"{}\\\" como JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Esquema do teclado\"\n\nmsgid \"Mirror region\"\nmsgstr \"Região do espelho\"\n\nmsgid \"Locale language\"\nmsgstr \"Idioma de localização\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Codificação de localização\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Unidade(s)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Esquema do disco\"\n\nmsgid \"Encryption password\"\nmsgstr \"Palavra-passe de encriptação\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Carregador de arranque\"\n\nmsgid \"Root password\"\nmsgstr \"Palavra-passe do root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Conta de superutilizador\"\n\nmsgid \"User account\"\nmsgstr \"Conta de utilizador\"\n\nmsgid \"Profile\"\nmsgstr \"Perfil\"\n\nmsgid \"Audio\"\nmsgstr \"Áudio\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernels\"\n\nmsgid \"Additional packages\"\nmsgstr \"Pacotes adicionais\"\n\nmsgid \"Network configuration\"\nmsgstr \"Configuração de rede\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Sincronização automática de tempo (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Instalar ({} configuração(s) em falta)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Decidiu ignorar a seleção de disco rígido\\n\"\n\"e usar qualquer configuração de disco rígido montada em {} (experimental)\\n\"\n\"ATENÇÃO: O archinstall não verifica a viabilidade desta configuração\\n\"\n\"Quer continuar?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"A reutilizar a instância da partição: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Criar uma nova partição\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Eliminar uma partição\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Limpar/Eliminar todas as partições\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Atribuir um ponto de montagem para uma partição\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Marcar/Desmarcar uma partição para ser formatada (apaga os dados)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Marcar/Desmarcar uma partição como encriptada\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Marcar/Desmarcar uma partição como de arranque (automática para /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Definir o sistema de ficheiros desejado para uma partição\"\n\nmsgid \"Abort\"\nmsgstr \"Cancelar\"\n\nmsgid \"Hostname\"\nmsgstr \"Nome do computador\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Não configurado, indisponível a não ser que seja configurado manualmente\"\n\nmsgid \"Timezone\"\nmsgstr \"Fuso horário\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Definir/Modificar as opções abaixo\"\n\nmsgid \"Install\"\nmsgstr \"Instalar\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Utilizar ESC para ignorar\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Sugerir esquema de partições\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Introduzir uma palavra-passe: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Introduzir uma palavra-passe de encriptação para {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Introduzir palavra-passe de encriptação do disco (deixar em branco para nenhuma encriptação): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Criar um super-utilizador com privilégios de sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Introduzir palavra-passe do root (deixar em branco para desativar o root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Palavra-passe para o utilizador \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"A verificar se existem pacotes adicionais (isto pode demorar alguns segundos)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Gostaria de utilizar a sincronização automática da hora (NTP) com os servidores de hora predefinidos?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"A hora do equipamento e outros passos após a configuração podem ser necessários para que o NTP funcione.\\n\"\n\"Para mais informações, consulte a wiki do Arch\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Introduzir um nome de utilizador para criar um utilizador adicional (deixar em branco para ignorar): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Utilizar ESC para ignorar\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Escolher um objeto da lista, e selecionar uma das ações disponíveis para executar\"\n\nmsgid \"Cancel\"\nmsgstr \"Cancelar\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Confirmar e sair\"\n\nmsgid \"Add\"\nmsgstr \"Adicionar\"\n\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\nmsgid \"Edit\"\nmsgstr \"Editar\"\n\nmsgid \"Delete\"\nmsgstr \"Eliminar\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Selecionar uma ação para '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Copiar para nova chave:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Tipo de NIC desconhecido: {}. Possíveis valores são {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Esta é a sua configuração escolhida:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"O pacman já está em execução, aguardando no máximo 10 minutos para terminar.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"O bloqueio pré-existente do pacman nunca terminou. Limpar quaisquer sessões pacman existentes antes de usar o archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Escolher quais repositórios adicionais opcionais a ativar\"\n\nmsgid \"Add a user\"\nmsgstr \"Adicionar utilizador\"\n\nmsgid \"Change password\"\nmsgstr \"Alterar a palavra-passe\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Promover/Demover utilizador\"\n\nmsgid \"Delete User\"\nmsgstr \"Eliminar utilizador\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Definir um novo utilizador\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Nome de utilizador : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"{} deve ser um superutilizador (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Definir utilizadores com privilégio sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Nenhuma configuração de rede\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Definir subvolumes desejados numa partição btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecione em qual partição definir subvolumes\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Gerir subvolumes btrfs para a partição atual\"\n\nmsgid \"No configuration\"\nmsgstr \"Nenhuma configuração\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Guardar configuração de utilizador\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Guardar credenciais de utilizador\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Guardar esquema de disco\"\n\nmsgid \"Save all\"\nmsgstr \"Guardar tudo\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Escolher qual a configuração a guardar\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Introduzir um diretório para a(s) configuração(ões) a guardar: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Não é um diretório válido: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"A palavra-passe que está a usar parece ser fraca,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"tem a certeza que pretende usá-la?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Repositórios opcionais\"\n\nmsgid \"Save configuration\"\nmsgstr \"Guardar configuração\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Configurações em falta:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"É necessário especificar uma palavra-passe root ou pelo menos 1 super-utilizador\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Gerir contas de superutilizador: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Gerir contas de utilizador normal: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolume :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" montado em {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" com opção {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Preencher os valores desejados para um novo subvolume \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Nome do subvolume \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Ponto de montagem do subvolume\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Opções do subvolume\"\n\nmsgid \"Save\"\nmsgstr \"Guardar\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Nome do subvolume :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Selecionar um ponto de montagem :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Selecionar as opções desejadas do subvolume \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Definir utilizadores com privilégio sudo, por nome de utilizador: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Um ficheiro de registo foi criado aqui: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Gostaria de usar subvolumes BTRFS com a estrutura predefinida?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Gostaria de usar a compressão BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Gostaria de criar uma partição separada para /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"As unidades selecionadas não tem a capacidade mínima para sugestão automática\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Capacidade mínima para partição /home : {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Capacidade mínima para a partição do Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Continuar\"\n\nmsgid \"yes\"\nmsgstr \"sim\"\n\nmsgid \"no\"\nmsgstr \"não\"\n\nmsgid \"set: {}\"\nmsgstr \"definir: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"A definição da configuração manual deve ser uma lista\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Nenhuma iface especificada para configuração manual\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"A configuração manual de NIC sem DHCP automático requer um endereço IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Adicionar interface\"\n\nmsgid \"Edit interface\"\nmsgstr \"Editar interface\"\n\nmsgid \"Delete interface\"\nmsgstr \"Eliminar interface\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Selecionar interface a adicionar\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Configuração manual\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Marcar/desmarcar a partição como comprimida (apenas btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"A palavra-passe que está a usar parece ser fraca, tem a certeza que deseja utilizá-la?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Disponibiliza uma seleção de ambientes gráficos e gestores de janela como por exemplo gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Selecionar o ambiente gráfico desejado\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Uma instalação bem básica que permite-lhe personalizar o Arch Linux como desejar.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Proporciona uma seleção de diversos pacotes do servidor a instalar e ativar como por exemplo httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Escolher os servidores a instalar, se não houver nenhum, será efetuada uma instalação mínima\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Instala um sistema mínimo assim como o xorg e controladores de vídeo.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Prima Enter para continuar.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Gostaria de fazer chroot na instalação recém-criada e executar a configuração pós-instalação?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Tem a certeza que pretende repor esta configuração?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Selecionar uma ou mais unidades a usar e configurar\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Quaisquer modificações na configuração existente irá repor o esquema de disco!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Se repor a seleção da unidade isto também repor o esquema do disco atual. Tem a certeza?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Guardar e sair\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"contém partições em fila de espera, isto irá removê-las, tem a certeza?\"\n\nmsgid \"No audio server\"\nmsgstr \"Sem servidor de áudio\"\n\nmsgid \"(default)\"\nmsgstr \"(predefinição)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Utilizar ESC para ignorar\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Utilizar CTRL+C para repor a seleção atual\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Copiar para: \"\n\nmsgid \"Edit: \"\nmsgstr \"Editar: \"\n\nmsgid \"Key: \"\nmsgstr \"Chave: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Editar {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Adicionar: \"\n\nmsgid \"Value: \"\nmsgstr \"Valor: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Pode ignorar a seleção de unidade e particionar seja lá o que estiver montado em /mnt (experimental)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Selecionar um dos discos ou ignorar e usar /mnt como predefinição\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Selecionar quais partições a marcar para formatar:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Usar HSM para desbloquear unidade encriptada\"\n\nmsgid \"Device\"\nmsgstr \"Dispositivo\"\n\nmsgid \"Size\"\nmsgstr \"Tamanho\"\n\nmsgid \"Free space\"\nmsgstr \"Espaço livre\"\n\nmsgid \"Bus-type\"\nmsgstr \"Tipo de barramento\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Deve-se especificar uma palavra-passe root ou pelo menos 1 utilizador com privilégios de sudo\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Introduzir um nome de utilizador (deixe em branco para ignorar): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"O nome de utilizador que introduziu é inválido. Tente novamente\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\\\"{}\\\" deve ser um superutilizador (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Selecionar quais as partições a encriptar\"\n\nmsgid \"very weak\"\nmsgstr \"muito fraca\"\n\nmsgid \"weak\"\nmsgstr \"fraca\"\n\nmsgid \"moderate\"\nmsgstr \"moderada\"\n\nmsgid \"strong\"\nmsgstr \"forte\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Adicionar subvolume\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Editar subvolume\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Eliminar subvolume\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"{} interfaces configuradas\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Esta opção ativa o número de transferências paralelas que podem ocorrer durante a instalação\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Inserir o número de transferências paralelas a ativar.\\n\"\n\" (Inserir um valor entre 1 e {})\\n\"\n\"Nota:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Valor máximo   : {} ( Permite {} transferências paralelas, permite {} transferências de cada vez )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Valor mínimo   : 1 ( Permite 1 transferência paralela, permite 2 transferências de cada vez )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Desativar/Padrão : 0 ( Desativa as transferências paralelas, permite apenas 1 transferência de cada vez )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Entrada inválida! Tente novamente com uma entrada válida [1 para {max_downloads}, ou 0 para desativar]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Transferências paralelas\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC para ignorar\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C para repor\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB para selecionar\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Valor predefinido: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Para poder usar esta tradução, instale manualmente um tipo de letra que suporte o idioma.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"O tipo de letra deve ser armazenado como {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"O archinstall requer privilégios root para ser executado. Ver --help para mais informações.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Selecionar um modo de execução\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Não foi possível obter o perfil a partir do URL especificado: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Os perfis devem ter nomes únicos, mas foram encontradas definições de perfil com nomes duplicados: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Selecionar um ou mais dispositivos a usar e configurar\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Se repor a seleção do dispositivo, também irá repor o esquema atual do disco. Tem a certeza?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Partições existentes\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Selecionar uma opção de particionamento\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Inserir o diretório root dos dispositivos montados: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Capacidade mínima para partição /home : {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Capacidade mínima para a partição do Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Esta é uma lista de perfis pré-programados, que podem por exemplo facilitar a instalação de ambientes gráficos\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Seleção de perfil atual\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Remover todas as partições recém adicionadas\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Atribuir um ponto de montagem\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Marcar/Desmarcar para ser formatada (apaga os dados)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Marcar/Desmarcar como partição de arranque\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Alterar sistema de ficheiros\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Marcar/Desmarcar como comprimida\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Definir subvolumes\"\n\nmsgid \"Delete partition\"\nmsgstr \"Eliminar partição\"\n\nmsgid \"Partition\"\nmsgstr \"Partição\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Esta partição está atualmente encriptada. Para a formatar, deve ser especificado um sistema de ficheiros\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Os pontos de montagem das partições são relativos ao interior da instalação, o boot seria /boot por exemplo.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Se o ponto de montagem /boot for definido, a partição também será marcada como de arranque.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Ponto de montagem: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Atuais setores livres no dispositivo {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Total de setores: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Inserir o setor inicial (predefinido: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Inserir o setor final da partição (percentagem ou número de bloco, predefinido: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Isto irá remover todas as partições recém adicionadas, continuar?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Gestão de partições: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Tamanho total: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Tipo de encriptação\"\n\nmsgid \"Iteration time\"\nmsgstr \"Tempo de iteração\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Insira o tempo de iteração para a encriptação LUKS (em milissegundos)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Valores mais altos aumentam a segurança, mas diminuem o tempo de arranque\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Predefinido: 10000 ms, intervalo recomendado: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"O tempo de iteração não pode estar em branco\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"O tempo de iteração deve ser de pelo menos 100 ms\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"O tempo de iteração deve ser, no máximo, 120000 ms\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Insira um número válido\"\n\nmsgid \"Partitions\"\nmsgstr \"Partições\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Nenhum dispositivo HSM disponível\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Partições a serem encriptadas\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Selecionar a opção de encriptação de disco\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Selecionar um dispositivo FIDO2 para usar como HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Usar um esquema de partições predefinido de melhor desempenho\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Particionamento manual\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Configuração pré-montada\"\n\nmsgid \"Unknown\"\nmsgstr \"Desconhecido\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Encriptação de partições\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! A formatar {} em \"\n\nmsgid \"← Back\"\nmsgstr \"← Voltar\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Encriptação do disco\"\n\nmsgid \"Configuration\"\nmsgstr \"Configuração\"\n\nmsgid \"Password\"\nmsgstr \"Palavra-passe\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Todas as definições serão repostas, tem a certeza?\"\n\nmsgid \"Back\"\nmsgstr \"Voltar\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Escolher qual a interface gráfica de início de sessão a instalar para os perfis escolhidos: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Tipo de ambiente: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"O controlador proprietário Nvidia não é suportado pelo Sway. É provável que encontre problemas. Está de acordo com isso?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Pacotes instalados\"\n\nmsgid \"Add profile\"\nmsgstr \"Adicionar perfil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Editar perfil\"\n\nmsgid \"Delete profile\"\nmsgstr \"Eliminar perfil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Nome do perfil: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"O nome do perfil que introduziu já está a ser utilizado. Tente novamente\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Pacotes a serem instalados com este perfil (separados por espaço, deixe em branco para ignorar): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Serviços a serem ativados com este perfil (separados por espaço, deixe em branco para ignorar): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Este perfil deve ser ativado para a instalação?\"\n\nmsgid \"Create your own\"\nmsgstr \"Criar o seu próprio\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Selecionar um controlador gráfico ou deixe em branco para instalar todos os controladores de código aberto\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"O Sway precisa de acesso ao seu \\\"seat\\\" (conjunto de dispositivos de hardware, como o teclado, o rato, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Selecionar uma opção para permitir o acesso do Sway ao seu hardware\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Controlador gráfico\"\n\nmsgid \"Greeter\"\nmsgstr \"Interface gráfica de início de sessão\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Escolher qual a interface gráfica de início de sessão a instalar\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Esta é uma lista de perfis pré-programados (default_profiles)\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Configuração do disco\"\n\nmsgid \"Profiles\"\nmsgstr \"Perfis\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"A procurar possíveis diretórios para guardar os ficheiros de configuração ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Selecionar um ou mais diretórios para guardar ficheiros de configuração\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Adicionar um espelho personalizado\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Alterar espelho personalizado\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Eliminar espelho personalizado\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Inserir o nome (deixe em branco para ignorar): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Insira o url (deixe em branco para ignorar): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Selecionar a opção de verificação da assinatura\"\n\nmsgid \"Select signature option\"\nmsgstr \"Selecionar a opção de assinatura\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Espelhos personalizados\"\n\nmsgid \"Defined\"\nmsgstr \"Definido\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Guardar configuração de utilizador (incluindo esquema do disco)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Insira um diretório para a(s) configuração(ões) a guardar (preenchimento automático com a tecla tab ativado): \\n\"\n\"Guardar diretório: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Pretende guardar o(s) ficheiro(s) de configuração de {} na seguinte localização?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"A guardar ficheiros de configuração de {} para {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Espelhos\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Regiões dos espelhos\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Valor máximo   : {} ( Permite {} transferências paralelas, permite {max_downloads+1} transferências de cada vez )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Entrada inválida! Tente novamente com uma entrada válida [1 para {}, ou 0 para desativar]\"\n\nmsgid \"Locales\"\nmsgstr \"Localidades\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Usar o Gestor de Redes \\\"NetworkManager\\\" (necessário para configurar a Internet graficamente no GNOME e KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Total: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Todos os valores inseridos podem ser sufixados com uma unidade: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Se nenhuma unidade for fornecida, o valor será interpretado como setores\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Inserir o início (predefinido: sector {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Inserir o fim (predefinido: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Não foi possível determinar os dispositivos fido2. A libfido2 está instalada?\"\n\nmsgid \"Path\"\nmsgstr \"Caminho\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Fabricante\"\n\nmsgid \"Product\"\nmsgstr \"Produto\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Configuração inválida: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Tipo\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Esta opção ativa o número de transferências paralelas que podem ocorrer durante as transferências de pacotes\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Inserir o número de transferências paralelas a ativar.\\n\"\n\"\\n\"\n\"Nota:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Valor máximo recomendado : {} ( Permite {} transferências paralelas de cada vez )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Desativar/Predefinido : 0 ( Desativa as transferências paralelas, permite apenas 1 transferência de cada vez )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Entrada inválida! Tente novamente com uma entrada válida [ou 0 para desativar]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"O Hyprland precisa de acesso ao seu \\\"seat\\\" (conjunto de dispositivos de hardware, como o teclado, o rato, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Selecionar uma opção para permitir o acesso do Hyprland ao seu hardware\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Todos os valores inseridos podem ser sufixados com uma unidade: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Gostaria de usar imagens de kernel unificados?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Imagens de kernel unificados\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"À espera que a sincronização da hora (timedatectl show) seja concluída.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"A sincronização da hora não está a ser concluída, enquanto espera - consulte a documentação para obter soluções alternativas: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Ignorar a espera pela sincronização automática da hora (isto pode causar problemas se a hora estiver dessincronizada durante a instalação)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"À espera que a sincronização do chaveiro do Arch Linux (archlinux-keyring-wkd-sync) seja concluída.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Perfis selecionados: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"A sincronização da hora não está a ser concluída, enquanto espera - consulte a documentação para obter soluções alternativas: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Marcar/Desmarcar como nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Pretende utilizar a compressão ou desativar o CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"Usar compressão\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Desativar Copy-on-Write\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Disponibiliza uma seleção de ambientes gráficos e gestores de janelas em mosaico, por exemplo, GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Tipo de configuração: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Tipo de configuração LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"A encriptação de disco LVM com mais de 2 partições não é atualmente suportada\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Usar o Gestor de redes \\\"NetworkManager\\\" (necessário para configurar a Internet graficamente no GNOME e no KDE Plasma)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Selecionar uma opção LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Particionamento\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Gestão de volumes lógicos (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Volumes físicos\"\n\nmsgid \"Volumes\"\nmsgstr \"Volumes\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Volumes LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Volumes LVM a encriptar\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Selecionar os volumes LVM a encriptar\"\n\nmsgid \"Default layout\"\nmsgstr \"Estrutura predefinida\"\n\nmsgid \"No Encryption\"\nmsgstr \"Sem encriptação\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM em LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS em LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Sim\"\n\nmsgid \"No\"\nmsgstr \"Não\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Ajuda do Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (predefinição)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Prima Ctrl+h para obter ajuda\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Escolha uma opção para dar ao Sway acesso ao seu hardware\"\n\nmsgid \"Seat access\"\nmsgstr \"Acesso à estação de trabalho\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Ponto de montagem\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Introduzir a palavra-passe de encriptação do disco (deixar em branco para não haver encriptação)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Palavra-passe de encriptação do disco\"\n\nmsgid \"Partition - New\"\nmsgstr \"Partição - Nova\"\n\nmsgid \"Filesystem\"\nmsgstr \"Sistema de ficheiros\"\n\nmsgid \"Invalid size\"\nmsgstr \"Tamanho inválido\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Início (predefinido: sector {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Fim (predefinido: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Nome do subvolume\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Tipo de configuração do disco\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Diretório de montagem root\"\n\nmsgid \"Select language\"\nmsgstr \"Selecionar idioma\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Escreva pacotes adicionais a instalar (separados por espaços, deixe em branco para ignorar)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Número de transferência inválido\"\n\nmsgid \"Number downloads\"\nmsgstr \"Número de transferências\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"O nome de utilizador introduzido é inválido\"\n\nmsgid \"Username\"\nmsgstr \"Nome de utilizador\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Deverá \\\"{}\\\" ser um superutilizador (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Interfaces\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"É necessário introduzir um IP válido no modo IP-config\"\n\nmsgid \"Modes\"\nmsgstr \"Modos\"\n\nmsgid \"IP address\"\nmsgstr \"Endereço de IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Introduzir o endereço IP do gateway (router) (deixar em branco para nenhum)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Endereço do gateway\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Introduzir os servidores DNS separados por espaços (deixe em branco para nenhum)\"\n\nmsgid \"DNS servers\"\nmsgstr \"Servidores de DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Configurar interfaces\"\n\nmsgid \"Kernel\"\nmsgstr \"Kernel\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"A UEFI não foi detetada e algumas opções estão desativadas\"\n\nmsgid \"Info\"\nmsgstr \"Info\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"O controlador proprietário Nvidia não é suportado pelo Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"É provável que se depare com problemas. Está de acordo com isso?\"\n\nmsgid \"Main profile\"\nmsgstr \"Perfil principal\"\n\nmsgid \"Confirm password\"\nmsgstr \"Confirmar palavra-passe\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"A palavra-passe de confirmação não coincide, tente novamente\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Não é um diretório válido\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Gostaria de continuar?\"\n\nmsgid \"Directory\"\nmsgstr \"Diretório\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Introduzir um diretório para a(s) configuração(ões) a guardar (preenchimento com a tecla Tab ativado)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Pretende guardar o(s) ficheiro(s) de configuração em {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Ativado\"\n\nmsgid \"Disabled\"\nmsgstr \"Desativado\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Submeta este problema (e ficheiro) para https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Nome do espelho\"\n\nmsgid \"Url\"\nmsgstr \"URL\"\n\nmsgid \"Select signature check\"\nmsgstr \"Selecionar verificação de assinatura\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Selecionar modo de execução\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Prima ? para obter ajuda\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Selecionar uma opção para permitir que o Hyprland aceda ao seu hardware\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Repositórios adicionais\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap em zram\"\n\nmsgid \"Name\"\nmsgstr \"Nome\"\n\nmsgid \"Signature check\"\nmsgstr \"Verificação de assinatura\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Segmento de espaço livre selecionado no dispositivo {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Tamanho: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Tamanho (predefinido: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Dispositivo HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Alguns pacotes não foram encontrados no repositório\"\n\nmsgid \"User\"\nmsgstr \"Utilizador\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"A configuração especificada vai ser aplicada\"\n\nmsgid \"Wipe\"\nmsgstr \"Apagar\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Marcar/Desmarcar como XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"A carregar pacotes...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Selecionar na lista abaixo os pacotes que devem ser instalados adicionalmente\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Adicionar um repositório personalizado\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Alterar repositório personalizado\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Eliminar repositório personalizado\"\n\nmsgid \"Repository name\"\nmsgstr \"Nome do repositório\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Adicionar um servidor personalizado\"\n\nmsgid \"Change custom server\"\nmsgstr \"Alterar servidor personalizado\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Eliminar servidor personalizado\"\n\nmsgid \"Server url\"\nmsgstr \"URL do servidor\"\n\nmsgid \"Select regions\"\nmsgstr \"Selecionar regiões\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Adicionar servidores personalizados\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Adicionar repositório personalizado\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"A carregar regiões dos espelhos...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Espelhos e repositórios\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Regiões de espelhos selecionadas\"\n\nmsgid \"Custom servers\"\nmsgstr \"Servidores personalizados\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Repositórios personalizados\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Apenas caracteres ASCII são suportados\"\n\nmsgid \"Show help\"\nmsgstr \"Mostrar ajuda\"\n\nmsgid \"Exit help\"\nmsgstr \"Sair da ajuda\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Rolar visualização para cima\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Rolar visualização para baixo\"\n\nmsgid \"Move up\"\nmsgstr \"Mover para cima\"\n\nmsgid \"Move down\"\nmsgstr \"Mover para baixo\"\n\nmsgid \"Move right\"\nmsgstr \"Mover para a direita\"\n\nmsgid \"Move left\"\nmsgstr \"Mover para a esquerda\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Ir para entrada\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Ignorar seleção (se disponível)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Repor seleção (se disponível)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Selecionar em escolha única\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Selecionar em múltipla escolha\"\n\nmsgid \"Reset\"\nmsgstr \"Repor\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Ignorar menu de seleção\"\n\nmsgid \"Start search mode\"\nmsgstr \"Iniciar modo de pesquisa\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Sair do modo de pesquisa\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"O labwc precisa de acesso ao seu seat (conjunto de dispositivos de hardware, como teclado, rato etc.)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Escolha uma opção para conceder ao labwc acesso ao seu hardware\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"O niri precisa de acesso ao seu seat (conjunto de dispositivos de hardware, como teclado, rato etc.)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Escolha uma opção para conceder ao niri acesso ao seu hardware\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Marcar/Desmarcar como ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"Grupo de pacotes:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Sair do archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"Reiniciar sistema\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Entrar em chroot na instalação para configurações pós-instalação\"\n\nmsgid \"Installation completed\"\nmsgstr \"Instalação concluída\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"O que gostaria de fazer a seguir?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Selecione qual modo configurar para \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Palavra-passe incorreta para desencriptar o ficheiro de credenciais\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Palavra-passe incorreta\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Palavra-passe para desencriptar o ficheiro de credenciais\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Pretende desencriptar o ficheiro user_credentials.json?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Palavra-passe de encriptação do ficheiro de credenciais\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repositórios: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Nova versão disponível\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Autenticação sem palavra-passe\"\n\nmsgid \"Second factor login\"\nmsgstr \"Início de sessão com segundo fator\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Pretende configurar o Bluetooth?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Pretende configurar o Bluetooth?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Gestão de partições: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"Autenticação\"\n\nmsgid \"Applications\"\nmsgstr \"Aplicacões\"\n\nmsgid \"U2F login method: \"\nmsgstr \"Método de login U2F:\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo sem palavra-passe:\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Tipo de snapshot Btrfs: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"A sincronizar o sistema…\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"O valor não pode estar vazio\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Tipo de snapshot\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Tipo de snapshot: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Configuração do início de sessão U2F\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Não foram encontrados dispositivos U2F\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"Método de início de sessão U2F\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Ativar sudo sem palavra-passe?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"A configurar o dispositivo U2F para o utilizador: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\nmsgid \"No network connection found\"\nmsgstr \"Não foi encontrada nenhuma ligação de rede\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Pretende ligar-se a uma rede Wi-Fi?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Não foi encontrada nenhuma interface Wi-Fi\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Selecionar a rede Wi-Fi à qual ligar\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Não foram encontradas redes Wi-Fi\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Introduza a palavra-passe da rede Wi-Fi\"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Idioma de localização\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Apenas pacotes como base, base-devel, linux, linux-firmware, efibootmgr e pacotes opcionais de perfil são instalados.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Selecionar um ponto de montagem :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/pt_BR/LC_MESSAGES/base.po",
    "content": "# Translators:\n#  @Cain-dev (cain-dev.github.io)\n#  Rafael Fontenelle <rafaelff@gnome.org>\n#  Jefferson Michael <github.com/jeffersonjpr>\n#  Diogo Silva <github.com/Diogo-ss>\n#  Mário Victor Ribeiro Silva <github.com/ComicShrimp>\n#  Rafael Fontenelle <rafaelff@gnome.org>, 2023.\n#  Luis Antonio <github.com/zaorinu>\n#  Luiz Felipe <github.com/LuizWT>, 2025.\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: archinstall\\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: 2026-02-10 09:26-0300\\n\"\n\"Last-Translator: Mário Victor Ribeiro Silva <mariovictorrs@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: pt_BR\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n > 1);\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Um arquivo de registro foi criado aqui: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Por favor, envie este problema (e o arquivo) para: https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Tem certeza de que deseja abortar?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Digite novamente para confirmação: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Deseja usar zram como swap?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Nome do computador (hostname) desejado para a instalação: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Nome de usuário para a conta administrativa (sudo): \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Criar usuários adicionais (deixe em branco para nenhum): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Este usuário deve ter previlégios de administrador? (sudo)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Selecione o fuso horário\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Deseja usar o GRUB como bootloader em vez do systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Escolha um bootloader\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Escolha um servidor de áudio\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Apenas pacotes como base, base-devel, linux, linux-firmware, efibootmgr e pacotes opcionais de perfil são instalados.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"Observação: o pacote base-devel não é mais instalado por padrão. Adicione-o aqui se precisar de ferramentas de compilação.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Se quiser um navegador web, como Firefox ou Chromium, especifique-o no próximo prompt.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Digite pacotes adicionais para instalar (separados por espaço, deixe em branco para pular): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Copiar a configuração de rede da ISO para a instalação\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Usar NetworkManager (necessário para configurar internet graficamente no GNOME e KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Selecione uma interface de rede para configurar\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Selecione qual modo configurar para \\\"{}\\\" ou pule para usar o modo padrão \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Digite o IP e a sub-rede para {} (exemplo: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Digite o IP do gateway (roteador) ou deixe em branco para nenhum: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Digite os servidores DNS (separados por espaço, deixe em branco para nenhum): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Selecione qual sistema de arquivos a partição principal deverá usar\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Layout de partições atual\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Selecione o que fazer com\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Digite o tipo de sistema de arquivos desejado para a partição\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Digite o local inicial (em unidades do parted: s, GB, %, etc. ; padrão: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Digite o local final (em unidades do parted: s, GB, %, etc. ; exemplo: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} contém partições na fila; isso irá removê‑las. Tem certeza?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecione por índice quais partições deletar\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecione por índice quais partições montar em\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Os pontos de montagem são relativos ao sistema instalado; por exemplo, boot fica em /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Selecione onde montar a partição (deixe em branco para remover o ponto de montagem): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecione qual partição mascarar para formatar\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecione qual partição marcar como encriptada\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecione qual partição marcar como inicializável\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecione qual partição definir um sistema de arquivos\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Insira o tipo de sistema de arquivos desejado para a partição: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Idioma do Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Apagar todos os discos selecionados e usar um esquema de partições padrão de melhor desempenho\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Selecione o que fazer com cada disco individual (seguido de uso da partição)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Selecione o que deseja fazer com os dispositivos de bloco selecionados\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Esta é uma lista de perfis pré-programados, que podem por exemplo facilitar a instalação de ambientes gráficos\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Selecione o layout de teclado\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Selecione uma das regiões para baixar os pacotes\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Selecione um ou mais discos rígidos para usar e configurar\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Para melhor compatibilidade com seu hardware AMD, recomenda-se usar a opção totalmente open source ou as opções AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Para melhor compatibilidade com seu hardware Intel, recomenda-se usar a opção totalmente open source ou as opções Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Para melhor compatibilidade com seu hardware Nvidia, recomenda-se usar o driver proprietário da Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Selecione um driver de vídeo ou deixe em branco para instalar os drivers completamente open-source\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Tudo open-source (padrão)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Escolhe quais kernels usar ou deixe em branco para o kernel padrão \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Escolha qual idioma de localização usar\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Escolha qual codificação de localização usar\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Selecione uma dos valores mostrados abaixo: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Selecione uma ou mais das opções abaixo: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Adicionando partição....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Você precisa definir um tipo de sistema de arquivo válido. Consulte o `man parted` para verificar os tipos de sistemas de arquivo válido.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Erro: Listando os perfis em URL \\\"{}\\\" resulta em:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Erro: Não foi possível decodificar \\\"{}\\\" como JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Layout do teclado\"\n\nmsgid \"Mirror region\"\nmsgstr \"Região do mirror\"\n\nmsgid \"Locale language\"\nmsgstr \"Idioma de localização\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Codificação de localização\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Unidades de armazenamento\"\n\nmsgid \"Disk layout\"\nmsgstr \"Layout da unidade\"\n\nmsgid \"Encryption password\"\nmsgstr \"Senha de encriptação\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Inicializador\"\n\nmsgid \"Root password\"\nmsgstr \"Senha de root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Conta de superusuário\"\n\nmsgid \"User account\"\nmsgstr \"Conta de usuário\"\n\nmsgid \"Profile\"\nmsgstr \"Perfil\"\n\nmsgid \"Audio\"\nmsgstr \"Áudio\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernels\"\n\nmsgid \"Additional packages\"\nmsgstr \"Pacotes adicionais\"\n\nmsgid \"Network configuration\"\nmsgstr \"Configuração de rede\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Sincronização automática de tempo (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Instalar ({} configuração(s) em falta)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Você decidiu ignorar a seleção de disco rígido\\n\"\n\"e usar qualquer configuração de disco rígido montada em {} (experimental)\\n\"\n\"ATENÇÃO: O Archinstall não verifica a viabilidade desta configuração\\n\"\n\"Deseja continuar?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Reutilizando a instância da partição: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Criar uma nova partição\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Deletar uma partição\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Limpar/Deletar todas as partições\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Atribuir um ponto de montagem para uma partição\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Marcar/Desmarcar uma partição para ser formatada (apaga os dados)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Marcar/Desmarcar uma partição como encriptada\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Marcar/Desmarcar uma partição como inicializável (automática para /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Definir o sistema de arquivos desejado para uma partição\"\n\nmsgid \"Abort\"\nmsgstr \"Cancelar\"\n\nmsgid \"Hostname\"\nmsgstr \"Nome do computador (hostname)\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Não configurado, indisponível a não ser que seja configurado manualmente\"\n\nmsgid \"Timezone\"\nmsgstr \"Fuso horário\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Definir/Modificar as opções abaixo\"\n\nmsgid \"Install\"\nmsgstr \"Instalar\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Use ESC para pular\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Sugerir esquema de partição\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Digite uma senha: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Digite uma senha de encriptação para {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Digite a senha de encriptação do disco (deixe em branco para não encriptar): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Criar um superusuário requerido com privilégios de sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Digite uma senha de root (deixe em branco para desativar root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Senha para o usuário \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Verificando se existem pacotes adicionais (isto pode demorar alguns segundos)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Deseja usar sincronização de tempo automática (NTP) com os servidores de tempo padrão?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"A hora de hardware e outros passos de pós-configuração podem ser necessários para que o NTP funcione.\\n\"\n\"Para mais informações, por favor visite a wiki do Arch\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Digite um nome de usuário para criar um usuário adicional (deixe em branco para pular): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Use ESC para pular\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Escolha um objeto da lista, e selecione uma das ações disponíveis para executar\"\n\nmsgid \"Cancel\"\nmsgstr \"Cancelar\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Confirmar e sair\"\n\nmsgid \"Add\"\nmsgstr \"Adicionar\"\n\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\nmsgid \"Edit\"\nmsgstr \"Editar\"\n\nmsgid \"Delete\"\nmsgstr \"Deletar\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Selecione uma ação para '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Copiar para nova chave:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Tipo de NIC desconhecido: {}. Possíveis valores são {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Esta é a configuração escolhida escolhida por você:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"O Pacman já está em execução, aguarde no máximo até 10 minutos para terminar.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"A trava pré-existente do Pacman não terminou. Por favor, limpe as sessões de pacman existentes antes de usar o archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Escolha quais repositórios adicionais opcionais ativar\"\n\nmsgid \"Add a user\"\nmsgstr \"Adicionar usuário\"\n\nmsgid \"Change password\"\nmsgstr \"Mudar senha\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Promover/Rebaixar usuário\"\n\nmsgid \"Delete User\"\nmsgstr \"Deletar usuário\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Definir um novo usuário\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Nome de usuário : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"{} deve ser um superusuário (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Defina usuários com privilégio sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Nenhuma configuração de rede\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Definir subvolumes desejados numa partição btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selecione em qual partição definir subvolumes\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Administrar subvolumes btrfs para a partição atual\"\n\nmsgid \"No configuration\"\nmsgstr \"Nenhuma configuração\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Salvar configuração de usuário\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Salvar credenciais de usuário\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Salvar layout de disco\"\n\nmsgid \"Save all\"\nmsgstr \"Salvar tudo\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Escolha qual configuração salvar\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Digite um diretório para as configurações serem salvas: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Não é um diretório válido: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"A senha que está usando parece ser fraca,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"tem certeza que deseja usá-la?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Repositórios opcionais\"\n\nmsgid \"Save configuration\"\nmsgstr \"Salvar configuração\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Configurações em falta:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Deve se especificar uma senha de root ou pelo menos 1 superusuário\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Administrar contas de superusuário: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Administrar contas de usuário padrão: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolume :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" montado em {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" com opção {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Preencha os valores desejados para um novo subvolume \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Nome do subvolume \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Ponto de montagem do subvolume\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Opções do subvolume\"\n\nmsgid \"Save\"\nmsgstr \"Salvar\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Nome do subvolume :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Selecione um ponto de montagem :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Selecione as opções desejadas do subvolume \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Defina usuários com privilégio sudo, por nome de usuário: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Um arquivo de log foi criado aqui: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Deseja usar subvolumes BTRFS com a estrutura padrão?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Deseja usar a compressão BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Deseja criar uma partição separada para /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"As unidades selecionadas não tem a capacidade mínima para sugestão automática\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Capacidade mínima para partição /home : {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Capacidade mínima para a partição do Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Continuar\"\n\nmsgid \"yes\"\nmsgstr \"sim\"\n\nmsgid \"no\"\nmsgstr \"não\"\n\nmsgid \"set: {}\"\nmsgstr \"definir: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"O ajuste de configuração manual deve ser em lista\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Nenhum iface especificado para configuração manual\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"A configuração manual de NIC sem DHCP automático requer um endereço IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Adicionar interface\"\n\nmsgid \"Edit interface\"\nmsgstr \"Editar interface\"\n\nmsgid \"Delete interface\"\nmsgstr \"Deletar interface\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Selecione interface para adicionar\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Configuração manual\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Marcar/desmarcar a partição como comprimida (apenas btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"A senha que você está usando parece ser fraca, tem certeza que deseja utilizá-la?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Proporciona uma seleção de ambientes gráficos e gerenciadores de janela como por exemplo gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Selecione o ambiente gráfico desejado\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Uma instalação bem básica que permite a você customizar o Arch Linux como desejar.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Proporciona uma seleção de diversos pacotes de servidor para instalar e habilitar como por exemplo httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Selecione quais servidores instalar, se há nenhum uma instalação mínima será feita\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Instala um sistema mínimo assim como xorg e drivers de vídeo.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Tecle Enter para continuar.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Deseja fazer chroot para a nova instalação e realizar configurações pós-instalação?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Tem certeza que desejar redefinir essa configuração?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Selecione uma ou mais unidades para usar e configurar\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Quaisquer modificações para configurações existentes vão redefinir o layout de disco!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Se você redefinir a seleção de unidades isso também redefinirá o layout da unidade atual. Tem certeza?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Salvar e sair\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"contém partições enfileiradas, isso irá removê-las, tem certeza?\"\n\nmsgid \"No audio server\"\nmsgstr \"Sem servidor de áudio\"\n\nmsgid \"(default)\"\nmsgstr \"(padrão)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Use ESC para pular\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Use CTRL+C para redefinir a seleção atual\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Copiar para: \"\n\nmsgid \"Edit: \"\nmsgstr \"Editar: \"\n\nmsgid \"Key: \"\nmsgstr \"Chave: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Editar {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Adicionar: \"\n\nmsgid \"Value: \"\nmsgstr \"Valor: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Você pode ignorar a seleção de unidade e particionar seja lá o que estiver montado em /mnt (experimental)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Selecione um dos discos ou ignore e use /mnt como padrão\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Selecione quais partições marcar para formatar:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Usar HSM para desbloquear unidade encriptada\"\n\nmsgid \"Device\"\nmsgstr \"Dispositivo\"\n\nmsgid \"Size\"\nmsgstr \"Tamanho\"\n\nmsgid \"Free space\"\nmsgstr \"Espaço livre\"\n\nmsgid \"Bus-type\"\nmsgstr \"Tipo de barramento\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Deve-se especificar uma senha de root ou pelo menos 1 usuário com privilégios de sudo\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Digite um nome de usuário (deixe em branco para pular): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"O nome de usuário que você digitou é inválido. Tente novamente\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\\\"{}\\\" deve ser um superusuário (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Selecione quais partições encriptar\"\n\nmsgid \"very weak\"\nmsgstr \"muito fraca\"\n\nmsgid \"weak\"\nmsgstr \"fraca\"\n\nmsgid \"moderate\"\nmsgstr \"moderada\"\n\nmsgid \"strong\"\nmsgstr \"forte\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Adicionar subvolume\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Editar subvolume\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Deletar subvolume\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"{} interfaces configuradas\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Esta opção habilita o número de downloads paralelos que podem ocorrer durante a instalação\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Insira o número de downloads paralelos para serem habilitados.\\n\"\n\" (Insira um valor entre 1 e {})\\n\"\n\"Observação:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Valor máximo   : {} ( Permite {} downloads paralelos, permite {} downloads por vez )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Valor mínimo   : 1 ( Permite 1 download paralelo, permite 2 downloads por vez )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Desativar/Padrão : 0 ( Desativa os downloads paralelos, permite apenas 1 download por vez )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Entrada inválida! Tente novamente com uma entrada válida [1 para {max_downloads}, ou 0 para desativar]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Downloads Paralelos\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC para sair\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C para reiniciar\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB para selecionar\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Valor padrão: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Para poder usar esta tradução, instale manualmente uma fonte que suporte o idioma.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"A fonte deve ser armazenada como {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"O Archinstall requer privilégios de root para ser executado. Consulte --help para mais informações.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Selecione um modo de execução\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Não foi possível obter o perfil a partir da URL especificada: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Os perfis devem ter nomes únicos, mas foram encontradas definições de perfil com nomes duplicados: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Selecione um ou mais dispositivos para usar e configurar\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Se você redefinir a seleção de dispositivo isso também redefinirá o layout do dispositivo atual. Tem certeza?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Partições existentes\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Selecione uma opção de particionamento\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Digite o diretório raiz dos dispositivos montados: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Capacidade mínima para partição /home : {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Capacidade mínima para a partição do Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Esta é uma lista de perfis pré-programados, que podem por exemplo facilitar a instalação de ambientes gráficos\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Seleção de perfil atual\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Remova todas as partições recém-adicionadas\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Atribuir um ponto de montagem\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Marcar/Desmarcar para ser formatada (apaga os dados)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Marcar/desmarcar como inicializável\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Mudar arquivo do sistema\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Marcar/desmarcar como comprimida (apenas btrfs)\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Definir subvolumes\"\n\nmsgid \"Delete partition\"\nmsgstr \"Deletar partição\"\n\nmsgid \"Partition\"\nmsgstr \"Partição\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Esta partição está criptografada. Para formatá-la, um sistema de arquivos deve ser especificado\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Os pontos de montagem das partições são relativos aos de dentro da instalação, boot por exemplo seria /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Se o ponto de montagem /boot for definido, a partição também será marcada como inicializável.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Ponto de montagem: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Setores livres no dispositivo {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Total de setores: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Digite o setor de início (padrão: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Digite o setor final da partição (porcentagem ou número de bloco, padrão: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Isso irá remover todas as partições recém-adicionadas, continuar?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Gerenciamento de partições: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Tamanho total: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Tipo de encriptação\"\n\nmsgid \"Iteration time\"\nmsgstr \"Tempo de iteração\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Insira o tempo de iteração para a criptografia LUKS (em milissegundos)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Valores mais altos aumentam a segurança, mas tornam o tempo de inicialização mais lento\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Valor padrão: 10000 ms, intervalo recomendado: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"O tempo de iteração não pode ser vazio\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"O tempo de iteração deve ser de pelo menos 100ms\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"O tempo de iteração deve ser de no máximo 120000ms\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Por favor, insira um número válido\"\n\nmsgid \"Partitions\"\nmsgstr \"Partições\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Nenhum dispositivo HSM disponível\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Partições a serem encriptadas\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Selecione a opção de encriptação de disco\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Selecione um dispositivo FIDO2 para usar como HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Usar um esquema de partições padrão de melhor desempenho\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Particionamento manual\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Configuração pré-montada\"\n\nmsgid \"Unknown\"\nmsgstr \"Desconhecido\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Encriptação de partição\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formatando {} em \"\n\nmsgid \"← Back\"\nmsgstr \"← Voltar\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Encriptação de disco\"\n\nmsgid \"Configuration\"\nmsgstr \"Configuração\"\n\nmsgid \"Password\"\nmsgstr \"Senha\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Todas as configurações serão redefinidas, tem certeza?\"\n\nmsgid \"Back\"\nmsgstr \"Voltar\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Por favor, escolha qual greeter instalar para os perfis escolhidos: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Tipo de ambiente: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"O driver proprietário Nvidia não é suportado pelo Sway. É provável que você encontre problemas. Você está de acordo com isso?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Pacotes instalados\"\n\nmsgid \"Add profile\"\nmsgstr \"Adicionar perfil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Editar perfil\"\n\nmsgid \"Delete profile\"\nmsgstr \"Deletar perfil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Nome do perfil: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"O nome do perfil que você digitou já esta em uso. Tente novamente\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Pacotes a serem instalados com este perfil (separados por espaço, deixe em branco para pular): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Serviços a serem ativados com este perfil (separados por espaço, deixe em branco para pular): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Este perfil deve ser ativado para instalação?\"\n\nmsgid \"Create your own\"\nmsgstr \"Crie o seu próprio\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Selecione um driver gráfico ou deixe em branco para instalar todos os drivers de código aberto\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"O Sway precisa de acesso ao seu seat (conjunto de dispositivos de hardware, como teclado, mouse, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Selecione uma opção para permitir o acesso do Sway ao seu hardware\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Driver gráfico\"\n\nmsgid \"Greeter\"\nmsgstr \"Greeter\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Por favor, escolha qual greeter instalar\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Esta é uma lista de perfis pré-programados (default_profiles)\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Configuração do disco\"\n\nmsgid \"Profiles\"\nmsgstr \"Perfis\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Procurando possiveis diretórios para salvar os arquivos de configuração ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Selecione um ou mais diretórios para salvar arquivos de configuração\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Adicionar mirror personalizado\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Alterar mirror personalizado\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Excluir mirror personalizado\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Digite o nome (deixe em branco para pular): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Digite a url (deixe em branco para pular): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Selecione uma opção de verificação de assinatura\"\n\nmsgid \"Select signature option\"\nmsgstr \"Selecione uma opção de assinatura\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Mirrors personalizados\"\n\nmsgid \"Defined\"\nmsgstr \"Definido\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Salvar configuração de usuário (incluindo layout do disco)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Digite um diretório para as configurações serem salvas (completamento de tab ativado): \\n\"\n\"Salvar diretório: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Você deseja salvar arquivo(s) de configuração de {} nos locais a seguir?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Salvando arquivos de configuração de {} para {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Mirrors\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Regiões dos mirrors\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Valor máximo   : {} ( Permite {} downloads paralelos, permite {max_downloads+1} downloads por vez )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Entrada inválida! Tente novamente com uma entrada válida [1 para {}, ou 0 para desativar]\"\n\nmsgid \"Locales\"\nmsgstr \"Localidades\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Usar NetworkManager (necessário para configurar internet graficamente no GNOME e KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Total: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Todos os valores inseridos podem ser seguidos por uma unidade: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Se nenhuma unidade for fornecida, o valor será interpretado como setores\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Digite o início (padrão: setor {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Digite fim (padrão: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Incapaz de determinar dispositivos FIDO2. O libfido2 está instalado?\"\n\nmsgid \"Path\"\nmsgstr \"Caminho\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Fabricante\"\n\nmsgid \"Product\"\nmsgstr \"Produto\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Configuração inválida: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Tipo\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Esta opção habilita o número de downloads paralelos que podem ocorrer durante os downloads de pacotes\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Insira o número de downloads paralelos para serem habilitados.\\n\"\n\"\\n\"\n\"Observação:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Valor máximo recomendado : {} ( Permite {} downloads paralelos por vez )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Desativar/Padrão : 0 ( Desativa os downloads paralelos, permite apenas 1 download por vez )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Entrada inválida! Tente novamente com uma entrada válida [ou 0 para desativar]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"O Hyprland precisa de acesso ao seu seat (conjunto de dispositivos de hardware, como teclado, mouse, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Selecione uma opção para permitir o acesso do Hyprland ao seu hardware\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Todos os valores inseridos podem ser seguidos por uma unidade: B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Deseja usar imagens de kernel unificados?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Imagens de kernel unificados\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Aguardando a sincronização do fuso horário (timedatectl show) ser concluida.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Sincronização de fuso horário não concluída, enquanto você espera - confira a documentação para soluções alternativas: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Pulando a espera pela sincronização automática de fuso horário (isso pode causar problemas se o fuso horário estiver desincronizado durante a instalação)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Aguardando a sincronização do Arch Linux Keyring (archlinux-keyring-wkd-sync) ser concluída.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Perfis selecionados: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Sincronização de fuso horário não concluída, enquanto você espera - confira a documentação para soluções alternativas: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Marcar/desmarcar como nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Você gostaria de usar compressão ou desativar a Cópia na Gravação?\"\n\nmsgid \"Use compression\"\nmsgstr \"Usar compressão\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Desativar Cópia na Gravação\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Proporciona uma seleção de ambientes gráficos e gerenciadores de janela como por exemplo gnome, kde, sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Tipo de configuração: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Tipo de configuração LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"No momento, não há suporte para a criptografia de disco LVM com mais de duas partições\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Usar NetworkManager (necessário para configurar internet graficamente no GNOME e KDE)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Selecione uma opção de LVM (Gerenciador de Volume Logico)\"\n\nmsgid \"Partitioning\"\nmsgstr \"Particionamento\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Gerenciamento de Volume Lógico (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Volumes físicos\"\n\nmsgid \"Volumes\"\nmsgstr \"Volumes\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Volumes LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Volumes LVM a serem encriptados\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Selecione quais volumes LVM encriptar\"\n\nmsgid \"Default layout\"\nmsgstr \"Layout padrão\"\n\nmsgid \"No Encryption\"\nmsgstr \"Sem encriptação\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM em LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS em LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Sim\"\n\nmsgid \"No\"\nmsgstr \"Não\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Ajuda do archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (padrão)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Pressione Ctrl+h para ajuda\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Selecione uma opção para permitir o acesso do Sway ao seu hardware\"\n\nmsgid \"Seat access\"\nmsgstr \"Acesso ao seat\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Ponto de montagem\"\n\nmsgid \"HSM\"\nmsgstr \"Dispositivo HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Digite a senha de encriptação do disco (deixe em branco para não encriptar):\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Senha de encriptação do disco\"\n\nmsgid \"Partition - New\"\nmsgstr \"Partição - Nova\"\n\nmsgid \"Filesystem\"\nmsgstr \"Sistema de arquivos\"\n\nmsgid \"Invalid size\"\nmsgstr \"Tamanho inválido\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Início (padrão: setor {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Fim (padrão: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Nome do subvolume\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Tipo de configuração do disco\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Diretório de montagem root\"\n\nmsgid \"Select language\"\nmsgstr \"Selecione uma linguagem\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Digite pacotes adicionais para instalar (separados por espaço, deixe em branco para pular):\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Número de download inválido\"\n\nmsgid \"Number downloads\"\nmsgstr \"Número de downloads\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"O nome de usuário que você digitou é inválido\"\n\nmsgid \"Username\"\nmsgstr \"Nome de usuário\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"\\\"{}\\\" deve ser um superusuário (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Interfaces\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Você precisa fornecer um IP válido no modo IP-config\"\n\nmsgid \"Modes\"\nmsgstr \"Modos\"\n\nmsgid \"IP address\"\nmsgstr \"Endereço IP\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Digite o seu IP de gateway (roteador) (deixe em branco para nenhum)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Endereço Gateway\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Digite os servidores DNS, separados por espaço, (deixe em branco para nenhum):\"\n\nmsgid \"DNS servers\"\nmsgstr \"Servidores DNS\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Configurar interfaces\"\n\nmsgid \"Kernel\"\nmsgstr \"Kernel\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI não foi detectado e algumas opções estão desabilitadas\"\n\nmsgid \"Info\"\nmsgstr \"Informação\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"O driver proprietário Nvidia não é suportado pelo Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"É provável que você encontre problemas. Você está de acordo com isso?\"\n\nmsgid \"Main profile\"\nmsgstr \"Perfil principal\"\n\nmsgid \"Confirm password\"\nmsgstr \"Confirmar senha\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"A senha de confirmação não correspondeu, por favor tente novamente\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Não é um diretório válido\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Deseja continuar?\"\n\nmsgid \"Directory\"\nmsgstr \"Diretório\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Digite um diretório para as configurações serem salvas (completamento de tab ativado):\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Você deseja salvar arquivo(s) de configuração para {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Habilitado\"\n\nmsgid \"Disabled\"\nmsgstr \"Desabilitado\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Por favor, envie este problema (e o arquivo) para: https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Nome do Mirror\"\n\nmsgid \"Url\"\nmsgstr \"Url\"\n\nmsgid \"Select signature check\"\nmsgstr \"Selecione uma opção de verificação de assinatura\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Selecione um modo de execução\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Pressione ? para ajuda\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Selecione uma opção para permitir que Hyprland acesse seu hardware\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Repositórios adicionais\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap em zram\"\n\nmsgid \"Name\"\nmsgstr \"Nome\"\n\nmsgid \"Signature check\"\nmsgstr \"Verificação de assinatura\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Segmento de espaço livre selecionado no dispositivo {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Tamanho: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Tamanho (padrão: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Dispositivo HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Alguns pacotes não foram encontrados no repositório\"\n\nmsgid \"User\"\nmsgstr \"Usuário\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"A configuração especificada vai ser aplicada\"\n\nmsgid \"Wipe\"\nmsgstr \"Apagar\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Marcar/Desmarcar como XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Carregando pacotes...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Selecione na lista abaixo os pacotes que devem ser instalados adicionalmente\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Adicionar repositório personalizado\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Alterar repositório personalizado\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Remover repositório personalizado\"\n\nmsgid \"Repository name\"\nmsgstr \"Nome do repositório\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Adicionar servidor personalizado\"\n\nmsgid \"Change custom server\"\nmsgstr \"Alterar servidor personalizado\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Remover servidor personalizado\"\n\nmsgid \"Server url\"\nmsgstr \"URL do servidor\"\n\nmsgid \"Select regions\"\nmsgstr \"Selecionar regiões\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Adicionar servidores personalizados\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Adicionar repositório personalizado\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Carregando regiões dos mirrors...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Mirrors e repositórios\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Regiões dos mirrors selecionadas\"\n\nmsgid \"Custom servers\"\nmsgstr \"Servidores personalizados\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Repositórios personalizados\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Apenas caracteres ASCII são suportados\"\n\nmsgid \"Show help\"\nmsgstr \"Mostrar ajuda\"\n\nmsgid \"Exit help\"\nmsgstr \"Sair da ajuda\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Rolar visualização para cima\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Rolar visualização para baixo\"\n\nmsgid \"Move up\"\nmsgstr \"Mover para cima\"\n\nmsgid \"Move down\"\nmsgstr \"Mover para baixo\"\n\nmsgid \"Move right\"\nmsgstr \"Mover para a direita\"\n\nmsgid \"Move left\"\nmsgstr \"Mover para a esquerda\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Ir para entrada\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Pular seleção (se disponível)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Redefinir seleção (se disponível)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Selecionar em escolha única\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Selecionar em múltipla escolha\"\n\nmsgid \"Reset\"\nmsgstr \"Redefinir\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Pular menu de seleção\"\n\nmsgid \"Start search mode\"\nmsgstr \"Iniciar modo de busca\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Sair do modo de busca\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc precisa de acesso ao seu seat (conjunto de dispositivos de hardware, como teclado, mouse etc.)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Escolha uma opção para conceder ao labwc acesso ao seu hardware\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri precisa de acesso ao seu seat (conjunto de dispositivos de hardware, como teclado, mouse etc.)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Escolha uma opção para conceder ao niri acesso ao seu hardware\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Marcar/Desmarcar como ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"Grupo de pacotes:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Sair do archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"Reiniciar o sistema\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"entrar em chroot na instalação para configurações pós-instalação\"\n\nmsgid \"Installation completed\"\nmsgstr \"Instalação concluída\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"O que você gostaria de fazer a seguir?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Selecione qual modo configurar para \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Senha incorreta para descriptografar o arquivo de credenciais\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Senha incorreta\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Senha para descriptografar o arquivo de credenciais\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Você deseja criptografar o arquivo user_credentials.json?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Senha para criptografar o arquivo de credenciais\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repositórios: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Nova versão disponível\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Login sem senha\"\n\nmsgid \"Second factor login\"\nmsgstr \"Autenticação de dois fatores\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Deseja configurar o Bluetooth?\"\n\nmsgid \"Print service\"\nmsgstr \"Serviço de impressão\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Deseja configurar o serviço de impressão?\"\n\nmsgid \"Power management\"\nmsgstr \"Gerenciamento de energia\"\n\nmsgid \"Authentication\"\nmsgstr \"Autenticação\"\n\nmsgid \"Applications\"\nmsgstr \"Aplicativos\"\n\nmsgid \"U2F login method: \"\nmsgstr \"Método de login U2F: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo sem senha: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Tipo de snapshot Btrfs: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Sincronizando o sistema...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Valor não pode estar vazio\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Tipo de snapshot\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Tipo de snapshot: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Configuração de login U2F\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Nenhum dispositivo U2F encontrado\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"Método de login U2F\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Habilitar sudo sem senha?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Configurando dispositivo U2F para o usuário: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Talvez seja necessário inserir o PIN e, em seguida, tocar no seu dispositivo U2F para registrá-lo\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Iniciando modificações no dispositivo em \"\n\nmsgid \"No network connection found\"\nmsgstr \"Nenhuma conexão de rede encontrada\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Deseja se conectar a uma rede Wi-Fi?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Nenhuma interface Wi-Fi encontrada\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Selecione a rede Wi-Fi à qual deseja se conectar\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Escaneando redes wifi...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Nenhuma rede Wi-Fi encontrada\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Falha ao configurar o Wi-Fi\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Digite a senha do Wi-Fi\"\n\nmsgid \"Ok\"\nmsgstr \"Ok\"\n\nmsgid \"Removable\"\nmsgstr \"Removível\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Instalar em local removível\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"Será instalado em /EFI/BOOT/ (local removível)\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"Será instalado no local padrão com entrada na NVRAM\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"Você gostaria de instalar o bootloader no local padrão de busca de mídia removível?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Isso instala o bootloader em /EFI/BOOT/BOOTX64.EFI (ou similar), o que é útil para:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"Pendrives USB ou outras mídias externas portáteis.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Sistemas nos quais você deseja que o disco seja inicializável em qualquer computador.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Firmware que não oferece suporte adequado a entradas de boot na NVRAM.\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"Será instalado em /EFI/BOOT/ (local removível, padrão seguro)\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"Será instalado em um local personalizado com entrada NVRAM\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Firmware que não oferece suporte adequado a entradas de boot na NVRAM,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"a maioria dos Macs da Apple, muitos laptops...\"\n\nmsgid \"Language\"\nmsgstr \"Idioma\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"Algorítimo de compressão\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Apenas pacotes como base, base-devel, linux, linux-firmware, efibootmgr e pacotes opcionais de perfil são instalados.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Selecione o algoritmo de compressão zram:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"Use o Network Manager (default backend)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"Use o Network Manager (iwd backend)\"\n\nmsgid \"Firewall\"\nmsgstr \"Firewall\"\n\nmsgid \"Select audio configuration\"\nmsgstr \"Selecione a configuração de áudio\"\n\nmsgid \"Enter credentials file decryption password\"\nmsgstr \"Senha para descriptografar o arquivo de credenciais\"\n\nmsgid \"Enter root password\"\nmsgstr \"Digite uma senha do root\"\n\nmsgid \"Select bootloader to install\"\nmsgstr \"Selecione o bootloader para instalar\"\n\nmsgid \"Configuration preview\"\nmsgstr \"Pré-visualização da configuração\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved\"\nmsgstr \"Digite um diretório para as configurações serem salvas\"\n\nmsgid \"Select encryption type\"\nmsgstr \"Selecione o tipo de criptografia\"\n\nmsgid \"Select disks for the installation\"\nmsgstr \"Selecione os discos para a instalação\"\n\nmsgid \"Enter a mountpoint\"\nmsgstr \"Selecione um ponto de montagem\"\n\n#, python-brace-format\nmsgid \"Enter a size (default: {}): \"\nmsgstr \"Insira um tamanho (padrão: {}): \"\n\nmsgid \"Enter subvolume name\"\nmsgstr \"Insira o nome do subvolume\"\n\nmsgid \"Enter subvolume mountpoint\"\nmsgstr \"Insira o ponto de montagem do subvolume\"\n\nmsgid \"Select a disk configuration\"\nmsgstr \"Selecione uma configuração de disco\"\n\nmsgid \"Enter root mount directory\"\nmsgstr \"Digite o diretório de montagem raiz\"\n\nmsgid \"You will use whatever drive-setup is mounted at the specified directory\"\nmsgstr \"Você usará qualquer configuração de unidade que esteja montada no diretório especificado\"\n\nmsgid \"WARNING: Archinstall won't check the suitability of this setup\"\nmsgstr \"AVISO: O Archinstall não verificará a adequação desta configuração\"\n\nmsgid \"Select main filesystem\"\nmsgstr \"Selecione o sistema de arquivos principal\"\n\nmsgid \"Enter a hostname\"\nmsgstr \"Insira um nome de host\"\n\nmsgid \"Select timezone\"\nmsgstr \"Selecione o fuso horário\"\n\nmsgid \"Enter the number of parallel downloads to be enabled\"\nmsgstr \"Insira o número de downloads paralelos para serem habilitados\"\n\n#, python-brace-format\nmsgid \"Value must be between 1 and {}\"\nmsgstr \"O valor deve estar entre 1 e {}\"\n\nmsgid \"Select which kernel(s) to install\"\nmsgstr \"Selecione qual(is) kernel(s) instalar\"\n\nmsgid \"Enter a respository name\"\nmsgstr \"Insira o nome do repositório\"\n\nmsgid \"Enter the repository url\"\nmsgstr \"Insira o URL do repositório\"\n\nmsgid \"Enter server url\"\nmsgstr \"Digite o URL do servidor\"\n\nmsgid \"Select mirror regions to be enabled\"\nmsgstr \"Selecione as regiões de espelhamento a serem ativadas\"\n\nmsgid \"Select optional repositories to be enabled\"\nmsgstr \"Selecione os repositórios opcionais que deseja ativar\"\n\nmsgid \"Select an interface\"\nmsgstr \"Selecione uma interface\"\n\nmsgid \"Choose network configuration\"\nmsgstr \"Escolha a configuração de rede\"\n\nmsgid \"No packages found\"\nmsgstr \"Nenhum pacote encontrado\"\n\nmsgid \"Select which greeter to install\"\nmsgstr \"Por favor, escolha qual greeter instalar\"\n\nmsgid \"Select a profile type\"\nmsgstr \"Selecione um tipo de perfil\"\n\nmsgid \"Enter new password\"\nmsgstr \"Digite a nova senha\"\n\nmsgid \"Enter a username\"\nmsgstr \"Insira um nome de usuário\"\n\nmsgid \"Enter a password\"\nmsgstr \"Digite uma senha\"\n\nmsgid \"The password did not match, please try again\"\nmsgstr \"A senha não corresponde. Tente novamente\"\n\n#~ msgid \"When picking a directory to save configuration files to, by default we will ignore the following folders: \"\n#~ msgstr \"Ao selecionar um diretório para salvar arquivos de configuração, por padrão nós ignoramos as seguintes pastas: \"\n"
  },
  {
    "path": "archinstall/locales/ro/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: andrewKode iancu.andrei312@gmail.com\\n\"\n\"Language-Team: \\n\"\n\"Language: ro\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.3.1\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Un fișier jurnal a fost creat aici: {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Vă rog să raportați problema (și fișierul) la https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Sunteți sigur(ă) că doriți să închideți?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Încă odată pentru verificare: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Doriți să folosiți swap pe zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Hostname-ul dorit pentru instalare: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Nume utilizator necesar pentru utilizatorul cu drepturi privilegiate: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Alți utilizatori pentru adăugare (lăsați gol pentru niciunul): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Acest utilizator ar trebui să aibă drepturi privilegiate (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Selectați un fus orar\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Doriți să folosiți GRUB ca bootloader în locul systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Selectați un bootloader\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Selectați un server audio\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Doar pachetele precum base, base-devel, linux, linux-firmware, egibootmgr și cele opționale de profil sunt instalate.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Dacă doriți un browser, precum firefox sau chromium, puteți să-l specificați în promptul următor.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Scrieți pachete adiționale pe care doriți să le instalați(separare prin spațiu, lăsați liber pentru a ignora): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Copiați configurarea ISO prin rețea la instalare\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Folosiți NetworkManager (necesar pentru configurarea setărilor de rețea într-un mod grafic pentru GNOME și KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Selectați o interfață de rețea pentru configurare\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Selectați modul de configurare pentru \\\"{}\\\" sau folosiți modul predefinit \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Introduceți IP-ul și subrețeaua pentru {} (example: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Introduceți IP-ul gateway-ului (router) sau lăsați liber pentru niciunul: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Introduceți serverele dumneavoastră DNS (separare prin spațiu, lăsați liber pentru a ignora): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Selectați sistemul de fișiere dorit pentru partiția dumneavoastră primară\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Schema de partiționare curentă\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Selectați ce doriți să se întâmple cu\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Introduceți un sistem de fișiere dorit pentru partiția\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Introduceți sectorul de început (procentaj sau numărul block-ului, predefinit: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Introduceți locația finală (în unități de partiționare: s, GB, %, etc. ; ex: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} conține partiții în așteptare, acest proces le va șterge, doriți acest lucru?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selectați pe baza indexului partițiile pentru ștergere\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selectați pe baza indexului partițiile pentru a fi montate și locația\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Punctele de montare ale partițiilor sunt relevante pentru instalate, de exemplu partiția boot va fi /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Selectați locul de montare a partiției (lăsați gol pentru a șterge punctul de montare): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selectați partiția care urmează să fie marcată pentru formatare\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selectați partiția care urmează să fie marcată ca fiind cripitată\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selectați partiția care urmează să fie marcată ca fiind bootabilă\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selectați partiția pentru care urmează să fie setat un sistem de fișiere\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Introduceți un sistem de fișiere dorit pentru partiție: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Limba pentru Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Șterge toate discurile selectate și folosește cea mai bună schemă de partiționare\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Selectați ce doriți să se întâmple cu fiecare disc în parte (urmat de capacitatea utilizată dorită)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Selectați ce doriți să faceți cu dispozitivele de tip bloc selectate\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Aceasta este o listă de profiluri preprogramate, ar putea să ușureze instalarea unor lucruri precum spațiile de lucru\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Selectați aranjamentul tastaturii\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Selectați regiunea pentru care se vor descărca pachetele\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Selectați unul sau mai multe discuri dure pentru a fi utilizate și configurate\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Pentru cea mai bună compatibilitate cu hardware-ul dumneavoastră AMD ați putea folosi fie opțiunea All Open-Source sau AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Pentru cea mai bună compatibilitate cu hardware-ul dumneavoastră Intel ați putea folosi fie opțiunea All Open-Source sau Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Pentru cea mai bună compatibilitate cu hardware-ul dumneavoastră Nvidia ați putea folosi opțiunea Nvidia proprietary driver.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Selectați un driver grafic sau lăsați liber pentru a instala toate driverele open-source\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Toate open-source (predefinit)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Alegeți nucelii care urmează să fie folosiți sau lăsați liber pentru valorarea predefinită \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Alegeți limba locală pentru utilizare\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Alegeți codificarea locală pentru utilizare\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Selecați o valoare din cele afișate mai jos: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Selecați una sau mai multe opțiuni din cele afișate mai jos: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Adaug partiția....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Trebuie să introduceți un tip de fișiere de sistem valid pentru a continua. Vedeți 'man parted' pentru tipurile de fișiere de sistem disponibile.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Eroare: Listare profiluri pe URL \\\"{}\\\" rezultate în:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Eroare: Nu s-a putut decoda rezultatul \\\"{}\\\" ca un JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Aranjament tastatură\"\n\nmsgid \"Mirror region\"\nmsgstr \"Regiune de oglindire\"\n\nmsgid \"Locale language\"\nmsgstr \"Limba locală\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Codarea locală\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Disc(uri)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Schema discului\"\n\nmsgid \"Encryption password\"\nmsgstr \"Parola de criptare\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Bootloader\"\n\nmsgid \"Root password\"\nmsgstr \"Parola pentru root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Cont utilizator privilegiat (root)\"\n\nmsgid \"User account\"\nmsgstr \"Cont utilizator\"\n\nmsgid \"Profile\"\nmsgstr \"Profil\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Nuclei\"\n\nmsgid \"Additional packages\"\nmsgstr \"Pachete Adiționale\"\n\nmsgid \"Network configuration\"\nmsgstr \"Configurarea rețelei\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Timpul de sincronizare automate (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Instalalare ({} lipsă configurație(ii))\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Ați decis să treceți peste selectarea discurilor dure\\n\"\n\"și se va folosi orice configurație de disc montată la {} (experimental)\\n\"\n\"ATENȚIE: Archinstall nu va verifica compatibilitatea configurării\\n\"\n\"Doriți să continuați?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Reutilizez instanța partiției: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Crează o partiție nouă\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Șterge o partiție\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Curăță/Șterge toate partițile\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Asignează un punct de montare pentru o partiție\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Marchează/Demarchează o partiție pentru a fi formatată (șterge toate datele)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Marchează/Demarchează o partiție pentru a fi criptată\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Marchează/Demarchează o partiție ca fiind bootabilă (automat pentru /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Setează sistemul de fișiere dorit pentru o partiție\"\n\nmsgid \"Abort\"\nmsgstr \"Anulează\"\n\nmsgid \"Hostname\"\nmsgstr \"Hostname\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Nu este configurat, indisponibil, doar configurat manual\"\n\nmsgid \"Timezone\"\nmsgstr \"Fus orar\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Setează/Modifică opțiunile de mai jos\"\n\nmsgid \"Install\"\nmsgstr \"Instalează\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Folosiți ESC pentru a ignora\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Sugerează o schemă de partiționare\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Introduceți o parolă: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Introduceți o parolă de criptare pentru {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Introduceți parola de criptare a discului (lăsați liber pentru a evita criptarea): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Crează un utilizator cu privilegii (root): \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Introuceți parola pentru root (lăsați liber pentru a dezactiva utilizatorul root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Parola pentru utilizatorul \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Verific dacă pachetele adiționale există (acest proces ar putea dura câteva secunde)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Doriți să utilizați sincronizarea timpului automat (NTP) cu serverele de timp predefinite?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Timpul pentru hardware alți pași după configurare ar putea fi necesari pentru ca NTP să funcționeze.\\n\"\n\"Pentru mai multe informații verificații documentația Arch (Arch Wiki)\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Introduceți un nume utilizator pentru a crea un user adițional (lăsați liber pentru a ignora): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Foloți ESC pentru a ignora\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Alegeți un obiect din listă și selectați o acțiune disponibilă pentru a fi executată\"\n\nmsgid \"Cancel\"\nmsgstr \"Opriți\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Confirmă și ieși\"\n\nmsgid \"Add\"\nmsgstr \"Adaugă\"\n\nmsgid \"Copy\"\nmsgstr \"Copiază\"\n\nmsgid \"Edit\"\nmsgstr \"Editează\"\n\nmsgid \"Delete\"\nmsgstr \"Șterge\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Selectează o acțiune pentru '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Copiază la noua cheie:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Tip necunoscut: {}. Valorile acceptate sunt {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Aceasta este configurația selectată de către dumneavoastră:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman rulează deja, aștept maxim 10 minute pentru a termina.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Procesul pacman anterior nu s-a terminat corect. Vă rog, ștergeți orice sesiune de pacman existentă înainte de a continuea cu archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Alegeți ce colecție opțională de pachete să fie activată\"\n\nmsgid \"Add a user\"\nmsgstr \"Adaugă un utilizator\"\n\nmsgid \"Change password\"\nmsgstr \"Schimbă parola\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Promovează/Retrogradează un utilizator\"\n\nmsgid \"Delete User\"\nmsgstr \"Șterge utilizatorul\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Definește un utilizator nou\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Nume utilizator : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Ar trebui ca {} să fie un utilizator cu privilegii (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Definiți utilizatorii cu privilegii sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Nu există o configurare de rețea\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Setați subvolumele dorite pe o partiție btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Selectați partiția pentru care se vor seta subvolumele\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Administrează subvolumele btrfs pentru partiția curentă\"\n\nmsgid \"No configuration\"\nmsgstr \"Nu există configurație\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Salvează configurația utilizatorului\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Salvează credențialele utilizatorului\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Salvează schema discului\"\n\nmsgid \"Save all\"\nmsgstr \"Salvați tot\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Alegeți configurația dorită pentru salvare\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Introduceți un director pentru salvarea configurațiilor: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Nu este un director valid: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Parola pe care doriți să o folosiți pare să fie slabă,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"sigur doriți să o folosiți?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Colecții de pachete opționale\"\n\nmsgid \"Save configuration\"\nmsgstr \"Salvează configurația\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Configurații lipsă:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Este necesar ca parola pentru utilizatorul root sau măcar un utilizator cu privilegii să fie adăugat\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Administrează conturile pentru utilizatorii cu privilegii: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Adminstrează conturile pentru utilizatorii obișnuiți: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolum :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" montat la {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" cu opțiunea {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Completați valorile dorite pentru un subvolum nou \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Nume subvolum \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Punct de montare subvolum\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Opțiuni subvolum\"\n\nmsgid \"Save\"\nmsgstr \"Salvează\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Nume subvolum :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Seleactați un punct de montare :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Selectați opțiunile dorite pentru subvolum \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Definiți utilizatorii cu privilegii sudo, după nume utilizator: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Un fișier de jurnal a fost creat aici: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Doriți să folosiți subvolume BTRFS cu o structură predefinită?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Doriți să folosiți compresie pentru BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Doriți să creați o partiție separată pentru /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Dispozitivele de stocare selectare nu au o capacitate minimă necesară pentru o sugestie automată\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Capacitatea minimă pentru partiția /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Capacitatea minimă pentru partiția Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Continuă\"\n\nmsgid \"yes\"\nmsgstr \"da\"\n\nmsgid \"no\"\nmsgstr \"nu\"\n\nmsgid \"set: {}\"\nmsgstr \"setează: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Configurație manuală trebuie să fie o listă\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Nu a fost menționat iface pentru configurarea manuală\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Configurarea manuală nic fără un DHCP necesită o adresă IP\"\n\nmsgid \"Add interface\"\nmsgstr \"Adaugă interfață\"\n\nmsgid \"Edit interface\"\nmsgstr \"Editează interfața\"\n\nmsgid \"Delete interface\"\nmsgstr \"Șterge interfața\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Selectează interfața pentru adăugare\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Configurare manuală\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Marchează/Demarchează o partiție ca fiind comprimată (doar btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Parola utilizată pare să fie slabă, sigur doriți să o folosiți pe aceasta?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Oferă o selecție de medii de lucru și manageri de ferestre precum GNOME, KDE, Sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Selectați mediul de lucru dorit\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"O instalare de bază care vă permite să instalați Arch Linux așa cum vă doriți.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Oferă o selecție de diferite pachete de sistem pentru instalare și activare precum httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Alegeți serverele dorite pentru instalare, dacă nu este selectat niciunul se va realiza o instalare minimală\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Instalează un sistem minimal împreună cu xorg și driverele grafice.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Apăsați Enter pentru a continua.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Doriți să folosiți modul chroot pentru a intra în noua instalare și pentru a efectua configurații de post-instalare?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Sigur doriți să resetați această setare?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Selectați unul sau mai multe discuri dure pentru a utiliza și configura\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Orice modificare aplicată la setările existene vor resta schema de partiționare a discului!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Dacă resetați selecția de discuri de stocare acest lucru va rezulta în resetarea schemei de partiționare existente a discului. Sigur doriți acest lucru?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Salvează și ieși\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"conține partiții în așteptare, acest lucru le va șterge, sigur doriți acest lucru?\"\n\nmsgid \"No audio server\"\nmsgstr \"Nu există un server audio\"\n\nmsgid \"(default)\"\nmsgstr \"(predefinit)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Folosiți ESC pentru a ignora\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Folosi'i CTRL+C pentru a reseta selecția curentă\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Copiază la: \"\n\nmsgid \"Edit: \"\nmsgstr \"Editează: \"\n\nmsgid \"Key: \"\nmsgstr \"Cheie: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Editează {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Adaugă: \"\n\nmsgid \"Value: \"\nmsgstr \"Valoare: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Puteți trece peste selectarea unui dispozitiv de stocare și folosiți orice configurație de partiționare este montată la /mnt (experimental)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Selectați unul din discuri sau ignorați și folosiți /mnt ca predefinit\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Selectați partițiile pentru a fi marcate pentru formatare:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Folosiți HSM pentru deblocarea dispozitivului criptat\"\n\nmsgid \"Device\"\nmsgstr \"Discpozitiv\"\n\nmsgid \"Size\"\nmsgstr \"Mărime\"\n\nmsgid \"Free space\"\nmsgstr \"Spațiu liber\"\n\nmsgid \"Bus-type\"\nmsgstr \"Tip magistrală\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"O parolă pentru utilizatorul root sau măcar un utilizator cu privilegii sudo trebuie adăugat\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Introduceți numele de utilizator (lăsați gol pentru a ignora): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Numele de utilizator adăugat este invalid. Încercați din nou\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Ar trebui ca \\\"{}\\\" să fie un utilizator cu privilegii (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Selectați partițiile pentru criptare\"\n\nmsgid \"very weak\"\nmsgstr \"foarte slabă\"\n\nmsgid \"weak\"\nmsgstr \"slabă\"\n\nmsgid \"moderate\"\nmsgstr \"moderată\"\n\nmsgid \"strong\"\nmsgstr \"puetrnică\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Adaugă subvolum\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Editează subvolum\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Șterge subvolum\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Configurează interfața {}\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Această opținea setează numărul de descărcări paralele care pot avea loc în timpul instalării\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Introduceți numărul de descărcări simultane pentru a fi activat.\\n\"\n\" (Introduceți o valuare între 1 și {max_downloads})\\n\"\n\"Info:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Valoare minimă   : 1 ( Permite o descărcare simultană, permite 2 descărcări simultane )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Valoare minimă  : 1 ( Permite o descărcare simultană, permite 2 descărcări simultane )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Dezactivează/Predefinit: 0 (Dezactivează descărcările simultane, permite o singură descărcare simultană )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Input invalid! Încercați din nou cu un input valid [1 pentru {max_downloads}, sau 0 pentru dezactivare]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Descărcări Simultane\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC pentru ignorare\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C pentru resetare\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB pentru a selecta\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Valoare predefinită: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Pentru a putea folosi această traducere, vă rog să instalați  manual un font compatibil cu această limbă.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Fontul ar trebui salvat ca {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall necesită privilegii avansate pentru execuție. Vedeți --help pentru mai multe.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Selectați un mod de execuție\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Nu se poate prelua profilul de la URL-ul specificat: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Profilurile trebuie să aibă nume unicate, dar definiții de profil cu nume duplicate au fost găsite: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Selectați unul sau mai multe discuri dure pentru a fi utilizate și configurate\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Dacă resetați selecția de discuri de stocare acest lucru va rezulta în resetarea schemei de partiționare existente a discului. Sigur doriți acest lucru?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Partiții Existente\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Selectați o opțiune de partiționare\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Introduceți directorul rădăcină a dispozitivelor montate: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Capacitatea minimă pentru partiția /home: {}GB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Capacitatea minimă pentru partiția Arch Linux: {}GB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Aceasta este o listă de profiluri pre-programate \\\"profiluris_bck\\\", ar putea să ușureze instalarea unor lucruri precum spațiile de lucru\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Selecția curentă a profilului\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Șterge toate partițiile noi adăugate\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Asignează punctul de montare\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Marchează/Demarchează pentru formatare (șterge toate datele)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Marchează/Demarchează ca bootabil\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Schimbă sistemul de fișiere\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Marchează/Demarchează ca comprimat\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Setează subvolumele\"\n\nmsgid \"Delete partition\"\nmsgstr \"Șterge partiția\"\n\nmsgid \"Partition\"\nmsgstr \"Partiție\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Partiția curentă este criptată, pentru a fi formatată un sistem de fișiere trebuie specificat\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Punctele de montare ale partițiilor sunt relevante pentru instalate, de exemplu partiția boot va fi /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Dacă punctul de montare /boot este setat, atunci partiția va fi marcată ca fiind bootabilă.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Punct de montare: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Sectoarele libere curente de pe dispozitiv {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Toate sectoarele: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Introduceți sectorul de început (predefinit: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Introduceți sectorul de final pentru partiționare (procentaj sau numărul block-ului, predefinit: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Această acțiune va șterge toate partițiile noi adăugate, continuați?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Managementul partiției: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Lungime totală: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Tipul de criptare\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"Partiții\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Nicun dispozitiv HSM disponibil\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Selectați partițiile pentru criptare\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Selectați opțiunea pentru criptarea discului\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Selectați utilizarea unui device FID02 pentru HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Folosește cea mai bună configurație de partiționare\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Partiționare manuală\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Configurație pre-montată\"\n\nmsgid \"Unknown\"\nmsgstr \"Neștiut\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Criptare partiție\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Se formatează {} in \"\n\nmsgid \"← Back\"\nmsgstr \"← Înapoi\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Criptarea discului\"\n\nmsgid \"Configuration\"\nmsgstr \"Configurație\"\n\nmsgid \"Password\"\nmsgstr \"Parola\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"{} conține partiții în așteptare, acest proces le va șterge, doriți acest lucru?\"\n\nmsgid \"Back\"\nmsgstr \"Înapoi\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Vă rog selectați un manager de afișare pentru profilurile selectate: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Tip mediu: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Driverul proprietar Nvidia nu este compatibil cu Sway. Se poate să aveți probleme, sunteți ok cu asta?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Pachete instalate\"\n\nmsgid \"Add profile\"\nmsgstr \"Adaugă profil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Editează profil\"\n\nmsgid \"Delete profile\"\nmsgstr \"Șterge profil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Nume profil: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Numele de utilizator adăugat este invalid. Încercați din nou\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Pachetele care se instalează cu acest profil (separare prin spațiu, lăsați liber pentru a ignora): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Serviciile activate cu acest profil (separare prin spațiu, lăsați liber pentru a ignora): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Ar trebui ca acest profil să fie bifat pentru instalare?\"\n\nmsgid \"Create your own\"\nmsgstr \"Crează-ți propriul tău\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Selectați un driver grafic sau lăsați liber pentru a instala toate driverele open-source\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway are nevoie de acces la setup-ul dumneavoastră (colecție de dispozitive hardware ex. tastatura, mouse, etc.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Alegeți o opțiune pentru a acorda acces lui Sway la hardware\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Driver grafic\"\n\nmsgid \"Greeter\"\nmsgstr \"Manager afișare\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Vă rog selectați managerul de afișare pentru instalare\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Aceasta este o listă cu profiluri pre-programate\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Configurație disc\"\n\nmsgid \"Profiles\"\nmsgstr \"Profiluri\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Caut directoare pentru salvarea fișierelor de configurare ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Selectați directorul (sau directoarele), pentru salvarea fișierelor de configurare\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Adaugă o oglindă customizată\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Schimbă oglinda customizată\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Șterge oglinda customizată\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Introduceți numele (lăsați gol pentru a ignora): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Introduceți URL (lăsați gol pentru a ignora): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Selectați opțiunea pentru verificarea semnăturii\"\n\nmsgid \"Select signature option\"\nmsgstr \"Selectați opțiunea pentru semnătură\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Oglinzi customizate\"\n\nmsgid \"Defined\"\nmsgstr \"Definit\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Salvează configurația utilizatorului (schema discului este inclusă)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Introduceți un director pentru salvarea configurării (configurațiilor, completare automată cu Tab activată)\\n\"\n\"Directorul pentru salvare: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Doriți să salvați fișierele de configurare {} în această locație?\\n\"\n\"\\n\"\n\"{]\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Salvez {} fișierele de configurație la {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Oglinzi\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Regiuni oglinzi\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Valoare maximă  : {} ( Permite {} descărcări simultane, permite {max_downloads+1} descărcări în același timp )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Input invalid! Încercați din nou cu un input valid [1 la {}, sau 0 pentru dezactivare]\"\n\nmsgid \"Locales\"\nmsgstr \"Locale\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Folosiți NetworkManager (necesar pentru configurarea setărilor de rețea într-un mod grafic pentru GNOME și KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Total: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Toate valorile introduse pot fi notate cu unități precum: B, KB, KiB, MB, MiB ...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Dacă nicio unitate nu este specificate, atunci valorile vor fi interpretate ca sectoare\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Introduceți start (predefinit: sector {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Introduceți final (predefinit: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Nu se pot identifica dispozitive de tip fido2. Este libfido2 instalată?\"\n\nmsgid \"Path\"\nmsgstr \"Cale\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Producător\"\n\nmsgid \"Product\"\nmsgstr \"Produs\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Configurație invalidă: {error}\"\n\nmsgid \"Type\"\nmsgstr \"\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Această opțiune setează numărul de descărcări paralele care pot avea loc în timpul instalării\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Introduceți numărul de descărcări simultane pentru a fi activat.\\n\"\n\"\\n\"\n\"Notă:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Valoare minimă  : {} ( Permite {} descărcări simultane în același timp )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Dezactivează/Predefinit: 0 (Dezactivează descărcările simultane, permite o singură descărcare în același timp )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Input invalid! Încercați din nou cu un input valid [0 pentru dezactivare]\"\n\n#, fuzzy\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway are nevoie de acces la setup-ul dumneavoastră (colecție de dispozitive hardware ex. tastatura, mouse, etc.)\"\n\n#, fuzzy\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Alegeți o opțiune pentru a acorda acces lui Sway la hardware\"\n\n#, fuzzy\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Toate valorile introduse pot fi notate cu unități precum: B, KB, KiB, MB, MiB ...\"\n\n#, fuzzy\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Doriți să folosiți swap pe zram?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Selected profiles: \"\nmsgstr \"Șterge profil\"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Marchează/Demarchează ca bootabil\"\n\n#, fuzzy\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Doriți să folosiți compresie pentru BTRFS?\"\n\nmsgid \"Use compression\"\nmsgstr \"\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Oferă o selecție de medii de lucru și manageri de ferestre precum GNOME, KDE, Sway\"\n\n#, fuzzy, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Configurație\"\n\n#, fuzzy\nmsgid \"LVM configuration type\"\nmsgstr \"Nu există configurație\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Folosiți NetworkManager (necesar pentru configurarea setărilor de rețea într-un mod grafic pentru GNOME și KDE)\"\n\n#, fuzzy\nmsgid \"Select a LVM option\"\nmsgstr \"Selectați un fus orar\"\n\n#, fuzzy\nmsgid \"Partitioning\"\nmsgstr \"Partiție\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"\"\n\nmsgid \"Physical volumes\"\nmsgstr \"\"\n\nmsgid \"Volumes\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"LVM volumes\"\nmsgstr \"Setează subvolumele\"\n\n#, fuzzy\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Selectați partițiile pentru criptare\"\n\n#, fuzzy\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Selectați partițiile pentru criptare\"\n\n#, fuzzy\nmsgid \"Default layout\"\nmsgstr \"Schema discului\"\n\n#, fuzzy\nmsgid \"No Encryption\"\nmsgstr \"Tipul de criptare\"\n\nmsgid \"LUKS\"\nmsgstr \"\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"da\"\n\nmsgid \"No\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Archinstall help\"\nmsgstr \"Limba pentru Archinstall\"\n\n#, fuzzy\nmsgid \" (default)\"\nmsgstr \"(predefinit)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Alegeți o opțiune pentru a acorda acces lui Sway la hardware\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"Punct de montare: \"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Introduceți parola de criptare a discului (lăsați liber pentru a evita criptarea): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"Parola de criptare\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"Partiție\"\n\n#, fuzzy\nmsgid \"Filesystem\"\nmsgstr \"Schimbă sistemul de fișiere\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Introduceți start (predefinit: sector {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"Introduceți final (predefinit: {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"Nume subvolum \"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"Configurație disc\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"Limba locală\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Scrieți pachete adiționale pe care doriți să le instalați(separare prin spațiu, lăsați liber pentru a ignora): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The username you entered is invalid\"\nmsgstr \"Numele de utilizator adăugat este invalid. Încercați din nou\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"Nume utilizator : \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Ar trebui ca \\\"{}\\\" să fie un utilizator cu privilegii (sudo)?\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"Adaugă interfață\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Introduceți IP-ul gateway-ului (router) sau lăsați liber pentru niciunul: \"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Introduceți serverele dumneavoastră DNS (separare prin spațiu, lăsați liber pentru a ignora): \"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"Nu există un server audio\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"Configurează interfața {}\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"Nuclei\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Driverul proprietar Nvidia nu este compatibil cu Sway. Se poate să aveți probleme, sunteți ok cu asta?\"\n\n#, fuzzy\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Driverul proprietar Nvidia nu este compatibil cu Sway. Se poate să aveți probleme, sunteți ok cu asta?\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"Editează profil\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"Schimbă parola\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"Nu este un director valid: {}\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"Doriți să folosiți compresie pentru BTRFS?\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"\"\n\"Introduceți un director pentru salvarea configurării (configurațiilor, completare automată cu Tab activată)\\n\"\n\"Directorul pentru salvare: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"\"\n\"Doriți să salvați fișierele de configurare {} în această locație?\\n\"\n\"\\n\"\n\"{]\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Vă rog să raportați problema (și fișierul) la https://github.com/archlinux/archinstall/issues\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"Regiune de oglindire\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"Selectați opțiunea pentru verificarea semnăturii\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"Selectați un mod de execuție\"\n\nmsgid \"Press ? for help\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Alegeți o opțiune pentru a acorda acces lui Sway la hardware\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"Colecții de pachete opționale\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"Selectați opțiunea pentru verificarea semnăturii\"\n\n#, fuzzy, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Sectoarele libere curente de pe dispozitiv {}:\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Total: {} / {}\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Introduceți final (predefinit: {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"Discpozitiv\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"Nume utilizator : \"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Marchează/Demarchează ca bootabil\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"Pachete Adiționale\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"Adaugă o oglindă customizată\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"Schimbă oglinda customizată\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"Șterge oglinda customizată\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"Regiune de oglindire\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"Adaugă o oglindă customizată\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"Schimbă oglinda customizată\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"Șterge oglinda customizată\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"Selectați opțiunea pentru semnătură\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"Adaugă o oglindă customizată\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"Adaugă o oglindă customizată\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"Regiuni oglinzi\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"Colecții de pachete opționale\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"Regiuni oglinzi\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"Oglinzi customizate\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"Colecții de pachete opționale\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"Selectați opțiunea pentru verificarea semnăturii\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"Selectați un fus orar\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"Selectați un mod de execuție\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway are nevoie de acces la setup-ul dumneavoastră (colecție de dispozitive hardware ex. tastatura, mouse, etc.)\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Alegeți o opțiune pentru a acorda acces lui Sway la hardware\"\n\n#, fuzzy\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway are nevoie de acces la setup-ul dumneavoastră (colecție de dispozitive hardware ex. tastatura, mouse, etc.)\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Alegeți o opțiune pentru a acorda acces lui Sway la hardware\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Marchează/Demarchează ca bootabil\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Limba pentru Archinstall\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"Schimbă sistemul de fișiere\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Doriți să folosiți modul chroot pentru a intra în noua instalare și pentru a efectua configurații de post-instalare?\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"Doriți să folosiți compresie pentru BTRFS?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Selectați modul de configurare pentru \\\"{}\\\" sau folosiți modul predefinit \\\"{}\\\"\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Parola de criptare\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Parola pentru root\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"Parola de criptare\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"\"\n\"Doriți să salvați fișierele de configurare {} în această locație?\\n\"\n\"\\n\"\n\"{]\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"Parola de criptare\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Regiune de oglindire\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"Nicun dispozitiv HSM disponibil\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Parola\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Doriți să folosiți compresie pentru BTRFS?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Doriți să folosiți compresie pentru BTRFS?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Managementul partiției: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Tip mediu: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Introduceți o parolă: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Selectați utilizarea unui device FID02 pentru HSM\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Nu există o configurare de rețea\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Doriți să folosiți compresie pentru BTRFS?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Configurează interfața {}\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Selectați o interfață de rețea pentru configurare\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Nu există o configurare de rețea\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Introduceți o parolă: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Limba locală\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Doar pachetele precum base, base-devel, linux, linux-firmware, egibootmgr și cele opționale de profil sunt instalate.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Seleactați un punct de montare :\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/ru/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Aleksandr Melman <Alexmelman88@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ru\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\\n\"\n\"X-Generator: Poedit 3.5\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Здесь был создан файл журнала: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Пожалуйста, отправьте эту проблему (и файл) по адресу https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Вы действительно хотите прекратить?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"И еще раз для проверки: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Вы хотите использовать подкачку на zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Желаемое имя хоста для установки: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Имя пользователя для требуемого суперпользователя с привилегиями sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Любые дополнительные пользователи для установки (оставьте пустым, если пользователей нет): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Должен ли этот пользователь быть суперпользователем (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Выберите часовой пояс\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Вы хотите использовать GRUB в качестве загрузчика вместо systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Выберите загрузчик\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Выберите звуковой сервер\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Устанавливаются только такие пакеты, как base, base-devel, linux, linux-firmware, efibootmgr и дополнительные пакеты профиля.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Если вы хотите использовать веб-браузер, например, firefox или chromium, вы можете указать его в следующем запросе.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Напишите дополнительные пакеты для установки (разделите пробелами, оставьте пустым, чтобы пропустить): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Копировать сетевую конфигурацию ISO в установку\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Использовать NetworkManager (необходим для графической настройки интернета в GNOME и KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Выберите один сетевой интерфейс для настройки\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Выберите режим для конфигурации \\\"{}\\\" или пропустите, чтобы использовать режим по умолчанию \\\"{}\\\".\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Введите IP-адрес и подсеть для {} (пример: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Введите IP-адрес вашего шлюза (маршрутизатора) или оставьте пустым, если его нет: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Введите ваши DNS-серверы (через пробел, пустой - нет): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Выберите, какую файловую систему должен использовать ваш основной раздел\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Текущая разметка разделов\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Выберите, что делать с\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Введите желаемый тип файловой системы для раздела\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Введите начальное значение (в раздельных блоках: с, ГБ, % и т.д.; по умолчанию: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Введите конечное значение (в раздельных блоках: с, Гб, % и т.д.; например: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} содержит разделы в очереди, это удалит их, вы уверены?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Выберите по индексу, какие разделы следует удалить\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Выберите по индексу, какой раздел куда монтировать\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Точки монтирования разделов являются относительными внутри установки, например, загрузочный будет /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Выберите куда монтировать раздел (оставьте пустым, чтобы удалить точку монтирования): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Выберите, какой раздел следует отметить для форматирования\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Выберите раздел, который следует пометить как зашифрованный\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Выберите раздел, который следует отметить как загрузочный\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Выберите раздел, на котором будет установлена файловая система\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Введите желаемый тип файловой системы для раздела: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Язык Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Стереть все выбранные диски и использовать оптимальную схему разделов по умолчанию\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Выберите, что делать с каждым отдельным диском (с последующим использованием разделов)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Выберите, что вы хотите сделать с выбранными блочными устройствами\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Это список предварительно запрограммированных профилей, они могут облегчить установку таких вещей, как окружения рабочего стола\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Выберите раскладку клавиатуры\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Выберите один из регионов для загрузки пакетов\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Выберите один или несколько жестких дисков для использования и настройте их\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Для наилучшей совместимости с оборудованием AMD вы можете использовать либо все варианты с открытым исходным кодом, либо AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Для лучшей совместимости с оборудованием Intel вы можете использовать либо все варианты с открытым исходным кодом, либо Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Для наилучшей совместимости с оборудованием Nvidia вы можете использовать проприетарный драйвер Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Выберите графический драйвер или оставьте пустым, чтобы установить все драйверы с открытым исходным кодом\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Все с открытым исходным кодом (по умолчанию)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Выберите, какие ядра использовать, или оставьте пустым по умолчанию \\\"{}\\\".\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Выберите, какой язык локали использовать\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Выберите, какую кодировку локали использовать\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Выберите одно из значений, показанных ниже: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Выберите один или несколько из приведенных ниже вариантов: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Добавление раздела....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Чтобы продолжить, вам нужно ввести действительный fs-тип. Смотрите `man parted` для правильных fs-типов.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Ошибка: Перечисление профилей по URL \\\"{}\\\" привело к:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Ошибка: Не удалось декодировать результат \\\"{}\\\" как JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Раскладка клавиатуры\"\n\nmsgid \"Mirror region\"\nmsgstr \"Регион зеркала\"\n\nmsgid \"Locale language\"\nmsgstr \"Язык локали\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Кодировка локали\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Диск(и)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Разметка диска\"\n\nmsgid \"Encryption password\"\nmsgstr \"Пароль шифрования\"\n\nmsgid \"Swap\"\nmsgstr \"Подкачка\"\n\nmsgid \"Bootloader\"\nmsgstr \"Загрузчик\"\n\nmsgid \"Root password\"\nmsgstr \"Пароль root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Учетная запись суперпользователя\"\n\nmsgid \"User account\"\nmsgstr \"Учетная запись пользователя\"\n\nmsgid \"Profile\"\nmsgstr \"Профиль\"\n\nmsgid \"Audio\"\nmsgstr \"Звуковой сервер\"\n\nmsgid \"Kernels\"\nmsgstr \"Ядра\"\n\nmsgid \"Additional packages\"\nmsgstr \"Дополнительные пакеты\"\n\nmsgid \"Network configuration\"\nmsgstr \"Настройка сети\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Автоматическая синхронизация времени (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Установить ({} конфигурация(и) отсутствует)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Вы решили пропустить выбор жесткого диска\\n\"\n\"и будете использовать любой диск, смонтированный по адресу {} (экспериментально)\\n\"\n\"ПРЕДУПРЕЖДЕНИЕ: Archinstall не будет проверять пригодность этой установки.\\n\"\n\"Вы хотите продолжить?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Повторное использование экземпляра раздела: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Создать новый раздел\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Удалить раздел\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Очистить/удалить все разделы\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Назначить точку монтирования для раздела\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Пометить/снять отметку с раздела, который будет отформатирован (стирание данных)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Пометить/снять отметку с раздела как зашифрованный\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Пометить/снять отметку с раздела как загрузочный (автоматически для /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Установите желаемую файловую систему для раздела\"\n\nmsgid \"Abort\"\nmsgstr \"Прервать\"\n\nmsgid \"Hostname\"\nmsgstr \"Имя хоста\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Не настроен, недоступен, если не настроен вручную\"\n\nmsgid \"Timezone\"\nmsgstr \"Часовой пояс\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Установить/изменить следующие параметры\"\n\nmsgid \"Install\"\nmsgstr \"Установить\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Используйте ESC, чтобы пропустить\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Предложить разметку разделов\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Введите пароль: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Введите пароль шифрования для {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Введите пароль шифрования диска (оставьте пустым для отсутствия шифрования): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Создайте необходимого суперпользователя с привилегиями sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Введите пароль root (оставьте пустым, чтобы отключить root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Пароль для пользователя \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Проверка наличия дополнительных пакетов (это может занять несколько секунд)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Вы хотите использовать автоматическую синхронизацию времени (NTP) с серверами времени по умолчанию?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Для работы NTP может потребоваться аппаратное время и другие шаги после конфигурации.\\n\"\n\"Для получения дополнительной информации, пожалуйста, ознакомьтесь с ArchWiki\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Введите имя пользователя для создания дополнительного пользователя (оставьте пустым, чтобы пропустить): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Используйте ESC, чтобы пропустить\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Выберите объект из списка и выберите одно из доступных действий для его выполнения\"\n\nmsgid \"Cancel\"\nmsgstr \"Отменить\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Подтвердить и выйти\"\n\nmsgid \"Add\"\nmsgstr \"Добавить\"\n\nmsgid \"Copy\"\nmsgstr \"Копировать\"\n\nmsgid \"Edit\"\nmsgstr \"Редактировать\"\n\nmsgid \"Delete\"\nmsgstr \"Удалить\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Выберите действие для '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Копировать в новый ключ:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Неизвестный тип сетевого адаптера: {}. Возможные значения: {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Это выбранная вами конфигурация:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman уже запущен, ожидание его завершения составляет максимум 10 минут.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Существовавшая ранее блокировка pacman не завершилась. Пожалуйста, очистите все существующие сессии pacman перед использованием archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Выберите, какие дополнительные репозитории следует включить\"\n\nmsgid \"Add a user\"\nmsgstr \"Добавить пользователя\"\n\nmsgid \"Change password\"\nmsgstr \"Изменить пароль\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Повысить/понизить пользователя\"\n\nmsgid \"Delete User\"\nmsgstr \"Удалить пользователя\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Укажите нового пользователя\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Имя пользователя: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Должен ли {} быть суперпользователем (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Определите пользователей с привилегиями sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Нет сетевой конфигурации\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Установите желаемые подтома на раздел btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Выберите раздел, на котором будут установлены подтома\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Управление подтомами btrfs для текущего раздела\"\n\nmsgid \"No configuration\"\nmsgstr \"Отсутствует конфигурация\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Сохранить конфигурацию пользователя\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Сохранить учетные данные пользователя\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Сохранить разметку диска\"\n\nmsgid \"Save all\"\nmsgstr \"Сохранить все\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Выберите, какую конфигурацию сохранить\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Введите каталог для сохранения конфигурации (-ций): \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Недействительный каталог: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Пароль, который вы используете, кажется слабым,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"вы уверены, что хотите его использовать?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Дополнительные репозитории\"\n\nmsgid \"Save configuration\"\nmsgstr \"Сохранить конфигурацию\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Отсутствующие конфигурации:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Должен быть указан либо пароль root, либо как минимум 1 суперпользователь\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Управление учетными записями суперпользователей: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Управление учетными записями обычных пользователей: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Подтом :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" смонтировано в {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" с параметром {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Заполните нужные значения для нового подтома\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Имя подтома \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Точка монтирования подтома\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Параметры подтома\"\n\nmsgid \"Save\"\nmsgstr \"Сохранить\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Имя подтома :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Выберите точку монтирования:\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Выберите нужные параметры подтома \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Определите пользователей с привилегией sudo по имени пользователя: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Здесь был создан файл журнала: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Вы хотите использовать подтома BTRFS со структурой по умолчанию?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Хотите ли вы использовать сжатие BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Хотите ли вы создать отдельный раздел для /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Выбранные диски не имеют минимальной емкости, необходимой для автоматического предложения\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Минимальный размер раздела /home: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Минимальный размер раздела Arch Linux: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Продолжить\"\n\nmsgid \"yes\"\nmsgstr \"да\"\n\nmsgid \"no\"\nmsgstr \"нет\"\n\nmsgid \"set: {}\"\nmsgstr \"выбор: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Ручная настройка конфигурации должна представлять собой список\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Не указан iface для ручной настройки\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Ручная конфигурация сетевого адаптера без автоматического DHCP требует IP-адреса\"\n\nmsgid \"Add interface\"\nmsgstr \"Добавить интерфейс\"\n\nmsgid \"Edit interface\"\nmsgstr \"Редактировать интерфейс\"\n\nmsgid \"Delete interface\"\nmsgstr \"Удалить интерфейс\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Выберите интерфейс для добавления\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Ручная конфигурация\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Пометить/снять отметку с раздела как сжатый (только для btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Пароль, который вы используете, кажется слабым, вы уверены, что хотите его использовать?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Предоставляет выбор окружений рабочего стола и тайловых оконных менеджеров, например, gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Выберите желаемое окружение рабочего стола\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Очень базовая установка, позволяющая настроить Arch Linux по своему усмотрению.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Предоставляет выбор различных пакетов сервера для установки и включения, например, httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Выберите серверы для установки, если их нет, то будет выполнена минимальная установка\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Устанавливает минимальную систему, а также xorg и графические драйверы.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Нажмите Enter, чтобы продолжить.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Хотите ли вы использовать chroot в новой созданной установке и выполнить настройку после установки?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Вы уверены, что хотите сбросить эту настройку?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Выберите один или несколько жестких дисков для использования и настройки\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Любые изменения существующей настройки приведут к сбросу разметки диска!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Если вы сбросите выбор жесткого диска, это также сбросит текущую разметку диска. Вы уверены?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Сохранить и выйти\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"содержит разделы в очереди, это удалит их, вы уверены?\"\n\nmsgid \"No audio server\"\nmsgstr \"Отсутствует звуковой сервер\"\n\nmsgid \"(default)\"\nmsgstr \"(по умолчанию)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Используйте ESC, чтобы пропустить\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Используйте CTRL+C для сброса текущего выбора\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Копировать в: \"\n\nmsgid \"Edit: \"\nmsgstr \"Редактировать: \"\n\nmsgid \"Key: \"\nmsgstr \"Ключ: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Редактировать {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Добавить: \"\n\nmsgid \"Value: \"\nmsgstr \"Значение: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Вы можете не выбирать диск и разметку и использовать любой диск, смонтированный в /mnt (экспериментально)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Выберите один из дисков или пропустите и используйте /mnt по умолчанию\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Выберите, какие разделы следует отметить для форматирования:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Использовать HSM для разблокировки зашифрованного диска\"\n\nmsgid \"Device\"\nmsgstr \"Устройство\"\n\nmsgid \"Size\"\nmsgstr \"Размер\"\n\nmsgid \"Free space\"\nmsgstr \"Свободное место\"\n\nmsgid \"Bus-type\"\nmsgstr \"Тип шины\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Должен быть указан либо пароль root, либо хотя бы 1 пользователь с привилегиями sudo\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Введите имя пользователя (оставьте пустым, чтобы пропустить): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Введенное вами имя пользователя недействительно. Попробуйте еще раз\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Должен ли \\\"{}\\\" быть суперпользователем (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Выберите разделы для шифрования\"\n\nmsgid \"very weak\"\nmsgstr \"очень слабый\"\n\nmsgid \"weak\"\nmsgstr \"слабый\"\n\nmsgid \"moderate\"\nmsgstr \"умеренный\"\n\nmsgid \"strong\"\nmsgstr \"надежный\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Добавить подтом\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Редактировать подтом\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Удалить подтом\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Настроено интерфейсов: {}\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Этот параметр определяет количество параллельных загрузок, которые могут происходить во время установки\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Введите количество параллельных загрузок, которые будут включены.\\n\"\n\" (Введите значение от 1 до {})\\n\"\n\"Примечание:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Минимальное значение: {} ( Позволяет {} параллельную загрузку, позволяет {} загрузки одновременно )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Минимальное значение: 1 ( Позволяет 1 параллельную загрузку, позволяет 2 загрузки одновременно )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Отключить/по умолчанию: 0 ( Отключает параллельную загрузку, позволяет только 1 загрузку за один раз )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Неверный ввод! Повторите попытку с правильным вводом [1 - {max_downloads}, или 0 - отключить]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Параллельные загрузки\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC, чтобы пропустить\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C, чтобы сбросить\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB, чтобы выбрать\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Значение по умолчанию: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Чтобы иметь возможность использовать этот перевод, пожалуйста, установите вручную шрифт, поддерживающий данный язык.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Шрифт должен быть сохранен как {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Для запуска Archinstall требуются привилегии root. Для получения дополнительной информации смотрите --help.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Выберите режим выполнения\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Невозможно получить профиль из указанного url: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Профили должны иметь уникальное имя, но найдены определения профиля с дублирующимся именем: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Выберите одно или несколько устройств для использования и настройки\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Если вы сбросите выбор устройства, это также сбросит текущую разметку дисков. Вы уверены?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Существующие разделы\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Выберите вариант разбивки на разделы\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Введите корневой каталог смонтированных устройств: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Минимальный размер раздела /home: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Минимальный размер раздела Arch Linux: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Это список предварительно запрограммированных профилей, они могут облегчить установку таких вещей, как окружения рабочего стола\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Текущий выбор профиля\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Удалить все вновь добавленные разделы\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Назначить точку монтирования\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Пометить/снять отметку для форматирования (стирание данных)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Пометить/снять пометку как загрузочный\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Изменить файловую систему\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Пометить/снять отметку как сжатый\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Установить подтома\"\n\nmsgid \"Delete partition\"\nmsgstr \"Удалить раздел\"\n\nmsgid \"Partition\"\nmsgstr \"Раздел\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Этот раздел в настоящее время зашифрован, для его форматирования необходимо указать файловую систему\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Точки монтирования разделов являются относительными внутри установки, например, загрузочный раздел будет /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Если установлена точка монтирования /boot, то раздел также будет помечен как загрузочный.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Точка монтирования: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Текущие свободные секторы на устройстве {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Всего секторов: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Введите начальный сектор (по умолчанию: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Введите конечный сектор раздела (процент или номер блока, по умолчанию: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Это приведет к удалению всех вновь добавленных разделов, продолжить?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Управление разделом: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Весь размер: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Тип шифрования\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"Разделы\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Нет доступных устройств HSM\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Разделы, подлежащие шифрованию\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Выбрать вариант шифрования диска\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Выберите устройство FIDO2 для использования в качестве HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Использовать оптимальную схему разделов по умолчанию\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Ручное разбиение на разделы\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Предварительно смонтированная конфигурация\"\n\nmsgid \"Unknown\"\nmsgstr \"Неизвестно\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Шифрование раздела\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Форматирование {} в \"\n\nmsgid \"← Back\"\nmsgstr \"← Назад\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Шифрование диска\"\n\nmsgid \"Configuration\"\nmsgstr \"Конфигурация\"\n\nmsgid \"Password\"\nmsgstr \"Пароль\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Все настройки будут сброшены, вы уверены?\"\n\nmsgid \"Back\"\nmsgstr \"Назад\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Пожалуйста, выберите, какой экран приветствия установить для выбранных профилей: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Тип окружения рабочего стола: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Проприетарный драйвер Nvidia не поддерживается Sway. Вполне вероятно, что вы столкнетесь с проблемами, вы согласны с этим?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Устанавливаемые пакеты\"\n\nmsgid \"Add profile\"\nmsgstr \"Добавить профиль\"\n\nmsgid \"Edit profile\"\nmsgstr \"Изменить профиль\"\n\nmsgid \"Delete profile\"\nmsgstr \"Удалить профиль\"\n\nmsgid \"Profile name: \"\nmsgstr \"Имя профиля: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Введенное вами имя профиля уже используется. Попробуйте еще раз\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Пакеты, которые будут установлены с этим профилем (разделенные пробелами, оставьте пустым, чтобы пропустить): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Службы, которые должны быть включены с помощью этого профиля (разделенные пробелами, оставьте пустым, чтобы пропустить): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Должен ли этот профиль быть включен для установки?\"\n\nmsgid \"Create your own\"\nmsgstr \"Создать свой собственный\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Выберите графический драйвер или оставьте пустым, чтобы установить все драйверы с открытым исходным кодом\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway необходим доступ к вашему компьютеру (набор аппаратных устройств, т.е. клавиатура, мышь и т.д.)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Выберите опцию, чтобы предоставить Sway доступ к вашему оборудованию\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Графический драйвер\"\n\nmsgid \"Greeter\"\nmsgstr \"Экран приветствия\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Пожалуйста, выберите, какой экран приветствия установить\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Это список запрограммированных по умолчанию профилей\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Конфигурация диска\"\n\nmsgid \"Profiles\"\nmsgstr \"Профили\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Поиск возможных каталогов для сохранения файлов конфигурации ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Выберите каталог (или каталоги) для сохранения файлов конфигурации\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Добавить пользовательское зеркало\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Изменить пользовательское зеркало\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Удалить пользовательское зеркало\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Введите имя (оставьте пустым, чтобы пропустить): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Введите адрес (оставьте пустым, чтобы пропустить): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Выбрать вариант проверки подписи\"\n\nmsgid \"Select signature option\"\nmsgstr \"Выбрать вариант подписи\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Пользовательские зеркала\"\n\nmsgid \"Defined\"\nmsgstr \"Определено\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Сохранить конфигурацию пользователя (включая разметку диска)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Введите каталог для сохранения конфигурации (-ций) (включено заполнение вкладок)\\n\"\n\"Каталог сохранения: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Хотите ли вы сохранить {} файл(-а) конфигурации в следующем месте?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Сохранение {} файла(-ов) конфигурации в {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Зеркала\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Регионы зеркала\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Максимальное значение: {} ( Позволяет {} параллельных загрузок, позволяет {max_downloads+1} загрузок одновременно )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Неверный ввод! Повторите попытку с правильным вводом [1 - {}, или 0 - отключить]\"\n\nmsgid \"Locales\"\nmsgstr \"Локализации\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Использовать NetworkManager (необходим для графической настройки интернета в GNOME и KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Весь размер: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Все вводимые значения могут иметь суффикс с единицей измерения: Б, Кб, КиБ, Мб, МиБ...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Если единица измерения не указана, то значение интерпретируется как сектор\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Введите начало (по умолчанию: сектор {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Введите конец (по умолчанию: сектор {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Невозможно определить устройства fido2. Установлена ли libfido2?\"\n\nmsgid \"Path\"\nmsgstr \"Путь\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Производитель\"\n\nmsgid \"Product\"\nmsgstr \"Продукт\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Неверная конфигурация: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Тип\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Этот параметр определяет количество параллельных загрузок, которые могут происходить во время загрузки пакетов\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Введите количество параллельных загрузок, которые будут включены.\\n\"\n\"\\n\"\n\"Примечание:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Максимальное рекомендуемое значение: {} ( Позволяет {} параллельных загрузок одновременно )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Отключить/по умолчанию: 0 ( Отключает параллельную загрузку, позволяет только 1 загрузку за один раз )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Неверный ввод! Повторите попытку с правильным вводом [ или 0, чтобы отключить ]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland необходим доступ к вашему компьютеру ( набор аппаратных устройств, т.е. клавиатура, мышь и т.д. )\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Выберите опцию, чтобы предоставить Hyprland доступ к вашему оборудованию\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Все вводимые значения могут иметь суффикс с единицей измерения: %, Б, Кб, КиБ, Мб, МиБ...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Хотите ли Вы использовать унифицированные образы ядра?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Унифицированные образы ядра\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Ожидание завершения синхронизации времени (timedatectl show).\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Синхронизация времени не завершена, пока вы ждете - проверьте документацию на предмет обходных путей: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Пропуск ожидания автоматической синхронизации времени (это может привести к проблемам, если время не синхронизируется во время установки)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Ожидание завершения синхронизации связки ключей Arch Linux (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Выбранные профили: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Синхронизация времени не завершена, пока вы ждете - проверьте документацию на предмет обходных путей: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Пометить/снять пометку как nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Хотите ли вы использовать сжатие или отключить CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"Использовать сжатие\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Отключить копирование при записи (CoW)\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Предоставляет выбор окружений рабочего стола и тайловых оконных менеджеров, например, GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Тип конфигурации: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Тип конфигурации LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"Шифрование дисков LVM с более чем 2 разделами в настоящее время не поддерживается\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Использовать NetworkManager (необходим для графической настройки интернета в GNOME и KDE Plasma)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Выберите вариант LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Разбивка на разделы\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Управление логическими томами (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Физические тома\"\n\nmsgid \"Volumes\"\nmsgstr \"Тома\"\n\nmsgid \"LVM volumes\"\nmsgstr \"Тома LVM\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Тома LVM, подлежащие шифрованию\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Выберите тома LVM для шифрования\"\n\nmsgid \"Default layout\"\nmsgstr \"Разметка по умолчанию\"\n\nmsgid \"No Encryption\"\nmsgstr \"Нет шифрования\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM на LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS на LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Да\"\n\nmsgid \"No\"\nmsgstr \"Нет\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Справка Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (по умолчанию)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Нажмите Ctrl+h для справки\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Выберите опцию, чтобы предоставить Sway доступ к вашему оборудованию\"\n\nmsgid \"Seat access\"\nmsgstr \"Доступ к месту\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Точка монтирования\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Введите пароль шифрования диска (оставьте пустым для отсутствия шифрования)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Пароль шифрования диска\"\n\nmsgid \"Partition - New\"\nmsgstr \"Раздел - Новый\"\n\nmsgid \"Filesystem\"\nmsgstr \"Файловая система\"\n\nmsgid \"Invalid size\"\nmsgstr \"Недопустимый размер\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Начало (по умолчанию: сектор {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Конец (по умолчанию: сектор {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Имя подтома\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Тип конфигурации диска\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Корневой каталог для монтирования\"\n\nmsgid \"Select language\"\nmsgstr \"Выбрать язык\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Напишите дополнительные пакеты для установки (разделите пробелами, оставьте пустым, чтобы пропустить)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Недопустимое количество загрузок\"\n\nmsgid \"Number downloads\"\nmsgstr \"Количество загрузок\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Введенное вами имя пользователя недействительно\"\n\nmsgid \"Username\"\nmsgstr \"Имя пользователя\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Должен ли \\\"{}\\\" быть суперпользователем (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Интерфейсы\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Вам необходимо ввести действительный IP-адрес в режиме IP-конфигурации\"\n\nmsgid \"Modes\"\nmsgstr \"Режимы\"\n\nmsgid \"IP address\"\nmsgstr \"IP-адрес\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Введите IP-адрес вашего шлюза (маршрутизатора) (оставьте пустым, если его нет)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Адрес шлюза\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Введите ваши DNS-серверы, разделяя их пробелами (оставьте пустым, если их нет)\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS-серверы\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Настройка интерфейсов\"\n\nmsgid \"Kernel\"\nmsgstr \"Ядро\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI не обнаружен и некоторые опции отключены\"\n\nmsgid \"Info\"\nmsgstr \"Информация\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Проприетарный драйвер Nvidia не поддерживается Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Вполне вероятно, что вы столкнетесь с проблемами, вы согласны с этим?\"\n\nmsgid \"Main profile\"\nmsgstr \"Главный профиль\"\n\nmsgid \"Confirm password\"\nmsgstr \"Подтвердить пароль\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Пароль подтверждения не совпал, попробуйте еще раз\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Недействительный каталог\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Вы хотите продолжить?\"\n\nmsgid \"Directory\"\nmsgstr \"Каталог\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Введите каталог для сохранения конфигурации (-ций) (включено заполнение вкладок)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Хотите ли вы сохранить файл(ы) конфигурации в {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Включено\"\n\nmsgid \"Disabled\"\nmsgstr \"Выключено\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Пожалуйста, отправьте эту проблему (и файл) по адресу https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Название зеркала\"\n\nmsgid \"Url\"\nmsgstr \"URL-адрес\"\n\nmsgid \"Select signature check\"\nmsgstr \"Выберите проверку подписи\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Выберите режим выполнения\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Нажмите ? для справки\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Выберите опцию, чтобы предоставить Hyprland доступ к вашему оборудованию\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Дополнительные репозитории\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Подкачка на zram\"\n\nmsgid \"Name\"\nmsgstr \"Имя\"\n\nmsgid \"Signature check\"\nmsgstr \"Проверка подписи\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Выбранный сегмент свободного пространства на устройстве {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Размер: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Размер (по умолчанию: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Устройство HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Некоторые пакеты не найдены в репозитории\"\n\nmsgid \"User\"\nmsgstr \"Пользователь\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Будет применена указанная конфигурация\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Пометить/снять пометку как загрузочный\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"Дополнительные пакеты\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"Добавить пользовательское зеркало\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"Изменить пользовательское зеркало\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"Удалить пользовательское зеркало\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"Название зеркала\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"Добавить пользовательское зеркало\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"Изменить пользовательское зеркало\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"Удалить пользовательское зеркало\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"Выбрать вариант подписи\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"Добавить пользовательское зеркало\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"Добавить пользовательское зеркало\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"Регионы зеркала\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"Дополнительные репозитории\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"Регионы зеркала\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"Пользовательские зеркала\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"Дополнительные репозитории\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"Выберите проверку подписи\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"Выберите часовой пояс\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"Выберите режим выполнения\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway необходим доступ к вашему компьютеру (набор аппаратных устройств, т.е. клавиатура, мышь и т.д.)\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Выберите опцию, чтобы предоставить Sway доступ к вашему оборудованию\"\n\n#, fuzzy\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway необходим доступ к вашему компьютеру (набор аппаратных устройств, т.е. клавиатура, мышь и т.д.)\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Выберите опцию, чтобы предоставить Sway доступ к вашему оборудованию\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Пометить/снять пометку как загрузочный\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Справка Archinstall\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"Файловая система\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Хотите ли вы использовать chroot в новой созданной установке и выполнить настройку после установки?\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"Вы хотите продолжить?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Выберите режим для конфигурации \\\"{}\\\" или пропустите, чтобы использовать режим по умолчанию \\\"{}\\\".\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Пароль шифрования диска\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Пароль root\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"Пароль шифрования диска\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Хотите ли вы сохранить файл(ы) конфигурации в {}?\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"Пароль шифрования диска\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Название зеркала\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"Нет доступных устройств HSM\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"Пароль\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Вы хотите продолжить?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Вы хотите продолжить?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"Управление разделом: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Тип окружения рабочего стола: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Введите пароль: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Выберите устройство FIDO2 для использования в качестве HSM\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"Нет сетевой конфигурации\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Вы хотите продолжить?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"Настройка интерфейсов\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Выберите один сетевой интерфейс для настройки\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"Нет сетевой конфигурации\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"Введите пароль: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"Язык локали\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Устанавливаются только такие пакеты, как base, base-devel, linux, linux-firmware, efibootmgr и дополнительные пакеты профиля.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Выберите точку монтирования:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/sv/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: \\n\"\n\"Language: sv\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] En logg-fil har skapats här: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \" Vänligen rapportera detta fel (och logg-filen) till https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Vill du verkligen avbryta?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Och en gång till för verifikation: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Vill du använda swap under zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Önskat 'värdnamn' för din installation: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Användarnamn för obligatoriska superanvändaren med sudo rättigheter: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Några ytterligare användare att installera (lämna tomt när du är klar): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Är detta en superanvändare (sudo-rättigheter)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Välj en tidszon\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Vill du använda GRUB istället för systemd-boot som boot-loader?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Välj en boot-loader\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Välj en ljud-server\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Enbart paket som base, base-devel, linux, linux-firmware, efibootmgr och självvalda paket är installerade.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"Observera: base-devel kommer inte att installeras längre som standard. Lägg till det här om du behöver byggverktyg.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Om du önskar en webbläsare, exempelvis firefox eller chromium, bör du skriva in dom i följande fält.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Skriv in ytterligare paket som skall installeras (separerade med mellanslag, lämna tomt för att skippa): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Kopiera nätverkskonfigurationen från ISO till installationen\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Använd NetworkManager (nödvändigt för att konfigurera internet i grafiska miljöerna GNOME och KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Välj ett nätverkskort för konfigurering\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Välj vilket läge att konfigurera för \\\"{}\\\" eller använd standardläge \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Mata in IP och subnät för {} (exempelvis: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Mata in IP-adress till gateway (router) eller lämna tomt för inget: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Mata in DNS-servrar (separerade med mellanslag, lämna tomt för inget): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Välj vilket filsystem din huvudpartition skall använda\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Nuvarande partitionslayout\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Välj vad du vill göra med\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Mata in önskad filsystemtyp för partition\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Ange startplatsen (i delade enheter: s, GB, %, etc. ; standard: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Ange slutplatsen (i delade enheter: s, GB, %, etc. ; ex: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} innehåller uppköade partitioner, detta tar bort dessa, är du säker?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Välj vilket partitionsindex du vill ta bort\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Välj vilket partitionsindex du vill montera vart\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Partitionens monteringsplats är relativa till insidan av installationen, boot är exempelvis /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Välj vart du vill montera partitionen (lämna tomt för att ta bort montering): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Välj vilken partition som skall markeras för formatering\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Välj vilken partition som skall markeras för kryptering\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Välj vilken partition som skall markeras som bootbar\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Välj vilken partition som du vill välja filsystem till\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Mata in ett önskat filsystem för partitionen: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Språk för detta gränssnitt\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Töm alla partitioner och använd en generiskt rekommenderad partitionslayout\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Välj vad som skall hända med varje individuell disk (följt av partitionsanvändning)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Välj vad du önskar göra med valda blockenheterna\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Detta är en lista med förprogrammerade profiler, dom kan göra installation av exempelvis skrivbordsmiljöer lite enklare\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Välj tangentbordslayout\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Välj en av regionerna för att ladda ner paket ifrån\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Välj en eller flera hårddiskar som skall användas och konfigureras\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"För bästa kompabilitet med din AMD-hårdvara, vill du förmodligen använda antingen \\\"öppen mjukvara\\\" eller \\\"AMD/ATI\\\" valet.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"För bästa kompabilitet med din Intel-hårdvara, vill du förmodligen använda antingen \\\"öppen mjukvara\\\" eller \\\"Intel\\\" valet.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"För bästa kompabilitet med din nVidia-hårdvara, vill du förmodligen använda antingen \\\"nVidia proprietär drivrutin\\\".\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Välj en grafikdrivrutin eller lämna blankt för att installera alla med öppen mjukvara\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Alla med öppen mjukvara (standardvalet)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Välj vilken Linux-kärna du vill använda, lämna tomt för att använda \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Välj vilket språk du vill använda\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Välj vilken teckenuppsättning du vill använda\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Välj en av alternativen nedan: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Välj ett eller flera av följande val: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Skapar en partition....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Du måste mata in en supporterad filsystem-typ för att fortsätta. Kör `man parted` för supporterade filsystem.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Fel: Listning av profiler på \\\"{}\\\" resulterade i:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Fel: Kunde inte tyda \\\"{}\\\" resultatet som JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Tangentbordslayout\"\n\nmsgid \"Mirror region\"\nmsgstr \"Region för paketsynk\"\n\nmsgid \"Locale language\"\nmsgstr \"Språk du vill använda\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Teckenuppsättning du vill använda\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Hårddisk(ar)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Disklayout\"\n\nmsgid \"Encryption password\"\nmsgstr \"Krypterings-lösenord\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Boot-loader\"\n\nmsgid \"Root password\"\nmsgstr \"Root-lösenord\"\n\nmsgid \"Superuser account\"\nmsgstr \"Superanvändar-konto\"\n\nmsgid \"User account\"\nmsgstr \"Användarkonto\"\n\nmsgid \"Profile\"\nmsgstr \"Profil\"\n\nmsgid \"Audio\"\nmsgstr \"Ljud mjukvara\"\n\nmsgid \"Kernels\"\nmsgstr \"Linux-kärnor\"\n\nmsgid \"Additional packages\"\nmsgstr \"Extra paket\"\n\nmsgid \"Network configuration\"\nmsgstr \"Nätverkskonfiguration\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Automatisk tidssynk (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Installera ({} inställningar saknas)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Du valde att hoppa över hårddiskvalet.\\n\"\n\"Archinstall kommer därför använda vad som finns monterat under {} (experimentell)!\\n\"\n\"Varning: Archinstall kommer inte kontrollera lämpligheten i diskvalet.\\n\"\n\"Vill du fortsätta?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Återanvänder disk-instans: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Skapa en ny partition\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Ta bort en partition\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Rensa/Ta bort alla partitioner\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Välj monteringspunkt för en partition\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Markera/Avmarkera en partition för formatering (tar bort alla dess data)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Markera/Avmarkera en partition som krypterad\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Markera/Avmarkera en partition som bootbar (automatiskt gjort för /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Sätt önskat filsystem för partitionen\"\n\nmsgid \"Abort\"\nmsgstr \"Avbryt\"\n\nmsgid \"Hostname\"\nmsgstr \"Värdnamn\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Inte konfigurerad, otillgängligt utan manuell konfigurering\"\n\nmsgid \"Timezone\"\nmsgstr \"Tidszon\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Sätt eller modifiera nedan alternativ\"\n\nmsgid \"Install\"\nmsgstr \"Installera\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Använd ESC för att hoppa över\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Rekommendera en partitionslayout\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Mata in ett lösenord: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Mata in ett krypterings-lösenord för {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Mata in ett disk-krypteringslösenord (lämna blankt för att hoppa över kryptering): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Skapa ett super-användarkonto med sudo-rättigheter (detta är ett krav): \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Mata in ett root-lösenord (lämna blankt för att deaktivera kontot): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Lösenord för användare \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Verifierar att valda paket existerar (detta kan ta några sekunder)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Skulle du vilja använda automatisk tidssynkronisering (NTP) med standard-tidsservrar?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Hårdvaru-tid och annan efterkonfigurering kan behövas för att NTP skall fungera korrekt.\\n\"\n\"För mer information, se Arch Wiki-sidan\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Mata in ett användarnamn för att skapa ytterligare användare (lämna tomt för att hoppa över): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Använd ESC för att hoppa över\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Välj ett objekt från listan, och välj en åtgärd att exekvera\"\n\nmsgid \"Cancel\"\nmsgstr \"Avbryt\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Godkänn och gå ur\"\n\nmsgid \"Add\"\nmsgstr \"Lägg till\"\n\nmsgid \"Copy\"\nmsgstr \"Kopiera\"\n\nmsgid \"Edit\"\nmsgstr \"Editera\"\n\nmsgid \"Delete\"\nmsgstr \"Ta bort\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Välj vad du vill göra med '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Kopiera till en ny nyckel:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Okänd NIC typ: {}. Möjliga val är {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Det här är din valda konfiguration:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman körs redan, väntar max 10 minuter innan vi avbryter.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Existerande pacman-lås avslutades aldrig. Vänligen rensa upp föregående körningar av pacman-sessioner innan du använder archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Välj vilka frivilliga arkiv som ska aktiveras\"\n\nmsgid \"Add a user\"\nmsgstr \"Lägg till användare\"\n\nmsgid \"Change password\"\nmsgstr \"Byt lösenord\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Befodra/Degradera användare\"\n\nmsgid \"Delete User\"\nmsgstr \"Ta bort användare\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Skapa ny användare\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Användarnamn : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Är detta en superanvändare (sudo-rättigheter)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Skapa användare med sudo-rättigheter: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Ingen nätverkskonfigurering\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Välj önskade sub-volymen på en BTRFS partition\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Välj vilken partition som du ska sätta sub-volymer på\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Managera BTRFS sub-volymer på nuvarande partition\"\n\nmsgid \"No configuration\"\nmsgstr \"Ingen konfiguration\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Spara användarkonfigurering\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Spara användar-/lösenordsuppgifter\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Spara disk konfigurering\"\n\nmsgid \"Save all\"\nmsgstr \"Spara alla\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Välj vilken konfigurering du vill spara\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Välj vilken mapp du vill spara konfigurerationerna till: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Inte en giltig mapp: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Lösenordet du angav verkar svagt,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"är du säker på att du vill använda det?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Valfria arkiv\"\n\nmsgid \"Save configuration\"\nmsgstr \"Spara konfiguration\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Konfigurationer som saknas:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Antingen måste ett root-lösenord sättas eller 1 superanvändarkonto skapas\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Managera super-användare: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Managera vanliga användarkonton: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Sub-volym :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" Monterad som {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" Med inställningen {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"Mata in önskvärda värden för nya sub-volymer \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Namn för Sub-volymen \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Monteringspunkt för sub-volymen\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Flaggor för sub-volymen\"\n\nmsgid \"Save\"\nmsgstr \"Spara\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Namn på sub-volymen :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Välj en monteringspunkt :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Välj önskade inställningar för sub-volymen \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Definera användarnamn med sudo-rättigheter: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] En logg-fil har skapats här: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Vill du använda BTRFS sub-volymer med standard-layout?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Vill du använda komprimering för BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Vill du skapa en separat partition för /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"De valda diskarna uppfyller inte minsta lagringskapacitet för automatisk layout-förslag\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Minsta kapaciteten för /home är: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Minsta kapaciteten för Arch Linux partitionen är: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Gå vidare\"\n\nmsgid \"yes\"\nmsgstr \"ja\"\n\nmsgid \"no\"\nmsgstr \"nej\"\n\nmsgid \"set: {}\"\nmsgstr \"sätt: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Manuell konfigurering måste vara en lista\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Inget interface specificerat för manuell konfigurering\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Manuell NIC-konfiguration utan DHCP kräver en IP adress\"\n\nmsgid \"Add interface\"\nmsgstr \"Lägg till interface\"\n\nmsgid \"Edit interface\"\nmsgstr \"Editera interface\"\n\nmsgid \"Delete interface\"\nmsgstr \"Ta bort interface\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Välj ett nätverkskort att lägga till\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Manuell konfiguration\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Markera/Avmarkera en partition för komprimering (BTRFS enbart)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Lösenordet du angav verkar svagt, är du säker på att du vill använda det?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Ger ett urval av skrivbordsval och fönsterhanterare, t.ex. Gnome, KDE och sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Välj din skrivbordsmiljö\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"En väldigt minimal installation som möjliggör konfigurering av Arch Linux som du själv vill ha det.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Erbjuder ett urval av olika server-paketeringar, t.ex. httpd, nginx och mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Välj vilka servrar som ska installeras, om ingen kommer en minimal installation att göras\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Installerar ett minimal system med xorg och grafikdrivrutiner.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Tryck på Enter för att fortsätta.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Vill du hoppa in i det nyligen installerade systemet och utföra förändringar? (skriv 'exit' när du är klart)\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Vill du verkligen återställa denna inställning?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Välj en eller flera hårddiskar som skall användas och konfigureras\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Modiferingar av inställningen kommer återställa disk-konfigureringen!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Om du återställer hårddiskvalen kommer det också återställa diskuppsättningen. Är du säker?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Spara och gå ur\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"innehåller uppköade partitionen och detta kommer ta bort dessa. Är du säker?\"\n\nmsgid \"No audio server\"\nmsgstr \"Ingen ljud-server\"\n\nmsgid \"(default)\"\nmsgstr \"(standard)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Använd ESC för att hoppa över\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Använd CTRL+C för att återställa valen\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Kopiera till: \"\n\nmsgid \"Edit: \"\nmsgstr \"Editera: \"\n\nmsgid \"Key: \"\nmsgstr \"Nyckel: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Editera {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Lägg till: \"\n\nmsgid \"Value: \"\nmsgstr \"Värde: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Du kan hoppa över val av disk och partitionering och använda det som är monterat vid /mnt/archinstall (experimentellt)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Välj en disk eller hoppa över och använd /mnt/archinstall utan formatering\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Välj vilken partition som skall markeras för formatering:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Använd HSM för att låsa upp krypterad enhet\"\n\nmsgid \"Device\"\nmsgstr \"Enhet\"\n\nmsgid \"Size\"\nmsgstr \"Storlek\"\n\nmsgid \"Free space\"\nmsgstr \"Fritt utrymme\"\n\nmsgid \"Bus-type\"\nmsgstr \"Buss-typ\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Antingen root-lösenord eller minst 1 användare med sudo-privilegier måste anges\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Ange användarnamn (lämna tomt för att hoppa över): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Användarnamnet du angav är ogiltigt. Försök igen\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Ska \\\"{}\\\" vara en superanvändare (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Välj vilka partitioner som ska krypteras\"\n\nmsgid \"very weak\"\nmsgstr \"mycket svag\"\n\nmsgid \"weak\"\nmsgstr \"svag\"\n\nmsgid \"moderate\"\nmsgstr \"måttlig\"\n\nmsgid \"strong\"\nmsgstr \"starkt\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Lägg till Sub-volym\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Editera Sub-volym\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Ta bort Sub-volym\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Konfigurerade {} gränssnitt\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Detta alternativ aktiverar antalet parallella nedladdningar som kan ske under installationen\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Ange antalet parallella nedladdningar som ska aktiveras.\\n\"\n\" (ange ett värde mellan 1 till {}\\n\"\n\"Observera:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - - Maximalt värde:   : {} (Tillåter {} parallella nedladdningar, tillåter {} nedladdningar åt gången)\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Minimalt värde   : 1 (Tillåter 1 parallell nedladdning, tillåter 2 nedladdningar åt gången)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \"  - Inaktivera/Standard: 0 (Inaktiverar parallell nedladdning, tillåter endast en nedladdning åt gången)\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Ogiltig inmatning! Försök igen med en giltig inmatning [1 till {max_downloads}, eller 0 för att inaktivera]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Parallella nedladdningar\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC för att hoppa över\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C för att återställa\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB för att välja\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Standardvärde: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"För att kunna använda denna översättning, installera ett teckensnitt manuellt som stöder språket.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Teckensnittet ska lagras som {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall kräver root-privilegier för att köras. Se --help för mer.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Välj ett exekveringsläge\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Det gick inte att hämta profilen från angiven webbadress: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Profiler måste ha ett unikt namn, men profildefinitioner med dubblettnamn hittades: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Välj en eller flera enheter att använda och konfigurera\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Om du återställer enhetsvalet kommer detta också att återställa den aktuella disklayouten. Är du säker?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Existerande partitioner\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Välj ett partitioneringsalternativ\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Ange rootkatalogen för de monterade enheterna: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Minsta kapacitet för /home-partition: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Minsta kapacitet för Arch Linux-partition: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Det här är en lista över förprogrammerade backup profiler, de kan göra det lättare att installera saker som skrivbordsmiljöer\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Nuvarande profilval\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Ta bort alla nyligen tillagda partitioner\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Tilldela monteringspunkt\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Markera/avmarkera som det som ska formateras (tar bort all data)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Markera/avmarkera som bootbar\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Byt filsystem\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Markera/avmarkera som komprimerad\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Ställ in subvolymer\"\n\nmsgid \"Delete partition\"\nmsgstr \"Ta bort partition\"\n\nmsgid \"Partition\"\nmsgstr \"Partition\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Denna partition är för närvarande krypterad, för att formatera den måste ett filsystem anges\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Partitionsmonteringspunkter är relativa till inuti installationen, boot skulle vara /boot som ett exempel.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Om monteringspunkt /boot är inställd kommer partitionen också att markeras som startbar.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Monteringspunkt \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Aktuella fria sektorer på enheten {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Totala sektorer: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Ange startsektor (standard: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Ange slutsektorn för partitionen (procent eller blocknummer, standard: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Detta tar bort alla nyligen tillagda partitioner. Fortsätta?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Partitionshantering: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Total längd: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Krypteringstyp\"\n\nmsgid \"Iteration time\"\nmsgstr \"Iterationstid\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Ange iterationstid för LUKS-kryptering (i millisekunder)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Högre värde ökar säkerheten men fördröjer uppstartstiden\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Standard: 10000ms, Rekommenderat intervall: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Iterationstiden kan inte vara tom\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Iterationstiden måste vara minst 100 ms\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Iterationstiden får vara högst 120000 ms\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Var vänlig ange ett giltigt nummer\"\n\nmsgid \"Partitions\"\nmsgstr \"Partitioner\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Inga HSM-enheter tillgängliga\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Partitioner som ska krypteras\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Välj alternativ för diskkryptering\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Välj en FIDO2-enhet att använda för HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Använd en generiskt rekommenderad partitionslayout\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Manuell partitionering\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Förmonterad konfiguration\"\n\nmsgid \"Unknown\"\nmsgstr \"Okänd\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Partitionskryptering\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Formaterar {} om \"\n\nmsgid \"← Back\"\nmsgstr \"← Tillbaka\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Diskkryptering\"\n\nmsgid \"Configuration\"\nmsgstr \"Konfiguration\"\n\nmsgid \"Password\"\nmsgstr \"Lösenord\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Alla inställningar kommer att återställas, är du säker?\"\n\nmsgid \"Back\"\nmsgstr \"Tillbaka\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Vänligen välj vilken displayhanterare du vill installera för de valda profilerna: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Miljötyp: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Den proprietära Nvidia-drivrutinen stöds inte av Sway. Det är troligt att du kommer att stöta på problem, är du okej med det?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Installerade paket\"\n\nmsgid \"Add profile\"\nmsgstr \"Lägg till profil\"\n\nmsgid \"Edit profile\"\nmsgstr \"Redigera profil\"\n\nmsgid \"Delete profile\"\nmsgstr \"Ta bort profil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Profilnamn: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Profilnamnet du angav används redan. Försök igen\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Paket som ska installeras med den här profilen (separerade med mellanslag, lämna tomt för att skippa): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Tjänster som ska aktiveras med den här profilen (separerade med mellanslag, lämna tomt för att skippa): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Ska denna profil aktiveras för installation?\"\n\nmsgid \"Create your own\"\nmsgstr \"Skapa din egen\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Välj en grafikdrivrutin eller lämna tomt för att installera alla drivrutiner med öppen källkod\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway behöver tillgång till din sitshantering (samling av hårdvaruenheter, t.ex. tangentbord, mus, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Välj ett alternativ för att ge Sway åtkomst till din hårdvara\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Grafik drivrutin\"\n\nmsgid \"Greeter\"\nmsgstr \"Displayhanterare\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Välj vilken displayhanterare att installera\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Detta är en lista över förprogrammerade standard_profiler\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Diskkonfiguration\"\n\nmsgid \"Profiles\"\nmsgstr \"Profiler\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Hittar möjliga kataloger att spara konfigurationsfiler i ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Välj katalog (eller kataloger) för att spara konfigurationsfiler\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Lägg till en anpassad spegel\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Ändra anpassad spegel\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Ta bort anpassad spegel\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Ange namn (lämna tomt för att hoppa över): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Ange url (lämna tomt för att hoppa över): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Välj signaturkontroll alternativ\"\n\nmsgid \"Select signature option\"\nmsgstr \"Välj signaturalternativ\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Anpassade speglar\"\n\nmsgid \"Defined\"\nmsgstr \"Definierat\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Spara användarkonfiguration (inklusive disklayout)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Välj vilken mapp som konfigureratione(rna) ska sparas till TAB-komplettering (aktiverat)\\n\"\n\"Sparkatalog: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Vill du spara {} konfigurationsfil(er) på följande plats?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Sparar {} konfigurationsfiler till {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Speglar\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Spegelregioner\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Maximalt värde  : (Tillåter {} parallella nedladdningar, tillåter {max_downloads+1} nedladdningar åt gången)\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Ogiltig inmatning! Försök igen med en giltig inmatning [1 till {}, eller 0 för att inaktivera]\"\n\nmsgid \"Locales\"\nmsgstr \"Lokaler\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Använd NetworkManager (nödvändigt för att konfigurera internet grafiskt i GNOME och KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Total: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Alla inmatade värden kan adderas med en enhet: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Om ingen enhet tillhandahålls tolkas värdet som sektorer\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Ange start (standard: sektor {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Ange slut (standard: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Det går inte att fastställa fido2-enheter. Är libfido2 installerat?\"\n\nmsgid \"Path\"\nmsgstr \"Sökväg\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Tillverkare\"\n\nmsgid \"Product\"\nmsgstr \"Produkt\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Ogiltig konfiguration: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Typ\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Det här alternativet aktiverar antalet parallella nedladdningar som kan ske under paketnedladdningar\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Ange antalet parallella nedladdningar som ska aktiveras.\\n\"\n\"\\n\"\n\"Observera:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Maximalt rekommenderat värde: {} (Tillåter {} parallella nedladdningar åt gången)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Inaktivera/Standard: 0 (Inaktiverar parallell nedladdning, tillåter endast en nedladdning åt gången)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Ogiltig inmatning! Försök igen med en giltig inmatning [eller 0 för att inaktivera]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland behöver tillgång till din sitshantering (samling av hårdvaruenheter t.ex. tangentbord, mus, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Välj ett alternativ för att ge Hyprland åtkomst till din hårdvara\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Alla inmatade värden kan adderas med en enhet: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Vill du använda enhetliga kärnavbildningar?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Enhetliga kärnavbildningar\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Väntar på att tidssynkroniseringen (timedatectl show) ska slutföras.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Tidssynkroniseringen slutförs inte medan du väntar - kontrollera dokumentationen för lösningar: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Hoppa över att vänta på automatisk tidssynkronisering (detta kan orsaka problem om tiden är osynkroniserad under installationen)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Väntar på att Arch Linux-nyckelringssynkroniseringen (archlinux-keyring-wkd-sync) ska slutföras.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Valda profiler: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Tidsynkroniseringen slutförs inte medan du väntar - kontrollera dokumentationen för lösningar: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Markera/avmarkera som nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Vill du använda komprimering eller inaktivera CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"Använd komprimering\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Inaktivera Copy-on-Write\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Ger ett urval av skrivbordsmiljöer och kaklade fönsterhanterare, t.ex. GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Konfigurationstyp: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM-konfigurationstyp\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"LVM-diskkryptering med fler än 2 partitioner stöds för närvarande inte\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Använd NetworkManager (nödvändigt för att konfigurera internet grafiskt i GNOME och KDE Plasma)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Välj ett LVM-alternativ\"\n\nmsgid \"Partitioning\"\nmsgstr \"Partitionering\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Logisk volymhantering (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Fysiska volymer\"\n\nmsgid \"Volumes\"\nmsgstr \"Volymer\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM-volymer\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"LVM-volymer som ska krypteras\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Välj vilka LVM-volymer som ska krypteras\"\n\nmsgid \"Default layout\"\nmsgstr \"Standardlayout\"\n\nmsgid \"No Encryption\"\nmsgstr \"Ingen kryptering\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM på LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS på LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Ja\"\n\nmsgid \"No\"\nmsgstr \"Nej\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall hjälp\"\n\nmsgid \" (default)\"\nmsgstr \" (standard)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Tryck på Ctrl+h för hjälp\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Välj ett alternativ för att ge Sway åtkomst till din hårdvara\"\n\nmsgid \"Seat access\"\nmsgstr \"Åtkomst av sitshantering\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Monteringspunkt\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Mata in ett disk-krypteringslösenord (lämna blankt för att hoppa över kryptering)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Diskkrypteringslösenord\"\n\nmsgid \"Partition - New\"\nmsgstr \"Partition - Ny\"\n\nmsgid \"Filesystem\"\nmsgstr \"Filsystem\"\n\nmsgid \"Invalid size\"\nmsgstr \"Ogiltig storlek\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Start (standard: sektor {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Slut (standard: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Subvolymens namn\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Diskkonfigurationstyp\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Rootmonteringskatalog\"\n\nmsgid \"Select language\"\nmsgstr \"Välj språk\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Skriv in ytterligare paket som skall installeras (separerade med mellanslag, lämna tomt för att skippa):\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Ogiltigt nedladdningsnummer\"\n\nmsgid \"Number downloads\"\nmsgstr \"Antal nedladdningar\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Användarnamnet du angav är ogiltigt\"\n\nmsgid \"Username\"\nmsgstr \"Användarnamn\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Ska \\\"{}\\\" vara en superanvändare (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Gränssnitt\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Du måste ange en giltig IP i IP-konfigurationsläge\"\n\nmsgid \"Modes\"\nmsgstr \"Lägen\"\n\nmsgid \"IP address\"\nmsgstr \"IP-adress\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Mata in IP-adress till gateway (router) eller lämna tomt för inget\"\n\nmsgid \"Gateway address\"\nmsgstr \"Gateway adress\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Mata in DNS-servrar (separerade med mellanslag, lämna tomt för inget)\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS-servrar\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Konfigurera gränssnitt\"\n\nmsgid \"Kernel\"\nmsgstr \"Kärna\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI identifierades inte och vissa alternativ är inaktiverade\"\n\nmsgid \"Info\"\nmsgstr \"Information\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Den proprietära Nvidia-drivrutinen stöds inte av Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Det är troligt att du kommer att stöta på problem, är du okej med det?\"\n\nmsgid \"Main profile\"\nmsgstr \"Huvudprofil\"\n\nmsgid \"Confirm password\"\nmsgstr \"Bekräfta lösenord\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Bekräftelselösenordet matchade inte, försök igen\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Inte en giltig katalog\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Vill du fortsätta?\"\n\nmsgid \"Directory\"\nmsgstr \"Katalog\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Ange en katalog för konfigurationen/konfigurationerna som ska sparas (komplettering av flikar aktiverad)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Vill du spara konfigurationsfil(er) till {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Aktiverad\"\n\nmsgid \"Disabled\"\nmsgstr \"Inaktiverad\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Vänligen skicka in detta problem (och fil) till https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Spegelnamn\"\n\nmsgid \"Url\"\nmsgstr \"Webbadress\"\n\nmsgid \"Select signature check\"\nmsgstr \"Välj signaturkontroll\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Välj exekveringsläge\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Tryck på ?för hjälp\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Välj ett alternativ för att ge Hyprland åtkomst till din hårdvara\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Ytterligare arkiv\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Swap på zram\"\n\nmsgid \"Name\"\nmsgstr \"Namn\"\n\nmsgid \"Signature check\"\nmsgstr \"Signaturkontroll\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Valt ledigt utrymmessegment på enheten {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Storlek: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Storlek (standard: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"HSM-enhet\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Vissa paket kunde inte hittas i arkivet\"\n\nmsgid \"User\"\nmsgstr \"Användare\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Den angivna konfigurationen kommer att tillämpas\"\n\nmsgid \"Wipe\"\nmsgstr \"Rensa\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Markera/avmarkera som XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Laddar paket...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Välj alla paket från listan nedan som ska installeras ytterligare\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Lägg till en anpassat arkiv\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Ändra anpassat arkiv\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Ta bort anpassat arkiv\"\n\nmsgid \"Repository name\"\nmsgstr \"Arkivnamn\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Lägg till en anpassad server\"\n\nmsgid \"Change custom server\"\nmsgstr \"Ändra anpassad server\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Ta bort anpassad server\"\n\nmsgid \"Server url\"\nmsgstr \"Server url\"\n\nmsgid \"Select regions\"\nmsgstr \"Välj regioner\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Lägg till en anpassade servrar\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Lägg till ett anpassat arkiv\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Laddar spegelregioner...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Speglar och arkiv\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Valda spegelregioner\"\n\nmsgid \"Custom servers\"\nmsgstr \"Anpassade servrar\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Anpassade arkiv\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Endast ASCII-tecken stöds\"\n\nmsgid \"Show help\"\nmsgstr \"Visa hjälp\"\n\nmsgid \"Exit help\"\nmsgstr \"Avsluta hjälpen\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Förhandsgranska rulla uppåt\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Förhandsgranska rulla nedåt\"\n\nmsgid \"Move up\"\nmsgstr \"Flytta upp\"\n\nmsgid \"Move down\"\nmsgstr \"Flytta ned\"\n\nmsgid \"Move right\"\nmsgstr \"Flytta höger\"\n\nmsgid \"Move left\"\nmsgstr \"Flytta vänster\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Hoppa till posten\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Hoppa över valet (om tillgängligt)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Återställ val (om tillgängligt)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Välj på enstaka val\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Välj på flerval\"\n\nmsgid \"Reset\"\nmsgstr \"Återställ\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Hoppa över valmenyn\"\n\nmsgid \"Start search mode\"\nmsgstr \"Starta sökläge\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Avsluta sökläge\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc behöver tillgång till din sitshantering (samling av hårdvaruenheter, t.ex. tangentbord, mus, etc)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Välj ett alternativ för att ge labwc åtkomst till din hårdvara\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri behöver tillgång till din sitshantering (samling av hårdvaruenheter, t.ex. tangentbord, mus, etc)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Välj ett alternativ för att ge niri åtkomst till din hårdvara\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Markera/avmarkera som ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"Paketgrupp:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Avsluta archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"Starta om systemet\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"chroot in i installationen för efterinstallationskonfigurationer\"\n\nmsgid \"Installation completed\"\nmsgstr \"Installationen slutförd\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Vad vill du göra härnäst?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Välj vilket läge att konfigurera för \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Felaktigt lösenord för autentiseringsfilens dekrypteringslösenord\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Felaktigt lösenord\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Dekrypteringslösenord för autentiseringsfil\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Vill du kryptera user_credentials.json filen?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Krypteringslösenord för autentiseringsfil\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Arkiv: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Ny version tillgänglig\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Lösenordslös inloggning\"\n\nmsgid \"Second factor login\"\nmsgstr \"Andra faktorsinloggning\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Vill du konfigurera Bluetooth?\"\n\nmsgid \"Print service\"\nmsgstr \"Utskriftstjänst\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Vill du konfigurera utskriftstjänsten?\"\n\nmsgid \"Power management\"\nmsgstr \"Strömhantering\"\n\nmsgid \"Authentication\"\nmsgstr \"Autentisering\"\n\nmsgid \"Applications\"\nmsgstr \"Program\"\n\nmsgid \"U2F login method: \"\nmsgstr \"U2F-inloggningsmetod: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Lösenordslös sudo: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Btrfs-ögonblicksavbildstyp: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Synkroniserar systemet...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Värdet kan inte vara tomt\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Ögonblicksavbildstyp\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Ögonblicksavbildstyp: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Ställ in U2F-inloggning\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Inga U2F-enheter hittades\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"U2F-inloggningsmetod\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Aktivera lösenordslös sudo?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Konfigurerar U2F-enhet för användare: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Du kan behöva ange PIN-koden och sedan trycka på din U2F-enhet för att registrera den\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Starta enhetsmodifieringar i \"\n\nmsgid \"No network connection found\"\nmsgstr \"Ingen nätverksanslutning hittades\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Vill du ansluta till ett wifi nätverk?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Inget wifi gränssnitt hittades\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Välj ett wifi nätverk att ansluta till\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Skannar efter wifi nätverk...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Inga wifi nätverk hittades\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Misslyckades med att ställa in wifi\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Ange wifi lösenord\"\n\nmsgid \"Ok\"\nmsgstr \"Ok\"\n\nmsgid \"Removable\"\nmsgstr \"Borttagbar\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Installera till borttagbar plats\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"Kommer att installera till /EFI/BOOT/ (borttagbar plats)\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"Installeras på standardplats med NVRAM-post\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"Vill du installera bootloadern på standardsökvägen för flyttbara medier?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Detta installerar bootloadern till /EFI/BOOT/BOOTX64.EFI (eller liknande) vilket är användbart för:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"USB-minnen eller andra portabla externa medier.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"System där du vill att disken ska vara uppstartsbar på vilken dator som helst.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Fast programvara som inte stöder NVRAM-uppstartsposter korrekt.\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"Kommer att installera till /EFI/BOOT/ (borttagbar plats, säker standardinställning))\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"Kommer att installeras på en anpassad plats med NVRAM-post\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Fast programvara som inte stöder NVRAM-uppstartsposter korrekt som de flesta MSI-moderkort,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"de flesta Apple Mac-datorer, många bärbara datorer...\"\n\nmsgid \"Language\"\nmsgstr \"Språk\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"Kompressionsalgoritm\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Endast paket som base, sudo, linux, linux-firmware, efibootmgr och valfria profilpaket installeras.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Välj zram kompressionsalgoritm:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"Använd Network Manager (standard backend)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"Använd Network Manager (iwd backend)\"\n"
  },
  {
    "path": "archinstall/locales/ta/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ta\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.5\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] ஒரு பதிவு கோப்பு இங்கே உருவாக்கப்பட்டது: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \" இந்த சிக்கல் (மற்றும் கோப்பை) https://github.com/archlinux/archinstall/issues க்கு சமர்ப்பிக்கவும்\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"நீங்கள் உண்மையிலேயே கைவிட விரும்புகிறீர்களா?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"மற்றும் மேலும் ஒரு முறை சரிபார்த்தல்: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"நீங்கள் zram இல் swap ஐப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"நிறுவலுக்கு விரும்பிய ஹோஸ்ட்பெயர்: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"சூடோ சிறப்புரிமைகளுடன் தேவைப்படும் சூப்பர் யூசருக்கான பயனர் பெயர்: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"நிறுவ வேண்டிய கூடுதல் பயனர்கள் (பயனர்கள் யாரும் இல்லாத நிலையில் காலியாக விடவும்): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"இந்தப் பயனர் ஒரு சூப்பர் யூசராக (sudoer) இருக்க வேண்டுமா?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"நேர மண்டலத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"நீங்கள் systemd-boot க்குப் பதிலாக GRUB ஐ துவக்க ஏற்றியாகப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"துவக்க ஏற்றியைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"ஆடியோ சர்வரை தேர்வு செய்யவும்\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"தொகுப்பு Base, base-devel, linux, linux-firmware, efibootmgr மற்றும் விருப்ப சுயவிவர தொகுப்புகள் போன்ற தொகுப்புகள் மட்டுமே நிறுவப்பட்டுள்ளன.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"நீங்கள் பயர்பாக்ஸ் அல்லது குரோமியம் போன்ற இணைய உலாவியை விரும்பினால், அதை பின்வரும் வரியில் குறிப்பிடலாம்.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"நிறுவ கூடுதல் தொகுப்புகளை எழுதவும் (இடம் பிரிக்கப்பட்டது, தவிர்க்க காலியாக விடவும்): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"நிறுவலுக்கு ISO பிணைய கட்டமைப்பு நகலெடுக்கவும்\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"பயன்படுத்துங்கள் NetworkManager ஐப் (GNOME மற்றும் KDE இல் இணையத்தை வரைகலை முறையில் கட்டமைக்க அவசியம்)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"கட்டமைக்க ஒரு பிணைய இடைமுகத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"எந்த பயன்முறையை \\\"{}\\\" உள்ளமைக்க வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும் அல்லது இயல்புநிலை பயன்முறை \\\"{}\\\" ஐப் பயன்படுத்த தவிர்க்கவும்\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"உள்ளிடுங்கள் IP மற்றும் சப்நெட்டை {} (எடுத்துக்காட்டு: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"உங்கள் நுழைவாயில் (திசைவி) IP முகவரியை உள்ளிடவும் அல்லது எதற்கும் காலியாக விடவும்: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"உங்கள் DNS சேவையகங்களை உள்ளிடவும் (இடம் பிரிக்கப்பட்டது, எதற்கும் காலியாக இல்லை): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"உங்கள் பிரதான பகிர்வு எந்த கோப்பு முறைமையைப் பயன்படுத்த வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Current partition layout\"\nmsgstr \"தற்போதைய பகிர்வு தளவமைப்பு\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"என்ன செய்ய வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும்\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"பகிர்வுக்கு தேவையான கோப்பு முறைமை வகையை உள்ளிடவும்\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"தொடக்க இடத்தை உள்ளிடவும் (பிரிக்கப்பட்ட அலகுகளில்: s, GB, %, முதலியன ; இயல்புநிலை: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"இறுதி இடத்தை உள்ளிடவும் (பிரிக்கப்பட்ட அலகுகளில்: s, GB, %, etc. ; ex: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} வரிசைப்படுத்தப்பட்ட பகிர்வுகளைக் கொண்டுள்ளது, இது அவற்றை அகற்றும், நீங்கள் உறுதியாக இருக்கிறீர்களா?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"எந்த பகிர்வுகளை நீக்க வேண்டும் என்பதை குறியீட்டின் மூலம் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"எந்த பகிர்வை எங்கு ஏற்ற வேண்டும் என்பதை குறியீட்டு மூலம் தேர்ந்தெடுக்கவும்\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * பகிர்வு மவுண்ட்-பாயிண்ட்கள் நிறுவலின் உள்ளே தொடர்புடையவை, துவக்கம் /boot எடுத்துக்காட்டாக இருக்கும்.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"பகிர்வை எங்கு ஏற்ற வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும் (மவுண்ட்பாயிண்டை அகற்ற காலியாக விடவும்): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"வடிவமைப்பிற்கு எந்த பகிர்வை மறைக்க வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"எந்தப் பிரிவை மறைகுறியாக்கப்பட்டதாகக் குறிக்க வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"துவக்கக்கூடியதாகக் குறிக்கும் பகிர்வைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"கோப்பு முறைமையை எந்த பகிர்வில் அமைக்க வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"பகிர்வுக்கு தேவையான கோப்பு முறைமை வகையை உள்ளிடவும்: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall மொழி\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"தேர்ந்தெடுக்கப்பட்ட அனைத்து இயக்கிகளையும் துடைத்து, சிறந்த முயற்சி இயல்புநிலை பகிர்வு அமைப்பைப் பயன்படுத்தவும்\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"ஒவ்வொரு தனி இயக்ககத்தையும் என்ன செய்ய வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும் (பகிர்வு உபயோகத்தைத் தொடர்ந்து)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"தேர்ந்தெடுக்கப்பட்ட தொகுதி சாதனங்களில் நீங்கள் என்ன செய்ய விரும்புகிறீர்கள் என்பதைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"இது முன்-திட்டமிடப்பட்ட சுயவிவரங்களின் பட்டியல், அவை டெஸ்க்டாப் சூழல்கள் போன்றவற்றை நிறுவுவதை எளிதாக்கலாம்\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"விசைப்பலகை அமைப்பைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"தொகுப்புகளை பதிவிறக்கம் செய்ய வேண்டிய பகுதிகளில் ஒன்றைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"பயன்படுத்த மற்றும் கட்டமைக்க ஒன்று அல்லது அதற்கு மேற்பட்ட ஹார்டு டிரைவ்களைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"உங்கள் AMD வன்பொருளுடன் சிறந்த இணக்கத்தன்மைக்கு, நீங்கள் அனைத்து திறந்த மூல அல்லது AMD / ATI விருப்பங்களையும் பயன்படுத்த விரும்பலாம்.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"உங்கள் இன்டெல் வன்பொருளுடன் சிறந்த இணக்கத்தன்மைக்கு, நீங்கள் அனைத்து ஓப்பன் சோர்ஸ் அல்லது இன்டெல் விருப்பங்களையும் பயன்படுத்த விரும்பலாம்.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"உங்கள் Nvidia வன்பொருளுடன் சிறந்த இணக்கத்தன்மைக்கு, நீங்கள் Nvidia தனியுரிம இயக்கியைப் பயன்படுத்த விரும்பலாம்.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"கிராபிக்ஸ் இயக்கியைத் தேர்ந்தெடுக்கவும் அல்லது அனைத்து திறந்த மூல இயக்கிகளையும் நிறுவ காலியாக விடவும்\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"அனைத்தும் திறந்த-மூலம் (இயல்புநிலை)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"எந்த கர்னல்களைப் பயன்படுத்த வேண்டும் என்பதைத் தேர்வு செய்யவும் அல்லது இயல்புநிலைக்கு காலியாக விடவும் \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"எந்த லோகேல் மொழியைப் பயன்படுத்த வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"எந்த லோகேல் என்கோடிங்கைப் பயன்படுத்த வேண்டும் என்பதைத் தேர்வுசெய்யவும்\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"கீழே காட்டப்பட்டுள்ள மதிப்புகளில் ஒன்றைத் தேர்ந்தெடுக்கவும்: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"கீழே உள்ள விருப்பங்களில் ஒன்று அல்லது அதற்கு மேற்பட்டவற்றைத் தேர்ந்தெடுக்கவும்: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"பகிர்வை சேர்க்கிறது....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"தொடர, நீங்கள் செல்லுபடியாகும் fs-type உள்ளிட வேண்டும். செல்லுபடியாகும் fs-type'sக்கு `man parted` என்பதைப் பார்க்கவும்.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"பிழை:  URL \\\"{}\\\" இல் சுயவிவரங்களை பட்டியலிடுவதால் விளைவித்தது:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"பிழை: \\\"{}\\\" முடிவை JSON ஆக டிகோட் செய்ய முடியவில்லை:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"விசைப்பலகை அமைப்பு\"\n\nmsgid \"Mirror region\"\nmsgstr \"மிரர் பிராந்தியம்\"\n\nmsgid \"Locale language\"\nmsgstr \"லோகேல் மொழி\"\n\nmsgid \"Locale encoding\"\nmsgstr \"லோகேல் என்கோடிங்\"\n\nmsgid \"Drive(s)\"\nmsgstr \"இயக்கி(கள்)\"\n\nmsgid \"Disk layout\"\nmsgstr \"வட்டு தளவமைப்பு\"\n\nmsgid \"Encryption password\"\nmsgstr \"குறியாக்கம் கடவுச்சொல்\"\n\nmsgid \"Swap\"\nmsgstr \"இடமாற்று\"\n\nmsgid \"Bootloader\"\nmsgstr \"துவக்க ஏற்றி\"\n\nmsgid \"Root password\"\nmsgstr \"ரூட் கடவுச்சொல்\"\n\nmsgid \"Superuser account\"\nmsgstr \"சூப்பர் யூசர் கணக்கு\"\n\nmsgid \"User account\"\nmsgstr \"பயனர் கணக்கு\"\n\nmsgid \"Profile\"\nmsgstr \"சுயவிவரம்\"\n\nmsgid \"Audio\"\nmsgstr \"ஆடியோ\"\n\nmsgid \"Kernels\"\nmsgstr \"கர்னல்கள்\"\n\nmsgid \"Additional packages\"\nmsgstr \"கூடுதல் தொகுப்புகள்\"\n\nmsgid \"Network configuration\"\nmsgstr \"பிணைய கட்டமைப்பு\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"தானியங்கி நேர ஒத்திசைவு (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"நிறுவு ({} கட்டமைப்பு(கள்) இல்லை)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"ஹார்ட் டிரைவ் தேர்வைத் தவிர்க்க முடிவு செய்துள்ளீர்கள்\\n\"\n\"மற்றும் {} (சோதனை) இல் ஏற்றப்பட்ட எந்த இயக்கி அமைப்பையும் பயன்படுத்தும்\\n\"\n\"எச்சரிக்கை: இந்த அமைப்பின் பொருத்தத்தை Archinstall சரிபார்க்காது\\n\"\n\"நீங்கள் தொடர விரும்புகிறீர்களா?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"பகிர்வு நிகழ்வை மீண்டும் பயன்படுத்துதல்: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"புதிய பகிர்வை உருவாக்கவும்\"\n\nmsgid \"Delete a partition\"\nmsgstr \"ஒரு பகிர்வை நீக்கவும்\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"அழிக்கவும்/நீக்கவும் அனைத்து பகிர்வுகளை\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"ஒரு பகிர்வுக்கு ஏற்ற-புள்ளியை ஒதுக்கவும்\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"குறி/குறிநீக்கு வடிவமைக்கப்பட வேண்டிய பகிர்வை (தரவை அழிக்கிறது)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"குறி/குறி நீக்கு ஒரு பகிர்வு மறைகுறியாக்கப்பட்டது\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"குறி/குறிநீக்கு ஒரு பகிர்வை துவக்கக்கூடியதாக(/boot க்கு தானியங்கு)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"ஒரு பகிர்வுக்கு தேவையான கோப்பு முறைமையை அமைக்கவும்\"\n\nmsgid \"Abort\"\nmsgstr \"கைவிடு\"\n\nmsgid \"Hostname\"\nmsgstr \"ஹோஸ்ட் பெயர்\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"உள்ளமைக்கப்படவில்லை, கைமுறையாக அமைக்கும் வரை கிடைக்காது\"\n\nmsgid \"Timezone\"\nmsgstr \"நேரம் மண்டலம்\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"கீழே உள்ள விருப்பங்களை அமைக்கவும்/மாற்றவும்\"\n\nmsgid \"Install\"\nmsgstr \"நிறுவு\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"தவிர்க்க ESC ஐப் பயன்படுத்தவும்\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"பகிர்வு தளவமைப்பை பரிந்துரைக்கவும்\"\n\nmsgid \"Enter a password: \"\nmsgstr \"கடவுச்சொல்லை உள்ளிடவும்: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"{} க்கான என்க்ரிப்ஷன் கடவுச்சொல்லை உள்ளிடவும்\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"வட்டு குறியாக்க கடவுச்சொல்லை உள்ளிடவும் (குறியாக்கம் இல்லாமல் இருப்பதற்கு காலியாக விடவும்): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"சூடோ சலுகைகளுடன் தேவையான சூப்பர் பயனரை உருவாக்கவும்: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"ரூட் கடவுச்சொல்லை உள்ளிடவும் (ரூட்டை முடக்க காலியாக விடவும்): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"\\\"{}\\\" பயனருக்கான கடவுச்சொல்: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"கூடுதல் தொகுப்புகள் உள்ளனவா என்று சரிபார்க்கிறது (இதற்கு சில வினாடிகள் ஆகலாம்)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"இயல்புநிலை நேர சேவையகங்களுடன் தானியங்கி நேர ஒத்திசைவை (NTP) பயன்படுத்த விரும்புகிறீர்களா?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP வேலை செய்ய வன்பொருள் நேரம் மற்றும் பிற பிந்தைய கட்டமைப்பு படிகள் தேவைப்படலாம்.\\n\"\n\"மேலும் தகவலுக்கு, ஆர்ச் விக்கியைப் பார்க்கவும்\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"கூடுதல் பயனரை உருவாக்க பயனர்பெயரை உள்ளிடவும் (தவிர்க்க காலியாக விடவும்): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"தவிர்க்க ESC ஐப் பயன்படுத்தவும்\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"பட்டியலிலிருந்து ஒரு பொருளைத் தேர்வுசெய்து, அதைச் செயல்படுத்த கிடைக்கக்கூடிய செயல்களில் ஒன்றைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Cancel\"\nmsgstr \"ரத்து செய்\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"உறுதி செய்து வெளியேறவும்\"\n\nmsgid \"Add\"\nmsgstr \"சேர்\"\n\nmsgid \"Copy\"\nmsgstr \"நகல்\"\n\nmsgid \"Edit\"\nmsgstr \"தொகு\"\n\nmsgid \"Delete\"\nmsgstr \"அழி\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"'{}' க்கான செயலைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"புதிய விசைக்கு நகலெடு:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"அறியப்படாத nic வகை: {}. சாத்தியமான மதிப்புகள் {} ஆகும்\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"இது நீங்கள் தேர்ந்தெடுத்த கட்டமைப்பு:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"பேக்மேன் ஏற்கனவே இயங்கி வருகிறது, அது முடிவடைவதற்கு அதிகபட்சம் 10 நிமிடங்கள் காத்திருக்கிறது.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"முன்பே இருக்கும் பேக்மேன் பூட்டு ஒருபோதும் வெளியேறவில்லை. archinstall ஐப் பயன்படுத்துவதற்கு முன், ஏற்கனவே உள்ள பேக்மேன் அமர்வுகளை சுத்தம் செய்யவும்.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"எந்த விருப்ப கூடுதல் களஞ்சியங்களை இயக்க வேண்டும் என்பதை தேர்வு செய்யவும்\"\n\nmsgid \"Add a user\"\nmsgstr \"ஒரு பயனரைச் சேர்க்கவும்\"\n\nmsgid \"Change password\"\nmsgstr \"கடவுச்சொல்லை மாற்று\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"பயனரை உயர்த்து/பதவி இறக்கு\"\n\nmsgid \"Delete User\"\nmsgstr \"பயனரை நீக்கு\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"புதிய பயனரை வரையறுக்கவும்\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"பயனர் பெயர்: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"{} ஒரு சூப்பர் யூசராக (sudoer) இருக்க வேண்டுமா?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"சூடோ சிறப்புரிமை கொண்ட பயனர்களை வரையறுக்கவும்: \"\n\nmsgid \"No network configuration\"\nmsgstr \"பிணைய கட்டமைப்பு இல்லை\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"ஒரு btrfs பகிர்வில் விரும்பிய துணை தொகுதிகளை அமைக்கவும்\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"எந்த பகிர்வில் துணைத்தொகுதிகளை அமைக்க வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"தற்போதைய பகிர்வுக்கு btrfs துணை தொகுதிகளை நிர்வகிக்கவும்\"\n\nmsgid \"No configuration\"\nmsgstr \"கட்டமைப்பு இல்லை\"\n\nmsgid \"Save user configuration\"\nmsgstr \"பயனர் உள்ளமைவைச் சேமிக்கவும்\"\n\nmsgid \"Save user credentials\"\nmsgstr \"பயனர் நற்சான்றிதழ்களைச் சேமிக்கவும்\"\n\nmsgid \"Save disk layout\"\nmsgstr \"வட்டு அமைப்பைச் சேமிக்கவும்\"\n\nmsgid \"Save all\"\nmsgstr \"அனைத்தையும் சேமிக்கவும்\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"எந்த அமைப்பைச் சேமிக்க வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"உள்ளமைவு(களை) சேமிக்க ஒரு கோப்பகத்தை உள்ளிடவும்: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"சரியான கோப்பகம் இல்லை: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"நீங்கள் பயன்படுத்தும் கடவுச்சொல் பலவீனமாக உள்ளது,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"நீங்கள் நிச்சயமாக அதைப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"விருப்ப களஞ்சியங்கள்\"\n\nmsgid \"Save configuration\"\nmsgstr \"உள்ளமைவைச் சேமிக்கவும்\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"விடுபட்ட கட்டமைப்புகள்:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"ரூட்-கடவுச்சொல் அல்லது குறைந்தபட்சம் 1 சூப்பர் யூசர் குறிப்பிடப்பட வேண்டும்\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"சூப்பர் யூசர் கணக்குகளை நிர்வகிக்கவும்: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"சாதாரண பயனர் கணக்குகளை நிர்வகிக்கவும்: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" துணைத் தொகுதி :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" {:16} இல் ஏற்றப்பட்டது\"\n\nmsgid \" with option {}\"\nmsgstr \" விருப்பம் உடன் {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"புதிய துணைத்தொகுதிக்கு தேவையான மதிப்புகளை நிரப்பவும்\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"துணைத்தொகுதி பெயர் \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"துணை தொகுதி மவுண்ட்பாயிண்ட்\"\n\nmsgid \"Subvolume options\"\nmsgstr \"துணை தொகுதி விருப்பங்கள்\"\n\nmsgid \"Save\"\nmsgstr \"சேமிக்கவும்\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"துணைத்தொகுதி பெயர்:\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"மவுண்ட் பாயிண்ட்டைத் தேர்ந்தெடுக்கவும்:\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"தேவையான துணை தொகுதி விருப்பங்களைத் தேர்ந்தெடுக்கவும் \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"சூடோ சிறப்புரிமை கொண்ட பயனர்களை, பயனர் பெயரால் வரையறுக்கவும்: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] ஒரு பதிவு கோப்பு இங்கே உருவாக்கப்பட்டது: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"இயல்புநிலை கட்டமைப்புடன் BTRFS துணைத்தொகுதிகளைப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"BTRFS சுருக்கத்தைப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"/home க்கு தனி பகிர்வை உருவாக்க விரும்புகிறீர்களா?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"தேர்ந்தெடுக்கப்பட்ட டிரைவ்களில் தானியங்கி பரிந்துரைக்குத் தேவையான குறைந்தபட்ச திறன் இல்லை\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"/home பகிர்வுக்கான குறைந்த பட்ச கொள்ளளவு: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"ஆர்ச் லினக்ஸ் பகிர்வுக்கான குறைந்தபட்ச கொள்ளளவு: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"தொடரவும்\"\n\nmsgid \"yes\"\nmsgstr \"ஆமாம்\"\n\nmsgid \"no\"\nmsgstr \"இல்லை\"\n\nmsgid \"set: {}\"\nmsgstr \"அமை: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"கைமுறை உள்ளமைவு அமைப்பு கண்டிப்பாக ஒரு பட்டியலாக இருக்க வேண்டும்\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"கைமுறை உள்ளமைவுக்கு iface எதுவும் குறிப்பிடப்படவில்லை\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"தானியங்கு DHCP இல்லாத கைமுறையான nic கட்டமைப்பிற்கு IP முகவரி தேவை\"\n\nmsgid \"Add interface\"\nmsgstr \"இடைமுகத்தைச் சேர்க்கவும்\"\n\nmsgid \"Edit interface\"\nmsgstr \"இடைமுகத்தை திருத்தவும்\"\n\nmsgid \"Delete interface\"\nmsgstr \"இடைமுகத்தை நீக்கு\"\n\nmsgid \"Select interface to add\"\nmsgstr \"சேர்க்க இடைமுகத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Manual configuration\"\nmsgstr \"கைமுறை கட்டமைப்பு\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"ஒரு பகிர்வை சுருக்கப்பட்டதாகக் குறிக்கவும்/குறி நீக்கவும் (btrfs மட்டும்)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"நீங்கள் பயன்படுத்தும் கடவுச்சொல் பலவீனமாக இருப்பதாகத் தெரிகிறது, நிச்சயமாக அதைப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"டெஸ்க்டாப் சூழல்கள் மற்றும் டைலிங் சாளர மேலாளர்களின் தேர்வை வழங்குகிறது, எ.கா. gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"நீங்கள் விரும்பும் டெஸ்க்டாப் சூழலைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"ஆர்ச் லினக்ஸை நீங்கள் பொருத்தமாகத் தனிப்பயனாக்க அனுமதிக்கும் மிக அடிப்படையான நிறுவல்.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"நிறுவவும் இயக்கவும் பல்வேறு சர்வர் தொகுப்புகளின் தேர்வை வழங்குகிறது, எ.கா. httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"எந்த சேவையகங்களை நிறுவ வேண்டும் என்பதைத் தேர்வுசெய்யவும், எதுவும் இல்லை என்றால், குறைந்தபட்ச நிறுவல் செய்யப்படும்\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"குறைந்தபட்ச அமைப்பு மற்றும் xorg மற்றும் கிராபிக்ஸ் இயக்கிகளை நிறுவுகிறது.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"தொடர Enter ஐ அழுத்தவும்.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"புதிதாக உருவாக்கப்பட்ட நிறுவலில் chroot செய்து, நிறுவலுக்குப் பிந்தைய உள்ளமைவைச் செய்ய விரும்புகிறீர்களா?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"இஇந்த அமைப்பை நிச்சயமாக மீட்டமைக்க வேண்டுமா?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"பயன்படுத்த மற்றும் கட்டமைக்க ஒன்று அல்லது அதற்கு மேற்பட்ட ஹார்டு டிரைவ்களைத் தேர்ந்தெடுக்கவும்\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"ஏற்கனவே உள்ள அமைப்பில் ஏதேனும் மாற்றங்கள் செய்தால் வட்டு தளவமைப்பை மீட்டமைக்கும்!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"நீங்கள் ஹார்ட் டிரைவ் தேர்வை மீட்டமைத்தால், இது தற்போதைய வட்டு அமைப்பையும் மீட்டமைக்கும். நீங்கள் உறுதியாக இருக்கிறீர்களா?\"\n\nmsgid \"Save and exit\"\nmsgstr \"சேமித்து விட்டு வெளியேறவும்\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"வரிசைப்படுத்தப்பட்ட பகிர்வுகளைக் கொண்டுள்ளது, இது அவற்றை அகற்றும், நீங்கள் உறுதியாக இருக்கிறீர்களா?\"\n\nmsgid \"No audio server\"\nmsgstr \"ஆடியோ சர்வர் இல்லை\"\n\nmsgid \"(default)\"\nmsgstr \"(இயல்புநிலை)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"தவிர்க்க ESC ஐப் பயன்படுத்தவும்\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"தற்போதைய தேர்வை மீட்டமைக்க CTRL+C ஐப் பயன்படுத்தவும்\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"இதற்கு நகலெடுக்கவும்: \"\n\nmsgid \"Edit: \"\nmsgstr \"தொகு: \"\n\nmsgid \"Key: \"\nmsgstr \"சாவி: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"தொகு {}: \"\n\nmsgid \"Add: \"\nmsgstr \"சேர்: \"\n\nmsgid \"Value: \"\nmsgstr \"மதிப்பு: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"நீங்கள் ஒரு இயக்கி மற்றும் பகிர்வைத் தேர்ந்தெடுப்பதைத் தவிர்க்கலாம் மற்றும் /mnt (பரிசோதனை) இல் ஏற்றப்பட்ட எந்த இயக்கி அமைப்பையும் பயன்படுத்தலாம்\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"வட்டுகளில் ஒன்றைத் தேர்ந்தெடுக்கவும் அல்லது தவிர்க்கவும் மற்றும் /mnt ஐ இயல்புநிலையாகப் பயன்படுத்தவும்\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"வடிவமைப்பிற்காக எந்தப் பகிர்வுகளைக் குறிக்க வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும்:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"மறைகுறியாக்கப்பட்ட இயக்ககத்தைத் திறக்க HSM ஐப் பயன்படுத்தவும்\"\n\nmsgid \"Device\"\nmsgstr \"சாதனம்\"\n\nmsgid \"Size\"\nmsgstr \"அளவு\"\n\nmsgid \"Free space\"\nmsgstr \"பயன்படுத்தாத இடம்\"\n\nmsgid \"Bus-type\"\nmsgstr \"பேருந்து-வகை\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"ரூட்-கடவுச்சொல் அல்லது குறைந்தபட்சம் 1 பயனர் சூடோ சிறப்புரிமைகளைக் குறிப்பிட வேண்டும்\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"பயனர்பெயரை உள்ளிடவும் (தவிர்க்க காலியாக விடவும்): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"நீங்கள் உள்ளிட்ட பயனர்பெயர் தவறானது. மீண்டும் முயற்சிக்கவும்\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\\\"{}\\\" ஒரு சூப்பர் யூசராக (sudo) இருக்க வேண்டுமா?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"குறியாக்கம் செய்ய வேண்டிய பகிர்வுகளைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"very weak\"\nmsgstr \"மிகவும் பலவீனமானது\"\n\nmsgid \"weak\"\nmsgstr \"பலவீனமான\"\n\nmsgid \"moderate\"\nmsgstr \"மிதமான\"\n\nmsgid \"strong\"\nmsgstr \"வலுவான\"\n\nmsgid \"Add subvolume\"\nmsgstr \"துணைத்தொகுதியைச் சேர்க்கவும்\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"துணைத்தொகுதியைத் திருத்தவும்\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"துணைத்தொகுதியை நீக்கவும்\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"கட்டமைக்கப்பட்ட {} இடைமுகங்கள்\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"இந்த விருப்பம் நிறுவலின் போது நிகழக்கூடிய இணையான பதிவிறக்கங்களின் எண்ணிக்கையை செயல்படுத்துகிறது\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"இயக்கப்பட வேண்டிய இணையான பதிவிறக்கங்களின் எண்ணிக்கையை உள்ளிடவும்.\\n\"\n\"  (1 முதல் {} வரையிலான மதிப்பை உள்ளிடவும்)\\n\"\n\"குறிப்பு:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - அதிகபட்ச மதிப்பு  : {} ( {} இணையான பதிவிறக்கங்களை அனுமதிக்கிறது, ஒரே நேரத்தில் {} பதிவிறக்கங்களை அனுமதிக்கிறது )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - குறைந்தபட்ச மதிப்பு  : 1 (1 இணை பதிவிறக்கத்தை அனுமதிக்கிறது, ஒரு நேரத்தில் 2 பதிவிறக்கங்களை அனுமதிக்கிறது )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - முடக்கு/இயல்புநிலை: 0 (இணை பதிவிறக்கத்தை முடக்குகிறது, ஒரு நேரத்தில் 1 பதிவிறக்கத்தை மட்டுமே அனுமதிக்கிறது )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"தவறான உள்ளீடு! சரியான உள்ளீட்டில் [1 முதல் {max_downloads} வரை அல்லது முடக்க 0 வரை] மீண்டும் முயற்சிக்கவும்\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"இணையான பதிவிறக்கங்கள்\"\n\nmsgid \"ESC to skip\"\nmsgstr \"தவிர்க்க ESC\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"மீட்டமைக்க CTRL+C\"\n\nmsgid \"TAB to select\"\nmsgstr \"தேர்ந்தெடுக்க TAB\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[இயல்புநிலை மதிப்பு: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"இந்த மொழிபெயர்ப்பைப் பயன்படுத்த, மொழியை ஆதரிக்கும் எழுத்துருவை கைமுறையாக நிறுவவும்.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"எழுத்துரு {} ஆக சேமிக்கப்பட வேண்டும்\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall ஐ இயக்க ரூட் சிறப்புரிமைகள் தேவை. மேலும் பார்க்க --help.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"செயல்படுத்தும் பயன்முறையைத் தேர்ந்தெடுக்கவும்\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"குறிப்பிட்ட url இலிருந்து சுயவிவரத்தைப் பெற முடியவில்லை: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"சுயவிவரங்கள் தனிப்பட்ட பெயரைக் கொண்டிருக்க வேண்டும், ஆனால் நகல் பெயருடன் சுயவிவர வரையறைகள் காணப்படுகின்றன: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"பயன்படுத்த மற்றும் கட்டமைக்க ஒன்று அல்லது அதற்கு மேற்பட்ட சாதனங்களைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"சாதனத் தேர்வை மீட்டமைத்தால், இது தற்போதைய வட்டு அமைப்பையும் மீட்டமைக்கும். நீங்கள் உறுதியாக இருக்கிறீர்களா?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"ஏற்கனவே உள்ள பகிர்வுகள்\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"பகிர்வு விருப்பத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"ஏற்றப்பட்ட சாதனங்களின் ரூட் கோப்பகத்தை உள்ளிடவும்: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"\"\n\"/home பகிர்வுக்கான குறைந்தபட்ச கொள்ளளவு: {}GiB\\n\"\n\"\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"ஆர்ச் லினக்ஸ் பகிர்வுக்கான குறைந்தபட்ச கொள்ளளவு: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"இது முன்-திட்டமிடப்பட்ட profiles_bck இன் பட்டியல், அவை டெஸ்க்டாப் சூழல்கள் போன்றவற்றை நிறுவுவதை எளிதாக்கலாம்\"\n\nmsgid \"Current profile selection\"\nmsgstr \"தற்போதைய சுயவிவரத் தேர்வு\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"புதிதாக சேர்க்கப்பட்ட அனைத்து பகிர்வுகளையும் அகற்றவும்\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"பகிர்வுக்கு ஏற்ற-புள்ளியை ஒதுக்கவும்\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"வடிவமைக்கப்பட வேண்டியவையை குறி/குறிநீக்கு (தரவை அழிக்கிறது)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"துவக்கக்கூடியதாகக் குறி/குறிநீக்கு\"\n\nmsgid \"Change filesystem\"\nmsgstr \"கோப்பு முறைமையை மாற்றவும்\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"சுருக்கப்பட்டதாகக் குறி/குறிநீக்கு\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"துணைத் தொகுதிகளை அமைக்கவும்\"\n\nmsgid \"Delete partition\"\nmsgstr \"பகிர்வை நீக்கு\"\n\nmsgid \"Partition\"\nmsgstr \"பகிர்வு\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"இந்த பகிர்வு தற்போது குறியாக்கம் செய்யப்பட்டுள்ளது, அதை வடிவமைக்க ஒரு கோப்பு முறைமை குறிப்பிடப்பட வேண்டும்\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"பகிர்வு மவுண்ட்-பாயிண்ட்கள் நிறுவலின் உள்ளே தொடர்புடையவை, துவக்கம் /boot எடுத்துக்காட்டாக இருக்கும்.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"மவுண்ட்பாயிண்ட் /boot அமைக்கப்பட்டால், பகிர்வு துவக்கக்கூடியதாகக் குறிக்கப்படும்.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"மவுண்ட்பாயிண்ட்: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"{} சாதனத்தில் தற்போதைய இலவசப் பிரிவுகள்:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"மொத்த பிரிவுகள்: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"தொடக்கப் பிரிவை உள்ளிடவும் (இயல்புநிலை: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"பகிர்வின் இறுதிப் பகுதியை உள்ளிடவும் (சதவீதம் அல்லது தொகுதி எண், இயல்புநிலை: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"இது புதிதாக சேர்க்கப்பட்ட அனைத்து பகிர்வுகளையும் அகற்றும், தொடரவா?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"பகிர்வு மேலாண்மை: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"முழு நீளம்: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"குறியாக்க வகை\"\n\nmsgid \"Iteration time\"\nmsgstr \"\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"\"\n\nmsgid \"Partitions\"\nmsgstr \"பகிர்வுகள்\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"HSM சாதனங்கள் எதுவும் இல்லை\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"குறியாக்கம் செய்யப்பட வேண்டிய பகிர்வுகள்\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"வட்டு குறியாக்க விருப்பத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"HSM க்கு பயன்படுத்த FIDO2 சாதனத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"சிறந்த முயற்சி இயல்புநிலை பகிர்வு தளவமைப்பைப் பயன்படுத்தவும்\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"கைமுறை பகிர்வு\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"முன்-ஏற்றப்பட்ட கட்டமைப்பு\"\n\nmsgid \"Unknown\"\nmsgstr \"தெரியவில்லை/தெரியாதது\"\n\nmsgid \"Partition encryption\"\nmsgstr \"பகிர்வு குறியாக்கம்\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! வடிவமைத்தல் {} உள்ள \"\n\nmsgid \"← Back\"\nmsgstr \"← பின்\"\n\nmsgid \"Disk encryption\"\nmsgstr \"வட்டு குறியாக்கம்\"\n\nmsgid \"Configuration\"\nmsgstr \"கட்டமைப்பு\"\n\nmsgid \"Password\"\nmsgstr \"கடவுச்சொல்\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"எல்லா அமைப்புகளும் மீட்டமைக்கப்படும், உறுதியாக இருக்கிறீர்களா?\"\n\nmsgid \"Back\"\nmsgstr \"திரும்பவும்\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"தேர்ந்தெடுக்கப்பட்ட சுயவிவரங்களுக்கு எந்த வாழ்த்துரை நிறுவ வேண்டும் என்பதைத் தேர்வுசெய்யவும்: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"சுற்றுச்சூழல் வகை: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"தனியுரிம Nvidia இயக்கி ஸ்வே ஆல் ஆதரிக்கப்படவில்லை. நீங்கள் சிக்கலில் சிக்க வாய்ப்புள்ளது, உனக்கு அது சரியா?\"\n\nmsgid \"Installed packages\"\nmsgstr \"நிறுவப்பட்ட தொகுப்புகள்\"\n\nmsgid \"Add profile\"\nmsgstr \"சுயவிவரத்தைச் சேர்க்கவும்\"\n\nmsgid \"Edit profile\"\nmsgstr \"சுயவிவரத்தைத் திருத்தவும்\"\n\nmsgid \"Delete profile\"\nmsgstr \"சுயவிவரத்தை நீக்கு\"\n\nmsgid \"Profile name: \"\nmsgstr \"சுயவிவரப் பெயர்: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"நீங்கள் உள்ளிட்ட சுயவிவரப் பெயர் ஏற்கனவே பயன்பாட்டில் உள்ளது. மீண்டும் முயற்சிக்கவும்\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"இந்த சுயவிவரத்துடன் நிறுவப்பட வேண்டிய தொகுப்புகள் (இடம் பிரிக்கப்பட்டது, தவிர்க்க காலியாக விடவும்): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"இந்தச் சுயவிவரத்துடன் இயக்கப்பட வேண்டிய சேவைகள் (இடம் பிரிக்கப்பட்டது, தவிர்க்க காலியாக விடவும்): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"நிறுவலுக்கு இந்த சுயவிவரம் இயக்கப்பட வேண்டுமா?\"\n\nmsgid \"Create your own\"\nmsgstr \"சொந்தமாக உருவாக்கவும்\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"அனைத்து திறந்த மூல இயக்கிகளையும் நிறுவ வரைகலை இயக்கிகளை தேர்ந்தெடுக்கவும் அல்லது காலியாக விடவும்\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"ஸ்வேக்கு உங்கள் இருக்கைக்கான அணுகல் தேவை (வன்பொருள் சாதனங்களின் சேகரிப்பு அதாவது விசைப்பலகை, சுட்டி போன்றவை)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"உங்கள் வன்பொருளுக்கான அணுகலை வழங்குவதற்கான விருப்பத்தைத் தேர்வுசெய்யவும்\"\n\nmsgid \"Graphics driver\"\nmsgstr \"வரைகலை இயக்கி\"\n\nmsgid \"Greeter\"\nmsgstr \"வாழ்த்துபவர்\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"எந்த வாழ்த்துரை நிறுவ வேண்டும் என்பதைத் தேர்வுசெய்யவும்\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"இது முன்-திட்டமிடப்பட்ட default_profiles பட்டியல்\"\n\nmsgid \"Disk configuration\"\nmsgstr \"வட்டு கட்டமைப்பு\"\n\nmsgid \"Profiles\"\nmsgstr \"சுயவிவரங்கள்\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"உள்ளமைவு கோப்புகளைச் சேமிக்க சாத்தியமான கோப்பகங்களைக் கண்டறிதல் ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"உள்ளமைவு கோப்புகளை சேமிக்க கோப்பகத்தை (அல்லது கோப்பகங்களை) தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"தனிப்பயன் கண்ணாடியைச் சேர்க்கவும்\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"தனிப்பயன் கண்ணாடியை மாற்றவும்\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"தனிப்பயன் கண்ணாடியை நீக்கு\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"பெயரை உள்ளிடவும் (தவிர்க்க காலியாக விடவும்): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"URL ஐ உள்ளிடவும் (தவிர்க்க காலியாக விடவும்): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"கையொப்ப சரிபார்ப்பு விருப்பத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Select signature option\"\nmsgstr \"கையெழுத்து விருப்பத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"தனிப்பயன் கண்ணாடிகள்\"\n\nmsgid \"Defined\"\nmsgstr \"வரையறுக்கப்பட்டது\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"பயனர் உள்ளமைவைச் சேமிக்கவும் (வட்டு தளவமைப்பு உட்பட)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"உள்ளமைவு(களை) சேமிக்கப்படுவதற்கான கோப்பகத்தை உள்ளிடவும் (தாவல் நிறைவு இயக்கப்பட்டது)\\n\"\n\"கோப்பகத்தை சேமி: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"பின்வரும் இடத்தில் {} உள்ளமைவுக் கோப்பை(களை) சேமிக்க விரும்புகிறீர்களா?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} உள்ளமைவு கோப்புகளை {} இல் சேமிக்கிறது\"\n\nmsgid \"Mirrors\"\nmsgstr \"கண்ணாடிகள்\"\n\nmsgid \"Mirror regions\"\nmsgstr \"கண்ணாடிப் பகுதிகள்\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - அதிகபட்ச மதிப்பு  : {} ( {} இணையான பதிவிறக்கங்களை அனுமதிக்கிறது, ஒரே நேரத்தில் {max_downloads+1} பதிவிறக்கங்களை அனுமதிக்கிறது )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"தவறான உள்ளீடு! சரியான உள்ளீட்டில் [1 முதல் {} வரை அல்லது முடக்க 0 வரை] மீண்டும் முயற்சிக்கவும்\"\n\nmsgid \"Locales\"\nmsgstr \"மொழி குறியீடுகள்\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager ஐப் பயன்படுத்தவும் (GNOME மற்றும் KDE இல் இணையத்தை வரைகலை முறையில் கட்டமைக்க அவசியம்)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"மொத்தம்: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"உள்ளிடப்பட்ட அனைத்து மதிப்புகளையும் ஒரு அலகுடன் பின்னொட்டு இடலாம்: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"அலகு வழங்கப்படவில்லை எனில், மதிப்பு பிரிவுகளாக விளக்கப்படும்\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"தொடக்கத்தை உள்ளிடவும் (இயல்பு: sector {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"முடிவை உள்ளிடவும் (இயல்பு: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"தீர்மானிக்க முடியவில்லை fido2 சாதனங்களை. libfido2 நிறுவப்பட்டுள்ளதா?\"\n\nmsgid \"Path\"\nmsgstr \"பாதை\"\n\nmsgid \"Manufacturer\"\nmsgstr \"உற்பத்தியாளர்\"\n\nmsgid \"Product\"\nmsgstr \"தயாரிப்பு\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"தவறான கட்டமைப்பு: {error}\"\n\nmsgid \"Type\"\nmsgstr \"வகை\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"தொகுப்பு பதிவிறக்கங்களின் போது ஏற்படும் இணையான பதிவிறக்கங்களின் எண்ணிக்கையை இந்த விருப்பம் செயல்படுத்துகிறது\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"இயக்கப்பட வேண்டிய இணையான பதிவிறக்கங்களின் எண்ணிக்கையை உள்ளிடவும்.\\n\"\n\"\\n\"\n\"குறிப்பு:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - பரிந்துரைக்கப்பட்ட அதிகபட்ச மதிப்பு: {} (ஒரு நேரத்தில் {} இணையான பதிவிறக்கங்களை அனுமதிக்கிறது)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - முடக்கு/இயல்புநிலை: 0 (இணை பதிவிறக்கத்தை முடக்குகிறது, ஒரு நேரத்தில் 1 பதிவிறக்கத்தை மட்டுமே அனுமதிக்கிறது)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"தவறான உள்ளீடு! சரியான உள்ளீட்டுடன் மீண்டும் முயற்சிக்கவும் [அல்லது முடக்க 0]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland க்கு உங்கள் இருக்கைக்கான அணுகல் தேவை (வன்பொருள் சாதனங்களின் சேகரிப்பு அதாவது விசைப்பலகை, சுட்டி போன்றவை)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"உங்கள் வன்பொருளுக்கு Hypland அணுகலை வழங்குவதற்கான விருப்பத்தைத் தேர்வு செய்யவும்\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"உள்ளிடப்பட்ட அனைத்து மதிப்புகளையும் ஒரு அலகுடன் பின்னொட்டு இடலாம்: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"ஒருங்கிணைந்த கர்னல் படங்களைப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"ஒருங்கிணைந்த கர்னல் படங்கள்\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"நேர ஒத்திசைவு (timedatectl show) முடிவடைவதற்காகக் காத்திருக்கிறது.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"நேர ஒத்திசைவு முடிவடையவில்லை, நீங்கள் காத்திருக்கும் போது - தீர்வுக்கான ஆவணங்களைச் சரிபார்க்கவும்: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"தானியங்கி நேர ஒத்திசைவுக்காக காத்திருப்பதைத் தவிர்த்தல் (நிறுவலின் போது நேரம் ஒத்திசைக்கப்படாவிட்டால் இது சிக்கல்களை ஏற்படுத்தும்)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"ஆர்ச் லினக்ஸ் கீரிங் ஒத்திசைவு (archlinux-keyring-wkd-sync) முடிவடைவதற்குக் காத்திருக்கிறது.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"தேர்ந்தெடுக்கப்பட்ட சுயவிவரங்கள்: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"நேரம் ஒத்திசைவு முடிவடையவில்லை, நீங்கள் காத்திருக்கும் போது - தீர்வுகளுக்கான ஆவணங்களைச் சரிபார்க்கவும்: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"nodatacow குறி/குறிநீக்கு\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"நீங்கள் சுருக்கத்தைப் பயன்படுத்த விரும்புகிறீர்களா அல்லது CoW ஐ முடக்க விரும்புகிறீர்களா?\"\n\nmsgid \"Use compression\"\nmsgstr \"சுருக்கத்தைப் பயன்படுத்தவும்\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"எழுத்தில் நகலை (CoW) முடக்கு\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"டெஸ்க்டாப் சூழல்கள் மற்றும் டைலிங் சாளர மேலாளர்களின் தேர்வை வழங்குகிறது, எ.கா. GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"உள்ளமைவு வகை: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM கட்டமைப்பு வகை\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"2க்கும் மேற்பட்ட பகிர்வுகளைக் கொண்ட LVM வட்டு குறியாக்கம் தற்போது ஆதரிக்கப்படவில்லை\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"NetworkManager ஐப் பயன்படுத்தவும் (GNOME மற்றும் KDE Plasma இணையத்தை வரைகலை முறையில் கட்டமைக்க அவசியம்)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"LVM விருப்பத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Partitioning\"\nmsgstr \"பிரித்தல்\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"தருக்க தொகுதி மேலாண்மை (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"இயற்பியல் தொகுதிகள்\"\n\nmsgid \"Volumes\"\nmsgstr \"தொகுதிகள்\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM தொகுதிகள்\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"LVM தொகுதிகள் குறியாக்கம் செய்யப்பட வேண்டும்\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"எந்த LVM தொகுதிகளை குறியாக்கம் செய்ய வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Default layout\"\nmsgstr \"இயல்புநிலை தளவமைப்பு\"\n\nmsgid \"No Encryption\"\nmsgstr \"குறியாக்கம் இல்லை\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LUKS இல் LVM\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LVM இல் LUKS\"\n\nmsgid \"Yes\"\nmsgstr \"ஆமாம்\"\n\nmsgid \"No\"\nmsgstr \"இல்லை\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall உதவி\"\n\nmsgid \" (default)\"\nmsgstr \"(இயல்புநிலை)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"உதவிக்கு Ctrl+h ஐ அழுத்தவும்\"\n\n#, fuzzy\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"உங்கள் வன்பொருளுக்கான அணுகலை வழங்குவதற்கான விருப்பத்தைத் தேர்வுசெய்யவும்\"\n\nmsgid \"Seat access\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"மவுண்ட்பாயிண்ட்: \"\n\nmsgid \"HSM\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"வட்டு குறியாக்க கடவுச்சொல்லை உள்ளிடவும் (குறியாக்கம் இல்லாமல் இருப்பதற்கு காலியாக விடவும்): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"குறியாக்கம் கடவுச்சொல்\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"பகிர்வு\"\n\n#, fuzzy\nmsgid \"Filesystem\"\nmsgstr \"கோப்பு முறைமையை மாற்றவும்\"\n\nmsgid \"Invalid size\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"தொடக்கத்தை உள்ளிடவும் (இயல்பு: sector {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"முடிவை உள்ளிடவும் (இயல்பு: {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"துணைத்தொகுதி பெயர் \"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"வட்டு கட்டமைப்பு\"\n\nmsgid \"Root mount directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"லோகேல் மொழி\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"நிறுவ கூடுதல் தொகுப்புகளை எழுதவும் (இடம் பிரிக்கப்பட்டது, தவிர்க்க காலியாக விடவும்): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"\"\n\nmsgid \"Number downloads\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The username you entered is invalid\"\nmsgstr \"நீங்கள் உள்ளிட்ட பயனர்பெயர் தவறானது. மீண்டும் முயற்சிக்கவும்\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"பயனர் பெயர்: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"\\\"{}\\\" ஒரு சூப்பர் யூசராக (sudo) இருக்க வேண்டுமா?\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"இடைமுகத்தைச் சேர்க்கவும்\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"\"\n\nmsgid \"Modes\"\nmsgstr \"\"\n\nmsgid \"IP address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"உங்கள் நுழைவாயில் (திசைவி) IP முகவரியை உள்ளிடவும் அல்லது எதற்கும் காலியாக விடவும்: \"\n\nmsgid \"Gateway address\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"உங்கள் DNS சேவையகங்களை உள்ளிடவும் (இடம் பிரிக்கப்பட்டது, எதற்கும் காலியாக இல்லை): \"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"ஆடியோ சர்வர் இல்லை\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"கட்டமைக்கப்பட்ட {} இடைமுகங்கள்\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"கர்னல்கள்\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"\"\n\nmsgid \"Info\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"தனியுரிம Nvidia இயக்கி ஸ்வே ஆல் ஆதரிக்கப்படவில்லை. நீங்கள் சிக்கலில் சிக்க வாய்ப்புள்ளது, உனக்கு அது சரியா?\"\n\n#, fuzzy\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"தனியுரிம Nvidia இயக்கி ஸ்வே ஆல் ஆதரிக்கப்படவில்லை. நீங்கள் சிக்கலில் சிக்க வாய்ப்புள்ளது, உனக்கு அது சரியா?\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"சுயவிவரத்தைத் திருத்தவும்\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"கடவுச்சொல்லை மாற்று\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"சரியான கோப்பகம் இல்லை: {}\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"BTRFS சுருக்கத்தைப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\nmsgid \"Directory\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"\"\n\"உள்ளமைவு(களை) சேமிக்கப்படுவதற்கான கோப்பகத்தை உள்ளிடவும் (தாவல் நிறைவு இயக்கப்பட்டது)\\n\"\n\"கோப்பகத்தை சேமி: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"\"\n\"பின்வரும் இடத்தில் {} உள்ளமைவுக் கோப்பை(களை) சேமிக்க விரும்புகிறீர்களா?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Enabled\"\nmsgstr \"\"\n\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \" இந்த சிக்கல் (மற்றும் கோப்பை) https://github.com/archlinux/archinstall/issues க்கு சமர்ப்பிக்கவும்\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"மிரர் பிராந்தியம்\"\n\nmsgid \"Url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"கையொப்ப சரிபார்ப்பு விருப்பத்தைத் தேர்ந்தெடுக்கவும்\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"செயல்படுத்தும் பயன்முறையைத் தேர்ந்தெடுக்கவும்\"\n\n#, fuzzy\nmsgid \"Press ? for help\"\nmsgstr \"உதவிக்கு Ctrl+h ஐ அழுத்தவும்\"\n\n#, fuzzy\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"உங்கள் வன்பொருளுக்கு Hypland அணுகலை வழங்குவதற்கான விருப்பத்தைத் தேர்வு செய்யவும்\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"விருப்ப களஞ்சியங்கள்\"\n\nmsgid \"NTP\"\nmsgstr \"\"\n\nmsgid \"Swap on zram\"\nmsgstr \"\"\n\nmsgid \"Name\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"கையொப்ப சரிபார்ப்பு விருப்பத்தைத் தேர்ந்தெடுக்கவும்\"\n\n#, fuzzy, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"{} சாதனத்தில் தற்போதைய இலவசப் பிரிவுகள்:\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"மொத்தம்: {} / {}\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"முடிவை உள்ளிடவும் (இயல்பு: {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"சாதனம்\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"User\"\nmsgstr \"பயனர் பெயர்: \"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"\"\n\nmsgid \"Wipe\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"துவக்கக்கூடியதாகக் குறி/குறிநீக்கு\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"கூடுதல் தொகுப்புகள்\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"தனிப்பயன் கண்ணாடியைச் சேர்க்கவும்\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"தனிப்பயன் கண்ணாடியை மாற்றவும்\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"தனிப்பயன் கண்ணாடியை நீக்கு\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"மிரர் பிராந்தியம்\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"தனிப்பயன் கண்ணாடியைச் சேர்க்கவும்\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"தனிப்பயன் கண்ணாடியை மாற்றவும்\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"தனிப்பயன் கண்ணாடியை நீக்கு\"\n\nmsgid \"Server url\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"கையெழுத்து விருப்பத்தைத் தேர்ந்தெடுக்கவும்\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"தனிப்பயன் கண்ணாடியைச் சேர்க்கவும்\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"தனிப்பயன் கண்ணாடியைச் சேர்க்கவும்\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"கண்ணாடிப் பகுதிகள்\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"விருப்ப களஞ்சியங்கள்\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"கண்ணாடிப் பகுதிகள்\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"தனிப்பயன் கண்ணாடிகள்\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"விருப்ப களஞ்சியங்கள்\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"\"\n\nmsgid \"Show help\"\nmsgstr \"\"\n\nmsgid \"Exit help\"\nmsgstr \"\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"\"\n\nmsgid \"Move up\"\nmsgstr \"\"\n\nmsgid \"Move down\"\nmsgstr \"\"\n\nmsgid \"Move right\"\nmsgstr \"\"\n\nmsgid \"Move left\"\nmsgstr \"\"\n\nmsgid \"Jump to entry\"\nmsgstr \"\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Select on single select\"\nmsgstr \"கையொப்ப சரிபார்ப்பு விருப்பத்தைத் தேர்ந்தெடுக்கவும்\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"நேர மண்டலத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Reset\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Skip selection menu\"\nmsgstr \"செயல்படுத்தும் பயன்முறையைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Start search mode\"\nmsgstr \"\"\n\nmsgid \"Exit search mode\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"ஸ்வேக்கு உங்கள் இருக்கைக்கான அணுகல் தேவை (வன்பொருள் சாதனங்களின் சேகரிப்பு அதாவது விசைப்பலகை, சுட்டி போன்றவை)\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"உங்கள் வன்பொருளுக்கான அணுகலை வழங்குவதற்கான விருப்பத்தைத் தேர்வுசெய்யவும்\"\n\n#, fuzzy\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"ஸ்வேக்கு உங்கள் இருக்கைக்கான அணுகல் தேவை (வன்பொருள் சாதனங்களின் சேகரிப்பு அதாவது விசைப்பலகை, சுட்டி போன்றவை)\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"உங்கள் வன்பொருளுக்கான அணுகலை வழங்குவதற்கான விருப்பத்தைத் தேர்வுசெய்யவும்\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"துவக்கக்கூடியதாகக் குறி/குறிநீக்கு\"\n\nmsgid \"Package group:\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstall உதவி\"\n\n#, fuzzy\nmsgid \"Reboot system\"\nmsgstr \"கோப்பு முறைமையை மாற்றவும்\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"புதிதாக உருவாக்கப்பட்ட நிறுவலில் chroot செய்து, நிறுவலுக்குப் பிந்தைய உள்ளமைவைச் செய்ய விரும்புகிறீர்களா?\"\n\nmsgid \"Installation completed\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"BTRFS சுருக்கத்தைப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"எந்த பயன்முறையை \\\"{}\\\" உள்ளமைக்க வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும் அல்லது இயல்புநிலை பயன்முறை \\\"{}\\\" ஐப் பயன்படுத்த தவிர்க்கவும்\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"குறியாக்கம் கடவுச்சொல்\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"ரூட் கடவுச்சொல்\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"குறியாக்கம் கடவுச்சொல்\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"\"\n\"பின்வரும் இடத்தில் {} உள்ளமைவுக் கோப்பை(களை) சேமிக்க விரும்புகிறீர்களா?\\n\"\n\"\\n\"\n\"{}\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"குறியாக்கம் கடவுச்சொல்\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"மிரர் பிராந்தியம்\"\n\n#, fuzzy\nmsgid \"New version available\"\nmsgstr \"HSM சாதனங்கள் எதுவும் இல்லை\"\n\n#, fuzzy\nmsgid \"Passwordless login\"\nmsgstr \"கடவுச்சொல்\"\n\nmsgid \"Second factor login\"\nmsgstr \"\"\n\nmsgid \"Bluetooth\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"BTRFS சுருக்கத்தைப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\nmsgid \"Print service\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"BTRFS சுருக்கத்தைப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\n#, fuzzy\nmsgid \"Power management\"\nmsgstr \"பகிர்வு மேலாண்மை: {}\"\n\nmsgid \"Authentication\"\nmsgstr \"\"\n\nmsgid \"Applications\"\nmsgstr \"\"\n\nmsgid \"U2F login method: \"\nmsgstr \"\"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"\"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"\"\n\nmsgid \"Snapshot type\"\nmsgstr \"\"\n\n#, fuzzy, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"சுற்றுச்சூழல் வகை: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"கடவுச்சொல்லை உள்ளிடவும்: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"HSM க்கு பயன்படுத்த FIDO2 சாதனத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No network connection found\"\nmsgstr \"பிணைய கட்டமைப்பு இல்லை\"\n\n#, fuzzy\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"BTRFS சுருக்கத்தைப் பயன்படுத்த விரும்புகிறீர்களா?\"\n\n#, fuzzy\nmsgid \"No wifi interface found\"\nmsgstr \"கட்டமைக்கப்பட்ட {} இடைமுகங்கள்\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"கட்டமைக்க ஒரு பிணைய இடைமுகத்தைத் தேர்ந்தெடுக்கவும்\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"No wifi networks found\"\nmsgstr \"பிணைய கட்டமைப்பு இல்லை\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Enter wifi password\"\nmsgstr \"கடவுச்சொல்லை உள்ளிடவும்: \"\n\nmsgid \"Ok\"\nmsgstr \"\"\n\nmsgid \"Removable\"\nmsgstr \"\"\n\nmsgid \"Install to removable location\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Language\"\nmsgstr \"லோகேல் மொழி\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"\"\n\n#, fuzzy\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"தொகுப்பு Base, base-devel, linux, linux-firmware, efibootmgr மற்றும் விருப்ப சுயவிவர தொகுப்புகள் போன்ற தொகுப்புகள் மட்டுமே நிறுவப்பட்டுள்ளன.\"\n\n#, fuzzy\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"மவுண்ட் பாயிண்ட்டைத் தேர்ந்தெடுக்கவும்:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"\"\n"
  },
  {
    "path": "archinstall/locales/tr/LC_MESSAGES/base.po",
    "content": "# Please do not completely remove previous translator information from Language-Team.\n# If you are the last translator, you may add your full information to Last-Translator and your username to Language-Team.\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: 21.05.2022\\n\"\n\"PO-Revision-Date: 2025-12-31 16:10+0100\\n\"\n\"Last-Translator: Abdullah Koyuncu @wiseweb-works <wisewebworks@outlook.com>\\n\"\n\"Language-Team: SerdarSaglam, favilances, wiseweb-works, AlperShal, arlsdk, tugsatenes, eren-ince, Schwarzeisc00l, Oruch379\\n\"\n\"Language: tr\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Burada bir günlük dosyası oluşturuldu: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Lütfen bu sorunu (ve dosyayı) https://github.com/archlinux/archinstall/issues adresine gönderin\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Gerçekten iptal etmek istiyor musunuz?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Ve doğrulama için bir kez daha: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Zram üzerinde swap kullanmak ister misiniz?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Kurulum için istenilen ana bilgisayar adı: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Sudo ayrıcalıklarına sahip gerekli süper kullanıcı için kullanıcı adı: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Ek olarak kurulacak kullanıcılar var mı (kullanıcı yoksa boş bırakın): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Bu kullanıcı bir süper kullanıcı (sudoer) olmalı mı?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Bir zaman dilimi seç\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Önyükleyici olarak systemd-boot yerine GRUB kullanmak ister misiniz?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Bir ön yükleyici seç\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Bir ses sunucusu seç\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Yalnızca base, base-devel, linux, linux-firmware, efibootmgr ve isteğe bağlı profil paketleri gibi paketler yüklenir.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"Not: base-devel artık varsayılan olarak yüklenmemektedir. Derleme araçlarına ihtiyacınız varsa buradan ekleyin.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Firefox veya Chromium gibi bir web tarayıcısı isterseniz, sıradaki ekranda belirtebilirsiniz.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Kurulacak ek paketleri yazınız (paketleri boşlukla ayırın, geçmek için boş bırakın): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO ağ yapılandırmasını kuruluma kopyala\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager kullan (GNOME ve KDE ile interneti grafiksel olarak yapılandırmak için gerekli)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Yapılandırmak için bir ağ arayüzü seçin\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"\\\"{}\\\"i yapılandırmak için bir yöntem seçin ya da varsayılan yöntemi \\\"{}\\\" kullanmak için atlayın\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"{} için IP ve altağ (subnet) girin (örnek: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Ağ geçidi (yönlendirici) IP adresini girin ya da yoksa veya kullanılmayacak ise boş bırakın: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"DNS sunucularını girin (boşlukla ayrılmış, yoksa veya kullanılmayacak ise boş bırakın): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Ana diskinizde kullanılması gereken dosya sistemini seçin\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Mevcut disk bölümü düzeni\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"{}\\n\"\n\"ile ne yapılması gerektiğini seçin\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Disk bölümü için arzu edilen bir dosya sistemi tipi girin\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Başlangıç konumunu girin (bölümlendirilen birimlerinde: s, GB, %, vb. ; default: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Bitiş konumunu girin (bölümlendirilen birimlerinde: s, GB, %, vb. ; ex: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} bekleyen disk bölümleri bulunduruyor, bu işlem onları kaldıracak, bundan emin misiniz?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Dizinden hangi disk bölümlerinin silineceğini seçin\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Dizinden hangi disk bölümünün nereye bağlanacağını (mount) seçin\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Disk bölümü bağlantı (mount) noktaları iç kurulumla ilişkilidir, örnek olarak önyükleme, /boot olacaktır.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Disk bölümünün nereye bağlanacağını (mount) seçin (bağlantı (mount) noktasını kaldırmak için boş bırakın): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Biçimlendirme için hangi disk bölümünün maskeleneceğini seçin\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Hangi disk bölümünün şifrelenmiş olarak işaretleneceğini seçin\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Hangi disk bölümünün önyüklenebilir (bootable) olarak işaretleneceğini seçin\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Hangi disk bölümüne dosya sistemi kurulacağını seçin\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Disk bölümü için arzu edilen bir dosya sistemi tipi girin: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall dili\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Seçilmiş bütün diskleri temizle ve mümkün olan en iyi varsayılan disk bölümü düzenini kullan\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Her bir disk ile ne yapılacağını seçin (disk bölümü kullanımı ile takip edilir)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Seçili blok cihazları ile ne yapmak istediğinizi seçin\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Bu ön-programlanmış profillerin bir listesidir, bunlar masaüstü ortamları gibi şeyleri kurmayı kolaylaştırabilir\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Klavye düzeni seçin\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Paketleri indirmek için bölgelerden birini seçin\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Kullanmak ve yapılandırmak için bir veya daha fazla disk seçin\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"AMD donanımınızla en iyi uyumluluk için, tam açık-kaynak ya da AMD / ATI ayarlarından birini kullanmak isteyebilirsiniz.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Intel donanımınızla en iyi uyumluluk için, tam açık-kaynak ya da Intel ayarlarından birini kullanmak isteyebilirsiniz.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Nvidia donanımınızla en iyi uyumluluk için, Nvidia kapalı kaynaklı sürücüyü kullanmak isteyebilirsiniz.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Bir grafik sürücüsü seçin ya da bütün açık-kaynak sürücüleri kurmak için boş bırakın\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Tüm açık-kaynaklar (varsayılan)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Hangi çekirdeklerin kullanılacağını seçin veya varsayılan \\\"{}\\\" için boş bırakın\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Hangi yerel dilin kullanılacağını seçin\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Hangi yerel kodlamanın kullanılacağını seçin\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Aşağıda gösterilen değerlerden birini seçin: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Aşağıdaki seçeneklerden bir ya da daha fazlasını seçin: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Bölüm ekleniyor....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Devam etmek için geçerli bir fs-type girmeniz gerekir. Geçerli fs-type için `man parted`'a bakın.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Hata: Bağlantı \\\"{}\\\"daki profilleri listeleme şöyle sonuçlandı:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Hata: \\\"{}\\\" sonucu JSON olarak çözülemedi:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Klavye düzeni\"\n\nmsgid \"Mirror region\"\nmsgstr \"Ayna bölgesi\"\n\nmsgid \"Locale language\"\nmsgstr \"Yerel dil\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Yerel kodlama\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Diskler\"\n\nmsgid \"Disk layout\"\nmsgstr \"Disk düzeni\"\n\nmsgid \"Encryption password\"\nmsgstr \"Şifreleme parolası\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Önyükleyici\"\n\nmsgid \"Root password\"\nmsgstr \"Root parolası\"\n\nmsgid \"Superuser account\"\nmsgstr \"Süper kullanıcı hesabı\"\n\nmsgid \"User account\"\nmsgstr \"Kullanıcı hesabı\"\n\nmsgid \"Profile\"\nmsgstr \"Profil\"\n\nmsgid \"Audio\"\nmsgstr \"Ses\"\n\nmsgid \"Kernels\"\nmsgstr \"Çekirdekler\"\n\nmsgid \"Additional packages\"\nmsgstr \"Ek paketler\"\n\nmsgid \"Network configuration\"\nmsgstr \"Ağ yapılandırması\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Otomatik zaman eşitlemesi (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Kur ({} adet yapılandırma eksik)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Sabit disk seçimini atlamaya karar verdiniz ve\\n\"\n\"{}'e ne bağlanmışsa (mount) onu kullanacaksınız (deneysel)\\n\"\n\"UYARI: Archinstall bu kurulumun uygunluğunu kontrol etmeyecek\\n\"\n\"Devam etmek istiyor musunuz?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Disk bölümü örneği yeniden kullanılıyor: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Yeni disk bölümü oluştur\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Disk bölümü sil\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Tüm disk bölümlerini Temizle/Sil\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Bir disk bölümü için mount (bağlantı) noktası ata\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Bir disk bölümünü biçimlendirilmek üzere işaretle/işareti kaldır (veriyi temizler)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Bir disk bölümünü şifrelenmiş olarak işaretle/işareti kaldır\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Bir disk bölümünü önyüklenebilir olarak işaretle/işareti kaldır (/boot için otomatik)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Bir disk bölümü için istenilen dosya sistemini ayarla\"\n\nmsgid \"Abort\"\nmsgstr \"Vazgeç\"\n\nmsgid \"Hostname\"\nmsgstr \"Ana bilgisayar adı\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Yapılandırılmamış, el ile kurulmadığı sürece kullanılamaz\"\n\nmsgid \"Timezone\"\nmsgstr \"Zaman dilimi\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Aşağıdaki seçenekleri Ayarla/Değiştir\"\n\nmsgid \"Install\"\nmsgstr \"Kur\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Geçmek için ESC kullan\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Disk bölümü şeması öner\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Bir parola gir: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"{} için bir şifreleme parolası girin\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Disk şifreleme parolası girin (şifreleme olmaması için boş bırakın): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Sudo ayrıcalıklarına sahip gerekli bir süper kullanıcı oluştur: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Root parolası gir (root devre dışı bırakmak için boş bırak): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"\\\"{}\\\" kullanıcısı için şifre: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Ek paketlerin varlığı doğrulanıyor (bu bir kaç saniye alabilir)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Varsayılan zaman sunucularıyla otomatik zaman eş zamanlama (NTP) kullanmak ister misiniz?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP çalışması için donanım zamanı ve diğer yapılandırma sonrası adımlar gerekebilir.\\n\"\n\"Daha fazla bilgi için, lütfen Arch wikiye göz atın\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Ek kullanıcı oluşturmak için bir kullanıcı adı girin (geçmek için boş bırakın): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Geçmek için ESC kullan\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Listeden bir obje seçin ve çalıştırılmak üzere mevcut eylemlerden birini seçin\"\n\nmsgid \"Cancel\"\nmsgstr \"İptal\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Onayla ve çık\"\n\nmsgid \"Add\"\nmsgstr \"Ekle\"\n\nmsgid \"Copy\"\nmsgstr \"Kopyala\"\n\nmsgid \"Edit\"\nmsgstr \"Düzenle\"\n\nmsgid \"Delete\"\nmsgstr \"Sil\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"'{}' için bir eylem seç\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Yeni anahtara kopyala:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Bilinmeyen nic türü: {}. Olası değerler {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Bu sizin seçilmiş yapılandırmanız:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman hâlihazırda çalışıyor, işlemin sonlandırılması için en fazla 10 dakika beklenecek.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Önceden var olan pacman kilidi çıkış yapmadı. Lütfen archinstall'u kullanmadan önce mevcut olan pacman oturumlarını temizleyin.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Hangi tercihi ek depoların (repositorylerin) aktifleştirileceğini seçin\"\n\nmsgid \"Add a user\"\nmsgstr \"Kullanıcı ekle\"\n\nmsgid \"Change password\"\nmsgstr \"Parola değiştir\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Kullanıcıyı terfi et/indirge\"\n\nmsgid \"Delete User\"\nmsgstr \"Kullanıcıyı Sil\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Yeni bir kullanıcı tanımla\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Kullanıcı Adı : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"{} bir süper kullanıcı (sudoer) mı olmalı?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Sudo yetkilerine sahip kullanıcıları tanımlayın: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Ağ yapılandırması yok\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Btrfs disk bölümünde istenilen alt disk bölümülerini ayarlayın\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Alt disk bölümlerinin hangi disk bölümüne ayarlanacağını seçin\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Mevcut disk bölümü için btrfs alt disk bölümlerini yönet\"\n\nmsgid \"No configuration\"\nmsgstr \"Yapılandırma yok\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Kullanıcı yapılandırmasını kaydet\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Kullanıcı bilgilerini kaydet\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Disk düzenini kaydet\"\n\nmsgid \"Save all\"\nmsgstr \"Tümünü kaydet\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Hangi yapılandırmanın kaydedileceğini seçin\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Yapılandırmaların kaydedilmesi için bir dizin girin: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Geçerli bir dizin değil: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Kullandığınız parola zayıf görünüyor,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"kullanmak istediğinize emin misiniz?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"İsteğe bağlı depolar\"\n\nmsgid \"Save configuration\"\nmsgstr \"Yapılandırmayı kaydet\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Eksik yapılandırmalar:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Ya root parolası ya da en az 1 süper kullanıcı belirtilmelidir\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Süper kullanıcı hesaplarını yönet: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Normal kullanıcı hesaplarını yönet: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Alt disk bölümü :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \"  {:16}'da monte edildi\"\n\nmsgid \" with option {}\"\nmsgstr \" {} seçeneğiyle\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\"Yeni bir alt disk bölümü için istenilen değerleri doldurun\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Alt disk bölümü ismi \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Alt disk bölümü bağlantı noktası\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Alt disk bölümü seçenekleri\"\n\nmsgid \"Save\"\nmsgstr \"Kaydet\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Alt disk bölümü ismi :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Bir bağlantı noktası seçin :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"İstenilen alt disk bölümü ayarlarını seçin \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Süper-kullanıcı yetkilerine sahip kullanıcıları tanımlayın, kullanıcı adı ile: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Burada bir günlük dosyası oluşturuldu: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"BTRFS alt disk bölümlerini varsayılan yapıyla kullanmak ister misiniz?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"BTRFS sıkıştırmasını kullanmak ister misiniz?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"/home dizini için ayrı bir disk bölümü oluşturmak ister misiniz?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Seçilmiş diskler otomatik öneriler için gerekli minimum kapasiteye sahip değil\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"/home disk bölümü için minimum kapasite: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Arch Linux disk bölümü için minimum kapasite: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Devam\"\n\nmsgid \"yes\"\nmsgstr \"evet\"\n\nmsgid \"no\"\nmsgstr \"hayır\"\n\nmsgid \"set: {}\"\nmsgstr \"ayarla: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"El ile yapılandırma ayarı bir liste olmalıdır\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"El ile yapılandırma için iface belirtilmemiş\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Otomatik DHCP olmayan manuel nic yapılandırması IP adresi gerektirir\"\n\nmsgid \"Add interface\"\nmsgstr \"Arayüz ekle\"\n\nmsgid \"Edit interface\"\nmsgstr \"Arayüzü düzenle\"\n\nmsgid \"Delete interface\"\nmsgstr \"Arayüzü sil\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Eklemek için arayüz seçin\"\n\nmsgid \"Manual configuration\"\nmsgstr \"El ile yapılandırma\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Bir disk bölümünü sıkıştırılmış olarak işaretle/işareti kaldır (sadece btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Kullandığınız şifre zayıf görünüyor, kullanmak istediğinize emin misiniz?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Masaüstü ortamları ve otomatik döşemeli pencere yöneticilerine bir seçenek sunar, örnek olarak gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"İstediğiniz masaüstü ortamını seçin\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Arch Linux'u uygun gördüğünüz şekilde özelleştirmenize olanak tanıyan çok basit bir kurulum.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Kurmak ve aktif etmek için bazı seçilmiş çeşitli sunucu paketleri sunar, örnek olarak httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Hangi sunucuların kurulacağını seçin, eğer hiçbiri seçilmezse minimal bir kurulum gerçekleştirilecektir\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Xorg ve grafik sürücüleri ile minimal bir sistem kurar.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Devam etmek için Enter'a basın.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Yeni oluşturulan kuruluma chroot ile girmek ve kurulum sonrası yapılandırmayı gerçekleştirmek ister misiniz?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Bu ayarı sıfırlamak istediğinize emin misiniz?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Kullanmak ve yapılandırmak için bir ya da daha fazla sabit disk seçin\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Mevcut ayarda yapılacak herhangi bir değişiklik disk düzenini sıfırlayacaktır!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Eğer sabit disk seçimini sıfırlarsanız bu ayrıca mevcut disk şemasını da sıfırlayacaktır. Emin misiniz?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Kaydet ve çık\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"işlem sırasında bekleyen disk bölümleri bulunduruyor, bu onları kaldıracak, emin misiniz?\"\n\nmsgid \"No audio server\"\nmsgstr \"Ses sunucusu yok\"\n\nmsgid \"(default)\"\nmsgstr \"(varsayılan)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Atlamak için ESC kullan\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Mevcut seçimi sıfırlamak için CTRL+C kullan\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Şuraya kopyala: \"\n\nmsgid \"Edit: \"\nmsgstr \"Düzenle: \"\n\nmsgid \"Key: \"\nmsgstr \"Anahtar: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Düzenle {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Ekle: \"\n\nmsgid \"Value: \"\nmsgstr \"Değer: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Bir disk seçmeyi ve bölümlemeyi atlayabilir ve /mnt adresinde bağlı olan disk konfigürasyonunu kullanabilirsiniz (deneysel)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Disklerden birini seçin ya da atlayın ve /mnt dizinini varsayılan olarak kullanın\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Biçimlendirme için işaretlenecek disk bölümlerini seçin:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Şifrelenmiş diskin kilidini açmak için HSM kullan\"\n\nmsgid \"Device\"\nmsgstr \"Cihaz\"\n\nmsgid \"Size\"\nmsgstr \"Boyut\"\n\nmsgid \"Free space\"\nmsgstr \"Boş alan\"\n\nmsgid \"Bus-type\"\nmsgstr \"Veri yolu türü\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Ya root parolası ya da sudo yetkilerine sahip en az 1 kullanıcı belirtilmelidir\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Kullanıcı adını girin (atlamak için boş bırakın): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Girdiğiniz kullanıcı adı geçersiz. Tekrar deneyin\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"{} bir süper kullanıcı (sudo) olmalı mı?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Hangi disk bölümlerinin şifreleneceğini seçin\"\n\nmsgid \"very weak\"\nmsgstr \"çok zayıf\"\n\nmsgid \"weak\"\nmsgstr \"zayıf\"\n\nmsgid \"moderate\"\nmsgstr \"ortalama\"\n\nmsgid \"strong\"\nmsgstr \"güçlü\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Alt disk bölümü ekle\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Alt disk bölümünü düzenle\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Alt disk bölümünü sil\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Yapılandırılmış {} arayüzler\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Bu seçenek, yükleme sırasında meydana gelebilecek paralel indirme sayısını etkinleştirir\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Etkinleştirilecek paralel indirme sayısını girin.\\n\"\n\" (1 ile {max_downloads} arasında bir değer girin)\\n\"\n\"Not:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - En yüksek değer   : {} ( {} paralel indirmeye (tek seferde {} indirmeye) izin verir)\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Asgari değer   : 1 ( 1 paralel indirmeye (bir seferde 2 indirmeye) izin verir)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Devre Dışı Bırak/Varsayılan : 0 (Paralel indirmeyi devre dışı bırakır, aynı anda yalnızca 1 indirmeye izin verir)\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Geçersiz girdi! Geçerli bir girdiyle tekrar deneyin [{max_downloads} için 1, veya devre dışı bırakmak için 0]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Paralel İndirmeler\"\n\nmsgid \"ESC to skip\"\nmsgstr \"Atlamak için ESC\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"Sıfırlamak için CTRL+C\"\n\nmsgid \"TAB to select\"\nmsgstr \"Seçmek için TAB\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Varsayılan değer: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Bu çeviriyi kullanabilmek için lütfen dili destekleyen bir yazı tipini manuel olarak yükleyin.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Yazı tipi {} olarak saklanmalıdır.\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall çalışması için root ayrıcalıkları gerekir. Daha fazlası için --help bölümüne bak.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Bir çalıştırma modu seçin\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Belirtilen web adresinden profil getirilemiyor: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Profiller benzersiz ada sahip olmalıdır, ancak yinelenen ada sahip profiller bulundu: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Kullanılacak ve yapılandırılacak bir veya daha fazla cihaz seçin\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Aygıt seçimini sıfırlarsanız, bu aynı zamanda geçerli disk düzenini de sıfırlayacaktır. Emin misiniz?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Mevcut Bölmeler\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Bir bölümleme seçeneği belirleyin\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Takılı aygıtların kök dizinini girin: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"/home disk bölümü için asgari kapasite: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Arch Linux disk bölümü için asgari kapasite: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Bu, önceden programlanmış profiles_bck  listesidir, masaüstü ortamları gibi şeyleri yüklemeyi kolaylaştırabilirler\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Mevcut disk bölümü düzeni\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Yeni eklenen tüm disk bölümleri kaldır\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Bağlama noktası ata\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Biçimlendirilmek üzere işaretle/işareti kaldır (verileri siler)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Önyüklenebilir olarak işaretle/işareti kaldır\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Dosya sistemini değiştir\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Sıkıştırıldı olarak işaretle/işareti kaldır\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Alt disk bölümü ayarla\"\n\nmsgid \"Delete partition\"\nmsgstr \"Disk bölümü sil\"\n\nmsgid \"Partition\"\nmsgstr \"Disk bölümü\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Bu disk bölümü şu anda şifrelenmiştir, biçimlendirmek için bir dosya sistemi belirtilmelidir\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Bölüm bağlama noktaları kurulumun içine görelidir, örnek olarak önyükleme /boot olacaktır.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Mountpoint /boot ayarlanmışsa, bölüm de önyüklenebilir olarak işaretlenecektir.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Bağlantı noktası: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"{} cihazındaki mevcut boş sektörler:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Toplam sektörler: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Başlangıç sektörünü girin (varsayılan: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Bölümün bitiş sektörünü girin (yüzde veya blok numarası, varsayılan: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Bu işlem yeni eklenmiş tüm bölümleri kaldıracaktır, devam edilsin mi?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Bölüm yönetimi: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Toplam uzunluk: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Şifreleme türü\"\n\n# Iteration (en) = (tr) yineleme/tekrarlama/tekerrür. In think \"yineleme\"  is more accurate.\nmsgid \"Iteration time\"\nmsgstr \"Yineleme süresi\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"LUKS şifreleme için yineleme süresini girin (milisaniye cinsinden)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Daha yüksek değerler güvenliği artırır ancak önyükleme süresini yavaşlatır\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Varsayılan: 10000 ms, Önerilen aralık: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Yineleme süresi boş bırakılamaz\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Yineleme süresi en az 100 ms olmalıdır\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Yineleme süresi en fazla 120000 ms olmalıdır\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Lütfen geçerli bir sayı girin\"\n\nmsgid \"Partitions\"\nmsgstr \"Bölümler\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Kullanılabilir HSM cihazı yok\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Şifrelenecek bölümler\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Disk şifreleme seçeneğini seçin\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"HSM için kullanılacak bir FIDO2 cihazı seçin\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Olabilecek en iyi varsayılan bölüm düzeni kullan\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"El İle Bölümlendir\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Önceden bağlanmış yapılandırma\"\n\nmsgid \"Unknown\"\nmsgstr \"Bilinmeyen\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Disk bölümü şifrelemesi\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! {} biçimlendiriliyor \"\n\nmsgid \"← Back\"\nmsgstr \"← Geri\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Disk şifrelemesi\"\n\nmsgid \"Configuration\"\nmsgstr \"Yapılandırma\"\n\nmsgid \"Password\"\nmsgstr \"Parola\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Tüm ayarlar sıfırlanacak, emin misiniz?\"\n\nmsgid \"Back\"\nmsgstr \"Geri\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Lütfen seçilen profiller için hangi karşılayıcının kurulacağını seçin: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Ortam türü: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Tescilli Nvidia sürücüsü Sway tarafından desteklenmiyor. Sorunlarla karşılaşmanız muhtemeldir, bu sizin için uygun mu?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Kurulu paketler\"\n\nmsgid \"Add profile\"\nmsgstr \"Profil ekle\"\n\nmsgid \"Edit profile\"\nmsgstr \"Profil düzenle\"\n\nmsgid \"Delete profile\"\nmsgstr \"Profil sil\"\n\nmsgid \"Profile name: \"\nmsgstr \"Profil ismi: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Girdiğiniz profil adı zaten kullanılıyor. Tekrar deneyin\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Kurulacak ek paketleri yazınız (boşlukla ayrılmış, geçmek için boş bırakın): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Bu profille etkinleştirilecek hizmetler (boşluk bırakılmış, atlamak için boş bırakın): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Bu profil kurulum için etkinleştirilmeli mi?\"\n\nmsgid \"Create your own\"\nmsgstr \"Kendinizinkini oluşturun\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Bir grafik sürücüsü seçin veya tüm açık kaynak sürücülerini yüklemek için boş bırakın\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway'in seat'e erişmesi gerekir (klavye, fare vb. donanım aygıtlarının tanınması)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Sway'in donanımınıza erişmesine izin vermek için bir seçenek belirleyin\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Grafik sürücüsü\"\n\nmsgid \"Greeter\"\nmsgstr \"Karşılayıcı (greeter)\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Lütfen hangi karşılayıcının (greeter) kurulacağını seçin\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Bu, önceden programlanmış default_profiles listesidir\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Disk yapılandırması\"\n\nmsgid \"Profiles\"\nmsgstr \"Profiller\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Yapılandırma dosyalarını kaydetmek için olası dizinler aranıyor...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Yapılandırma dosyalarını kaydetmek için dizin (veya dizinler) seçin\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Özel indirme sunucusu ekleyin\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Özel indirme sunucusunu değiştirin\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Özel indirme sunucusunu silin\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"İsim girin (geçmek için boş bırakın): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Url girin (geçmek için boş bırakın): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"İmza kontrolü seçeneğini seçin\"\n\nmsgid \"Select signature option\"\nmsgstr \"İmza seçeneğini seçin\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Kişisel depo aynası\"\n\nmsgid \"Defined\"\nmsgstr \"Tanımlı\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Kullanıcı konfigürasyonunu kaydet (Disk düzeni ile birlikte)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Kaydedilecek yapılandırma(lar) için bir dizin girin (sekme tamamlama etkin)\\n\"\n\"Dizini kaydet: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"{} konfigürasyon dosya(lar)ını gösterilen konuma kaydetmek ister miydiniz?\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} konfigürasyon dosyaları {} konumuna kaydediliyor\"\n\nmsgid \"Mirrors\"\nmsgstr \"Ayna sunucular\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Ayna sunucusu bölgesi\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" Maximum değer : {} ( {} paralel indirmelerine izin verir, Tek seferde {max_download+1} indirmeye izin verir.)\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Geçersiz girdi! Geçerli bir girdiyle tekrar deneyin [1 ila {} veya devre dışı bırakmak için 0]\"\n\nmsgid \"Locales\"\nmsgstr \"Yerel Ayarlar\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager'ı kullan (GNOME ya da KDE'de interneti grafik olarak yapılandırmak için gerekli)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Toplam: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Girilen tüm değerlerin sonuna bir birim eklenebilir: B, KB, KiB, MB, MiB…\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Herhangi bir birim belirtilmezse, değer sektörler olarak yorumlanır\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Başlangıç girin (varsayılan: sektör {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Bitiş girin (varsayılan: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Fido2 cihazları belirlenemiyor. libfido2 yüklü mü?\"\n\nmsgid \"Path\"\nmsgstr \"Yol/Konum\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Üretici firma\"\n\nmsgid \"Product\"\nmsgstr \"Ürün\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Geçersiz yapılandırma: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Tür\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Bu seçenek, paket indirmeleri sırasında oluşabilecek paralel indirme sayısını etkinleştirir\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Etkinleştirilecek paralel indirme sayısını girin.\\n\"\n\"\\n\"\n\"Not:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Önerilen maksimum değer : {} ( Bir seferde {} paralel indirmeye izin verir )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Devre Dışı / Varsayılan : 0 (Paralel indirmeyi devre dışı bırakır, bir seferde yalnızca 1 indirmeye izin verir)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Geçersiz girdi! Geçerli bir girişle [veya devre dışı bırakmak için 0 ile] tekrar deneyin\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland’in donanımlarınıza erişmesi gerekir (klavye, fare vb. donanım aygıtlarının tanınması)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Hyprland’e donanımınıza erişim izni vermek için bir seçenek belirleyin\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Girilen tüm değerlerin sonuna bir birim eklenebilir: %, B, KB, KiB, MB, MiB…\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Birleştirilmiş çekirdek görüntülerini (Unified kernel) kullanmak ister misiniz?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Birleşik çekirdek görüntüleri (Unified kernels)\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Zaman senkronizasyonunun (timedatectl show) tamamlanması bekleniyor.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Siz beklerken zaman senkronizasyonu tamamlanmıyor - geçici çözümler için dokümanları kontrol edin: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Otomatik zaman senkronizasyonunu beklemenin atlanması (kurulum sırasında zamanın senkronize olmaması durumunda bu durum sorunlara neden olabilir)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Arch Linux anahtarlık senkronizasyonunun (archlinux-keyring-wkd-sync) tamamlanması bekleniyor.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Seçilmiş profiller: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Siz beklerken zaman senkronizasyonu tamamlanamıyor - geçici çözümler için dokümanları kontrol edin: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Nodatacow (Yazarken Kopyala/ma) olarak işaretle/işaretini kaldır\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Sıkıştırma kullanmak veya CoW'u (Yazarken Kopyalayı) devre dışı bırakmak ister misiniz?\"\n\nmsgid \"Use compression\"\nmsgstr \"Sıkıştırma kullan\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Copy-on-write'ı (Yazarken kopyala) devre dışı bırak\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"GNOME, KDE Plasma, Sway gibi çeşitli masaüstü ortamları ve döşeme pencere yöneticileri sağlar\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Yapılandırma türü: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM yapılandırma türü\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"2'den fazla bölüm içeren LVM disk şifrelemesi şu anda desteklenmemektedir\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"NetworkManager kullanın (GNOME ve KDE Plasma'da interneti grafiksel olarak yapılandırmak için gereklidir)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Bir LVM seçeneği belirleyin\"\n\nmsgid \"Partitioning\"\nmsgstr \"Disk bölümleme\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Mantıksal Hacim Yönetimi (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Fiziksel birimler\"\n\nmsgid \"Volumes\"\nmsgstr \"Birimler\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM birimleri\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"LVM şifrelenecek birimleri\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Hangi LVM bölümlerinin şifreleneceğini seçin\"\n\nmsgid \"Default layout\"\nmsgstr \"Varsayılan düzen\"\n\nmsgid \"No Encryption\"\nmsgstr \"Şifreleme Yok\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LUKS üzerinde LVM\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LVM üzerinde LUKS\"\n\nmsgid \"Yes\"\nmsgstr \"Evet\"\n\nmsgid \"No\"\nmsgstr \"Hayır\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall yardım\"\n\nmsgid \" (default)\"\nmsgstr \" (varsayılan)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Yardım için Ctrl+h tuşlarına basın\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Sway'e donanımınıza erişim izni vermek için bir seçenek belirleyin\"\n\nmsgid \"Seat access\"\nmsgstr \"Seat (?) erişimi\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Mountpoint\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Disk şifreleme parolası girin (şifreleme olmaması için boş bırakın):\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Disk şifreleme parolası\"\n\nmsgid \"Partition - New\"\nmsgstr \"Bölüm - Yeni\"\n\nmsgid \"Filesystem\"\nmsgstr \"Dosya Sistemi\"\n\nmsgid \"Invalid size\"\nmsgstr \"Geçersiz boyut\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Başlangıç (varsayılan: sektör {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Bitiş (varsayılan: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Alt disk bölümü ismi\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Disk yapılandırması tipi\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Kök (/) bağlama dizini\"\n\nmsgid \"Select language\"\nmsgstr \"Dil seç\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Kurulacak ek paketleri yazınız (paketleri boşlukla ayırın, geçmek için boş bırakın):\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Geçersiz indirme sayısı\"\n\nmsgid \"Number downloads\"\nmsgstr \"İndirme sayısı\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Girdiğiniz kullanıcı adı geçersiz\"\n\nmsgid \"Username\"\nmsgstr \"Kullanıcı Adı\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"\\\"{}\\\" bir süper kullanıcı (sudo) olmalı mı?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Arayüz\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"IP-config modunda geçerli bir IP girmeniz gerekir\"\n\nmsgid \"Modes\"\nmsgstr \"Modlar\"\n\nmsgid \"IP address\"\nmsgstr \"IP adresi\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Ağ geçidinizin (yönlendirici) IP adresini girin (hiçbiri için boş bırak)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Ağ geçidi adresi\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"DNS sunucularını girin (boşlukla ayrılmış, yoksa veya kullanılmayacak ise boş bırakın):\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS sunucuları\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Arayüzleri yapılandır\"\n\nmsgid \"Kernel\"\nmsgstr \"Çekirdek\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI algılanamadı ve bazı seçenekler devre dışı bırakıldı\"\n\nmsgid \"Info\"\nmsgstr \"Bilgi\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Kapalı kaynak Nvidia sürücüsü Sway tarafından desteklenmemektedir.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Muhtemelen sorunlarla karşılaşacaksınız, bunu kabul ediyor musunuz?\"\n\nmsgid \"Main profile\"\nmsgstr \"Ana profil\"\n\nmsgid \"Confirm password\"\nmsgstr \"Parolayı onayla\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Onay parolası eşleşmedi, lütfen tekrar deneyin\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Geçerli bir dizin değil\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Devam etmek ister misiniz?\"\n\nmsgid \"Directory\"\nmsgstr \"Dizin\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Kaydedilecek yapılandırma(lar) için bir dizin girin (sekme tamamlama etkin)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Yapılandırma dosya(lar)ını {}'a kaydetmek istiyor musunuz?\"\n\nmsgid \"Enabled\"\nmsgstr \"Etkin\"\n\nmsgid \"Disabled\"\nmsgstr \"Devre dışı\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Lütfen bu sorunu (ve dosyayı) https://github.com/archlinux/archinstall/issues adresine gönderin\"\n\nmsgid \"Mirror name\"\nmsgstr \"Yansıma adı\"\n\nmsgid \"Url\"\nmsgstr \"Url\"\n\nmsgid \"Select signature check\"\nmsgstr \"İmza kontrolünü seç\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Çalıştırma modunu seç\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Yardım için ? tuşuna basın\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Hyprland donanımınıza erişim izni vermek için bir seçenek belirleyin\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Ek depolar\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Zram üzerinde swap\"\n\nmsgid \"Name\"\nmsgstr \"İsim\"\n\nmsgid \"Signature check\"\nmsgstr \"İmza kontrolü\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Cihaz üzerinde seçilen boş alan segmenti {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Boyut: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Boyut (varsayılan: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"HSM cihazı\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Depoda bazı paketler bulunamadı\"\n\nmsgid \"User\"\nmsgstr \"Kullanıcı\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Belirtilen yapılandırma uygulanacaktır\"\n\nmsgid \"Wipe\"\nmsgstr \"Süpür\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"XBOOTLDR olarak İşaretle/İşareti Kaldır\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Paketler yükleniyor...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Aşağıdaki listeden ek olarak kurulması gereken paketleri seçin\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Özel bir depo ekle\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Özel depoyu değiştir\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Özel depoyu sil\"\n\nmsgid \"Repository name\"\nmsgstr \"Depo adı\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Özel bir sunucu ekle\"\n\nmsgid \"Change custom server\"\nmsgstr \"Özel sunucuyu değiştir\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Özel sunucuyu sil\"\n\nmsgid \"Server url\"\nmsgstr \"Sunucu adresi\"\n\nmsgid \"Select regions\"\nmsgstr \"Bölge seç\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Özel sunucu ekle\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Özel depo ekle\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Ayna bölgeleri yükleniyor...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Aynalar ve depolar\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Seçilmiş ayna bölgeleri\"\n\nmsgid \"Custom servers\"\nmsgstr \"Özel sunucular\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Özel depolar\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Sadece ASCII karakterleri desteklenir\"\n\nmsgid \"Show help\"\nmsgstr \"Yardım göster\"\n\nmsgid \"Exit help\"\nmsgstr \"Yardımdan çık\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Önizlemeyi yukarı kaydır\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Önizlemeyi aşağı kaydır\"\n\nmsgid \"Move up\"\nmsgstr \"Yukarı taşı\"\n\nmsgid \"Move down\"\nmsgstr \"Aşağı taşı\"\n\nmsgid \"Move right\"\nmsgstr \"Sağa taşı\"\n\nmsgid \"Move left\"\nmsgstr \"Sola taşı\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Girişe atla\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Seçimi atla (eğer varsa)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Seçimi sıfırla (eğer varsa)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Tek seçimde seç\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Çoklu seçimde seç\"\n\nmsgid \"Reset\"\nmsgstr \"Sıfırla\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Seçim menüsünü atla\"\n\nmsgid \"Start search mode\"\nmsgstr \"Arama modunu başlat\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Arama modundan çık\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc cihazlarınıza erişmesi gerekir (klavye, fare vb. donanım cihazları koleksiyonu)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Labwc donanımınıza erişim izni vermek için bir seçenek belirleyin\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri cihazlarınıza erişmesi gerekir (klavye, fare vb. donanım cihazları koleksiyonu)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Niri donanımınıza erişim izni vermek için bir seçenek belirleyin\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"ESP olarak İşaretle/İşareti Kaldır\"\n\nmsgid \"Package group:\"\nmsgstr \"Paket grubu:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstall çıkış\"\n\nmsgid \"Reboot system\"\nmsgstr \"Sistemi yeniden başlat\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"kurulum sonrası yapılandırmalar için kuruluma chroot ekleyin\"\n\nmsgid \"Installation completed\"\nmsgstr \"Kurulum tamamlandı\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Bundan sonra ne yapmak istersiniz?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Hangi mod için yapılandırma yapılacağını seç \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Hatalı kimlik bilgisi dosyası şifre çözme parolası\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Yanlış parola\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Kimlik bilgileri dosyası şifre çözme parolası\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"User_credentials.json dosyasını şifrelemek istiyor musunuz?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Kimlik bilgileri dosyası şifreleme parolası\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Depolar: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Yeni sürüm mevcut\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Şifresiz giriş\"\n\nmsgid \"Second factor login\"\nmsgstr \"İkinci faktörlü oturum açma\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Bluetooth'u yapılandırmak ister misiniz?\"\n\nmsgid \"Print service\"\nmsgstr \"Yazdırma hizmeti\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Yazdırma hizmetini yapılandırmak ister misiniz?\"\n\nmsgid \"Power management\"\nmsgstr \"Güç yönetimi\"\n\nmsgid \"Authentication\"\nmsgstr \"Kimlik Doğrulama\"\n\nmsgid \"Applications\"\nmsgstr \"Uygulamalar\"\n\nmsgid \"U2F login method: \"\nmsgstr \"U2F oturum açma yöntemi: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Parolasız sudo: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Btrfs anlık görüntü türü: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Sistem senkronize ediliyor...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Değer boş olamaz\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Anlık görüntü türü\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Anlık görüntü türü: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"U2F oturum açma kurulumu\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"U2F cihazı bulunamadı\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"U2F Oturum Açma Yöntemi\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Parolasız sudo'yu etkinleştir?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Kullanıcı için U2F cihazını kurma: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"PIN kodunu girmeniz ve ardından U2F cihazınıza dokunarak kaydetmeniz gerekebilir\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Cihaz modifikasyonlarına başlama \"\n\nmsgid \"No network connection found\"\nmsgstr \"Ağ bağlantısı bulunamadı\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Wifi'ye bağlanmak ister misiniz?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Wifi arayüzü bulunamadı\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Bağlanmak için wifi ağını seçin\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Wifi ağlarını tarıyor...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Wifi ağı bulunamadı\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Wifi kurulumu başarısız oldu\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Wifi şifresini girin\"\n\nmsgid \"Ok\"\nmsgstr \"Tamam\"\n\nmsgid \"Removable\"\nmsgstr \"Çıkarılabilir\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Çıkarılabilir konuma yükle\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"/EFI/BOOT/ (çıkarılabilir konum) içine kurulacaktır.\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"NVRAM girişi ile standart konuma yüklenecektir\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"Önyükleyiciyi varsayılan çıkarılabilir medya arama konumuna yüklemek ister misiniz?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Bu, önyükleyiciyi /EFI/BOOT/BOOTX64.EFI (veya benzeri) konumuna yükler. Bu, aşağıdakiler için yararlıdır:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"USB sürücüler veya diğer taşınabilir harici ortamlar.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Diskin herhangi bir bilgisayarda önyüklenebilir olmasını istediğiniz sistemler.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"NVRAM önyükleme girişlerini düzgün şekilde desteklemeyen ürün yazılımı.\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"/EFI/BOOT/ konumuna yüklenecektir (çıkarılabilir konum, güvenli varsayılan)\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"NVRAM girişi ile özel konuma yüklenecektir\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"NVRAM önyükleme girişlerini düzgün şekilde desteklemeyen ürün yazılımı, çoğu MSI anakart gibi,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"çoğu Apple Mac, birçok dizüstü bilgisayar...\"\n\nmsgid \"Language\"\nmsgstr \"Dil\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"Sıkıştırma algoritması\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Yalnızca base, sudo, linux, linux-firmware, efibootmgr gibi temel paketler ve isteğe bağlı profil paketleri yüklenir.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Zram sıkıştırma algoritmasını seçin:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"Ağ Yöneticisi'ni kullanın (varsayılan backend)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"Ağ Yöneticisi'ni kullanın (iwd backend)\"\n\nmsgid \"Firewall\"\nmsgstr \"Güvenlik Duvarı\"\n\n#, fuzzy\nmsgid \"Select audio configuration\"\nmsgstr \"Kullanıcı yapılandırmasını kaydet\"\n\n#, fuzzy\nmsgid \"Enter credentials file decryption password\"\nmsgstr \"Kimlik bilgileri dosyası şifre çözme parolası\"\n\n#, fuzzy\nmsgid \"Enter root password\"\nmsgstr \"Bir parola gir: \"\n\nmsgid \"Select bootloader to install\"\nmsgstr \"Yüklemek istediğiniz önyükleyiciyi seçiniz\"\n\n#, fuzzy\nmsgid \"Configuration preview\"\nmsgstr \"Yapılandırma\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved\"\nmsgstr \"Yapılandırmaların kaydedilmesi için bir dizin girin: \"\n\n#, fuzzy\nmsgid \"Select encryption type\"\nmsgstr \"Şifreleme türü\"\n\n#, fuzzy\nmsgid \"Select disks for the installation\"\nmsgstr \"Kurulum için istenilen ana bilgisayar adı: \"\n\n#, fuzzy\nmsgid \"Enter a mountpoint\"\nmsgstr \"Bir bağlantı noktası seçin :\"\n\n#, fuzzy, python-brace-format\nmsgid \"Enter a size (default: {}): \"\nmsgstr \"Bitiş girin (varsayılan: {}): \"\n\n#, fuzzy\nmsgid \"Enter subvolume name\"\nmsgstr \"Alt disk bölümü ismi\"\n\n#, fuzzy\nmsgid \"Enter subvolume mountpoint\"\nmsgstr \"Alt disk bölümü bağlantı noktası\"\n\n#, fuzzy\nmsgid \"Select a disk configuration\"\nmsgstr \"Disk yapılandırması\"\n\n#, fuzzy\nmsgid \"Enter root mount directory\"\nmsgstr \"Kök (/) bağlama dizini\"\n\nmsgid \"You will use whatever drive-setup is mounted at the specified directory\"\nmsgstr \"Belirtilen dizine bağlanmış olan sürücü yapılandırmasını kullanacaksınız\"\n\nmsgid \"WARNING: Archinstall won't check the suitability of this setup\"\nmsgstr \"DİKKAT: Archinstall betiği bu kurulumun uygunluğunu kontrol etmeyecektir\"\n\n#, fuzzy\nmsgid \"Select main filesystem\"\nmsgstr \"Dosya sistemini değiştir\"\n\nmsgid \"Enter a hostname\"\nmsgstr \"Bir ana bilgisayar adı girin\"\n\n#, fuzzy\nmsgid \"Select timezone\"\nmsgstr \"Bir zaman dilimi seç\"\n\n#, fuzzy\nmsgid \"Enter the number of parallel downloads to be enabled\"\nmsgstr \"\"\n\"Etkinleştirilecek paralel indirme sayısını girin.\\n\"\n\"\\n\"\n\"Not:\\n\"\n\n#, python-brace-format\nmsgid \"Value must be between 1 and {}\"\nmsgstr \"Değer 1 ile {} arasında olmalı\"\n\n#, fuzzy\nmsgid \"Select which kernel(s) to install\"\nmsgstr \"Lütfen hangi karşılayıcının (greeter) kurulacağını seçin\"\n\n#, fuzzy\nmsgid \"Enter a respository name\"\nmsgstr \"Depo adı\"\n\n#, fuzzy\nmsgid \"Enter the repository url\"\nmsgstr \"Özel depoyu değiştir\"\n\n#, fuzzy\nmsgid \"Enter server url\"\nmsgstr \"Sunucu adresi\"\n\n#, fuzzy\nmsgid \"Select mirror regions to be enabled\"\nmsgstr \"Seçilmiş ayna bölgeleri\"\n\n#, fuzzy\nmsgid \"Select optional repositories to be enabled\"\nmsgstr \"Hangi tercihi ek depoların (repositorylerin) aktifleştirileceğini seçin\"\n\n#, fuzzy\nmsgid \"Select an interface\"\nmsgstr \"Arayüzü sil\"\n\n#, fuzzy\nmsgid \"Choose network configuration\"\nmsgstr \"Ağ yapılandırması yok\"\n\n#, fuzzy\nmsgid \"No packages found\"\nmsgstr \"U2F cihazı bulunamadı\"\n\n#, fuzzy\nmsgid \"Select which greeter to install\"\nmsgstr \"Lütfen hangi karşılayıcının (greeter) kurulacağını seçin\"\n\n#, fuzzy\nmsgid \"Select a profile type\"\nmsgstr \"Seçilmiş profiller: \"\n\n#, fuzzy\nmsgid \"Enter new password\"\nmsgstr \"Wifi şifresini girin\"\n\nmsgid \"Enter a username\"\nmsgstr \"Bir kullanıcı adı gir\"\n\n#, fuzzy\nmsgid \"Enter a password\"\nmsgstr \"Bir parola gir: \"\n\n#, fuzzy\nmsgid \"The password did not match, please try again\"\nmsgstr \"Onay parolası eşleşmedi, lütfen tekrar deneyin\"\n\nmsgid \"Password strength: Weak\"\nmsgstr \"Şifre gücü: Zayıf\"\n\nmsgid \"Password strength: Moderate\"\nmsgstr \"Şifre gücü: Ortalama\"\n\nmsgid \"Password strength: Strong\"\nmsgstr \"Şifre gücü: Güçlü\"\n\n#~ msgid \"Desktop\"\n#~ msgstr \"Masaüstü\"\n\n#~ msgid \"Minimal\"\n#~ msgstr \"Hafif\"\n"
  },
  {
    "path": "archinstall/locales/uk/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: TSEPLNK\\n\"\n\"Language-Team: \\n\"\n\"Language: uk\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Тут було створено файл журналу: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Будь ласка, надішліть цю проблему (та файл) за адресою https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Ви дійсно хочете припинити?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"І ще раз для перевірки: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Бажаєте використовувати підкачку на zram?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Бажане ім'я хоста: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Ім’я користувача для необхідного суперкористувача з правами sudo: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Будь-які додаткові користувачі для встановлення (залиште порожнім, щоб не було користувачів): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Чи має цей користувач бути суперкористувачем (sudoer)?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Оберіть часовий пояс\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Чи бажаєте ви використовувати GRUB як завантажувач замість systemd-boot?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Оберіть завантажувач\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Оберіть звуковий сервер\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Встановлюються лише такі пакети, як base, base-devel, linux, linux-firmware, efibootmgr і додаткові пакети профілів.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"Примітка: пакунок base-devel більше не встановлюється за замовченням. Додайте його тут, якщо вам необхідні інструменти збірки.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Якщо вам потрібен веб-браузер, наприклад firefox або chromium, ви можете вказати його в наступному запиті.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Напишіть додаткові пакети для інсталяції (розділені пробілами, залиште порожнім, щоб пропустити): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"Скопіюйте конфігурацію мережі ISO для встановлення\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"Використовувати NetworkManager (необхідний для графічного налаштування Інтернету в GNOME та KDE)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Оберіть один мережевий інтерфейс для налаштування\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"Виберіть режим для налаштування \\\"{}\\\" або пропустіть, щоб використовувати типовий режим \\\"{}\\\"\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"Введіть IP-адресу та підмережу для {} (наприклад: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Введіть IP-адресу свого шлюзу (маршрутизатора) або залиште поле порожнім, якщо немає: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"Введіть ваші DNS-сервери (розділені пробілами, залиште порожнім якщо їх немає): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Оберіть файлову систему яку має використовувати основний розділ\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Поточна схема розмітки розділу\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Оберіть що робити з\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Введіть бажаний тип файлової системи для розділу\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Введіть початкове місце (у розділених одиницях: s, GB, %, тощо; типово: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Введіть кінцеве місце (в одиницях parted: s, GB, %, тощо; наприклад: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} містить розділи в черзі, це видалить їх, ви впевнені?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Оберіть за індексом, які розділи потрібно видалити\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Оберіть за індексом, який розділ куди монтувати\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Точки монтування розділів відносяться до внутрішньої інсталяції, наприклад, завантажувач буде /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Оберіть місце монтування розділу (залиште порожнім, щоб видалити точку монтування): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Виберіть, який розділ маскувати для форматування\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Виберіть, який розділ позначити як зашифрований\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Виберіть, який розділ позначити як завантажувальний\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Виберіть, на якому розділі встановити файлову систему\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Введіть бажаний тип файлової системи для розділу: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Мова Archinstall\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Стерти усі вибрані диски та використовувати отпимальну схему розмітки розділів\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Оберіть, що робити з кожним окремим диском (з наступним використанням розділу)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Виберіть, що ви хочете зробити з вибраними блоковими пристроями\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Це список попередньо запрограмованих профілів, вони можуть спростити встановлення таких речей, як середовища робочого столу\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Виберіть розкладку клавіатури\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Виберіть один із регіонів для завантаження пакетів\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Оберіть один або кілька жорстких дисків для використання та налаштування\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"Для найкращої сумісності з апаратним забезпеченням AMD ви можете використовувати варіанти з відкритим вихідним кодом або AMD / ATI.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Для найкращої сумісності з вашим апаратним забезпеченням Intel ви можете використовувати варіанти з відкритим вихідним кодом або Intel.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Для найкращої сумісності з вашим апаратним забезпеченням Nvidia ви можете використовувати пропрієтарний драйвер Nvidia.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Оберіть графічний драйвер або залиште поле пустим, щоб установити всі драйвери з відкритим вихідним кодом\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Усі з відкритим вихідним кодом (за умовчанням)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Виберіть, які ядра використовувати, або залиште порожнім для стандартного \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Оберіть мову, яку будете використовувати\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Оберіть кодування локалізації, яке будете використовувати\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Виберіть одне з наведених нижче значень: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Виберіть один або кілька варіантів нижче: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Додавання розділу....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Вам потрібно ввести валідний тип файлової систем, щоб продовжити. Перегляньте `man parted` щоб дізнатися можливі типи файлових систем.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Помилка: перелік профілів за URL-адресою \\\"{}\\\" призвело до:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Помилка: не вдалося декодувати результат \\\"{}\\\" як JSON:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Розкладка клавіатури\"\n\nmsgid \"Mirror region\"\nmsgstr \"Регіон дзеркала\"\n\nmsgid \"Locale language\"\nmsgstr \"Мова локалізації\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Кодування локалізації\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Диск(и)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Схема розмітки диска\"\n\nmsgid \"Encryption password\"\nmsgstr \"Пароль шифрування\"\n\nmsgid \"Swap\"\nmsgstr \"Підкачка\"\n\nmsgid \"Bootloader\"\nmsgstr \"Завантажувач\"\n\nmsgid \"Root password\"\nmsgstr \"Пароль root\"\n\nmsgid \"Superuser account\"\nmsgstr \"Обліковий запис суперкористувача\"\n\nmsgid \"User account\"\nmsgstr \"Обліковий запис користувача\"\n\nmsgid \"Profile\"\nmsgstr \"Профіль\"\n\nmsgid \"Audio\"\nmsgstr \"Аудіо\"\n\nmsgid \"Kernels\"\nmsgstr \"Ядра\"\n\nmsgid \"Additional packages\"\nmsgstr \"Додаткові пакунки\"\n\nmsgid \"Network configuration\"\nmsgstr \"Конфігурація мережі\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Автоматична синхронізація часу (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Встановити ({} відсутні конфігурації)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Ви вирішили пропустити вибір жорсткого диска\\n\"\n\"і буде використовувати будь-який диск, змонтований в {} (експериментально)\\n\"\n\"ПОПЕРЕДЖЕННЯ: Archinstall не перевіряє придатність цього налаштування\\n\"\n\"Ви бажаєте продовжити?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Повторне використання екземпляра розділу: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Створіть новий розділ\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Видалити розділ\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Очистити/Видалити всі розділи\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Призначити точку монтування для розділу\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Позначити/зняти позначку з розділу для форматування (видалить дані)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Позначити/зняти позначку розділу як зашифрованого\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Позначити/зняти позначку розділу як завантажувального (автоматично для /boot)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Встановіть бажану файлову систему для розділу\"\n\nmsgid \"Abort\"\nmsgstr \"Перервати\"\n\nmsgid \"Hostname\"\nmsgstr \"Ім'я хоста\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Не налаштовано, недоступно, якщо не налаштувати вручну\"\n\nmsgid \"Timezone\"\nmsgstr \"Часовий пояс\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Встановіть/змініть параметри нижче\"\n\nmsgid \"Install\"\nmsgstr \"Встановити\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Щоб пропустити, використовуйте ESC\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Запропонувати розмітку розділів\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Введіть пароль: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Введіть пароль шифрування для {}\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Введіть пароль шифрування диска (залиште порожнім, щоб шифрування не було): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Створіть необхідного суперкористувача з правами sudo: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Введіть пароль root (залиште порожнім, щоб вимкнути root): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"Пароль для користувача \\\"{}\\\": \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Перевірка наявності додаткових пакетів (це може зайняти кілька секунд)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Бажаєте використовувати автоматичну синхронізацію часу (NTP) із типовими серверами часу?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"Щоб NTP працював, може знадобитися апаратний час та інші кроки після налаштування.\\n\"\n\"Для отримання додаткової інформації, будь ласка, перегляньте Arch wiki\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Введіть ім’я користувача, щоб створити додаткового користувача (залиште поле порожнім, щоб пропустити): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"Щоб пропустити, використовуйте ESC\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Оберіть об’єкт зі списку та виберіть одну з доступних дій для його виконання\"\n\nmsgid \"Cancel\"\nmsgstr \"Скасувати\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Підтвердити та вийти\"\n\nmsgid \"Add\"\nmsgstr \"Додати\"\n\nmsgid \"Copy\"\nmsgstr \"Копіювати\"\n\nmsgid \"Edit\"\nmsgstr \"Редагувати\"\n\nmsgid \"Delete\"\nmsgstr \"Видалити\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"Оберіть дію для '{}'\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Копіювати в новий ключ:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Невідомий тип nic: {}. Можливі значення: {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Конфігурація, обрана вами:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman вже працює, очікування до 10 хвилин, поки він завершиться.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Попереднє блокування pacman не завершено. Будь ласка, очистіть усі наявні сеанси pacman перед використанням archinstall.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Виберіть, які додаткові репозиторії потрібно ввімкнути\"\n\nmsgid \"Add a user\"\nmsgstr \"Додати користувача\"\n\nmsgid \"Change password\"\nmsgstr \"Змінити пароль\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Підвищити/понизити користувача\"\n\nmsgid \"Delete User\"\nmsgstr \"Видалити користувача\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Вкажіть нового користувача\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Ім'я користувача : \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Чи має {} бути суперкористувачем (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Визначте користувачів із привілеєм sudo: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Відсутня конфігурація мережі\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Встановіть потрібні підтома на розділі btrfs\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Оберіть, на якому розділі встановити підтома\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Керування підтомами btrfs для поточного розділу\"\n\nmsgid \"No configuration\"\nmsgstr \"Конфігурація відсутня\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Зберегти конфігурацію користувача\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Зберегти облікові дані користувача\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Зберегти схему розмітки диска\"\n\nmsgid \"Save all\"\nmsgstr \"Зберегти все\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Оберіть, яку конфігурацію зберегти\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Введіть каталог для конфігурацій, які потрібно зберегти: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Недійсний каталог: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Пароль, який ви використовуєте, здається слабким,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"ви впевнені, що хочете використовувати його?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Необов'язкові репозиторії\"\n\nmsgid \"Save configuration\"\nmsgstr \"Зберегти конфігурацію\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Відсутні конфігурації:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Потрібно вказати або root-пароль, або принаймні 1 суперкористувача\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Керувати обліковими записами суперкористувачів: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Керуйте обліковими записами звичайних користувачів: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Підтом :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" змонтовано в {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" з опцією {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Заповніть потрібні значення для нового підтому \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Назва підтому \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Точка монтування підтому\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Опції підтому\"\n\nmsgid \"Save\"\nmsgstr \"Зберегти\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Назва підтому :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Оберіть точку монтування :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Оберіть потрібні параметри підтому \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Визначте користувачів із привілеєм sudo за іменем користувача: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Файл журналу було створено тут: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Чи бажаєте ви використовувати підтоми BTRFS з типовою структурою?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Бажаєте використовувати стиснення BTRFS?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Бажаєте створити окремий розділ для /home?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Вибрані диски не мають мінімальної ємності, необхідної для автоматичної пропозиції\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"Мінімальна ємність для розділу /home: {} Гб\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Мінімальна ємність для розділу Arch Linux: {} Гб\"\n\nmsgid \"Continue\"\nmsgstr \"Продовжити\"\n\nmsgid \"yes\"\nmsgstr \"так\"\n\nmsgid \"no\"\nmsgstr \"ні\"\n\nmsgid \"set: {}\"\nmsgstr \"обрано: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Налаштування ручної конфігурації має бути списком\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Не вказано iface для ручного налаштування\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Ручна конфігурація nic без автоматичного DHCP вимагає IP-адреси\"\n\nmsgid \"Add interface\"\nmsgstr \"Додати інтерфейс\"\n\nmsgid \"Edit interface\"\nmsgstr \"Редагувати інтерфейс\"\n\nmsgid \"Delete interface\"\nmsgstr \"Видалити інтерфейс\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Оберіть інтерфейс для додавання\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Ручне налаштування\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Позначити/зняти позначку розділу як стисненого (лише btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Пароль, який ви використовуєте, здається слабким. Ви впевнені, що бажаєте його використовувати?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Надає вибір середовищ робочого столу та тайлінгових диспетчерів вікон, наприклад gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Оберіть бажане середовище робочого столу\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Дуже проста інсталяція, яка дозволяє вам налаштувати Arch Linux на свій розсуд.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Надає вибір різних серверних пакетів для встановлення та ввімкнення, наприклад httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Оберіть сервери для встановлення. Якщо нічого не обрано, буде виконано мінімальну інсталяцію\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Встановлює мінімальну систему, а також xorg і графічні драйвери.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Натисніть Enter, щоб продовжити.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Бажаєте підключитися використовуючи chroot до новоствореної інсталяції та виконати додаткову конфігурацію після інсталяції?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Ви впевнені, що бажаєте скинути це налаштування?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Оберіть один або кілька жорстких дисків для використання та налаштування\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Будь-які зміни до існуючих налаштувань призведуть до скидання схеми розмітки диска!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Якщо ви скинете вибір жорсткого диска, це також скине поточну схему розмітки диска. Ви впевнені?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Зберегти та вийти\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"містить розділи в черзі, це видалить їх, ви впевнені?\"\n\nmsgid \"No audio server\"\nmsgstr \"Аудіосервер відсутній\"\n\nmsgid \"(default)\"\nmsgstr \"(типово)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"Щоб пропустити, використовуйте ESC\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Використовуйте CTRL+C, щоб скинути поточний вибір\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Копіювати до: \"\n\nmsgid \"Edit: \"\nmsgstr \"Редагувати: \"\n\nmsgid \"Key: \"\nmsgstr \"Ключ: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Редагувати {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Додати: \"\n\nmsgid \"Value: \"\nmsgstr \"Значення: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Ви можете пропустити вибір диска та розділення та скористатися будь-яким налаштуванням диска, змонтованим у /mnt (експериментально)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Виберіть диск або пропустіть, щоб використовувати /mnt типово\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Виберіть, які розділи позначити для форматування:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Використовуйте HSM, щоб розблокувати зашифрований диск\"\n\nmsgid \"Device\"\nmsgstr \"Пристрій\"\n\nmsgid \"Size\"\nmsgstr \"Розмір\"\n\nmsgid \"Free space\"\nmsgstr \"Вільний простір\"\n\nmsgid \"Bus-type\"\nmsgstr \"Тип шини\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Потрібно вказати або root-пароль, або принаймні 1 користувача з правами sudo\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Введіть ім'я користувача (залиште порожнім, щоб пропустити): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Введене вами ім'я користувача недійсне. Спробуйте ще раз\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Чи має \\\"{}\\\" бути суперкористувачем (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Виберіть розділи для шифрування\"\n\nmsgid \"very weak\"\nmsgstr \"дуже слабкий\"\n\nmsgid \"weak\"\nmsgstr \"слабкий\"\n\nmsgid \"moderate\"\nmsgstr \"помірний\"\n\nmsgid \"strong\"\nmsgstr \"сильний\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Додати підтом\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Редагувати підтом\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Видалити підтом\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Налаштовані інтерфейси {}\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Цей параметр вмикає кількість паралельних завантажень, які можуть відбуватися під час встановлення\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Введіть кількість паралельних завантажень, які потрібно ввімкнути.\\n\"\n\" (Введіть значення від 1 до {})\\n\"\n\"Примітка:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Максимальне значення   : {} ( Дозволяє {} паралельних завантажень, дозволяє {} завантажень за раз )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Мінімальне значення   : 1 ( дозволяє 1 паралельне завантаження, дозволяє 2 завантаження одночасно )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Вимкнути/Типово : 0 ( Вимикає паралельне завантаження, дозволяє лише 1 завантаження за раз )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Некоректне введення! Повторіть спробу з правильним введенням [від 1 до {max_downloads}, або 0 для вимкнення]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Паралельні Завантаження\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC, щоб пропустити\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C для скидання\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB для вибору\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Типове значення: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Щоб мати можливість використовувати цей переклад, будь ласка, вручну встановіть шрифт, який підтримує мову.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Шрифт слід зберігати як {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall потребує привілегії суперкористувача (Root). Скористайтеся --help для отримання додаткової інформації.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Виберіть режим виконання\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Не вдалося отримати профіль з вказаного URL: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Профілі повинні мати унікальні назви, але виявлено дублікати назв профілів: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Оберіть один або кілька жорстких дисків для використання та налаштування\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Якщо ви скинете вибір жорсткого диска, це також скине поточну схему розмітки диска. Ви впевнені?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Існуючі розділи\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Оберіть існуючу опцію\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Введіть кореневий каталог змонтованих пристроїв: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"Мінімальна ємність для розділу /home: {} Гб\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Мінімальна ємність для розділу Arch Linux: {} Гб\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Це список попередньо запрограмованих профілів, вони можуть спростити встановлення таких речей, як середовища робочого столу\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Поточний вибір профілів\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Вилучити всі новостворені розділи\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Призначити точку монтування для розділу\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Позначити/зняти позначку з розділу для форматування (видалить дані)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Позначити/Зняти позначку завантажувального розділу\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Змінити файлову систему\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Позначити/зняти позначку розділу як стисненого (лише btrfs)\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Налаштувати підтоми\"\n\nmsgid \"Delete partition\"\nmsgstr \"Видалити розділ\"\n\nmsgid \"Partition\"\nmsgstr \"Розділ\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Цей розділ наразі зашифрований. Щоб його відформатувати, потрібно вказати файлову систему\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Точки монтування розділів відносяться до внутрішньої інсталяції, наприклад, завантажувач буде в /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Якщо вказано точку монтування /boot, цей розділ також буде позначено як завантажувальний.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Точка монтування: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"Вільні сектора на {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Сектори: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Введіть початковий сектор (відсоток або номер блоку, типово: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Введіть кінцевий сектор розділу (відсоток або номер блоку, наприклад: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Це видалить усі щойно додані розділи, продовжити?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Керування розділами: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Загальна довжина: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Тип шифрування\"\n\nmsgid \"Iteration time\"\nmsgstr \"Час ітерації\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Введіть час ітерації для шифрування LUKS (в мілісекундах)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Вищі значення підвищують безпеку, але сповільнюють час запуску системи\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Стандартно: 10000мс, Рекомендований діапазон - 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Час ітерації не може бути порожнім\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Час ітерації має бути щонайменше 100мс\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Час ітерації має бути не більше 120000мс\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Будь ласка, введіть дійсне число\"\n\nmsgid \"Partitions\"\nmsgstr \"Розділи\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Немає доступних пристроїв HSM\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Розділи, які потрібно зашифрувати\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Оберіть параметр шифрування диска\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"Оберіть пристрій FIDO2 для використання HSM\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Використовувати отпимальну схему розмітки розділів\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Ручна розмітка розділів\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Попередньо змонтована конфігурація\"\n\nmsgid \"Unknown\"\nmsgstr \"Невідомо\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Шифрування розділу\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! Форматування {} в \"\n\nmsgid \"← Back\"\nmsgstr \"← Назад\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Шифрування диска\"\n\nmsgid \"Configuration\"\nmsgstr \"Конфігурація\"\n\nmsgid \"Password\"\nmsgstr \"Пароль\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Усі налаштування буде скинуто, ви впевнені?\"\n\nmsgid \"Back\"\nmsgstr \"Назад\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Будь ласка, виберіть, який екран привітання встановити для обраних профілів: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Тип середовища: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Пропрієтарні драйвери Nvidia не підтримуються Sway. Існує ймовірність виникнення проблем. Продовжити попри це?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Встановленні пакунки\"\n\nmsgid \"Add profile\"\nmsgstr \"Додайте профіль\"\n\nmsgid \"Edit profile\"\nmsgstr \"Налаштувати профіль\"\n\nmsgid \"Delete profile\"\nmsgstr \"Видалити профіль\"\n\nmsgid \"Profile name: \"\nmsgstr \"Назва профілю: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Введене вами ім'я користувача вже використовується. Спробуйте ще раз\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Напишіть додаткові пакети для інсталяції (розділені пробілами, залиште порожнім, щоб пропустити): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Сервіси, які слід увімкнути з цим профілем (розділені пробілами, залиште порожнім, щоб пропустити): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Чи повинен цей профіль бути увімкненим для встановлення?\"\n\nmsgid \"Create your own\"\nmsgstr \"Створіть свій власний\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Оберіть графічний драйвер або залиште поле пустим, щоб установити всі драйвери з відкритим вихідним кодом\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway потребує доступ до вашого обладнання\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Надайте Sway доступ до вашого обладнання\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Графічні драйвери\"\n\nmsgid \"Greeter\"\nmsgstr \"Дисплейний менеджер\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Виберіть, який дисплейний менеджер встановлювати\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Список попередньо налаштованих default_profiles\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Конфігурація диска\"\n\nmsgid \"Profiles\"\nmsgstr \"Профіль\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Пошук можливих тек для збереження файлів конфігурації ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Оберіть шлях (або шляхи) для збереження конфігураційних файлів\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Додати користувацьке дзеркало\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Змінити користувацьке дзеркало\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Вилучити власне дзеркало\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Введіть ім'я користувача (залиште порожнім, щоб пропустити): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Введіть URL (залиште порожнім, щоб пропустити): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Оберіть варіант перевірки підпису шифрування\"\n\nmsgid \"Select signature option\"\nmsgstr \"Оберіть параметр шифрування диска\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Користувацькі дзеркала\"\n\nmsgid \"Defined\"\nmsgstr \"Задано\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Зберегти конфігурацію користувача (враховуючи поділ диска)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Введіть каталог для збереження конфігурацій (автодоповнення з Tab увімкнене)\\n\"\n\"Каталог для збереження: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Чи хочете ви зберегти {} файл(и) конфігурацій до заданого місця?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"Зберегти {} файл(ів) конфігурацій до {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"Дзеркала\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Регіони дзеркал\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Максимальне значення   : {} ( Дозволяє {} паралельних завантажень, дозволяє {max_downloads+1} завантажень за раз )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Некоректне введення! Повторіть спробу з валідним введенням [від 1 до {} або 0 для вимкнення]\"\n\nmsgid \"Locales\"\nmsgstr \"Локалізації\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"Використовувати NetworkManager (необхідний для графічного налаштування Інтернету в GNOME та KDE)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Загалом: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"До всіх заданих значень можна дописати суфікс одиниці виміру: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Якщо немає жодного суфіксу, значення вважається сектором\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Введіть початковий сектор (відсоток або номер блоку, типово: {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Введіть кінцевий сектор (відсоток або номер блоку, типово: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Неможливо визначити пристрої fido2. Чи встановлено libfido2?\"\n\nmsgid \"Path\"\nmsgstr \"Шлях\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Виробник\"\n\nmsgid \"Product\"\nmsgstr \"Модель\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Неправильна конфігурація: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Тип\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Цей параметр вмикає кількість паралельних завантажень, які можуть відбуватися під час встановлення\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Введіть кількість паралельних завантажень, які потрібно ввімкнути.\\n\"\n\"\\n\"\n\"Примітка:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Максимальне рекомендоване значення : {} ( Дозволяє {} паралельних завантажень за раз )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Вимкнути/Типово : 0 ( Вимикає паралельне завантаження, дозволяє лише 1 завантаження за раз )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Некоректне введення! Повторіть спробу з правильним введенням [від 1 до {} або 0 для вимкнення]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland потребує доступу до інформації про ваше обладнання (клавіатура, миша, так далі)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Надайте Hyprland доступ до вашого обладнання\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Усі введені значення повинні мати суфікс з виміром: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Ви бажаєте використовувати об'єднані (уніфіковані) образи ядра?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Об'єднані (уніфіковані) образи ядра\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Очікування на синхронізацію часу (timedatactl show) для продовження.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Синхронізація часу не закінчується, поки ви чекаєте - перевірте документацію для можливих рішень: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Пропуск очікування автоматичної синхронізації часу (це може спричинити проблеми, якщо час буде невірно синхронізований під час встановлення)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Очікування на синхронізацію ключів Arch Linux (archlinux-keyring-wkd-sync).\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Вибрані профілі: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Синхронізація часу не закінчується, поки ви чекаєте - перевірте документацію для можливих рішень: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Позначити/зняти позначку nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Бажаєте ввімкнути стиснення або вимкнути CoW?\"\n\nmsgid \"Use compression\"\nmsgstr \"Використовувати стиснення\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Вимкнути Copy-on-Write\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Надає вибір середовищ робочого столу та тайлінгових диспетчерів вікон, наприклад GNOME, KDE Plasma, Sway\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Тип конфігурації: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"Тип конфігурації LVM\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"Шифрування диска за допомогою LVM з більше ніж двома розділами наразі не підтримується\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"Використовувати NetworkManager (необхідний для графічного налаштування Інтернету в GNOME та KDE Plasma)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"Оберіть опцію LVM\"\n\nmsgid \"Partitioning\"\nmsgstr \"Розмітка\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Logical Volume Management (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Фізичні томи\"\n\nmsgid \"Volumes\"\nmsgstr \"Томи\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM томи\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"LVM томи, які потрібно зашифрувати\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Виберіть томи LVM для шифрування\"\n\nmsgid \"Default layout\"\nmsgstr \"Типова структура\"\n\nmsgid \"No Encryption\"\nmsgstr \"Без шифрування\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM на LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS на LVM\"\n\nmsgid \"Yes\"\nmsgstr \"Так\"\n\nmsgid \"No\"\nmsgstr \"Ні\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Довідка Archinstall\"\n\nmsgid \" (default)\"\nmsgstr \" (типово)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Натисніть Ctrl+h для довідки\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Оберіть опцію для надання Sway доступ до вашого обладнання\"\n\nmsgid \"Seat access\"\nmsgstr \"Доступ до місця\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Точка монтування\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Введіть пароль шифрування диска (залиште порожнім, щоб шифрування не було):\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Пароль шифрування\"\n\nmsgid \"Partition - New\"\nmsgstr \"Розділ - Новий\"\n\nmsgid \"Filesystem\"\nmsgstr \"Файлова система\"\n\nmsgid \"Invalid size\"\nmsgstr \"Некоректний розмір\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Введіть початковий сектор (відсоток або номер блоку, типово: {}): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Введіть кінцевий сектор (відсоток або номер блоку, типово: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Назва підтому\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Конфігурація диска\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Точка монтування системи (Root)\"\n\nmsgid \"Select language\"\nmsgstr \"Обрати мову\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Напишіть додаткові пакети для інсталяції (розділені пробілами, залиште порожнім, щоб пропустити):\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Невірна кількість завантажень\"\n\nmsgid \"Number downloads\"\nmsgstr \"Кількість завантажень\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Введене вами ім'я користувача недійсне\"\n\nmsgid \"Username\"\nmsgstr \"Ім'я користувача\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Чи має \\\"{}\\\" бути суперкористувачем (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Інтерфейси\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"Ви повинні ввести правильний IP-адрес в режимі конфігурації IP\"\n\nmsgid \"Modes\"\nmsgstr \"Режими\"\n\nmsgid \"IP address\"\nmsgstr \"IP-адреса\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Введіть IP-адресу свого шлюзу (маршрутизатора) або залиште поле порожнім, якщо немає:\"\n\nmsgid \"Gateway address\"\nmsgstr \"Адреса шлюзу\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"Введіть ваші DNS-сервери (розділені пробілами, залиште порожнім якщо їх немає):\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS- сервери\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Налаштування інтерфейсів\"\n\nmsgid \"Kernel\"\nmsgstr \"Ядра\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI не виявлено, деякі параметри вимкнено\"\n\nmsgid \"Info\"\nmsgstr \"Інформація\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Пропрієтарні драйвери Nvidia не підтримуються Sway.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Існує ймовірність виникнення проблем. Продовжити?\"\n\nmsgid \"Main profile\"\nmsgstr \"Головний профіль\"\n\nmsgid \"Confirm password\"\nmsgstr \"Підтвердити пароль\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Паролі не збігаються, спробуйте ще раз\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Недійсний каталог\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Бажаєте продовжити?\"\n\nmsgid \"Directory\"\nmsgstr \"Каталог\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Введіть каталог для конфігурацій, які потрібно зберегти:\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Чи бажаєте зберегти файл (и) конфігурацій до {}?\"\n\nmsgid \"Enabled\"\nmsgstr \"Увімкнено\"\n\nmsgid \"Disabled\"\nmsgstr \"Вимкнено\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Будь ласка, надішліть цю проблему (та файл) за адресою https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"Назва дзеркала\"\n\nmsgid \"Url\"\nmsgstr \"URL\"\n\nmsgid \"Select signature check\"\nmsgstr \"Оберіть варіант перевірки підпису шифрування\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Оберіть режим роботи\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Натисніть ? для довідки\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Надайте Hyprland доступ до вашого обладнання\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Додаткові репозиторії\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Файли підкачки на zram\"\n\nmsgid \"Name\"\nmsgstr \"Назва\"\n\nmsgid \"Signature check\"\nmsgstr \"Перевірка підпису шифрування\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Обраний сегмент вільного місця на пристрої {}:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Розмір: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Розмір (типово: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"Пристрій HSM\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Деякі пакети можуть бути не знайдені в репозиторії\"\n\nmsgid \"User\"\nmsgstr \"Ім'я користувача\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Обрана конфігурація буде використана\"\n\nmsgid \"Wipe\"\nmsgstr \"Стерти\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"Позначити / Зняти позначку XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Завантажування пакетів...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Виберіть будь-які пакети зі списку, які мають бути встановлені додатково\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Додати користувацький репозиторій\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Змінити користувацький репозиторій\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Видалити користувацький репозиторій\"\n\nmsgid \"Repository name\"\nmsgstr \"Назва репозиторію\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Додати користувацький сервер\"\n\nmsgid \"Change custom server\"\nmsgstr \"Оберіть користувацький сервер\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Видалити користувацький сервер\"\n\nmsgid \"Server url\"\nmsgstr \"URL сервера\"\n\nmsgid \"Select regions\"\nmsgstr \"Обрати регіони\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Додати користувацькі сервери\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Додати користувацький репозиторій\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Завантаження регіонів дзеркал...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Дзеркала та репозиторії\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Обрані регіони дзеркал\"\n\nmsgid \"Custom servers\"\nmsgstr \"Користувацькі сервери\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Користувацькі репозиторії\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Підтримуються лише ASCII символи\"\n\nmsgid \"Show help\"\nmsgstr \"Показати довідку\"\n\nmsgid \"Exit help\"\nmsgstr \"Вийти з довідки\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Прокрутка перегляду догори\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Прокрутка перегляду вниз\"\n\nmsgid \"Move up\"\nmsgstr \"Перейти догори\"\n\nmsgid \"Move down\"\nmsgstr \"Перейти вниз\"\n\nmsgid \"Move right\"\nmsgstr \"Повернути праворуч\"\n\nmsgid \"Move left\"\nmsgstr \"Повернути ліворуч\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Перейти до елемента\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Пропустити вибір (якщо можливо)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Скинути вибір (якщо можливо)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Вибір при одиночному виборі\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Вибір при множинному виборі\"\n\nmsgid \"Reset\"\nmsgstr \"Скинути\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Пропустити меню вибору\"\n\nmsgid \"Start search mode\"\nmsgstr \"Запустити режим пошуку\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Вийти з режиму пошуку\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc потребує доступ до вашого місця (набору апаратних пристроїв, таких як клавіатура, миша тощо)\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Оберіть опцію для надання labwc доступу до вашого обладнання\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri потребує доступ до вашого місця (набору апаратних пристроїв, таких як клавіатура, миша тощо)\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Оберіть опцію для надання niri доступу до вашого обладнання\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"Позначити/зняти позначку ESP розділу\"\n\nmsgid \"Package group:\"\nmsgstr \"Група пакетів:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Покинути Archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"Перезавантажити систему\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"бажаєте підключитися використовуючи chroot до новоствореної інсталяції та виконати додаткову конфігурацію\"\n\nmsgid \"Installation completed\"\nmsgstr \"Встановлення завершено\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Що ви хочете зробити наступним?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Виберіть, режим для налаштування \\\"{}\\\"\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Невірний пароль для розшифрування файлу облікових даних\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Неправильний пароль\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Пароль розшифрування файлу облікових даних\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Чи бажаєте зашифрувати user_credintials.json?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Пароль розшифрування файлу облікових даних\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Репозиторії: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Доступна нова версія\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Вхід без паролю\"\n\nmsgid \"Second factor login\"\nmsgstr \"Другий фактор входу\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Бажаєте налаштувати Bluetooth?\"\n\nmsgid \"Print service\"\nmsgstr \"Служба друку\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Бажаєте налаштувати службу друку (принтери)?\"\n\nmsgid \"Power management\"\nmsgstr \"Керування живленням\"\n\nmsgid \"Authentication\"\nmsgstr \"Автентифікація\"\n\nmsgid \"Applications\"\nmsgstr \"Додатки\"\n\nmsgid \"U2F login method: \"\nmsgstr \"Метод входу для пристрою двофакторної автентифікації: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Sudo без паролю: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Тип знімка Btrfs: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Синхронізація системи...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Значення не може бути пустим\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Тип знімка\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Тип знімка: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"Налаштування входу з пристроєм двофакторної авторизації\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Не знайдено жодного пристрою двофакторної автентифікації\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"Метод входу для пристрою двофакторної автентифікації\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Увімкнути sudo без паролю?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Налаштування пристроя двофакторної автентифікації для користувача: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Ви повинні написати PIN та потім торкнутися вашого пристрою двофакторної авторизації, щоб зареєструвати його\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Початок модифікацій пристрою в \"\n\nmsgid \"No network connection found\"\nmsgstr \"Не знайдено жодної мережі\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Бажаєте підключитись до Wi-Fi?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Не знайдено жодного Wi-Fi інтерфейсу\"\n\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Оберть Wi-Fi мережу, до якої треба підключитись\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Сканування Wi-Fi мереж...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Не знайдено жодної Wi-Fi мережі\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Налаштування Wi-Fi завершено невдало\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Введіть пароль для Wi-Fi\"\n\nmsgid \"Ok\"\nmsgstr \"Гаразд\"\n\nmsgid \"Removable\"\nmsgstr \"Знімний\"\n\nmsgid \"Install to removable location\"\nmsgstr \"Встановити на знімний накопичувач\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"Встановить в /EFI/BOOT/ (знімний накопичувач)\"\n\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"Встановить у стандартне розташування з записом NVRAM\"\n\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"Бажаєте встановити завантажувач в стандартне місце пошуку на знімних носіях?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Це встановить завантажувач в /EFI/BOOT/BOOTX64.EFI (чи схожі), що є доцільно для:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"USB-накопичувачі чи інші портативні носії.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Системи, де ви хочете, щоб диск був завантажувальним на будь-якому комп'ютері.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Прошивка, що не підтримує завантажувальні записи NVRAM належним чином.\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"Встановить в /EFI/BOOT/ (знімний накопичувач, безпечно за замовчуванням)\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"Встановить у користувацьке розташування з записом NVRAM\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Прошивка, що не підтримує завантажувальні записи NVRAM належним чином, як більшість материнських плат MSI,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"більшість Apple Mac, багато ноутбуків...\"\n\nmsgid \"Language\"\nmsgstr \"Мова\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"Алгоритм компресії\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Встановлюються лише такі пакети, як base, sudo, linux, linux-firmware, efibootmgr і додаткові пакети профілів.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Оберіть алгоритм компресування з zram:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"Використовувати NetworkManager (типовий)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"Використовувати NetworkManager (з iwd)\"\n"
  },
  {
    "path": "archinstall/locales/ur/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Hannan Javed <hannansahib@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ur\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Aik log file yahan bana di gai hai: {} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    Brah e meharbani is issue (aur file) ko https://github.com/archlinux/archinstall/issues par submit krein\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Kia aap sach mein yeh band karna chahtay hein?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Or aik bar or verification kay liay: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Kia aap zram par swap istimal karna chahtay hein?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"Installtion kay liay pasandida hostname: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Superuser kay liay saraf chahiay sudo marat kay sath: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Koi azafi sarafein install kay liay (Khali chod dein saraf na honay ki sorat mein):\"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Kia yeh sarif superuser (sudoer) hona chahiye?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Aik timezone ka intikhab krein\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Kia aap GRUB ko bootloader kay taur par istimal karna chahtay hein, systemd-boot ki jaga'h?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Bootloader ka intkhab\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Audio server ka intkhab\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Sirf packages jaisa ke'h base, base-devel, linux, linux-firmware, efibootmgr aur ikhti'ari profile packages hi install hein.\"\n\nmsgid \"Note: base-devel is no longer installed by default. Add it here if you need build tools.\"\nmsgstr \"Note: base-devel ab default tor par install nahi hota. Yahan pr isko shamil krein agar aapko build tools chahiye.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Agar aap web browser chahtay hein, jaise firefox ya chromium, to aap foori taur par kar saktay hein.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Azafi packages jo install karnay hein (space se alag krein, khali chod de'n agar kuch nahi): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO network tarteb ko installation par copy krein\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager istimal krein (GNOME aur KDE mein internet ko graphically tarteb karnay kay liay zaruri)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"tarteb karnay kay liay aik network interface ka intikhab krein\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"intikhab krein ke'h \\\"{}\\\" kay liay kon sa mode tarteb karna hay ya default mode \\\"{}\\\" istimal karnay kay liay skip krein\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"IP aur subnet {} kay liay dar'j krein (masal kay taur par: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"A'pnay gateway (router) IP address dar'j krein ya kuch nahi chodain: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"A'pnay DNS servers dar'j krein (space se alag, khali chodain agar koi nahi): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Marka'zi partition kay liay kon sa filesystem istimal karna chahtay hein intikhab krein\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Halia'h partition ki tarteb \"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Is kay sath kia karna hay, intikhab krein\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Matlooba filesystem ki type partition kay liay dar'j krein\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Shroa'at dar'j krein (parted aka'ion me'n: s, GB, %, etc. ; default: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"A'akhrat dar'j krein (parted aka'ion me'n: s, GB, %, etc. ; masal: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} me'n partitions hein, yeh mita day ga, aap sach mein yeh karna chahtay hein?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Index kay mutabi'q partitions ko hazif krein, intikhab krein\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Index kay mutabi'q partition ko kahan mount krna hay, intikhab krein\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Partition mount-points installation kay andar nisbatan hein, boot /boot ki masal hogi.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"intikhab krein, partition ko kahan mount karna hay (khali chodain agar mount point hata'na hay): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Kis partition ko format karnay kay liay mask karna hay, intikhab krein\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Kis partition ko encrypt karna hay, intikhab krein\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Kis partition ko bootable karna hay, intikhab krein\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Kis partition par filesystem karna hay, intikhab krein\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Matlooba filesystem ki type partition kay liay dar'j krein: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall ki zuban\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Tamam muntkh'b drives ko mita kar aik best-effort default partition layout istimal krein\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Har infaradi drive kay sath kia karna hay (partition usage kay sath), intikhab krein\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Muntkh'b block devices kay sath kia karna chahtay hein, intikhab krein\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"yeh pre-programmed profiles kia fe'hrist hay, yeh asan bnati hein install karnay mein jaisa ke'h desktop environments\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Keyboard ka layout\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Aik jaga'h kay intikhab krein, packages ko download karnay kay liay\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Aik yah ziada hard drives ka intikhab krein istimal aur tarteb krein\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"AMD hardware ki achi mutab'qat kay liay, aap ya to tamam open-source ya AMD / ATI options ka istimal karna chahtay hein.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Intel hardware ki achi mutab'qat kay liay, aap ya to tamam open-source ya Intel options ka istimal karna chahtay hein.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Nvidia hardware ki achi mutab'qat kay liay, aap ya to tamam Nvidia malki'ati driver istimal karna chahtay hein.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Intkhab krein aik graphics driver ya khali chodain tamam open-source drivers install karnay kay liay\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Tamam open-source (default)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"intkhab krein konsi kernels ko istimal karna hay ya default kay liay khali chodain \\\"{}\\\"\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"intkhab krein konsi locale zuban ko istimal karna hay\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"intkhab krein konsi locale encoding ko istimal karna hay\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"intkhab krein neeche diye gaye options mein se ek ka: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"intkhab krein neeche diye gaye options mein se ek ya ziada ka: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Partition shamil ho rhi hay....\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"aap ko dar'st fs-type dar'j karna hoga jari rakhne kay liay. `man parted` dekhein valid fs-type's kay liay.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Galti: URL \\\"{}\\\" par zare fehrist profiles ka natija: \"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Galti: JSON kay tor par \\\"{}\\\" ka natija decode nahi kia ja saka: \"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Keyboard ka layout\"\n\nmsgid \"Mirror region\"\nmsgstr \"Mirror ka ilaqa\"\n\nmsgid \"Locale language\"\nmsgstr \"Locale language\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Locale encoding\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Drive(s)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Disk ka layout\"\n\nmsgid \"Encryption password\"\nmsgstr \"Encryption ka password\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Bootloader\"\n\nmsgid \"Root password\"\nmsgstr \"Root ka password\"\n\nmsgid \"Superuser account\"\nmsgstr \"Superuser ka account\"\n\nmsgid \"User account\"\nmsgstr \"Saraf ka account\"\n\nmsgid \"Profile\"\nmsgstr \"Profile\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Kernels\"\n\nmsgid \"Additional packages\"\nmsgstr \"Azafi packages\"\n\nmsgid \"Network configuration\"\nmsgstr \"Network ki tarteb\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Khudkar time sync (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"Install ({} tarteb mojod nahi)\"\n\n#, fuzzy\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Aap nay harddrive ka intikhab karna chod nay ka faisla kia.\\n\"\n\"Aur jo drive setup {} (tajurbati) par mount kia gia hay, iska istimal krein gay\\n\"\n\"Intba'h: Archinstall is setup ki muta'bqat ki janch nahi karay ga\\n\"\n\"Kia aap jari rakhna chahtay hein?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Partition instance ka dubara istimal:  {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Nai partition banaein\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Aik artition hazif\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Tamam partitions hazif/mata dein\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Aik partition kay liay mount-point assign krein\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Partition ko format karne ke liay mark/unmark kre (data ko mitadega)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Encrypt karne k liay partition ko mark/unmark krein\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Partition ko bootable kay liay mark/unmark krein (automatic /boot hay)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Aik partition kay liay Matlooba filesystem darj krein\"\n\nmsgid \"Abort\"\nmsgstr \"Khatam krein\"\n\nmsgid \"Hostname\"\nmsgstr \"Hostname\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"tarteb shuda'h nahi, na dast'yab hay jab tak manually set na kia jaye\"\n\nmsgid \"Timezone\"\nmsgstr \"Timezone\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Zail kay ikhtiarat ko set/tarmim krein\"\n\nmsgid \"Install\"\nmsgstr \"Install\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Chodnay kay liay ESC ka istimal krein\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Partition ka layout tajwiz krein\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Password darj krein: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"Encryption ka password {} kay liay darj krein\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Disk encryption ka password darj krein (encryption na karnay kay liay khali chodain): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Sudo kay mara'at kay sath super-user banaye'n: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Root ka password darj krein (root ko disable karnay kay liay khali chodain): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"\\\"{}\\\" sarif kay liay password: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Is baat ki tasdeeq ho rhi hay kay azafi packages mojood hein (is mein kuch second lag saktay hein)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Kia Aap time ki automatic muta'bqat (NTP) default time servers kay sath istimal karna chahtay hein?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP kay kam karnay kay liay hardware ka time aur dosri tertebe'n zarori ho sakti hein\\n\"\n\"Mazeed ma'ulomat kay liay, Arch wiki check krein\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Azafi sarif banany kay liay username darj krein (chodnay kay liay khali chodain): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"ESC ka istimal krein chodnay kay liay\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\"Kisi aik cheez ko fe'hrist say muntkh'b krein, aur us kay liay m'ojud actions me'n se aik ko execute krein\"\n\nmsgid \"Cancel\"\nmsgstr \"Manso'kh krein\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Tasdeeq krein aur bahir niklain\"\n\nmsgid \"Add\"\nmsgstr \"Add\"\n\nmsgid \"Copy\"\nmsgstr \"Copy krein\"\n\nmsgid \"Edit\"\nmsgstr \"Edit\"\n\nmsgid \"Delete\"\nmsgstr \"Hazif\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"'{}' kay liay aik action muntkh'b krein\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Aik na'i key ko copy krein\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Na mau'lom nic type: {}. Mumkin values hein {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Yeh aapki muntkh'b terateb hein:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman pehlay hi chal rha hay, maximum 10 minutes intizar hay k woh khatam ho jay.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Pehlay say m'ojud pacman lock khatam nahi huwa. Brah'e mehrbani archinstall ka istimal karnay say pehle kisi bhi m'ojude'h pacman session ko saaf krein.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Konsi ikhtiari azafi repositories ko enable karna chahtay hein, muntkh'b krein\"\n\nmsgid \"Add a user\"\nmsgstr \"Aik sarif sham'il krein\"\n\nmsgid \"Change password\"\nmsgstr \"Password badlein\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"sarif ko promote/demote krein\"\n\nmsgid \"Delete User\"\nmsgstr \"sarif hazif krein\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Aik na'y sarif ki wazah't krein\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Saraf ka naam: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"Kia {} ko superuser hona chahiay (sudoer)?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"sar'feen sudo mara'at kay sath hein wazah't krein: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Network ki koi tarteb nahi\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Btrfs partition par matlooba subvolumes set krein\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Jis artition par subvolumes set karna chahtay hayn, muntkh'b krein\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Halia partition kay liay btrfs subvolumes ko manage krein\"\n\nmsgid \"No configuration\"\nmsgstr \"Koi tarteb nahi\"\n\nmsgid \"Save user configuration\"\nmsgstr \"sarif ki tarteb mahfoz krein\"\n\nmsgid \"Save user credentials\"\nmsgstr \"sarif ki asnaa'd mahfoz krein\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Disk layout mahfoz krein\"\n\nmsgid \"Save all\"\nmsgstr \"Tamam mahfoz krein\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Konsi tarteb mahfoz karni hay, muntkh'b krein\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Aik directory darj krein tarteb(on) ko mahfoz karnay kay liay: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Koi wazah directory nahi: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Aap istimal shuda password buhat kamzor lagta hai,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"Kia aap pur yaqeen hein isay istimal karnay par?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Ikhtiari repositories\"\n\nmsgid \"Save configuration\"\nmsgstr \"tartebat mahfoz krein\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Gum shuda'h tartebat:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Ya tu root ka password ya kam az kam 1 superuser zaror bataein\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"superuser kay accounts ko manage krein: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"A'am sarif kay accounts ko manage krein: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolume :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" mount hai {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" kay ikhtiar {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Aik na'y subvolume kay liay matlooba values ko bharhein \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Subvolume ka naam\"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Subvolume ka mountpoint\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Subvolume kay ikhtiar\"\n\nmsgid \"Save\"\nmsgstr \"Save\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Subvolume ka naam :\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Aik mount point muntkh'b krein :\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Matlooba subvolume options ka in'tkhab krein \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Sar'feen sudo mara'at kay sath hein wazah't krein, username kay sath: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Yahan log file banai ja chuki hai: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"Kia aap BTRFS subvolumes ko default dha'nchay kay sath istimal karna chahtay hein?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"Kia  aap BTRFS compression ko istimal karna chahtay hein?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"Kia aap /home kay liay aik alag partition bana'n chahtay hein?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Khudkar suggestion kay liay muntkhab drives ki minimum capacity zarori nahi\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"/home partition ki minimum capacity: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Arch Linux partition ki minimum capacity: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Jari rakhein\"\n\nmsgid \"yes\"\nmsgstr \"haan\"\n\nmsgid \"no\"\nmsgstr \"nahi\"\n\nmsgid \"set: {}\"\nmsgstr \"krein: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Manual tarteb ki setting ki aik list honi chahiye\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Manual tarteb kay liay muntkh'b iface nahi hay\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Bagir auto DHCP kay manual nic tarteb kay liay IP address zaruri hay\"\n\nmsgid \"Add interface\"\nmsgstr \"Interface shamil krein\"\n\nmsgid \"Edit interface\"\nmsgstr \"Interface edit krein\"\n\nmsgid \"Delete interface\"\nmsgstr \"Interface delete krein\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Interface shamil karnay kay liay muntkh'b krein\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Manual tarteb\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Partition ko compress karnay kay liay mark/unmark krein (sirf btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"aapka dia gia password kamzor lag raha hay, aap isko istimal kay liay par yaqeen hein?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Desktop environments aur tiling window managers ki selection muhayya krein, jaisay kay gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Apnay muntkh'b desktop environment ka intikhab\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Aik nihay't bunyadi installation, jo Arch Linux ko aapki zarorat\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"Mukhtalif server packages ki selection muhayya krein, jaisay kay httpd, nginx, mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Konsay servers ko install karna chahiye intkhab krein, agar koi nahi to aik minimal installation hoga\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Aik minimal system install ho ga aur sath sath xorg aur graphics drivers bhi.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Enter duba kar jari rakhein\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Kia aap aik nayi installation main chroot aur post-installation configuration tarteb karna chahtay hein?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Is tarte'd ko reset karnay kay liay kia aap pur yaqeen hein?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Aik ya ziada hard drive muntkh'b krein istimal aur tarteb kay liay\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Tay shuda setting main koi rado badal disk layout ko reset kar day gi!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Agar aap muntikhab hardrive ko reset kartay hein tu yeh mojoda disk layout bhi reset karay gi, aap pur yaqeen hein?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Save krein or nikalein\"\n\n#, fuzzy\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"me'n partitions hein, yeh mita day ga, aap sach mein yeh karna chahtay hein?\"\n\nmsgid \"No audio server\"\nmsgstr \"Koi audio server nahi\"\n\nmsgid \"(default)\"\nmsgstr \"(default)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"ESC ka istimal krein chodnay kay liay\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Mojoda tarteb ko reset kay liay CTRL+C ka istimal krein\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"par copy krein: \"\n\nmsgid \"Edit: \"\nmsgstr \"Edit: \"\n\nmsgid \"Key: \"\nmsgstr \"Key: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"Edit {}: \"\n\nmsgid \"Add: \"\nmsgstr \"Shamil krein: \"\n\nmsgid \"Value: \"\nmsgstr \"Qadar: \"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Drive kay intikhab aur partitioning ko chodnay aur jo bhi drive-setup /mnt mojod hai ko istimal krein (experimental)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Aik disk muntkh'b krein ya chodnay aur /mnt ko default kay tor par istimal krein\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Mark krein format kay liay konsay partitions ka intikhab: \"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Encrypted drive ko unlock kay liay HSM ka istimal krein\"\n\nmsgid \"Device\"\nmsgstr \"Device\"\n\nmsgid \"Size\"\nmsgstr \"Size\"\n\nmsgid \"Free space\"\nmsgstr \"Khali jagah\"\n\nmsgid \"Bus-type\"\nmsgstr \"Bus-type\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Ya tu root ka password ya kam az kam 1 superuser zaror bataein\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Saraf ka naam darj krein (no honay ki sorat mein Khali chod dein): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Darj shuda username galat hai, dubara koshish krein\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"Kia \\\"{}\\\" ko aik superuser (sudo) hona chahiay?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Konsi partition ko encrypt krna hai select krein\"\n\nmsgid \"very weak\"\nmsgstr \"Buhat kamzor\"\n\nmsgid \"weak\"\nmsgstr \"Kamzor\"\n\nmsgid \"moderate\"\nmsgstr \"Darmiyana\"\n\nmsgid \"strong\"\nmsgstr \"Mazbot\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Subvolume shamil krein\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Subvolume ko edit krein\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Subvolume ko delete krein\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"Tateb shuda {} interfaces\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"yeh option installation kay duran parallel download ki number ko enable karta hai\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Parallel download ki number daalain.\\n\"\n\" (1 se {} darmiyan daalain)\\n\"\n\"Yaa daasht:\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Maximum value   : {} ( {} Parallel downloads ki ajazat, {} downloads ki aik waqat main ajazat hai )\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Minimum value   : 1 ( 1 Parallel download ki ajazat, 2 downloads ki aik waqat main ajazat hai )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - Disable/Default : 0 ( Parallel download ko disable krnay kay liay, sirf 1 download ki aik waqat main ajazat hai )\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Darj shuda galat hai! Dubara koshish krein sahi darj kar nay ki [1 say {max_downloads}, ya 0 disable kay liay]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Parallel Downloads\"\n\nmsgid \"ESC to skip\"\nmsgstr \"Skip kay liay ESC\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"Reset kay liay CTRL+C\"\n\nmsgid \"TAB to select\"\nmsgstr \"Select kay liay TAB\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Default value: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Is translation ko istimal kay liay, brah e meharbani aik font manuallly install krein jo is zuban ko suppport krta ho.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Font is trah {} store hona chahiya\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall ko chalanay kay liay root hona zarori hai. ziada kay liay --help daykhein.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Excution mode ko select krein\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"muntkh'b url: {} say profile hasil krna mumkin nahi\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Profiles ka munfirad hona zarori hai, lakin profile ki tareef duhray namoo kay sath mili hai: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Aik yah ziada devices ka intikhab krein istimal aur tarteb krein\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Agar aap muntikhab device ko reset kartay hein tu yeh mojoda disk layout bhi reset ho ga, aap pur yaqeen hein?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Pehlay say m'ojud partitions\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Aik ikhti'ari partion ka intikhab krein\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Mounted devices kay liay root directory ko darj krein\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"/home partition kay liay Minimum capacity: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Arch linux partion kay liay Minimum capacity: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"yeh pre-programmed profiles_bck ki fe'hrist hay, in say desktop environment jaisi cheezon ko install karnay main madad milti hai\"\n\nmsgid \"Current profile selection\"\nmsgstr \"mojoda profile selection\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Nai shamil ki gai tamam partitions remove krein\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Mountpoint assign krein\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Format (data hazaf) karnay kay liay mark/unmark krein\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Bootable bananay kay liay mark/unmark krein\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Filesystem badlain\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Compress kay liay mark/unmark krein\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"subvolumes darj krein\"\n\nmsgid \"Delete partition\"\nmsgstr \"Partition hazif krein\"\n\nmsgid \"Partition\"\nmsgstr \"Partition\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"yeh partition mojoda tor par encrypt hai, filesystem ka intkhab zarori hai is ko format karnay kay liay\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Prtition kay mount points installation kay andar relative hein, masal kay tor par /boot boot kay liay hai.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Agar /boot muntkh'b hua, to partition bootable kay liay bhi mark ho gi.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Mountpoint: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"mojoda khali sector is device par {}:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Tamam mojoda sectors: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Sector ki shroa'at dar'j krein (default: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Partition kay a'akhri sector ki dar'j krein (fisad ya block ka number, default: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"yeh nai shamil ki gai tamam partitions remove karay ga, jari rakhein?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Partiotion ki management: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Total length: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Encryption ki type\"\n\nmsgid \"Iteration time\"\nmsgstr \"Iteration ka time\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"Iteration time LUKS encryption kay liay darj krein (milliseconds main)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Bari values security ko barhati hain lekin boot time ko slow karti hain\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Default: 10000ms, Tajwiz shuda range: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Iteration time khali nahi ho sakta\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Iteration time kam az kam 100ms hona chahiye\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Iteration time ziada say ziada 120000ms hona chahiye\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Brah e meharbani ek durust number darj krein\"\n\nmsgid \"Partitions\"\nmsgstr \"Partitons\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"Koi HSM device mojod nahi\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Partition ki encryption ho gi\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Disk ki encryption ka ikhti'ar select krein\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"HSM kay liay aik FIDO2 device ko select krein\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Mumkina best-effort default partition ka layout istimal krein\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Manual Partitioning\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Pre-mounted tarteb\"\n\nmsgid \"Unknown\"\nmsgstr \"Maloom nahi\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Partition ki encryption\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! formatting {} main\"\n\n#, fuzzy\nmsgid \"← Back\"\nmsgstr \"← Back\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Desk ki encryption\"\n\nmsgid \"Configuration\"\nmsgstr \"tarteb\"\n\nmsgid \"Password\"\nmsgstr \"Password\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Tamam tarteb reset ho jay gi, kia aap pur yaqeen hein\"\n\nmsgid \"Back\"\nmsgstr \"Back\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"brah e meharbani muntkh'b profile kay liay greeter ko install kay liay select krein: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Environment ki type: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Sway Nvidia kay proprietary driver ko support nahi karta. Buhat imkan hai k'eh aap ko issues hongay, Kia aap pur yaqeen hein?\"\n\nmsgid \"Installed packages\"\nmsgstr \"Installed packages\"\n\nmsgid \"Add profile\"\nmsgstr \"Profile shamil krein\"\n\nmsgid \"Edit profile\"\nmsgstr \"Profile ko edit krein\"\n\nmsgid \"Delete profile\"\nmsgstr \"Profile ko hazif krein\"\n\nmsgid \"Profile name: \"\nmsgstr \"Profile ka naam: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Aap ka darj karda profile ka naam pehlay say mojod hai, dubara koshish krein\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Is profile kay sath install honay walay packages (space se alag krein, khali chod de'n agar kuch nahi): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Is profile kay sath enable honay wali services (space se alag krein, khali chod de'n agar kuch nahi): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Kia is profile ko enable karna hai installation kay liay?\"\n\nmsgid \"Create your own\"\nmsgstr \"Khud ki bana'en\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Aik graphic driver ka intkh'b ya kahli chod de'n tamam open-source driver ko install kay liay\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway kay liay access zarori hai (hardware devices ki fe'hrst jaisa ke'h keyboard, mouse, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Sway ko apnay hardware tak rasai kay liay aik ka intkh'ab krein\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Graphic driver\"\n\nmsgid \"Greeter\"\nmsgstr \"Greeter\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Kis greeter ko install karna hai muntkh'b krein\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"yeh f'ehrist hai pre-programmed default_profiles ki\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Disk ki tart'b\"\n\nmsgid \"Profiles\"\nmsgstr \"Profiles\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"tarteb ki files ko save karnay kay liay mumkina directories ki talash\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"tarteb ki files ko save karnay directory (ya directories) ko select krein\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Custom mirror ko shamil krein\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Custom mirror ko change krein\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Custom mirror ko hazif krein\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Naam darj krein (khali chod de'n agar kuch nahi): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"Url ko darj krein (khali chod de'n agar kuch nahi): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Signature kay check karnay kay liay ikhtiar ko select krein\"\n\nmsgid \"Select signature option\"\nmsgstr \"Signature kay ikhtiar ko select krein\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Custom mirrors\"\n\nmsgid \"Defined\"\nmsgstr \"Tareef karda\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Saraf ki tarteb save krein (disk layout kay sath)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Tarteb ko save karnay kay liay directory darj krein (pora karnay kay liay tab dubain)\\n\"\n\"Save kay liay directory: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"Kia aap mutloba jaga tarteb filon {} ko save karna chahtay hein?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} Tarteb ki filon {} par save kia ja rha hai\"\n\nmsgid \"Mirrors\"\nmsgstr \"Mirrors\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Mirrors ka ilaqa\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Maximum value   : {} ( {} Parallel downloads ki ajazat, {max_downloads+1} downloads ki aik waqat main ajazat hai )\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Darj shuda galat hai! Dubara koshish krein sahi darj kar nay ki [1 say {}, ya 0 disable kay liay]\"\n\nmsgid \"Locales\"\nmsgstr \"Locales\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager ka istmal (GNOME or KDE main graphically internet ka tayun krnay kay liay zarori hai)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Tamam: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Tamam darj shuda miqdaron say pehlay aik unit: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Agar unit na darj hua, tu miqdar ko sector taswar kia jayga\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Shroa'at dar'j krein (default: sector {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"A'akhrat dar'j krein (default: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"FIDO2 devices ka tayun nahi ho rha hai. Kia libfido2 install hai?\"\n\nmsgid \"Path\"\nmsgstr \"Path\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Manufacturer\"\n\nmsgid \"Product\"\nmsgstr \"Product\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Darj shuda tarteb galat hai: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Type\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Package download kay doran parallel downloads kay number ko qabil karnay kay liay ikhtiar krein\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Parallel downloads kay number ko darj krein qabil karnay kay liay.\\n\"\n\"\\n\"\n\"Note:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Maximum safarish karda value   : {} ( {} downloads ki aik waqat main ajazat hai )\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - Disable/Default : 0 ( Parallel download ko disable krnay kay liay, sirf 1 download ki aik waqat main ajazat hai )\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Darj shuda galat hai! Dubara koshish krein sahi darj kar nay ki [ya 0 disable kay liay]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyperland kay liay access zarori hai (hardware devices ki fe'hrst jaisa ke'h keyboard, mouse, etc)\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Hyperland ko apnay hardware tak rasai kay liay aik ka intkh'ab krein\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Tamam darj shuda miqdaron say pehlay aik unit: B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Kia aap unified kernel images kay istmal ko pasand krein gay?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Unified kernel images\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Time sync (timedatectl show) kay mukamal honay ka intzar hai.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Aap kay intzar kartay huay time ki syncroniztion pori nhi hui, docs ko check krein: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Khud kar time sync kay intzar ko khatam krein (yeh issue bana sakta hai installation kay duran agar time sync say out hota hai)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Arch Linux keyring sync (archlinux-keyring-wkd-sync) kay mukamal honay ka intzar hai.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Muntkhab Profiles: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Aap kay intzar kartay huay time ki syncroniztion pori nhi hui, docs ko check krein: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"Nodatacow kay mark/unmark krein\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Kia aap compression kay istmal ya CoW ko disable karna chahtay hein?\"\n\nmsgid \"Use compression\"\nmsgstr \"Compression ka istmal\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Copy-on-Write ko disable krein\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Yeh desktop environments or tiling window managers ki feharist daita hai jaisa kay GNOME, KDE Plasma, Sway\"\n\n#, fuzzy, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Tarteb ki type: {}\"\n\n#, fuzzy\nmsgid \"LVM configuration type\"\nmsgstr \"LVM tarteb ki type\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"2 ya ziada partition wali LVM disk encryption ko mojoda tor par support nahi hai\"\n\n#, fuzzy\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"NetworkManager ka istmal (GNOME or KDE main graphically internet ka tayun krnay kay liay zarori hai)\"\n\n#, fuzzy\nmsgid \"Select a LVM option\"\nmsgstr \"Aik LVM ikhtiar ko select krein\"\n\n#, fuzzy\nmsgid \"Partitioning\"\nmsgstr \"Partitioning\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Logical Volume Management (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Physical volumes\"\n\nmsgid \"Volumes\"\nmsgstr \"Volumes\"\n\n#, fuzzy\nmsgid \"LVM volumes\"\nmsgstr \"LVM volumes\"\n\n#, fuzzy\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"LVM volumes ko encrypt krna\"\n\n#, fuzzy\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Konsay LVM volume ko encrypt krna hai select krein\"\n\n#, fuzzy\nmsgid \"Default layout\"\nmsgstr \"Default layout\"\n\n#, fuzzy\nmsgid \"No Encryption\"\nmsgstr \"Koi encryption nahi\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LUKS par LVM\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LVM par LUKS\"\n\nmsgid \"Yes\"\nmsgstr \"Haan\"\n\nmsgid \"No\"\nmsgstr \"Nahi\"\n\n#, fuzzy\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall ki madad\"\n\nmsgid \" (default)\"\nmsgstr \" (default)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Madad kay liay Ctrl+h dubaen\"\n\n#, fuzzy\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Sway ko apnay hardware tak rasai kay liay aik ka intkh'ab krein\"\n\nmsgid \"Seat access\"\nmsgstr \"Tak rasai\"\n\n#, fuzzy\nmsgid \"Mountpoint\"\nmsgstr \"Mountpoint\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\n#, fuzzy\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Disk encryption ka password darj krein (encryption na karnay kay liay khali chodain): \"\n\n#, fuzzy\nmsgid \"Disk encryption password\"\nmsgstr \"Encryption ka password\"\n\n#, fuzzy\nmsgid \"Partition - New\"\nmsgstr \"Nai - Partition\"\n\n#, fuzzy\nmsgid \"Filesystem\"\nmsgstr \"Filesystem\"\n\nmsgid \"Invalid size\"\nmsgstr \"Size sahi nahi\"\n\n#, fuzzy\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Shroa'at dar'j krein (default: sector {}): \"\n\n#, fuzzy\nmsgid \"End (default: {}): \"\nmsgstr \"A'akhrat dar'j krein (default: {}): \"\n\n#, fuzzy\nmsgid \"Subvolume name\"\nmsgstr \"Subvolume ka naam\"\n\n#, fuzzy\nmsgid \"Disk configuration type\"\nmsgstr \"Disk configuration ki type\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Root ki mount directory\"\n\n#, fuzzy\nmsgid \"Select language\"\nmsgstr \"Zuban ka intikhab\"\n\n#, fuzzy\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Azafi packages jo install karnay hein (space se alag krein, khali chod de'n agar kuch nahi): \"\n\nmsgid \"Invalid download number\"\nmsgstr \"Download ka number sahi nahi\"\n\nmsgid \"Number downloads\"\nmsgstr \"Downloads kay number\"\n\n#, fuzzy\nmsgid \"The username you entered is invalid\"\nmsgstr \"Darj shuda username galat hai, dubara koshish krein\"\n\n#, fuzzy\nmsgid \"Username\"\nmsgstr \"Saraf ka naam: \"\n\n#, fuzzy, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"Kia \\\"{}\\\" ko aik superuser (sudo) hona chahiay?\\n\"\n\n#, fuzzy\nmsgid \"Interfaces\"\nmsgstr \"Interfaces\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"IP-config mode main sahi IP ko aap darj krein\"\n\nmsgid \"Modes\"\nmsgstr \"Modes\"\n\nmsgid \"IP address\"\nmsgstr \"IP address\"\n\n#, fuzzy\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"A'pnay gateway (router) IP address dar'j krein (khali chodain, na honay kay liay)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Gateway ka address\"\n\n#, fuzzy\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"A'pnay DNS servers dar'j krein (space se alag, khali chodain agar koi nahi)\"\n\n#, fuzzy\nmsgid \"DNS servers\"\nmsgstr \"DNS servers\"\n\n#, fuzzy\nmsgid \"Configure interfaces\"\nmsgstr \"Tateb shuda interfaces\"\n\n#, fuzzy\nmsgid \"Kernel\"\nmsgstr \"Kernel\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI nahi hai or kuch ikhtiar band hain\"\n\nmsgid \"Info\"\nmsgstr \"Info\"\n\n#, fuzzy\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Sway Nvidia kay proprietary driver ko support nahi karta.\"\n\n#, fuzzy\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Buhat imkan hai k'eh aap ko issues hongay, Kia aap pur yaqeen hein?\"\n\n#, fuzzy\nmsgid \"Main profile\"\nmsgstr \"Mian Profile\"\n\n#, fuzzy\nmsgid \"Confirm password\"\nmsgstr \"Password ko confirm krein\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Password ki confirmation nahi mil rhi, brah e maharbani dobara koshish krein\"\n\n#, fuzzy\nmsgid \"Not a valid directory\"\nmsgstr \"Sahi directory nahi hai\"\n\n#, fuzzy\nmsgid \"Would you like to continue?\"\nmsgstr \"Kia aap jari rakhna chatay hain?\"\n\nmsgid \"Directory\"\nmsgstr \"Directory\"\n\n#, fuzzy\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Tartebon ko save karnay kay liay directory darj krein (pora karnay kay liay tab dubain)\"\n\n#, fuzzy, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Kia aap tarteb filon {} ko save karna chahtay hein?\"\n\nmsgid \"Enabled\"\nmsgstr \"Enabled\"\n\nmsgid \"Disabled\"\nmsgstr \"Disabled\"\n\n#, fuzzy\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Brah e meharbani is issue (aur file) ko https://github.com/archlinux/archinstall/issues par submit krein\"\n\n#, fuzzy\nmsgid \"Mirror name\"\nmsgstr \"Mirror ka naam\"\n\nmsgid \"Url\"\nmsgstr \"Url\"\n\n#, fuzzy\nmsgid \"Select signature check\"\nmsgstr \"Signature kay check karnay kay liay, ko select krein\"\n\n#, fuzzy\nmsgid \"Select execution mode\"\nmsgstr \"Excution mode ko select krein\"\n\n#, fuzzy\nmsgid \"Press ? for help\"\nmsgstr \"Madad kay liay ? dubaen\"\n\n#, fuzzy\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Hyperland ko apnay hardware tak rasai kay liay aik ikhtiar ka intkh'ab krein\"\n\n#, fuzzy\nmsgid \"Additional repositories\"\nmsgstr \"Ikhtiari repositories\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Zram main Swap\"\n\nmsgid \"Name\"\nmsgstr \"Naam\"\n\n#, fuzzy\nmsgid \"Signature check\"\nmsgstr \"Signature kay check\"\n\n#, fuzzy, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"Mojoda khali sector is device par {}:\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Size: {} / {}\"\n\n#, fuzzy, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Size (default: {}): \"\n\n#, fuzzy\nmsgid \"HSM device\"\nmsgstr \"HSM device\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Kuch packages repository main nahi milay\"\n\nmsgid \"User\"\nmsgstr \"Saraf\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Matloba tarteb ko apply kia jayga\"\n\nmsgid \"Wipe\"\nmsgstr \"Mitana\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"XBOOTLDR kay liay mark/unmark krein\"\n\n#, fuzzy\nmsgid \"Loading packages...\"\nmsgstr \"Loading packages...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"koi bhi packages neechay wali feharast main say azafi tor par install karnay kay liay\"\n\n#, fuzzy\nmsgid \"Add a custom repository\"\nmsgstr \"Custom repository ko shamil krein\"\n\n#, fuzzy\nmsgid \"Change custom repository\"\nmsgstr \"Custom repository ko change krein\"\n\n#, fuzzy\nmsgid \"Delete custom repository\"\nmsgstr \"Custom repository ko hazif krein\"\n\n#, fuzzy\nmsgid \"Repository name\"\nmsgstr \"Repository ka naam\"\n\n#, fuzzy\nmsgid \"Add a custom server\"\nmsgstr \"Aik custom server ko shamil krein\"\n\n#, fuzzy\nmsgid \"Change custom server\"\nmsgstr \"Custom server ko change krein\"\n\n#, fuzzy\nmsgid \"Delete custom server\"\nmsgstr \"Custom server ko hazif krein\"\n\nmsgid \"Server url\"\nmsgstr \"Server ka url\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"Select regions\"\n\n#, fuzzy\nmsgid \"Add custom servers\"\nmsgstr \"Custom servers ko shamil krein\"\n\n#, fuzzy\nmsgid \"Add custom repository\"\nmsgstr \"Custom repository ko shamil krein\"\n\n#, fuzzy\nmsgid \"Loading mirror regions...\"\nmsgstr \"Loading mirrors ka ilaqa\"\n\n#, fuzzy\nmsgid \"Mirrors and repositories\"\nmsgstr \"Mirrors or repositories\"\n\n#, fuzzy\nmsgid \"Selected mirror regions\"\nmsgstr \"Muntkhab mirrors ka ilaqa\"\n\n#, fuzzy\nmsgid \"Custom servers\"\nmsgstr \"Custom servers\"\n\n#, fuzzy\nmsgid \"Custom repositories\"\nmsgstr \"Custom repositories\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Sirf ASCII alfaz ko support hasil hai\"\n\nmsgid \"Show help\"\nmsgstr \"Madad dikhain\"\n\nmsgid \"Exit help\"\nmsgstr \"Madad say nikalein\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Scroll up dikhain\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Scroll down dikhain\"\n\nmsgid \"Move up\"\nmsgstr \"Opar jain\"\n\nmsgid \"Move down\"\nmsgstr \"Neechay jain\"\n\nmsgid \"Move right\"\nmsgstr \"Right jain\"\n\nmsgid \"Move left\"\nmsgstr \"Left jain\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Entry par jump krin\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Intkhab skip krin (agar mujud ho)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Intkhab reset krin (agar mujud ho)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Sigle select ko muntikhab krein\"\n\n#, fuzzy\nmsgid \"Select on multi select\"\nmsgstr \"Multi select ka intikhab krein\"\n\nmsgid \"Reset\"\nmsgstr \"Reset\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Selection menu skip krein\"\n\nmsgid \"Start search mode\"\nmsgstr \"Search mode shrou krein\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Search mode say nikalein\"\n\n#, fuzzy\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc ko apki rasai ki zrorat hai (hardware devices ki fe'hrst jaisa ke'h keyboard, mouse, etc)\"\n\n#, fuzzy\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"Labwc ko apnay hardware tak rasai kay liay aik ikhtiar ka intkh'ab krein\"\n\n#, fuzzy\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri ko apki rasai ki zrorat hai (hardware devices ki fe'hrst jaisa ke'h keyboard, mouse, etc)\"\n\n#, fuzzy\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"Niri ko apnay hardware tak rasai kay liay aik ikhtiar ka intkh'ab krein\"\n\n#, fuzzy\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"ESP kay liay mark/unmark krein\"\n\nmsgid \"Package group:\"\nmsgstr \"Package ka group:\"\n\n#, fuzzy\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstall say nikalein\"\n\nmsgid \"Reboot system\"\nmsgstr \"System reboot krein\"\n\n#, fuzzy\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"Post-installation tartebon kay liay Installation main chroot krein\"\n\nmsgid \"Installation completed\"\nmsgstr \"Installation makamil hoe\"\n\n#, fuzzy\nmsgid \"What would you like to do next?\"\nmsgstr \"Is say agay app kia krna chahay gay?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"Kis mode ki tarteb \\\"{}\\\" yahan karni hai, intkhab krein\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Decryption password kay galat isnaad ki file\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Galat password\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"Decryption password kay liay isnaad ki file\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"Kia aap user_credentials.json ki file ko encrypt krna chahtay hain?\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"Decryption password kay liay isnaad ki file\"\n\n#, fuzzy, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repositories: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Naya version mojood hai\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Password ke beghair login\"\n\nmsgid \"Second factor login\"\nmsgstr \"Second factor login\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\n#, fuzzy\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Kya aap Bluetooth ko tart'eb dena chahtay hain?\"\n\nmsgid \"Print service\"\nmsgstr \"Print service\"\n\nmsgid \"Would you like to configure the print service?\"\nmsgstr \"Kya aap print service ko tart'eb dena chahtay hain?\"\n\nmsgid \"Power management\"\nmsgstr \"Power management\"\n\nmsgid \"Authentication\"\nmsgstr \"Authentication\"\n\nmsgid \"Applications\"\nmsgstr \"Applications\"\n\nmsgid \"U2F login method: \"\nmsgstr \"U2F login ka tariqa: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Password ke beghair sudo: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Btrfs snapshot ki type: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"System ko sync kia ja rha hai...\"\n\n#, fuzzy\nmsgid \"Value cannot be empty\"\nmsgstr \"Value khali nahi ho sakti\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Snapshot ki type\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Snapshot ki type: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"U2F login ka setup\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"Koi U2F device nahi mile\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"U2F Login ka tariqa\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Password ke beghair sudo enable karna hai?\"\n\n#, fuzzy, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"U2f device set horha hai is user kay liye: {}\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Hosakta hai apko PIN darj karni pare aur phir apnay U2F device ko touch karna pare usko register karne kay liye\"\n\nmsgid \"Starting device modifications in \"\nmsgstr \"Device main tabdili shuru ho rhi hai \"\n\nmsgid \"No network connection found\"\nmsgstr \"Koi network connection nahi mila\"\n\nmsgid \"Would you like to connect to a Wifi?\"\nmsgstr \"Kya app Wifi say connect karna chahtay hain?\"\n\nmsgid \"No wifi interface found\"\nmsgstr \"Koi Wifi interface nahi mila\"\n\n#, fuzzy\nmsgid \"Select wifi network to connect to\"\nmsgstr \"Wifi network muntakh'b krein connect karne kay liye\"\n\nmsgid \"Scanning wifi networks...\"\nmsgstr \"Wifi networks scan ho rhe hain...\"\n\nmsgid \"No wifi networks found\"\nmsgstr \"Koi wifi network nahi mila\"\n\nmsgid \"Failed setting up wifi\"\nmsgstr \"Wifi setup karne main nakami hui\"\n\nmsgid \"Enter wifi password\"\nmsgstr \"Wifi ka password darj krein\"\n\nmsgid \"Ok\"\nmsgstr \"Theek hai\"\n\n#, fuzzy\nmsgid \"Removable\"\nmsgstr \"Hatnay layak\"\n\n#, fuzzy\nmsgid \"Install to removable location\"\nmsgstr \"Hatnay layak jaga par install krein\"\n\n#, fuzzy\nmsgid \"Will install to /EFI/BOOT/ (removable location)\"\nmsgstr \"/EFI/BOOT/ (hatnay layak jaga) par install kia jay ga\"\n\n#, fuzzy\nmsgid \"Will install to standard location with NVRAM entry\"\nmsgstr \"Mayari jaga par NVRAM entry kay sath install kia jay ga\"\n\n#, fuzzy\nmsgid \"Would you like to install the bootloader to the default removable media search location?\"\nmsgstr \"Kya aap bootloader ko default hatnay layak search location par install karna chahtay hain?\"\n\nmsgid \"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:\"\nmsgstr \"Yay bootloader ko /EFI/BOOT/BOOTX64.EFI (ya is jesi jaga) par install karta hai jo kay mufeed hai:\"\n\nmsgid \"USB drives or other portable external media.\"\nmsgstr \"USB drives ya dosray portable external media.\"\n\nmsgid \"Systems where you want the disk to be bootable on any computer.\"\nmsgstr \"Systems jahan par aap chahte hain kay disk kisi bhi computer par bootable ho.\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries.\"\nmsgstr \"Firmware jo NVRAM boot entries ko durust tor par support nahi karta.\"\n\nmsgid \"Will install to /EFI/BOOT/ (removable location, safe default)\"\nmsgstr \"/EFI/BOOT/ (hatnay ki qabil jaga, mehfooz default) par install hoga\"\n\nmsgid \"Will install to custom location with NVRAM entry\"\nmsgstr \"Apni marzi ki jaga par NVRAM entry kay sath install hoga\"\n\nmsgid \"Firmware that does not properly support NVRAM boot entries like most MSI motherboards,\"\nmsgstr \"Firmware jo NVRAM boot entries ko durust tor par support nahi karta jaise kay ziada tar MSI ke motherboards,\"\n\nmsgid \"most Apple Macs, many laptops...\"\nmsgstr \"zayadatar Apple Macs, bohat say laptops...\"\n\nmsgid \"Language\"\nmsgstr \"Zubaan\"\n\nmsgid \"Compression algorithm\"\nmsgstr \"Compression algorithm\"\n\nmsgid \"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Sirf packages jese base, sudo, linux, linux-firmware, efibootmgr aur optional profile packages install hongay.\"\n\nmsgid \"Select zram compression algorithm:\"\nmsgstr \"Zram compression algorithm ko select krein:\"\n\nmsgid \"Use Network Manager (default backend)\"\nmsgstr \"Network Manager istmal krein (default backend)\"\n\nmsgid \"Use Network Manager (iwd backend)\"\nmsgstr \"Network Manager istmal krein (iwd backend)\"\n\n#~ msgid \"\"\n#~ \"{}\\n\"\n#~ \"Contains queued partitions, this will remove those, are you sure?\"\n#~ msgstr \"\"\n#~ \"{}\\n\"\n#~ \"Qatar main lagi partitions hein, is say wo khatam ho jay gi, aap pur yaqeen hein?\"\n"
  },
  {
    "path": "archinstall/locales/uz/LC_MESSAGES/base.po",
    "content": "# O'zbek tili tarjimasi - Arch Install\n# Copyright (C) 2025 Arch Install Contributors\n# This file is distributed under the same license as the archinstall package.\n# Muhammadyoqub <ymuhammadyoqub2007@gmail.com>, 2025.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: archinstall\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2025-10-07 12:00+0500\\n\"\n\"PO-Revision-Date: 2025-10-07 12:00+0500\\n\"\n\"Last-Translator: Muhammadyoqub <ymuhammadyoqub2007@gmail.com>\\n\"\n\"Language-Team: Uzbek\\n\"\n\"Language: uz\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] Log fayl bu yerda yaratildi: {} {}\"\n\n#, fuzzy\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Iltimos, ushbu muammo (va fayl) haqida https://github.com/archlinux/archinstall/issues manziliga xabar bering\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"Haqiqatan ham to'xtatmoqchimisiz?\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"Tekshirish uchun yana bir marta kiriting: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"Zram'da swap'dan foydalanmoqchimisiz?\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"O'rnatish uchun host nomini kiriting: \"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"Sudo imtiyozlariga ega superuser uchun foydalanuvchi nomi: \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"Qo'shimcha foydalanuvchilar (kerak bo'lmasa, bo'sh qoldiring): \"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"Ushbu foydalanuvchi superuser (sudoer) bo'lishi kerakmi?\"\n\nmsgid \"Select a timezone\"\nmsgstr \"Vaqt mintaqasini tanlang\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"Systemd-boot o'rniga GRUB bootloader'idan foydalanmoqchimisiz?\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"Bootloader'ni tanlang\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"Audio serverni tanlang\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"Faqat base, base-devel, linux, linux-firmware, efibootmgr va ixtiyoriy profil paketlari o'rnatiladi.\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"Agar Firefox yoki Chromium kabi veb-brauzer kerak bo'lsa, uni keyingi qadamda belgilashingiz mumkin.\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"Qo'shimcha paketlarni probel bilan ajratib yozing (o'tkazib yuborish uchun bo'sh qoldiring): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"ISO tarmoq konfiguratsiyasini o'rnatishga nusxalash\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager'dan foydalanish (GNOME va KDE'da internetni grafik interfeysda sozlash uchun zarur)\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"Sozlash uchun bitta tarmoq interfeysini tanlang\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"\\\"{}\\\" uchun qaysi rejimni sozlashni tanlang yoki standart \\\"{}\\\" rejimini ishlatish uchun o'tkazib yuboring\"\n\n#, python-brace-format\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"{} uchun IP va quyi tarmoqni kiriting (masalan: 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"Shlyuz (router) IP manzilini kiriting yoki bo'sh qoldiring: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"DNS serverlarni kiriting (probel bilan ajrating, kerakmas bo'lsa bo'sh qoldiring): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"Asosiy bo'lim uchun fayl tizimini tanlang\"\n\nmsgid \"Current partition layout\"\nmsgstr \"Joriy bo'limlar sxemasi\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"Nima qilishni tanlang\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"Bo'lim uchun kerakli fayl tizimi turini kiriting\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"Boshlang'ich joylashuvni kiriting (birliklar: s, GB, %, va hk.; standart: {}): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"Tugash joylashuvini kiriting (birliklar: s, GB, %, va hk.; masalan: {}): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} navbatga qo'yilgan bo'limlarni o'z ichiga oladi. Bu amallar bekor qilinadi, ishonchingiz komilmi?\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"O'chiriladigan bo'limlarni indeks bo'yicha tanlang\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Qaysi bo'limni qayerga biriktirishni indeks bo'yicha tanlang\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * Bo'limlarni biriktirish nuqtalari o'rnatilayotgan tizimga nisbatan olinadi, masalan, /boot.\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"Bo'limni biriktirish nuqtasini tanlang (o'chirish uchun bo'sh qoldiring): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Formatlanadigan bo'limni tanlang\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Shifrlanadigan bo'limni tanlang\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Yuklanuvchi (bootable) deb belgilash uchun bo'limni tanlang\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Qaysi bo'limga fayl tizimi o'rnatishni tanlang\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"Bo'lim uchun kerakli fayl tizimi turini kiriting: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall tili\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"Barcha tanlangan disklarni tozalash va tavsiya etilgan standart bo'limlar sxemasini qo'llash\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"Har bir disk bilan nima qilishni tanlang (so'ngra bo'limlardan foydalanish)\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"Tanlangan blokli qurilmalar bilan nima qilmoqchi ekaningizni tanlang\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"Bu oldindan dasturlashtirilgan profillar ro'yxati. Ular ish stoli muhitlari kabi narsalarni o'rnatishni osonlashtirishi mumkin\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"Klaviatura tartibini tanlang\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"Paketlarni yuklab olish uchun hududlardan birini tanlang\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"Foydalanish va sozlash uchun bir yoki bir nechta qattiq diskni tanlang\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"AMD qurilmangiz bilan eng yaxshi moslik uchun to'liq ochiq kodli yoki AMD/ATI variantlaridan birini tanlashingiz tavsiya etiladi.\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"Intel qurilmangiz bilan eng yaxshi moslik uchun to'liq ochiq kodli yoki Intel variantlaridan birini tanlashingiz tavsiya etiladi.\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"Nvidia qurilmangiz bilan eng yaxshi moslik uchun Nvidia'ning mulkiy drayveridan foydalanishingiz tavsiya etiladi.\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Grafik drayverni tanlang yoki barcha ochiq kodli drayverlarni o'rnatish uchun bo'sh qoldiring\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"Barcha ochiq kodli (standart)\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"Qaysi yadrolardan foydalanishni tanlang yoki standart \\\"{}\\\" uchun bo'sh qoldiring\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"Lokal tilini tanlang\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"Lokal kodlashni tanlang\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"Quyida ko'rsatilgan qiymatlardan birini tanlang: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"Quyidagi variantlardan birini yoki bir nechtasini tanlang: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"Bo'lim qo'shilmoqda...\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"Davom etish uchun to'g'ri fayl tizimi turini (fs-type) kiritishingiz kerak. Mavjud turlar uchun `man parted` buyrug'iga qarang.\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"Xato: \\\"{}\\\" URL manzilidagi profillar ro'yxatini olishda xatolik yuz berdi:\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"Xato: \\\"{}\\\" natijasini JSON formatida o'qib bo'lmadi:\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"Klaviatura tartibi\"\n\nmsgid \"Mirror region\"\nmsgstr \"Ko'zgu hududi\"\n\nmsgid \"Locale language\"\nmsgstr \"Lokal tili\"\n\nmsgid \"Locale encoding\"\nmsgstr \"Lokal kodlash\"\n\nmsgid \"Drive(s)\"\nmsgstr \"Disk(lar)\"\n\nmsgid \"Disk layout\"\nmsgstr \"Disk sxemasi\"\n\nmsgid \"Encryption password\"\nmsgstr \"Shifrlash paroli\"\n\nmsgid \"Swap\"\nmsgstr \"Swap\"\n\nmsgid \"Bootloader\"\nmsgstr \"Bootloader\"\n\nmsgid \"Root password\"\nmsgstr \"Root paroli\"\n\nmsgid \"Superuser account\"\nmsgstr \"Superuser hisobi\"\n\nmsgid \"User account\"\nmsgstr \"Foydalanuvchi hisobi\"\n\nmsgid \"Profile\"\nmsgstr \"Profil\"\n\nmsgid \"Audio\"\nmsgstr \"Audio\"\n\nmsgid \"Kernels\"\nmsgstr \"Yadrolar\"\n\nmsgid \"Additional packages\"\nmsgstr \"Qo'shimcha paketlar\"\n\nmsgid \"Network configuration\"\nmsgstr \"Tarmoq konfiguratsiyasi\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"Vaqtni avtomatik sinxronlash (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"O'rnatish ({} ta konfiguratsiya yetishmayapti)\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"Siz qattiq disk tanlashni o'tkazib yubordingiz\\n\"\n\"va {} manziliga biriktirilgan mavjud disk sozlamalaridan foydalanasiz (eksperimental)\\n\"\n\"DIQQAT: Archinstall bu sozlamaning mosligini tekshirmaydi.\\n\"\n\"Davom etishni xohlaysizmi?\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"Mavjud bo'limdan qayta foydalanish: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"Yangi bo'lim yaratish\"\n\nmsgid \"Delete a partition\"\nmsgstr \"Bo'limni o'chirish\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"Barcha bo'limlarni tozalash/o'chirish\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"Bo'lim uchun biriktirish nuqtasini belgilash\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"Bo'limni formatlash uchun belgilash/bekor qilish (ma'lumotlarni o'chiradi)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"Bo'limni shifrlangan deb belgilash/bekor qilish\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"Bo'limni yuklanuvchi deb belgilash/bekor qilish (/boot uchun avtomatik)\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"Bo'lim uchun fayl tizimini o'rnatish\"\n\nmsgid \"Abort\"\nmsgstr \"To'xtatish\"\n\nmsgid \"Hostname\"\nmsgstr \"Host nomi\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"Sozlanmagan, qo'lda sozlanmaguncha mavjud emas\"\n\nmsgid \"Timezone\"\nmsgstr \"Vaqt mintaqasi\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"Quyidagi parametrlarni o'rnatish/o'zgartirish\"\n\nmsgid \"Install\"\nmsgstr \"O'rnatish\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"O'tkazib yuborish uchun ESC tugmasini bosing\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"Bo'limlar sxemasini taklif qilish\"\n\nmsgid \"Enter a password: \"\nmsgstr \"Parolni kiriting: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"{} uchun shifrlash parolini kiriting\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"Diskni shifrlash parolini kiriting (shifrlash kerak bo'lmasa, bo'sh qoldiring): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"Sudo imtiyozlariga ega superuser yarating: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"Root parolini kiriting (root hisobini o'chirish uchun bo'sh qoldiring): \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"\\\"{}\\\" foydalanuvchisining paroli: \"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"Qo'shimcha paketlar mavjudligi tekshirilmoqda (bu bir necha soniya vaqt olishi mumkin)\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"Standart vaqt serverlari yordamida vaqtni avtomatik sinxronlashdan (NTP) foydalanmoqchimisiz?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"NTP to'g'ri ishlashi uchun qurilma vaqtini va boshqa qo'shimcha sozlamalarni to'g'rilash talab qilinishi mumkin.\\n\"\n\"Batafsil ma'lumot uchun Arch Wiki'ga qarang\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"Qo'shimcha foydalanuvchi yaratish uchun nom kiriting (o'tkazib yuborish uchun bo'sh qoldiring): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"O'tkazib yuborish uchun ESC tugmasini bosing\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" Ro'yxatdan obyektni tanlang va u uchun mavjud amallardan birini bajaring\"\n\nmsgid \"Cancel\"\nmsgstr \"Bekor qilish\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"Tasdiqlash va chiqish\"\n\nmsgid \"Add\"\nmsgstr \"Qo'shish\"\n\nmsgid \"Copy\"\nmsgstr \"Nusxalash\"\n\nmsgid \"Edit\"\nmsgstr \"Tahrirlash\"\n\nmsgid \"Delete\"\nmsgstr \"O'chirish\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"'{}' uchun amalni tanlang\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"Yangi kalitga nusxalash:\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"Noma'lum tarmoq kartasi turi: {}. Mumkin bo'lgan qiymatlar: {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"Siz tanlagan konfiguratsiya:\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman allaqachon ishlamoqda. To'xtashi uchun maksimal 10 daqiqa kutiladi.\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"Oldindan mavjud bo'lgan pacman qulfi olib tashlanmadi. Archinstall'dan foydalanishdan oldin barcha pacman sessiyalarini tozalang.\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"Qo'shimcha (ixtiyoriy) repozitoriylardan qaysilarini yoqishni tanlang\"\n\nmsgid \"Add a user\"\nmsgstr \"Foydalanuvchi qo'shish\"\n\nmsgid \"Change password\"\nmsgstr \"Parolni o'zgartirish\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"Foydalanuvchi maqomini o'zgartirish\"\n\nmsgid \"Delete User\"\nmsgstr \"Foydalanuvchini o'chirish\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"Yangi foydalanuvchini belgilash\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"Foydalanuvchi nomi: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"{} superuser (sudoer) bo'lishi kerakmi?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"Sudo imtiyoziga ega foydalanuvchilarni belgilang: \"\n\nmsgid \"No network configuration\"\nmsgstr \"Tarmoq konfiguratsiyasi yo'q\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"Btrfs bo'limida kerakli subvolume'larni o'rnatish\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"Qaysi bo'limda subvolume'lar o'rnatishni tanlang\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"Joriy bo'lim uchun btrfs subvolume'larini boshqarish\"\n\nmsgid \"No configuration\"\nmsgstr \"Konfiguratsiya yo'q\"\n\nmsgid \"Save user configuration\"\nmsgstr \"Foydalanuvchi konfiguratsiyasini saqlash\"\n\nmsgid \"Save user credentials\"\nmsgstr \"Foydalanuvchi hisob ma'lumotlarini saqlash\"\n\nmsgid \"Save disk layout\"\nmsgstr \"Disk sxemasini saqlash\"\n\nmsgid \"Save all\"\nmsgstr \"Barchasini saqlash\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"Qaysi konfiguratsiyani saqlashni tanlang\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"Konfiguratsiya(lar) saqlanadigan katalogni kiriting: \"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"Yaroqsiz katalog: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"Siz kiritgan parol zaif ko'rinadi,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"shunda ham uni ishlatmoqchimisiz?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"Ixtiyoriy repozitoriylar\"\n\nmsgid \"Save configuration\"\nmsgstr \"Konfiguratsiyani saqlash\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"Yetishmayotgan konfiguratsiyalar:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"Root paroli yoki kamida 1 ta superuser ko'rsatilishi shart\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"Superuser hisoblarini boshqarish: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"Oddiy foydalanuvchi hisoblarini boshqarish: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" Subvolume :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" biriktirildi: {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" {} parametri bilan\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" Yangi subvolume uchun kerakli qiymatlarni to'ldiring \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"Subvolume nomi \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"Subvolume biriktirish nuqtasi\"\n\nmsgid \"Subvolume options\"\nmsgstr \"Subvolume parametrlari\"\n\nmsgid \"Save\"\nmsgstr \"Saqlash\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"Subvolume nomi:\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"Biriktirish nuqtasini tanlang:\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"Kerakli subvolume parametrlarini tanlang \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"Sudo imtiyoziga ega foydalanuvchilarni nomi bo'yicha belgilang: \"\n\n#, python-brace-format\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] Log fayl bu yerda yaratildi: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"BTRFS subvolume'larini standart struktura bilan ishlatmoqchimisiz?\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"BTRFS siqishdan foydalanmoqchimisiz?\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"/home uchun alohida bo'lim yaratmoqchimisiz?\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"Tanlangan disklar avtomatik taklif uchun minimal sig'imga ega emas\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"/home bo'limi uchun minimal sig'im: {}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Arch Linux bo'limi uchun minimal sig'im: {}GB\"\n\nmsgid \"Continue\"\nmsgstr \"Davom etish\"\n\nmsgid \"yes\"\nmsgstr \"ha\"\n\nmsgid \"no\"\nmsgstr \"yo'q\"\n\nmsgid \"set: {}\"\nmsgstr \"o'rnatildi: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"Qo'lda konfiguratsiya sozlamasi ro'yxat shaklida bo'lishi kerak\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"Qo'lda sozlash uchun interfeys ko'rsatilmagan\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"Avtomatik DHCP'siz tarmoq kartasini qo'lda sozlash uchun IP manzil talab qilinadi\"\n\nmsgid \"Add interface\"\nmsgstr \"Interfeys qo'shish\"\n\nmsgid \"Edit interface\"\nmsgstr \"Interfeysni tahrirlash\"\n\nmsgid \"Delete interface\"\nmsgstr \"Interfeysni o'chirish\"\n\nmsgid \"Select interface to add\"\nmsgstr \"Qo'shish uchun interfeysni tanlang\"\n\nmsgid \"Manual configuration\"\nmsgstr \"Qo'lda sozlash\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"Bo'limni siqilgan deb belgilash/bekor qilish (faqat btrfs)\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"Siz kiritgan parol zaif ko'rinadi. Shunda ham uni ishlatmoqchimisiz?\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"Ish stoli muhitlari va oyna menejerlari tanlovi (masalan, GNOME, KDE, Sway).\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"Kerakli ish stoli muhitini tanlang\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"Arch Linux'ni o'z xohishingizga ko'ra moslashtirish imkonini beruvchi asosiy o'rnatish.\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"O'rnatish va yoqish uchun turli server paketlari tanlovi (masalan, httpd, nginx, mariadb).\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"Qaysi serverlarni o'rnatishni tanlang, agar tanlanmasa, minimal o'rnatish amalga oshiriladi\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"Minimal tizim hamda Xorg va grafik drayverlarni o'rnatadi.\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"Davom etish uchun Enter tugmasini bosing.\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"Yangi yaratilgan tizimga chroot qilib, o'rnatishdan keyingi sozlamalarni bajarmoqchimisiz?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"Haqiqatan ham bu sozlamani bekor qilmoqchimisiz?\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"Foydalanish va sozlash uchun bir yoki bir nechta qattiq diskni tanlang\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"Joriy sozlamalarga kiritilgan har qanday o'zgartirish disk sxemasini bekor qiladi!\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Agar disk tanlovini o'zgartirsangiz, joriy disk sxemasi ham bekor qilinadi. Ishonchingiz komilmi?\"\n\nmsgid \"Save and exit\"\nmsgstr \"Saqlash va chiqish\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"navbatga qo'yilgan bo'limlarni o'z ichiga oladi. Bu amallar bekor qilinadi, ishonchingiz komilmi?\"\n\nmsgid \"No audio server\"\nmsgstr \"Audio server yo'q\"\n\nmsgid \"(default)\"\nmsgstr \"(standart)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"O'tkazib yuborish uchun ESC tugmasini bosing\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"\"\n\"Joriy tanlovni bekor qilish uchun CTRL+C tugmasini bosing\\n\"\n\"\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"Nusxalash:\"\n\nmsgid \"Edit: \"\nmsgstr \"Tahrirlash:\"\n\nmsgid \"Key: \"\nmsgstr \"Kalit:\"\n\nmsgid \"Edit {}: \"\nmsgstr \"{} tahrirlash:\"\n\nmsgid \"Add: \"\nmsgstr \"Qo'shish:\"\n\nmsgid \"Value: \"\nmsgstr \"Qiymat:\"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"Disk tanlash va bo'limlashni o'tkazib yuborib, /mnt manziliga biriktirilgan mavjud disk sozlamasidan foydalanishingiz mumkin (eksperimental)\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"Disklardan birini tanlang yoki o'tkazib yuborib, /mnt'dan standart sifatida foydalaning\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"Formatlash uchun qaysi bo'limlarni belgilashni tanlang:\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"Shifrlangan diskni ochish uchun HSM'dan foydalanish\"\n\nmsgid \"Device\"\nmsgstr \"Qurilma\"\n\nmsgid \"Size\"\nmsgstr \"Hajm\"\n\nmsgid \"Free space\"\nmsgstr \"Bo'sh joy\"\n\nmsgid \"Bus-type\"\nmsgstr \"Shina turi\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"Root paroli yoki sudo imtiyoziga ega kamida 1 ta foydalanuvchi ko'rsatilishi shart\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"Foydalanuvchi nomini kiriting (o'tkazib yuborish uchun bo'sh qoldiring): \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"Siz kiritgan foydalanuvchi nomi yaroqsiz. Qayta urining.\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"\\\"{}\\\" superuser (sudo) bo'lishi kerakmi?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"Qaysi bo'limlarni shifrlashni tanlang\"\n\nmsgid \"very weak\"\nmsgstr \"juda zaif\"\n\nmsgid \"weak\"\nmsgstr \"zaif\"\n\nmsgid \"moderate\"\nmsgstr \"o'rtacha\"\n\nmsgid \"strong\"\nmsgstr \"kuchli\"\n\nmsgid \"Add subvolume\"\nmsgstr \"Subvolume qo'shish\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"Subvolume'ni tahrirlash\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"Subvolume'ni o'chirish\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"{} ta interfeys sozlandi\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"Bu parametr o'rnatish vaqtida bir vaqtning o'zida nechta yuklab olish mumkinligini belgilaydi\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"Parallel yuklab olishlar sonini kiriting.\\n\"\n\" (1 dan {} gacha qiymat kiriting)\\n\"\n\"Eslatma:\"\n\n#, fuzzy\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - Maksimal qiymat: {} ({} ta parallel yuklab olishga, bir vaqtda {} ta yuklab olishga ruxsat beradi)\"\n\n#, fuzzy\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - Minimal qiymat: 1 (1 ta parallel yuklab olishga, bir vaqtda 2 ta yuklab olishga ruxsat beradi)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - O'chirish/Standart: 0 (Parallel yuklab olishni o'chiradi, bir vaqtda faqat 1 ta yuklab olishga ruxsat beradi)\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"Yaroqsiz qiymat! Qayta urining [1 dan {max_downloads} gacha yoki o'chirish uchun 0]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"Parallel yuklab olishlar\"\n\nmsgid \"ESC to skip\"\nmsgstr \"ESC - O'tkazib yuborish\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"CTRL+C - Bekor qilish\"\n\nmsgid \"TAB to select\"\nmsgstr \"TAB - Tanlash\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[Standart qiymat: 0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"Ushbu tarjimadan foydalanish uchun tilni qo'llab-quvvatlaydigan shriftni qo'lda o'rnating.\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"Shrift {} sifatida saqlanishi kerak\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall'ni ishga tushirish uchun root huquqlari talab qilinadi. Batafsil ma'lumot uchun --help'ga qarang.\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"Bajarish rejimini tanlang\"\n\n#, python-brace-format\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"Ko'rsatilgan URL'dan profilni olib bo'lmadi: {}\"\n\n#, python-brace-format\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"Profillar noyob nomga ega bo'lishi kerak, lekin bir xil nomli profillar topildi: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"Foydalanish va sozlash uchun bir yoki bir nechta qurilmani tanlang\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"Agar qurilma tanlovini o'zgartirsangiz, joriy disk sxemasi ham bekor qilinadi. Ishonchingiz komilmi?\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"Mavjud bo'limlar\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"Bo'limlash variantini tanlang\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"Biriktirilgan qurilmalarning root katalogini kiriting: \"\n\n#, python-brace-format\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"/home bo'limi uchun minimal sig'im: {}GiB\\n\"\n\n#, python-brace-format\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Arch Linux bo'limi uchun minimal sig'im: {}GiB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"Bu oldindan dasturlashtirilgan profiles_bck ro'yxati. Ular ish stoli muhitlari kabi narsalarni o'rnatishni osonlashtirishi mumkin\"\n\nmsgid \"Current profile selection\"\nmsgstr \"Joriy profil tanlovi\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"Barcha yangi qo'shilgan bo'limlarni o'chirish\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"Biriktirish nuqtasini belgilash\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"Formatlash uchun belgilash/bekor qilish (ma'lumotlarni o'chiradi)\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"Yuklanuvchi deb belgilash/bekor qilish\"\n\nmsgid \"Change filesystem\"\nmsgstr \"Fayl tizimini o'zgartirish\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"Siqilgan deb belgilash/bekor qilish\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"Subvolume'larni sozlash\"\n\nmsgid \"Delete partition\"\nmsgstr \"Bo'limni o'chirish\"\n\nmsgid \"Partition\"\nmsgstr \"Bo'lim\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"Bu bo'lim hozirda shifrlangan. Uni formatlash uchun fayl tizimi ko'rsatilishi kerak.\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"Bo'limlarni biriktirish nuqtalari o'rnatilayotgan tizimga nisbatan olinadi, masalan, /boot.\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"Agar /boot biriktirish nuqtasi o'rnatilsa, bu bo'lim avtomatik tarzda yuklanuvchi deb belgilanadi.\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"Biriktirish nuqtasi: \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"{} qurilmasidagi joriy bo'sh sektorlar:\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"Jami sektorlar: {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"Boshlang'ich sektorni kiriting (standart: {}): \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"Bo'limning tugash sektorini kiriting (foizda yoki blok raqami, standart: {}): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"Bu barcha yangi qo'shilgan bo'limlarni o'chirib tashlaydi, davom etasizmi?\"\n\n#, python-brace-format\nmsgid \"Partition management: {}\"\nmsgstr \"Bo'limlarni boshqarish: {}\"\n\n#, python-brace-format\nmsgid \"Total length: {}\"\nmsgstr \"Umumiy uzunlik: {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"Shifrlash turi\"\n\nmsgid \"Iteration time\"\nmsgstr \"Iteratsiya vaqti\"\n\nmsgid \"Enter iteration time for LUKS encryption (in milliseconds)\"\nmsgstr \"LUKS shifrlash uchun iteratsiya vaqtini kiriting (millisekundda)\"\n\nmsgid \"Higher values increase security but slow down boot time\"\nmsgstr \"Yuqori qiymatlar xavfsizlikni oshiradi, lekin tizim yuklanishini sekinlashtiradi\"\n\nmsgid \"Default: 10000ms, Recommended range: 1000-60000\"\nmsgstr \"Standart: 10000ms, Tavsiya etilgan oraliq: 1000-60000\"\n\nmsgid \"Iteration time cannot be empty\"\nmsgstr \"Iteratsiya vaqti bo'sh bo'lishi mumkin emas\"\n\nmsgid \"Iteration time must be at least 100ms\"\nmsgstr \"Iteratsiya vaqti kamida 100ms bo'lishi kerak\"\n\nmsgid \"Iteration time must be at most 120000ms\"\nmsgstr \"Iteratsiya vaqti ko'pi bilan 120000ms bo'lishi kerak\"\n\nmsgid \"Please enter a valid number\"\nmsgstr \"Iltimos, yaroqli raqam kiriting\"\n\nmsgid \"Partitions\"\nmsgstr \"Bo'limlar\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"HSM qurilmalari mavjud emas\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"Shifrlanadigan bo'limlar\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"Diskni shifrlash variantini tanlang\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"HSM uchun FIDO2 qurilmasini tanlang\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"Tavsiya etilgan standart bo'limlar sxemasidan foydalanish\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"Qo'lda bo'limlash\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"Oldindan biriktirilgan konfiguratsiya\"\n\nmsgid \"Unknown\"\nmsgstr \"Noma'lum\"\n\nmsgid \"Partition encryption\"\nmsgstr \"Bo'limni shifrlash\"\n\n#, python-brace-format\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! {} formatlanmoqda \"\n\n#, fuzzy\nmsgid \"← Back\"\nmsgstr \"Orqaga\"\n\nmsgid \"Disk encryption\"\nmsgstr \"Diskni shifrlash\"\n\nmsgid \"Configuration\"\nmsgstr \"Konfiguratsiya\"\n\nmsgid \"Password\"\nmsgstr \"Parol\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"Barcha sozlamalar bekor qilinadi, ishonchingiz komilmi?\"\n\nmsgid \"Back\"\nmsgstr \"Orqaga\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"Tanlangan profillar uchun qaysi greeter'ni o'rnatishni tanlang: {}\"\n\n#, python-brace-format\nmsgid \"Environment type: {}\"\nmsgstr \"Muhit turi: {}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Nvidia'ning mulkiy drayveri Sway tomonidan qo'llab-quvvatlanmaydi. Muammolarga duch kelishingiz mumkin. Shunda ham davom etasizmi?\"\n\nmsgid \"Installed packages\"\nmsgstr \"O'rnatilgan paketlar\"\n\nmsgid \"Add profile\"\nmsgstr \"Profil qo'shish\"\n\nmsgid \"Edit profile\"\nmsgstr \"Profilni tahrirlash\"\n\nmsgid \"Delete profile\"\nmsgstr \"Profilni o'chirish\"\n\nmsgid \"Profile name: \"\nmsgstr \"Profil nomi: \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"Siz kiritgan profil nomi allaqachon mavjud. Qayta urining.\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"Bu profil bilan o'rnatiladigan paketlar (probel bilan ajrating, bo'sh qoldiring): \"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"Bu profil bilan yoqiladigan xizmatlar (probel bilan ajrating, bo'sh qoldiring): \"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"Bu profil o'rnatish uchun yoqilsinmi?\"\n\nmsgid \"Create your own\"\nmsgstr \"O'zingiz yaratish\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"Grafik drayverni tanlang yoki barcha ochiq kodli drayverlarni o'rnatish uchun bo'sh qoldiring\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway sizning seat'ingizga (klaviatura, sichqoncha kabi qurilmalar to'plami) kirish huquqiga muhtoj\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Sway'ga qurilmalaringizga kirish huquqini berish variantini tanlang\"\n\nmsgid \"Graphics driver\"\nmsgstr \"Grafik drayver\"\n\nmsgid \"Greeter\"\nmsgstr \"Greeter\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"Qaysi greeter'ni o'rnatishni tanlang\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"Bu oldindan dasturlashtirilgan standart profillar (default_profiles) ro'yxati\"\n\nmsgid \"Disk configuration\"\nmsgstr \"Disk konfiguratsiyasi\"\n\nmsgid \"Profiles\"\nmsgstr \"Profillar\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"Konfiguratsiya fayllarini saqlash uchun mumkin bo'lgan kataloglar qidirilmoqda...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"Konfiguratsiya fayllarini saqlash uchun katalog(lar)ni tanlang\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"Maxsus ko'zgu qo'shish\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"Maxsus ko'zguni o'zgartirish\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"Maxsus ko'zguni o'chirish\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"Nomini kiriting (o'tkazib yuborish uchun bo'sh qoldiring): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"URL manzilini kiriting (o'tkazib yuborish uchun bo'sh qoldiring): \"\n\nmsgid \"Select signature check option\"\nmsgstr \"Imzo tekshirish variantini tanlang\"\n\nmsgid \"Select signature option\"\nmsgstr \"Imzo variantini tanlang\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"Maxsus ko'zgular\"\n\nmsgid \"Defined\"\nmsgstr \"Belgilangan\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"Foydalanuvchi konfiguratsiyasini (disk sxemasi bilan birga) saqlash\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"Konfiguratsiya(lar) saqlanadigan katalogni kiriting (TAB orqali to'ldirish mavjud)\\n\"\n\"Saqlash katalogi: \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"{} ta konfiguratsiya faylini quyidagi manzilda saqlashni xohlaysizmi?\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"{} ta konfiguratsiya fayli {} manziliga saqlanmoqda\"\n\nmsgid \"Mirrors\"\nmsgstr \"Ko'zgular\"\n\nmsgid \"Mirror regions\"\nmsgstr \"Ko'zgu hududlari\"\n\n#, fuzzy\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - Maksimal qiymat: {} ({} ta parallel yuklab olishga, bir vaqtda {max_downloads+1} ta yuklab olishga ruxsat beradi)\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"Yaroqsiz qiymat! Qayta urining [1 dan {} gacha yoki o'chirish uchun 0]\"\n\nmsgid \"Locales\"\nmsgstr \"Lokallar\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"NetworkManager'dan foydalanish (GNOME va KDE'da internetni grafik interfeysda sozlash uchun zarur)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"Jami: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"Barcha kiritilgan qiymatlar o'lchov birligi bilan tugashi mumkin: B, KB, KiB, MB, MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"Agar o'lchov birligi ko'rsatilmasa, qiymat sektorlarda hisoblanadi\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"Boshlanishni kiriting (standart: {} sektori): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"Tugashni kiriting (standart: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"Fido2 qurilmalarini aniqlab bo'lmadi. Libfido2 o'rnatilganmi?\"\n\nmsgid \"Path\"\nmsgstr \"Yo'l\"\n\nmsgid \"Manufacturer\"\nmsgstr \"Ishlab chiqaruvchi\"\n\nmsgid \"Product\"\nmsgstr \"Mahsulot\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"Yaroqsiz konfiguratsiya: {error}\"\n\nmsgid \"Type\"\nmsgstr \"Tur\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"Bu parametr paketlarni yuklab olish vaqtida bir vaqtning o'zida nechta yuklab olish mumkinligini belgilaydi\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"Parallel yuklab olishlar sonini kiriting.\\n\"\n\"\\n\"\n\"Eslatma:\\n\"\n\n#, python-brace-format\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \" - Tavsiya etilgan maksimal qiymat: {} (Bir vaqtda {} ta parallel yuklab olishga ruxsat beradi)\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - O'chirish/Standart: 0 (Parallel yuklab olishni o'chiradi, bir vaqtda faqat 1 ta yuklab olishga ruxsat beradi)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"Yaroqsiz qiymat! Qayta urining [yoki o'chirish uchun 0]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland sizning seat'ingizga (klaviatura, sichqoncha kabi qurilmalar to'plami) kirish huquqiga muhtoj\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Hyprland'ga qurilmalaringizga kirish huquqini berish variantini tanlang\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"Barcha kiritilgan qiymatlar o'lchov birligi bilan tugashi mumkin: %, B, KB, KiB, MB, MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"Yagona yadro obrazlaridan (UKI) foydalanmoqchimisiz?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"Yagona yadro obrazlari (UKI)\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"Vaqt sinxronizatsiyasi (timedatectl show) tugashi kutilmoqda.\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Vaqt sinxronizatsiyasi tugamayapti. Vaqtinchalik yechimlar uchun hujjatlarni ko'rib chiqing: https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"Avtomatik vaqt sinxronizatsiyasini kutish o'tkazib yuborilmoqda (agar o'rnatish paytida vaqt noto'g'ri bo'lsa, bu muammolarga olib kelishi mumkin)\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"Arch Linux kalitlar zanjiri (keyring) sinxronizatsiyasi tugashi kutilmoqda.\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"Tanlangan profillar: \"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"Vaqt sinxronizatsiyasi tugamayapti. Vaqtinchalik yechimlar uchun hujjatlarni ko'rib chiqing: https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"nodatacow deb belgilash/bekor qilish\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"Siqishdan foydalanmoqchimisiz yoki CoW'ni o'chirmoqchimisiz?\"\n\nmsgid \"Use compression\"\nmsgstr \"Siqishdan foydalanish\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"Copy-on-Write'ni o'chirish\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"Ish stoli muhitlari va oyna menejerlari tanlovi (masalan, GNOME, KDE Plasma, Sway).\"\n\n#, python-brace-format\nmsgid \"Configuration type: {}\"\nmsgstr \"Konfiguratsiya turi: {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM konfiguratsiya turi\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"2 dan ortiq bo'limga ega LVM disk shifrlash hozirda qo'llab-quvvatlanmaydi\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"NetworkManager'dan foydalanish (GNOME va KDE Plasma'da internetni grafik interfeysda sozlash uchun zarur)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"LVM variantini tanlang\"\n\nmsgid \"Partitioning\"\nmsgstr \"Bo'limlash\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"Mantiqiy hajmlarni boshqarish (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"Fizik hajmlar\"\n\nmsgid \"Volumes\"\nmsgstr \"Hajmlar\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM hajmlari\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"Shifrlanadigan LVM hajmlari\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"Qaysi LVM hajmlarini shifrlashni tanlang\"\n\nmsgid \"Default layout\"\nmsgstr \"Standart sxema\"\n\nmsgid \"No Encryption\"\nmsgstr \"Shifrlashsiz\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LUKS ustida LVM\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LVM ustida LUKS\"\n\nmsgid \"Yes\"\nmsgstr \"Ha\"\n\nmsgid \"No\"\nmsgstr \"Yo'q\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall yordami\"\n\nmsgid \" (default)\"\nmsgstr \" (standart)\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"Yordam uchun Ctrl+h tugmasini bosing\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"Sway'ga qurilmalaringizga kirish huquqini berish variantini tanlang\"\n\nmsgid \"Seat access\"\nmsgstr \"Seat'ga kirish\"\n\nmsgid \"Mountpoint\"\nmsgstr \"Biriktirish nuqtasi\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"Diskni shifrlash parolini kiriting (shifrlash kerak bo'lmasa, bo'sh qoldiring)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"Diskni shifrlash paroli\"\n\nmsgid \"Partition - New\"\nmsgstr \"Bo'lim - Yangi\"\n\nmsgid \"Filesystem\"\nmsgstr \"Fayl tizimi\"\n\nmsgid \"Invalid size\"\nmsgstr \"Yaroqsiz hajm\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"Boshlanish (standart: {} sektor): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"Tugash (standart: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"Subvolume nomi\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"Disk konfiguratsiyasi turi\"\n\nmsgid \"Root mount directory\"\nmsgstr \"Root biriktirish katalogi\"\n\nmsgid \"Select language\"\nmsgstr \"Tilni tanlang\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"Qo'shimcha paketlarni probel bilan ajratib yozing (o'tkazib yuborish uchun bo'sh qoldiring)\"\n\nmsgid \"Invalid download number\"\nmsgstr \"Yaroqsiz yuklab olishlar soni\"\n\nmsgid \"Number downloads\"\nmsgstr \"Yuklab olishlar soni\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"Siz kiritgan foydalanuvchi nomi yaroqsiz\"\n\nmsgid \"Username\"\nmsgstr \"Foydalanuvchi nomi\"\n\n#, python-brace-format\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"\\\"{}\\\" superuser (sudo) bo'lishi kerakmi?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"Interfeyslar\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"IP-config rejimida yaroqli IP manzil kiritishingiz kerak\"\n\nmsgid \"Modes\"\nmsgstr \"Rejimlar\"\n\nmsgid \"IP address\"\nmsgstr \"IP manzil\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"Shlyuz (router) IP manzilini kiriting (bo'sh qoldiring)\"\n\nmsgid \"Gateway address\"\nmsgstr \"Shlyuz manzili\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"DNS serverlarni probel bilan ajratib kiriting (bo'sh qoldiring)\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS serverlar\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"Interfeyslarni sozlash\"\n\nmsgid \"Kernel\"\nmsgstr \"Yadro\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"UEFI aniqlanmadi, shu sababli ba'zi parametrlar o'chirildi\"\n\nmsgid \"Info\"\nmsgstr \"Ma'lumot\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Nvidia'ning mulkiy drayveri Sway tomonidan qo'llab-quvvatlanmaydi.\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Muammolarga duch kelishingiz mumkin. Shunda ham davom etasizmi?\"\n\nmsgid \"Main profile\"\nmsgstr \"Asosiy profil\"\n\nmsgid \"Confirm password\"\nmsgstr \"Parolni tasdiqlang\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"Parollar mos kelmadi, iltimos, qayta urining\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"Yaroqsiz katalog\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"Davom etishni xohlaysizmi?\"\n\nmsgid \"Directory\"\nmsgstr \"Katalog\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"Konfiguratsiya(lar) saqlanadigan katalogni kiriting (TAB orqali to'ldirish mavjud)\"\n\n#, python-brace-format\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"Konfiguratsiya fayl(lar)ini {} manzilida saqlashni xohlaysizmi?\"\n\nmsgid \"Enabled\"\nmsgstr \"Yoqilgan\"\n\nmsgid \"Disabled\"\nmsgstr \"O'chirilgan\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"Iltimos, ushbu muammo (va fayl) haqida https://github.com/archlinux/archinstall/issues manziliga xabar bering\"\n\nmsgid \"Mirror name\"\nmsgstr \"Ko'zgu nomi\"\n\nmsgid \"Url\"\nmsgstr \"URL\"\n\nmsgid \"Select signature check\"\nmsgstr \"Imzo tekshirishni tanlang\"\n\nmsgid \"Select execution mode\"\nmsgstr \"Bajarish rejimini tanlang\"\n\nmsgid \"Press ? for help\"\nmsgstr \"Yordam uchun ? tugmasini bosing\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"Hyprland'ga qurilmalaringizga kirish huquqini berish variantini tanlang\"\n\nmsgid \"Additional repositories\"\nmsgstr \"Qo'shimcha repozitoriylar\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"Zram'da swap\"\n\nmsgid \"Name\"\nmsgstr \"Nom\"\n\nmsgid \"Signature check\"\nmsgstr \"Imzo tekshiruvi\"\n\n#, python-brace-format\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"{} qurilmasidagi tanlangan bo'sh joy segmenti:\"\n\n#, python-brace-format\nmsgid \"Size: {} / {}\"\nmsgstr \"Hajm: {} / {}\"\n\n#, python-brace-format\nmsgid \"Size (default: {}): \"\nmsgstr \"Hajm (standart: {}): \"\n\nmsgid \"HSM device\"\nmsgstr \"HSM qurilmasi\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"Ba'zi paketlar repozitoriyda topilmadi\"\n\nmsgid \"User\"\nmsgstr \"Foydalanuvchi\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"Ko'rsatilgan konfiguratsiya qo'llaniladi\"\n\nmsgid \"Wipe\"\nmsgstr \"Tozalash\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"XBOOTLDR deb belgilash/bekor qilish\"\n\nmsgid \"Loading packages...\"\nmsgstr \"Paketlar yuklanmoqda...\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"Quyidagi ro'yxatdan qo'shimcha o'rnatiladigan paketlarni tanlang\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"Maxsus repozitoriy qo'shish\"\n\nmsgid \"Change custom repository\"\nmsgstr \"Maxsus repozitoriyni o'zgartirish\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"Maxsus repozitoriyni o'chirish\"\n\nmsgid \"Repository name\"\nmsgstr \"Repozitoriy nomi\"\n\nmsgid \"Add a custom server\"\nmsgstr \"Maxsus server qo'shish\"\n\nmsgid \"Change custom server\"\nmsgstr \"Maxsus serverni o'zgartirish\"\n\nmsgid \"Delete custom server\"\nmsgstr \"Maxsus serverni o'chirish\"\n\nmsgid \"Server url\"\nmsgstr \"Server URL'i\"\n\nmsgid \"Select regions\"\nmsgstr \"Hududlarni tanlang\"\n\nmsgid \"Add custom servers\"\nmsgstr \"Maxsus serverlar qo'shish\"\n\nmsgid \"Add custom repository\"\nmsgstr \"Maxsus repozitoriy qo'shish\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"Ko'zgu hududlari yuklanmoqda...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"Ko'zgular va repozitoriylar\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"Tanlangan ko'zgu hududlari\"\n\nmsgid \"Custom servers\"\nmsgstr \"Maxsus serverlar\"\n\nmsgid \"Custom repositories\"\nmsgstr \"Maxsus repozitoriylar\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"Faqat ASCII belgilari qo'llab-quvvatlanadi\"\n\nmsgid \"Show help\"\nmsgstr \"Yordamni ko'rsatish\"\n\nmsgid \"Exit help\"\nmsgstr \"Yordamdan chiqish\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"Oldindan ko'rish (yuqoriga)\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"Oldindan ko'rish (pastga)\"\n\nmsgid \"Move up\"\nmsgstr \"Yuqoriga\"\n\nmsgid \"Move down\"\nmsgstr \"Pastga\"\n\nmsgid \"Move right\"\nmsgstr \"O'ngga\"\n\nmsgid \"Move left\"\nmsgstr \"Chapga\"\n\nmsgid \"Jump to entry\"\nmsgstr \"Bandga o'tish\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"Tanlovni o'tkazib yuborish (agar mumkin bo'lsa)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"Tanlovni bekor qilish (agar mumkin bo'lsa)\"\n\nmsgid \"Select on single select\"\nmsgstr \"Tanlash (yakka tanlov)\"\n\nmsgid \"Select on multi select\"\nmsgstr \"Tanlash (ko'p tanlov)\"\n\nmsgid \"Reset\"\nmsgstr \"Bekor qilish\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"Tanlov menyusini o'tkazib yuborish\"\n\nmsgid \"Start search mode\"\nmsgstr \"Qidiruv rejimini boshlash\"\n\nmsgid \"Exit search mode\"\nmsgstr \"Qidiruv rejimidan chiqish\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc sizning seat'ingizga (klaviatura, sichqoncha kabi qurilmalar to'plami) kirish huquqiga muhtoj\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"labwc'ga qurilmalaringizga kirish huquqini berish variantini tanlang\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri sizning seat'ingizga (klaviatura, sichqoncha kabi qurilmalar to'plami) kirish huquqiga muhtoj\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"niri'ga qurilmalaringizga kirish huquqini berish variantini tanlang\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"ESP deb belgilash/bekor qilish\"\n\nmsgid \"Package group:\"\nmsgstr \"Paketlar guruhi:\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"Archinstall'dan chiqish\"\n\nmsgid \"Reboot system\"\nmsgstr \"Tizimni qayta yuklash\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"O'rnatishdan keyingi sozlamalar uchun tizimga chroot qilish\"\n\nmsgid \"Installation completed\"\nmsgstr \"O'rnatish yakunlandi\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"Keyin nima qilishni xohlaysiz?\"\n\n#, python-brace-format\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"\\\"{}\\\" uchun qaysi rejimni sozlashni tanlang\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"Hisob ma'lumotlari faylining shifrini ochish paroli noto'g'ri\"\n\nmsgid \"Incorrect password\"\nmsgstr \"Parol noto'g'ri\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"Hisob ma'lumotlari faylini shifrini ochish paroli\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"user_credentials.json faylidagi hisob ma'lumotlarini shifrlashni xohlaysizmi?\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"Hisob ma'lumotlari faylini shifrlash paroli\"\n\n#, python-brace-format\nmsgid \"Repositories: {}\"\nmsgstr \"Repozitoriylar: {}\"\n\nmsgid \"New version available\"\nmsgstr \"Yangi versiya mavjud\"\n\nmsgid \"Passwordless login\"\nmsgstr \"Parolsiz kirish\"\n\nmsgid \"Second factor login\"\nmsgstr \"Ikki faktorli kirish\"\n\nmsgid \"Bluetooth\"\nmsgstr \"Bluetooth\"\n\nmsgid \"Would you like to configure Bluetooth?\"\nmsgstr \"Bluetooth'ni sozlashni xohlaysizmi?\"\n\nmsgid \"Authentication\"\nmsgstr \"Autentifikatsiya\"\n\nmsgid \"Applications\"\nmsgstr \"Ilovalar\"\n\nmsgid \"U2F login method: \"\nmsgstr \"U2F orqali kirish usuli: \"\n\nmsgid \"Passwordless sudo: \"\nmsgstr \"Parolsiz sudo: \"\n\n#, python-brace-format\nmsgid \"Btrfs snapshot type: {}\"\nmsgstr \"Btrfs snapshot turi: {}\"\n\nmsgid \"Syncing the system...\"\nmsgstr \"Tizim sinxronizatsiya qilinmoqda...\"\n\nmsgid \"Value cannot be empty\"\nmsgstr \"Qiymat bo'sh bo'lishi mumkin emas\"\n\nmsgid \"Snapshot type\"\nmsgstr \"Snapshot turi\"\n\n#, python-brace-format\nmsgid \"Snapshot type: {}\"\nmsgstr \"Snapshot turi: {}\"\n\nmsgid \"U2F login setup\"\nmsgstr \"U2F orqali kirishni sozlash\"\n\nmsgid \"No U2F devices found\"\nmsgstr \"U2F qurilmalari topilmadi\"\n\nmsgid \"U2F Login Method\"\nmsgstr \"U2F orqali kirish usuli\"\n\nmsgid \"Enable passwordless sudo?\"\nmsgstr \"Parolsiz sudo yoqilsinmi?\"\n\n#, python-brace-format\nmsgid \"Setting up U2F device for user: {}\"\nmsgstr \"Foydalanuvchi {} uchun U2F qurilmasi sozlanmoqda\"\n\nmsgid \"You may need to enter the PIN and then touch your U2F device to register it\"\nmsgstr \"Ro'yxatdan o'tkazish uchun PIN-kodni kiritib, U2F qurilmangizga teginishingiz kerak bo'lishi mumkin\"\n\n#~ msgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\n#~ msgstr \"    Iltimos, ushbu muammo (va fayl) haqida https://github.com/archlinux/archinstall/issues manziliga xabar bering\"\n"
  },
  {
    "path": "archinstall/locales/zh-CN/LC_MESSAGES/base.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: clsty <celestial.y@outlook.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: zh_CN\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.3.2\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] 一份日志文件已在此处创建：{} {}\"\n\nmsgid \"    Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"    请将此问题（和文件）提交到 https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"您真的要中止吗？\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"再输入一次以进行验证：\"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"您想在 zram 上使用交换分区（swap）吗？\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"请输入安装后期望使用的主机名（hostname）：\"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"请输入需要超级用户（sudo 权限）的用户名：\"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"请输入要安装的其他用户（留空表示不安装其他用户）：\"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"这个用户应该成为超级用户（sudoer）吗？\"\n\nmsgid \"Select a timezone\"\nmsgstr \"选择时区\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"您想使用 GRUB 作为引导加载程序而不是 systemd-boot 吗？\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"选择引导加载程序\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"请选择一个音频服务器（audio server）\"\n\nmsgid \"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.\"\nmsgstr \"仅安装基本软件包（base）、基本开发软件包（base-devel）、Linux 内核（linux）、Linux 固件（linux-firmware）、efibootmgr 和可选的配置文件软件包（profile packages）。\"\n\nmsgid \"If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.\"\nmsgstr \"如果您需要一个网络浏览器，例如 firefox 或 chromium，您可以在下面的提示中指定它。\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"输入要安装的其他软件包（空格分隔，留空以跳过）：\"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"将 ISO 中的网络配置复制到安装目标中\"\n\nmsgid \"Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)\"\nmsgstr \"使用 NetworkManager（在 GNOME 和 KDE 中以图形方式配置 Internet 所必需的）\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"选择要配置的网络接口\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"选择要为“{}”配置的模式或跳过以使用默认模式“{}”\"\n\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"输入 {} 的 IP 和子网（例如：192.168.0.5/24）：\"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"请输入您的网关（路由器）IP 地址，如果没有请留空：\"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"请输入您的 DNS 服务器地址（以空格分隔，如果没有请留空）：\"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"选择您的主分区应使用的文件系统\"\n\nmsgid \"Current partition layout\"\nmsgstr \"当前的分区布局\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"选择要执行的操作\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"为分区输入所需的文件系统类型\"\n\nmsgid \"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"输入起始位置（单位：s，GB，% 等；默认值：{}）：\"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"输入结束位置（单位：s，GB，% 等；例如：{}）：\"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} 包含了已排队的分区，这将会删除这些分区，您确定吗？\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"按索引选择要删除的分区\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"按索引选择要挂载的分区及挂载位置\"\n\nmsgid \" * Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \" * 分区挂载点是相对于安装目标的目录内部的，例如引导分区（boot）的挂载点为 /boot。\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"选择要挂载分区的位置（留空表示移除挂载点）：\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"选择要格式化的分区\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"选择要加密的分区\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"选择要标记为可引导的分区\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"选择要设置文件系统的分区\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"为分区选择所需的文件系统类型：\"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall 语言\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"擦除所有选定的驱动器并使用最佳的默认分区布局\"\n\nmsgid \"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"选择对每个单独的驱动器执行的操作（后跟分区使用情况）\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"选择要对所选的（一个或多个）块设备（block device）执行的操作\"\n\nmsgid \"This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments\"\nmsgstr \"这份列表列出了预先编写的配置文件，它们可能会使安装桌面环境等内容变得更加容易\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"选择键盘布局\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"选择一个要从中下载软件包的地区\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"选择要使用和配置的硬盘驱动器（可多选）\"\n\nmsgid \"For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.\"\nmsgstr \"为了与您的 AMD 硬件实现最佳兼容性，您可能需要使用所有开源显卡驱动程序或 AMD / ATI 选项。\"\n\nmsgid \"For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\\n\"\nmsgstr \"为了与您的 Intel 硬件实现最佳兼容性，您可能需要使用所有开源显卡驱动程序或 Intel 选项。\\n\"\n\nmsgid \"For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\\n\"\nmsgstr \"为了与您的 Nvidia 硬件实现最佳兼容性，您可能需要使用 Nvidia 专有驱动程序。\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"选择一个显卡驱动程序，或留空以安装所有开源驱动程序\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"所有开源显卡驱动程序（默认）\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"选择要使用的内核或留空以使用默认值“{}”\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"选择要使用的语言环境\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"选择要使用的语言环境编码\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"选择以下值之一：\"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"选择以下选项之一或多个选项：\"\n\nmsgid \"Adding partition....\"\nmsgstr \"正在添加分区……\"\n\nmsgid \"You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's.\"\nmsgstr \"您需要输入有效的文件系统类型才能继续。请参阅 `man parted` 以获取有效的文件系统类型。\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"错误：列出位于 URL “{}” 上的配置文件时出错：\"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"错误：无法将“{}”结果解码为 JSON：\"\n\nmsgid \"Keyboard layout\"\nmsgstr \"键盘布局\"\n\nmsgid \"Mirror region\"\nmsgstr \"镜像源地区\"\n\nmsgid \"Locale language\"\nmsgstr \"语言环境\"\n\nmsgid \"Locale encoding\"\nmsgstr \"语言环境编码\"\n\nmsgid \"Drive(s)\"\nmsgstr \"驱动器\"\n\nmsgid \"Disk layout\"\nmsgstr \"磁盘布局\"\n\nmsgid \"Encryption password\"\nmsgstr \"加密密码\"\n\nmsgid \"Swap\"\nmsgstr \"交换分区\"\n\nmsgid \"Bootloader\"\nmsgstr \"引导加载程序\"\n\nmsgid \"Root password\"\nmsgstr \"Root 密码\"\n\nmsgid \"Superuser account\"\nmsgstr \"超级用户帐户\"\n\nmsgid \"User account\"\nmsgstr \"用户帐户\"\n\nmsgid \"Profile\"\nmsgstr \"配置文件\"\n\nmsgid \"Audio\"\nmsgstr \"音频\"\n\nmsgid \"Kernels\"\nmsgstr \"内核\"\n\nmsgid \"Additional packages\"\nmsgstr \"附加软件包\"\n\nmsgid \"Network configuration\"\nmsgstr \"网络配置\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"自动时间同步（NTP）\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"安装（{} 个配置缺失）\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"您决定跳过硬盘驱动器选择\\n\"\n\"并将使用挂载在 {} 上的任何驱动器设置（实验性）\\n\"\n\"警告：Archinstall 将不会检查此设置的适用性\\n\"\n\"您是否要继续？\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"正在重新使用分区实例：{}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"创建一个新分区\"\n\nmsgid \"Delete a partition\"\nmsgstr \"删除一个分区\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"清除/删除所有分区\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"为分区分配挂载点\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"将分区标记/取消标记为格式化（擦除数据）\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"将分区标记/取消标记为加密\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"将分区标记/取消标记为可引导（/boot 会自动设置为可引导）\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"为分区设置所需的文件系统\"\n\nmsgid \"Abort\"\nmsgstr \"中止\"\n\nmsgid \"Hostname\"\nmsgstr \"主机名\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"未配置；除非手动设置，否则不可用\"\n\nmsgid \"Timezone\"\nmsgstr \"时区\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"设置/修改以下选项\"\n\nmsgid \"Install\"\nmsgstr \"安装\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"按 ESC 跳过\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"建议分区布局\"\n\nmsgid \"Enter a password: \"\nmsgstr \"输入密码：\"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"为 {} 输入一个加密密码\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"输入磁盘加密密码（留空则不加密）：\"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"创建所需的具有 sudo 权限的超级用户：\"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"输入 root 密码（留空以禁用 root）：\"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"用户“{}”的密码：\"\n\nmsgid \"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"正在验证附加软件包是否存在（这可能需要几秒或几十秒）\"\n\nmsgid \"Would you like to use automatic time synchronization (NTP) with the default time servers?\\n\"\nmsgstr \"您是否希望使用默认时间服务器进行自动时间同步（NTP）？\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order for NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"为了使 NTP 正常工作，可能需要在之后进行硬件时间及其他配置的步骤。\\n\"\n\"更多信息，请查阅 Arch wiki\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"输入用户名以创建其他用户（留空以跳过）：\"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"按 ESC 跳过\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for it to execute\"\nmsgstr \"\"\n\"\\n\"\n\" 从列表中选取一个对象，并选择一个要执行的可选操作\"\n\nmsgid \"Cancel\"\nmsgstr \"取消\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"确认并退出\"\n\nmsgid \"Add\"\nmsgstr \"添加\"\n\nmsgid \"Copy\"\nmsgstr \"复制\"\n\nmsgid \"Edit\"\nmsgstr \"编辑\"\n\nmsgid \"Delete\"\nmsgstr \"删除\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"为“{}”选择一个操作\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"复制到新密钥：\"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"未知的网卡类型：{}。可能的值为 {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"这是您选择的配置：\"\n\nmsgid \"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman 已经在运行，最多等待 10 分钟或直到它终止。\"\n\nmsgid \"Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall.\"\nmsgstr \"预先存在的 pacman 锁从未退出。请在使用 archinstall 之前清理任何现有的 pacman 会话。\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"选择要启用的可选附加仓库\"\n\nmsgid \"Add a user\"\nmsgstr \"添加一个用户\"\n\nmsgid \"Change password\"\nmsgstr \"修改密码\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"提升/降级用户\"\n\nmsgid \"Delete User\"\nmsgstr \"删除用户\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"定义一个新用户\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"用户名：\"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"是否将 {} 设置为超级用户（sudoer）？\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"定义具有 sudo 权限的用户：\"\n\nmsgid \"No network configuration\"\nmsgstr \"无网络配置\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"在 btrfs 分区上设置所需的子卷\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"选择要设置子卷的分区\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"管理当前分区的 btrfs 子卷\"\n\nmsgid \"No configuration\"\nmsgstr \"无配置\"\n\nmsgid \"Save user configuration\"\nmsgstr \"保存用户配置\"\n\nmsgid \"Save user credentials\"\nmsgstr \"保存用户凭据\"\n\nmsgid \"Save disk layout\"\nmsgstr \"保存磁盘布局\"\n\nmsgid \"Save all\"\nmsgstr \"全部保存\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"选择要保存的配置\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"输入要保存配置的目录：\"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"不是有效的目录：{}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"您正在使用的密码似乎很弱，\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"您确定要使用它吗？\"\n\nmsgid \"Optional repositories\"\nmsgstr \"可选仓库\"\n\nmsgid \"Save configuration\"\nmsgstr \"保存配置\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"缺少配置：\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"必须指定 root 密码或至少 1 个超级用户\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"管理超级用户账户：\"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"管理普通用户账户：\"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" 子卷：{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" 挂载在 {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" 与选项 {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" 为新子卷填写所需的值 \\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"子卷名称 \"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"子卷挂载点\"\n\nmsgid \"Subvolume options\"\nmsgstr \"子卷选项\"\n\nmsgid \"Save\"\nmsgstr \"保存\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"子卷名称：\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"选择一个挂载点：\"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"选择所需的子卷选项 \"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"通过用户名定义具有 sudo 权限的用户：\"\n\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] 已在此处创建一份日志文件：{}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"您想以默认结构使用 BTRFS 子卷吗？\"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"您想使用 BTRFS 压缩吗？\"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"您想为 /home 创建一个单独的分区吗？\"\n\nmsgid \"The selected drives do not have the minimum capacity required for an automatic suggestion\\n\"\nmsgstr \"所选驱动器不具有自动建议所需的最小容量\\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"/home 分区的最小容量：{}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Arch Linux 分区的最小容量：{}GB\"\n\nmsgid \"Continue\"\nmsgstr \"继续\"\n\nmsgid \"yes\"\nmsgstr \"是\"\n\nmsgid \"no\"\nmsgstr \"否\"\n\nmsgid \"set: {}\"\nmsgstr \"设置：{}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"手动配置的设置必须是一个列表\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"没有为手动配置指定网卡接口\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"不具备自动 DHCP 的手动网卡配置需要一个 IP 地址\"\n\nmsgid \"Add interface\"\nmsgstr \"添加接口\"\n\nmsgid \"Edit interface\"\nmsgstr \"编辑接口\"\n\nmsgid \"Delete interface\"\nmsgstr \"删除接口\"\n\nmsgid \"Select interface to add\"\nmsgstr \"选择要添加的接口\"\n\nmsgid \"Manual configuration\"\nmsgstr \"手动配置\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"将分区标记/取消标记为压缩（仅限 btrfs）\"\n\nmsgid \"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"您正在使用的密码似乎很弱，您确定要使用它吗？\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway\"\nmsgstr \"提供一系列桌面环境和平铺窗口管理器供选择，例如 gnome、kde、sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"选择您所需的桌面环境\"\n\nmsgid \"A very basic installation that allows you to customize Arch Linux as you see fit.\"\nmsgstr \"一个非常基本的安装，允许您根据需要自定义 Arch Linux。\"\n\nmsgid \"Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb\"\nmsgstr \"提供一系列的多种服务器软件包以供安装启用，例如 httpd、nginx、mariadb\"\n\nmsgid \"Choose which servers to install, if none then a minimal installation will be done\"\nmsgstr \"选择要安装的服务器，若无则将执行最小化安装\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"安装一个最小化系统以及 xorg 和显卡驱动程序。\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"按 Enter 继续。\"\n\nmsgid \"Would you like to chroot into the newly created installation and perform post-installation configuration?\"\nmsgstr \"您是否想要 chroot 到新创建的系统内以进行安装后的配置？\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"您确定要重置此设置吗？\"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"选择要使用和配置的硬盘驱动器（可多选）\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"对现有设置的任何修改都将重置磁盘布局！\"\n\nmsgid \"If you reset the harddrive selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"如果重置硬盘驱动器选择，则当前磁盘布局也将重置。您确定吗？\"\n\nmsgid \"Save and exit\"\nmsgstr \"保存并退出\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"包含排队的分区，这将删除这些分区，您确定吗？\"\n\nmsgid \"No audio server\"\nmsgstr \"没有音频服务器\"\n\nmsgid \"(default)\"\nmsgstr \"（默认）\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"按 ESC 跳过\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"使用 CTRL+C 可重置当前选项\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"复制到：\"\n\nmsgid \"Edit: \"\nmsgstr \"编辑：\"\n\nmsgid \"Key: \"\nmsgstr \"密钥：\"\n\nmsgid \"Edit {}: \"\nmsgstr \"编辑 {}：\"\n\nmsgid \"Add: \"\nmsgstr \"添加：\"\n\nmsgid \"Value: \"\nmsgstr \"值：\"\n\nmsgid \"You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)\"\nmsgstr \"您可以跳过选择驱动器和分区，并使用任何挂载在 /mnt 上的驱动器设置（实验性）\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"选择一个磁盘或跳过并使用 /mnt 作为默认值\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"选择要标记为格式化的分区：\"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"使用 HSM 解锁加密驱动器\"\n\nmsgid \"Device\"\nmsgstr \"设备\"\n\nmsgid \"Size\"\nmsgstr \"大小\"\n\nmsgid \"Free space\"\nmsgstr \"空闲空间\"\n\nmsgid \"Bus-type\"\nmsgstr \"总线类型\"\n\nmsgid \"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"必须指定 root 密码或至少 1 个具有 sudo 权限的用户\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"输入用户名（留空跳过）：\"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"您输入的用户名无效。请重试\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"是否将“{}”设置为超级用户（sudo）？\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"选择要加密的分区\"\n\nmsgid \"very weak\"\nmsgstr \"非常弱\"\n\nmsgid \"weak\"\nmsgstr \"弱\"\n\nmsgid \"moderate\"\nmsgstr \"一般\"\n\nmsgid \"strong\"\nmsgstr \"强\"\n\nmsgid \"Add subvolume\"\nmsgstr \"添加子卷\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"编辑子卷\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"删除子卷\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"已配置 {} 个接口\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during installation\"\nmsgstr \"此选项启用安装期间可以发生的并行下载数\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"输入要启用的并行下载数。\\n\"\n\"  （输入一个介于 1 到 {} 之间的值）\\n\"\n\"提示：\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at a time )\"\nmsgstr \" - 最大值：{}（允许 {} 个并行下载，即同时允许 {} 个下载）\"\n\nmsgid \" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a time )\"\nmsgstr \" - 最小值：1（允许 1 个并行下载，同时允许 2 个下载）\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\"\nmsgstr \" - 禁用/默认值：0（禁用并行下载，同时只允许 1 个下载）\"\n\n#, python-brace-format\nmsgid \"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]\"\nmsgstr \"输入无效！请重试一个有效输入 [1 到 {max_downloads}，或 0 以禁用]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"并行下载\"\n\nmsgid \"ESC to skip\"\nmsgstr \"按 ESC 跳过\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"按 CTRL+C 重置\"\n\nmsgid \"TAB to select\"\nmsgstr \"按 TAB 选择\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[默认值：0] > \"\n\nmsgid \"To be able to use this translation, please install a font manually that supports the language.\"\nmsgstr \"要使用此翻译，请手动安装支持该语言的字体。\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"字体应存储为 {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall 需要 root 权限才能运行。有关更多信息，请参阅 --help。\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"选择执行模式\"\n\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"无法从指定的 URL 获取配置文件：{}\"\n\nmsgid \"Profiles must have unique name, but profile definitions with duplicate name found: {}\"\nmsgstr \"配置文件必须具有唯一的名称，但找到了具有重复名称的配置文件定义：{}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"选择要使用并配置的设备（可多选）\"\n\nmsgid \"If you reset the device selection this will also reset the current disk layout. Are you sure?\"\nmsgstr \"如果重置设备选择，则当前磁盘布局也将重置。您确定吗？\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"现有分区\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"选择分区选项\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"输入已挂载设备的根目录：\"\n\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"/home 分区的最小容量为：{}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Arch Linux 分区的最小容量为：{}GB\"\n\nmsgid \"This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments\"\nmsgstr \"这是预先编写的配置文件列表，它们可能会使安装桌面环境等内容更容易\"\n\nmsgid \"Current profile selection\"\nmsgstr \"当前配置文件选择\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"删除所有新添加的分区\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"分配挂载点\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"将分区标记/取消标记为格式化（擦除数据）\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"将分区标记/取消标记为可引导\"\n\nmsgid \"Change filesystem\"\nmsgstr \"更改文件系统\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"标记/取消标记为压缩\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"设置子卷\"\n\nmsgid \"Delete partition\"\nmsgstr \"删除分区\"\n\nmsgid \"Partition\"\nmsgstr \"分区\"\n\nmsgid \"This partition is currently encrypted, to format it a filesystem has to be specified\"\nmsgstr \"此分区当前已加密，要格式化它必须指定文件系统\"\n\nmsgid \"Partition mount-points are relative to inside the installation, the boot would be /boot as an example.\"\nmsgstr \"分区挂载点是相对于安装目标的目录内部的，例如引导分区（boot）的挂载点为 /boot。\"\n\nmsgid \"If mountpoint /boot is set, then the partition will also be marked as bootable.\"\nmsgstr \"如果设置了挂载点 /boot，则该分区也将被标记为可引导。\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"挂载点：\"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"设备 {} 上当前可用的扇区：\"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"总扇区数：{}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"输入起始扇区（百分比或块号，默认：{}）： \"\n\nmsgid \"Enter the end sector of the partition (percentage or block number, default: {}): \"\nmsgstr \"输入分区的结束扇区（百分比或块号，默认：{}）：\"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"这将删除所有新添加的分区，是否继续？\"\n\nmsgid \"Partition management: {}\"\nmsgstr \"分区管理：{}\"\n\nmsgid \"Total length: {}\"\nmsgstr \"总长度：{}\"\n\nmsgid \"Encryption type\"\nmsgstr \"加密类型\"\n\nmsgid \"Partitions\"\nmsgstr \"分区\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"没有可用的 HSM 设备\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"要加密的分区\"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"选择磁盘加密选项\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"选择要用于 HSM 的 FIDO2 设备\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"使用最佳的默认分区布局\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"手动分区\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"预挂载配置\"\n\nmsgid \"Unknown\"\nmsgstr \"未知\"\n\nmsgid \"Partition encryption\"\nmsgstr \"分区加密\"\n\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! 正在格式化 {} 为 \"\n\nmsgid \"← Back\"\nmsgstr \"← 返回\"\n\nmsgid \"Disk encryption\"\nmsgstr \"磁盘加密\"\n\nmsgid \"Configuration\"\nmsgstr \"配置\"\n\nmsgid \"Password\"\nmsgstr \"密码\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"所有设置将被重置，您确定吗？\"\n\nmsgid \"Back\"\nmsgstr \"返回\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"请选择要为所选配置文件安装的登录管理器：{}\"\n\nmsgid \"Environment type: {}\"\nmsgstr \"环境类型：{}\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"Sway 不支持 Nvidia 的专有驱动。您可能会遇到问题，您确定要继续吗？\"\n\nmsgid \"Installed packages\"\nmsgstr \"已安装的软件包\"\n\nmsgid \"Add profile\"\nmsgstr \"添加配置文件\"\n\nmsgid \"Edit profile\"\nmsgstr \"编辑配置文件\"\n\nmsgid \"Delete profile\"\nmsgstr \"删除配置文件\"\n\nmsgid \"Profile name: \"\nmsgstr \"配置文件名称：\"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"您输入的配置文件名称已被使用。请重试\"\n\nmsgid \"Packages to be install with this profile (space separated, leave blank to skip): \"\nmsgstr \"要与此配置文件一同安装的软件包（空格分隔，留空跳过）：\"\n\nmsgid \"Services to be enabled with this profile (space separated, leave blank to skip): \"\nmsgstr \"要与此配置文件一同启用的服务（空格分隔，留空跳过）：\"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"是否启用此配置文件进行安装？\"\n\nmsgid \"Create your own\"\nmsgstr \"创建您自己的\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"选择一个显卡驱动程序，或留空以安装所有开源驱动程序\"\n\nmsgid \"Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Sway 需要访问您的 seat（硬件设备的集合，例如键盘、鼠标等）\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"选择一个选项来给 Sway 提供对您硬件的访问权限\"\n\nmsgid \"Graphics driver\"\nmsgstr \"显卡驱动程序\"\n\nmsgid \"Greeter\"\nmsgstr \"登录管理器\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"请选择要安装的登录管理器\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"这份列表列出了预编写的默认配置文件\"\n\nmsgid \"Disk configuration\"\nmsgstr \"磁盘配置\"\n\nmsgid \"Profiles\"\nmsgstr \"配置文件\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"正在查找可能用于保存配置文件的目录 ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"选择一个或多个目录保存配置文件\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"添加自定义镜像源\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"更改自定义镜像源\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"删除自定义镜像源\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"输入用户名（留空跳过）：\"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"输入网址（留空跳过）：\"\n\nmsgid \"Select signature check option\"\nmsgstr \"选择签名检查选项\"\n\nmsgid \"Select signature option\"\nmsgstr \"选择签名选项\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"自定义镜像源\"\n\nmsgid \"Defined\"\nmsgstr \"已定义\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"保存用户配置（包括磁盘布局）\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled)\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"输入要保存配置的目录（可按 TAB 补全）\\n\"\n\"保存目录：\"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"您想将 {} 个配置文件保存在以下位置吗？\\n\"\n\"\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"正在将 {} 配置文件保存到 {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"镜像源\"\n\nmsgid \"Mirror regions\"\nmsgstr \"镜像源地区\"\n\nmsgid \" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )\"\nmsgstr \" - 最大值：{}（允许 {} 个并行下载，每次允许 {max_downloads+1} 个下载）\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"输入无效！请重试一个有效输入 [1 到 {}，或 0 以禁用]\"\n\nmsgid \"Locales\"\nmsgstr \"区域设置\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)\"\nmsgstr \"使用 NetworkManager（在 GNOME 和 KDE 中以图形界面配置互联网所必需）\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"总长度：{} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"所有输入的值都可以后缀一个单位：B、KB、KiB、MB、MiB……\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"若没有指定单位，则值被作为扇区块号\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"输入起始扇区位置（默认：扇区 {}）：\"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"输入末尾扇区位置（默认：{}）：\"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"无法确定 fido2 设备。libfido2 是否已安装？\"\n\nmsgid \"Path\"\nmsgstr \"路径\"\n\nmsgid \"Manufacturer\"\nmsgstr \"制造商\"\n\nmsgid \"Product\"\nmsgstr \"产品\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"无效的配置：{error}\"\n\nmsgid \"Type\"\nmsgstr \"类型\"\n\nmsgid \"This option enables the number of parallel downloads that can occur during package downloads\"\nmsgstr \"此选项启用软件包下载期间可以发生的并行下载数\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"输入要启用的并行下载数。\\n\"\n\"\\n\"\n\"提示：\\n\"\n\nmsgid \" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \"- 最大推荐值：{}（每次同时允许 {} 个并行下载）\"\n\nmsgid \" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\\n\"\nmsgstr \" - 禁用/默认值：0（禁用并行下载，同时只允许 1 个下载）\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"输入无效！请重试有效输入 [或 0 以禁用]\"\n\nmsgid \"Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"Hyprland 需要访问您的 seat（硬件设备的集合，例如键盘、鼠标等）\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"选择一个选项来给 Hyprland 提供对您硬件的访问权限\"\n\nmsgid \"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"所有输入的值都可以后缀一个单位：%、B、KB、KiB、MB、MiB……\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"您想使用统一内核映像吗？\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"统一内核映像（UKI）\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"等待时间同步（timedatectl show）完成。\"\n\nmsgid \"Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"时间同步未完成，请在等待时查阅文档以获知对策： https://archinstall.readthedocs.io/\"\n\nmsgid \"Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)\"\nmsgstr \"跳过等待自动时间同步（如果安装期间时间不同步，可能会导致问题）\"\n\nmsgid \"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"正在等待 Arch Linux 密钥环同步（archlinux-keyring-wkd-sync）完成。\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"已选配置文件：\"\n\nmsgid \"Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/\"\nmsgstr \"时间同步未完成，请在等待时查阅文档以获知对策： https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"标记/取消标记为 nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"您想使用压缩还是禁用写时复制？\"\n\nmsgid \"Use compression\"\nmsgstr \"使用压缩\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"禁用写时复制\"\n\nmsgid \"Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway\"\nmsgstr \"提供一个桌面环境和平铺窗口管理器的选集，例如 GNOME、KDE Plasma、Sway\"\n\nmsgid \"Configuration type: {}\"\nmsgstr \"配置类型：{}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM 配置类型\"\n\nmsgid \"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"当前不支持超过 2 个分区的 LVM 磁盘加密\"\n\nmsgid \"Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)\"\nmsgstr \"使用 NetworkManager（在 GNOME 和 KDE Plasma 中以图形方式配置互联网所必需）\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"选择一个 LVM 选项\"\n\nmsgid \"Partitioning\"\nmsgstr \"分区\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"逻辑卷管理（LVM）\"\n\nmsgid \"Physical volumes\"\nmsgstr \"物理卷\"\n\nmsgid \"Volumes\"\nmsgstr \"卷\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM 卷\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"要加密的 LVM 卷\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"选择要加密的 LVM 卷\"\n\nmsgid \"Default layout\"\nmsgstr \"默认布局\"\n\nmsgid \"No Encryption\"\nmsgstr \"不加密\"\n\nmsgid \"LUKS\"\nmsgstr \"LUKS\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LUKS 上的 LVM\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LVM 上的 LUKS\"\n\nmsgid \"Yes\"\nmsgstr \"是\"\n\nmsgid \"No\"\nmsgstr \"否\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall 帮助\"\n\nmsgid \" (default)\"\nmsgstr \"（默认）\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"按 Ctrl+h 以获取帮助\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"选择一个选项来给 Sway 提供对您硬件的访问权限\"\n\nmsgid \"Seat access\"\nmsgstr \"Seat 访问\"\n\nmsgid \"Mountpoint\"\nmsgstr \"挂载点\"\n\nmsgid \"HSM\"\nmsgstr \"HSM\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"输入磁盘加密密码（留空则不加密）：\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"磁盘加密密码\"\n\nmsgid \"Partition - New\"\nmsgstr \"分区 - 新\"\n\nmsgid \"Filesystem\"\nmsgstr \"文件系统\"\n\nmsgid \"Invalid size\"\nmsgstr \"无效的大小\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"起始位置（默认：扇区 {}）：\"\n\nmsgid \"End (default: {}): \"\nmsgstr \"末尾位置（默认：{}）：\"\n\nmsgid \"Subvolume name\"\nmsgstr \"子卷名称\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"磁盘配置类型\"\n\nmsgid \"Root mount directory\"\nmsgstr \"根挂载目录\"\n\nmsgid \"Select language\"\nmsgstr \"选择语言\"\n\nmsgid \"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"输入要安装的其他软件包（空格分隔，留空以跳过）\"\n\nmsgid \"Invalid download number\"\nmsgstr \"无效的并行下载数\"\n\nmsgid \"Number downloads\"\nmsgstr \"并行下载数\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"您输入的用户名无效\"\n\nmsgid \"Username\"\nmsgstr \"用户名\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"是否将“{}”设置为超级用户（sudo）？\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"接口\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"您需要在 IP-config 模式下输入一个有效的 IP\"\n\nmsgid \"Modes\"\nmsgstr \"模式\"\n\nmsgid \"IP address\"\nmsgstr \"IP 地址\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"请输入您的网关（路由器）IP 地址（没有请留空）\"\n\nmsgid \"Gateway address\"\nmsgstr \"网关地址\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"请输入您的 DNS 服务器地址，以空格分隔（没有请留空）\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS 服务器\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"配置接口\"\n\nmsgid \"Kernel\"\nmsgstr \"内核\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"未检测到 UEFI，某些选项已被禁用\"\n\nmsgid \"Info\"\nmsgstr \"信息\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Sway 不支持 Nvidia 的专有驱动。\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"您可能会遇到问题，确定要继续吗？\"\n\nmsgid \"Main profile\"\nmsgstr \"主要配置文件\"\n\nmsgid \"Confirm password\"\nmsgstr \"确认密码\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"确认密码不匹配，请重试\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"不是一个有效目录\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"您想继续吗？\"\n\nmsgid \"Directory\"\nmsgstr \"目录\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved (tab completion enabled)\"\nmsgstr \"输入一个要保存配置的目录（可按 TAB 补全）\"\n\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"您想将配置文件保存到 {} 吗？\"\n\nmsgid \"Enabled\"\nmsgstr \"已启用\"\n\nmsgid \"Disabled\"\nmsgstr \"已禁用\"\n\nmsgid \"Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues\"\nmsgstr \"请将此问题（和文件）提交到 https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"镜像源名称\"\n\nmsgid \"Url\"\nmsgstr \"URL\"\n\nmsgid \"Select signature check\"\nmsgstr \"选择签名检查\"\n\nmsgid \"Select execution mode\"\nmsgstr \"选择执行模式\"\n\nmsgid \"Press ? for help\"\nmsgstr \"按 ? 获取帮助\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"选择一个选项来给 Hyprland 提供对您硬件的访问权限\"\n\nmsgid \"Additional repositories\"\nmsgstr \"附加仓库\"\n\nmsgid \"NTP\"\nmsgstr \"NTP\"\n\nmsgid \"Swap on zram\"\nmsgstr \"zram 上的 swap\"\n\nmsgid \"Name\"\nmsgstr \"名称\"\n\nmsgid \"Signature check\"\nmsgstr \"签名检查\"\n\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"设备 {} 上已选的可用扇区：\"\n\nmsgid \"Size: {} / {}\"\nmsgstr \"总大小：{} / {}\"\n\nmsgid \"Size (default: {}): \"\nmsgstr \"大小（默认：{}）：\"\n\nmsgid \"HSM device\"\nmsgstr \"硬件安全模块设备\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"某些软件包在仓库中未找到\"\n\nmsgid \"User\"\nmsgstr \"用户\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"指定的配置将被应用\"\n\nmsgid \"Wipe\"\nmsgstr \"擦除\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"标记/取消标记为 XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"加载软件包\"\n\nmsgid \"Select any packages from the below list that should be installed additionally\"\nmsgstr \"在下方列表选择应当额外安装的任何软件包\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"添加一个自定义仓库\"\n\nmsgid \"Change custom repository\"\nmsgstr \"更改自定义仓库\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"删除自定义仓库\"\n\nmsgid \"Repository name\"\nmsgstr \"仓库名称\"\n\nmsgid \"Add a custom server\"\nmsgstr \"添加一个自定义服务器\"\n\nmsgid \"Change custom server\"\nmsgstr \"更改自定义服务器\"\n\nmsgid \"Delete custom server\"\nmsgstr \"删除自定义服务器\"\n\nmsgid \"Server url\"\nmsgstr \"服务器 URL\"\n\nmsgid \"Select regions\"\nmsgstr \"选择地区\"\n\nmsgid \"Add custom servers\"\nmsgstr \"添加自定义服务器\"\n\nmsgid \"Add custom repository\"\nmsgstr \"添加自定义仓库\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"加载镜像源地区\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"镜像源与仓库\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"已选的镜像源地区\"\n\nmsgid \"Custom servers\"\nmsgstr \"自定义服务器\"\n\nmsgid \"Custom repositories\"\nmsgstr \"自定义仓库\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"仅 ASCII 字符受支持\"\n\nmsgid \"Show help\"\nmsgstr \"显示帮助\"\n\nmsgid \"Exit help\"\nmsgstr \"退出帮助\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"预览向上滚动\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"预览向下滚动\"\n\nmsgid \"Move up\"\nmsgstr \"上移\"\n\nmsgid \"Move down\"\nmsgstr \"下移\"\n\nmsgid \"Move right\"\nmsgstr \"右移\"\n\nmsgid \"Move left\"\nmsgstr \"左移\"\n\nmsgid \"Jump to entry\"\nmsgstr \"跳转到条目\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"跳过选区（若可用）\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"重置选区（若可用）\"\n\nmsgid \"Select on single select\"\nmsgstr \"选择单项\"\n\nmsgid \"Select on multi select\"\nmsgstr \"选择多项\"\n\nmsgid \"Reset\"\nmsgstr \"重置\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"跳过选区菜单\"\n\nmsgid \"Start search mode\"\nmsgstr \"开始搜索模式\"\n\nmsgid \"Exit search mode\"\nmsgstr \"退出搜索模式\"\n\nmsgid \"labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"labwc 需要访问您的 seat（硬件设备的集合，例如键盘、鼠标等）\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"选择一个选项来给 labwc 提供对您硬件的访问权限\"\n\nmsgid \"niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)\"\nmsgstr \"niri 需要访问您的 seat（硬件设备的集合，例如键盘、鼠标等）\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"选择一个选项来给 niri 提供对您硬件的访问权限\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"标记/取消标记为 ESP\"\n\nmsgid \"Package group:\"\nmsgstr \"软件包组：\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"退出 archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"重启系统\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"为了安装后的配置，chroot 进安装好的系统内\"\n\nmsgid \"Installation completed\"\nmsgstr \"安装已完成\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"您接下来想做什么？\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"选择要为“{}”配置的模式\"\n\n#, fuzzy\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"磁盘加密密码\"\n\n#, fuzzy\nmsgid \"Incorrect password\"\nmsgstr \"Root 密码\"\n\n#, fuzzy\nmsgid \"Credentials file decryption password\"\nmsgstr \"磁盘加密密码\"\n\n#, fuzzy\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"您想将配置文件保存到 {} 吗？\"\n\n#, fuzzy\nmsgid \"Credentials file encryption password\"\nmsgstr \"磁盘加密密码\"\n\n#, fuzzy\nmsgid \"Repositories: {}\"\nmsgstr \"仓库名称\"\n"
  },
  {
    "path": "archinstall/locales/zh-TW/LC_MESSAGES/base.po",
    "content": "# SPDX-FileCopyrightText: 2025 neko0xff <chzang55@gmail.com>\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: \\n\"\n\"POT-Creation-Date: \\n\"\n\"PO-Revision-Date: 2025-08-10 11:45+0800\\n\"\n\"Last-Translator: neko0xff <neko0xff@protonmail.com>\\n\"\n\"Language-Team: Chinese <>\\n\"\n\"Language: zh_TW\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Lokalize 25.04.3\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\nmsgid \"[!] A log file has been created here: {} {}\"\nmsgstr \"[!] 記錄檔已在此處建立: {} {}\"\n\nmsgid \"\"\n\"    Please submit this issue (and file) to https://github.com/archlinux/archin\"\n\"stall/issues\"\nmsgstr \"    請將此問題（以及相關檔案）提交到 https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Do you really want to abort?\"\nmsgstr \"您真的要中止嗎？\"\n\nmsgid \"And one more time for verification: \"\nmsgstr \"請再輸入一次，得以進行驗證: \"\n\nmsgid \"Would you like to use swap on zram?\"\nmsgstr \"您想在 zram 上使用置換磁碟分割區（swap）嗎？\"\n\nmsgid \"Desired hostname for the installation: \"\nmsgstr \"請輸入安裝後預期使用的主機名稱 (hostname):\"\n\nmsgid \"Username for required superuser with sudo privileges: \"\nmsgstr \"請輸入需要超級使用者的使用者名稱 (sudo 權限) : \"\n\nmsgid \"Any additional users to install (leave blank for no users): \"\nmsgstr \"要新增的其他使用者 (留空表示不新建其他使用者):\"\n\nmsgid \"Should this user be a superuser (sudoer)?\"\nmsgstr \"這個使用者應該成為超級使用者（sudoer）嗎？\"\n\nmsgid \"Select a timezone\"\nmsgstr \"選擇時區\"\n\nmsgid \"Would you like to use GRUB as a bootloader instead of systemd-boot?\"\nmsgstr \"您希望使用 GRUB 作為開機引導程式，而不是 systemd-boot 嗎？\"\n\nmsgid \"Choose a bootloader\"\nmsgstr \"選擇開機引導程式\"\n\nmsgid \"Choose an audio server\"\nmsgstr \"請選擇音效伺服器\"\n\nmsgid \"\"\n\"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and \"\n\"optional profile packages are installed.\"\nmsgstr \"\"\n\"僅安裝基本套件，如 base、base-devel、linux、linux-firmware、efibootmgr 和選擇性的軟體設定套件包。\"\n\nmsgid \"\"\n\"If you desire a web browser, such as firefox or chromium, you may specify it i\"\n\"n the following prompt.\"\nmsgstr \"如果您需要網頁瀏覽器，例如 firefox 或 chromium，你可以在下面的提示字元中進行指定。\"\n\nmsgid \"\"\n\"Write additional packages to install (space separated, leave blank to skip): \"\nmsgstr \"請輸入您要安裝的其它套件包 (請以空格進行分隔，若留空則直接跳過): \"\n\nmsgid \"Copy ISO network configuration to installation\"\nmsgstr \"將 ISO映像檔中的網路組態設置複製到安裝環境中\"\n\nmsgid \"\"\n\"Use NetworkManager (necessary for configuring internet graphically in GNOME an\"\n\"d KDE)\"\nmsgstr \"使用 NetworkManager（在 GNOME 和 KDE 中以圖形化方式設定網際網路所需的功能）\"\n\nmsgid \"Select one network interface to configure\"\nmsgstr \"請選擇要設定的網路介面\"\n\nmsgid \"\"\n\"Select which mode to configure for \\\"{}\\\" or skip to use default mode \\\"{}\\\"\"\nmsgstr \"請選擇要為“{}”設定的模式或直接使用預設模式“{}”\"\n\nmsgid \"Enter the IP and subnet for {} (example: 192.168.0.5/24): \"\nmsgstr \"請輸入 {} 的 IP 和子網路(例如 : 192.168.0.5/24): \"\n\nmsgid \"Enter your gateway (router) IP address or leave blank for none: \"\nmsgstr \"請輸入您閘道器(路由器)的 IP 地址或者留空直接跳過: \"\n\nmsgid \"Enter your DNS servers (space separated, blank for none): \"\nmsgstr \"請輸入您的 DNS 伺服器 (請以空格進行分隔，若留空則直接跳過): \"\n\nmsgid \"Select which filesystem your main partition should use\"\nmsgstr \"請選擇您的主要磁碟分割區應該使用哪種檔案系統。\"\n\nmsgid \"Current partition layout\"\nmsgstr \"目前的磁碟分割區配置\"\n\nmsgid \"\"\n\"Select what to do with\\n\"\n\"{}\"\nmsgstr \"\"\n\"請選擇要執行的操作\\n\"\n\"{}\"\n\nmsgid \"Enter a desired filesystem type for the partition\"\nmsgstr \"請輸入您想要的磁碟分割區檔案系統類型\"\n\nmsgid \"\"\n\"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): \"\nmsgstr \"請輸入起始位置 (以 parted 單位表示: s、GB、% 等等；預設值: {} ): \"\n\nmsgid \"Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): \"\nmsgstr \"請輸入結束位置 (以 parted 單位表示: s、GB、% 等等；預設值: {} ): \"\n\nmsgid \"{} contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"{} 包含佇列中的磁碟分割區，這將會移除這些磁碟分割區，您確定嗎？\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partitions to delete\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"請根據索引選擇需要刪除的磁碟分割區\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select by index which partition to mount where\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"請依據索引選擇需要掛載的磁碟分割區以及掛載點\"\n\nmsgid \"\"\n\" * Partition mount-points are relative to inside the installation, the boot wo\"\n\"uld be /boot as an example.\"\nmsgstr \" * 磁碟分割區的掛載點是相對於安裝內部的，例如 boot 應該為 /boot。\"\n\nmsgid \"Select where to mount partition (leave blank to remove mountpoint): \"\nmsgstr \"請選擇掛載磁碟分割區的位置 (若留空，則直接移除掛載點): \"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mask for formatting\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"請選擇要進行格式化的磁碟分割區\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as encrypted\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"請選擇要進行加密的磁碟分割區\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to mark as bootable\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"請選擇需要標記為可做開機引導的磁碟分割區\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set a filesystem on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"請選擇要在哪一個磁碟分割區上，進行設定檔案系統\"\n\nmsgid \"Enter a desired filesystem type for the partition: \"\nmsgstr \"為磁碟分割區輸入所需的檔案系統類型: \"\n\nmsgid \"Archinstall language\"\nmsgstr \"Archinstall 語言\"\n\nmsgid \"Wipe all selected drives and use a best-effort default partition layout\"\nmsgstr \"移除所有選定的硬碟並且使用最佳的預設分割佈局\"\n\nmsgid \"\"\n\"Select what to do with each individual drive (followed by partition usage)\"\nmsgstr \"依序選擇硬碟（並設定分割佈局）\"\n\nmsgid \"Select what you wish to do with the selected block devices\"\nmsgstr \"選擇您希望對所選區塊裝置執行的操作\"\n\nmsgid \"\"\n\"This is a list of pre-programmed profiles, they might make it easier to instal\"\n\"l things like desktop environments\"\nmsgstr \"以下是預編程設置檔的列表，它們可以讓您更容易安裝桌面環境等東西\"\n\nmsgid \"Select keyboard layout\"\nmsgstr \"選擇鍵盤配置\"\n\nmsgid \"Select one of the regions to download packages from\"\nmsgstr \"請選擇一個地區進行下載軟體套件包\"\n\nmsgid \"Select one or more hard drives to use and configure\"\nmsgstr \"選擇要使用和設定的硬碟（可多選）\"\n\nmsgid \"\"\n\"For the best compatibility with your AMD hardware, you may want to use either \"\n\"the all open-source or AMD / ATI options.\"\nmsgstr \"為了與您的 AMD 設備實現最佳兼容性，您可能需要使用通用開源的驅動程式或選擇 AMD / ATI 選項。\"\n\nmsgid \"\"\n\"For the best compatibility with your Intel hardware, you may want to use eithe\"\n\"r the all open-source or Intel options.\\n\"\nmsgstr \"為了與您的 Intel 設備實現最佳兼容性，您可能需要使用通用開源的驅動程式或選擇 Intel 選項。\\n\"\n\nmsgid \"\"\n\"For the best compatibility with your Nvidia hardware, you may want to use the \"\n\"Nvidia proprietary driver.\\n\"\nmsgstr \"為了與您的 Nvidia 設備實現最佳兼容性，您可能需要使用 Nvidia 官方的驅動程式。\\n\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"請選擇需要安裝的顯示卡驅動程式或留空以直接安裝通用開源的驅動程式\"\n\nmsgid \"All open-source (default)\"\nmsgstr \"全部使用通用開源的驅動程式（預設）\"\n\nmsgid \"Choose which kernels to use or leave blank for default \\\"{}\\\"\"\nmsgstr \"請選擇要使用的内核，或者留空直接使用預設值 “{}”\"\n\nmsgid \"Choose which locale language to use\"\nmsgstr \"選擇要使用的區域語言\"\n\nmsgid \"Choose which locale encoding to use\"\nmsgstr \"選擇要使用的區域編碼\"\n\nmsgid \"Select one of the values shown below: \"\nmsgstr \"選擇如下所示的值之一: \"\n\nmsgid \"Select one or more of the options below: \"\nmsgstr \"請選擇以下一個或多個選項: \"\n\nmsgid \"Adding partition....\"\nmsgstr \"新增磁碟分割區....\"\n\nmsgid \"\"\n\"You need to enter a valid fs-type in order to continue. See `man parted` for v\"\n\"alid fs-type's.\"\nmsgstr \"您需要輸入有效的檔案系統類型才能繼續。有關有效的檔案系統類型，請參閱 `man parted`。\"\n\nmsgid \"Error: Listing profiles on URL \\\"{}\\\" resulted in:\"\nmsgstr \"錯誤：在 URL \\\"{}\\\" 上列出設定檔時出錯: \"\n\nmsgid \"Error: Could not decode \\\"{}\\\" result as JSON:\"\nmsgstr \"錯誤：無法將 \\\"{}\\\" 結果解碼為 JSON: \"\n\nmsgid \"Keyboard layout\"\nmsgstr \"鍵盤配置\"\n\nmsgid \"Mirror region\"\nmsgstr \"鏡像伺服器位置\"\n\nmsgid \"Locale language\"\nmsgstr \"區域語言\"\n\nmsgid \"Locale encoding\"\nmsgstr \"區域編碼\"\n\nmsgid \"Drive(s)\"\nmsgstr \"硬碟\"\n\nmsgid \"Disk layout\"\nmsgstr \"磁盤佈局\"\n\nmsgid \"Encryption password\"\nmsgstr \"加密密碼\"\n\nmsgid \"Swap\"\nmsgstr \"置換空間\"\n\nmsgid \"Bootloader\"\nmsgstr \"開機引導程式\"\n\nmsgid \"Root password\"\nmsgstr \"Root 密碼\"\n\nmsgid \"Superuser account\"\nmsgstr \"超級使用者帳戶\"\n\nmsgid \"User account\"\nmsgstr \"使用者帳戶\"\n\nmsgid \"Profile\"\nmsgstr \"設定檔\"\n\nmsgid \"Audio\"\nmsgstr \"音效\"\n\nmsgid \"Kernels\"\nmsgstr \"内核\"\n\nmsgid \"Additional packages\"\nmsgstr \"額外套件包\"\n\nmsgid \"Network configuration\"\nmsgstr \"網路組態設置\"\n\nmsgid \"Automatic time sync (NTP)\"\nmsgstr \"自動同步時間 (NTP)\"\n\nmsgid \"Install ({} config(s) missing)\"\nmsgstr \"安裝（缺少 {} 個配置）\"\n\nmsgid \"\"\n\"You decided to skip harddrive selection\\n\"\n\"and will use whatever drive-setup is mounted at {} (experimental)\\n\"\n\"WARNING: Archinstall won't check the suitability of this setup\\n\"\n\"Do you wish to continue?\"\nmsgstr \"\"\n\"您決定跳過磁碟機選擇\\n\"\n\"並將使用掛載在 {} (實驗性) 上任一的硬碟設置\\n\"\n\"警告：Archinstall 不會檢查此設置的適用性\\n\"\n\"您想繼續嗎？\"\n\nmsgid \"Re-using partition instance: {}\"\nmsgstr \"重複使用磁碟分割區實例: {}\"\n\nmsgid \"Create a new partition\"\nmsgstr \"建立新的磁碟分割區\"\n\nmsgid \"Delete a partition\"\nmsgstr \"刪除一個磁碟分割區\"\n\nmsgid \"Clear/Delete all partitions\"\nmsgstr \"清除/刪除所有磁碟分割區\"\n\nmsgid \"Assign mount-point for a partition\"\nmsgstr \"為磁碟分割區分配掛載點\"\n\nmsgid \"Mark/Unmark a partition to be formatted (wipes data)\"\nmsgstr \"標記/取消標記要格式化的磁碟分割區 (清除資料)\"\n\nmsgid \"Mark/Unmark a partition as encrypted\"\nmsgstr \"將磁碟分割區標記/取消標記為加密\"\n\nmsgid \"Mark/Unmark a partition as bootable (automatic for /boot)\"\nmsgstr \"將磁碟分割區標記/取消標記為可開機引導（自動為 /boot）\"\n\nmsgid \"Set desired filesystem for a partition\"\nmsgstr \"為磁碟分割區設置所需的檔案系統\"\n\nmsgid \"Abort\"\nmsgstr \"中止\"\n\nmsgid \"Hostname\"\nmsgstr \"主機名稱\"\n\nmsgid \"Not configured, unavailable unless setup manually\"\nmsgstr \"未進行組態設置，除非手動設置，否則無法使用\"\n\nmsgid \"Timezone\"\nmsgstr \"時區\"\n\nmsgid \"Set/Modify the below options\"\nmsgstr \"請設置/修改以下選項\"\n\nmsgid \"Install\"\nmsgstr \"安裝\"\n\nmsgid \"\"\n\"Use ESC to skip\\n\"\n\"\\n\"\nmsgstr \"\"\n\"按下 ESC 鍵，直接跳過\\n\"\n\"\\n\"\n\nmsgid \"Suggest partition layout\"\nmsgstr \"建議磁碟分割區配置\"\n\nmsgid \"Enter a password: \"\nmsgstr \"輸入密碼: \"\n\nmsgid \"Enter a encryption password for {}\"\nmsgstr \"輸入 {} 的加密密碼\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption): \"\nmsgstr \"輸入磁碟機加密密碼 ( 留空表示不加密 ): \"\n\nmsgid \"Create a required super-user with sudo privileges: \"\nmsgstr \"建立具有 sudo 權限的超級使用者: \"\n\nmsgid \"Enter root password (leave blank to disable root): \"\nmsgstr \"請輸入 root 密碼 (若留空，則直接禁用 root帳號) : \"\n\nmsgid \"Password for user \\\"{}\\\": \"\nmsgstr \"使用者 “{}” 的密碼: \"\n\nmsgid \"\"\n\"Verifying that additional packages exist (this might take a few seconds)\"\nmsgstr \"驗證其他套件是否存在 (這可能需要幾秒鐘)\"\n\nmsgid \"\"\n\"Would you like to use automatic time synchronization (NTP) with the default ti\"\n\"me servers?\\n\"\nmsgstr \"是否要對預設時間伺服器使用自動時間同步 (NTP) ?\\n\"\n\nmsgid \"\"\n\"Hardware time and other post-configuration steps might be required in order fo\"\n\"r NTP to work.\\n\"\n\"For more information, please check the Arch wiki\"\nmsgstr \"\"\n\"為了使 NTP 正常運作，可能需要調整硬體時間和其他後續設定步驟。\\n\"\n\"若想了解更多相關資訊，請到 Arch wiki 進行查看\"\n\nmsgid \"Enter a username to create an additional user (leave blank to skip): \"\nmsgstr \"請輸入使用者名稱，得以建立其他使用者 (若留空，則直接跳過): \"\n\nmsgid \"Use ESC to skip\\n\"\nmsgstr \"按下 ESC 鍵，得以跳過\\n\"\n\nmsgid \"\"\n\"\\n\"\n\" Choose an object from the list, and select one of the available actions for i\"\n\"t to execute\"\nmsgstr \"\"\n\"\\n\"\n\"請從列表中選擇一個對象，並選擇需要執行的操作\"\n\nmsgid \"Cancel\"\nmsgstr \"取消\"\n\nmsgid \"Confirm and exit\"\nmsgstr \"確認並退出\"\n\nmsgid \"Add\"\nmsgstr \"新增\"\n\nmsgid \"Copy\"\nmsgstr \"複製\"\n\nmsgid \"Edit\"\nmsgstr \"編輯\"\n\nmsgid \"Delete\"\nmsgstr \"刪除\"\n\nmsgid \"Select an action for '{}'\"\nmsgstr \"請為 “{}” ，而選擇一個操作\"\n\nmsgid \"Copy to new key:\"\nmsgstr \"複製到新密鑰: \"\n\nmsgid \"Unknown nic type: {}. Possible values are {}\"\nmsgstr \"未知網卡類型: {}。 可能的值為 {}\"\n\nmsgid \"\"\n\"\\n\"\n\"This is your chosen configuration:\"\nmsgstr \"\"\n\"\\n\"\n\"這是您所選擇的組態設置: \"\n\nmsgid \"\"\n\"Pacman is already running, waiting maximum 10 minutes for it to terminate.\"\nmsgstr \"Pacman 已在執行中，最多等待 10 分鐘即可終止。\"\n\nmsgid \"\"\n\"Pre-existing pacman lock never exited. Please clean up any existing pacman ses\"\n\"sions before using archinstall.\"\nmsgstr \"先前存在的 pacman 鎖還尚未退出。請在使用 archinstall 之前，關閉且清理所有的 pacman 工作階段。\"\n\nmsgid \"Choose which optional additional repositories to enable\"\nmsgstr \"請選擇要啟用的選用附加套件庫\"\n\nmsgid \"Add a user\"\nmsgstr \"新增使用者\"\n\nmsgid \"Change password\"\nmsgstr \"修改密碼\"\n\nmsgid \"Promote/Demote user\"\nmsgstr \"升級/降級使用者\"\n\nmsgid \"Delete User\"\nmsgstr \"刪除使用者\"\n\nmsgid \"\"\n\"\\n\"\n\"Define a new user\\n\"\nmsgstr \"\"\n\"\\n\"\n\"定義一個新使用者\\n\"\n\nmsgid \"User Name : \"\nmsgstr \"使用者名稱: \"\n\nmsgid \"Should {} be a superuser (sudoer)?\"\nmsgstr \"是否將 {} 設置為超級使用者 (sudoer) ?\"\n\nmsgid \"Define users with sudo privilege: \"\nmsgstr \"定義具有 sudo 權限的使用者 : \"\n\nmsgid \"No network configuration\"\nmsgstr \"無網路組態配置\"\n\nmsgid \"Set desired subvolumes on a btrfs partition\"\nmsgstr \"在 btrfs 磁碟分割區上設置所需的子分區(卷)\"\n\nmsgid \"\"\n\"{}\\n\"\n\"\\n\"\n\"Select which partition to set subvolumes on\"\nmsgstr \"\"\n\"{}\\n\"\n\"\\n\"\n\"選擇要在哪個磁碟分割區上設置子分區(卷)\"\n\nmsgid \"Manage btrfs subvolumes for current partition\"\nmsgstr \"管理目前磁碟分割區的 btrfs 子分區(卷)\"\n\nmsgid \"No configuration\"\nmsgstr \"無組態配置\"\n\nmsgid \"Save user configuration\"\nmsgstr \"保存使用者組態配置\"\n\nmsgid \"Save user credentials\"\nmsgstr \"保存使用者憑證\"\n\nmsgid \"Save disk layout\"\nmsgstr \"保存硬碟配置\"\n\nmsgid \"Save all\"\nmsgstr \"全部存檔\"\n\nmsgid \"Choose which configuration to save\"\nmsgstr \"選擇要保存的組態配置\"\n\nmsgid \"Enter a directory for the configuration(s) to be saved: \"\nmsgstr \"輸入要保存組態配置的目錄：\"\n\nmsgid \"Not a valid directory: {}\"\nmsgstr \"不是有效的目錄: {}\"\n\nmsgid \"The password you are using seems to be weak,\"\nmsgstr \"您所使用的密碼，安全性似乎很弱,\"\n\nmsgid \"are you sure you want to use it?\"\nmsgstr \"您確定要使用它嗎 ?\"\n\nmsgid \"Optional repositories\"\nmsgstr \"可選擇的套件庫\"\n\nmsgid \"Save configuration\"\nmsgstr \"保存組態配置\"\n\nmsgid \"Missing configurations:\\n\"\nmsgstr \"缺少組態配置:\\n\"\n\nmsgid \"Either root-password or at least 1 superuser must be specified\"\nmsgstr \"必須指定 root 密碼或至少 1 個超級使用者\"\n\nmsgid \"Manage superuser accounts: \"\nmsgstr \"管理超級使用者帳號: \"\n\nmsgid \"Manage ordinary user accounts: \"\nmsgstr \"管理普通使用者帳號: \"\n\nmsgid \" Subvolume :{:16}\"\nmsgstr \" 子分區(卷) :{:16}\"\n\nmsgid \" mounted at {:16}\"\nmsgstr \" 掛載在 {:16}\"\n\nmsgid \" with option {}\"\nmsgstr \" 與選項 {}\"\n\nmsgid \"\"\n\"\\n\"\n\" Fill the desired values for a new subvolume \\n\"\nmsgstr \"\"\n\"\\n\"\n\" 填寫新子分區(卷)所需的值\\n\"\n\nmsgid \"Subvolume name \"\nmsgstr \"子分區(卷)名\"\n\nmsgid \"Subvolume mountpoint\"\nmsgstr \"子分區(卷)掛載點\"\n\nmsgid \"Subvolume options\"\nmsgstr \"子分區(卷)選項\"\n\nmsgid \"Save\"\nmsgstr \"存檔\"\n\nmsgid \"Subvolume name :\"\nmsgstr \"子分區(卷)名：\"\n\nmsgid \"Select a mount point :\"\nmsgstr \"選擇掛載點: \"\n\nmsgid \"Select the desired subvolume options \"\nmsgstr \"選擇所需的子分區(卷)選項\"\n\nmsgid \"Define users with sudo privilege, by username: \"\nmsgstr \"根據使用者名稱定義具有 sudo 權限的使用者：\"\n\nmsgid \"[!] A log file has been created here: {}\"\nmsgstr \"[!] 記錄檔已在此處建立: {}\"\n\nmsgid \"Would you like to use BTRFS subvolumes with a default structure?\"\nmsgstr \"您想使用具有預設結構的 BTRFS 子分區(卷)嗎? \"\n\nmsgid \"Would you like to use BTRFS compression?\"\nmsgstr \"您想使用 BTRFS 壓縮嗎 ? \"\n\nmsgid \"Would you like to create a separate partition for /home?\"\nmsgstr \"您想為 /home 建立一個單獨的磁碟分割區嗎 ?\"\n\nmsgid \"\"\n\"The selected drives do not have the minimum capacity required for an automatic\"\n\" suggestion\\n\"\nmsgstr \"所選硬碟沒有自動建議所需的最小容量 \\n\"\n\nmsgid \"Minimum capacity for /home partition: {}GB\\n\"\nmsgstr \"/home 磁碟分割區的最小容量為：{}GB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GB\"\nmsgstr \"Arch Linux 磁碟分割區的最小容量為：{}GB\"\n\nmsgid \"Continue\"\nmsgstr \"繼續\"\n\nmsgid \"yes\"\nmsgstr \"是\"\n\nmsgid \"no\"\nmsgstr \"否\"\n\nmsgid \"set: {}\"\nmsgstr \"設置: {}\"\n\nmsgid \"Manual configuration setting must be a list\"\nmsgstr \"手動配置設置必須為一個列表\"\n\nmsgid \"No iface specified for manual configuration\"\nmsgstr \"沒有為手動配置指定 iface\"\n\nmsgid \"Manual nic configuration with no auto DHCP requires an IP address\"\nmsgstr \"沒有自動 DHCP 的手動 nic 配置需要 IP 地址\"\n\nmsgid \"Add interface\"\nmsgstr \"新增界面\"\n\nmsgid \"Edit interface\"\nmsgstr \"編輯界面\"\n\nmsgid \"Delete interface\"\nmsgstr \"刪除界面\"\n\nmsgid \"Select interface to add\"\nmsgstr \"請選擇需要新增的界面\"\n\nmsgid \"Manual configuration\"\nmsgstr \"手動配置\"\n\nmsgid \"Mark/Unmark a partition as compressed (btrfs only)\"\nmsgstr \"將磁碟分割區標記/取消標記為壓縮（僅限 btrfs）\"\n\nmsgid \"\"\n\"The password you are using seems to be weak, are you sure you want to use it?\"\nmsgstr \"您使用的密碼似乎很弱，您確定要使用嗎? \"\n\nmsgid \"\"\n\"Provides a selection of desktop environments and tiling window managers, e.g. \"\n\"gnome, kde, sway\"\nmsgstr \"提供一系列桌面環境和平鋪視窗管理器，例如 gnome, kde, sway\"\n\nmsgid \"Select your desired desktop environment\"\nmsgstr \"選擇您欲安裝的桌面環境\"\n\nmsgid \"\"\n\"A very basic installation that allows you to customize Arch Linux as you see f\"\n\"it.\"\nmsgstr \"一個非常基本的安裝，同時允許根據您的需求而自行客制化 Arch Linux。\"\n\nmsgid \"\"\n\"Provides a selection of various server packages to install and enable, e.g. ht\"\n\"tpd, nginx, mariadb\"\nmsgstr \"提供一系列可供安裝和啟用的伺服器服務套件，例如 httpd、nginx、mariadb\"\n\nmsgid \"\"\n\"Choose which servers to install, if none then a minimal installation will be d\"\n\"one\"\nmsgstr \"請選擇要安裝的伺服器服務，如果你未進行選擇，則將進行最小化安裝\"\n\nmsgid \"Installs a minimal system as well as xorg and graphics drivers.\"\nmsgstr \"安裝最小化系統以及 xorg 和顯示卡驅動程式。\"\n\nmsgid \"Press Enter to continue.\"\nmsgstr \"請按下 Enter 鍵，以繼續。\"\n\nmsgid \"\"\n\"Would you like to chroot into the newly created installation and perform post-\"\n\"installation configuration?\"\nmsgstr \"您是否想要讓 chroot 進入新建立的安裝，並執行設定安裝後的組態配置嗎 ?\"\n\nmsgid \"Are you sure you want to reset this setting?\"\nmsgstr \"您確定要重置此設置嗎? \"\n\nmsgid \"Select one or more hard drives to use and configure\\n\"\nmsgstr \"選擇一個或多個硬碟来使用和配置\\n\"\n\nmsgid \"Any modifications to the existing setting will reset the disk layout!\"\nmsgstr \"對現有設置的任何修改都將重置硬碟配置！\"\n\nmsgid \"\"\n\"If you reset the harddrive selection this will also reset the current disk lay\"\n\"out. Are you sure?\"\nmsgstr \"如果您重設硬碟選擇，這也會重設目前的磁碟配置。您確定嗎？\"\n\nmsgid \"Save and exit\"\nmsgstr \"存檔並退出\"\n\nmsgid \"\"\n\"{}\\n\"\n\"contains queued partitions, this will remove those, are you sure?\"\nmsgstr \"\"\n\"{}\\n\"\n\"包含佇列的磁碟分割區，這將刪除這些磁碟分割區，您確定嗎 ?\"\n\nmsgid \"No audio server\"\nmsgstr \"無音效伺服器\"\n\nmsgid \"(default)\"\nmsgstr \"(預設)\"\n\nmsgid \"Use ESC to skip\"\nmsgstr \"按下 ESC 鍵,則直接跳過\"\n\nmsgid \"\"\n\"Use CTRL+C to reset current selection\\n\"\n\"\\n\"\nmsgstr \"按下 CTRL+C 組合鍵，則可重置目前選項\\n\"\n\nmsgid \"Copy to: \"\nmsgstr \"複製到: \"\n\nmsgid \"Edit: \"\nmsgstr \"編輯: \"\n\nmsgid \"Key: \"\nmsgstr \"密鑰: \"\n\nmsgid \"Edit {}: \"\nmsgstr \"編輯 {}: \"\n\nmsgid \"Add: \"\nmsgstr \"新增: \"\n\nmsgid \"Value: \"\nmsgstr \"值: \"\n\nmsgid \"\"\n\"You can skip selecting a drive and partitioning and use whatever drive-setup i\"\n\"s mounted at /mnt (experimental)\"\nmsgstr \"您可以跳過選擇硬碟和磁碟分割區，並使用任一掛載在 /mnt 的硬碟設置（實驗性）\"\n\nmsgid \"Select one of the disks or skip and use /mnt as default\"\nmsgstr \"選取其中一個磁碟或跳過，並使用 /mnt 作為預設值\"\n\nmsgid \"Select which partitions to mark for formatting:\"\nmsgstr \"選擇要標記為格式化的磁碟分割區: \"\n\nmsgid \"Use HSM to unlock encrypted drive\"\nmsgstr \"使用 HSM 解鎖加密硬碟\"\n\nmsgid \"Device\"\nmsgstr \"裝置\"\n\nmsgid \"Size\"\nmsgstr \"大小\"\n\nmsgid \"Free space\"\nmsgstr \"可用空間\"\n\nmsgid \"Bus-type\"\nmsgstr \"匯流排類型\"\n\nmsgid \"\"\n\"Either root-password or at least 1 user with sudo privileges must be specified\"\nmsgstr \"必須指定 root 密碼，或至少 1 個具有 sudo 權限的使用者\"\n\nmsgid \"Enter username (leave blank to skip): \"\nmsgstr \"請輸入使用者名稱 (若留空，則直接跳過) : \"\n\nmsgid \"The username you entered is invalid. Try again\"\nmsgstr \"您輸入的使用者名稱無效。請重試\"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\"\nmsgstr \"是否將 “{}” 設置為超級使用者 (sudo)?\"\n\nmsgid \"Select which partitions to encrypt\"\nmsgstr \"選擇要加密的磁碟分割區: \"\n\nmsgid \"very weak\"\nmsgstr \"非常弱\"\n\nmsgid \"weak\"\nmsgstr \"弱\"\n\nmsgid \"moderate\"\nmsgstr \"一般\"\n\nmsgid \"strong\"\nmsgstr \"強\"\n\nmsgid \"Add subvolume\"\nmsgstr \"新增子分區(卷)\"\n\nmsgid \"Edit subvolume\"\nmsgstr \"編輯子分區(卷)\"\n\nmsgid \"Delete subvolume\"\nmsgstr \"刪除子分區(卷)\"\n\nmsgid \"Configured {} interfaces\"\nmsgstr \"已經進行組態配置的 {} 界面\"\n\nmsgid \"\"\n\"This option enables the number of parallel downloads that can occur during ins\"\n\"tallation\"\nmsgstr \"此選項可啟用安裝期間可能發生的平行下載次數\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\" (Enter a value between 1 to {})\\n\"\n\"Note:\"\nmsgstr \"\"\n\"輸入要啟用的平行下載數。\\n\"\n\"  (輸入一個 1 到 {} 之間的值) \\n\"\n\"請注意: \"\n\nmsgid \"\"\n\" - Maximum value   : {} ( Allows {} parallel downloads, allows {} downloads at\"\n\" a time )\"\nmsgstr \"  - 最小值: 1 (允許 1 個平行下載，同時允許 2 個下載)\"\n\nmsgid \"\"\n\" - Minimum value   : 1 ( Allows 1 parallel download, allows 2 downloads at a t\"\n\"ime )\"\nmsgstr \"  - 最小值: 1 (允許 1 個平行下載，同時允許 2 個下載)\"\n\nmsgid \"\"\n\" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download\"\n\" at a time )\"\nmsgstr \"  - 停用/預設 : 0 (預設平行下載，同時只允許 1 個下載)\"\n\n#, python-brace-format\nmsgid \"\"\n\"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to dis\"\n\"able]\"\nmsgstr \"輸入無效 ! 請嘗試使用有效輸入重試 [1 到 {max_downloads}，或 0 到停用]\"\n\nmsgid \"Parallel Downloads\"\nmsgstr \"並行下載\"\n\nmsgid \"ESC to skip\"\nmsgstr \"按下 ESC 鍵，則直接跳過\"\n\nmsgid \"CTRL+C to reset\"\nmsgstr \"按下 CTRL+C 組合鍵，直接進行重置\"\n\nmsgid \"TAB to select\"\nmsgstr \"按下 TAB 鍵，進行選擇\"\n\nmsgid \"[Default value: 0] > \"\nmsgstr \"[預設值: 0] > \"\n\nmsgid \"\"\n\"To be able to use this translation, please install a font manually that suppor\"\n\"ts the language.\"\nmsgstr \"為了能夠使用此翻譯，請手動安裝支持該語言的字體。\"\n\nmsgid \"The font should be stored as {}\"\nmsgstr \"字體應儲存為 {}\"\n\nmsgid \"Archinstall requires root privileges to run. See --help for more.\"\nmsgstr \"Archinstall 需要 root 權限才能運行。若想了解更多相關資訊，請參閱 --help 指令選項。\"\n\nmsgid \"Select an execution mode\"\nmsgstr \"選擇執行模式\"\n\nmsgid \"Unable to fetch profile from specified url: {}\"\nmsgstr \"無法從指定的 URL ，直接獲取設定檔: {}\"\n\nmsgid \"\"\n\"Profiles must have unique name, but profile definitions with duplicate name fo\"\n\"und: {}\"\nmsgstr \"設定檔必須具有唯一的名稱，但找到具有重新名稱的設定檔定義: {}\"\n\nmsgid \"Select one or more devices to use and configure\"\nmsgstr \"選擇一個或多個硬碟来使用和配置\"\n\nmsgid \"\"\n\"If you reset the device selection this will also reset the current disk layout\"\n\". Are you sure?\"\nmsgstr \"如果您重設裝置選擇，這也會重設目前的磁碟配置。您確定嗎？\"\n\nmsgid \"Existing Partitions\"\nmsgstr \"現有的磁碟分割區\"\n\nmsgid \"Select a partitioning option\"\nmsgstr \"選擇磁碟分割選項\"\n\nmsgid \"Enter the root directory of the mounted devices: \"\nmsgstr \"請輸入已掛載裝置的根目錄：\"\n\nmsgid \"Minimum capacity for /home partition: {}GiB\\n\"\nmsgstr \"/home 磁碟分割區的最小容量為 : {} GiB\\n\"\n\nmsgid \"Minimum capacity for Arch Linux partition: {}GiB\"\nmsgstr \"Arch Linux 磁碟分割區的最小容量為 : {} GiB\"\n\nmsgid \"\"\n\"This is a list of pre-programmed profiles_bck, they might make it easier to in\"\n\"stall things like desktop environments\"\nmsgstr \"這是預先編程的 profiles_bck 清單，它們可能會讓您更容易安裝桌面環境等東西\"\n\nmsgid \"Current profile selection\"\nmsgstr \"目前設定檔的選擇\"\n\nmsgid \"Remove all newly added partitions\"\nmsgstr \"建立新磁碟分割區\"\n\nmsgid \"Assign mountpoint\"\nmsgstr \"分配掛載點\"\n\nmsgid \"Mark/Unmark to be formatted (wipes data)\"\nmsgstr \"標記/取消標記要格式化的磁碟分割區（清除資料）\"\n\nmsgid \"Mark/Unmark as bootable\"\nmsgstr \"標記/取消標記磁碟分割區為可開機引導\"\n\nmsgid \"Change filesystem\"\nmsgstr \"更改檔案系統\"\n\nmsgid \"Mark/Unmark as compressed\"\nmsgstr \"將磁碟分割區標記/取消標記為壓縮\"\n\nmsgid \"Set subvolumes\"\nmsgstr \"刪除子分區(卷)\"\n\nmsgid \"Delete partition\"\nmsgstr \"刪除一個磁碟分割區\"\n\nmsgid \"Partition\"\nmsgstr \"磁碟分割區\"\n\nmsgid \"\"\n\"This partition is currently encrypted, to format it a filesystem has to be spe\"\n\"cified\"\nmsgstr \"此磁碟分割區目前已被加密，若要格式化它，必須指定檔案系統\"\n\nmsgid \"\"\n\"Partition mount-points are relative to inside the installation, the boot would\"\n\" be /boot as an example.\"\nmsgstr \" * 磁碟分割區掛載點是相對於安裝内部的，例如 boot 應該為 /boot。\"\n\nmsgid \"\"\n\"If mountpoint /boot is set, then the partition will also be marked as bootable\"\n\".\"\nmsgstr \"如果設置了掛載點/boot，則該分區也將被標記為可開機引導。\"\n\nmsgid \"Mountpoint: \"\nmsgstr \"掛載點 : \"\n\nmsgid \"Current free sectors on device {}:\"\nmsgstr \"目前 {} 設備上的可用區塊 : \"\n\nmsgid \"Total sectors: {}\"\nmsgstr \"總區塊數 : {}\"\n\nmsgid \"Enter the start sector (default: {}): \"\nmsgstr \"輸入起始區塊 (預設 : {}) : \"\n\nmsgid \"\"\n\"Enter the end sector of the partition (percentage or block number, default: {}\"\n\"): \"\nmsgstr \"輸入磁碟分割區的結束區塊 (以百分比或區塊編號表示，預設 : {} ): \"\n\nmsgid \"This will remove all newly added partitions, continue?\"\nmsgstr \"這將刪除所有新增的磁碟分割區，是否繼續？\"\n\nmsgid \"Partition management: {}\"\nmsgstr \"磁碟分割區管理 : {}\"\n\nmsgid \"Total length: {}\"\nmsgstr \"總長度 : {}\"\n\nmsgid \"Encryption type\"\nmsgstr \"加密類型\"\n\nmsgid \"Partitions\"\nmsgstr \"磁碟分割區\"\n\nmsgid \"No HSM devices available\"\nmsgstr \"沒有可用的 HSM 設備\"\n\nmsgid \"Partitions to be encrypted\"\nmsgstr \"需要加密的磁碟分割區 : \"\n\nmsgid \"Select disk encryption option\"\nmsgstr \"選擇磁碟加密選項\"\n\nmsgid \"Select a FIDO2 device to use for HSM\"\nmsgstr \"選擇要用於 HSM 的 FIDO2 設備\"\n\nmsgid \"Use a best-effort default partition layout\"\nmsgstr \"使用最佳的預設磁碟分割配置\"\n\nmsgid \"Manual Partitioning\"\nmsgstr \"手動分割\"\n\nmsgid \"Pre-mounted configuration\"\nmsgstr \"預先掛載組態配置\"\n\nmsgid \"Unknown\"\nmsgstr \"未知\"\n\nmsgid \"Partition encryption\"\nmsgstr \"磁碟分割區加密\"\n\nmsgid \" ! Formatting {} in \"\nmsgstr \" ! 正在格式化 {} 為 \"\n\nmsgid \"← Back\"\nmsgstr \"← 返回\"\n\nmsgid \"Disk encryption\"\nmsgstr \"磁碟加密\"\n\nmsgid \"Configuration\"\nmsgstr \"組態配置\"\n\nmsgid \"Password\"\nmsgstr \"密碼\"\n\nmsgid \"All settings will be reset, are you sure?\"\nmsgstr \"所有設置將被重新設置，你確定嗎 ? \"\n\nmsgid \"Back\"\nmsgstr \"返回\"\n\nmsgid \"Please chose which greeter to install for the chosen profiles: {}\"\nmsgstr \"請選擇依據設定檔安裝的登錄管理器 : {}\"\n\nmsgid \"Environment type: {}\"\nmsgstr \"系統環境類型: {}\"\n\nmsgid \"\"\n\"The proprietary Nvidia driver is not supported by Sway. It is likely that you \"\n\"will run into issues, are you okay with that?\"\nmsgstr \"Sway 不支持 Nvidia 的官方驅動。您可能會遇到一些問題，您確定要繼續嗎 ?\"\n\nmsgid \"Installed packages\"\nmsgstr \"已安裝的套件包\"\n\nmsgid \"Add profile\"\nmsgstr \"新增設定檔\"\n\nmsgid \"Edit profile\"\nmsgstr \"編輯設定檔\"\n\nmsgid \"Delete profile\"\nmsgstr \"刪除設定檔\"\n\nmsgid \"Profile name: \"\nmsgstr \"設定檔名稱 : \"\n\nmsgid \"The profile name you entered is already in use. Try again\"\nmsgstr \"您輸入的設定檔名稱已被使用。請重試\"\n\nmsgid \"\"\n\"Packages to be install with this profile (space separated, leave blank to skip\"\n\"): \"\nmsgstr \"編寫要安裝的套件設定檔 (以空格分隔，留空以跳過) : \"\n\nmsgid \"\"\n\"Services to be enabled with this profile (space separated, leave blank to skip\"\n\"): \"\nmsgstr \"編寫要啟用的附加服務設定檔 (以空格分隔，留空以跳過) :\"\n\nmsgid \"Should this profile be enabled for installation?\"\nmsgstr \"是否啟用此設定檔進行安裝 ?\"\n\nmsgid \"Create your own\"\nmsgstr \"建立您自己的\"\n\nmsgid \"\"\n\"\\n\"\n\"Select a graphics driver or leave blank to install all open-source drivers\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"選擇顯示卡驅動程式或留空以直接安裝開源的驅動程式\"\n\nmsgid \"\"\n\"Sway needs access to your seat (collection of hardware devices i.e. keyboard, \"\n\"mouse, etc)\"\nmsgstr \"Sway 需要存取您的用戶環境（硬體設備的集合，例如鍵盤，滑鼠等）\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Sway access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"選擇一個選項，讓 Sway 可以存取您的硬體\"\n\nmsgid \"Graphics driver\"\nmsgstr \"顯示卡驅動程式\"\n\nmsgid \"Greeter\"\nmsgstr \"登錄管理器\"\n\nmsgid \"Please chose which greeter to install\"\nmsgstr \"請選擇要安裝的登錄管理器\"\n\nmsgid \"This is a list of pre-programmed default_profiles\"\nmsgstr \"這是預設的預設設定檔列表\"\n\nmsgid \"Disk configuration\"\nmsgstr \"硬碟組態配置\"\n\nmsgid \"Profiles\"\nmsgstr \"設定檔\"\n\nmsgid \"Finding possible directories to save configuration files ...\"\nmsgstr \"正在查找可能用於保存組態配置檔的目錄 ...\"\n\nmsgid \"Select directory (or directories) for saving configuration files\"\nmsgstr \"選擇用於保存組態配置檔的目錄（或多個目錄）\"\n\nmsgid \"Add a custom mirror\"\nmsgstr \"新增自訂鏡像伺服器\"\n\nmsgid \"Change custom mirror\"\nmsgstr \"變更自訂鏡像伺服器\"\n\nmsgid \"Delete custom mirror\"\nmsgstr \"刪除自訂鏡像伺服器\"\n\nmsgid \"Enter name (leave blank to skip): \"\nmsgstr \"輸入使用者名稱(留空以跳過): \"\n\nmsgid \"Enter url (leave blank to skip): \"\nmsgstr \"輸入 URL (留空以跳過):\"\n\nmsgid \"Select signature check option\"\nmsgstr \"選擇簽章校驗選項\"\n\nmsgid \"Select signature option\"\nmsgstr \"選擇簽章選項\"\n\nmsgid \"Custom mirrors\"\nmsgstr \"自訂鏡像伺服器\"\n\nmsgid \"Defined\"\nmsgstr \"已定義\"\n\nmsgid \"Save user configuration (including disk layout)\"\nmsgstr \"儲存使用者組態設定 (包括磁碟配置)\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled\"\n\")\\n\"\n\"Save directory: \"\nmsgstr \"\"\n\"輸入需要進行保存組態設定的目錄 (啟用標籤完成) \\n\"\n\"進行保存組態設定的目錄 : \"\n\nmsgid \"\"\n\"Do you want to save {} configuration file(s) in the following location?\\n\"\n\"\\n\"\n\"{}\"\nmsgstr \"\"\n\"您是否要將 {} 組態檔案儲存到下列位置 ?\\n\"\n\"{}\"\n\nmsgid \"Saving {} configuration files to {}\"\nmsgstr \"將 {} 組態檔案儲存至 {}\"\n\nmsgid \"Mirrors\"\nmsgstr \"鏡像伺服器\"\n\nmsgid \"Mirror regions\"\nmsgstr \"鏡像伺服器所在地\"\n\nmsgid \"\"\n\" - Maximum value   : {} ( Allows {} parallel downloads, allows {max_downloads+\"\n\"1} downloads at a time )\"\nmsgstr \"- 最大值 : {} (允許 {} 個平行下載，同時允許 {max_downloads+1} 個下載)\"\n\nmsgid \"Invalid input! Try again with a valid input [1 to {}, or 0 to disable]\"\nmsgstr \"輸入無效! 請再試一次使用有效輸入 [1 至 {}，或 0 至停用]\"\n\nmsgid \"Locales\"\nmsgstr \"地區\"\n\nmsgid \"\"\n\"Use NetworkManager (necessary to configure internet graphically in GNOME and K\"\n\"DE)\"\nmsgstr \"使用 NetworkManager (在 GNOME 和 KDE 中以圖形設定網際網路所需)\"\n\nmsgid \"Total: {} / {}\"\nmsgstr \"總長度: {} / {}\"\n\nmsgid \"All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB...\"\nmsgstr \"所有輸入的值都可以後綴一個單位 :  B、KB、KiB、MB、MiB...\"\n\nmsgid \"If no unit is provided, the value is interpreted as sectors\"\nmsgstr \"如果沒有提供單位，則該值會被解釋為扇區\"\n\nmsgid \"Enter start (default: sector {}): \"\nmsgstr \"輸入起始區塊 (預設 : 扇區 {}): \"\n\nmsgid \"Enter end (default: {}): \"\nmsgstr \"輸入結束區塊 (預設: {}): \"\n\nmsgid \"Unable to determine fido2 devices. Is libfido2 installed?\"\nmsgstr \"無法確定是否偵測到 fido2 裝置。您是否已安裝 libfido2 ?\"\n\nmsgid \"Path\"\nmsgstr \"路徑\"\n\nmsgid \"Manufacturer\"\nmsgstr \"製造廠商\"\n\nmsgid \"Product\"\nmsgstr \"產品\"\n\n#, python-brace-format\nmsgid \"Invalid configuration: {error}\"\nmsgstr \"組態配置無效 : {error}\"\n\nmsgid \"Type\"\nmsgstr \"類型\"\n\nmsgid \"\"\n\"This option enables the number of parallel downloads that can occur during pac\"\n\"kage downloads\"\nmsgstr \"此選項可啟用套件下載期間可能發生的平行下載次數\"\n\nmsgid \"\"\n\"Enter the number of parallel downloads to be enabled.\\n\"\n\"\\n\"\n\"Note:\\n\"\nmsgstr \"\"\n\"輸入要啟用的平行下載數。\\n\"\n\"( 輸入一個 1 到 {max_downloads} 之間的值) \\n\"\n\"請注意 :\\n\"\n\nmsgid \"\"\n\" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )\"\nmsgstr \"- 最小值 : 1 (允許 1 個平行下載，同時允許 2 個下載)\"\n\nmsgid \"\"\n\" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download\"\n\" at a time )\\n\"\nmsgstr \"  - 停用/預設 : 0 (停用平行下載，同時只允許 1 個下載)\\n\"\n\nmsgid \"Invalid input! Try again with a valid input [or 0 to disable]\"\nmsgstr \"無效輸入！請嘗試使用有效輸入再試一次 [或使用 0 進行停用] 。\"\n\nmsgid \"\"\n\"Hyprland needs access to your seat (collection of hardware devices i.e. keyboa\"\n\"rd, mouse, etc)\"\nmsgstr \"Hyprland 需要存取您的用戶環境（收集硬體裝置，例如鍵盤、滑鼠等）\"\n\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"選擇一個選項，讓 Hyprland 能存取您的硬體\"\n\nmsgid \"\"\n\"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB...\"\nmsgstr \"所有輸入的值都可以後綴一個單位 : %、B、KB、KiB、MB、MiB...\"\n\nmsgid \"Would you like to use unified kernel images?\"\nmsgstr \"您想使用統一內核映像嗎 ?\"\n\nmsgid \"Unified kernel images\"\nmsgstr \"統一內核映像\"\n\nmsgid \"Waiting for time sync (timedatectl show) to complete.\"\nmsgstr \"等待時間同步 (timedatectl show) 完成。\"\n\nmsgid \"\"\n\"Time syncronization not completing, while you wait - check the docs for workar\"\n\"ounds: https://archinstall.readthedocs.io/\"\nmsgstr \"時間同步未完成，而您正在等待 - 檢查文件以瞭解解決方案 : https://archinstall.readthedocs.io/\"\n\nmsgid \"\"\n\"Skipping waiting for automatic time sync (this can cause issues if time is out\"\n\" of sync during installation)\"\nmsgstr \"跳過等待自動時間同步（如果安裝期間時間不同步，這可能會導致問題）\"\n\nmsgid \"\"\n\"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete.\"\nmsgstr \"等待 Arch Linux 鑰匙圈同步 (archlinux-keyring-wkd-sync) 完成。\"\n\nmsgid \"Selected profiles: \"\nmsgstr \"己選取的設定檔 : \"\n\nmsgid \"\"\n\"Time synchronization not completing, while you wait - check the docs for worka\"\n\"rounds: https://archinstall.readthedocs.io/\"\nmsgstr \"時間同步未完成，而您正在等待 - 檢查文件以瞭解解決方案 : https://archinstall.readthedocs.io/\"\n\nmsgid \"Mark/Unmark as nodatacow\"\nmsgstr \"標記/取消標記為 nodatacow\"\n\nmsgid \"Would you like to use compression or disable CoW?\"\nmsgstr \"您想使用壓縮或停用寫入時複製(CoW) ?\"\n\nmsgid \"Use compression\"\nmsgstr \"使用壓縮功能\"\n\nmsgid \"Disable Copy-on-Write\"\nmsgstr \"停用寫入時複製 (CoW) 功能\"\n\nmsgid \"\"\n\"Provides a selection of desktop environments and tiling window managers, e.g. \"\n\"GNOME, KDE Plasma, Sway\"\nmsgstr \"提供一系列的桌面環境和平鋪視窗管理員，例如 GNOME、KDE Plasma、Sway\"\n\nmsgid \"Configuration type: {}\"\nmsgstr \"組態配置類型 : {}\"\n\nmsgid \"LVM configuration type\"\nmsgstr \"LVM 組態配置類型\"\n\nmsgid \"\"\n\"LVM disk encryption with more than 2 partitions is currently not supported\"\nmsgstr \"目前不支援超過 2 個磁碟分割的 LVM 磁碟加密\"\n\nmsgid \"\"\n\"Use NetworkManager (necessary to configure internet graphically in GNOME and K\"\n\"DE Plasma)\"\nmsgstr \"使用 NetworkManager (在 GNOME 和 KDE Plasma 中以圖形設定網際網路所需)\"\n\nmsgid \"Select a LVM option\"\nmsgstr \"選擇 LVM 選項\"\n\nmsgid \"Partitioning\"\nmsgstr \"磁碟分割\"\n\nmsgid \"Logical Volume Management (LVM)\"\nmsgstr \"邏輯磁碟分區(卷)管理 (LVM)\"\n\nmsgid \"Physical volumes\"\nmsgstr \"物理磁碟分區(卷)\"\n\nmsgid \"Volumes\"\nmsgstr \"磁碟分區(卷)\"\n\nmsgid \"LVM volumes\"\nmsgstr \"LVM 磁碟分區(卷)\"\n\nmsgid \"LVM volumes to be encrypted\"\nmsgstr \"需加密的 LVM 磁碟分區(卷)\"\n\nmsgid \"Select which LVM volumes to encrypt\"\nmsgstr \"選擇要加密的LVM磁碟分區(卷): \"\n\nmsgid \"Default layout\"\nmsgstr \"預設配置\"\n\nmsgid \"No Encryption\"\nmsgstr \"無加密功能\"\n\nmsgid \"LUKS\"\nmsgstr \"Linux統一金鑰設定(LUKS)\"\n\nmsgid \"LVM on LUKS\"\nmsgstr \"LVM on LUKS\"\n\nmsgid \"LUKS on LVM\"\nmsgstr \"LUKS on LVM\"\n\nmsgid \"Yes\"\nmsgstr \"是\"\n\nmsgid \"No\"\nmsgstr \"否\"\n\nmsgid \"Archinstall help\"\nmsgstr \"Archinstall 協助\"\n\nmsgid \" (default)\"\nmsgstr \"（預設）\"\n\nmsgid \"Press Ctrl+h for help\"\nmsgstr \"按下 Ctrl+h 鍵得以取得協助\"\n\nmsgid \"Choose an option to give Sway access to your hardware\"\nmsgstr \"選擇一個選項，讓 Sway 可以存取您的硬體\"\n\nmsgid \"Seat access\"\nmsgstr \"用戶環境存取\"\n\nmsgid \"Mountpoint\"\nmsgstr \"掛載點\"\n\nmsgid \"HSM\"\nmsgstr \"硬體安全模組(HSM)\"\n\nmsgid \"Enter disk encryption password (leave blank for no encryption)\"\nmsgstr \"輸入磁碟加密密碼 (留空表示不加密)\"\n\nmsgid \"Disk encryption password\"\nmsgstr \"磁碟機加密密碼\"\n\nmsgid \"Partition - New\"\nmsgstr \"磁碟分區 - 新增\"\n\nmsgid \"Filesystem\"\nmsgstr \"檔案系統\"\n\nmsgid \"Invalid size\"\nmsgstr \"無效大小\"\n\nmsgid \"Start (default: sector {}): \"\nmsgstr \"輸入起始區塊 (預設: {} ): \"\n\nmsgid \"End (default: {}): \"\nmsgstr \"輸入結束區塊 (預設: {}): \"\n\nmsgid \"Subvolume name\"\nmsgstr \"子分區(卷)名稱\"\n\nmsgid \"Disk configuration type\"\nmsgstr \"磁碟組態配置類型\"\n\nmsgid \"Root mount directory\"\nmsgstr \"根掛載目錄\"\n\nmsgid \"Select language\"\nmsgstr \"選擇區域語言\"\n\nmsgid \"\"\n\"Write additional packages to install (space separated, leave blank to skip)\"\nmsgstr \"請輸入您要安裝的其它套件包（以空格分隔，留空以跳過）\"\n\nmsgid \"Invalid download number\"\nmsgstr \"無效的下載次數\"\n\nmsgid \"Number downloads\"\nmsgstr \"下載次數\"\n\nmsgid \"The username you entered is invalid\"\nmsgstr \"您所輸入的使用者名稱無效\"\n\nmsgid \"Username\"\nmsgstr \"使用者名稱: \"\n\nmsgid \"Should \\\"{}\\\" be a superuser (sudo)?\\n\"\nmsgstr \"是否將 “{}” 設置為超級使用者 (sudo)?\\n\"\n\nmsgid \"Interfaces\"\nmsgstr \"介面\"\n\nmsgid \"You need to enter a valid IP in IP-config mode\"\nmsgstr \"您需要在 IP 組態配置模式中輸入有效的 IP\"\n\nmsgid \"Modes\"\nmsgstr \"模式\"\n\nmsgid \"IP address\"\nmsgstr \"IP 位置\"\n\nmsgid \"Enter your gateway (router) IP address (leave blank for none)\"\nmsgstr \"請輸入您閘道器(路由器)的 IP 地址或留空以跳過: \"\n\nmsgid \"Gateway address\"\nmsgstr \"閘道器位址\"\n\nmsgid \"Enter your DNS servers with space separated (leave blank for none)\"\nmsgstr \"請輸入您的 DNS 伺服器（以空格分隔，留空以跳過））\"\n\nmsgid \"DNS servers\"\nmsgstr \"DNS 伺服器\"\n\nmsgid \"Configure interfaces\"\nmsgstr \"組態設置介面\"\n\nmsgid \"Kernel\"\nmsgstr \"内核\"\n\nmsgid \"UEFI is not detected and some options are disabled\"\nmsgstr \"未偵測到 UEFI，且某些選項已停用\"\n\nmsgid \"Info\"\nmsgstr \"資訊\"\n\nmsgid \"The proprietary Nvidia driver is not supported by Sway.\"\nmsgstr \"Sway 不支持 Nvidia 官方的顯示卡驅動。\"\n\nmsgid \"It is likely that you will run into issues, are you okay with that?\"\nmsgstr \"您很可能會遇到問題，您能接受嗎 ?\"\n\nmsgid \"Main profile\"\nmsgstr \"主要設定檔\"\n\nmsgid \"Confirm password\"\nmsgstr \"確認密碼\"\n\nmsgid \"The confirmation password did not match, please try again\"\nmsgstr \"確認密碼不符合，請再試一次\"\n\nmsgid \"Not a valid directory\"\nmsgstr \"不是有效的目錄\"\n\nmsgid \"Would you like to continue?\"\nmsgstr \"您想繼續嗎 ?\"\n\nmsgid \"Directory\"\nmsgstr \"目錄\"\n\nmsgid \"\"\n\"Enter a directory for the configuration(s) to be saved (tab completion enabled\"\n\")\"\nmsgstr \"輸入用於儲存組態設定的目錄 (啟用標籤完成)\"\n\nmsgid \"Do you want to save the configuration file(s) to {}?\"\nmsgstr \"您是否要將組態設定檔儲存到 {} ?\"\n\nmsgid \"Enabled\"\nmsgstr \"己啟用\"\n\nmsgid \"Disabled\"\nmsgstr \"己停用\"\n\nmsgid \"\"\n\"Please submit this issue (and file) to https://github.com/archlinux/archinstal\"\n\"l/issues\"\nmsgstr \"請將此問題（以及檔案）提交到 https://github.com/archlinux/archinstall/issues\"\n\nmsgid \"Mirror name\"\nmsgstr \"鏡像伺服器區域\"\n\nmsgid \"Url\"\nmsgstr \"URL\"\n\nmsgid \"Select signature check\"\nmsgstr \"選擇簽章核對\"\n\nmsgid \"Select execution mode\"\nmsgstr \"選擇執行模式\"\n\nmsgid \"Press ? for help\"\nmsgstr \"按下 ? 鍵，而尋求協助\"\n\nmsgid \"Choose an option to give Hyprland access to your hardware\"\nmsgstr \"選擇一個選項，讓 Hyprland 能存取您的硬體\"\n\nmsgid \"Additional repositories\"\nmsgstr \"加入額外的套件庫\"\n\nmsgid \"NTP\"\nmsgstr \"網路時間協定(NTP)\"\n\nmsgid \"Swap on zram\"\nmsgstr \"在 zram 上進行置換(Swap)\"\n\nmsgid \"Name\"\nmsgstr \"名稱\"\n\nmsgid \"Signature check\"\nmsgstr \"簽章檢查\"\n\nmsgid \"Selected free space segment on device {}:\"\nmsgstr \"已選取裝置 {} 上的可用空間區段:\"\n\nmsgid \"Size: {} / {}\"\nmsgstr \"總長度: {}/{}\"\n\nmsgid \"Size (default: {}): \"\nmsgstr \"輸入起始區塊( 預設: {} ):\"\n\nmsgid \"HSM device\"\nmsgstr \"HSM 裝置\"\n\nmsgid \"Some packages could not be found in the repository\"\nmsgstr \"某些套件包無法在套件庫中找到\"\n\nmsgid \"User\"\nmsgstr \"使用者\"\n\nmsgid \"The specified configuration will be applied\"\nmsgstr \"指定的組態設定將會套用\"\n\nmsgid \"Wipe\"\nmsgstr \"清除\"\n\nmsgid \"Mark/Unmark as XBOOTLDR\"\nmsgstr \"標記/取消標記磁碟分割區為 XBOOTLDR\"\n\nmsgid \"Loading packages...\"\nmsgstr \"正在載入套件包...\"\n\nmsgid \"\"\n\"Select any packages from the below list that should be installed additionally\"\nmsgstr \"從下列清單中選擇任何需要額外安裝的套件包\"\n\nmsgid \"Add a custom repository\"\nmsgstr \"新增自訂套件庫\"\n\nmsgid \"Change custom repository\"\nmsgstr \"變更自訂套件庫\"\n\nmsgid \"Delete custom repository\"\nmsgstr \"刪除自訂套件庫\"\n\nmsgid \"Repository name\"\nmsgstr \"套件庫名稱\"\n\nmsgid \"Add a custom server\"\nmsgstr \"新增自訂伺服器\"\n\nmsgid \"Change custom server\"\nmsgstr \"變更自訂伺服器\"\n\nmsgid \"Delete custom server\"\nmsgstr \"刪除自訂伺服器\"\n\nmsgid \"Server url\"\nmsgstr \"伺服器 URL\"\n\n#, fuzzy\nmsgid \"Select regions\"\nmsgstr \"選擇簽章選項\"\n\nmsgid \"Add custom servers\"\nmsgstr \"新增自訂伺服器\"\n\nmsgid \"Add custom repository\"\nmsgstr \"新增自訂套件庫\"\n\nmsgid \"Loading mirror regions...\"\nmsgstr \"載入鏡像伺服器所在地 ...\"\n\nmsgid \"Mirrors and repositories\"\nmsgstr \"鏡像伺服器和套件庫\"\n\nmsgid \"Selected mirror regions\"\nmsgstr \"己選擇鏡像伺服器所在地\"\n\nmsgid \"Custom servers\"\nmsgstr \"自訂伺服器位置\"\n\nmsgid \"Custom repositories\"\nmsgstr \"自訂套件庫\"\n\nmsgid \"Only ASCII characters are supported\"\nmsgstr \"僅支援 ASCII 字元\"\n\nmsgid \"Show help\"\nmsgstr \"顯示協助\"\n\nmsgid \"Exit help\"\nmsgstr \"離開協助\"\n\nmsgid \"Preview scroll up\"\nmsgstr \"向上捲動預覽\"\n\nmsgid \"Preview scroll down\"\nmsgstr \"向下捲動預覽\"\n\nmsgid \"Move up\"\nmsgstr \"上移\"\n\nmsgid \"Move down\"\nmsgstr \"下移\"\n\nmsgid \"Move right\"\nmsgstr \"右移\"\n\nmsgid \"Move left\"\nmsgstr \"左移\"\n\nmsgid \"Jump to entry\"\nmsgstr \"跳轉至入口\"\n\nmsgid \"Skip selection (if available)\"\nmsgstr \"跳過選擇 (如果有)\"\n\nmsgid \"Reset selection (if available)\"\nmsgstr \"重設選擇 (如果有)\"\n\nmsgid \"Select on single select\"\nmsgstr \"在單一選項上進行選擇\"\n\nmsgid \"Select on multi select\"\nmsgstr \"在多重選擇上進行選擇\"\n\nmsgid \"Reset\"\nmsgstr \"重置\"\n\nmsgid \"Skip selection menu\"\nmsgstr \"跳過選擇選單\"\n\nmsgid \"Start search mode\"\nmsgstr \"啟動搜尋模式\"\n\nmsgid \"Exit search mode\"\nmsgstr \"離開搜尋模式\"\n\nmsgid \"\"\n\"labwc needs access to your seat (collection of hardware devices i.e. keyboard,\"\n\" mouse, etc)\"\nmsgstr \"labwc 需要存取您的用戶環境（硬體設備的集合，例如: 鍵盤，滑鼠等）\"\n\nmsgid \"Choose an option to give labwc access to your hardware\"\nmsgstr \"選擇一個選項，讓 labwc 可以存取您的硬體\"\n\nmsgid \"\"\n\"niri needs access to your seat (collection of hardware devices i.e. keyboard, \"\n\"mouse, etc)\"\nmsgstr \"niri 需要存取您的用戶環境（硬體設備的集合，例如鍵盤，滑鼠等）\"\n\nmsgid \"Choose an option to give niri access to your hardware\"\nmsgstr \"選擇一個選項，讓 niri 可以存取您的硬體\"\n\nmsgid \"Mark/Unmark as ESP\"\nmsgstr \"標記/取消標記為EFI系統分割區(ESP,EFI system partition)\"\n\nmsgid \"Package group:\"\nmsgstr \"套件群組：\"\n\nmsgid \"Exit archinstall\"\nmsgstr \"離開 Archinstall\"\n\nmsgid \"Reboot system\"\nmsgstr \"重啟系統\"\n\nmsgid \"chroot into installation for post-installation configurations\"\nmsgstr \"您是否想要讓 chroot 進入新建立的安裝，並執行設定安裝後的組態配置嗎 ?\"\n\nmsgid \"Installation completed\"\nmsgstr \"安裝完畢\"\n\nmsgid \"What would you like to do next?\"\nmsgstr \"接下來您想做什麼？\"\n\nmsgid \"Select which mode to configure for \\\"{}\\\"\"\nmsgstr \"請選擇要設定 「{}」 的模式\"\n\nmsgid \"Incorrect credentials file decryption password\"\nmsgstr \"憑證檔案的解密密碼不正確\"\n\nmsgid \"Incorrect password\"\nmsgstr \"密碼錯誤\"\n\nmsgid \"Credentials file decryption password\"\nmsgstr \"憑證檔案的解密密碼\"\n\nmsgid \"Do you want to encrypt the user_credentials.json file?\"\nmsgstr \"您是否要加密 user_credentials.json 檔案？\"\n\nmsgid \"Credentials file encryption password\"\nmsgstr \"憑證檔案的加密密碼\"\n\nmsgid \"Repositories: {}\"\nmsgstr \"套件庫：{}\"\n"
  },
  {
    "path": "archinstall/main.py",
    "content": "# Arch Linux installer - guided, templates etc.\n\nimport importlib\nimport os\nimport sys\nimport textwrap\nimport time\nimport traceback\nfrom pathlib import Path\n\nfrom archinstall.lib.args import ArchConfigHandler\nfrom archinstall.lib.disk.utils import disk_layouts\nfrom archinstall.lib.hardware import SysInfo\nfrom archinstall.lib.network.wifi_handler import WifiHandler\nfrom archinstall.lib.networking import ping\nfrom archinstall.lib.output import debug, error, info, warn\nfrom archinstall.lib.packages.util import check_version_upgrade\nfrom archinstall.lib.pacman.pacman import Pacman\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.lib.utils.util import running_from_iso\nfrom archinstall.tui.ui.components import tui\n\n\ndef _log_sys_info() -> None:\n\t# Log various information about hardware before starting the installation. This might assist in troubleshooting\n\tdebug(f'Hardware model detected: {SysInfo.sys_vendor()} {SysInfo.product_name()}; UEFI mode: {SysInfo.has_uefi()}')\n\tdebug(f'Processor model detected: {SysInfo.cpu_model()}')\n\tdebug(f'Memory statistics: {SysInfo.mem_available()} available out of {SysInfo.mem_total()} total installed')\n\tdebug(f'Virtualization detected: {SysInfo.virtualization()}; is VM: {SysInfo.is_vm()}')\n\tdebug(f'Graphics devices detected: {SysInfo._graphics_devices().keys()}')\n\n\t# For support reasons, we'll log the disk layout pre installation to match against post-installation layout\n\tdebug(f'Disk states before installing:\\n{disk_layouts()}')\n\n\ndef _check_online(wifi_handler: WifiHandler | None = None) -> bool:\n\ttry:\n\t\tping('1.1.1.1')\n\texcept OSError as ex:\n\t\tif 'Network is unreachable' in str(ex):\n\t\t\tif wifi_handler is not None:\n\t\t\t\tresult: bool = tui.run(wifi_handler)\n\t\t\t\tif not result:\n\t\t\t\t\treturn False\n\n\treturn True\n\n\ndef _fetch_arch_db() -> bool:\n\tinfo('Fetching Arch Linux package database...')\n\ttry:\n\t\tPacman.run('-Sy')\n\texcept Exception as e:\n\t\terror('Failed to sync Arch Linux package database.')\n\t\tif 'could not resolve host' in str(e).lower():\n\t\t\terror('Most likely due to a missing network connection or DNS issue.')\n\n\t\terror('Run archinstall --debug and check /var/log/archinstall/install.log for details.')\n\n\t\tdebug(f'Failed to sync Arch Linux package database: {e}')\n\t\treturn False\n\n\treturn True\n\n\ndef _list_scripts() -> str:\n\tlines = ['The following are viable --script options:']\n\n\tfor file in (Path(__file__).parent / 'scripts').glob('*.py'):\n\t\tif file.stem != '__init__':\n\t\t\tlines.append(f'    {file.stem}')\n\n\treturn '\\n'.join(lines)\n\n\ndef run() -> int:\n\t\"\"\"\n\tThis can either be run as the compiled and installed application: python setup.py install\n\tOR straight as a module: python -m archinstall\n\tIn any case we will be attempting to load the provided script to be run from the scripts/ folder\n\t\"\"\"\n\tarch_config_handler = ArchConfigHandler()\n\n\tif '--help' in sys.argv or '-h' in sys.argv:\n\t\tarch_config_handler.print_help()\n\t\treturn 0\n\n\tscript = arch_config_handler.get_script()\n\n\tif script == 'list':\n\t\tprint(_list_scripts())\n\t\treturn 0\n\n\tif os.getuid() != 0:\n\t\tprint(tr('Archinstall requires root privileges to run. See --help for more.'))\n\t\treturn 1\n\n\t_log_sys_info()\n\n\tif not arch_config_handler.args.offline:\n\t\tif not arch_config_handler.args.skip_wifi_check:\n\t\t\twifi_handler = WifiHandler()\n\t\telse:\n\t\t\twifi_handler = None\n\n\t\tif not _check_online(wifi_handler):\n\t\t\treturn 0\n\n\t\tif not _fetch_arch_db():\n\t\t\treturn 1\n\n\t\tif not arch_config_handler.args.skip_version_check:\n\t\t\tupgrade = check_version_upgrade()\n\n\t\t\tif upgrade:\n\t\t\t\ttext = tr('New version available') + f': {upgrade}'\n\t\t\t\tinfo(text)\n\t\t\t\ttime.sleep(3)\n\n\tif running_from_iso():\n\t\tdebug('Running from ISO (Live Mode)...')\n\telse:\n\t\tdebug('Running from Host (H2T Mode)...')\n\n\tmod_name = f'archinstall.scripts.{script}'\n\t# by loading the module we'll automatically run the script\n\tmodule = importlib.import_module(mod_name)\n\tmodule.main(arch_config_handler)\n\n\treturn 0\n\n\ndef _error_message(exc: Exception) -> None:\n\terr = ''.join(traceback.format_exception(exc))\n\terror(err)\n\n\ttext = textwrap.dedent(\n\t\t\"\"\"\\\n\t\tArchinstall experienced the above error. If you think this is a bug, please report it to\n\t\thttps://github.com/archlinux/archinstall and include the log file \"/var/log/archinstall/install.log\".\n\n\t\tHint: To extract the log from a live ISO\n\t\tcurl -F 'file=@/var/log/archinstall/install.log' https://0x0.st\n\t\t\"\"\"\n\t)\n\twarn(text)\n\n\ndef main() -> int:\n\trc = 0\n\texc = None\n\n\ttry:\n\t\trc = run()\n\texcept Exception as e:\n\t\texc = e\n\tfinally:\n\t\tif exc:\n\t\t\t_error_message(exc)\n\t\t\trc = 1\n\n\treturn rc\n\n\nif __name__ == '__main__':\n\tsys.exit(main())\n"
  },
  {
    "path": "archinstall/scripts/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/scripts/guided.py",
    "content": "import os\nimport sys\nimport time\n\nfrom archinstall.lib.applications.application_handler import ApplicationHandler\nfrom archinstall.lib.args import ArchConfig, ArchConfigHandler\nfrom archinstall.lib.authentication.authentication_handler import AuthenticationHandler\nfrom archinstall.lib.configuration import ConfigurationOutput\nfrom archinstall.lib.disk.filesystem import FilesystemHandler\nfrom archinstall.lib.disk.utils import disk_layouts\nfrom archinstall.lib.global_menu import GlobalMenu\nfrom archinstall.lib.installer import Installer, accessibility_tools_in_use, run_custom_user_commands\nfrom archinstall.lib.interactions.general_conf import PostInstallationAction, select_post_installation\nfrom archinstall.lib.menu.util import delayed_warning\nfrom archinstall.lib.mirror.mirror_handler import MirrorListHandler\nfrom archinstall.lib.models import Bootloader\nfrom archinstall.lib.models.device import DiskLayoutType, EncryptionType\nfrom archinstall.lib.models.users import User\nfrom archinstall.lib.network.network_handler import install_network_config\nfrom archinstall.lib.output import debug, error, info\nfrom archinstall.lib.packages.util import check_version_upgrade\nfrom archinstall.lib.profile.profiles_handler import profile_handler\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.components import tui\n\n\ndef show_menu(\n\tarch_config_handler: ArchConfigHandler,\n\tmirror_list_handler: MirrorListHandler,\n) -> None:\n\tupgrade = check_version_upgrade()\n\ttitle_text = 'Archlinux'\n\n\tif upgrade:\n\t\ttext = tr('New version available') + f': {upgrade}'\n\t\ttitle_text += f' ({text})'\n\n\tglobal_menu = GlobalMenu(\n\t\tarch_config_handler.config,\n\t\tmirror_list_handler,\n\t\tarch_config_handler.args.skip_boot,\n\t\ttitle=title_text,\n\t)\n\n\tif not arch_config_handler.args.advanced:\n\t\tglobal_menu.set_enabled('parallel_downloads', False)\n\n\tresult: ArchConfig | None = tui.run(global_menu)\n\tif result is None:\n\t\tsys.exit(0)\n\n\ndef perform_installation(\n\tarch_config_handler: ArchConfigHandler,\n\tmirror_list_handler: MirrorListHandler,\n\tauth_handler: AuthenticationHandler,\n\tapplication_handler: ApplicationHandler,\n) -> None:\n\t\"\"\"\n\tPerforms the installation steps on a block device.\n\tOnly requirement is that the block devices are\n\tformatted and setup prior to entering this function.\n\t\"\"\"\n\tstart_time = time.monotonic()\n\tinfo('Starting installation...')\n\n\tmountpoint = arch_config_handler.args.mountpoint\n\tconfig = arch_config_handler.config\n\n\tif not config.disk_config:\n\t\terror('No disk configuration provided')\n\t\treturn\n\n\tdisk_config = config.disk_config\n\trun_mkinitcpio = not config.bootloader_config or not config.bootloader_config.uki\n\tlocale_config = config.locale_config\n\toptional_repositories = config.mirror_config.optional_repositories if config.mirror_config else []\n\tmountpoint = disk_config.mountpoint if disk_config.mountpoint else mountpoint\n\n\twith Installer(\n\t\tmountpoint,\n\t\tdisk_config,\n\t\tkernels=config.kernels,\n\t\tsilent=arch_config_handler.args.silent,\n\t) as installation:\n\t\t# Mount all the drives to the desired mountpoint\n\t\tif disk_config.config_type != DiskLayoutType.Pre_mount:\n\t\t\tinstallation.mount_ordered_layout()\n\n\t\tinstallation.sanity_check(\n\t\t\tarch_config_handler.args.offline,\n\t\t\tarch_config_handler.args.skip_ntp,\n\t\t\tarch_config_handler.args.skip_wkd,\n\t\t)\n\n\t\tif disk_config.config_type != DiskLayoutType.Pre_mount:\n\t\t\tif disk_config.disk_encryption and disk_config.disk_encryption.encryption_type != EncryptionType.NoEncryption:\n\t\t\t\t# generate encryption key files for the mounted luks devices\n\t\t\t\tinstallation.generate_key_files()\n\n\t\tif mirror_config := config.mirror_config:\n\t\t\tinstallation.set_mirrors(mirror_list_handler, mirror_config, on_target=False)\n\n\t\tinstallation.minimal_installation(\n\t\t\toptional_repositories=optional_repositories,\n\t\t\tmkinitcpio=run_mkinitcpio,\n\t\t\thostname=arch_config_handler.config.hostname,\n\t\t\tlocale_config=locale_config,\n\t\t)\n\n\t\tif mirror_config := config.mirror_config:\n\t\t\tinstallation.set_mirrors(mirror_list_handler, mirror_config, on_target=True)\n\n\t\tif config.swap and config.swap.enabled:\n\t\t\tinstallation.setup_swap(algo=config.swap.algorithm)\n\n\t\tif config.bootloader_config and config.bootloader_config.bootloader != Bootloader.NO_BOOTLOADER:\n\t\t\tinstallation.add_bootloader(config.bootloader_config.bootloader, config.bootloader_config.uki, config.bootloader_config.removable)\n\n\t\tif config.network_config:\n\t\t\tinstall_network_config(\n\t\t\t\tconfig.network_config,\n\t\t\t\tinstallation,\n\t\t\t\tconfig.profile_config,\n\t\t\t)\n\n\t\tusers = None\n\t\tif config.auth_config:\n\t\t\tif config.auth_config.users:\n\t\t\t\tusers = config.auth_config.users\n\t\t\t\tinstallation.create_users(config.auth_config.users)\n\t\t\t\tauth_handler.setup_auth(installation, config.auth_config, config.hostname)\n\n\t\tif app_config := config.app_config:\n\t\t\tapplication_handler.install_applications(installation, app_config)\n\n\t\tif profile_config := config.profile_config:\n\t\t\tprofile_handler.install_profile_config(installation, profile_config)\n\n\t\tif config.packages and config.packages[0] != '':\n\t\t\tinstallation.add_additional_packages(config.packages)\n\n\t\tif timezone := config.timezone:\n\t\t\tinstallation.set_timezone(timezone)\n\n\t\tif config.ntp:\n\t\t\tinstallation.activate_time_synchronization()\n\n\t\tif accessibility_tools_in_use():\n\t\t\tinstallation.enable_espeakup()\n\n\t\tif config.auth_config and config.auth_config.root_enc_password:\n\t\t\troot_user = User('root', config.auth_config.root_enc_password, False)\n\t\t\tinstallation.set_user_password(root_user)\n\n\t\tif (profile_config := config.profile_config) and profile_config.profile:\n\t\t\tprofile_config.profile.post_install(installation)\n\n\t\t\tif users:\n\t\t\t\tprofile_config.profile.provision(installation, users)\n\n\t\t# If the user provided a list of services to be enabled, pass the list to the enable_service function.\n\t\t# Note that while it's called enable_service, it can actually take a list of services and iterate it.\n\t\tif services := config.services:\n\t\t\tinstallation.enable_service(services)\n\n\t\tif disk_config.has_default_btrfs_vols():\n\t\t\tbtrfs_options = disk_config.btrfs_options\n\t\t\tsnapshot_config = btrfs_options.snapshot_config if btrfs_options else None\n\t\t\tsnapshot_type = snapshot_config.snapshot_type if snapshot_config else None\n\t\t\tif snapshot_type:\n\t\t\t\tbootloader = config.bootloader_config.bootloader if config.bootloader_config else None\n\t\t\t\tinstallation.setup_btrfs_snapshot(snapshot_type, bootloader)\n\n\t\t# If the user provided custom commands to be run post-installation, execute them now.\n\t\tif cc := config.custom_commands:\n\t\t\trun_custom_user_commands(cc, installation)\n\n\t\tinstallation.genfstab()\n\n\t\tdebug(f'Disk states after installing:\\n{disk_layouts()}')\n\n\t\tif not arch_config_handler.args.silent:\n\t\t\telapsed_time = time.monotonic() - start_time\n\t\t\taction: PostInstallationAction = tui.run(lambda: select_post_installation(elapsed_time))\n\n\t\t\tmatch action:\n\t\t\t\tcase PostInstallationAction.EXIT:\n\t\t\t\t\tpass\n\t\t\t\tcase PostInstallationAction.REBOOT:\n\t\t\t\t\t_ = os.system('reboot')\n\t\t\t\tcase PostInstallationAction.CHROOT:\n\t\t\t\t\ttry:\n\t\t\t\t\t\tinstallation.drop_to_shell()\n\t\t\t\t\texcept Exception:\n\t\t\t\t\t\tpass\n\n\ndef main(arch_config_handler: ArchConfigHandler | None = None) -> None:\n\tif arch_config_handler is None:\n\t\tarch_config_handler = ArchConfigHandler()\n\n\tmirror_list_handler = MirrorListHandler(\n\t\toffline=arch_config_handler.args.offline,\n\t\tverbose=arch_config_handler.args.verbose,\n\t)\n\n\tif not arch_config_handler.args.silent:\n\t\tshow_menu(arch_config_handler, mirror_list_handler)\n\n\tconfig = ConfigurationOutput(arch_config_handler.config)\n\tconfig.write_debug()\n\tconfig.save()\n\n\tif arch_config_handler.args.dry_run:\n\t\treturn\n\n\tif not arch_config_handler.args.silent:\n\t\taborted = False\n\t\tres: bool = tui.run(config.confirm_config)\n\n\t\tif not res:\n\t\t\tdebug('Installation aborted')\n\t\t\taborted = True\n\n\t\tif aborted:\n\t\t\treturn main(arch_config_handler)\n\n\tif arch_config_handler.config.disk_config:\n\t\tfs_handler = FilesystemHandler(arch_config_handler.config.disk_config)\n\n\t\tif not delayed_warning(tr('Starting device modifications in ')):\n\t\t\treturn main()\n\n\t\tfs_handler.perform_filesystem_operations()\n\n\tperform_installation(\n\t\tarch_config_handler,\n\t\tmirror_list_handler,\n\t\tAuthenticationHandler(),\n\t\tApplicationHandler(),\n\t)\n\n\nif __name__ == '__main__':\n\tmain()\n"
  },
  {
    "path": "archinstall/scripts/minimal.py",
    "content": "from archinstall.default_profiles.minimal import MinimalProfile\nfrom archinstall.lib.args import ArchConfigHandler\nfrom archinstall.lib.configuration import ConfigurationOutput\nfrom archinstall.lib.disk.disk_menu import DiskLayoutConfigurationMenu\nfrom archinstall.lib.disk.filesystem import FilesystemHandler\nfrom archinstall.lib.installer import Installer\nfrom archinstall.lib.menu.util import delayed_warning\nfrom archinstall.lib.models import Bootloader\nfrom archinstall.lib.models.profile import ProfileConfiguration\nfrom archinstall.lib.models.users import Password, User\nfrom archinstall.lib.network.network_handler import install_network_config\nfrom archinstall.lib.output import debug, error, info\nfrom archinstall.lib.profile.profiles_handler import profile_handler\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.components import tui\n\n\ndef perform_installation(arch_config_handler: ArchConfigHandler) -> None:\n\tmountpoint = arch_config_handler.args.mountpoint\n\tconfig = arch_config_handler.config\n\n\tif not config.disk_config:\n\t\terror('No disk configuration provided')\n\t\treturn\n\n\tdisk_config = config.disk_config\n\tmountpoint = disk_config.mountpoint if disk_config.mountpoint else mountpoint\n\n\twith Installer(\n\t\tmountpoint,\n\t\tdisk_config,\n\t\tkernels=config.kernels,\n\t\tsilent=arch_config_handler.args.silent,\n\t) as installation:\n\t\t# Strap in the base system, add a bootloader and configure\n\t\t# some other minor details as specified by this profile and user.\n\t\tinstallation.mount_ordered_layout()\n\t\tinstallation.minimal_installation()\n\t\tinstallation.set_hostname('minimal-arch')\n\t\tinstallation.add_bootloader(Bootloader.Systemd)\n\n\t\tif config.network_config:\n\t\t\tinstall_network_config(\n\t\t\t\tconfig.network_config,\n\t\t\t\tinstallation,\n\t\t\t\tconfig.profile_config,\n\t\t\t)\n\n\t\tinstallation.add_additional_packages(['nano', 'wget', 'git'])\n\n\t\tprofile_config = ProfileConfiguration(MinimalProfile())\n\t\tprofile_handler.install_profile_config(installation, profile_config)\n\n\t\tuser = User('devel', Password(plaintext='devel'), False)\n\t\tinstallation.create_users(user)\n\n\t# Once this is done, we output some useful information to the user\n\t# And the installation is complete.\n\tinfo('There are two new accounts in your installation after reboot:')\n\tinfo(' * root (password: airoot)')\n\tinfo(' * devel (password: devel)')\n\n\nasync def main(arch_config_handler: ArchConfigHandler | None = None) -> None:\n\tif arch_config_handler is None:\n\t\tarch_config_handler = ArchConfigHandler()\n\n\tdisk_config = await DiskLayoutConfigurationMenu(disk_layout_config=None).show()\n\tarch_config_handler.config.disk_config = disk_config\n\n\tconfig = ConfigurationOutput(arch_config_handler.config)\n\tconfig.write_debug()\n\tconfig.save()\n\n\tif arch_config_handler.args.dry_run:\n\t\treturn\n\n\tif not arch_config_handler.args.silent:\n\t\taborted = False\n\t\tres: bool = tui.run(config.confirm_config)\n\n\t\tif not res:\n\t\t\tdebug('Installation aborted')\n\t\t\taborted = True\n\n\t\tif aborted:\n\t\t\treturn await main(arch_config_handler)\n\n\tif arch_config_handler.config.disk_config:\n\t\tfs_handler = FilesystemHandler(arch_config_handler.config.disk_config)\n\n\t\tif not delayed_warning(tr('Starting device modifications in ')):\n\t\t\treturn await main()\n\n\t\tfs_handler.perform_filesystem_operations()\n\n\tperform_installation(arch_config_handler)\n\n\nif __name__ == '__main__':\n\ttui.run(main)\n"
  },
  {
    "path": "archinstall/scripts/only_hd.py",
    "content": "import sys\nfrom pathlib import Path\n\nfrom archinstall.lib.args import ArchConfig, ArchConfigHandler\nfrom archinstall.lib.configuration import ConfigurationOutput\nfrom archinstall.lib.disk.filesystem import FilesystemHandler\nfrom archinstall.lib.disk.utils import disk_layouts\nfrom archinstall.lib.global_menu import GlobalMenu\nfrom archinstall.lib.installer import Installer\nfrom archinstall.lib.menu.util import delayed_warning\nfrom archinstall.lib.output import debug, error\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.components import tui\n\n\ndef show_menu(arch_config_handler: ArchConfigHandler) -> None:\n\tglobal_menu = GlobalMenu(arch_config_handler.config)\n\tglobal_menu.disable_all()\n\n\tglobal_menu.set_enabled('archinstall_language', True)\n\tglobal_menu.set_enabled('disk_config', True)\n\tglobal_menu.set_enabled('swap', True)\n\tglobal_menu.set_enabled('__config__', True)\n\n\tresult: ArchConfig | None = tui.run(global_menu)\n\tif result is None:\n\t\tsys.exit(0)\n\n\ndef perform_installation(arch_config_handler: ArchConfigHandler) -> None:\n\t\"\"\"\n\tPerforms the installation steps on a block device.\n\tOnly requirement is that the block devices are\n\tformatted and setup prior to entering this function.\n\t\"\"\"\n\tmountpoint = arch_config_handler.args.mountpoint\n\tconfig = arch_config_handler.config\n\n\tif not config.disk_config:\n\t\terror('No disk configuration provided')\n\t\treturn\n\n\tdisk_config = config.disk_config\n\tmountpoint = disk_config.mountpoint if disk_config.mountpoint else mountpoint\n\n\twith Installer(\n\t\tmountpoint,\n\t\tdisk_config,\n\t\tkernels=config.kernels,\n\t\tsilent=arch_config_handler.args.silent,\n\t) as installation:\n\t\t# Mount all the drives to the desired mountpoint\n\t\t# This *can* be done outside of the installation, but the installer can deal with it.\n\t\tinstallation.mount_ordered_layout()\n\n\t\t# to generate a fstab directory holder. Avoids an error on exit and at the same time checks the procedure\n\t\ttarget = Path(f'{mountpoint}/etc/fstab')\n\t\tif not target.parent.exists():\n\t\t\ttarget.parent.mkdir(parents=True)\n\n\t# For support reasons, we'll log the disk layout post installation (crash or no crash)\n\tdebug(f'Disk states after installing:\\n{disk_layouts()}')\n\n\ndef main(arch_config_handler: ArchConfigHandler | None = None) -> None:\n\tif arch_config_handler is None:\n\t\tarch_config_handler = ArchConfigHandler()\n\n\tif not arch_config_handler.args.silent:\n\t\tshow_menu(arch_config_handler)\n\n\tconfig = ConfigurationOutput(arch_config_handler.config)\n\tconfig.write_debug()\n\tconfig.save()\n\n\tif arch_config_handler.args.dry_run:\n\t\treturn\n\n\tif not arch_config_handler.args.silent:\n\t\taborted = False\n\t\tres: bool = tui.run(config.confirm_config)\n\n\t\tif not res:\n\t\t\tdebug('Installation aborted')\n\t\t\taborted = True\n\n\t\tif aborted:\n\t\t\treturn main(arch_config_handler)\n\n\tif arch_config_handler.config.disk_config:\n\t\tfs_handler = FilesystemHandler(arch_config_handler.config.disk_config)\n\n\t\tif not delayed_warning(tr('Starting device modifications in ')):\n\t\t\treturn main()\n\n\t\tfs_handler.perform_filesystem_operations()\n\n\tperform_installation(arch_config_handler)\n\n\nif __name__ == '__main__':\n\tmain()\n"
  },
  {
    "path": "archinstall/tui/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/tui/curses_menu.py",
    "content": "from __future__ import annotations\n\nimport curses\nimport os\nimport signal\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom collections.abc import Callable\nfrom curses.ascii import isprint\nfrom curses.textpad import Textbox\nfrom types import FrameType, TracebackType\nfrom typing import ClassVar, Literal, Self, override\n\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.help import Help\nfrom archinstall.tui.menu_item import MenuItem, MenuItemGroup, MenuItemsState\nfrom archinstall.tui.result import Result, ResultType\nfrom archinstall.tui.types import (\n\tSCROLL_INTERVAL,\n\tSTYLE,\n\tAlignment,\n\tChars,\n\tFrameDim,\n\tFrameProperties,\n\tFrameStyle,\n\tMenuKeys,\n\tOrientation,\n\tPreviewStyle,\n\tViewportEntry,\n)\n\n\nclass AbstractCurses[ValueT](metaclass=ABCMeta):\n\tdef __init__(self) -> None:\n\t\tself._help_window = self._set_help_viewport()\n\n\t@abstractmethod\n\tdef resize_win(self) -> None:\n\t\tpass\n\n\t@abstractmethod\n\tdef kickoff(self, win: curses.window) -> Result[ValueT]:\n\t\tpass\n\n\tdef clear_all(self) -> None:\n\t\tTui.t().screen.clear()\n\t\tTui.t().screen.refresh()\n\n\tdef clear_help_win(self) -> None:\n\t\tself._help_window.erase()\n\n\tdef _set_help_viewport(self) -> Viewport:\n\t\tmax_height, max_width = Tui.t().max_yx\n\t\theight = max_height - 10\n\n\t\tmax_help_width = max([len(line) for line in Help.get_help_text().split('\\n')])\n\t\tx_start = int((max_width / 2) - (max_help_width / 2))\n\n\t\treturn Viewport(\n\t\t\tmax_help_width + 10,\n\t\t\theight,\n\t\t\tx_start,\n\t\t\tint((max_height / 2) - height / 2),\n\t\t\tframe=FrameProperties.min(tr('Archinstall help')),\n\t\t)\n\n\tdef _confirm_interrupt(self, warning: str) -> bool:\n\t\twhile True:\n\t\t\tresult = SelectMenu[bool](\n\t\t\t\tMenuItemGroup.yes_no(),\n\t\t\t\theader=warning,\n\t\t\t\talignment=Alignment.CENTER,\n\t\t\t\tcolumns=2,\n\t\t\t\torientation=Orientation.HORIZONTAL,\n\t\t\t).run()\n\n\t\t\tmatch result.type_:\n\t\t\t\tcase ResultType.Selection:\n\t\t\t\t\tif result.item() == MenuItem.yes():\n\t\t\t\t\t\treturn True\n\n\t\t\treturn False\n\n\tdef help_text(self) -> str:\n\t\treturn tr('Press Ctrl+h for help')\n\n\tdef _show_help(self) -> None:\n\t\thelp_text = Help.get_help_text()\n\t\tlines = help_text.split('\\n')\n\n\t\tentries = [ViewportEntry('', 0, 0, STYLE.NORMAL)]\n\t\tentries += [ViewportEntry(f'   {e}\t ', idx + 1, 0, STYLE.NORMAL) for idx, e in enumerate(lines)]\n\t\tself._help_window.update(entries, 0)\n\n\tdef get_header_entries(self, header: str) -> list[ViewportEntry]:\n\t\tfull_header = []\n\t\trows = header.split('\\n')\n\n\t\tfor cur_row, line in enumerate(rows):\n\t\t\tfull_header += [ViewportEntry(line, cur_row, 0, STYLE.NORMAL)]\n\n\t\treturn full_header\n\n\nclass AbstractViewport:\n\tdef __init__(self) -> None:\n\t\tpass\n\n\tdef add_str(self, screen: curses.window, row: int, col: int, text: str, color: STYLE) -> None:\n\t\ttry:\n\t\t\tscreen.addstr(row, col, text, Tui.t().get_color(color))\n\t\texcept curses.error:\n\t\t\t# debug(f'Curses error while adding string to viewport: {text}')\n\t\t\tpass\n\n\tdef add_frame(\n\t\tself,\n\t\tentries: list[ViewportEntry],\n\t\tmax_width: int,\n\t\tmax_height: int,\n\t\tframe: FrameProperties,\n\t\tscroll_pct: int | None = None,\n\t) -> list[ViewportEntry]:\n\t\tif not entries:\n\t\t\treturn []\n\n\t\tdim = self._get_frame_dim(entries, max_width, max_height, frame)\n\n\t\th_bar = Chars.Horizontal * (dim.x_delta() - 2)\n\t\ttop_ve = self._get_top(dim, h_bar, frame, scroll_pct)\n\t\tbottom_ve = self._get_bottom(dim, h_bar, scroll_pct)\n\n\t\tframe_border = []\n\n\t\tfor i in range(1, dim.height):\n\t\t\tframe_border += [ViewportEntry(Chars.Vertical, i, dim.x_start, STYLE.NORMAL)]\n\n\t\tframe_border += self._get_right_frame(dim, scroll_pct)\n\n\t\t# adjust the original rows and cols of the entries as\n\t\t# they need to be shrunk by 1 to make space for the frame\n\t\tentries = self._adjust_entries(entries)\n\n\t\tframed_entries = [\n\t\t\ttop_ve,\n\t\t\tbottom_ve,\n\t\t\t*frame_border,\n\t\t\t*entries,\n\t\t]\n\n\t\treturn framed_entries\n\n\tdef align_center(self, lines: list[ViewportEntry], width: int) -> int:\n\t\tmax_col = self._max_col(lines)\n\t\tx_offset = int((width / 2) - (max_col / 2))\n\t\treturn x_offset\n\n\tdef _get_right_frame(\n\t\tself,\n\t\tdim: FrameDim,\n\t\tscroll_percentage: int | None = None,\n\t) -> list[ViewportEntry]:\n\t\tright_frame = {}\n\t\tscroll_height = int(dim.height * scroll_percentage // 100) if scroll_percentage else 0\n\n\t\tif scroll_height <= 0:\n\t\t\tscroll_height = 1\n\t\telif scroll_height >= dim.height:\n\t\t\tscroll_height = dim.height - 1\n\n\t\tfor i in range(1, dim.height):\n\t\t\tright_frame[i] = ViewportEntry(Chars.Vertical, i, dim.x_end - 1, STYLE.NORMAL)\n\n\t\tif scroll_percentage is not None:\n\t\t\tright_frame[0] = ViewportEntry(Chars.Triangle_up, 0, dim.x_end - 1, STYLE.NORMAL)\n\t\t\tright_frame[scroll_height] = ViewportEntry(Chars.Block, scroll_height, dim.x_end - 1, STYLE.NORMAL)\n\t\t\tright_frame[dim.height] = ViewportEntry(Chars.Triangle_down, dim.height, dim.x_end - 1, STYLE.NORMAL)\n\n\t\treturn list(right_frame.values())\n\n\tdef _get_top(\n\t\tself,\n\t\tdim: FrameDim,\n\t\th_bar: str,\n\t\tframe: FrameProperties,\n\t\tscroll_percentage: int | None = None,\n\t) -> ViewportEntry:\n\t\ttop = self._replace_str(h_bar, 1, f' {frame.header} ') if frame.header else h_bar\n\n\t\tif scroll_percentage is None:\n\t\t\ttop = Chars.Upper_left + top + Chars.Upper_right\n\t\telse:\n\t\t\ttop = Chars.Upper_left + top[:-1]\n\n\t\treturn ViewportEntry(top, 0, dim.x_start, STYLE.NORMAL)\n\n\tdef _get_bottom(\n\t\tself,\n\t\tdim: FrameDim,\n\t\th_bar: str,\n\t\tscroll_pct: int | None = None,\n\t) -> ViewportEntry:\n\t\tif scroll_pct is None:\n\t\t\tbottom = Chars.Lower_left + h_bar + Chars.Lower_right\n\t\telse:\n\t\t\tbottom = Chars.Lower_left + h_bar[:-1]\n\n\t\treturn ViewportEntry(bottom, dim.height, dim.x_start, STYLE.NORMAL)\n\n\tdef _get_frame_dim(\n\t\tself,\n\t\tentries: list[ViewportEntry],\n\t\tmax_width: int,\n\t\tmax_height: int,\n\t\tframe: FrameProperties,\n\t) -> FrameDim:\n\t\trows = self._assemble_entries(entries).split('\\n')\n\t\theader_len = len(frame.header) if frame.header else 0\n\t\theader_len += 3  # for header padding\n\n\t\tif frame.w_frame_style == FrameStyle.MIN:\n\t\t\tframe_start = min([e.col for e in entries])\n\t\t\tmax_row_cols = [(e.col + len(e.text) + 1) for e in entries]\n\t\t\tmax_row_cols.append(header_len)\n\t\t\tframe_end = max(max_row_cols)\n\n\t\t\t# 2 for frames, 1 for extra space start away from frame\n\t\t\t# must align with def _adjust_entries\n\t\t\t# 2 for frame\n\t\t\tframe_end += 3\n\n\t\t\tframe_height = len(rows) + 1\n\t\t\tif frame_height > max_height:\n\t\t\t\tframe_height = max_height\n\t\telse:\n\t\t\tframe_start = 0\n\t\t\tframe_end = max_width\n\t\t\tframe_height = max_height - 1\n\n\t\treturn FrameDim(frame_start, frame_end, frame_height)\n\n\tdef _adjust_entries(\n\t\tself,\n\t\tentries: list[ViewportEntry],\n\t) -> list[ViewportEntry]:\n\t\tfor entry in entries:\n\t\t\t# top row frame offset\n\t\t\tentry.row += 1\n\t\t\t# left side frame offset + extra space from frame to start from\n\t\t\tentry.col += 2\n\n\t\treturn entries\n\n\tdef _num_unique_rows(self, entries: list[ViewportEntry]) -> int:\n\t\treturn len(set([e.row for e in entries]))\n\n\tdef _max_col(self, entries: list[ViewportEntry]) -> int:\n\t\tvalues = [len(e.text) + e.col for e in entries]\n\t\tif not values:\n\t\t\treturn 0\n\t\treturn max(values)\n\n\tdef _replace_str(self, text: str, index: int = 0, replacement: str = '') -> str:\n\t\tlen_replace = len(replacement)\n\t\treturn f'{text[:index]}{replacement}{text[index + len_replace :]}'\n\n\tdef _assemble_entries(self, entries: list[ViewportEntry]) -> str:\n\t\tif not entries:\n\t\t\treturn ''\n\n\t\tmax_col = self._max_col(entries)\n\t\tview = [max_col * ' '] * self._num_unique_rows(entries)\n\n\t\tfor e in entries:\n\t\t\tview[e.row] = self._replace_str(view[e.row], e.col, e.text)\n\n\t\tview = [v.rstrip() for v in view]\n\n\t\treturn '\\n'.join(view)\n\n\nclass EditViewport(AbstractViewport):\n\tdef __init__(\n\t\tself,\n\t\twidth: int,\n\t\tedit_width: int,\n\t\tedit_height: int,\n\t\tx_start: int,\n\t\ty_start: int,\n\t\tprocess_key: Callable[[int], int],\n\t\tframe: FrameProperties,\n\t\talignment: Alignment = Alignment.CENTER,\n\t\thide_input: bool = False,\n\t) -> None:\n\t\tsuper().__init__()\n\n\t\tself._max_height, self._max_width = Tui.t().max_yx\n\n\t\tself._width = width\n\t\tself._edit_width = edit_width\n\t\tself._edit_height = edit_height\n\t\tself.x_start = x_start\n\t\tself.y_start = y_start\n\t\tself._process_key_cb = process_key\n\t\tself._frame = frame\n\t\tself._alignment = alignment\n\t\tself._hide_input = hide_input\n\n\t\tself._main_win: curses.window | None = None\n\t\tself._edit_win: curses.window | None = None\n\t\tself._textbox: Textbox | None = None\n\n\t\tself._init_wins()\n\n\tdef _init_wins(self) -> None:\n\t\tself._main_win = curses.newwin(self._edit_height, self._width, self.y_start, 0)\n\t\tself._main_win.nodelay(False)\n\n\t\tx_offset = 0\n\t\tif self._alignment == Alignment.CENTER:\n\t\t\tx_offset = int((self._width / 2) - (self._edit_width / 2))\n\n\t\tself._edit_win = self._main_win.subwin(\n\t\t\t1,\n\t\t\tself._edit_width - 2,\n\t\t\tself.y_start + 1,\n\t\t\tself.x_start + x_offset + 1,\n\t\t)\n\n\tdef update(self) -> None:\n\t\tif not self._main_win:\n\t\t\treturn\n\n\t\tself._main_win.erase()\n\n\t\tframed = self.add_frame(\n\t\t\t[ViewportEntry('', 0, 0, STYLE.NORMAL)],\n\t\t\tself._edit_width,\n\t\t\t3,\n\t\t\tframe=self._frame,\n\t\t)\n\n\t\tx_offset = 0\n\t\tif self._alignment == Alignment.CENTER:\n\t\t\tx_offset = self.align_center(framed, self._width)\n\n\t\tfor row in framed:\n\t\t\tself.add_str(\n\t\t\t\tself._main_win,\n\t\t\t\trow.row,\n\t\t\t\trow.col + x_offset,\n\t\t\t\trow.text,\n\t\t\t\trow.style,\n\t\t\t)\n\n\t\tself._main_win.refresh()\n\n\tdef textbox_value(self) -> str:\n\t\tif not self._textbox:\n\t\t\treturn ''\n\t\treturn self._textbox.gather().strip()\n\n\tdef erase(self) -> None:\n\t\tif self._main_win:\n\t\t\tself._main_win.erase()\n\t\t\tself._main_win.refresh()\n\n\tdef edit(self, default_text: str | None = None) -> None:\n\t\tassert self._edit_win and self._main_win\n\n\t\tself._edit_win.erase()\n\n\t\tif default_text is not None and len(default_text) > 0:\n\t\t\tself._edit_win.addstr(0, 0, default_text)\n\n\t\t# if this gets initialized multiple times it will be an overlay\n\t\t# and ENTER has to be pressed multiple times to accept\n\t\tif not self._textbox:\n\t\t\tself._textbox = Textbox(self._edit_win)\n\t\t\tself._main_win.refresh()\n\n\t\tself._textbox.edit(self._process_key_cb)\n\n\nclass Viewport(AbstractViewport):\n\tdef __init__(\n\t\tself,\n\t\twidth: int,\n\t\theight: int,\n\t\tx_start: int,\n\t\ty_start: int,\n\t\tframe: FrameProperties | None = None,\n\t\talignment: Alignment = Alignment.LEFT,\n\t):\n\t\tsuper().__init__()\n\n\t\tself.width = width\n\t\tself.height = height\n\t\tself.x_start = x_start\n\t\tself.y_start = y_start\n\t\tself._frame = frame\n\t\tself._alignment = alignment\n\n\t\tself._main_win = curses.newwin(self.height, self.width, self.y_start, self.x_start)\n\t\tself._main_win.nodelay(False)\n\t\tself._main_win.standout()\n\n\tdef getch(self) -> int:\n\t\treturn self._main_win.getch()\n\n\tdef erase(self) -> None:\n\t\tself._main_win.erase()\n\t\tself._main_win.refresh()\n\n\tdef update(\n\t\tself,\n\t\tentries: list[ViewportEntry],\n\t\tcur_pos: int = 0,\n\t\tscroll_pos: int | None = None,\n\t) -> None:\n\t\t# self._state = self._get_viewport_state(lines, cur_pos, scroll_pos)\n\t\t# visible_entries = self._adjust_entries_row(self._state.displayed_entries)\n\t\tvisible_entries = entries\n\n\t\tif self._frame:\n\t\t\tvisible_entries = self.add_frame(\n\t\t\t\tvisible_entries,\n\t\t\t\tself.width,\n\t\t\t\tself.height,\n\t\t\t\tframe=self._frame,\n\t\t\t\tscroll_pct=scroll_pos,\n\t\t\t)\n\n\t\tx_offset = 0\n\t\tif self._alignment == Alignment.CENTER:\n\t\t\tx_offset = self.align_center(visible_entries, self.width)\n\n\t\tself._main_win.erase()\n\n\t\tfor entry in visible_entries:\n\t\t\tself.add_str(\n\t\t\t\tself._main_win,\n\t\t\t\tentry.row,\n\t\t\t\tentry.col + x_offset,\n\t\t\t\tentry.text,\n\t\t\t\tentry.style,\n\t\t\t)\n\n\t\tself._main_win.refresh()\n\n\nclass EditMenu(AbstractCurses[str]):\n\tdef __init__(\n\t\tself,\n\t\ttitle: str,\n\t\tedit_width: int = 50,\n\t\theader: str | None = None,\n\t\tvalidator: Callable[[str | None], str | None] | None = None,\n\t\tallow_skip: bool = False,\n\t\tallow_reset: bool = False,\n\t\treset_warning_msg: str | None = None,\n\t\talignment: Alignment = Alignment.CENTER,\n\t\tdefault_text: str | None = None,\n\t\thide_input: bool = False,\n\t):\n\t\tsuper().__init__()\n\n\t\tself._max_height, self._max_width = Tui.t().max_yx\n\n\t\tself._header = header\n\n\t\tself._header_entries = []\n\t\tif header:\n\t\t\tself._header_entries = self.get_header_entries(header)\n\n\t\tself._validator = validator\n\t\tself._allow_skip = allow_skip\n\t\tself._allow_reset = allow_reset\n\t\tself._interrupt_warning = reset_warning_msg\n\t\tself._alignment = alignment\n\t\tself._edit_width = edit_width\n\t\tself._default_text = default_text\n\t\tself._hide_input = hide_input\n\n\t\tif self._interrupt_warning is None:\n\t\t\tself._interrupt_warning = tr('Are you sure you want to reset this setting?') + '\\n'\n\n\t\ttitle = f'* {title}' if not self._allow_skip else title\n\t\tself._frame = FrameProperties(title, FrameStyle.MAX)\n\n\t\tself._title_vp: Viewport | None = None\n\t\tself._header_vp: Viewport | None = None\n\t\tself._input_vp: EditViewport | None = None\n\t\tself._info_vp: Viewport | None = None\n\n\t\tself._set_default_info = True\n\t\tself._only_ascii_text = ViewportEntry(tr('Only ASCII characters are supported'), 0, 0, STYLE.NORMAL)\n\n\t\tself._init_viewports()\n\n\t\tself._last_state: Result[str] | None = None\n\t\tself._help_active = False\n\n\t\tself._current_text = default_text or ''\n\t\tself._real_input = default_text or ''\n\n\tdef _init_viewports(self) -> None:\n\t\ty_offset = 0\n\n\t\tself._title_vp = Viewport(self._max_width, 2, 0, y_offset)\n\t\ty_offset += 2\n\n\t\tif self._header_entries:\n\t\t\theader_height = len(self._header_entries)\n\t\t\tself._header_vp = Viewport(self._max_width, header_height, 0, y_offset, alignment=self._alignment)\n\t\t\ty_offset += header_height\n\n\t\tself._input_vp = EditViewport(\n\t\t\tself._max_width,\n\t\t\tself._edit_width,\n\t\t\t3,\n\t\t\t0,\n\t\t\ty_offset,\n\t\t\tself._process_edit_key,\n\t\t\tframe=self._frame,\n\t\t\talignment=self._alignment,\n\t\t\thide_input=self._hide_input,\n\t\t)\n\n\t\ty_offset += 3\n\t\tself._info_vp = Viewport(self._max_width, 1, 0, y_offset, alignment=self._alignment)\n\n\tdef input(self) -> Result[str]:\n\t\tresult = Tui.run(self)\n\n\t\tassert not result.has_item() or isinstance(result.text(), str)\n\n\t\tself._clear_all()\n\t\treturn result\n\n\t@override\n\tdef resize_win(self) -> None:\n\t\tself._draw()\n\n\tdef _clear_all(self) -> None:\n\t\tif self._title_vp:\n\t\t\tself._title_vp.erase()\n\t\tif self._header_vp:\n\t\t\tself._header_vp.erase()\n\t\tif self._input_vp:\n\t\t\tself._input_vp.erase()\n\t\tif self._info_vp:\n\t\t\tself._info_vp.erase()\n\n\tdef _get_input_text(self) -> str | None:\n\t\tassert self._input_vp\n\t\tassert self._info_vp\n\n\t\ttext = self._real_input\n\n\t\tself.clear_all()\n\n\t\tif self._validator:\n\t\t\tif (err := self._validator(text)) is not None:\n\t\t\t\tself.clear_all()\n\t\t\t\tentry = ViewportEntry(err, 0, 0, STYLE.ERROR)\n\t\t\t\tself._info_vp.update([entry], 0)\n\t\t\t\tself._set_default_info = False\n\n\t\t\t\tif self._hide_input:\n\t\t\t\t\tself._real_input = ''\n\n\t\t\t\treturn None\n\n\t\treturn text\n\n\tdef _draw(self) -> None:\n\t\tif self._title_vp:\n\t\t\thelp_text = self.help_text()\n\t\t\thelp_entry = ViewportEntry(help_text, 0, 0, STYLE.NORMAL)\n\t\t\tself._title_vp.update([help_entry], 0)\n\n\t\tif self._header_entries and self._header_vp:\n\t\t\tself._header_vp.update(self._header_entries, 0)\n\n\t\tif self._input_vp:\n\t\t\tself._input_vp.update()\n\n\t\t\tif self._set_default_info and self._info_vp:\n\t\t\t\tself._info_vp.update([self._only_ascii_text], 0)\n\n\t\t\tself._input_vp.edit(default_text=self._real_input)\n\n\t@override\n\tdef kickoff(self, win: curses.window) -> Result[str]:\n\t\ttry:\n\t\t\tself._draw()\n\t\texcept KeyboardInterrupt:\n\t\t\tif not self._handle_interrupt():\n\t\t\t\treturn self.kickoff(win)\n\t\t\telse:\n\t\t\t\tself._last_state = Result(ResultType.Reset, None)\n\n\t\tif self._last_state is None:\n\t\t\treturn self.kickoff(win)\n\n\t\tif self._last_state.type_ == ResultType.Selection:\n\t\t\ttext = self._get_input_text()\n\n\t\t\tif text is None:\n\t\t\t\treturn self.kickoff(win)\n\t\t\telse:\n\t\t\t\tif not text and not self._allow_skip:\n\t\t\t\t\treturn self.kickoff(win)\n\n\t\t\treturn Result(ResultType.Selection, text)\n\n\t\treturn self._last_state\n\n\tdef _process_edit_key(self, key: int) -> int:\n\t\tkey_handles = MenuKeys.from_ord(key)\n\n\t\tif self._help_active:\n\t\t\tif MenuKeys.ESC in key_handles:\n\t\t\t\tself._help_active = False\n\t\t\t\tself.clear_help_win()\n\t\t\t\treturn 7\n\t\t\treturn 0\n\n\t\t# remove standard keys from the list of key handles\n\t\tkey_handles = [key for key in key_handles if key != MenuKeys.STD_KEYS]\n\n\t\t# regular key stroke should be passed to the editor\n\t\tif key_handles:\n\t\t\tspecial_key = key_handles[0]\n\n\t\t\tmatch special_key:\n\t\t\t\tcase MenuKeys.HELP:\n\t\t\t\t\tassert self._input_vp\n\t\t\t\t\tself._current_text = self._input_vp.textbox_value()\n\t\t\t\t\tself._clear_all()\n\t\t\t\t\tself._help_active = True\n\t\t\t\t\tself._show_help()\n\t\t\t\t\treturn 0\n\t\t\t\tcase MenuKeys.ESC:\n\t\t\t\t\tif self._allow_skip:\n\t\t\t\t\t\tself._last_state = Result(ResultType.Skip, None)\n\t\t\t\t\t\tkey = 7\n\t\t\t\tcase MenuKeys.ACCEPT:\n\t\t\t\t\tself._last_state = Result(ResultType.Selection, None)\n\t\t\t\t\tkey = 7\n\t\t\t\tcase MenuKeys.BACKSPACE:\n\t\t\t\t\tif len(self._real_input) > 0:\n\t\t\t\t\t\tself._real_input = self._real_input[:-1]\n\t\t\t\tcase _:\n\t\t\t\t\tif isprint(key):\n\t\t\t\t\t\tself._real_input += chr(key)\n\t\t\t\t\t\tif self._hide_input:\n\t\t\t\t\t\t\tkey = 42\n\t\telse:\n\t\t\ttry:\n\t\t\t\tif isprint(key):\n\t\t\t\t\tself._real_input += chr(key)\n\t\t\t\t\tif self._hide_input:\n\t\t\t\t\t\tkey = 42\n\t\t\texcept Exception:\n\t\t\t\tpass\n\n\t\treturn key\n\n\tdef _handle_interrupt(self) -> bool:\n\t\tif self._allow_reset:\n\t\t\tif self._interrupt_warning:\n\t\t\t\treturn self._confirm_interrupt(self._interrupt_warning)\n\t\telse:\n\t\t\treturn False\n\n\t\treturn True\n\n\nclass SelectMenu[ValueT](AbstractCurses[ValueT]):\n\tdef __init__(\n\t\tself,\n\t\tgroup: MenuItemGroup,\n\t\tmulti: bool = False,\n\t\torientation: Orientation = Orientation.VERTICAL,\n\t\talignment: Alignment = Alignment.LEFT,\n\t\tcolumns: int = 1,\n\t\tcolumn_spacing: int = 10,\n\t\theader: str | None = None,\n\t\tframe: FrameProperties | None = None,\n\t\tcursor_char: str = '>',\n\t\tsearch_enabled: bool = True,\n\t\tallow_skip: bool = False,\n\t\tallow_reset: bool = False,\n\t\treset_warning_msg: str | None = None,\n\t\tpreview_style: PreviewStyle = PreviewStyle.NONE,\n\t\tpreview_size: float | Literal['auto'] = 0.2,\n\t\tpreview_frame: FrameProperties | None = None,\n\t\tadditional_title: str | None = None,\n\t):\n\t\tsuper().__init__()\n\n\t\tself._multi = multi\n\t\tself._cursor_char = f'{cursor_char} '\n\t\tself._search_enabled = search_enabled\n\t\tself._allow_skip = allow_skip\n\t\tself._allow_reset = allow_reset\n\t\tself._active_search = False\n\t\tself._help_active = False\n\t\tself._item_group = group\n\t\tself._preview_style = preview_style\n\t\tself._preview_frame = preview_frame\n\t\tself._orientation = orientation\n\t\tself._column_spacing = column_spacing\n\t\tself._alignment = alignment\n\t\tself._footers = self._footer_entries()\n\t\tself._frame = frame\n\t\tself._interrupt_warning = reset_warning_msg\n\t\tself._header = header\n\t\tself._additional_title = additional_title\n\n\t\tself._header_entries = []\n\t\tif header:\n\t\t\tself._header_entries = self.get_header_entries(header)\n\n\t\tif self._interrupt_warning is None:\n\t\t\tself._interrupt_warning = tr('Are you sure you want to reset this setting?') + '\\n'\n\n\t\tif self._orientation == Orientation.HORIZONTAL:\n\t\t\tself._horizontal_cols = columns\n\t\telse:\n\t\t\tself._horizontal_cols = 1\n\n\t\tself._prev_scroll_pos: int = 0\n\n\t\tself._visible_entries: list[ViewportEntry] = []\n\t\tself._max_height, self._max_width = Tui.t().max_yx\n\n\t\tself._title_vp: Viewport | None = None\n\t\tself._header_vp: Viewport | None = None\n\t\tself._footer_vp: Viewport | None = None\n\t\tself._menu_vp: Viewport | None = None\n\t\tself._preview_vp: Viewport | None = None\n\n\t\tself._init_viewports(preview_size)\n\n\t\tassert self._menu_vp is not None\n\t\tself._items_state: MenuItemsState = MenuItemsState(  # type: ignore[unreachable]\n\t\t\tself._item_group,\n\t\t\ttotal_cols=self._horizontal_cols,\n\t\t\ttotal_rows=self._menu_vp.height,\n\t\t\twith_frame=self._frame is not None,\n\t\t)\n\n\tdef run(self) -> Result[ValueT]:\n\t\tresult = Tui.run(self)\n\t\tself._clear_all()\n\t\treturn result\n\n\t@override\n\tdef kickoff(self, win: curses.window) -> Result[ValueT]:\n\t\tself._draw()\n\n\t\twhile True:\n\t\t\ttry:\n\t\t\t\tif not self._help_active:\n\t\t\t\t\tself._draw()\n\n\t\t\t\tkey = win.getch()\n\n\t\t\t\tret = self._process_input_key(key)\n\n\t\t\t\tif ret is not None:\n\t\t\t\t\treturn ret\n\t\t\texcept KeyboardInterrupt:\n\t\t\t\tif self._handle_interrupt():\n\t\t\t\t\treturn Result(ResultType.Reset, None)\n\t\t\t\telse:\n\t\t\t\t\treturn self.kickoff(win)\n\n\t@override\n\tdef resize_win(self) -> None:\n\t\tself._draw()\n\n\tdef _clear_all(self) -> None:\n\t\tself.clear_help_win()\n\n\t\tif self._header_vp:\n\t\t\tself._header_vp.erase()\n\t\tif self._menu_vp:\n\t\t\tself._menu_vp.erase()\n\t\tif self._preview_vp:\n\t\t\tself._preview_vp.erase()\n\t\tif self._footer_vp:\n\t\t\tself._footer_vp.erase()\n\t\tif self._title_vp:\n\t\t\tself._title_vp.erase()\n\n\tdef _footer_entries(self) -> list[ViewportEntry]:\n\t\tif self._active_search:\n\t\t\tfilter_pattern = self._item_group.filter_pattern\n\t\t\treturn [ViewportEntry(f'/{filter_pattern}', 0, 0, STYLE.NORMAL)]\n\n\t\treturn []\n\n\tdef _init_viewports(self, arg_prev_size: float | Literal['auto']) -> None:\n\t\tfooter_height = 2  # possible filter at the bottom\n\t\ty_offset = 0\n\n\t\tself._title_vp = Viewport(self._max_width, 2, 0, y_offset)\n\t\ty_offset += 2\n\n\t\tif self._header_entries:\n\t\t\theader_height = len(self._header_entries)\n\t\t\tself._header_vp = Viewport(\n\t\t\t\tself._max_width,\n\t\t\t\theader_height,\n\t\t\t\t0,\n\t\t\t\ty_offset,\n\t\t\t\talignment=self._alignment,\n\t\t\t)\n\t\t\ty_offset += header_height\n\n\t\tprev_offset = y_offset + footer_height\n\t\tprev_size = self._determine_prev_size(arg_prev_size, offset=prev_offset)\n\t\tavailable_height = self._max_height - y_offset - footer_height\n\n\t\tmatch self._preview_style:\n\t\t\tcase PreviewStyle.BOTTOM:\n\t\t\t\tmenu_height = available_height - prev_size\n\n\t\t\t\tself._menu_vp = Viewport(\n\t\t\t\t\tself._max_width,\n\t\t\t\t\tmenu_height,\n\t\t\t\t\t0,\n\t\t\t\t\ty_offset,\n\t\t\t\t\tframe=self._frame,\n\t\t\t\t\talignment=self._alignment,\n\t\t\t\t)\n\t\t\t\tself._preview_vp = Viewport(\n\t\t\t\t\tself._max_width,\n\t\t\t\t\tprev_size,\n\t\t\t\t\t0,\n\t\t\t\t\tmenu_height + y_offset,\n\t\t\t\t\tframe=self._preview_frame,\n\t\t\t\t)\n\t\t\tcase PreviewStyle.RIGHT:\n\t\t\t\tmenu_width = self._max_width - prev_size\n\n\t\t\t\tself._menu_vp = Viewport(\n\t\t\t\t\tmenu_width,\n\t\t\t\t\tavailable_height,\n\t\t\t\t\t0,\n\t\t\t\t\ty_offset,\n\t\t\t\t\tframe=self._frame,\n\t\t\t\t\talignment=self._alignment,\n\t\t\t\t)\n\t\t\t\tself._preview_vp = Viewport(\n\t\t\t\t\tprev_size,\n\t\t\t\t\tavailable_height,\n\t\t\t\t\tmenu_width,\n\t\t\t\t\ty_offset,\n\t\t\t\t\tframe=self._preview_frame,\n\t\t\t\t\talignment=self._alignment,\n\t\t\t\t)\n\t\t\tcase PreviewStyle.TOP:\n\t\t\t\tmenu_height = available_height - prev_size\n\n\t\t\t\tself._menu_vp = Viewport(\n\t\t\t\t\tself._max_width,\n\t\t\t\t\tmenu_height,\n\t\t\t\t\t0,\n\t\t\t\t\tprev_size + y_offset,\n\t\t\t\t\tframe=self._frame,\n\t\t\t\t\talignment=self._alignment,\n\t\t\t\t)\n\t\t\t\tself._preview_vp = Viewport(\n\t\t\t\t\tself._max_width,\n\t\t\t\t\tprev_size,\n\t\t\t\t\t0,\n\t\t\t\t\ty_offset,\n\t\t\t\t\tframe=self._preview_frame,\n\t\t\t\t\talignment=self._alignment,\n\t\t\t\t)\n\t\t\tcase PreviewStyle.NONE:\n\t\t\t\tself._menu_vp = Viewport(\n\t\t\t\t\tself._max_width,\n\t\t\t\t\tavailable_height,\n\t\t\t\t\t0,\n\t\t\t\t\ty_offset,\n\t\t\t\t\tframe=self._frame,\n\t\t\t\t\talignment=self._alignment,\n\t\t\t\t)\n\n\t\tself._footer_vp = Viewport(\n\t\t\tself._max_width,\n\t\t\tfooter_height,\n\t\t\t0,\n\t\t\tself._max_height - footer_height,\n\t\t)\n\n\tdef _determine_prev_size(\n\t\tself,\n\t\tpreview_size: float | Literal['auto'],\n\t\toffset: int = 0,\n\t) -> int:\n\t\tif not isinstance(preview_size, float) and preview_size != 'auto':\n\t\t\traise ValueError('preview size must be a float or \"auto\"')\n\n\t\tprev_size: int = 0\n\n\t\tif preview_size == 'auto':\n\t\t\tmatch self._preview_style:\n\t\t\t\tcase PreviewStyle.RIGHT:\n\t\t\t\t\tmenu_width = self._item_group.get_max_width() + 5\n\t\t\t\t\tif self._multi:\n\t\t\t\t\t\tmenu_width += 5\n\t\t\t\t\tprev_size = self._max_width - menu_width\n\t\t\t\tcase PreviewStyle.BOTTOM:\n\t\t\t\t\tmenu_height = len(self._item_group.items) + 1  # leave empty line between menu and preview\n\t\t\t\t\tprev_size = self._max_height - offset - menu_height\n\t\t\t\tcase PreviewStyle.TOP:\n\t\t\t\t\tmenu_height = len(self._item_group.items)\n\t\t\t\t\tprev_size = self._max_height - offset - menu_height\n\t\telse:\n\t\t\tmatch self._preview_style:\n\t\t\t\tcase PreviewStyle.RIGHT:\n\t\t\t\t\tprev_size = int(self._max_width * preview_size)\n\t\t\t\tcase PreviewStyle.BOTTOM:\n\t\t\t\t\tprev_size = int((self._max_height - offset) * preview_size)\n\t\t\t\tcase PreviewStyle.TOP:\n\t\t\t\t\tprev_size = int((self._max_height - offset) * preview_size)\n\n\t\treturn prev_size\n\n\tdef _draw(self) -> None:\n\t\tfooter_entries = self._footer_entries()\n\n\t\titems = self._items_state.get_view_items()\n\t\tvp_entries = self._item_to_vp_entry(items)\n\n\t\tif self._title_vp:\n\t\t\ttitle_text = self.help_text()\n\n\t\t\tif self._additional_title is not None:\n\t\t\t\ttitle_text += f' {self._additional_title}'\n\n\t\t\ttitle_vp_entry = ViewportEntry(title_text, 0, 0, STYLE.NORMAL)\n\n\t\t\tself._update_viewport(self._title_vp, [title_vp_entry])\n\n\t\tif self._header_vp:\n\t\t\tself._update_viewport(self._header_vp, self._header_entries)\n\n\t\tif self._menu_vp:\n\t\t\tself._update_viewport(self._menu_vp, vp_entries)\n\n\t\tif vp_entries:\n\t\t\tself._update_preview()\n\t\telif self._preview_vp:\n\t\t\tself._update_viewport(self._preview_vp, [])\n\n\t\tif self._footer_vp:\n\t\t\tself._update_viewport(self._footer_vp, footer_entries, 0)\n\n\tdef _update_viewport(\n\t\tself,\n\t\tviewport: Viewport,\n\t\tentries: list[ViewportEntry],\n\t\tcur_pos: int = 0,\n\t) -> None:\n\t\tif entries:\n\t\t\tviewport.update(entries, cur_pos=cur_pos)\n\t\telse:\n\t\t\tviewport.update([])\n\n\tdef _get_col_widths(self, items: list[list[MenuItem]]) -> list[int]:\n\t\tcols_widths = self._calc_col_widths(items, self._horizontal_cols)\n\t\treturn [col_width + len(self._cursor_char) + self._item_distance() for col_width in cols_widths]\n\n\tdef _item_distance(self) -> int:\n\t\tif self._horizontal_cols == 1:\n\t\t\treturn 0\n\t\telse:\n\t\t\treturn self._column_spacing\n\n\tdef _item_to_vp_entry(self, items: list[list[MenuItem]]) -> list[ViewportEntry]:\n\t\tentries = []\n\t\tcols_widths = self._get_col_widths(items)\n\n\t\tfor row_idx, row in enumerate(items):\n\t\t\tcur_pos = len(self._cursor_char)\n\n\t\t\tfor col_idx, cell in enumerate(row):\n\t\t\t\tcur_text = ''\n\t\t\t\tstyle = STYLE.NORMAL\n\n\t\t\t\tif cell == self._item_group.focus_item:\n\t\t\t\t\tcur_text = self._cursor_char\n\t\t\t\t\tstyle = STYLE.MENU_STYLE\n\n\t\t\t\tentries += [ViewportEntry(cur_text, row_idx, cur_pos - len(self._cursor_char), STYLE.CURSOR_STYLE)]\n\n\t\t\t\tmenu_item_text = self._menu_item_text(cell)\n\t\t\t\tentries += [ViewportEntry(menu_item_text, row_idx, cur_pos, style)]\n\t\t\t\tcur_pos += len(menu_item_text)\n\n\t\t\t\tif col_idx < len(row) - 1:\n\t\t\t\t\tspacer_len = cols_widths[col_idx] - len(menu_item_text)\n\t\t\t\t\tentries += [ViewportEntry(' ' * spacer_len, row_idx, cur_pos, STYLE.NORMAL)]\n\t\t\t\t\tcur_pos += spacer_len\n\n\t\treturn entries\n\n\tdef _calc_col_widths(self, rows: list[list[MenuItem]], columns: int) -> list[int]:\n\t\tcol_widths = []\n\n\t\tfor row in rows:\n\t\t\tcol_entries = []\n\t\t\tfor column in range(columns):\n\t\t\t\tif column < len(row):\n\t\t\t\t\tcol_entries += [len(row[column].text)]\n\n\t\t\tif col_entries:\n\t\t\t\tcol_widths += [max(col_entries)]\n\n\t\treturn col_widths\n\n\tdef _menu_item_text(self, item: MenuItem) -> str:\n\t\titem_text = ''\n\n\t\tif self._multi and not item.is_empty():\n\t\t\titem_text += self._multi_prefix(item)\n\n\t\titem_text += self._item_group.get_item_text(item)\n\t\treturn item_text\n\n\tdef _update_preview(self) -> None:\n\t\tif not self._preview_vp:\n\t\t\treturn\n\n\t\tfocus_item = self._item_group.focus_item\n\n\t\tif not focus_item or focus_item.preview_action is None:\n\t\t\tself._preview_vp.update([])\n\t\t\treturn\n\n\t\taction_text = focus_item.preview_action(focus_item)\n\n\t\tif not action_text:\n\t\t\tself._preview_vp.update([])\n\t\t\treturn\n\n\t\tpreview_text = action_text.split('\\n')\n\t\tentries = [ViewportEntry(e, idx, 0, STYLE.NORMAL) for idx, e in enumerate(preview_text)]\n\n\t\ttotal_prev_rows = max([e.row for e in entries]) + 1  # rows start with 0 and we need the count\n\t\tavailable_rows = self._preview_vp.height - 2  # for the preview frame\n\n\t\tself._calc_prev_scroll_pos(entries, total_prev_rows)\n\t\tprev_entries = self._get_scroll_win_prev_entries(entries, total_prev_rows, available_rows)\n\t\tscroll_pct = self._get_scroll_pct(total_prev_rows, available_rows)\n\n\t\tself._preview_vp.update(prev_entries, scroll_pos=scroll_pct)\n\n\tdef _get_scroll_pct(\n\t\tself,\n\t\ttotal_prev_rows: int,\n\t\tavailable_rows: int,\n\t) -> int | None:\n\t\tassert self._preview_vp is not None\n\n\t\tif total_prev_rows <= available_rows:\n\t\t\treturn None\n\n\t\tpct = int(self._prev_scroll_pos / total_prev_rows * 100)\n\n\t\tif pct + SCROLL_INTERVAL > 100:\n\t\t\tpct = 100\n\n\t\tif pct < 0:\n\t\t\tpct = 0\n\n\t\treturn pct\n\n\tdef _get_scroll_win_prev_entries(\n\t\tself,\n\t\tentries: list[ViewportEntry],\n\t\ttotal_prev_rows: int,\n\t\tavailable_rows: int,\n\t) -> list[ViewportEntry]:\n\t\tassert self._preview_vp is not None\n\n\t\tif total_prev_rows <= available_rows:\n\t\t\tstart_row = 0\n\t\telse:\n\t\t\tstart_row = self._prev_scroll_pos\n\n\t\tend_row = start_row + available_rows\n\n\t\tif end_row > total_prev_rows:\n\t\t\tend_row = total_prev_rows\n\n\t\tprev_entries = [e for e in entries if start_row <= e.row < end_row]\n\n\t\t# normalize the rows\n\t\tfor e in prev_entries:\n\t\t\te.row -= start_row\n\n\t\treturn prev_entries\n\n\tdef _calc_prev_scroll_pos(\n\t\tself,\n\t\tentries: list[ViewportEntry],\n\t\ttotal_prev_rows: int,\n\t) -> None:\n\t\tif self._prev_scroll_pos >= total_prev_rows:\n\t\t\tself._prev_scroll_pos = total_prev_rows - 2\n\t\telif self._prev_scroll_pos < 0:\n\t\t\tself._prev_scroll_pos = 0\n\n\tdef _multi_prefix(self, item: MenuItem) -> str:\n\t\tif item.read_only:\n\t\t\treturn '\t'\n\t\telif self._item_group.is_item_selected(item):\n\t\t\treturn '[x] '\n\t\telse:\n\t\t\treturn '[ ] '\n\n\tdef _handle_interrupt(self) -> bool:\n\t\tif self._allow_reset and self._interrupt_warning:\n\t\t\treturn self._confirm_interrupt(self._interrupt_warning)\n\t\telse:\n\t\t\treturn False\n\n\tdef _process_input_key(self, key: int) -> Result[ValueT] | None:\n\t\tkey_handles = MenuKeys.from_ord(key)\n\n\t\tif self._help_active:\n\t\t\tif MenuKeys.ESC in key_handles:\n\t\t\t\tself._help_active = False\n\t\t\t\tself.clear_help_win()\n\t\t\t\tself._draw()\n\t\t\treturn None\n\n\t\t# special case when search is currently active\n\t\tif self._active_search:\n\t\t\tif MenuKeys.STD_KEYS in key_handles:\n\t\t\t\tself._item_group.append_filter(chr(key))\n\t\t\t\tself._draw()\n\t\t\t\treturn None\n\t\t\telif MenuKeys.BACKSPACE in key_handles:\n\t\t\t\tself._item_group.reduce_filter()\n\t\t\t\tself._draw()\n\t\t\t\treturn None\n\n\t\t# remove standard keys from the list of key handles\n\t\tkey_handles = [key for key in key_handles if key != MenuKeys.STD_KEYS]\n\n\t\tif len(key_handles) > 1:\n\t\t\tdecoded = MenuKeys.decode(key)\n\t\t\thandles = ', '.join(k.name for k in key_handles)\n\t\t\traise ValueError(f'Multiple key matches for key {decoded}: {handles}')\n\t\telif len(key_handles) == 0:\n\t\t\treturn None\n\n\t\thandle = key_handles[0]\n\n\t\tmatch handle:\n\t\t\tcase MenuKeys.HELP:\n\t\t\t\tself._help_active = True\n\t\t\t\tself._clear_all()\n\t\t\t\tself._show_help()\n\t\t\t\treturn None\n\t\t\tcase MenuKeys.ACCEPT:\n\t\t\t\tif self._multi:\n\t\t\t\t\tif self._item_group.is_mandatory_fulfilled():\n\t\t\t\t\t\tif self._item_group.focus_item is not None:\n\t\t\t\t\t\t\tif self._item_group.focus_item not in self._item_group.selected_items:\n\t\t\t\t\t\t\t\tself._item_group.selected_items.append(self._item_group.focus_item)\n\t\t\t\t\t\t\treturn Result(ResultType.Selection, self._item_group.selected_items)\n\t\t\t\telse:\n\t\t\t\t\titem = self._item_group.focus_item\n\t\t\t\t\tif item:\n\t\t\t\t\t\tif item.action:\n\t\t\t\t\t\t\titem.value = item.action(item.value)\n\n\t\t\t\t\t\tif self._item_group.is_mandatory_fulfilled():\n\t\t\t\t\t\t\treturn Result(ResultType.Selection, self._item_group.focus_item)\n\n\t\t\t\t\treturn None\n\t\t\tcase MenuKeys.MENU_DOWN | MenuKeys.MENU_RIGHT:\n\t\t\t\tself._focus_item('next')\n\t\t\tcase MenuKeys.MENU_UP | MenuKeys.MENU_LEFT:\n\t\t\t\tself._focus_item('prev')\n\t\t\tcase MenuKeys.MENU_START:\n\t\t\t\tself._focus_item('first')\n\t\t\tcase MenuKeys.MENU_END:\n\t\t\t\tself._focus_item('last')\n\t\t\tcase MenuKeys.MULTI_SELECT:\n\t\t\t\tif self._multi:\n\t\t\t\t\tself._item_group.select_current_item()\n\t\t\tcase MenuKeys.ENABLE_SEARCH:\n\t\t\t\tif self._search_enabled and not self._active_search:\n\t\t\t\t\tself._active_search = True\n\t\t\t\t\tself._item_group.set_filter_pattern('')\n\t\t\tcase MenuKeys.ESC:\n\t\t\t\tif self._active_search:\n\t\t\t\t\tself._active_search = False\n\t\t\t\t\tself._item_group.set_filter_pattern('')\n\t\t\t\telse:\n\t\t\t\t\tif self._allow_skip:\n\t\t\t\t\t\treturn Result(ResultType.Skip, None)\n\t\t\tcase MenuKeys.NUM_KEYS:\n\t\t\t\tself._item_group.focus_index(key - 49)\n\t\t\tcase MenuKeys.SCROLL_DOWN:\n\t\t\t\tself._prev_scroll_pos += SCROLL_INTERVAL\n\t\t\tcase MenuKeys.SCROLL_UP:\n\t\t\t\tself._prev_scroll_pos -= SCROLL_INTERVAL\n\t\t\tcase _:\n\t\t\t\tpass\n\n\t\treturn None\n\n\tdef _focus_item(self, direction: Literal['next', 'prev', 'first', 'last']) -> None:\n\t\t# reset the preview scroll as the newly focused item\n\t\t# may have a different preview row count and it'll blow up\n\t\tself._prev_scroll_pos = 0\n\n\t\tmatch direction:\n\t\t\tcase 'next':\n\t\t\t\tself._item_group.focus_next()\n\t\t\tcase 'prev':\n\t\t\t\tself._item_group.focus_prev()\n\t\t\tcase 'first':\n\t\t\t\tself._item_group.focus_first()\n\t\t\tcase 'last':\n\t\t\t\tself._item_group.focus_last()\n\n\nclass Tui:\n\t_t: ClassVar[Self | None] = None\n\n\tdef __enter__(self) -> None:\n\t\tif Tui._t is None:\n\t\t\ttui = self.init()\n\t\t\tTui._t = tui\n\n\tdef __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) -> None:\n\t\tself.stop()\n\n\t@property\n\tdef screen(self) -> curses.window:\n\t\treturn self._screen\n\n\t@classmethod\n\tdef t(cls) -> Self:\n\t\tassert cls._t is not None\n\t\treturn cls._t\n\n\t@staticmethod\n\tdef shutdown() -> None:\n\t\tif Tui._t is None:\n\t\t\treturn\n\n\t\tTui.t().stop()\n\n\tdef init(self) -> Self:\n\t\tself._screen = curses.initscr()\n\t\tcurses.noecho()\n\t\tcurses.cbreak()\n\t\tcurses.curs_set(0)\n\t\tcurses.set_escdelay(25)\n\n\t\tself._screen.keypad(True)\n\t\tself._screen.scrollok(True)\n\n\t\tif curses.has_colors():\n\t\t\tcurses.start_color()\n\t\t\tself._set_up_colors()\n\n\t\tsignal.signal(signal.SIGWINCH, self._sig_win_resize)\n\t\tself._screen.refresh()\n\n\t\treturn self\n\n\tdef stop(self) -> None:\n\t\ttry:\n\t\t\tcurses.nocbreak()\n\n\t\t\ttry:\n\t\t\t\tself.screen.keypad(False)\n\t\t\texcept Exception:\n\t\t\t\tpass\n\n\t\t\tcurses.echo()\n\t\t\tcurses.curs_set(True)\n\t\t\tcurses.endwin()\n\t\texcept Exception:\n\t\t\t# this may happen when curses has not been initialized\n\t\t\tpass\n\n\t\tTui._t = None\n\n\t@staticmethod\n\tdef print(\n\t\ttext: str,\n\t\trow: int = 0,\n\t\tcol: int = 0,\n\t\tendl: str = '\\n',\n\t\tclear_screen: bool = False,\n\t) -> None:\n\t\tif clear_screen:\n\t\t\tos.system('clear')\n\n\t\tif Tui._t is None:\n\t\t\tprint(text, end=endl)\n\t\t\tsys.stdout.flush()\n\n\t\t\treturn\n\n\t\t# will append the row at the very bottom of the screen\n\t\t# and also scroll the existing text up by 1 line\n\t\tif row == -1:\n\t\t\tlast_row = Tui.t().max_yx[0] - 1\n\t\t\tTui.t().screen.scroll(1)\n\t\t\tTui.t().screen.addstr(last_row, col, text)\n\t\telse:\n\t\t\tTui.t().screen.addstr(row, col, text)\n\n\t\tTui.t().screen.refresh()\n\n\t@property\n\tdef max_yx(self) -> tuple[int, int]:\n\t\treturn self._screen.getmaxyx()\n\n\t@staticmethod\n\tdef run[ValueT](component: AbstractCurses[ValueT]) -> Result[ValueT]:\n\t\tif Tui._t is None:\n\t\t\ttui = Tui().init()\n\t\t\ttui.screen.clear()\n\t\t\tresults = tui._main_loop(component)\n\t\t\tTui().stop()\n\t\t\treturn results\n\t\telse:\n\t\t\ttui = Tui._t\n\t\t\ttui.screen.clear()\n\t\t\treturn Tui.t()._main_loop(component)\n\n\tdef _sig_win_resize(self, signum: int, frame: FrameType | None) -> None:\n\t\tif hasattr(self, '_component') and self._component is not None:  # pylint: disable=no-member\n\t\t\tself._component.resize_win()  # pylint: disable=no-member\n\n\tdef _main_loop[ValueT](self, component: AbstractCurses[ValueT]) -> Result[ValueT]:\n\t\tself._screen.refresh()\n\t\treturn component.kickoff(self._screen)\n\n\tdef _reset_terminal(self) -> None:\n\t\tos.system('reset')\n\n\tdef _set_up_colors(self) -> None:\n\t\tcurses.init_pair(STYLE.NORMAL.value, curses.COLOR_WHITE, curses.COLOR_BLACK)\n\t\tcurses.init_pair(STYLE.CURSOR_STYLE.value, curses.COLOR_CYAN, curses.COLOR_BLACK)\n\t\tcurses.init_pair(STYLE.MENU_STYLE.value, curses.COLOR_WHITE, curses.COLOR_BLUE)\n\t\tcurses.init_pair(STYLE.MENU_STYLE.value, curses.COLOR_WHITE, curses.COLOR_BLUE)\n\t\tcurses.init_pair(STYLE.HELP.value, curses.COLOR_GREEN, curses.COLOR_BLACK)\n\t\tcurses.init_pair(STYLE.ERROR.value, curses.COLOR_RED, curses.COLOR_BLACK)\n\n\tdef get_color(self, color: STYLE) -> int:\n\t\treturn curses.color_pair(color.value)\n"
  },
  {
    "path": "archinstall/tui/help.py",
    "content": "from dataclasses import dataclass, field\nfrom enum import Enum\n\nfrom archinstall.lib.translationhandler import tr\n\n\nclass HelpTextGroupId(Enum):\n\tGENERAL = 'General'\n\tNAVIGATION = 'Navigation'\n\tSELECTION = 'Selection'\n\tSEARCH = 'Search'\n\n\n@dataclass\nclass HelpText:\n\tdescription: str\n\tkeys: list[str] = field(default_factory=list)\n\n\n@dataclass\nclass HelpGroup:\n\tgroup_id: HelpTextGroupId\n\tgroup_entries: list[HelpText]\n\n\tdef get_desc_width(self) -> int:\n\t\treturn max([len(e.description) for e in self.group_entries])\n\n\tdef get_key_width(self) -> int:\n\t\treturn max([len(', '.join(e.keys)) for e in self.group_entries])\n\n\nclass Help:\n\t# the groups needs to be classmethods not static methods\n\t# because they rely on the DeferredTranslation setup first;\n\t# if they are static methods, they will be called before the\n\t# translation setup is done\n\n\t@staticmethod\n\tdef general() -> HelpGroup:\n\t\treturn HelpGroup(\n\t\t\tgroup_id=HelpTextGroupId.GENERAL,\n\t\t\tgroup_entries=[\n\t\t\t\tHelpText(tr('Show help'), ['Ctrl+h']),\n\t\t\t\tHelpText(tr('Exit help'), ['Esc']),\n\t\t\t],\n\t\t)\n\n\t@staticmethod\n\tdef navigation() -> HelpGroup:\n\t\treturn HelpGroup(\n\t\t\tgroup_id=HelpTextGroupId.NAVIGATION,\n\t\t\tgroup_entries=[\n\t\t\t\tHelpText(tr('Preview scroll up'), ['PgUp']),\n\t\t\t\tHelpText(tr('Preview scroll down'), ['PgDown']),\n\t\t\t\tHelpText(tr('Move up'), ['k', '↑']),\n\t\t\t\tHelpText(tr('Move down'), ['j', '↓']),\n\t\t\t\tHelpText(tr('Move right'), ['l', '→']),\n\t\t\t\tHelpText(tr('Move left'), ['h', '←']),\n\t\t\t\tHelpText(tr('Jump to entry'), ['1..9']),\n\t\t\t],\n\t\t)\n\n\t@staticmethod\n\tdef selection() -> HelpGroup:\n\t\treturn HelpGroup(\n\t\t\tgroup_id=HelpTextGroupId.SELECTION,\n\t\t\tgroup_entries=[\n\t\t\t\tHelpText(tr('Skip selection (if available)'), ['Esc']),\n\t\t\t\tHelpText(tr('Reset selection (if available)'), ['Ctrl+c']),\n\t\t\t\tHelpText(tr('Select on single select'), ['Enter']),\n\t\t\t\tHelpText(tr('Select on multi select'), ['Space', 'Tab']),\n\t\t\t\tHelpText(tr('Reset'), ['Ctrl-C']),\n\t\t\t\tHelpText(tr('Skip selection menu'), ['Esc']),\n\t\t\t],\n\t\t)\n\n\t@staticmethod\n\tdef search() -> HelpGroup:\n\t\treturn HelpGroup(\n\t\t\tgroup_id=HelpTextGroupId.SEARCH,\n\t\t\tgroup_entries=[\n\t\t\t\tHelpText(tr('Start search mode'), ['/']),\n\t\t\t\tHelpText(tr('Exit search mode'), ['Esc']),\n\t\t\t],\n\t\t)\n\n\t@staticmethod\n\tdef get_help_text() -> str:\n\t\thelp_output = ''\n\t\thelp_texts = [\n\t\t\tHelp.general(),\n\t\t\tHelp.navigation(),\n\t\t\tHelp.selection(),\n\t\t\tHelp.search(),\n\t\t]\n\t\tmax_desc_width = max([help.get_desc_width() for help in help_texts]) + 2\n\t\tmax_key_width = max([help.get_key_width() for help in help_texts])\n\n\t\tfor help_group in help_texts:\n\t\t\thelp_output += f'{help_group.group_id.value}\\n'\n\t\t\tdivider_len = max_desc_width + max_key_width\n\t\t\thelp_output += '-' * divider_len + '\\n'\n\n\t\t\tfor entry in help_group.group_entries:\n\t\t\t\thelp_output += entry.description.ljust(max_desc_width, ' ') + ', '.join(entry.keys) + '\\n'\n\n\t\t\thelp_output += '\\n'\n\n\t\treturn help_output\n"
  },
  {
    "path": "archinstall/tui/menu_item.py",
    "content": "from collections.abc import Callable\nfrom dataclasses import dataclass, field\nfrom enum import Enum\nfrom functools import cached_property\nfrom typing import Any, ClassVar, Self, override\n\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.lib.utils.encoding import unicode_ljust\n\n\n@dataclass\nclass MenuItem:\n\ttext: str\n\tvalue: Any | None = None\n\taction: Callable[[Any], Any] | None = None\n\tenabled: bool = True\n\tread_only: bool = False\n\tmandatory: bool = False\n\tdependencies: list[str | Callable[[], bool]] = field(default_factory=list)\n\tdependencies_not: list[str] = field(default_factory=list)\n\tdisplay_action: Callable[[Any], str] | None = None\n\tpreview_action: Callable[[Self], str | None] | None = None\n\tkey: str | None = None\n\n\t_id: str = ''\n\t_yes: ClassVar[Self | None] = None\n\t_no: ClassVar[Self | None] = None\n\n\tdef __post_init__(self) -> None:\n\t\tif self.key is not None:\n\t\t\tself._id = self.key\n\t\telse:\n\t\t\tself._id = str(id(self))\n\n\t@override\n\tdef __hash__(self) -> int:\n\t\treturn hash(self._id)\n\n\tdef get_id(self) -> str:\n\t\treturn self._id\n\n\tdef get_value(self) -> Any:\n\t\tassert self.value is not None\n\t\treturn self.value\n\n\t@classmethod\n\tdef yes(cls, action: Callable[[Any], Any] | None = None) -> Self:\n\t\tif cls._yes is None:\n\t\t\tcls._yes = cls(tr('Yes'), value=True, key='yes', action=action)\n\n\t\treturn cls._yes\n\n\t@classmethod\n\tdef no(cls, action: Callable[[Any], Any] | None = None) -> Self:\n\t\tif cls._no is None:\n\t\t\tcls._no = cls(tr('No'), value=False, key='no', action=action)\n\n\t\treturn cls._no\n\n\tdef is_empty(self) -> bool:\n\t\treturn self.text == '' or self.text is None\n\n\tdef has_value(self) -> bool:\n\t\tif self.value is None:\n\t\t\treturn False\n\t\telif isinstance(self.value, list) and len(self.value) == 0:\n\t\t\treturn False\n\t\telif isinstance(self.value, dict) and len(self.value) == 0:\n\t\t\treturn False\n\t\telse:\n\t\t\treturn True\n\n\tdef get_display_value(self) -> str | None:\n\t\tif self.display_action is not None:\n\t\t\treturn self.display_action(self.value)\n\n\t\treturn None\n\n\nclass MenuItemGroup:\n\tdef __init__(\n\t\tself,\n\t\tmenu_items: list[MenuItem],\n\t\tfocus_item: MenuItem | None = None,\n\t\tdefault_item: MenuItem | None = None,\n\t\tsort_items: bool = False,\n\t\tsort_case_sensitive: bool = True,\n\t\tcheckmarks: bool = False,\n\t) -> None:\n\t\tif len(menu_items) < 1:\n\t\t\traise ValueError('Menu must have at least one item')\n\n\t\tif sort_items:\n\t\t\tif sort_case_sensitive:\n\t\t\t\tmenu_items = sorted(menu_items, key=lambda x: x.text)\n\t\t\telse:\n\t\t\t\tmenu_items = sorted(menu_items, key=lambda x: x.text.lower())\n\n\t\tself._filter_pattern: str = ''\n\t\tself._checkmarks: bool = checkmarks\n\n\t\tself._menu_items: list[MenuItem] = menu_items\n\t\tself.focus_item: MenuItem | None = focus_item\n\t\tself.selected_items: list[MenuItem] = []\n\t\tself.default_item: MenuItem | None = default_item\n\n\t\tif not focus_item:\n\t\t\tself.focus_first()\n\n\t\tif self.focus_item not in self.items:\n\t\t\traise ValueError(f'Selected item not in menu: {self.focus_item}')\n\n\tdef add_item(self, item: MenuItem) -> None:\n\t\tself._menu_items.append(item)\n\t\tdelattr(self, 'items')  # resetting the cache\n\n\tdef find_by_id(self, item_id: str) -> MenuItem:\n\t\tfor item in self._menu_items:\n\t\t\tif item.get_id() == item_id:\n\t\t\t\treturn item\n\n\t\traise ValueError(f'No item found for id: {item_id}')\n\n\tdef find_by_key(self, key: str) -> MenuItem:\n\t\tfor item in self._menu_items:\n\t\t\tif item.key == key:\n\t\t\t\treturn item\n\n\t\traise ValueError(f'No item found for key: {key}')\n\n\tdef get_enabled_items(self) -> list[MenuItem]:\n\t\treturn [it for it in self.items if self.is_enabled(it)]\n\n\t@classmethod\n\tdef yes_no(cls) -> Self:\n\t\treturn cls(\n\t\t\t[MenuItem.yes(), MenuItem.no()],\n\t\t\tsort_items=True,\n\t\t)\n\n\t@classmethod\n\tdef from_enum(\n\t\tcls,\n\t\tenum_cls: type[Enum],\n\t\tsort_items: bool = False,\n\t\tpreset: Enum | None = None,\n\t) -> Self:\n\t\titems = [MenuItem(elem.value, value=elem) for elem in enum_cls]\n\t\tgroup = cls(items, sort_items=sort_items)\n\n\t\tif preset is not None:\n\t\t\tgroup.set_selected_by_value(preset)\n\n\t\treturn group\n\n\tdef set_preview_for_all(self, action: Callable[[Any], str | None]) -> None:\n\t\tfor item in self.items:\n\t\t\titem.preview_action = action\n\n\tdef set_focus_by_value(self, value: Any) -> None:\n\t\tfor item in self._menu_items:\n\t\t\tif item.value == value:\n\t\t\t\tself.focus_item = item\n\t\t\t\tbreak\n\n\tdef set_default_by_value(self, value: Any) -> None:\n\t\tfor item in self._menu_items:\n\t\t\tif item.value == value:\n\t\t\t\tself.default_item = item\n\t\t\t\tbreak\n\n\tdef set_selected_by_value(self, values: Any | list[Any] | None) -> None:\n\t\tif values is None:\n\t\t\treturn\n\n\t\tif not isinstance(values, list):\n\t\t\tvalues = [values]\n\n\t\tfor item in self._menu_items:\n\t\t\tif item.value in values:\n\t\t\t\tself.selected_items.append(item)\n\n\t\tif values:\n\t\t\tself.set_focus_by_value(values[0])\n\n\tdef get_focused_index(self) -> int | None:\n\t\titems = self.get_enabled_items()\n\n\t\tif self.focus_item and items:\n\t\t\ttry:\n\t\t\t\treturn items.index(self.focus_item)\n\t\t\texcept ValueError:\n\t\t\t\t# on large menus (15k+) when filtering very quickly\n\t\t\t\t# the index search is too slow while the items are reduced\n\t\t\t\t# by the filter and it will blow up as it cannot find the\n\t\t\t\t# focus item\n\t\t\t\tpass\n\n\t\treturn None\n\n\tdef index_focus(self) -> int | None:\n\t\tif self.focus_item and self.items:\n\t\t\ttry:\n\t\t\t\treturn self.items.index(self.focus_item)\n\t\t\texcept ValueError:\n\t\t\t\t# on large menus (15k+) when filtering very quickly\n\t\t\t\t# the index search is too slow while the items are reduced\n\t\t\t\t# by the filter and it will blow up as it cannot find the\n\t\t\t\t# focus item\n\t\t\t\tpass\n\n\t\treturn None\n\n\t@property\n\tdef size(self) -> int:\n\t\treturn len(self.items)\n\n\tdef get_max_width(self) -> int:\n\t\t# use the menu_items not the items here otherwise the preview\n\t\t# will get resized all the time when a filter is applied\n\t\treturn max([len(self.get_item_text(item)) for item in self._menu_items])\n\n\t@cached_property\n\tdef _max_items_text_width(self) -> int:\n\t\treturn max([len(item.text) for item in self._menu_items])\n\n\tdef get_item_text(self, item: MenuItem) -> str:\n\t\tif item.is_empty():\n\t\t\treturn ''\n\n\t\tmax_width = self._max_items_text_width\n\t\tdisplay_text = item.get_display_value()\n\n\t\tdefault_text = self._default_suffix(item)\n\n\t\ttext = unicode_ljust(str(item.text), max_width, ' ')\n\t\tspacing = ' ' * 4\n\n\t\tif display_text:\n\t\t\ttext = f'{text}{spacing}{display_text}'\n\t\telif self._checkmarks:\n\t\t\tfrom archinstall.tui.types import Chars\n\n\t\t\tif item.has_value():\n\t\t\t\tif item.get_value() is not False:\n\t\t\t\t\ttext = f'{text}{spacing}{Chars.Check}'\n\t\t\telse:\n\t\t\t\ttext = item.text\n\n\t\tif default_text:\n\t\t\ttext = f'{text} {default_text}'\n\n\t\treturn text.rstrip(' ')\n\n\tdef _default_suffix(self, item: MenuItem) -> str:\n\t\tif self.default_item == item:\n\t\t\treturn tr(' (default)')\n\t\treturn ''\n\n\tdef set_action_for_all(self, action: Callable[[Any], Any]) -> None:\n\t\tfor item in self.items:\n\t\t\titem.action = action\n\n\t@cached_property\n\tdef items(self) -> list[MenuItem]:\n\t\tpattern = self._filter_pattern.lower()\n\t\titems = filter(lambda item: item.is_empty() or pattern in item.text.lower(), self._menu_items)\n\t\tl_items = sorted(items, key=self._items_score)\n\t\treturn l_items\n\n\tdef _items_score(self, item: MenuItem) -> int:\n\t\tpattern = self._filter_pattern.lower()\n\t\tif item.text.lower().startswith(pattern):\n\t\t\treturn 0\n\t\treturn 1\n\n\t@property\n\tdef filter_pattern(self) -> str:\n\t\treturn self._filter_pattern\n\n\tdef has_filter(self) -> bool:\n\t\treturn self._filter_pattern != ''\n\n\tdef set_filter_pattern(self, pattern: str) -> None:\n\t\tself._filter_pattern = pattern\n\t\tdelattr(self, 'items')  # resetting the cache\n\t\tself.focus_first()\n\n\tdef append_filter(self, pattern: str) -> None:\n\t\tself._filter_pattern += pattern\n\t\tdelattr(self, 'items')  # resetting the cache\n\t\tself.focus_first()\n\n\tdef reduce_filter(self) -> None:\n\t\tself._filter_pattern = self._filter_pattern[:-1]\n\t\tdelattr(self, 'items')  # resetting the cache\n\t\tself.focus_first()\n\n\tdef _reload_focus_item(self) -> None:\n\t\tif len(self.items) > 0:\n\t\t\tif self.focus_item not in self.items:\n\t\t\t\tself.focus_first()\n\t\telse:\n\t\t\tself.focus_item = None\n\n\tdef is_item_selected(self, item: MenuItem) -> bool:\n\t\treturn item in self.selected_items\n\n\tdef select_current_item(self) -> None:\n\t\tif self.focus_item:\n\t\t\tif self.focus_item in self.selected_items:\n\t\t\t\tself.selected_items.remove(self.focus_item)\n\t\t\telse:\n\t\t\t\tself.selected_items.append(self.focus_item)\n\n\tdef focus_index(self, index: int) -> None:\n\t\tenabled = self.get_enabled_items()\n\t\tself.focus_item = enabled[index]\n\n\tdef focus_first(self) -> None:\n\t\tif len(self.items) == 0:\n\t\t\treturn\n\n\t\tfirst_item: MenuItem | None = self.items[0]\n\n\t\tif first_item and not self._is_selectable(first_item):\n\t\t\tfirst_item = self._find_next_selectable_item(self.items, first_item, 1)\n\n\t\tif first_item is not None:\n\t\t\tself.focus_item = first_item\n\n\tdef focus_last(self) -> None:\n\t\tif len(self.items) == 0:\n\t\t\treturn\n\n\t\tlast_item: MenuItem | None = self.items[-1]\n\n\t\tif last_item and not self._is_selectable(last_item):\n\t\t\tlast_item = self._find_next_selectable_item(self.items, last_item, -1)\n\n\t\tif last_item is not None:\n\t\t\tself.focus_item = last_item\n\n\tdef focus_prev(self, skip_empty: bool = True) -> None:\n\t\t# e.g. when filter shows no items\n\t\tif self.focus_item is None:\n\t\t\treturn\n\n\t\titem = self._find_next_selectable_item(self.items, self.focus_item, -1)\n\n\t\tif item is not None:\n\t\t\tself.focus_item = item\n\n\tdef focus_next(self, skip_not_enabled: bool = True) -> None:\n\t\t# e.g. when filter shows no items\n\t\tif self.focus_item is None:\n\t\t\treturn\n\n\t\titem = self._find_next_selectable_item(self.items, self.focus_item, 1)\n\n\t\tif item is not None:\n\t\t\tself.focus_item = item\n\n\tdef _find_next_selectable_item(\n\t\tself,\n\t\titems: list[MenuItem],\n\t\tstart_item: MenuItem,\n\t\tdirection: int,\n\t) -> MenuItem | None:\n\t\tstart_index = self.items.index(start_item)\n\t\tn = len(items)\n\n\t\tcurrent_index = start_index\n\t\tfor _ in range(n):\n\t\t\tcurrent_index = (current_index + direction) % n\n\n\t\t\tif self._is_selectable(items[current_index]):\n\t\t\t\treturn items[current_index]\n\n\t\treturn None\n\n\tdef is_mandatory_fulfilled(self) -> bool:\n\t\tfor item in self._menu_items:\n\t\t\tif item.mandatory and not item.value:\n\t\t\t\treturn False\n\t\treturn True\n\n\tdef max_item_width(self) -> int:\n\t\tspaces = [len(str(it.text)) for it in self.items]\n\t\tif spaces:\n\t\t\treturn max(spaces)\n\t\treturn 0\n\n\tdef _is_selectable(self, item: MenuItem) -> bool:\n\t\tif item.is_empty():\n\t\t\treturn False\n\t\telif item.read_only:\n\t\t\treturn False\n\n\t\treturn self.is_enabled(item)\n\n\tdef is_enabled(self, item: MenuItem) -> bool:\n\t\tif not item.enabled:\n\t\t\treturn False\n\n\t\tfor dep in item.dependencies:\n\t\t\tif isinstance(dep, str):\n\t\t\t\titem = self.find_by_key(dep)\n\t\t\t\tif not item.value or not self.is_enabled(item):\n\t\t\t\t\treturn False\n\t\t\telse:\n\t\t\t\treturn dep()\n\n\t\tfor dep_not in item.dependencies_not:\n\t\t\titem = self.find_by_key(dep_not)\n\t\t\tif item.value is not None:\n\t\t\t\treturn False\n\n\t\treturn True\n\n\nclass MenuItemsState:\n\tdef __init__(\n\t\tself,\n\t\titem_group: MenuItemGroup,\n\t\ttotal_cols: int,\n\t\ttotal_rows: int,\n\t\twith_frame: bool,\n\t) -> None:\n\t\tself._item_group = item_group\n\t\tself._total_cols = total_cols\n\t\tself._total_rows = total_rows - 2 if with_frame else total_rows\n\n\t\tself._prev_row_idx: int = -1\n\t\tself._prev_visible_rows: list[int] = []\n\t\tself._view_items: list[list[MenuItem]] = []\n\n\tdef _determine_focus_row(self) -> int | None:\n\t\tfocus_index = self._item_group.index_focus()\n\n\t\tif focus_index is None:\n\t\t\treturn None\n\n\t\trow_index = focus_index // self._total_cols\n\t\treturn row_index\n\n\tdef get_view_items(self) -> list[list[MenuItem]]:\n\t\tenabled_items = self._item_group.get_enabled_items()\n\t\tfocus_row_idx = self._determine_focus_row()\n\n\t\tif focus_row_idx is None:\n\t\t\treturn []\n\n\t\tstart, end = 0, 0\n\n\t\tif len(self._view_items) == 0 or self._prev_row_idx == -1 or focus_row_idx == 0:  # initial setup\n\t\t\tif focus_row_idx < self._total_rows:\n\t\t\t\tstart = 0\n\t\t\t\tend = self._total_rows\n\t\t\telif focus_row_idx > len(enabled_items) - self._total_rows:\n\t\t\t\tstart = len(enabled_items) - self._total_rows\n\t\t\t\tend = len(enabled_items)\n\t\t\telse:\n\t\t\t\tstart = focus_row_idx\n\t\t\t\tend = focus_row_idx + self._total_rows\n\t\telif len(enabled_items) <= self._total_rows:  # the view can handle all items\n\t\t\tstart = 0\n\t\t\tend = self._total_rows\n\t\telif not self._item_group.has_filter() and focus_row_idx in self._prev_visible_rows:  # focus is in the same view\n\t\t\tself._prev_row_idx = focus_row_idx\n\t\t\treturn self._view_items\n\t\telse:\n\t\t\tif self._item_group.has_filter():\n\t\t\t\tstart = focus_row_idx\n\t\t\t\tend = focus_row_idx + self._total_rows\n\t\t\telse:\n\t\t\t\tdelta = focus_row_idx - self._prev_row_idx\n\n\t\t\t\tif delta > 0:  # cursor is on the bottom most row\n\t\t\t\t\tstart = focus_row_idx - self._total_rows + 1\n\t\t\t\t\tend = focus_row_idx + 1\n\t\t\t\telse:  # focus is on the top most row\n\t\t\t\t\tstart = focus_row_idx\n\t\t\t\t\tend = focus_row_idx + self._total_rows\n\n\t\tself._view_items = self._get_view_items(enabled_items, start, end)\n\t\tself._prev_visible_rows = list(range(start, end))\n\t\tself._prev_row_idx = focus_row_idx\n\n\t\treturn self._view_items\n\n\tdef _get_view_items(\n\t\tself,\n\t\titems: list[MenuItem],\n\t\tstart_row: int,\n\t\ttotal_rows: int,\n\t) -> list[list[MenuItem]]:\n\t\tgroups: list[list[MenuItem]] = []\n\t\tnr_items = self._total_cols * min(total_rows, len(items))\n\n\t\tfor x in range(start_row, nr_items, self._total_cols):\n\t\t\tgroups.append(\n\t\t\t\titems[x : x + self._total_cols],\n\t\t\t)\n\n\t\treturn groups\n\n\tdef _max_visible_items(self) -> int:\n\t\treturn self._total_cols * self._total_rows\n\n\tdef _remaining_next_spots(self) -> int:\n\t\treturn self._max_visible_items() - self._prev_row_idx\n\n\tdef _remaining_prev_spots(self) -> int:\n\t\treturn self._max_visible_items() - self._remaining_next_spots()\n"
  },
  {
    "path": "archinstall/tui/result.py",
    "content": "from dataclasses import dataclass\nfrom enum import Enum, auto\n\nfrom archinstall.tui.menu_item import MenuItem\n\n\nclass ResultType(Enum):\n\tSelection = auto()\n\tSkip = auto()\n\tReset = auto()\n\n\n@dataclass\nclass Result[ValueT]:\n\ttype_: ResultType\n\t_item: MenuItem | list[MenuItem] | str | None\n\n\tdef has_item(self) -> bool:\n\t\treturn self._item is not None\n\n\tdef get_value(self) -> ValueT:\n\t\treturn self.item().get_value()  # type: ignore[no-any-return]\n\n\tdef get_values(self) -> list[ValueT]:\n\t\treturn [i.get_value() for i in self.items()]\n\n\tdef item(self) -> MenuItem:\n\t\tassert self._item is not None and isinstance(self._item, MenuItem)\n\t\treturn self._item\n\n\tdef items(self) -> list[MenuItem]:\n\t\tassert self._item is not None and isinstance(self._item, list)\n\t\treturn self._item\n\n\tdef text(self) -> str:\n\t\tassert self._item is not None and isinstance(self._item, str)\n\t\treturn self._item\n"
  },
  {
    "path": "archinstall/tui/types.py",
    "content": "import curses\nfrom dataclasses import dataclass\nfrom enum import Enum, auto\nfrom typing import Self\n\nSCROLL_INTERVAL = 10\n\n\nclass STYLE(Enum):\n\tNORMAL = 1\n\tCURSOR_STYLE = 2\n\tMENU_STYLE = 3\n\tHELP = 4\n\tERROR = 5\n\n\nclass MenuKeys(Enum):\n\t# latin keys\n\tSTD_KEYS = frozenset(range(32, 127))\n\t# numbers\n\tNUM_KEYS = frozenset(range(49, 58))\n\t# Menu up: up, k\n\tMENU_UP = frozenset({259, 107})\n\t# Menu down: down, j\n\tMENU_DOWN = frozenset({258, 106})\n\t# Menu left: left, h\n\tMENU_LEFT = frozenset({260, 104})\n\t# Menu right: right, l\n\tMENU_RIGHT = frozenset({261, 108})\n\t# Menu start: home CTRL-a\n\tMENU_START = frozenset({262, 1})\n\t# Menu end: end CTRL-e\n\tMENU_END = frozenset({360, 5})\n\t# Enter\n\tACCEPT = frozenset({10})\n\t# Selection: space, tab\n\tMULTI_SELECT = frozenset({32, 9})\n\t# Search: /\n\tENABLE_SEARCH = frozenset({47})\n\t# ESC\n\tESC = frozenset({27})\n\t# BACKSPACE (search)\n\tBACKSPACE = frozenset({127, 263})\n\t# Help view: ctrl+h\n\tHELP = frozenset({8})\n\t# Scroll up: PGUP\n\tSCROLL_UP = frozenset({339})\n\t# Scroll down: PGDOWN\n\tSCROLL_DOWN = frozenset({338})\n\n\t@classmethod\n\tdef from_ord(cls, key: int) -> list[Self]:\n\t\tmatches: list[Self] = []\n\n\t\tfor group in cls:\n\t\t\tif key in group.value:\n\t\t\t\tmatches.append(group)\n\n\t\treturn matches\n\n\t@classmethod\n\tdef decode(cls, key: int) -> str:\n\t\tbyte_str = curses.keyname(key)\n\t\treturn byte_str.decode('utf-8')\n\n\nclass FrameStyle(Enum):\n\tMAX = auto()\n\tMIN = auto()\n\n\n@dataclass\nclass FrameProperties:\n\theader: str\n\tw_frame_style: FrameStyle = FrameStyle.MAX\n\th_frame_style: FrameStyle = FrameStyle.MAX\n\n\t@classmethod\n\tdef max(cls, header: str) -> Self:\n\t\treturn cls(\n\t\t\theader,\n\t\t\tFrameStyle.MAX,\n\t\t\tFrameStyle.MAX,\n\t\t)\n\n\t@classmethod\n\tdef min(cls, header: str) -> Self:\n\t\treturn cls(\n\t\t\theader,\n\t\t\tFrameStyle.MIN,\n\t\t\tFrameStyle.MIN,\n\t\t)\n\n\nclass Orientation(Enum):\n\tVERTICAL = auto()\n\tHORIZONTAL = auto()\n\n\nclass PreviewStyle(Enum):\n\tNONE = auto()\n\tBOTTOM = auto()\n\tRIGHT = auto()\n\tTOP = auto()\n\n\n# https://www.compart.com/en/unicode/search?q=box+drawings#characters\n# https://en.wikipedia.org/wiki/Box-drawing_characters\nclass Chars:\n\tHorizontal = '─'\n\tVertical = '│'\n\tUpper_left = '┌'\n\tUpper_right = '┐'\n\tLower_left = '└'\n\tLower_right = '┘'\n\tBlock = '█'\n\tTriangle_up = '▲'\n\tTriangle_down = '▼'\n\tCheck = '+'\n\tCross = 'x'\n\tRight_arrow = '←'\n\n\n@dataclass\nclass ViewportEntry:\n\ttext: str\n\trow: int\n\tcol: int\n\tstyle: STYLE\n\n\nclass Alignment(Enum):\n\tLEFT = auto()\n\tCENTER = auto()\n\n\n@dataclass\nclass FrameDim:\n\tx_start: int\n\tx_end: int\n\theight: int\n\n\tdef x_delta(self) -> int:\n\t\treturn self.x_end - self.x_start\n"
  },
  {
    "path": "archinstall/tui/ui/__init__.py",
    "content": ""
  },
  {
    "path": "archinstall/tui/ui/components.py",
    "content": "import sys\nfrom abc import ABC, abstractmethod\nfrom collections.abc import Awaitable, Callable\nfrom dataclasses import dataclass\nfrom enum import Enum, auto\nfrom typing import Any, ClassVar, Literal, TypeVar, cast, override\n\nfrom textual import work\nfrom textual.app import App, ComposeResult\nfrom textual.binding import Binding\nfrom textual.containers import Center, Horizontal, ScrollableContainer, Vertical\nfrom textual.events import Key\nfrom textual.geometry import Offset\nfrom textual.screen import Screen\nfrom textual.validation import Validator\nfrom textual.widgets import Button, DataTable, Footer, Input, Label, LoadingIndicator, OptionList, Rule, SelectionList\nfrom textual.widgets._data_table import RowKey\nfrom textual.widgets.option_list import Option\nfrom textual.widgets.selection_list import Selection\nfrom textual.worker import WorkerCancelled\n\nfrom archinstall.lib.output import debug\nfrom archinstall.lib.translationhandler import tr\nfrom archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup\nfrom archinstall.tui.ui.result import Result, ResultType\n\nValueT = TypeVar('ValueT')\n\n\nclass BaseScreen(Screen[Result[ValueT]]):\n\tBINDINGS: ClassVar = [\n\t\tBinding('escape', 'cancel_operation', 'Cancel', show=True),\n\t\tBinding('ctrl+c', 'reset_operation', 'Reset', show=True),\n\t]\n\n\tdef __init__(self, allow_skip: bool = False, allow_reset: bool = False):\n\t\tsuper().__init__()\n\t\tself._allow_skip = allow_skip\n\t\tself._allow_reset = allow_reset\n\n\tdef action_cancel_operation(self) -> None:\n\t\tif self._allow_skip:\n\t\t\t_ = self.dismiss(Result(ResultType.Skip))\n\n\tasync def action_reset_operation(self) -> None:\n\t\tif self._allow_reset:\n\t\t\t_ = self.dismiss(Result(ResultType.Reset))\n\n\nclass LoadingScreen(BaseScreen[ValueT]):\n\tCSS = \"\"\"\n\tLoadingScreen {\n\t\talign: center middle;\n\t\tbackground: transparent;\n\t}\n\n\t.content-container {\n\t\twidth: 1fr;\n\t\theight: 1fr;\n\t\tmax-height: 100%;\n\n\t\tmargin-top: 2;\n\t\tmargin-bottom: 2;\n\n\t\tbackground: transparent;\n\t}\n\n\tLoadingIndicator {\n\t\talign: center middle;\n\t}\n\t\"\"\"\n\n\tdef __init__(\n\t\tself,\n\t\ttimer: int = 3,\n\t\tdata_callback: Callable[[], Any] | None = None,\n\t\theader: str | None = None,\n\t):\n\t\tsuper().__init__()\n\t\tself._timer = timer\n\t\tself._header = header\n\t\tself._data_callback = data_callback\n\n\tasync def run(self) -> Result[ValueT]:\n\t\tassert TApp.app\n\t\treturn await TApp.app.show(self)\n\n\t@override\n\tdef compose(self) -> ComposeResult:\n\t\twith Vertical(classes='content-container'):\n\t\t\tif self._header:\n\t\t\t\twith Center():\n\t\t\t\t\tyield Label(self._header, classes='header', id='loading_header')\n\n\t\t\tyield Center(LoadingIndicator())\n\n\t\tyield Footer()\n\n\tdef on_mount(self) -> None:\n\t\tif self._data_callback:\n\t\t\tself._exec_callback()\n\t\telse:\n\t\t\tself.set_timer(self._timer, self.action_pop_screen)\n\n\t\tself._set_cursor()\n\n\tdef _set_cursor(self) -> None:\n\t\tlabel = self.query_one(Label)\n\t\tself.app.cursor_position = Offset(label.region.x, label.region.y)\n\t\tself.app.refresh()\n\n\t@work(thread=True)\n\tdef _exec_callback(self) -> None:\n\t\tassert self._data_callback\n\t\tresult = self._data_callback()\n\t\t_ = self.dismiss(Result(ResultType.Selection, _data=result))\n\n\tdef action_pop_screen(self) -> None:\n\t\t_ = self.dismiss()\n\n\nclass _OptionList(OptionList):\n\tBINDINGS: ClassVar = [\n\t\tBinding('down', 'cursor_down', 'Down', show=True),\n\t\tBinding('up', 'cursor_up', 'Up', show=True),\n\t\tBinding('j', 'cursor_down', 'Down', show=False),\n\t\tBinding('k', 'cursor_up', 'Up', show=False),\n\t]\n\n\nclass OptionListScreen(BaseScreen[ValueT]):\n\t\"\"\"\n\tSingle selection menu list\n\t\"\"\"\n\n\tBINDINGS: ClassVar = [\n\t\tBinding('/', 'search', 'Search', show=True),\n\t]\n\n\tCSS = \"\"\"\n\tOptionListScreen {\n\t\talign-horizontal: center;\n\t\talign-vertical: middle;\n\t\tbackground: transparent;\n\t}\n\n\t.content-container {\n\t\twidth: 1fr;\n\t\theight: 1fr;\n\t\tmax-height: 100%;\n\n\t\tmargin-top: 2;\n\t\tmargin-left: 2;\n\n\t\tbackground: transparent;\n\t}\n\n\t.list-container {\n\t\twidth: auto;\n\t\theight: auto;\n\t\tmax-height: 100%;\n\n\t\tpadding-bottom: 3;\n\n\t\tbackground: transparent;\n\t}\n\n\tOptionList {\n\t\twidth: auto;\n\t\theight: auto;\n\t\tmin-width: 15%;\n\t\tmax-height: 1fr;\n\n\t\tpadding-bottom: 3;\n\n\t\tbackground: transparent;\n\t}\n\n\tOptionList > .option-list--option-highlighted {\n\t\tbackground: blue;\n\t\tcolor: white;\n\t\ttext-style: bold;\n\t}\n\t\"\"\"\n\n\tdef __init__(\n\t\tself,\n\t\tgroup: MenuItemGroup,\n\t\theader: str | None = None,\n\t\ttitle: str | None = None,\n\t\tallow_skip: bool = False,\n\t\tallow_reset: bool = False,\n\t\tpreview_location: Literal['right', 'bottom'] | None = None,\n\t\tenable_filter: bool = False,\n\t):\n\t\tsuper().__init__(allow_skip, allow_reset)\n\t\tself._group = group\n\t\tself._header = header\n\t\tself._title = title\n\t\tself._preview_location = preview_location\n\t\tself._filter = enable_filter\n\t\tself._show_frame = False\n\n\t\tself._options = self._get_options()\n\n\tdef action_search(self) -> None:\n\t\tif self.query_one(OptionList).has_focus:\n\t\t\tif self._filter:\n\t\t\t\tself._handle_search_action()\n\n\t@override\n\tdef action_cancel_operation(self) -> None:\n\t\tif self._filter and self.query_one(Input).has_focus:\n\t\t\tself._handle_search_action()\n\t\telse:\n\t\t\tsuper().action_cancel_operation()\n\n\tdef _handle_search_action(self) -> None:\n\t\tsearch_input = self.query_one(Input)\n\n\t\tif search_input.has_focus:\n\t\t\tself.query_one(OptionList).focus()\n\t\telse:\n\t\t\tsearch_input.focus()\n\n\tasync def run(self) -> Result[ValueT]:\n\t\tassert TApp.app\n\t\treturn await TApp.app.show(self)\n\n\tdef _get_options(self) -> list[Option]:\n\t\toptions = []\n\n\t\tfor item in self._group.get_enabled_items():\n\t\t\tdisabled = True if item.read_only else False\n\t\t\toptions.append(Option(item.text, id=item.get_id(), disabled=disabled))\n\n\t\treturn options\n\n\t@override\n\tdef compose(self) -> ComposeResult:\n\t\tif self._title:\n\t\t\tyield Label(self._title, classes='app-header')\n\n\t\twith Vertical(classes='content-container'):\n\t\t\tif self._header:\n\t\t\t\tyield Label(self._header, classes='header-text', id='header_text')\n\n\t\t\toption_list = _OptionList(id='option_list_widget')\n\n\t\t\tif not self._show_frame:\n\t\t\t\toption_list.classes = 'no-border'\n\n\t\t\tif self._preview_location is None:\n\t\t\t\twith Center():\n\t\t\t\t\twith Vertical(classes='list-container'):\n\t\t\t\t\t\tyield option_list\n\t\t\telse:\n\t\t\t\tContainer = Horizontal if self._preview_location == 'right' else Vertical\n\t\t\t\trule_orientation: Literal['horizontal', 'vertical'] = 'vertical' if self._preview_location == 'right' else 'horizontal'\n\n\t\t\t\twith Container():\n\t\t\t\t\tyield option_list\n\t\t\t\t\tyield Rule(orientation=rule_orientation)\n\t\t\t\t\tyield ScrollableContainer(Label('', id='preview_content', markup=False))\n\n\t\tif self._filter:\n\t\t\tyield Input(placeholder='/filter', id='filter-input')\n\n\t\tyield Footer()\n\n\tdef on_mount(self) -> None:\n\t\tself._update_options(self._options)\n\t\tself.query_one(OptionList).focus()\n\n\tdef on_input_changed(self, event: Input.Changed) -> None:\n\t\tsearch_term = event.value.lower()\n\t\tself._group.set_filter_pattern(search_term)\n\t\tfiltered_options = self._get_options()\n\t\tself._update_options(filtered_options)\n\n\tdef _update_options(self, options: list[Option]) -> None:\n\t\toption_list = self.query_one(OptionList)\n\t\toption_list.clear_options()\n\t\toption_list.add_options(options)\n\n\t\toption_list.highlighted = self._group.get_focused_index()\n\n\t\tif focus_item := self._group.focus_item:\n\t\t\tself._set_preview(focus_item.get_id())\n\n\tdef on_option_list_option_selected(self, event: OptionList.OptionSelected) -> None:\n\t\tselected_option = event.option\n\t\tif selected_option.id is not None:\n\t\t\titem = self._group.find_by_id(selected_option.id)\n\t\t\t_ = self.dismiss(Result(ResultType.Selection, _item=item))\n\n\tdef on_option_list_option_highlighted(self, event: OptionList.OptionHighlighted) -> None:\n\t\tif event.option.id:\n\t\t\tself._set_preview(event.option.id)\n\n\t\tself._set_cursor()\n\n\tdef _set_cursor(self) -> None:\n\t\toption_list = self.query_one(OptionList)\n\t\tindex = option_list.highlighted\n\n\t\tif index is None:\n\t\t\treturn\n\n\t\ttarget_y = sum(\n\t\t\t[\n\t\t\t\t1 if self._show_frame else 0,  # add top buffer for the frame\n\t\t\t\toption_list.region.y,  # padding/margin offset of the option list\n\t\t\t\tindex,  # index of the highlighted option\n\t\t\t\t-option_list.scroll_offset.y,  # scroll offset\n\t\t\t]\n\t\t)\n\n\t\t# debug(f'Index: {index}')\n\t\t# debug(f'Region: {option_list.region}')\n\t\t# debug(f'Scroll offset: {option_list.scroll_offset}')\n\t\t# debug(f'Target_Y: {target_y}')\n\n\t\tself.app.cursor_position = Offset(option_list.region.x, target_y)\n\t\tself.app.refresh()\n\n\tdef _set_preview(self, item_id: str) -> None:\n\t\tif self._preview_location is None:\n\t\t\treturn None\n\n\t\tpreview_widget = self.query_one('#preview_content', Label)\n\t\titem = self._group.find_by_id(item_id)\n\n\t\tif item.preview_action is not None:\n\t\t\tmaybe_preview = item.preview_action(item)\n\n\t\t\tif maybe_preview is not None:\n\t\t\t\tpreview_widget.update(maybe_preview)\n\t\t\t\treturn\n\n\t\tpreview_widget.update('')\n\n\nclass _SelectionList(SelectionList[ValueT]):\n\tBINDINGS: ClassVar = [\n\t\tBinding('down', 'cursor_down', 'Down', show=True),\n\t\tBinding('up', 'cursor_up', 'Up', show=True),\n\t\tBinding('j', 'cursor_down', 'Down', show=False),\n\t\tBinding('k', 'cursor_up', 'Up', show=False),\n\t]\n\n\nclass SelectListScreen(BaseScreen[ValueT]):\n\t\"\"\"\n\tMulti selection menu\n\t\"\"\"\n\n\tBINDINGS: ClassVar = [\n\t\tBinding('/', 'search', 'Search', show=True),\n\t\tBinding('enter', '', 'Confirm', show=True),\n\t]\n\n\tCSS = \"\"\"\n\tSelectListScreen {\n\t\talign-horizontal: center;\n\t\talign-vertical: middle;\n\t\tbackground: transparent;\n\t}\n\n\t.content-container {\n\t\twidth: 1fr;\n\t\theight: 1fr;\n\t\tmax-height: 100%;\n\n\t\tmargin-top: 2;\n\t\tmargin-left: 2;\n\n\t\tbackground: transparent;\n\t}\n\n\t.list-container {\n\t\twidth: auto;\n\t\theight: auto;\n\t\tmin-width: 15%;\n\t\tmax-height: 1fr;\n\n\t\tpadding-bottom: 3;\n\n\t\tbackground: transparent;\n\t}\n\n\tSelectionList {\n\t\twidth: auto;\n\t\theight: auto;\n\t\tmax-height: 1fr;\n\n\t\tpadding-bottom: 3;\n\n\t\tbackground: transparent;\n\t}\n\n\tSelectionList > .option-list--option-highlighted {\n\t\tbackground: blue;\n\t\tcolor: white;\n\t\ttext-style: bold;\n\t}\n\t\"\"\"\n\n\tdef __init__(\n\t\tself,\n\t\tgroup: MenuItemGroup,\n\t\theader: str | None = None,\n\t\tallow_skip: bool = False,\n\t\tallow_reset: bool = False,\n\t\tpreview_location: Literal['right', 'bottom'] | None = None,\n\t\tenable_filter: bool = False,\n\t):\n\t\tsuper().__init__(allow_skip, allow_reset)\n\t\tself._group = group\n\t\tself._header = header\n\t\tself._preview_location = preview_location\n\t\tself._show_frame = False\n\t\tself._filter = enable_filter\n\n\t\tself._selected_items: list[MenuItem] = self._group.selected_items\n\t\tself._options: list[Selection[MenuItem]] = self._get_selections()\n\n\tdef action_search(self) -> None:\n\t\tif self.query_one(OptionList).has_focus:\n\t\t\tif self._filter:\n\t\t\t\tself._handle_search_action()\n\n\t@override\n\tdef action_cancel_operation(self) -> None:\n\t\tif self._filter and self.query_one(Input).has_focus:\n\t\t\tself._handle_search_action()\n\t\telse:\n\t\t\tsuper().action_cancel_operation()\n\n\tdef _handle_search_action(self) -> None:\n\t\tsearch_input = self.query_one(Input)\n\n\t\tif search_input.has_focus:\n\t\t\tself.query_one(SelectionList).focus()\n\t\telse:\n\t\t\tsearch_input.focus()\n\n\tasync def run(self) -> Result[ValueT]:\n\t\tassert TApp.app\n\t\treturn await TApp.app.show(self)\n\n\tdef _get_selections(self) -> list[Selection[MenuItem]]:\n\t\tselections = []\n\n\t\tfor item in self._group.get_enabled_items():\n\t\t\tis_selected = item in self._selected_items\n\t\t\tselection = Selection(item.text, item, is_selected)\n\t\t\tselections.append(selection)\n\n\t\treturn selections\n\n\t@override\n\tdef compose(self) -> ComposeResult:\n\t\twith Vertical(classes='content-container'):\n\t\t\tif self._header:\n\t\t\t\tyield Label(self._header, classes='header-text', id='header_text')\n\n\t\t\tselection_list = _SelectionList[MenuItem](id='select_list_widget')\n\n\t\t\tif not self._show_frame:\n\t\t\t\tselection_list.classes = 'no-border'\n\n\t\t\tif self._preview_location is None:\n\t\t\t\twith Center():\n\t\t\t\t\twith Vertical(classes='list-container'):\n\t\t\t\t\t\tyield selection_list\n\t\t\telse:\n\t\t\t\tContainer = Horizontal if self._preview_location == 'right' else Vertical\n\t\t\t\trule_orientation: Literal['horizontal', 'vertical'] = 'vertical' if self._preview_location == 'right' else 'horizontal'\n\n\t\t\t\twith Container():\n\t\t\t\t\tyield selection_list\n\t\t\t\t\tyield Rule(orientation=rule_orientation)\n\t\t\t\t\tyield ScrollableContainer(Label('', id='preview_content', markup=False))\n\n\t\tif self._filter:\n\t\t\tyield Input(placeholder='/filter', id='filter-input')\n\n\t\tyield Footer()\n\n\tdef on_mount(self) -> None:\n\t\tself._update_options(self._options)\n\t\tself.query_one(SelectionList).focus()\n\n\tdef on_key(self, event: Key) -> None:\n\t\tif self.query_one(SelectionList).has_focus:\n\t\t\tif event.key == 'enter':\n\t\t\t\t_ = self.dismiss(Result(ResultType.Selection, _item=self._selected_items))\n\n\tdef on_input_changed(self, event: Input.Changed) -> None:\n\t\tsearch_term = event.value.lower()\n\t\tself._group.set_filter_pattern(search_term)\n\t\tfiltered_options = self._get_selections()\n\t\tself._update_options(filtered_options)\n\n\tdef _update_options(self, options: list[Selection[MenuItem]]) -> None:\n\t\tselection_list = self.query_one(SelectionList)\n\t\tselection_list.clear_options()\n\t\tselection_list.add_options(options)\n\n\t\tselection_list.highlighted = self._group.get_focused_index()\n\n\t\tif focus_item := self._group.focus_item:\n\t\t\tself._set_preview(focus_item)\n\n\t\tself._set_cursor()\n\n\tdef on_selection_list_selection_highlighted(self, event: SelectionList.SelectionHighlighted[MenuItem]) -> None:\n\t\tif self._preview_location is not None:\n\t\t\titem: MenuItem = event.selection.value\n\t\t\tself._set_preview(item)\n\n\t\tself._set_cursor()\n\n\tdef _set_cursor(self) -> None:\n\t\tselection_list = self.query_one(SelectionList)\n\t\tindex = selection_list.highlighted\n\n\t\tif index is None:\n\t\t\treturn\n\n\t\ttarget_y = sum(\n\t\t\t[\n\t\t\t\t1 if self._show_frame else 0,  # add top buffer for the frame\n\t\t\t\tselection_list.region.y,  # padding/margin offset of the option list\n\t\t\t\tindex,  # index of the highlighted option\n\t\t\t\t-selection_list.scroll_offset.y,  # scroll offset\n\t\t\t]\n\t\t)\n\n\t\tself.app.cursor_position = Offset(selection_list.region.x, target_y)\n\t\tself.app.refresh()\n\n\tdef on_selection_list_selection_toggled(self, event: SelectionList.SelectionToggled[MenuItem]) -> None:\n\t\titem: MenuItem = event.selection.value\n\n\t\tif item not in self._selected_items:\n\t\t\tself._selected_items.append(item)\n\t\telse:\n\t\t\tself._selected_items.remove(item)\n\n\tdef _set_preview(self, item: MenuItem) -> None:\n\t\tif self._preview_location is None:\n\t\t\treturn\n\n\t\tpreview_widget = self.query_one('#preview_content', Label)\n\n\t\tif item.preview_action is not None:\n\t\t\tmaybe_preview = item.preview_action(item)\n\t\t\tif maybe_preview is not None:\n\t\t\t\tpreview_widget.update(maybe_preview)\n\t\t\t\treturn\n\n\t\tpreview_widget.update('')\n\n\n# DEPRECATED: Removed when switching to async\nclass ConfirmationScreen(BaseScreen[ValueT]):\n\tBINDINGS: ClassVar = [\n\t\tBinding('l', 'focus_right', 'Focus right', show=False),\n\t\tBinding('h', 'focus_left', 'Focus left', show=False),\n\t\tBinding('right', 'focus_right', 'Focus right', show=True),\n\t\tBinding('left', 'focus_left', 'Focus left', show=True),\n\t]\n\n\tCSS = \"\"\"\n\tConfirmationScreen {\n\t\talign: center top;\n\t}\n\n\t.content-container {\n\t\twidth: 1fr;\n\t\theight: 1fr;\n\t\tmax-height: 100%;\n\n\t\tborder: none;\n\t\tbackground: transparent;\n\t}\n\n\t.buttons-container {\n\t\talign: center top;\n\t\theight: 3;\n\t\tbackground: transparent;\n\t}\n\n\tButton {\n\t\twidth: 4;\n\t\theight: 3;\n\t\tbackground: transparent;\n\t\tmargin: 0 1;\n\t}\n\n\tButton.-active {\n\t\tbackground: blue;\n\t\tcolor: white;\n\t\tborder: none;\n\t\ttext-style: none;\n\t}\n\t\"\"\"\n\n\tdef __init__(\n\t\tself,\n\t\tgroup: MenuItemGroup,\n\t\theader: str,\n\t\tallow_skip: bool = False,\n\t\tallow_reset: bool = False,\n\t\tpreview_location: Literal['bottom'] | None = None,\n\t\tpreview_header: str | None = None,\n\t):\n\t\tsuper().__init__(allow_skip, allow_reset)\n\t\tself._group = group\n\t\tself._header = header\n\t\tself._preview_location = preview_location\n\t\tself._preview_header = preview_header\n\n\tasync def run(self) -> Result[ValueT]:\n\t\tassert TApp.app\n\t\treturn await TApp.app.show(self)\n\n\t@override\n\tdef compose(self) -> ComposeResult:\n\t\tyield Label(self._header, classes='header-text', id='header_text')\n\n\t\tif self._preview_location is None:\n\t\t\twith Vertical(classes='content-container'):\n\t\t\t\twith Horizontal(classes='buttons-container'):\n\t\t\t\t\tfor item in self._group.items:\n\t\t\t\t\t\tyield Button(item.text, id=item.key)\n\t\telse:\n\t\t\twith Vertical():\n\t\t\t\twith Horizontal(classes='buttons-container'):\n\t\t\t\t\tfor item in self._group.items:\n\t\t\t\t\t\tyield Button(item.text, id=item.key)\n\n\t\t\t\tyield Rule(orientation='horizontal')\n\t\t\t\tif self._preview_header is not None:\n\t\t\t\t\tyield Label(self._preview_header, classes='preview-header', id='preview_header')\n\t\t\t\tyield ScrollableContainer(Label('', id='preview_content', markup=False))\n\n\t\tyield Footer()\n\n\tdef on_mount(self) -> None:\n\t\tself._update_selection()\n\n\tdef action_focus_right(self) -> None:\n\t\tif self._is_btn_focus():\n\t\t\tself._group.focus_next()\n\t\t\tself._update_selection()\n\n\tdef action_focus_left(self) -> None:\n\t\tif self._is_btn_focus():\n\t\t\tself._group.focus_prev()\n\t\t\tself._update_selection()\n\n\tdef _update_selection(self) -> None:\n\t\tfocused = self._group.focus_item\n\t\tbuttons = self.query(Button)\n\n\t\tif not focused:\n\t\t\treturn\n\n\t\tfor button in buttons:\n\t\t\tif button.id == focused.key:\n\t\t\t\tbutton.add_class('-active')\n\t\t\t\tbutton.focus()\n\n\t\t\t\tif self._preview_header is not None:\n\t\t\t\t\tpreview = self.query_one('#preview_content', Label)\n\n\t\t\t\t\tif focused.preview_action is None:\n\t\t\t\t\t\tpreview.update('')\n\t\t\t\t\telse:\n\t\t\t\t\t\ttext = focused.preview_action(focused)\n\t\t\t\t\t\tif text is not None:\n\t\t\t\t\t\t\tpreview.update(text)\n\t\t\telse:\n\t\t\t\tbutton.remove_class('-active')\n\n\tdef _is_btn_focus(self) -> bool:\n\t\tbuttons = self.query(Button)\n\t\tfor button in buttons:\n\t\t\tif button.has_focus:\n\t\t\t\treturn True\n\n\t\treturn False\n\n\tdef on_key(self, event: Key) -> None:\n\t\tif event.key == 'enter':\n\t\t\tif self._is_btn_focus():\n\t\t\t\titem = self._group.focus_item\n\t\t\t\tif not item:\n\t\t\t\t\treturn None\n\t\t\t\t_ = self.dismiss(Result(ResultType.Selection, _item=item))\n\n\nclass NotifyScreen(ConfirmationScreen[ValueT]):\n\tdef __init__(self, header: str):\n\t\tgroup = MenuItemGroup([MenuItem(tr('Ok'))])\n\t\tsuper().__init__(group, header)\n\n\nclass InputInfoType(Enum):\n\tMsgInfo = auto()\n\tMsgWarning = auto()\n\tMsgError = auto()\n\n\n@dataclass\nclass InputInfo:\n\tmessage: str\n\tinfo_type: InputInfoType\n\n\nclass InputScreen(BaseScreen[str]):\n\tCSS = \"\"\"\n\tInputScreen {\n\t\talign: center middle;\n\t}\n\n\t.container-wrapper {\n\t\talign: center top;\n\t\twidth: 100%;\n\t\theight: 1fr;\n\t}\n\n\t.input-content {\n\t\twidth: 60;\n\t\theight: 10;\n\t}\n\n\t.input-failure {\n\t\tcolor: red;\n\t\ttext-align: center;\n\t}\n\n\t#input-info {\n\t\ttext-align: center;\n\t}\n\n\t.input-hint-msg-error {\n\t\tcolor: red;\n\t}\n\n\t.input-hint-msg-warning {\n\t\tcolor: yellow;\n\t}\n\n\t.input-hint-msg-info {\n\t\tcolor: green;\n\t}\n\t\"\"\"\n\n\tdef __init__(\n\t\tself,\n\t\theader: str | None = None,\n\t\tplaceholder: str | None = None,\n\t\tpassword: bool = False,\n\t\tdefault_value: str | None = None,\n\t\tallow_reset: bool = False,\n\t\tallow_skip: bool = False,\n\t\tvalidator: Validator | None = None,\n\t\tinfo_callback: Callable[[str], InputInfo | None] | None = None,\n\t):\n\t\tsuper().__init__(allow_skip, allow_reset)\n\t\tself._header = header or ''\n\t\tself._placeholder = placeholder or ''\n\t\tself._password = password\n\t\tself._default_value = default_value or ''\n\t\tself._allow_reset = allow_reset\n\t\tself._allow_skip = allow_skip\n\t\tself._validator = validator\n\t\tself._info_callback = info_callback\n\n\tasync def run(self) -> Result[str]:\n\t\tassert TApp.app\n\t\treturn await TApp.app.show(self)\n\n\t@override\n\tdef compose(self) -> ComposeResult:\n\t\tyield Label(self._header, classes='header-text', id='header_text')\n\n\t\twith Center(classes='container-wrapper'):\n\t\t\twith Vertical(classes='input-content'):\n\t\t\t\tyield Input(\n\t\t\t\t\tplaceholder=self._placeholder,\n\t\t\t\t\tpassword=self._password,\n\t\t\t\t\tvalue=self._default_value,\n\t\t\t\t\tid='main_input',\n\t\t\t\t\tvalidators=self._validator,\n\t\t\t\t\tvalidate_on=['submitted'],\n\t\t\t\t)\n\t\t\t\tyield Label('', classes='input-failure', id='input-failure')\n\t\t\t\tyield Label('', id='input-info')\n\n\t\tyield Footer()\n\n\tdef on_mount(self) -> None:\n\t\tinput_field = self.query_one('#main_input', Input)\n\t\tinput_field.focus()\n\n\tdef on_input_submitted(self, event: Input.Submitted) -> None:\n\t\tif event.validation_result and not event.validation_result.is_valid:\n\t\t\tfailures = [failure.description for failure in event.validation_result.failures if failure.description]\n\t\t\tfailure_out = ', '.join(failures)\n\n\t\t\tself.query_one('#input-failure', Label).update(failure_out)\n\t\telse:\n\t\t\t_ = self.dismiss(Result(ResultType.Selection, _data=event.value))\n\n\tdef on_input_changed(self, event: Input.Changed) -> None:\n\t\tinfo_label = self.query_one('#input-info', Label)\n\t\tif self._info_callback:\n\t\t\tresult = self._info_callback(event.value)\n\t\t\tif result:\n\t\t\t\tcss_class = ''\n\t\t\t\tif result.info_type == InputInfoType.MsgError:\n\t\t\t\t\tcss_class = 'input-hint-msg-error'\n\t\t\t\telif result.info_type == InputInfoType.MsgWarning:\n\t\t\t\t\tcss_class = 'input-hint-msg-warning'\n\t\t\t\telif result.info_type == InputInfoType.MsgInfo:\n\t\t\t\t\tcss_class = 'input-hint-msg-info'\n\t\t\t\tinfo_label.update(result.message)\n\t\t\t\tinfo_label.set_classes(css_class)\n\t\t\telse:\n\t\t\t\tinfo_label.update('')\n\t\t\t\tinfo_label.set_classes('')\n\n\nclass _DataTable(DataTable[ValueT]):\n\tBINDINGS: ClassVar = [\n\t\tBinding('down', 'cursor_down', 'Down', show=True),\n\t\tBinding('up', 'cursor_up', 'Up', show=True),\n\t\tBinding('j', 'cursor_down', 'Down', show=False),\n\t\tBinding('k', 'cursor_up', 'Up', show=False),\n\t]\n\n\nclass TableSelectionScreen(BaseScreen[ValueT]):\n\tBINDINGS: ClassVar = [\n\t\tBinding('space', 'toggle_selection', 'Toggle', show=True),\n\t]\n\n\tCSS = \"\"\"\n\tTableSelectionScreen {\n\t\talign: center top;\n\t\tbackground: transparent;\n\t}\n\n\t.content-container {\n\t\twidth: 1fr;\n\t\theight: 1fr;\n\t\tmax-height: 100%;\n\n\t\tmargin-top: 2;\n\t\tmargin-bottom: 2;\n\n\t\tbackground: transparent;\n\t}\n\n\t.table-container {\n\t\talign: center top;\n\t\twidth: 1fr;\n\t\theight: 1fr;\n\n\t\tbackground: transparent;\n\t}\n\n\t.table-container ScrollableContainer {\n\t\talign: center top;\n\t\theight: auto;\n\n\t\tbackground: transparent;\n\t}\n\n\tDataTable {\n\t\twidth: auto;\n\t\theight: auto;\n\n\t\tpadding-bottom: 2;\n\n\t\tborder: none;\n\t\tbackground: transparent;\n\t}\n\n\tDataTable .datatable--header {\n\t\tbackground: transparent;\n\t\tborder: solid;\n\t}\n\n\tLoadingIndicator {\n\t\theight: auto;\n\t\tpadding-top: 2;\n\n\t\tbackground: transparent;\n\t}\n\t\"\"\"\n\n\tdef __init__(\n\t\tself,\n\t\theader: str | None = None,\n\t\tgroup: MenuItemGroup | None = None,\n\t\tgroup_callback: Callable[[], Awaitable[MenuItemGroup]] | None = None,\n\t\tallow_reset: bool = False,\n\t\tallow_skip: bool = False,\n\t\tloading_header: str | None = None,\n\t\tmulti: bool = False,\n\t\tpreview_location: Literal['bottom'] | None = None,\n\t\tpreview_header: str | None = None,\n\t):\n\t\tsuper().__init__(allow_skip, allow_reset)\n\t\tself._header = header\n\t\tself._group = group\n\t\tself._group_callback = group_callback\n\t\tself._loading_header = loading_header\n\t\tself._multi = multi\n\t\tself._preview_location = preview_location\n\t\tself._preview_header = preview_header\n\n\t\tself._selected_keys: set[RowKey] = set()\n\t\tself._current_row_key: RowKey | None = None\n\n\t\tif self._group is None and self._group_callback is None:\n\t\t\traise ValueError('Either data or data_callback must be provided')\n\n\tasync def run(self) -> Result[ValueT]:\n\t\tassert TApp.app\n\t\treturn await TApp.app.show(self)\n\n\t@override\n\tdef compose(self) -> ComposeResult:\n\t\tif self._header:\n\t\t\tyield Label(self._header, classes='header-text', id='header_text')\n\n\t\twith Vertical(classes='content-container'):\n\t\t\tif self._loading_header:\n\t\t\t\twith Center():\n\t\t\t\t\tyield Label(self._loading_header, classes='header', id='loading_header')\n\n\t\t\tyield LoadingIndicator(id='loader')\n\n\t\t\tif self._preview_location is None:\n\t\t\t\twith Center():\n\t\t\t\t\twith Vertical(classes='table-container'):\n\t\t\t\t\t\tyield ScrollableContainer(_DataTable(id='data_table'))\n\n\t\t\telse:\n\t\t\t\twith Vertical(classes='table-container'):\n\t\t\t\t\tyield ScrollableContainer(_DataTable(id='data_table'))\n\t\t\t\t\tyield Rule(orientation='horizontal')\n\t\t\t\t\tif self._preview_header is not None:\n\t\t\t\t\t\tyield Label(self._preview_header, classes='preview-header', id='preview-header')\n\t\t\t\t\tyield ScrollableContainer(Label('', id='preview_content', markup=False))\n\n\t\tyield Footer()\n\n\tdef on_mount(self) -> None:\n\t\tself._display_header(True)\n\t\tdata_table = self.query_one(DataTable)\n\t\tdata_table.cell_padding = 2\n\n\t\tif self._group:\n\t\t\tself._put_data_to_table(data_table, self._group)\n\t\telse:\n\t\t\tself._load_data(data_table)\n\n\t@work\n\tasync def _load_data(self, table: DataTable[ValueT]) -> None:\n\t\tassert self._group_callback is not None\n\t\tgroup = await self._group_callback()\n\t\tself._put_data_to_table(table, group)\n\n\tdef _display_header(self, is_loading: bool) -> None:\n\t\tif self._loading_header:\n\t\t\tloading_header = self.query_one('#loading_header', Label)\n\t\t\tloading_header.display = is_loading\n\n\t\tif self._header:\n\t\t\theader = self.query_one('#header_text', Label)\n\t\t\theader.display = not is_loading\n\n\tdef _put_data_to_table(self, table: DataTable[ValueT], group: MenuItemGroup) -> None:\n\t\titems = group.items\n\t\tselected = group.selected_items\n\n\t\tif not items:\n\t\t\t_ = self.dismiss(Result(ResultType.Selection))\n\t\t\treturn\n\n\t\tvalue = items[0].value\n\t\tif not value:\n\t\t\t_ = self.dismiss(Result(ResultType.Selection))\n\t\t\treturn\n\n\t\tcols = list(value.table_data().keys())\n\n\t\tif self._multi:\n\t\t\tcols.insert(0, '   ')\n\n\t\ttable.add_columns(*cols)\n\n\t\tfor item in items:\n\t\t\tif not item.value:\n\t\t\t\tcontinue\n\n\t\t\trow_values = list(item.value.table_data().values())\n\n\t\t\tif self._multi:\n\t\t\t\tif item in selected:\n\t\t\t\t\trow_values.insert(0, '[X]')\n\t\t\t\telse:\n\t\t\t\t\trow_values.insert(0, '[ ]')\n\n\t\t\trow_key = table.add_row(*row_values, key=item)  # type: ignore[arg-type]\n\t\t\tif item in selected:\n\t\t\t\tself._selected_keys.add(row_key)\n\n\t\ttable.cursor_type = 'row'\n\t\ttable.display = True\n\n\t\tloader = self.query_one('#loader')\n\t\tloader.display = False\n\t\tself._display_header(False)\n\t\ttable.focus()\n\n\tdef action_toggle_selection(self) -> None:\n\t\tif not self._multi:\n\t\t\treturn\n\n\t\tif not self._current_row_key:\n\t\t\treturn\n\n\t\ttable = self.query_one(DataTable)\n\t\tcell_key = table.coordinate_to_cell_key(table.cursor_coordinate)\n\n\t\tif self._current_row_key in self._selected_keys:\n\t\t\tself._selected_keys.remove(self._current_row_key)\n\t\t\ttable.update_cell(self._current_row_key, cell_key.column_key, '[ ]')\n\t\telse:\n\t\t\tself._selected_keys.add(self._current_row_key)\n\t\t\ttable.update_cell(self._current_row_key, cell_key.column_key, '[X]')\n\n\tdef on_data_table_row_highlighted(self, event: DataTable.RowHighlighted) -> None:\n\t\tself._set_cursor(event.cursor_row)\n\n\t\tself._current_row_key = event.row_key\n\t\titem: MenuItem = event.row_key.value  # type: ignore[assignment]\n\n\t\tif not item.preview_action:\n\t\t\treturn\n\n\t\tpreview_widget = self.query_one('#preview_content', Label)\n\n\t\tmaybe_preview = item.preview_action(item)\n\t\tif maybe_preview is not None:\n\t\t\tpreview_widget.update(maybe_preview)\n\t\t\treturn\n\n\t\tpreview_widget.update('')\n\n\tdef _set_cursor(self, row_index: int) -> None:\n\t\tdata_table = self.query_one(DataTable)\n\n\t\ttarget_y = sum(\n\t\t\t[\n\t\t\t\tdata_table.region.y,  # padding/margin offset of the option list\n\t\t\t\t1,  # table header\n\t\t\t\trow_index,  # index of the highlighted row\n\t\t\t\t-data_table.scroll_offset.y,  # scroll offset\n\t\t\t]\n\t\t)\n\n\t\tdebug(f'Setting cursor to target_y: {target_y}')\n\n\t\tself.app.cursor_position = Offset(data_table.region.x, target_y)\n\t\tself.app.refresh()\n\n\tdef on_data_table_row_selected(self, event: DataTable.RowSelected) -> None:\n\t\tif self._multi:\n\t\t\tif len(self._selected_keys) == 0:\n\t\t\t\tif not self._allow_skip:\n\t\t\t\t\treturn\n\n\t\t\t\t_ = self.dismiss(Result[ValueT](ResultType.Skip))\n\t\t\telse:\n\t\t\t\titems = [row_key.value for row_key in self._selected_keys]\n\t\t\t\t_ = self.dismiss(Result(ResultType.Selection, _item=items))  # type: ignore[arg-type]\n\t\telse:\n\t\t\t_ = self.dismiss(\n\t\t\t\tResult[ValueT](\n\t\t\t\t\tResultType.Selection,\n\t\t\t\t\t_item=event.row_key.value,  # type: ignore[arg-type]\n\t\t\t\t)\n\t\t\t)\n\n\nclass InstanceRunnable[ValueT](ABC):\n\t@abstractmethod\n\tasync def run(self) -> ValueT | None:\n\t\tpass\n\n\nclass _AppInstance(App[ValueT]):\n\tENABLE_COMMAND_PALETTE = False\n\n\tBINDINGS: ClassVar = [\n\t\tBinding('f1', 'trigger_help', 'Show/Hide help', show=True),\n\t\tBinding('ctrl+q', 'quit', 'Quit', show=True, priority=True),\n\t]\n\n\tCSS = \"\"\"\n\tScreen {\n\t\tcolor: white;\n\t}\n\n\t* {\n\t\tscrollbar-size: 1 1;\n\n\t\t/* Use high contrast colors */\n\t\tscrollbar-color: white;\n\t\tscrollbar-background: black;\n\t}\n\n\t.app-header {\n\t\tdock: top;\n\t\theight: auto;\n\t\twidth: 100%;\n\t\tcontent-align: center middle;\n\t\tbackground: blue;\n\t\tcolor: white;\n\t\ttext-style: bold;\n\t}\n\n\t.header-text {\n\t\ttext-align: center;\n\t\twidth: 100%;\n\t\theight: auto;\n\n\t\tpadding-top: 2;\n\t\tpadding-bottom: 2;\n\n\t\tbackground: transparent;\n\t}\n\n\t.preview-header {\n\t\ttext-align: center;\n\t\tcolor: white;\n\t\ttext-style: bold;\n\t\twidth: 100%;\n\n\t\tpadding-bottom: 1;\n\n\t\tbackground: transparent;\n\t}\n\n\t.no-border {\n\t\tborder: none;\n\t}\n\n\tInput {\n\t\tborder: solid gray 50%;\n\t\tbackground: transparent;\n\t\theight: 3;\n\t\tcolor: white;\n\t}\n\n\tInput .input--cursor {\n\t\tcolor: white;\n\t}\n\n\tInput:focus {\n\t\tborder: solid blue;\n\t}\n\n\tFooter {\n\t\tdock: bottom;\n\t\twidth: 100%;\n\t\tbackground: transparent;\n\t\tcolor: white;\n\t\theight: 1;\n\t}\n\n\t.footer-key--key {\n\t\tbackground: black;\n\t\tcolor: white;\n\t}\n\n\t.footer-key--description {\n\t\tbackground: black;\n\t\tcolor: white;\n\t\tpadding-right: 2;\n\t}\n\n\tFooterKey.-command-palette {\n\t\tbackground: black;\n\t\tborder-left: vkey white 20%;\n\t}\n\t\"\"\"\n\n\tdef __init__(self, main: InstanceRunnable[ValueT] | Callable[[], Awaitable[ValueT]]) -> None:\n\t\tsuper().__init__(ansi_color=True)\n\t\tself._main = main\n\n\tdef action_trigger_help(self) -> None:\n\t\tfrom textual.widgets import HelpPanel\n\n\t\tif self.screen.query('HelpPanel'):\n\t\t\t_ = self.screen.query('HelpPanel').remove()\n\t\telse:\n\t\t\t_ = self.screen.mount(HelpPanel())\n\n\tdef on_mount(self) -> None:\n\t\tself._run_worker()\n\n\t@work\n\tasync def _run_worker(self) -> None:\n\t\ttry:\n\t\t\tif isinstance(self._main, InstanceRunnable):\n\t\t\t\tresult: ValueT | None = await self._main.run()\n\t\t\telse:\n\t\t\t\tresult = await self._main()\n\n\t\t\ttui.exit(result)\n\t\texcept WorkerCancelled:\n\t\t\tdebug('Worker was cancelled')\n\t\texcept Exception as err:\n\t\t\tdebug(f'Error while running main app: {err}')\n\t\t\t# this will terminate the textual app and return the exception\n\t\t\tself.exit(cast(ValueT, err))\n\n\t@work\n\tasync def _show_async(self, screen: Screen[Result[ValueT]]) -> Result[ValueT]:\n\t\treturn await self.push_screen_wait(screen)\n\n\tasync def show(self, screen: Screen[Result[ValueT]]) -> Result[ValueT]:\n\t\treturn await self._show_async(screen).wait()\n\n\nclass TApp:\n\tapp: _AppInstance[Any] | None = None\n\n\tdef run(self, main: InstanceRunnable[ValueT] | Callable[[], Awaitable[ValueT]]) -> ValueT:\n\t\tTApp.app = _AppInstance(main)\n\t\tresult: ValueT | Exception | None = TApp.app.run()\n\n\t\tif isinstance(result, Exception):\n\t\t\traise result\n\n\t\tif result is None:\n\t\t\tdebug('App returned no result, assuming exit')\n\t\t\tsys.exit(0)\n\n\t\treturn result\n\n\tdef exit(self, result: Any) -> None:\n\t\tassert TApp.app\n\t\tTApp.app.exit(result)\n\n\ntui = TApp()\n"
  },
  {
    "path": "archinstall/tui/ui/menu_item.py",
    "content": "from __future__ import annotations\n\nfrom collections.abc import Awaitable, Callable\nfrom dataclasses import dataclass, field\nfrom enum import Enum\nfrom functools import cached_property\nfrom typing import Any, ClassVar, Self, override\n\nfrom archinstall.lib.translationhandler import tr\n\n\n@dataclass\nclass MenuItem:\n\ttext: str\n\tvalue: Any | None = None\n\taction: Callable[[Any], Awaitable[Any]] | None = None\n\tenabled: bool = True\n\tread_only: bool = False\n\tmandatory: bool = False\n\tdependencies: list[str | Callable[[], bool]] = field(default_factory=list)\n\tdependencies_not: list[str] = field(default_factory=list)\n\tdisplay_action: Callable[[Any], str] | None = None\n\tpreview_action: Callable[[Self], str | None] | None = None\n\tkey: str | None = None\n\n\t_id: str = ''\n\n\t_yes: ClassVar[Self | None] = None\n\t_no: ClassVar[Self | None] = None\n\n\tdef __post_init__(self) -> None:\n\t\tif self.key is not None:\n\t\t\tself._id = self.key\n\t\telse:\n\t\t\tself._id = str(id(self))\n\n\t@override\n\tdef __hash__(self) -> int:\n\t\treturn hash(self._id)\n\n\tdef get_id(self) -> str:\n\t\treturn self._id\n\n\tdef get_value(self) -> Any:\n\t\tassert self.value is not None\n\t\treturn self.value\n\n\t@classmethod\n\tdef yes(cls, action: Callable[[Any], Any] | None = None) -> Self:\n\t\tif cls._yes is None:\n\t\t\tcls._yes = cls(tr('Yes'), value=True, key='yes', action=action)\n\n\t\treturn cls._yes\n\n\t@classmethod\n\tdef no(cls, action: Callable[[Any], Any] | None = None) -> Self:\n\t\tif cls._no is None:\n\t\t\tcls._no = cls(tr('No'), value=False, key='no', action=action)\n\n\t\treturn cls._no\n\n\tdef is_empty(self) -> bool:\n\t\treturn self.text == '' or self.text is None\n\n\tdef has_value(self) -> bool:\n\t\tif self.value is None:\n\t\t\treturn False\n\t\telif isinstance(self.value, list) and len(self.value) == 0:\n\t\t\treturn False\n\t\telif isinstance(self.value, dict) and len(self.value) == 0:\n\t\t\treturn False\n\t\telse:\n\t\t\treturn True\n\n\tdef get_display_value(self) -> str | None:\n\t\tif self.display_action is not None:\n\t\t\treturn self.display_action(self.value)\n\n\t\treturn None\n\n\nclass MenuItemGroup:\n\tdef __init__(\n\t\tself,\n\t\tmenu_items: list[MenuItem],\n\t\tfocus_item: MenuItem | None = None,\n\t\tdefault_item: MenuItem | None = None,\n\t\tsort_items: bool = False,\n\t\tsort_case_sensitive: bool = True,\n\t\tcheckmarks: bool = False,\n\t) -> None:\n\t\tif len(menu_items) < 1:\n\t\t\traise ValueError('Menu must have at least one item')\n\n\t\tif sort_items:\n\t\t\tif sort_case_sensitive:\n\t\t\t\tmenu_items = sorted(menu_items, key=lambda x: x.text)\n\t\t\telse:\n\t\t\t\tmenu_items = sorted(menu_items, key=lambda x: x.text.lower())\n\n\t\tself._filter_pattern: str = ''\n\t\tself._checkmarks: bool = checkmarks\n\n\t\tself._menu_items: list[MenuItem] = menu_items\n\t\tself.focus_item: MenuItem | None = focus_item\n\t\tself.selected_items: list[MenuItem] = []\n\t\tself.default_item: MenuItem | None = default_item\n\n\t\tif not focus_item:\n\t\t\tself.focus_first()\n\n\t\tif self.focus_item not in self.items:\n\t\t\traise ValueError(f'Selected item not in menu: {self.focus_item}')\n\n\t@classmethod\n\tdef from_objects(cls, items: list[Any]) -> Self:\n\t\titems = [MenuItem(str(id(item)), value=item) for item in items]\n\t\treturn cls(items)\n\n\tdef add_item(self, item: MenuItem) -> None:\n\t\tself._menu_items.append(item)\n\t\tdelattr(self, 'items')  # resetting the cache\n\n\tdef find_by_id(self, item_id: str) -> MenuItem:\n\t\tfor item in self._menu_items:\n\t\t\tif item.get_id() == item_id:\n\t\t\t\treturn item\n\n\t\traise ValueError(f'No item found for id: {item_id}')\n\n\tdef find_by_key(self, key: str) -> MenuItem:\n\t\tfor item in self._menu_items:\n\t\t\tif item.key == key:\n\t\t\t\treturn item\n\n\t\traise ValueError(f'No item found for key: {key}')\n\n\tdef get_enabled_items(self) -> list[MenuItem]:\n\t\treturn [it for it in self.items if self.is_enabled(it)]\n\n\t@classmethod\n\tdef yes_no(cls) -> Self:\n\t\treturn cls(\n\t\t\t[MenuItem.yes(), MenuItem.no()],\n\t\t\tsort_items=True,\n\t\t)\n\n\t@classmethod\n\tdef from_enum(\n\t\tcls,\n\t\tenum_cls: type[Enum],\n\t\tsort_items: bool = False,\n\t\tpreset: Enum | None = None,\n\t) -> Self:\n\t\titems = [MenuItem(elem.value, value=elem) for elem in enum_cls]\n\t\tgroup = cls(items, sort_items=sort_items)\n\n\t\tif preset is not None:\n\t\t\tgroup.set_selected_by_value(preset)\n\n\t\treturn group\n\n\tdef set_preview_for_all(self, action: Callable[[Any], str | None]) -> None:\n\t\tfor item in self.items:\n\t\t\titem.preview_action = action\n\n\tdef set_focus_by_value(self, value: Any) -> None:\n\t\tfor item in self._menu_items:\n\t\t\tif item.value == value:\n\t\t\t\tself.focus_item = item\n\t\t\t\tbreak\n\n\tdef set_default_by_value(self, value: Any) -> None:\n\t\tfor item in self._menu_items:\n\t\t\tif item.value == value:\n\t\t\t\tself.default_item = item\n\t\t\t\tbreak\n\n\tdef set_selected_by_value(self, values: Any | list[Any] | None) -> None:\n\t\tif values is None:\n\t\t\treturn\n\n\t\tif not isinstance(values, list):\n\t\t\tvalues = [values]\n\n\t\tfor item in self._menu_items:\n\t\t\tif item.value in values:\n\t\t\t\tself.selected_items.append(item)\n\n\t\tif values:\n\t\t\tself.set_focus_by_value(values[0])\n\n\tdef get_focused_index(self) -> int | None:\n\t\titems = self.get_enabled_items()\n\n\t\tif self.focus_item and items:\n\t\t\ttry:\n\t\t\t\treturn items.index(self.focus_item)\n\t\t\texcept ValueError:\n\t\t\t\t# on large menus (15k+) when filtering very quickly\n\t\t\t\t# the index search is too slow while the items are reduced\n\t\t\t\t# by the filter and it will blow up as it cannot find the\n\t\t\t\t# focus item\n\t\t\t\tpass\n\n\t\treturn None\n\n\t@cached_property\n\tdef _max_items_text_width(self) -> int:\n\t\treturn max([len(item.text) for item in self._menu_items])\n\n\tdef _default_suffix(self, item: MenuItem) -> str:\n\t\tif self.default_item == item:\n\t\t\treturn tr(' (default)')\n\t\treturn ''\n\n\tdef set_action_for_all(self, action: Callable[[Any], Any]) -> None:\n\t\tfor item in self.items:\n\t\t\titem.action = action\n\n\t@cached_property\n\tdef items(self) -> list[MenuItem]:\n\t\tpattern = self._filter_pattern.lower()\n\t\titems = filter(lambda item: item.is_empty() or pattern in item.text.lower(), self._menu_items)\n\t\tl_items = sorted(items, key=self._items_score)\n\t\treturn l_items\n\n\tdef _items_score(self, item: MenuItem) -> int:\n\t\tpattern = self._filter_pattern.lower()\n\t\tif item.text.lower().startswith(pattern):\n\t\t\treturn 0\n\t\treturn 1\n\n\tdef set_filter_pattern(self, pattern: str) -> None:\n\t\tself._filter_pattern = pattern\n\t\tdelattr(self, 'items')  # resetting the cache\n\t\tself.focus_first()\n\n\tdef focus_index(self, index: int) -> None:\n\t\tenabled = self.get_enabled_items()\n\t\tself.focus_item = enabled[index]\n\n\tdef focus_first(self) -> None:\n\t\tif len(self.items) == 0:\n\t\t\treturn\n\n\t\tfirst_item: MenuItem | None = self.items[0]\n\n\t\tif first_item and not self._is_selectable(first_item):\n\t\t\tfirst_item = self._find_next_selectable_item(self.items, first_item, 1)\n\n\t\tif first_item is not None:\n\t\t\tself.focus_item = first_item\n\n\tdef focus_last(self) -> None:\n\t\tif len(self.items) == 0:\n\t\t\treturn\n\n\t\tlast_item: MenuItem | None = self.items[-1]\n\n\t\tif last_item and not self._is_selectable(last_item):\n\t\t\tlast_item = self._find_next_selectable_item(self.items, last_item, -1)\n\n\t\tif last_item is not None:\n\t\t\tself.focus_item = last_item\n\n\tdef focus_prev(self, skip_empty: bool = True) -> None:\n\t\t# e.g. when filter shows no items\n\t\tif self.focus_item is None:\n\t\t\treturn\n\n\t\titem = self._find_next_selectable_item(self.items, self.focus_item, -1)\n\n\t\tif item is not None:\n\t\t\tself.focus_item = item\n\n\tdef focus_next(self, skip_not_enabled: bool = True) -> None:\n\t\t# e.g. when filter shows no items\n\t\tif self.focus_item is None:\n\t\t\treturn\n\n\t\titem = self._find_next_selectable_item(self.items, self.focus_item, 1)\n\n\t\tif item is not None:\n\t\t\tself.focus_item = item\n\n\tdef _find_next_selectable_item(\n\t\tself,\n\t\titems: list[MenuItem],\n\t\tstart_item: MenuItem,\n\t\tdirection: int,\n\t) -> MenuItem | None:\n\t\tstart_index = self.items.index(start_item)\n\t\tn = len(items)\n\n\t\tcurrent_index = start_index\n\t\tfor _ in range(n):\n\t\t\tcurrent_index = (current_index + direction) % n\n\n\t\t\tif self._is_selectable(items[current_index]):\n\t\t\t\treturn items[current_index]\n\n\t\treturn None\n\n\tdef max_item_width(self) -> int:\n\t\tspaces = [len(str(it.text)) for it in self.items]\n\t\tif spaces:\n\t\t\treturn max(spaces)\n\t\treturn 0\n\n\tdef _is_selectable(self, item: MenuItem) -> bool:\n\t\tif item.is_empty():\n\t\t\treturn False\n\t\telif item.read_only:\n\t\t\treturn False\n\n\t\treturn self.is_enabled(item)\n\n\tdef is_enabled(self, item: MenuItem) -> bool:\n\t\tif not item.enabled:\n\t\t\treturn False\n\n\t\tfor dep in item.dependencies:\n\t\t\tif isinstance(dep, str):\n\t\t\t\titem = self.find_by_key(dep)\n\t\t\t\tif not item.value or not self.is_enabled(item):\n\t\t\t\t\treturn False\n\t\t\telse:\n\t\t\t\treturn dep()\n\n\t\tfor dep_not in item.dependencies_not:\n\t\t\titem = self.find_by_key(dep_not)\n\t\t\tif item.value is not None:\n\t\t\t\treturn False\n\n\t\treturn True\n"
  },
  {
    "path": "archinstall/tui/ui/result.py",
    "content": "from dataclasses import dataclass\nfrom enum import Enum, auto\nfrom typing import Self, cast\n\nfrom archinstall.tui.ui.menu_item import MenuItem\n\n\nclass ResultType(Enum):\n\tSelection = auto()\n\tSkip = auto()\n\tReset = auto()\n\n\n@dataclass\nclass Result[ValueT]:\n\ttype_: ResultType\n\t_data: ValueT | list[ValueT] | None = None\n\t_item: MenuItem | list[MenuItem] | None = None\n\n\t@classmethod\n\tdef true(cls) -> Self:\n\t\treturn cls(ResultType.Selection, _data=True)  # type: ignore[arg-type]\n\n\t@classmethod\n\tdef false(cls) -> Self:\n\t\treturn cls(ResultType.Selection, _data=False)  # type: ignore[arg-type]\n\n\t@classmethod\n\tdef reset(cls) -> Self:\n\t\treturn cls(ResultType.Reset)\n\n\t@classmethod\n\tdef selection(cls, value: ValueT | list[ValueT] | None) -> Self:\n\t\treturn cls(ResultType.Selection, _data=value)\n\n\t@classmethod\n\tdef skip(cls) -> Self:\n\t\treturn cls(ResultType.Skip)\n\n\tdef has_data(self) -> bool:\n\t\treturn self._data is not None\n\n\tdef has_value(self) -> bool:\n\t\treturn self._item is not None\n\n\tdef item(self) -> MenuItem:\n\t\tif isinstance(self._item, list) or self._item is None:\n\t\t\traise ValueError('Invalid item type')\n\t\treturn self._item\n\n\tdef items(self) -> list[MenuItem]:\n\t\tif isinstance(self._item, list):\n\t\t\treturn self._item\n\n\t\traise ValueError('Invalid item type')\n\n\tdef get_value(self) -> ValueT:\n\t\tif self._item is not None:\n\t\t\treturn self.item().get_value()  # type: ignore[no-any-return]\n\n\t\tif type(self._data) is not list and self._data is not None:\n\t\t\treturn cast(ValueT, self._data)\n\n\t\traise ValueError('No value found')\n\n\tdef get_values(self) -> list[ValueT]:\n\t\tif self._item is not None:\n\t\t\treturn [i.get_value() for i in self.items()]\n\n\t\tassert type(self._data) is list\n\t\treturn cast(list[ValueT], self._data)\n"
  },
  {
    "path": "docs/Makefile",
    "content": "# Minimal makefile for Sphinx documentation\n#\n\n# You can set these variables from the command line, and also\n# from the environment for the first two.\nSPHINXOPTS    ?=\nSPHINXBUILD   ?= sphinx-build\nSOURCEDIR     = .\nBUILDDIR      = _build\n\n# Put it first so that \"make\" without argument is like \"make help\".\nhelp:\n\t@$(SPHINXBUILD) -M help \"$(SOURCEDIR)\" \"$(BUILDDIR)\" $(SPHINXOPTS) $(O)\n\n.PHONY: help Makefile\n\n# Catch-all target: route all unknown targets to Sphinx using the new\n# \"make mode\" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).\n%: Makefile\n\t@$(SPHINXBUILD) -M $@ \"$(SOURCEDIR)\" \"$(BUILDDIR)\" $(SPHINXOPTS) $(O)\n"
  },
  {
    "path": "docs/README.md",
    "content": "## Dependencies\n\nIn order to build the docs locally, you need to have the following installed:\n\n- [sphinx-doc](https://www.sphinx-doc.org/en/master/usage/installation.html)\n- [sphinx-rdt-theme](https://pypi.org/project/sphinx-rtd-theme/)\n\nFor example, you may install these dependencies using pip:\n```\npip install -U sphinx sphinx-rtd-theme\n```\n\nFor other installation methods refer to the docs of the dependencies.\n\n## Build\n\nIn `archinstall/docs`, run `make html` (or specify another target) to build locally. The build files will be in `archinstall/docs/_build`. Open `_build/html/index.html` with your browser to see your changes in action.\n"
  },
  {
    "path": "docs/_static/style.css",
    "content": ".wy-nav-content {\n    max-width: none;\n}\n"
  },
  {
    "path": "docs/_templates/layout.html",
    "content": "{% extends \"!layout.html\" %}\n{% block extrahead %}\n    <link href=\"{{ pathto(\"_static/style.css\", True) }}\" rel=\"stylesheet\" type=\"text/css\">\n{% endblock %}\n"
  },
  {
    "path": "docs/archinstall/Installer.rst",
    "content": ".. _archinstall.Installer:\n\narchinstall.Installer\n=====================\n\nThe installer is the main class for accessing an installation-instance.\nYou can look at this class as the installation you have or will perform.\n\nAnything related to **inside** the installation, will be found in this class.\n\n.. autofunction:: archinstall.Installer\n"
  },
  {
    "path": "docs/archinstall/plugins.rst",
    "content": ".. _archinstall.Plugins:\n\nPython Plugins\n==============\n\n``archinstall`` supports plugins via two methods.\n\nFirst method is directly via the ``--plugin`` parameter when running as a CLI tool. This will load a specific plugin locally or remotely via a path.\n\nThe second method is via Python's built in `plugin discovery`_ using `entry points`_ categorized as ``archinstall.plugin``.\n\n``--plugin`` parameter\n----------------------\n\nThe parameter has the benefit of being stored in the ``--conf`` state, meaning when re-running an installation — the plugin will automatically be loaded.\nIt's limitation is that it requires an initial path to be known and written and be cumbersome.\n\nPlugin Discovery\n----------------\n\nThis method allows for multiple plugins to be loaded with the drawback that they have to be installed beforehand on the system running ``archinstall``.\nThis mainly targets those who build their own ISO's and package specific setups for their needs.\n\n\nWhat's supported?\n-----------------\n\nCurrently the documentation for this is scarse. Until that is resolved, the best way to find supported features is to search the source code for `plugin.on_ <https://github.com/search?q=repo%3Aarchlinux%2Farchinstall+%22plugin.on_%22&type=code>`_ as this will give a clear indication of which calls are made to plugins.\n\nHow does it work?\n-----------------\n\n``archinstall`` plugins use a discovery-driven approach where plugins are queried for certain functions.\nAs an example, if a plugin has the following function:\n\n.. code-block:: python\n\n   def on_pacstrap(*packages):\n       ...\n\nThe function :code:`archinstall.Pacman().strap([\"some packages\"])` is hardcoded to iterate plugins and look for :code:`on_pacstrap` in the plugin.\nIf the function exists, :code:`.strap()` will call the plugin's function and replace the initial package list with the result from the plugin.\n\nThe best way to document these calls is currently undecided, as it's hard to document this behavior dynamically.\n\nWriting your own?\n-----------------\n\nThe simplest way currently is to look at a reference implementation or the community. Two of these are:\n\n* `torxed/archinstall-aur <https://github.com/torxed/archinstall-aur>`_\n* `phisch/archinstall-aur <https://github.com/phisch/archinstall-aur>`_\n\nAnd search for `plugin.on_ <https://github.com/search?q=repo%3Aarchlinux%2Farchinstall+%22plugin.on_%22&type=code>`_ in the code base to find what ``archinstall`` will look for. PR's are welcome to widen the support for this.\n\n.. _plugin discovery: https://packaging.python.org/en/latest/specifications/entry-points/\n.. _entry points: https://docs.python.org/3/library/importlib.metadata.html#entry-points\n"
  },
  {
    "path": "docs/cli_parameters/config/config_options.csv",
    "content": "Key,Value(s),Description,Required\nadditional-repositories,[ `multilib <https://wiki.archlinux.org/title/Official_repositories#multilib>`_!, `testing <https://wiki.archlinux.org/title/Official_repositories#Testing_repositories>`_ ],Enables one or more of the testing and multilib repositories before proceeding with installation,No\narchinstall-language,`lang <https://github.com/archlinux/archinstall/blob/master/archinstall/locales/languages.json>`__,Sets the TUI language used *(make sure to use the ``lang`` value not the ``abbr``)*,No\naudio_config,`pipewire <https://wiki.archlinux.org/title/PipeWire>`_!, `pulseaudio <https://wiki.archlinux.org/title/PulseAudio>`_,Audioserver to be installed,No\nbootloader_config,\"{ bootloader: `Systemd-boot <https://wiki.archlinux.org/title/Systemd-boot>`_!, `grub <https://wiki.archlinux.org/title/GRUB>`_!, `limine <https://wiki.archlinux.org/title/Limine>`_!, uki: ``true``/``false``!, removable: ``true``/``false`` }\",\"Bootloader configuration. ``bootloader`` selects which bootloader to install *(grub/limine mandatory on BIOS)*. ``uki`` enables unified kernel images *(UEFI only!,  systemd-boot/limine only)*. ``removable`` installs to default removable media path /EFI/BOOT/ instead of NVRAM *(UEFI only!, grub/limine only)*\",Yes\ndebug,``true``!, ``false``,Enables debug output,No\ndisk_config,*Read more under* :ref:`disk config`,Contains the desired disk setup to be used during installation,No\ndisk_encryption,*Read more about under* :ref:`disk encryption`,Parameters for disk encryption applied on top of ``disk_config``,No\nhostname,``str``,A string defining your machines hostname on the network *(defaults to ``archinstall``)*,No\nkernels,[ `linux <https://wiki.archlinux.org/title/Kernel#Officially_supported_kernels>`_!, `linux-hardened <https://wiki.archlinux.org/title/Kernel#Officially_supported_kernels>`_!, `linux-lts <https://wiki.archlinux.org/title/Kernel#Officially_supported_kernels>`_!, `linux-rt <https://wiki.archlinux.org/title/Kernel#Officially_supported_kernels>`_!, `linux-rt-lts <https://wiki.archlinux.org/title/Kernel#Officially_supported_kernels>`_!, `linux-zen <https://wiki.archlinux.org/title/Kernel#Officially_supported_kernels>`_ ],Defines which kernels should be installed and setup in the boot loader options,Yes\ncustom_commands,*Read more under* :ref:`custom commands`,Custom commands that will be run post-install chrooted inside the installed system,No\nlocale_config,{kb_layout: `lang <https://wiki.archlinux.org/title/Linux_console/Keyboard_configuration>`__!, sys_enc: `Character encoding <https://wiki.archlinux.org/title/Locale>`_!, sys_lang: `locale <https://wiki.archlinux.org/title/Locale>`_},Defines the keyboard key map!, system encoding and system locale,No\nmirror_config,{custom_mirrors: [ https://... ]!, mirror_regions: { \"Worldwide\": [ \"https://geo.mirror.pkgbuild.com/$repo/os/$arch\" ] } },Sets various mirrors *(defaults to ISO's ``/etc/pacman.d/mirrors`` if not defined)*,No\nnetwork_config,*`see options under Network Configuration`*,Sets which type of *(if any)* network configuration should be used,No\nno_pkg_lookups,``true``!, ``false``,Disabled package checking against https://archlinux.org/packages/,No\nntp,``true``!, ``false``,enables or disables `NTP <https://wiki.archlinux.org/title/Network_Time_Protocol_daemon>`_ during installation,No\noffline,``true``!, ``false``,enables or disables certain online checks such as mirror reachability etc,No\npackages,[ <package1>!, <package2>!, ... ],A list of packages to install during installation,No\nparallel downloads,0-∞,sets a given number of parallel downloads to be used by `pacman <https://wiki.archlinux.org/title/Pacman#Enabling_parallel_downloads>`_,No\nprofile_config,*`read more under the profiles section`*,Installs a given profile if defined,No\nscript,`guided <https://github.com/archlinux/archinstall/blob/master/archinstall/scripts/guided.py>`__! *(default)*!, `minimal <https://github.com/archlinux/archinstall/blob/master/archinstall/scripts/minimal.py>`__!, `only_hdd <https://github.com/archlinux/archinstall/blob/master/archinstall/scripts/only_hdd.py>`_!, When used to autorun an installation!, this sets which script to autorun with,No\nsilent,``true``!, ``false``,disables or enables user questions using the TUI,No\nswap,``true``!, ``false``,enables or disables swap,No\ntimezone,`timezone <https://wiki.archlinux.org/title/System_time#Time_zone>`_,sets a timezone for the installed system,No\n"
  },
  {
    "path": "docs/cli_parameters/config/custom_commands.rst",
    "content": ".. _custom commands:\n\nCustom Commands\n===============\n\nCustom commands is a configuration entry that allows for executing custom commands post-installation.\nThe commands are executed with `arch-chroot <https://man.archlinux.org/man/extra/arch-install-scripts/arch-chroot.8.en>`_.\n\nThe option takes a list of arguments, an example is:\n\n.. code-block:: json\n\n   {\n       \"custom_commands\": [\n           \"hostname new-hostname\"\n       ]\n   }\n\nThe following example will set a new hostname in the installed system.\nThe example is just to illustrate that the command is not run in the ISO but inside the installed system after the base system is installed.\n\nMore examples can be found in the code repository under `examples/ <https://github.com/archlinux/archinstall/tree/e6344f93f7e476d05bbcd642f2ed91fdde545870/examples>`_\n"
  },
  {
    "path": "docs/cli_parameters/config/disk_config.rst",
    "content": ".. _disk config:\n\nDisk Configuration\n==================\n\nThere are only three modes in the ``disk_config`` option. They are described in more detail below.\n\n\"Leave as is\"\n--------------\n\n.. code-block:: json\n\n   {\n       \"config_type\": \"pre_mounted_config\",\n       \"mountpoint\": \"/mnt/archinstall\"\n   }\n\nThis mode will not perform any partitioning what so ever.\nInstead it relies on what's mounted manually by the user under ``/mnt/archinstall``.\n\nGiven the following disk example:\n\n.. code-block::\n\n   /mnt/archinstall    (/dev/sda2)\n        ├── boot       (/dev/sda1)\n        └── home       (/dev/sda3)\n\nRunning ``archinstall --conf your.json --silent`` where the above JSON is configured. The disk will be left alone — and a working system will be installed to the above folders and mountpoints will be translated into the installed system.\n\n.. note::\n\n   Some disk layouts can be too complicated to detect, such as RAID setups. Please do report those setups on the `Issue Tracker <https://github.com/archlinux/archinstall>`__ so we can support them.\n\nBest Effort\n-----------\n\n.. warning::\n\n   This mode will wipe data!\n\n.. note::\n\n   Note that this options is similar to the manual partitioning but is generated through the menu system! And the best effort layout might deviate slightly from some wiki guidelines in order to facilitate some optional configurations at a later stage.\n\n.. code-block:: json\n\n   {\n       \"disk_config\": {\n           \"config_type\": \"default_layout\",\n           \"device_modifications\": [\n               {\n                   \"device\": \"/dev/sda\",\n                   \"wipe\": true,\n                   \"partitions\": \"...\"\n               }\n           ]\n       }\n   }\n\nThis mode will attempt to configure a sane default layout on the selected disks.\nBased on the chosen filesystem, and potential optional settings for said filesystem — different default layouts will be provided.\n\nManual Partitioning\n-------------------\n\n.. code-block:: json\n\n   {\n        \"disk_config\": {\n            \"config_type\": \"manual_partitioning\",\n            \"device_modifications\": [\n               \"filesystem struct\"\n            ]\n        }\n    }\n\nManual partitioning is the most complex one of the three. It offers you near endless flexibility of how to partition your disk. It integrates against `pyparted <https://github.com/dcantrell/pyparted>`__ and some control logic in ``archinstall`` that deals with creating things like subvolumes and compression.\n\nSizes are by default ``sector`` units, but other units are supported.\n\nThe options supplied to ``manual_partitioning`` are dictionary definitions, where the following parameters must exist:\n\n.. csv-table:: JSON options\n   :file: ./manual_options.csv\n   :widths: 15, 15, 65, 5\n   :escape: !\n   :header-rows: 1\n\nEach partition definition heavily relies on what filesystem is used.\nBelow follow two of the more common filesystems, anything else will best be described by running ``archinstall`` to generate a desired configuration for the desired filesystem type — and copy the relevant parts for permanent configurations.\n\n.. warning::\n\n   Important to note that the units and positions in the examples below — are highly user specific!\n\nFAT32\n^^^^^\n\n.. code-block:: json\n\n\t{\n\t\t\"btrfs\": [],\n\t\t\"flags\": [\n\t\t   \"boot\"\n\t\t],\n\t\t\"fs_type\": \"fat32\",\n\t\t\"length\": {\n\t\t   \"sector_size\": null,\n\t\t   \"total_size\": null,\n\t\t   \"unit\": \"B\",\n\t\t   \"value\": 99982592\n\t\t},\n\t\t\"mount_options\": [],\n\t\t\"mountpoint\": \"/boot\",\n\t\t\"obj_id\": \"369f31a8-2781-4d6b-96e7-75680552b7c9\",\n\t\t\"start\": {\n\t\t   \"sector_size\": {\n\t\t       \"sector_size\": null,\n\t\t       \"total_size\": null,\n\t\t       \"unit\": \"B\",\n\t\t       \"value\": 512\n\t\t   },\n\t\t   \"total_size\": null,\n\t\t   \"unit\": \"sectors\",\n\t\t   \"value\": 34\n\t\t},\n\t\t\"status\": \"create\",\n\t\t\"type\": \"primary\"\n\t}\n\n.. note::\n\n   The ``Boot`` flag will make ``archinstall`` automatically set the correct ESP partition GUID if the system is booted with ``EFI`` support. The GUID will then be set to ``C12A7328-F81F-11D2-BA4B-00A0C93EC93B``.\n\nEXT4\n^^^^\n\n.. code-block:: json\n\n\t{\n      \"btrfs\": [],\n      \"flags\": [],\n      \"fs_type\": \"ext4\",\n      \"length\": {\n         \"sector_size\": null,\n         \"total_size\": null,\n         \"unit\": \"B\",\n         \"value\": 15805127360\n      },\n      \"mount_options\": [],\n      \"mountpoint\": \"/\",\n      \"obj_id\": \"3e75d045-21a4-429d-897e-8ec19a006e8b\",\n      \"start\": {\n         \"sector_size\": {\n            \"sector_size\": null,\n            \"total_size\": null,\n            \"unit\": \"B\",\n            \"value\": 512\n         },\n         \"total_size\": {\n            \"sector_size\": null,\n            \"total_size\": null,\n            \"unit\": \"B\",\n            \"value\": 16106127360\n         },\n         \"unit\": \"MB\",\n         \"value\": 301\n      },\n      \"status\": \"create\",\n      \"type\": \"primary\"\n   }\n\nBTRFS\n^^^^^\n\nThe BTRFS filesystem is inherently more complicated, thus the options are a bit more involved.\nThis example contains both subvolumes and compression.\n\n.. note::\n\n   Note that the ``\"mountpoint\": null`` is used for the overall partition, and instead individual subvolumes have mountpoints set.\n\n.. code-block:: json\n\n   {\n      \"btrfs\": [\n          {\n              \"mountpoint\": \"/\",\n              \"name\": \"@\",\n          },\n          {\n              \"mountpoint\": \"/home\",\n              \"name\": \"@home\",\n          },\n          {\n              \"mountpoint\": \"/var/log\",\n              \"name\": \"@log\",\n          },\n          {\n              \"mountpoint\": \"/var/cache/pacman/pkg\",\n              \"name\": \"@pkg\",\n          }\n      ],\n      \"dev_path\": null,\n      \"flags\": [],\n      \"fs_type\": \"btrfs\",\n      \"mount_options\": [\n          \"compress=zstd\"\n      ],\n      \"mountpoint\": null,\n      \"obj_id\": \"d712357f-97cc-40f8-a095-24ff244d4539\",\n      \"size\": {\n          \"sector_size\": {\n              \"unit\": \"B\",\n              \"value\": 512\n          },\n          \"unit\": \"B\",\n          \"value\": 15568207872\n      },\n      \"start\": {\n          \"sector_size\": {\n              \"unit\": \"B\",\n              \"value\": 512\n          },\n          \"unit\": \"MiB\",\n          \"value\": 513\n      },\n      \"status\": \"create\",\n      \"type\": \"primary\"\n   }\n"
  },
  {
    "path": "docs/cli_parameters/config/disk_encryption.rst",
    "content": ".. _disk encryption:\n\nDisk Encryption\n===============\n\nDisk encryption consists of a top level entry in the user configuration.\n\n.. code-block:: json\n\n   {\n        \"disk_encryption\": {\n            \"encryption_type\": \"luks\",\n            \"partitions\": [\n                \"d712357f-97cc-40f8-a095-24ff244d4539\"\n            ]\n        }\n   }\n\nThe ``UID`` in the ``partitions`` list is an internal reference to the ``obj_id`` in the :ref:`disk config` entries.\n"
  },
  {
    "path": "docs/cli_parameters/config/manual_options.csv",
    "content": "Key,Value(s),Description,Required\ndevice,``str``,Which block-device to format,yes\npartitions,[ {key: val} ],The data describing the change/addition in a partition,yes\nwipe,``bool``,clear the disk before adding any partitions,No\n"
  },
  {
    "path": "docs/conf.py",
    "content": "import os\nimport re\nimport sys\n\nsys.path.insert(0, os.path.abspath('..'))\n\n\ndef process_docstring(app, what, name, obj, options, lines) -> None:  # type: ignore[no-untyped-def]\n\tspaces_pat = re.compile(r'( {8})')\n\tll = [spaces_pat.sub('    ', line) for line in lines]\n\tlines[:] = ll\n\n\ndef setup(app) -> None:  # type: ignore[no-untyped-def]\n\tapp.connect('autodoc-process-docstring', process_docstring)\n\n\n# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\n# import os\n# import sys\n# sys.path.insert(0, os.path.abspath('.'))\n\n\n# -- Project information -----------------------------------------------------\n\nproject = 'python-archinstall'\ncopyright = '2022, Anton Hvornum'\nauthor = 'Anton Hvornum'\n\n# The full version, including alpha/beta/rc tags\nrelease = 'v2.3.0'\n\n# -- General configuration ---------------------------------------------------\n\nmaster_doc = 'index'\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n\t'sphinx.ext.autodoc',\n\t'sphinx.ext.inheritance_diagram',\n\t'sphinx.ext.todo',\n\t'sphinx_rtd_theme',\n]\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = ['_templates']\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\n# html_theme = 'alabaster'\nhtml_theme = 'sphinx_rtd_theme'\n\nhtml_logo = '_static/logo.png'\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = ['_static']\n\n# If false, no module index is generated.\nhtml_domain_indices = True\n\n# If false, no index is generated.\nhtml_use_index = True\n\n# If true, the index is split into individual pages for each letter.\nhtml_split_index = True\n\n# If true, links to the reST sources are added to the pages.\nhtml_show_sourcelink = False\n\n# If true, \"Created using Sphinx\" is shown in the HTML footer. Default is True.\n# html_show_sphinx = True\n\n# If true, \"(C) Copyright ...\" is shown in the HTML footer. Default is True.\n# html_show_copyright = True\n\n# If true, an OpenSearch description file will be output, and all pages will\n# contain a <link> tag referring to it.  The value of this option must be the\n# base URL from which the finished HTML is served.\n# html_use_opensearch = ''\n\n# This is the file name suffix for HTML files (e.g. \".xhtml\").\n# html_file_suffix = None\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = 'archinstalldoc'\n\n# -- Options for manual page output --------------------------------------------\n\n# One entry per manual page. List of tuples\n# (source start file, name, description, authors, manual section).\nman_pages = [('index', 'archinstall', 'archinstall Documentation', ['Anton Hvornum'], 1)]\n\n# If true, show URL addresses after external links.\n# man_show_urls = False\n\n\n# -- Options for Texinfo output ------------------------------------------------\n\n# Grouping the document tree into Texinfo files. List of tuples\n# (source start file, target name, title, author,\n#  dir menu entry, description, category)\ntexinfo_documents = [\n\t('index', 'archinstall', 'archinstall Documentation', 'Anton Hvornum', 'archinstall', 'Simple and minimal HTTP server.'),\n]\n"
  },
  {
    "path": "docs/examples/python.rst",
    "content": ".. _examples.python:\n\nPython module\n=============\n\nArchinstall supports running in `module mode <https://docs.python.org/3/library/__main__.html>`_.\nThe way the library is invoked in module mode is limited to executing scripts under the `scripts`_ folder.\n\nIt's therefore important to place any script or profile you wish to invoke in the examples folder prior to building and installing.\n\nPre-requisites\n--------------\n\nWe'll assume you've followed the :ref:`installing.python.manual` method.\nBefore actually installing the library, you will need to place your custom installer-scripts under `scripts`_ as a python file.\n\nMore on how you create these in the next section.\n\n.. warning::\n\n    This is subject to change in the future as this method is currently a bit stiff. The script path will become a parameter. But for now, this is by design.\n\nCreating a script\n-----------------\n\nLets create a `test_installer` - installer as an example. This is assuming that the folder `./archinstall` is a git-clone of the main repo.\nWe begin by creating \"`scripts`_:code:`/test_installer.py`\". The placement here is important later.\n\nThis script can now already be called using :code:`python -m archinstall --script test_installer` after a successful installation of the library itself.\nBut the script won't do much. So we'll do something simple like list all the hard drives as an example.\n\nTo do this, we'll begin by importing :code:`archinstall` in our \"`scripts`_:code:`/test_installer.py`\" and call a function within ``archinstall``.\n\n.. code-block:: python\n\n    from archinstall.lib.disk.device_handler import device_handler\n    from pprint import pprint\n\n    pprint(device_handler.devices)\n\nNow, go ahead and reference the :ref:`installing.python.manual` installation method.\nAfter running ``python -m archinstall test_installer`` it should print something that looks like:\n\n.. code-block:: text\n\n   [\n       BDevice(\n           disk=<parted.disk.Disk object at 0x7fbe17156050>,\n           device_info=_DeviceInfo(\n               model='PC801 NVMe SK hynix 512GB',\n               path=PosixPath('/dev/nvme0n1'),\n               type='nvme',\n               total_size=Size(value=512110190592, unit=<Unit.B: 1>,\n               sector_size=SectorSize(value=512, unit=<Unit.B: 1>)),\n               free_space_regions=[\n                   <archinstall.lib.disk.device.DeviceGeometry object at 0x7fbe166c4250>,\n                   <archinstall.lib.disk.device.DeviceGeometry object at 0x7fbe166c4c50>,\n                   <archinstall.lib.disk.device.DeviceGeometry object at 0x7fbe166c4a10>],\n               sector_size=SectorSize(value=512, unit=<Unit.B: 1>),\n               read_only=False,\n               dirty=False\n           ),\n           partition_infos=[\n               _PartitionInfo(\n                   partition=<parted.partition.Partition object at 0x7fbe166c4a90>,\n                   name='primary',\n                   type=<PartitionType.Primary: 'primary'>,\n                   fs_type=<FilesystemType.Fat32: 'fat32'>,\n                   path='/dev/nvme0n1p1',\n                   start=Size(value=2048, unit=<Unit.sectors: 'sectors'>, sector_size=SectorSize(value=512, unit=<Unit.B: 1>)),\n                   length=Size(value=535822336, unit=<Unit.B: 1>, sector_size=SectorSize(value=512, unit=<Unit.B: 1>)),\n                   flags=[\n                       <PartitionFlag.BOOT: flag_id=1, alias=None>,\n                       <PartitionFlag.ESP: flag_id=18, alias=None>\n                   ],\n                   partn=1,\n                   partuuid='a26be943-c193-41f4-9930-9341cf5f6b19',\n                   uuid='6EE9-2C00',\n                   disk=<parted.disk.Disk object at 0x7fbe17156050>,\n                   mountpoints=[\n                       PosixPath('/boot')\n                   ],\n                   btrfs_subvol_infos=[]\n               ),\n               _PartitionInfo(...)\n           ]\n       )\n   ]\n\nThat means your script is in the right place, and ``archinstall`` is working as intended.\n\n.. note::\n\n   Most calls, including the one above requires `root <https://en.wikipedia.org/wiki/Superuser>`_ privileges.\n\n\n.. _scripts: https://github.com/archlinux/archinstall/tree/master/archinstall/scripts\n"
  },
  {
    "path": "docs/flowcharts/DiskSelectionProcess.drawio",
    "content": "<mxfile host=\"Electron\" modified=\"2021-05-02T19:57:46.193Z\" agent=\"5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.5.1 Chrome/89.0.4389.82 Electron/12.0.1 Safari/537.36\" etag=\"WWkzNgJUxTiFme1f07FW\" version=\"14.5.1\" type=\"device\"><diagram id=\"C5RBs43oDa-KdzZeNtuy\" name=\"Page-1\">7VvZdqM4EP2anHlKDpsxPMZ20sl0kl7S05meNwVkYCIjt5C3+fqRjFgFNnbwksQv3a5CCKG6dWsROdP7o/knAsb+PXYhOtMUd36mD840TVUsi/3HNYtYY5tC4ZHAFYMyxWPwH0zuFNpJ4MKoMJBijGgwLiodHIbQoQUdIATPisOGGBWfOgYelBSPDkCy9ilwqR9rLa2b6W9g4PnJk1XTjq+MQDJYvEnkAxfPcir96kzvE4xp/Gs070PENy/Zl6fbxRO6ezE//fkt+g3+6n3+8fDzPJ7sepNb0lcgMKRbT/3y2bLtaXf4oFrf7ga/rYfB/dW5IV6NLpL9gi7bPiFiQn3s4RCgq0zbI3gSupDPqjIpG3OH8Vgo/4WULgQWwIRipvLpCImr7C3I4m8mKBedRPzFxUQYzAvSQkhDHNI+RpgsV6obpmF3BkwfUYJfYO5K17IuL3V+R4BQTt/T+vZlbzmve80upetxLznSmOggEEWBs5wUECoGKYmcDAtxyHcieoHU8cWAeCf59pWAt8ZqYlyEJ8SBK8bpwnkA8eCq+cwUmsynIR5BtoXsPgIRoMG0uDggnMtLx2UAYj8EhjaAqljkFKCJeNIjRNytNaWHsPMygNPAYXRQRt3MDyh8HIPlDswYExURwy0v4KSyl+t53EypYbj1E9/mo1NHVSS01gFiBYRqQLeZdaeQUDjP7b1soOSqKehG8K0lxFlGXmrCSH6OuAzl9SatpAhNMukDPrFGBUHskwzMhmSgKtVga50NKqEjs8GvCt8/IHbUA2HnbUScCpBp3mx4N50TtftTuRl3H7/9Y4fnmrGS0c6Vi65qCCw0Bp6Y7isOQpobgofDiC2mjMz0qduHLlMC69VoTPl7xCEswKEEXeLj0fOELa23JoAVQhJH1TUYBYjD7AaiKaSBAyrCHECBF3KMMHtCUh3r2COD0GOSmUk/lm7Bkru3H/7UbsP4Z7UQ/6rRXcNiCp9WU7YKhs6ETJdGkTOUgodvQXWbU1OdieE8oDnOZFJKmex3xphcSAhz2yBd4LpqSizxpiDEjFeVjVGZJ8Bq02sNw2y3koprQa5cqIZmv44QxVRGp+QvZskP4rWLu/Ll4f6YtSsza+iQxZg//Tsvn0/VQB1SOnrJvPahywHlSMqBd5nWJ02ztSlXZ13G9XqCaZUXKqGkSlA6VHmwx0j3YXBbPbCG7vbTnVJl8rqf8FY0g5Gm9AZ/yOg7Zfi7zvC1piFtdxm+Kpn9naTwbbt5coCzLjxZDfPhPbm9HGjSrjSb8HmZgvbTig6ELvsXj3nFD/jkI2ZdeupZN3dpQ99jlloJQLul1KJd723dS+tzw2N20srVqHKVuFVh8arucCGRy/K62qbFG7G0ah6VqTuSpftsv0AQ8q7aV5bGBpx6T7nY7olb7xxbLqbKzL1/GtjskOjgNGC1TQO5gxvdFj3Qo2gjVKfvbQX7nab0FWd5pYq98lCwXOQfvjJ4FQS140o6LAk5X5CbrwoUH/Cg5LBdhKHcqP64EQkQR6xU0/cYoAz14AHKOkWjlVSgNv02pemh2WaRh1EoWOQGjHkcinYRd1T5i4G0rRAfaynXtwhGi4jCkQSaU/eg7oxLb+rjO+seaHKFcmzpRFt5gAsiP11Wy0yQ7FrDD4iOJitI1p0/JuAtwNXV6RqHLgGgnA9sdiQkM0Cd3fO8sS8H3ucnqyvxlDPgbcjS7eWd/DMunuCNKvK57W0o2crSnnXTbGIrtwMt1yjZquCXzA70C0/tKN9hY5e21I0js6Xe1inxqbrbnsiblncJERwLkcv13VMwhrH/96q+PPq4Bd3OCKVUwXWMTjNG2VkFpx9dMve+2aN9Uqj+FNJUS3WEYRenqPkUsq16MHnP/LkGgoDwnIN3lUzEdrP3zGTT47/iwtA9F50mZqWKuHYipNazVaMBIRntEBITs78PjXGW/ZWtfvU/</diagram></mxfile>\n"
  },
  {
    "path": "docs/help/discord.rst",
    "content": ".. _help.discord:\n\nDiscord\n=======\n\nThere's a discord channel which is frequented by some `contributors <https://github.com/archlinux/archinstall/graphs/contributors>`_.\n\nTo join the server, head over to `https://discord.gg/aDeMffrxNg <https://discord.gg/aDeMffrxNg>`_ and join in.\nThere's not many rules other than common sense and to treat others with respect. The general chat is for off-topic things as well.\n\nThere's the ``@Party Animals`` role if you want notifications of new releases which is posted in the ``#Release Party`` channel.\nAnother thing is the ``@Contributors`` role can be activated by contributors by writing ``!verify`` and follow the verification process.\n\nHop in, we hope to see you there! : )\n"
  },
  {
    "path": "docs/help/known_issues.rst",
    "content": ".. _help.known_issues:\n\nKnown Issues\n============\n\nSome issues are out of the `archinstall`_ projects scope, and the ones we know of are listed below.\n\n.. _waiting for time sync:\n\nWaiting for time sync `#2144`_\n------------------------------\n\nThe usual root cause of this is the network topology.\nMore specifically `timedatectl show`_ cannot perform a proper time sync against the default servers.\n\nRestarting ``systemd-timesyncd.service`` might work but most often you need to configure ``/etc/systemd/timesyncd.conf`` to match your network design.\n\n.. note::\n\n   If you know your time is correct on the machine, you can run ``archinstall --skip-ntp`` to ignore time sync.\n\nWaiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete. `#2679`_\n------------------------------\n\nThe ``archlinux-keyring-wkd-sync.service`` or ``archlinux-keyring-wkd-sync.timer`` can hang \"indefinitely\" some times.\nThis is usually due to an inability to reach the key servers, or a slow connection towards key servers.\n\nThe script ``/usr/bin/archlinux-keyring-wkd-sync`` can be run manually, to verify if it's executing slowly or not.\n\nIf ``systemctl show --property=ActiveEnterTimestamp --no-pager archlinux-keyring-wkd-sync.timer`` shows nothing, it means the built-in sync never finished. Likewise ``systemctl show --no-pager -p SubState --value archlinux-keyring-wkd-sync.service`` most likely shows ``dead``, which means the service never completed.\n\nTo fix this, try the following:\n\n.. code-block:: console\n\n      # killall gpg-agent\n      # rm -rf /etc/pacman.d/gnupg\n      # pacman-key --init \n      # pacman-key --populate\n      # pacman -Sy archlinux-keyring\n      # systemctl restart archlinux-keyring-wkd-sync.timer\n\n.. note::\n\n   If you know the ISO is the latest, and that you have valid GPG keys, try ``archinstall --skip-wkd`` to ignore waiting for the sync.\n\n   If you skip WKD sync, you might end up with:\n\n   .. code-block:: console\n\n         > error: archinstall: signature from \"Anton Hvornum (Torxed) <torxed@archlinux.org>\" is unknown trust\n         > :: File /var/cache/pacman/pkg/archinstall-1.2.3-4-x86_64.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)).\n         > Do you want to delete it? [Y/n] \n\nMissing Nvidia Proprietary Driver `#2002`_\n------------------------------------------\n\nIn some instances, the nvidia driver might not have all the necessary packages installed.\nThis is due to the kernel selection and/or hardware setups requiring additional packages to work properly.\n\nA common workaround is to install the package `linux-headers`_ and `nvidia-dkms`_\n\nARM, 32bit and other CPU types error out `#1686`_, `#2185`_\n-----------------------------------------------------------\n\nThis is a bit of a catch-all known issue.\nOfficially `x86_64`_ is only supported by Arch Linux.\nHence little effort have been put into supporting other platforms.\n\nIn theory, other architectures should work but small quirks might arise.\n\nPR's are welcome but please be respectful of the delays in merging.\nOther fixes, issues or features will be prioritized for the above reasons.\n\nKeyring is out of date `#2213`_\n-------------------------------\n\nMissing key-issues tend to be that the `archlinux-keyring`_ package is out of date, usually as a result of an outdated ISO.\nThere is an attempt from upstream to fix this issue, and it's the `archlinux-keyring-wkd-sync.service`_\n\nThe service starts almost immediately during boot, and if network is not configured in time — the service will fail.\nSubsequently the ``archinstall`` run might operate on a old keyring despite there being an update service for this.\n\nThere is really no way to reliably over time work around this issue in ``archinstall``.\nInstead, efforts to the upstream service should be considered the way forward. And/or keys not expiring between a sane amount of ISO's.\n\n.. note::\n\n   The issue can happen on new ISO's too even as little as a few days after release, as some keys might expire right after the keyring is *\"burnt in\"* to the ISO.\n\n.. note::\n\n   Another common issue relating to the network not being configured, is that time might not be set correctly - resulting in the keyring not being able to update. See :ref:`waiting for time sync`.\n\nAUR packages\n------------\n\nThis is also a catch-all issue.\n`AUR is unsupported <https://wiki.archlinux.org/title/Arch_User_Repository#Updating_packages>`_, and until that changes we cannot use AUR packages to solve feature requests in ``archinstall``.\n\nThis means that feature requests like supporting filesystems such as `ZFS`_ can not be added, and issues cannot be solved by using AUR packages either.\n\n.. note::\n\n   But in spirit of giving the community options, ``archinstall`` supports :ref:`archinstall.Plugins`, which means you can run ``archinstall --plugin <url>`` and source an AUR plugin.\n\n   `torxed/archinstall-aur <https://github.com/torxed/archinstall-aur>`_ is a reference implementation for plugins:\n\n   .. code-block:: console\n\n      # archinstall --plugin https://archlinux.life/aur-plugin\n\n   `phisch/archinstall-aur <https://github.com/phisch/archinstall-aur>`_ is another alternative:\n\n   .. code-block:: console\n\n      # archinstall --plugin https://raw.githubusercontent.com/phisch/archinstall-aur/master/archinstall-aur.py\n\n   .. warning::\n\n      This will allow for unsupported usage of AUR during installation.\n\n.. _#1686: https://github.com/archlinux/archinstall/issues/1686\n.. _#2002: https://github.com/archlinux/archinstall/issues/2002\n.. _#2144: https://github.com/archlinux/archinstall/issues/2144\n.. _#2185: https://github.com/archlinux/archinstall/issues/2185\n.. _#2213: https://github.com/archlinux/archinstall/issues/2213\n.. _#2679: https://github.com/archlinux/archinstall/issues/2679\n.. _linux-headers: https://archlinux.org/packages/core/x86_64/linux-headers/\n.. _nvidia-dkms: https://archlinux.org/packages/extra/x86_64/nvidia-dkms/\n.. _x86_64: https://wiki.archlinux.org/title/Frequently_asked_questions#What_architectures_does_Arch_support?\n.. _archlinux-keyring: https://archlinux.org/packages/core/any/archlinux-keyring/\n.. _archlinux-keyring-wkd-sync.service: https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/blob/7e672dad10652a80d1cc575d75cdb46442cd7f96/wkd_sync/archlinux-keyring-wkd-sync.service.in\n.. _ZFS: https://aur.archlinux.org/packages/zfs-linux\n.. _archinstall: https://github.com/archlinux/archinstall/\n.. _timedatectl show: https://github.com/archlinux/archinstall/blob/e6344f93f7e476d05bbcd642f2ed91fdde545870/archinstall/lib/installer.py#L136\n"
  },
  {
    "path": "docs/help/report_bug.rst",
    "content": ".. _help.issues:\n\nReport Issues & Bugs\n====================\n\nIssues and bugs should be reported over at `https://github.com/archlinux/archinstall/issues <https://github.com/archlinux/archinstall/issues>`_.\n\nGeneral questions, enhancements and security issues can be reported over there too.\nFor quick issues or if you need help, head over to the Discord server which has a help channel.\n\nLog files\n---------\n\nWhen submitting a help ticket, please include the :code:`/var/log/archinstall/install.log`.\nIt can be found both on the live ISO but also in the installed filesystem if the base packages were strapped in.\n\n.. tip::\n   | An easy way to submit logs is ``curl -F 'file=@/var/log/archinstall/install.log' https://0x0.st``.\n   | Use caution when submitting other log files, but ``archinstall`` pledges to keep ``install.log`` safe for posting publicly!\n\nThere are additional log files under ``/var/log/archinstall/`` that can be useful:\n\n - ``/var/log/archinstall/user_configuration.json`` - Stores most of the guided answers in the installer\n - ``/var/log/archinstall/user_credentials.json`` - Stores any usernames or passwords, can be passed to ``--creds``\n - ``/var/log/archinstall/user_disk_layouts.json`` - Stores the chosen disks and their layouts\n - ``/var/log/archinstall/install.log`` - A log file over what steps were taken by archinstall\n - ``/var/log/archinstall/cmd_history.txt`` - A complete command history, command by command in order\n - ``/var/log/archinstall/cmd_output.txt`` - A raw output from all the commands that were executed by archinstall\n\n.. warning::\n\n    We only try to guarantee that ``/var/log/archinstall/install.log`` is free from sensitive information.\n    Any other log file should be pasted with **utmost care**!\n"
  },
  {
    "path": "docs/index.rst",
    "content": "archinstall Documentation\n=========================\n\n**archinstall** is a library which can be used to install Arch Linux.\nThe library comes packaged with different pre-configured installers, such as the default :ref:`guided` installer.\n\nSome of the features of Archinstall are:\n\n* **Context friendly.** The library always executes calls in sequential order to ensure installation-steps don't overlap or execute in the wrong order. It also supports *(and uses)* context wrappers to ensure cleanup and final tasks such as ``mkinitcpio`` are called when needed.\n\n* **Full transparency** Logs and insights can be found at ``/var/log/archinstall`` both in the live ISO and partially on the installed system.\n\n* **Accessibility friendly** Archinstall works with ``espeakup`` and other accessibility tools thanks to the use of a TUI.\n\n.. toctree::\n   :maxdepth: 1\n   :caption: Running Archinstall\n\n   installing/guided\n\n.. toctree::\n   :maxdepth: 3\n   :caption: Getting help\n\n   help/known_issues\n   help/report_bug\n   help/discord\n\n.. toctree::\n   :maxdepth: 3\n   :caption: Archinstall as a library\n\n   installing/python\n   examples/python\n   archinstall/plugins\n\n.. toctree::\n   :maxdepth: 3\n   :caption: API Reference\n\n   archinstall/Installer\n"
  },
  {
    "path": "docs/installing/guided.rst",
    "content": ".. _guided:\n\nGuided installation\n===================\n\nArchinstall ships with a pre-programmed `Guided Installer`_ guiding you through the mandatory steps as well as some optional configurations that can be done.\n\n.. note::\n\n   Other pre-programmed scripts can be invoked by executing :code:`archinstall --script <script>` *(without .py)*. To see a complete list of scripts, run :code:`archinstall --script list` or check the source code `scripts`_ directory.\n\n.. note::\n\n   It's recommended to run ``archinstall`` from the official Arch Linux ISO.\n\n\n.. warning::\n    The installer will not configure WiFi before the installation begins. You need to read up on `Arch Linux networking <https://wiki.archlinux.org/index.php/Network_configuration>`_ before you continue.\n\nRunning the guided installation\n-------------------------------\n\nTo start the installer, run the following in the latest Arch Linux ISO:\n\n.. code-block:: sh\n\n    archinstall\n\nSince the `Guided Installer`_ is the default script, this is the equivalent of running :code:`archinstall guided`\n\n\nThe guided installation also supports installing with pre-configured answers to all the guided steps. This can be a quick and convenient way to re-run one or several installations.\n\nThere are two configuration files, both are optional.\n\n``--config``\n------------\n\nThis parameter takes a local :code:`.json` file as argument and contains the overall configuration and menu answers for the guided installer.\n\n``--config-url``\n------------\n\nThis parameter takes a remote :code:`.json` file as argument and contains the overall configuration and menu answers for the guided installer.\n\n.. note::\n\n   You can always get the latest options for this file with ``archinstall --dry-run``, this executes the guided installer in a safe mode where no permanent actions will be taken on your system but simulate a run and save the configuration to disk.\n\nExample usage\n^^^^^^^^^^^^^\n\n.. code-block:: sh\n\n    archinstall --config config.json\n\n.. code-block:: sh\n\n    archinstall --config-url https://domain.lan/config.json\n\nThe contents of :code:`https://domain.lan/config.json`:\n\n.. code-block:: json\n\n   {\n     \"additional-repositories\": [],\n     \"archinstall-language\": \"English\",\n     \"audio_config\": null,\n     \"bootloader_config\": {\n       \"bootloader\": \"Systemd-boot\",\n       \"uki\": false,\n       \"removable\": false\n     },\n     \"bootloader\": \"Systemd-boot\",\n     \"debug\": false,\n     \"disk_config\": {\n       \"config_type\": \"manual_partitioning\",\n       \"device_modifications\": [\n         {\n           \"device\": \"/dev/sda\",\n           \"partitions\": [\n             {\n               \"btrfs\": [],\n               \"flags\": [\n                 \"boot\"\n               ],\n               \"fs_type\": \"fat32\",\n               \"length\": {\n                 \"sector_size\": null,\n                 \"total_size\": null,\n                 \"unit\": \"B\",\n                 \"value\": 99982592\n               },\n               \"mount_options\": [],\n               \"mountpoint\": \"/boot\",\n               \"obj_id\": \"369f31a8-2781-4d6b-96e7-75680552b7c9\",\n               \"start\": {\n                 \"sector_size\": {\n                   \"sector_size\": null,\n                   \"total_size\": null,\n                   \"unit\": \"B\",\n                   \"value\": 512\n                 },\n                 \"total_size\": null,\n                 \"unit\": \"sectors\",\n                 \"value\": 34\n               },\n               \"status\": \"create\",\n               \"type\": \"primary\"\n             },\n             {\n               \"btrfs\": [],\n               \"flags\": [],\n               \"fs_type\": \"fat32\",\n               \"length\": {\n                 \"sector_size\": null,\n                 \"total_size\": null,\n                 \"unit\": \"B\",\n                 \"value\": 100000000\n               },\n               \"mount_options\": [],\n               \"mountpoint\": \"/efi\",\n               \"obj_id\": \"13cf2c96-8b0f-4ade-abaa-c530be589aad\",\n               \"start\": {\n                 \"sector_size\": {\n                   \"sector_size\": null,\n                   \"total_size\": null,\n                   \"unit\": \"B\",\n                   \"value\": 512\n                 },\n                 \"total_size\": {\n                   \"sector_size\": null,\n                   \"total_size\": null,\n                   \"unit\": \"B\",\n                   \"value\": 16106127360\n                 },\n                 \"unit\": \"MB\",\n                 \"value\": 100\n               },\n               \"status\": \"create\",\n               \"type\": \"primary\"\n             },\n             {\n               \"btrfs\": [],\n               \"flags\": [],\n               \"fs_type\": \"ext4\",\n               \"length\": {\n                 \"sector_size\": null,\n                 \"total_size\": null,\n                 \"unit\": \"B\",\n                 \"value\": 15805127360\n               },\n               \"mount_options\": [],\n               \"mountpoint\": \"/\",\n               \"obj_id\": \"3e75d045-21a4-429d-897e-8ec19a006e8b\",\n               \"start\": {\n                 \"sector_size\": {\n                   \"sector_size\": null,\n                   \"total_size\": null,\n                   \"unit\": \"B\",\n                   \"value\": 512\n                 },\n                 \"total_size\": {\n                   \"sector_size\": null,\n                   \"total_size\": null,\n                   \"unit\": \"B\",\n                   \"value\": 16106127360\n                 },\n                 \"unit\": \"MB\",\n                 \"value\": 301\n               },\n               \"status\": \"create\",\n               \"type\": \"primary\"\n             }\n           ],\n           \"wipe\": false\n         }\n       ]\n     },\n     \"disk_encryption\": {\n       \"encryption_type\": \"luks\",\n       \"partitions\": [\n         \"3e75d045-21a4-429d-897e-8ec19a006e8b\"\n       ]\n     },\n     \"hostname\": \"archlinux\",\n     \"kernels\": [\n       \"linux\"\n     ],\n     \"locale_config\": {\n       \"kb_layout\": \"us\",\n       \"sys_enc\": \"UTF-8\",\n       \"sys_lang\": \"en_US\"\n     },\n     \"mirror_config\": {\n       \"custom_servers\": [\n         {\n           \"url\": \"https://mymirror.com/$repo/os/$arch\"\n         }\n       ],\n       \"mirror_regions\": {\n         \"Australia\": [\n           \"http://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch\"\n         ]\n       },\n       \"optional_repositories\": [\n         \"testing\"\n       ],\n       \"custom_repositories\": [\n         {\n           \"name\": \"myrepo\",\n           \"url\": \"https://myrepo.com/$repo/os/$arch\",\n           \"sign_check\": \"Required\",\n           \"sign_option\": \"TrustAll\"\n         }\n       ]\n     },\n     \"network_config\": {},\n     \"no_pkg_lookups\": false,\n     \"ntp\": true,\n     \"offline\": false,\n     \"packages\": [],\n     \"parallel downloads\": 0,\n     \"profile_config\": null,\n     \"save_config\": null,\n     \"script\": \"guided\",\n     \"silent\": false,\n     \"swap\": true,\n     \"timezone\": \"UTC\",\n     \"version\": \"2.6.0\"\n   }\n\n``--config`` options\n^^^^^^^^^^^^^^^^^^^^\n\n.. warning::\n\n   All key and value entries must conform to the JSON standard. Below is human readable examples with links, effectively breaking the syntax. Adapt the descriptions below to suit your needs and the JSON format.\n\n.. note::\n\n   Scroll to the right in the table to see required options.\n\n.. csv-table:: JSON options\n   :file: ../cli_parameters/config/config_options.csv\n   :widths: 15, 40, 40, 5\n   :escape: !\n   :header-rows: 1\n\n.. I'd like to keep this note, as this is the intended behavior of archinstall.\n.. note::\n\n   If no entries are found in ``disk_config``, archinstall guided installation will use whatever is mounted currently under ``/mnt/archinstall`` without performing any disk operations.\n\nOptions for ``--creds``\n-----------------------\n\nCreds is a separate configuration file to separate normal options from more sensitive data like passwords.\nBelow is an example of how to set the root password and below that are description of other values that can be set.\n\n.. code-block:: json\n\n    {\n        \"root_enc_password\" : \"SecretSanta2022\"\n    }\n\n.. list-table:: ``--creds`` options\n   :widths: 25 25 40 10\n   :header-rows: 1\n\n   * - Key\n     - Values\n     - Description\n     - Required\n   * - ``!encryption-password``\n     - ``str``\n     - Password to encrypt disk, not encrypted if password not provided\n     - No\n   * - ``root_enc_password``\n     - ``str``\n     - The root account password\n     - No\n   * - ``users``\n     - .. code-block:: json\n\n          {\n              \"username\": \"<USERNAME>\",\n              \"enc_password\": \"<PASSWORD_HASH>\",\n              \"sudo\": false\n          }\n     - List of regular user credentials, see configuration for reference\n     - Maybe\n\n\n.. note::\n\n   ``users`` is optional only if ``root_enc_password`` was set. ``users`` will be enforced otherwise and the minimum amount of users with sudo privileges required will be set to 1.\n\n.. note::\n\n.. _scripts: https://github.com/archlinux/archinstall/tree/master/archinstall/scripts\n.. _Guided Installer: https://github.com/archlinux/archinstall/blob/master/archinstall/scripts/guided.py\n"
  },
  {
    "path": "docs/installing/python.rst",
    "content": ".. _installing.python:\n\nPython library\n==============\n\nArchinstall ships on `PyPi <https://pypi.org/>`_ as `archinstall <pypi.org/project/archinstall/>`_.\nBut the library can be installed manually as well.\n\n.. warning::\n    These steps are not required if you want to use archinstall on the official Arch Linux ISO.\n\nInstalling with pacman\n----------------------\n\nArchinstall is on the `official repositories <https://wiki.archlinux.org/index.php/Official_repositories>`_.\nAnd it will also install archinstall as a python library.\n\nTo install both the library and the archinstall script:\n\n.. code-block:: console\n\n    pacman -S archinstall\n\nAlternatively, you can install only the library and not the helper executable using the ``python-archinstall`` package.\n\nInstalling from PyPI\n--------------------\n\nThe basic concept of PyPI applies using `pip`.\n\n.. code-block:: console\n\n    pip install archinstall\n\n.. _installing.python.manual:\n\nInstall using source code\n-------------------------\n\nYou can also install using the source code.\nFor sake of simplicity we will use ``git clone`` in this example.\n\n.. code-block:: console\n\n    git clone https://github.com/archlinux/archinstall\n\nYou can either move the folder into your project and simply do\n\n.. code-block:: python\n\n    import archinstall\n\nOr you can PyPa's `build <https://github.com/pypa/build>`_ and `installer <https://github.com/pypa/installer>`_ to install it into pythons module path.\n\n.. code-block:: console\n\n    $ cd archinstall\n    $ python -m build .\n    $ python -m installer dist/*.whl\n"
  },
  {
    "path": "docs/pull_request_template.md",
    "content": "- This fix issue: <!-- #13, #15 and #16 for instance. Or ignore if you're adding new functionality -->\n\n## PR Description:\n\n<!-- Please describe what changes this PR introduces, a good example would be: https://github.com/archlinux/archinstall/pull/1377 -->\n\n## Tests and Checks\n- [ ] I have tested the code!<br>\n  <!--\n      After submitting your PR, an ISO can be downloaded below the PR description. After testing it you can check the box\n      You can do manual tests too, like isolated function tests, just something!\n  -->\n"
  },
  {
    "path": "examples/auto_discovery_mounted.py",
    "content": "from pathlib import Path\n\nfrom archinstall.lib.disk.device_handler import device_handler\nfrom archinstall.lib.models.device import DiskLayoutConfiguration, DiskLayoutType\n\nroot_mount_dir = Path('/mnt/archinstall')\n\nmods = device_handler.detect_pre_mounted_mods(root_mount_dir)\n\ndisk_config = DiskLayoutConfiguration(\n\tDiskLayoutType.Pre_mount,\n\tdevice_modifications=mods,\n)\n"
  },
  {
    "path": "examples/config-sample.json",
    "content": "{\n  \"archinstall-language\": \"English\",\n  \"audio_config\": {\n    \"audio\": \"pipewire\"\n  },\n  \"bootloader_config\": {\n    \"bootloader\": \"Systemd-boot\",\n    \"uki\": false,\n    \"removable\": false\n  },\n  \"debug\": false,\n  \"disk_config\": {\n    \"config_type\": \"default_layout\",\n    \"device_modifications\": [\n      {\n        \"device\": \"/dev/sda\",\n        \"partitions\": [\n          {\n            \"btrfs\": [],\n            \"flags\": [\n              \"boot\"\n            ],\n            \"fs_type\": \"fat32\",\n            \"size\": {\n              \"sector_size\": null,\n              \"unit\": \"MiB\",\n              \"value\": 512\n            },\n            \"mount_options\": [],\n            \"mountpoint\": \"/boot\",\n            \"obj_id\": \"2c3fa2d5-2c79-4fab-86ec-22d0ea1543c0\",\n            \"start\": {\n              \"sector_size\": null,\n              \"unit\": \"MiB\",\n              \"value\": 1\n            },\n            \"status\": \"create\",\n            \"type\": \"primary\"\n          },\n          {\n            \"btrfs\": [],\n            \"flags\": [],\n            \"fs_type\": \"ext4\",\n            \"size\": {\n              \"sector_size\": null,\n              \"unit\": \"GiB\",\n              \"value\": 20\n            },\n            \"mount_options\": [],\n            \"mountpoint\": \"/\",\n            \"obj_id\": \"3e7018a0-363b-4d05-ab83-8e82d13db208\",\n            \"start\": {\n              \"sector_size\": null,\n              \"unit\": \"MiB\",\n              \"value\": 513\n            },\n            \"status\": \"create\",\n            \"type\": \"primary\"\n          },\n          {\n            \"btrfs\": [],\n            \"flags\": [],\n            \"fs_type\": \"ext4\",\n            \"size\": {\n              \"sector_size\": null,\n              \"unit\": \"Percent\",\n              \"value\": 100\n            },\n            \"mount_options\": [],\n            \"mountpoint\": \"/home\",\n            \"obj_id\": \"ce58b139-f041-4a06-94da-1f8bad775d3f\",\n            \"start\": {\n              \"sector_size\": null,\n              \"unit\": \"GiB\",\n              \"value\": 20\n            },\n            \"status\": \"create\",\n            \"type\": \"primary\"\n          }\n        ],\n        \"wipe\": true\n      }\n    ]\n  },\n  \"hostname\": \"archlinux\",\n  \"kernels\": [\n    \"linux\"\n  ],\n  \"locale_config\": {\n    \"kb_layout\": \"us\",\n    \"sys_enc\": \"UTF-8\",\n    \"sys_lang\": \"en_US\"\n  },\n  \"mirror_config\": {\n    \"custom_servers\": [\n      {\n        \"url\": \"https://mymirror.com/$repo/os/$arch\"\n      }\n    ],\n    \"mirror_regions\": {\n      \"Australia\": [\n        \"http://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch\"\n      ]\n    },\n    \"optional_repositories\": [\n      \"testing\"\n    ],\n    \"custom_repositories\": [\n      {\n        \"name\": \"myrepo\",\n        \"url\": \"https://myrepo.com/$repo/os/$arch\",\n        \"sign_check\": \"Required\",\n        \"sign_option\": \"TrustAll\"\n      }\n    ]\n  },\n  \"network_config\": {\n    \"type\": \"manual\",\n    \"nics\": [\n      {\n        \"iface\": \"eno1\",\n        \"ip\": \"192.168.1.15/24\",\n        \"dhcp\": true,\n        \"gateway\": \"192.168.1.1\",\n        \"dns\": [\n          \"192.168.1.1\",\n          \"9.9.9.9\"\n        ]\n      }\n    ]\n  },\n  \"no_pkg_lookups\": false,\n  \"ntp\": true,\n  \"offline\": false,\n  \"packages\": [],\n  \"parallel downloads\": 0,\n  \"profile_config\": {\n    \"gfx_driver\": \"All open-source (default)\",\n    \"greeter\": \"sddm\",\n    \"profile\": {\n      \"details\": [\n        \"KDE Plasma\"\n      ],\n      \"main\": \"Desktop\"\n    }\n  },\n  \"script\": \"guided\",\n  \"silent\": false,\n  \"swap\": {\n    \"enabled\": true,\n    \"algorithm\": \"zstd\"\n  },\n  \"timezone\": \"UTC\",\n  \"version\": \"2.8.6\"\n}\n"
  },
  {
    "path": "examples/creds-sample.json",
    "content": "{\n    \"users\": [\n        {\n            \"sudo\": true,\n            \"username\": \"archinstall\",\n            \"enc_password\": \"password_hash\"\n\n        }\n    ],\n    \"root_enc_password\": \"password_hash\"\n}\n"
  },
  {
    "path": "examples/custom-command-sample.json",
    "content": "{\n    \"dry_run\": true,\n    \"bootloader\": \"systemd-bootctl\",\n    \"debug\": false,\n    \"harddrives\": [\n        \"/dev/loop0\"\n    ],\n    \"hostname\": \"development-box\",\n    \"kernels\": [\n        \"linux\"\n    ],\n    \"keyboard-layout\": \"us\",\n    \"mirror-region\": \"Worldwide\",\n    \"network_config\": {\n    \t\"type\": \"nm\"\n    },\n    \"ntp\": true,\n    \"packages\": [\"docker\", \"git\", \"wget\", \"zsh\"],\n    \"services\": [\"docker\"],\n    \"profile\": \"gnome\",\n    \"gfx_driver\": \"All open-source (default)\",\n    \"swap\": true,\n    \"sys-encoding\": \"utf-8\",\n    \"sys-language\": \"en_US\",\n    \"timezone\": \"Europe/Stockholm\",\n    \"version\": \"2.3.1.dev0\",\n    \"custom_commands\": [\n        \"cd /home/devel; git clone https://aur.archlinux.org/paru.git\",\n        \"chown -R devel:devel /home/devel/paru\",\n        \"usermod -aG docker devel\"\n    ]\n}\n"
  },
  {
    "path": "examples/disk_layouts-sample.json",
    "content": "{\n    \"/dev/loop0\": {\n        \"partitions\": [\n            {\n                \"boot\": true,\n                \"encrypted\": false,\n                \"filesystem\": {\n                    \"format\": \"fat32\"\n                },\n                \"wipe\": true,\n                \"mountpoint\": \"/boot\",\n                \"size\": \"513MB\",\n                \"start\": \"5MB\",\n                \"type\": \"primary\"\n            },\n            {\n                \"btrfs\": {\n                    \"subvolumes\": {\n                        \"@home\": \"/home\",\n                        \"@log\": \"/var/log\",\n                        \"@pkgs\": \"/var/cache/pacman/pkg\"\n                    }\n                },\n                \"encrypted\": true,\n                \"filesystem\": {\n                    \"format\": \"btrfs\"\n                },\n                \"wipe\": true,\n                \"mountpoint\": \"/\",\n                \"size\": \"100%\",\n                \"start\": \"518MB\",\n                \"type\": \"primary\"\n            }\n        ],\n        \"wipe\": true\n    }\n}\n"
  },
  {
    "path": "examples/full_automated_installation.py",
    "content": "from pathlib import Path\n\nfrom archinstall.default_profiles.minimal import MinimalProfile\nfrom archinstall.lib.disk.device_handler import device_handler\nfrom archinstall.lib.disk.filesystem import FilesystemHandler\nfrom archinstall.lib.installer import Installer\nfrom archinstall.lib.models.device import (\n\tDeviceModification,\n\tDiskEncryption,\n\tDiskLayoutConfiguration,\n\tDiskLayoutType,\n\tEncryptionType,\n\tFilesystemType,\n\tModificationStatus,\n\tPartitionFlag,\n\tPartitionModification,\n\tPartitionType,\n\tSize,\n\tUnit,\n)\nfrom archinstall.lib.models.profile import ProfileConfiguration\nfrom archinstall.lib.models.users import Password, User\nfrom archinstall.lib.profile.profiles_handler import profile_handler\n\n# we're creating a new ext4 filesystem installation\nfs_type = FilesystemType('ext4')\ndevice_path = Path('/dev/sda')\n\n# get the physical disk device\ndevice = device_handler.get_device(device_path)\n\nif not device:\n\traise ValueError('No device found for given path')\n\n# create a new modification for the specific device\ndevice_modification = DeviceModification(device, wipe=True)\n\n# create a new boot partition\nboot_partition = PartitionModification(\n\tstatus=ModificationStatus.Create,\n\ttype=PartitionType.Primary,\n\tstart=Size(1, Unit.MiB, device.device_info.sector_size),\n\tlength=Size(512, Unit.MiB, device.device_info.sector_size),\n\tmountpoint=Path('/boot'),\n\tfs_type=FilesystemType.Fat32,\n\tflags=[PartitionFlag.BOOT],\n)\ndevice_modification.add_partition(boot_partition)\n\n# create a root partition\nroot_partition = PartitionModification(\n\tstatus=ModificationStatus.Create,\n\ttype=PartitionType.Primary,\n\tstart=Size(513, Unit.MiB, device.device_info.sector_size),\n\tlength=Size(20, Unit.GiB, device.device_info.sector_size),\n\tmountpoint=None,\n\tfs_type=fs_type,\n\tmount_options=[],\n)\ndevice_modification.add_partition(root_partition)\n\nstart_home = root_partition.length\nlength_home = device.device_info.total_size - start_home\n\n# create a new home partition\nhome_partition = PartitionModification(\n\tstatus=ModificationStatus.Create,\n\ttype=PartitionType.Primary,\n\tstart=start_home,\n\tlength=length_home,\n\tmountpoint=Path('/home'),\n\tfs_type=fs_type,\n\tmount_options=[],\n)\ndevice_modification.add_partition(home_partition)\n\ndisk_config = DiskLayoutConfiguration(\n\tconfig_type=DiskLayoutType.Default,\n\tdevice_modifications=[device_modification],\n)\n\n# disk encryption configuration (Optional)\ndisk_encryption = DiskEncryption(\n\tencryption_password=Password(plaintext='enc_password'),\n\tencryption_type=EncryptionType.Luks,\n\tpartitions=[home_partition],\n\thsm_device=None,\n)\n\ndisk_config.disk_encryption = disk_encryption\n\n# initiate file handler with the disk config and the optional disk encryption config\nfs_handler = FilesystemHandler(disk_config)\n\n# perform all file operations\n# WARNING: this will potentially format the filesystem and delete all data\nfs_handler.perform_filesystem_operations()\n\nmountpoint = Path('/tmp')\n\nwith Installer(\n\tmountpoint,\n\tdisk_config,\n\tkernels=['linux'],\n) as installation:\n\tinstallation.mount_ordered_layout()\n\tinstallation.minimal_installation(hostname='minimal-arch')\n\tinstallation.add_additional_packages(['nano', 'wget', 'git'])\n\n# Optionally, install a profile of choice.\n# In this case, we install a minimal profile that is empty\nprofile_config = ProfileConfiguration(MinimalProfile())\nprofile_handler.install_profile_config(installation, profile_config)\n\nuser = User('archinstall', Password(plaintext='password'), True)\ninstallation.create_users(user)\n"
  },
  {
    "path": "pyproject.toml",
    "content": "[build-system]\nrequires = [\"setuptools>=77\"]\nbuild-backend = \"setuptools.build_meta\"\n\n[project]\nname = \"archinstall\"\nversion = \"3.0.15\"\ndescription = \"Arch Linux installer - guided, templates etc.\"\nauthors = [\n    {name = \"Anton Hvornum\", email = \"anton@hvornum.se\"},\n]\nlicense = \"GPL-3.0-only\"\nreadme = \"README.md\"\nrequires-python = \">=3.12\"\nkeywords = [\"linux\", \"arch\", \"archinstall\", \"installer\"]\nclassifiers = [\n    \"Programming Language :: Python :: 3.12\",\n    \"Operating System :: POSIX :: Linux\",\n]\ndependencies = [\n    \"pyparted>=3.13.0\",\n    \"pydantic==2.12.5\",\n    \"cryptography>=45.0.7\",\n    \"textual>=5.3.0\",\n    \"markdown-it-py[linkify]>=4.0.0\",\n]\n\n[project.urls]\nHome = \"https://archlinux.org\"\nDocumentation = \"https://archinstall.readthedocs.io/\"\nSource = \"https://github.com/archlinux/archinstall\"\n\n[project.optional-dependencies]\nlog = [\"systemd_python==235\"]\ndev = [\n    \"mypy==1.19.1\",\n    \"flake8==7.3.0\",\n    \"pre-commit==4.5.1\",\n    \"ruff==0.15.7\",\n    \"pylint==4.0.5\",\n    \"pytest==9.0.2\",\n]\ndoc = [\"sphinx\"]\n\n[project.scripts]\narchinstall = \"archinstall.main:main\"\n\n[tool.setuptools.dynamic]\nreadme = {file = [\"README.rst\", \"USAGE.rst\"]}\n\n[tool.setuptools]\ninclude-package-data = true\n\n[tool.setuptools.package-data]\n# We could specify locales/languages.json etc instead, but catchall works too.\n\"archinstall\" = [\n    \"**/*.py\",\n    \"**/*.mo\",\n    \"**/*.po\",\n    \"**/*.pot\",\n    \"**/*.json\",\n]\n\n[tool.setuptools.package-dir]\narchinstall = \"archinstall\"\n\n[tool.mypy]\npython_version = \"3.12\"\nfiles = \".\"\nexclude = \"^build/\"\ndisallow_any_explicit = false\ndisallow_any_expr = false\ndisallow_any_unimported = true\nenable_error_code = [\n    \"deprecated\",\n    \"explicit-override\",\n    \"ignore-without-code\",\n    \"mutable-override\",\n    \"possibly-undefined\",\n    \"redundant-expr\",\n    \"redundant-self\",\n    \"truthy-bool\",\n    \"truthy-iterable\",\n    \"unimported-reveal\",\n    \"unused-awaitable\",\n]\nshow_traceback = true\nstrict = true\nwarn_unreachable = true\n\n[[tool.mypy.overrides]]\nmodule = \"archinstall.default_profiles.*\"\ndisallow_any_explicit = true\n\n[[tool.mypy.overrides]]\nmodule = \"archinstall.examples.*\"\ndisallow_any_explicit = true\n\n[[tool.mypy.overrides]]\nmodule = \"archinstall.lib.*\"\nwarn_return_any = false\n\n[[tool.mypy.overrides]]\nmodule = \"archinstall.lib.disk.*\"\n# 'Any' imports are allowed because pyparted doesn't have type hints\ndisallow_any_unimported = false\n\n[[tool.mypy.overrides]]\nmodule = \"archinstall.lib.models.*\"\n# 'Any' imports are allowed because pyparted doesn't have type hints\ndisallow_any_unimported = false\n\n[[tool.mypy.overrides]]\nmodule = \"archinstall.lib.packages\"\ndisallow_any_explicit = true\n\n[[tool.mypy.overrides]]\nmodule = \"archinstall.lib.utils\"\ndisallow_any_explicit = true\n\n[[tool.mypy.overrides]]\nmodule = [\n    \"parted\",\n]\nignore_missing_imports = true\n\n[tool.bandit]\ntargets = [\"archinstall\"]\nexclude = [\"/tests\"]\n\n[tool.pytest]\npythonpath = [\".\"]\naddopts = [\n    \"-s\",\n    \"--strict\",\n]\ntestpaths = [\"tests\"]\n\n[tool.pylint.main]\nignore-paths = [\n    \"^build/\",\n    \"^docs/\",\n    \"^node_modules/\",\n]\npersistent = false\npy-version = \"3.12\"\nrecursive = true\n\n[tool.pylint.format]\nindent-string = '\\t'\nmax-line-length = 160\n\n[tool.pylint.\"messages control\"]\ndisable = [\n    \"C\",\n    \"R\",\n    \"attribute-defined-outside-init\",\n    \"broad-exception-caught\",\n    \"cell-var-from-loop\",\n    \"dangerous-default-value\",\n    \"fixme\",\n    \"protected-access\",\n    \"raise-missing-from\",\n    \"unspecified-encoding\",\n    \"unused-argument\",\n]\n\n[tool.pylint.refactoring]\nscore = false\n\n[tool.pylint.variables]\ninit-import = true\n\n[tool.ruff]\ntarget-version = \"py312\"\nline-length = 160\n\n[tool.ruff.format]\nindent-style = \"tab\"\nquote-style = \"single\"\ndocstring-code-format = true\n\n[tool.ruff.lint.flake8-tidy-imports]\nban-relative-imports = \"all\"\n\n[tool.ruff.lint]\nselect = [\n    \"ASYNC\",  # flake8-async\n    \"B\",      # flake8-bugbear\n    \"C90\",    # mccabe\n    \"COM\",    # flake8-commas\n    \"DTZ\",    # flake8-datetimez\n    \"E\",      # pycodestyle errors\n    \"EXE\",    # flake8-executable\n    \"F\",      # Pyflakes\n    \"FA\",     # flake8-future-annotations\n    \"FLY\",    # flynt\n    \"G\",      # flake8-logging-format\n    \"I\",      # isort\n    \"ICN\",    # flake8-import-conventions\n    \"ISC\",    # flake8-implicit-str-concat\n    \"LOG\",    # flake8-logging\n    \"PGH\",    # pygrep-hooks\n    \"PIE\",    # flake8-pie\n    \"PLC\",    # Pylint conventions\n    \"PLE\",    # Pylint errors\n    \"PLW\",    # Pylint warnings\n    \"PYI\",    # flake8-pyi\n    \"RSE\",    # flake8-raise\n    \"RUF\",    # Ruff-specific rules\n    \"SLOT\",   # flake8-slot\n    \"T10\",    # flake8-debugger\n    \"UP\",     # pyupgrade\n    \"W\",      # pycodestyle warnings\n    \"YTT\",    # flake8-2020\n    \"TID\",    # flake8-tidy-imports (Enables TID252)\n]\n\nignore = [\n    \"B006\",     # mutable-argument-default\n    \"B008\",     # function-call-in-default-argument\n    \"B904\",     # raise-without-from-inside-except\n    \"B905\",     # zip-without-explicit-strict\n    \"B909\",     # loop-iterator-mutation\n    \"COM812\",   # missing-trailing-comma\n    \"PLC0415\",  # import-outside-top-level\n    \"PLC1901\",  # compare-to-empty-string\n    \"PLW1514\",  # unspecified-encoding\n    \"PLW1641\",  # eq-without-hash\n    \"PLW2901\",  # redefined-loop-name\n    \"RUF005\",   # collection-literal-concatenation\n    \"RUF015\",   # unnecessary-iterable-allocation-for-first-element\n    \"RUF039\",   # unraw-re-pattern\n    \"RUF067\",   # non-empty-init-module\n    \"W191\",     # tab-indentation\n]\n\n[tool.ruff.lint.mccabe]\nmax-complexity = 40\n"
  },
  {
    "path": "tests/__init__.py",
    "content": ""
  },
  {
    "path": "tests/conftest.py",
    "content": "from pathlib import Path\n\nimport pytest\n\n\n@pytest.fixture(scope='session')\ndef config_fixture() -> Path:\n\treturn Path(__file__).parent / 'data' / 'test_config.json'\n\n\n@pytest.fixture(scope='session')\ndef btrfs_config_fixture() -> Path:\n\treturn Path(__file__).parent / 'data' / 'test_config_btrfs.json'\n\n\n@pytest.fixture(scope='session')\ndef creds_fixture() -> Path:\n\treturn Path(__file__).parent / 'data' / 'test_creds.json'\n\n\n@pytest.fixture(scope='session')\ndef encrypted_creds_fixture() -> Path:\n\treturn Path(__file__).parent / 'data' / 'test_encrypted_creds.json'\n\n\n@pytest.fixture(scope='session')\ndef deprecated_creds_config() -> Path:\n\treturn Path(__file__).parent / 'data' / 'test_deprecated_creds_config.json'\n\n\n@pytest.fixture(scope='session')\ndef deprecated_mirror_config() -> Path:\n\treturn Path(__file__).parent / 'data' / 'test_deprecated_mirror_config.json'\n\n\n@pytest.fixture(scope='session')\ndef deprecated_audio_config() -> Path:\n\treturn Path(__file__).parent / 'data' / 'test_deprecated_audio_config.json'\n\n\n@pytest.fixture(scope='session')\ndef mirrorlist_no_country_fixture() -> Path:\n\treturn Path(__file__).parent / 'data' / 'mirrorlists' / 'test_no_country'\n\n\n@pytest.fixture(scope='session')\ndef mirrorlist_with_country_fixture() -> Path:\n\treturn Path(__file__).parent / 'data' / 'mirrorlists' / 'test_with_country'\n\n\n@pytest.fixture(scope='session')\ndef mirrorlist_multiple_countries_fixture() -> Path:\n\treturn Path(__file__).parent / 'data' / 'mirrorlists' / 'test_multiple_countries'\n"
  },
  {
    "path": "tests/data/__init__.py",
    "content": ""
  },
  {
    "path": "tests/data/mirrorlists/test_multiple_countries",
    "content": "################################################################################\n################# Arch Linux mirrorlist generated by Reflector #################\n################################################################################\n\n# With:       reflector @/etc/xdg/reflector/reflector.conf\n# When:       2025-01-11 05:37:57 UTC\n# From:       https://archlinux.org/mirrors/status/json/\n# Retrieved:  2025-01-11 05:37:17 UTC\n# Last Check: 2025-01-11 05:17:17 UTC\n\n## United States\nServer = https://geo.mirror.pkgbuild.com/$repo/os/$arch\nServer = https://america.mirror.pkgbuild.com/$repo/os/$arch\n\n## Australia\nServer = https://au.mirror.pkgbuild.com/$repo/os/$arch\n"
  },
  {
    "path": "tests/data/mirrorlists/test_no_country",
    "content": "################################################################################\n################# Arch Linux mirrorlist generated by Reflector #################\n################################################################################\n\n# With:       reflector @/etc/xdg/reflector/reflector.conf\n# When:       2025-01-11 05:37:57 UTC\n# From:       https://archlinux.org/mirrors/status/json/\n# Retrieved:  2025-01-11 05:37:17 UTC\n# Last Check: 2025-01-11 05:17:17 UTC\n\nServer = https://geo.mirror.pkgbuild.com/$repo/os/$arch\nServer = https://america.mirror.pkgbuild.com/$repo/os/$arch\n"
  },
  {
    "path": "tests/data/mirrorlists/test_with_country",
    "content": "################################################################################\n################# Arch Linux mirrorlist generated by Reflector #################\n################################################################################\n\n# With:       reflector @/etc/xdg/reflector/reflector.conf\n# When:       2025-01-11 05:37:57 UTC\n# From:       https://archlinux.org/mirrors/status/json/\n# Retrieved:  2025-01-11 05:37:17 UTC\n# Last Check: 2025-01-11 05:17:17 UTC\n\n## United States\nServer = https://geo.mirror.pkgbuild.com/$repo/os/$arch\nServer = https://america.mirror.pkgbuild.com/$repo/os/$arch\n"
  },
  {
    "path": "tests/data/test_config.json",
    "content": "{\n  \"archinstall-language\": \"English\",\n  \"script\": \"test_script\",\n  \"app_config\": {\n      \"bluetooth_config\": {\n          \"enabled\": true\n      },\n      \"audio_config\": {\n          \"audio\": \"pipewire\"\n      },\n      \"print_service_config\": {\n          \"enabled\": true\n      }\n  },\n  \"auth_config\": {\n      \"u2f_config\": {\n          \"passwordless_sudo\": true,\n          \"u2f_login_method\": \"passwordless\"\n      }\n  },\n  \"audio_config\": {\n    \"audio\": \"pipewire\"\n  },\n  \"bootloader_config\": {\n    \"bootloader\": \"Systemd-boot\",\n    \"uki\": false,\n    \"removable\": false\n  },\n  \"services\": [\n    \"service_1\",\n    \"service_2\"\n  ],\n  \"disk_config\": {\n    \"config_type\": \"default_layout\",\n    \"btrfs_options\": {\n      \"snapshot_config\": {\n        \"type\": \"Snapper\"\n      }\n    },\n    \"device_modifications\": [\n      {\n        \"device\": \"/dev/sda\",\n        \"partitions\": [\n          {\n            \"btrfs\": [],\n            \"dev_path\": null,\n            \"flags\": [\n              \"boot\"\n            ],\n            \"fs_type\": \"fat32\",\n            \"size\": {\n              \"sector_size\": {\n                \"unit\": \"B\",\n                \"value\": 512\n              },\n              \"unit\": \"MiB\",\n              \"value\": 512\n            },\n            \"mount_options\": [],\n            \"mountpoint\": \"/boot\",\n            \"obj_id\": \"2c3fa2d5-2c79-4fab-86ec-22d0ea1543c0\",\n            \"start\": {\n              \"sector_size\": {\n                \"unit\": \"B\",\n                \"value\": 512\n              },\n              \"unit\": \"MiB\",\n              \"value\": 1\n            },\n            \"status\": \"create\",\n            \"type\": \"primary\"\n          },\n          {\n            \"btrfs\": [],\n            \"dev_path\": null,\n            \"flags\": [],\n            \"fs_type\": \"ext4\",\n            \"size\": {\n              \"sector_size\": {\n                \"unit\": \"B\",\n                \"value\": 512\n              },\n              \"unit\": \"GiB\",\n              \"value\": 32\n            },\n            \"mount_options\": [],\n            \"mountpoint\": \"/\",\n            \"obj_id\": \"3e7018a0-363b-4d05-ab83-8e82d13db208\",\n            \"start\": {\n              \"sector_size\": {\n                \"unit\": \"B\",\n                \"value\": 512\n              },\n              \"unit\": \"MiB\",\n              \"value\": 513\n            },\n            \"status\": \"create\",\n            \"type\": \"primary\"\n          },\n          {\n            \"btrfs\": [],\n            \"dev_path\": null,\n            \"flags\": [],\n            \"fs_type\": \"ext4\",\n            \"size\": {\n              \"sector_size\": {\n                \"unit\": \"B\",\n                \"value\": 512\n              },\n              \"unit\": \"GiB\",\n              \"value\": 32\n            },\n            \"mount_options\": [],\n            \"mountpoint\": \"/home\",\n            \"obj_id\": \"ce58b139-f041-4a06-94da-1f8bad775d3f\",\n            \"start\": {\n              \"sector_size\": {\n                \"unit\": \"B\",\n                \"value\": 512\n              },\n              \"unit\": \"MiB\",\n              \"value\": 33281\n            },\n            \"status\": \"create\",\n            \"type\": \"primary\"\n          }\n        ],\n        \"wipe\": true\n      }\n    ]\n  },\n  \"hostname\": \"archy\",\n  \"kernels\": [\n    \"linux-zen\"\n  ],\n  \"locale_config\": {\n    \"kb_layout\": \"us\",\n    \"sys_enc\": \"UTF-8\",\n    \"sys_lang\": \"en_US\"\n  },\n  \"mirror_config\": {\n    \"custom_servers\": [\n        {\n          \"url\": \"https://mymirror.com/$repo/os/$arch\"\n        }\n    ],\n    \"mirror_regions\": {\n      \"Australia\": [\n        \"http://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch\"\n      ]\n    },\n    \"optional_repositories\": [\n      \"testing\"\n    ],\n    \"custom_repositories\": [\n      {\n        \"name\": \"myrepo\",\n        \"url\": \"https://myrepo.com/$repo/os/$arch\",\n        \"sign_check\": \"Required\",\n        \"sign_option\": \"TrustAll\"\n      }\n    ]\n  },\n  \"network_config\": {\n    \"type\": \"manual\",\n    \"nics\": [\n      {\n        \"iface\": \"eno1\",\n        \"ip\": \"192.168.1.15/24\",\n        \"dhcp\": true,\n        \"gateway\": \"192.168.1.1\",\n        \"dns\": [\n          \"192.168.1.1\",\n          \"9.9.9.9\"\n        ]\n      }\n    ]\n  },\n  \"ntp\": true,\n  \"packages\": [\n    \"firefox\"\n  ],\n  \"parallel_downloads\": 66,\n  \"profile_config\": {\n    \"gfx_driver\": \"All open-source\",\n    \"greeter\": \"lightdm-gtk-greeter\",\n    \"profile\": {\n      \"custom_settings\": {\n        \"Hyprland\": {\n          \"seat_access\": \"polkit\"\n        },\n        \"Sway\": {\n          \"seat_access\": \"seatd\"\n        }\n      },\n      \"details\": [\n        \"Sway\",\n        \"Hyprland\"\n      ],\n      \"main\": \"Desktop\"\n    }\n  },\n  \"custom_commands\": [\n    \"echo 'Hello, World!'\"\n  ],\n  \"swap\": false,\n  \"timezone\": \"UTC\",\n  \"version\": \"3.0.2\"\n}\n"
  },
  {
    "path": "tests/data/test_creds.json",
    "content": "{\n    \"root_enc_password\": \"password_hash\",\n    \"users\": [\n        {\n            \"enc_password\": \"password_hash\",\n            \"sudo\": true,\n            \"username\": \"user_name\",\n            \"groups\": [\"wheel\"]\n        }\n    ]\n}\n"
  },
  {
    "path": "tests/data/test_deprecated_audio_config.json",
    "content": "{\n    \"audio_config\": {\n        \"audio\": \"pipewire\"\n    }\n}\n"
  },
  {
    "path": "tests/data/test_deprecated_creds_config.json",
    "content": "{\n    \"!root-password\": \"rootPwd\",\n    \"!users\": [\n        {\n            \"!password\": \"userPwd\",\n            \"sudo\": true,\n            \"username\": \"user_name\",\n            \"groups\": [\"wheel\"]\n        }\n    ]\n}\n"
  },
  {
    "path": "tests/data/test_deprecated_mirror_config.json",
    "content": "{\n    \"additional-repositories\": [\"testing\"],\n    \"mirror_config\": {\n        \"custom_mirrors\": [\n            {\n                \"name\": \"my_mirror\",\n                \"sign_check\": \"Optional\",\n                \"sign_option\": \"TrustedOnly\",\n                \"url\": \"example.com\"\n            }\n        ],\n        \"mirror_regions\": {\n            \"Australia\": [\n          \"http://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch\"\n            ]\n        }\n    }\n}\n"
  },
  {
    "path": "tests/data/test_encrypted_creds.json",
    "content": "$argon2id$9lv5DTin0wusAc0tFPxbkw==$Z0FBQUFBQm4temxTbzJnd09OQmVCbU1DTGg0akNBMXNoeFI1UTlHVGRiVzF0UUFDRW9rVDRpeDVaVENVb1NGMzhZc0RReEZ4MmNtdkc3dHctU3BlNXdXb01UVWJibnYwZmVYRXZkbk9TQlUxUTVkN3Z6NWRfUTNVYlVUS3lzckhpNERJeW5mOUcxdnJqU2loVl95dlRBdWdEZXlCOVZyRHZRaEk2NURUWGRROGpEeExpdWtGU3ZTQ0FqTFFEMEozMmJEQkxabW1Wcjg2cXdEVllfYXYzN0p0eE9PRHVkZnFNcWZnY2h3cVJhVjA3S1Q2MER5RWZrb0FUTnJobW5icERzYUNVZE5iT3VLLWFtLTFDZVdoMUFub3FGQzBHcGFFNVRVbTBZM2ZqXzRERGlvSEJndWFma25hYlpvOHllUEVOZUVmc3dCN215NjlrdHVYNElfWGl5Ny1xTVlRWWw3V0VTSGRONENWbTdPalMxY1BnUGs3eFZoRERnOXNGSW9zRGZub2xQSEZSODFKVGxtdzNyZlpfeHdMSkJZUUNPQUZUWHNEd25KVWpwZTV2LVNyb1pzSFF6SGg3c3RldEpwLUVnQ0w1US1mN2l6MmdVLTZSSHpvNVdtcWhTaHVXMGJUczBFN2s0VXctUEo1OUdzNUs4bW9sbnpfcmJmQzNxSVNPM2NVeWktek5QaFU=\n"
  },
  {
    "path": "tests/test_args.py",
    "content": "import os\nfrom importlib.metadata import version\nfrom pathlib import Path\n\nfrom pytest import MonkeyPatch\n\nfrom archinstall.default_profiles.profile import GreeterType\nfrom archinstall.lib.args import ArchConfig, ArchConfigHandler, Arguments\nfrom archinstall.lib.hardware import GfxDriver\nfrom archinstall.lib.models.application import (\n\tApplicationConfiguration,\n\tAudio,\n\tAudioConfiguration,\n\tBluetoothConfiguration,\n\tPrintServiceConfiguration,\n\tZramConfiguration,\n)\nfrom archinstall.lib.models.authentication import AuthenticationConfiguration, U2FLoginConfiguration, U2FLoginMethod\nfrom archinstall.lib.models.bootloader import Bootloader, BootloaderConfiguration\nfrom archinstall.lib.models.device import DiskLayoutConfiguration, DiskLayoutType\nfrom archinstall.lib.models.locale import LocaleConfiguration\nfrom archinstall.lib.models.mirrors import CustomRepository, CustomServer, MirrorConfiguration, MirrorRegion, SignCheck, SignOption\nfrom archinstall.lib.models.network import NetworkConfiguration, Nic, NicType\nfrom archinstall.lib.models.packages import Repository\nfrom archinstall.lib.models.profile import ProfileConfiguration\nfrom archinstall.lib.models.users import Password, User\nfrom archinstall.lib.profile.profiles_handler import profile_handler\nfrom archinstall.lib.translationhandler import translation_handler\n\n\ndef test_default_args(monkeypatch: MonkeyPatch) -> None:\n\tmonkeypatch.setattr('sys.argv', ['archinstall'])\n\thandler = ArchConfigHandler()\n\targs = handler.args\n\tassert args == Arguments(\n\t\tconfig=None,\n\t\tconfig_url=None,\n\t\tcreds=None,\n\t\tcreds_url=None,\n\t\tcreds_decryption_key=None,\n\t\tsilent=False,\n\t\tdry_run=False,\n\t\tscript=None,\n\t\tmountpoint=Path('/mnt'),\n\t\tskip_ntp=False,\n\t\tskip_wkd=False,\n\t\tskip_boot=False,\n\t\tdebug=False,\n\t\toffline=False,\n\t\tno_pkg_lookups=False,\n\t\tplugin=None,\n\t\tskip_version_check=False,\n\t\tadvanced=False,\n\t)\n\n\ndef test_correct_parsing_args(\n\tmonkeypatch: MonkeyPatch,\n\tconfig_fixture: Path,\n\tcreds_fixture: Path,\n) -> None:\n\tmonkeypatch.setattr(\n\t\t'sys.argv',\n\t\t[\n\t\t\t'archinstall',\n\t\t\t'--config',\n\t\t\tstr(config_fixture),\n\t\t\t'--config-url',\n\t\t\t'https://example.com',\n\t\t\t'--creds',\n\t\t\tstr(creds_fixture),\n\t\t\t'--script',\n\t\t\t'execution_script',\n\t\t\t'--mountpoint',\n\t\t\t'/tmp',\n\t\t\t'--skip-ntp',\n\t\t\t'--skip-wkd',\n\t\t\t'--skip-boot',\n\t\t\t'--debug',\n\t\t\t'--offline',\n\t\t\t'--no-pkg-lookups',\n\t\t\t'--plugin',\n\t\t\t'pytest_plugin.py',\n\t\t\t'--skip-version-check',\n\t\t\t'--advanced',\n\t\t\t'--dry-run',\n\t\t\t'--silent',\n\t\t],\n\t)\n\n\thandler = ArchConfigHandler()\n\targs = handler.args\n\n\tassert args == Arguments(\n\t\tconfig=config_fixture,\n\t\tconfig_url='https://example.com',\n\t\tcreds=creds_fixture,\n\t\tsilent=True,\n\t\tdry_run=True,\n\t\tscript='execution_script',\n\t\tmountpoint=Path('/tmp'),\n\t\tskip_ntp=True,\n\t\tskip_wkd=True,\n\t\tskip_boot=True,\n\t\tdebug=True,\n\t\toffline=True,\n\t\tno_pkg_lookups=True,\n\t\tplugin='pytest_plugin.py',\n\t\tskip_version_check=True,\n\t\tadvanced=True,\n\t)\n\n\ndef test_config_file_parsing(\n\tmonkeypatch: MonkeyPatch,\n\tconfig_fixture: Path,\n\tcreds_fixture: Path,\n) -> None:\n\tmonkeypatch.setattr(\n\t\t'sys.argv',\n\t\t[\n\t\t\t'archinstall',\n\t\t\t'--config',\n\t\t\tstr(config_fixture),\n\t\t\t'--creds',\n\t\t\tstr(creds_fixture),\n\t\t],\n\t)\n\n\thandler = ArchConfigHandler()\n\tarch_config = handler.config\n\n\t# TODO: Use the real values from the test fixture instead of clearing out the entries\n\tarch_config.disk_config.device_modifications = []  # type: ignore[union-attr]\n\n\tassert arch_config == ArchConfig(\n\t\tversion=version('archinstall'),\n\t\tscript='test_script',\n\t\tapp_config=ApplicationConfiguration(\n\t\t\tbluetooth_config=BluetoothConfiguration(enabled=True),\n\t\t\taudio_config=AudioConfiguration(audio=Audio.PIPEWIRE),\n\t\t\tprint_service_config=PrintServiceConfiguration(enabled=True),\n\t\t),\n\t\tauth_config=AuthenticationConfiguration(\n\t\t\troot_enc_password=Password(enc_password='password_hash'),\n\t\t\tusers=[\n\t\t\t\tUser(\n\t\t\t\t\tusername='user_name',\n\t\t\t\t\tpassword=Password(enc_password='password_hash'),\n\t\t\t\t\tsudo=True,\n\t\t\t\t\tgroups=['wheel'],\n\t\t\t\t),\n\t\t\t],\n\t\t\tu2f_config=U2FLoginConfiguration(\n\t\t\t\tu2f_login_method=U2FLoginMethod.Passwordless,\n\t\t\t\tpasswordless_sudo=True,\n\t\t\t),\n\t\t),\n\t\tlocale_config=LocaleConfiguration(\n\t\t\tkb_layout='us',\n\t\t\tsys_lang='en_US',\n\t\t\tsys_enc='UTF-8',\n\t\t),\n\t\tarchinstall_language=translation_handler.get_language_by_abbr('en'),\n\t\tdisk_config=DiskLayoutConfiguration(\n\t\t\tconfig_type=DiskLayoutType.Default,\n\t\t\tdevice_modifications=[],\n\t\t\tlvm_config=None,\n\t\t\tmountpoint=None,\n\t\t),\n\t\tprofile_config=ProfileConfiguration(\n\t\t\tprofile=profile_handler.parse_profile_config(\n\t\t\t\t{\n\t\t\t\t\t'custom_settings': {\n\t\t\t\t\t\t'Hyprland': {\n\t\t\t\t\t\t\t'seat_access': 'polkit',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'Sway': {\n\t\t\t\t\t\t\t'seat_access': 'seatd',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'details': [\n\t\t\t\t\t\t'Sway',\n\t\t\t\t\t\t'Hyprland',\n\t\t\t\t\t],\n\t\t\t\t\t'main': 'Desktop',\n\t\t\t\t}\n\t\t\t),\n\t\t\tgfx_driver=GfxDriver.AllOpenSource,\n\t\t\tgreeter=GreeterType.Lightdm,\n\t\t),\n\t\tmirror_config=MirrorConfiguration(\n\t\t\tmirror_regions=[\n\t\t\t\tMirrorRegion(\n\t\t\t\t\tname='Australia',\n\t\t\t\t\turls=['http://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch'],\n\t\t\t\t),\n\t\t\t],\n\t\t\tcustom_servers=[CustomServer('https://mymirror.com/$repo/os/$arch')],\n\t\t\toptional_repositories=[Repository.Testing],\n\t\t\tcustom_repositories=[\n\t\t\t\tCustomRepository(\n\t\t\t\t\tname='myrepo',\n\t\t\t\t\turl='https://myrepo.com/$repo/os/$arch',\n\t\t\t\t\tsign_check=SignCheck.Required,\n\t\t\t\t\tsign_option=SignOption.TrustAll,\n\t\t\t\t),\n\t\t\t],\n\t\t),\n\t\tnetwork_config=NetworkConfiguration(\n\t\t\ttype=NicType.MANUAL,\n\t\t\tnics=[\n\t\t\t\tNic(\n\t\t\t\t\tiface='eno1',\n\t\t\t\t\tip='192.168.1.15/24',\n\t\t\t\t\tdhcp=True,\n\t\t\t\t\tgateway='192.168.1.1',\n\t\t\t\t\tdns=[\n\t\t\t\t\t\t'192.168.1.1',\n\t\t\t\t\t\t'9.9.9.9',\n\t\t\t\t\t],\n\t\t\t\t),\n\t\t\t],\n\t\t),\n\t\tbootloader_config=BootloaderConfiguration(\n\t\t\tbootloader=Bootloader.Systemd,\n\t\t\tuki=False,\n\t\t\tremovable=False,\n\t\t),\n\t\thostname='archy',\n\t\tkernels=['linux-zen'],\n\t\tntp=True,\n\t\tpackages=['firefox'],\n\t\tparallel_downloads=66,\n\t\tswap=ZramConfiguration(enabled=False),\n\t\ttimezone='UTC',\n\t\tservices=['service_1', 'service_2'],\n\t\tcustom_commands=[\"echo 'Hello, World!'\"],\n\t)\n\n\ndef test_deprecated_mirror_config_parsing(\n\tmonkeypatch: MonkeyPatch,\n\tdeprecated_mirror_config: Path,\n) -> None:\n\tmonkeypatch.setattr(\n\t\t'sys.argv',\n\t\t[\n\t\t\t'archinstall',\n\t\t\t'--config',\n\t\t\tstr(deprecated_mirror_config),\n\t\t],\n\t)\n\n\thandler = ArchConfigHandler()\n\tarch_config = handler.config\n\n\tassert arch_config.mirror_config == MirrorConfiguration(\n\t\tmirror_regions=[\n\t\t\tMirrorRegion(\n\t\t\t\tname='Australia',\n\t\t\t\turls=['http://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch'],\n\t\t\t),\n\t\t],\n\t\tcustom_servers=[],\n\t\toptional_repositories=[Repository.Testing],\n\t\tcustom_repositories=[\n\t\t\tCustomRepository(\n\t\t\t\tname='my_mirror',\n\t\t\t\turl='example.com',\n\t\t\t\tsign_check=SignCheck.Optional,\n\t\t\t\tsign_option=SignOption.TrustedOnly,\n\t\t\t),\n\t\t],\n\t)\n\n\ndef test_deprecated_creds_config_parsing(\n\tmonkeypatch: MonkeyPatch,\n\tdeprecated_creds_config: Path,\n) -> None:\n\tmonkeypatch.setattr(\n\t\t'sys.argv',\n\t\t[\n\t\t\t'archinstall',\n\t\t\t'--creds',\n\t\t\tstr(deprecated_creds_config),\n\t\t],\n\t)\n\n\thandler = ArchConfigHandler()\n\tarch_config = handler.config\n\n\tassert arch_config.auth_config is not None\n\tassert arch_config.auth_config.root_enc_password == Password(plaintext='rootPwd')\n\n\tassert arch_config.auth_config.users == [\n\t\tUser(\n\t\t\tusername='user_name',\n\t\t\tpassword=Password(plaintext='userPwd'),\n\t\t\tsudo=True,\n\t\t\tgroups=['wheel'],\n\t\t),\n\t]\n\n\ndef test_deprecated_audio_config_parsing(\n\tmonkeypatch: MonkeyPatch,\n\tdeprecated_audio_config: Path,\n) -> None:\n\tmonkeypatch.setattr(\n\t\t'sys.argv',\n\t\t[\n\t\t\t'archinstall',\n\t\t\t'--config',\n\t\t\tstr(deprecated_audio_config),\n\t\t],\n\t)\n\n\thandler = ArchConfigHandler()\n\tarch_config = handler.config\n\n\tassert arch_config.app_config == ApplicationConfiguration(\n\t\taudio_config=AudioConfiguration(audio=Audio.PIPEWIRE),\n\t)\n\n\ndef test_encrypted_creds_with_arg(\n\tmonkeypatch: MonkeyPatch,\n\tencrypted_creds_fixture: Path,\n) -> None:\n\tmonkeypatch.setattr(\n\t\t'sys.argv',\n\t\t[\n\t\t\t'archinstall',\n\t\t\t'--creds',\n\t\t\tstr(encrypted_creds_fixture),\n\t\t\t'--creds-decryption-key',\n\t\t\t'master',\n\t\t],\n\t)\n\n\thandler = ArchConfigHandler()\n\tarch_config = handler.config\n\n\tassert arch_config.auth_config is not None\n\tassert arch_config.auth_config.root_enc_password == Password(enc_password='$y$j9T$FWCInXmSsS.8KV4i7O50H.$Hb6/g.Sw1ry888iXgkVgc93YNuVk/Rw94knDKdPVQw7')\n\tassert arch_config.auth_config.users == [\n\t\tUser(\n\t\t\tusername='t',\n\t\t\tpassword=Password(enc_password='$y$j9T$3KxMigAEnjtzbjalhLewE.$gmuoQtc9RNY/PmO/GxHHYvkZNO86Eeftg1Oc7L.QSO/'),\n\t\t\tsudo=True,\n\t\t\tgroups=[],\n\t\t),\n\t]\n\n\ndef test_encrypted_creds_with_env_var(\n\tmonkeypatch: MonkeyPatch,\n\tencrypted_creds_fixture: Path,\n) -> None:\n\tos.environ['ARCHINSTALL_CREDS_DECRYPTION_KEY'] = 'master'\n\tmonkeypatch.setattr(\n\t\t'sys.argv',\n\t\t[\n\t\t\t'archinstall',\n\t\t\t'--creds',\n\t\t\tstr(encrypted_creds_fixture),\n\t\t],\n\t)\n\n\thandler = ArchConfigHandler()\n\tarch_config = handler.config\n\n\tassert arch_config.auth_config is not None\n\tassert arch_config.auth_config.root_enc_password == Password(enc_password='$y$j9T$FWCInXmSsS.8KV4i7O50H.$Hb6/g.Sw1ry888iXgkVgc93YNuVk/Rw94knDKdPVQw7')\n\tassert arch_config.auth_config.users == [\n\t\tUser(\n\t\t\tusername='t',\n\t\t\tpassword=Password(enc_password='$y$j9T$3KxMigAEnjtzbjalhLewE.$gmuoQtc9RNY/PmO/GxHHYvkZNO86Eeftg1Oc7L.QSO/'),\n\t\t\tsudo=True,\n\t\t\tgroups=[],\n\t\t),\n\t]\n"
  },
  {
    "path": "tests/test_configuration_output.py",
    "content": "import json\nfrom pathlib import Path\n\nfrom pytest import MonkeyPatch\n\nfrom archinstall.lib.args import ArchConfigHandler\nfrom archinstall.lib.configuration import ConfigurationOutput\n\n\ndef test_user_config_roundtrip(\n\tmonkeypatch: MonkeyPatch,\n\tconfig_fixture: Path,\n) -> None:\n\tmonkeypatch.setattr('sys.argv', ['archinstall', '--config', str(config_fixture)])\n\n\thandler = ArchConfigHandler()\n\tarch_config = handler.config\n\n\t# the version is retrieved dynamically from an installed archinstall package\n\t# as there is no version present in the test environment we'll set it manually\n\tarch_config.version = '3.0.2'\n\n\tconfig_output = ConfigurationOutput(arch_config)\n\n\ttest_out_dir = Path('/tmp/')\n\ttest_out_file = test_out_dir / config_output.user_configuration_file\n\n\tconfig_output.save(test_out_dir)\n\n\tresult = json.loads(test_out_file.read_text())\n\texpected = json.loads(config_fixture.read_text())\n\n\t# the parsed config will check if the given device exists otherwise\n\t# it will ignore the modification; as this test will run on various local systems\n\t# and the CI pipeline there's no good way specify a real device so we'll simply\n\t# copy the expected result to the actual result\n\tresult['disk_config']['config_type'] = expected['disk_config']['config_type']\n\tresult['disk_config']['device_modifications'] = expected['disk_config']['device_modifications']\n\n\tassert json.dumps(\n\t\tresult['mirror_config'],\n\t\tsort_keys=True,\n\t) == json.dumps(\n\t\texpected['mirror_config'],\n\t\tsort_keys=True,\n\t)\n\n\ndef test_creds_roundtrip(\n\tmonkeypatch: MonkeyPatch,\n\tcreds_fixture: Path,\n) -> None:\n\tmonkeypatch.setattr('sys.argv', ['archinstall', '--creds', str(creds_fixture)])\n\n\thandler = ArchConfigHandler()\n\tarch_config = handler.config\n\n\tconfig_output = ConfigurationOutput(arch_config)\n\n\ttest_out_dir = Path('/tmp/')\n\ttest_out_file = test_out_dir / config_output.user_credentials_file\n\n\tconfig_output.save(test_out_dir, creds=True)\n\n\tresult = json.loads(test_out_file.read_text())\n\texpected = json.loads(creds_fixture.read_text())\n\n\tassert sorted(result.items()) == sorted(expected.items())\n"
  },
  {
    "path": "tests/test_mirrorlist.py",
    "content": "from pathlib import Path\n\nfrom archinstall.lib.mirror.mirror_handler import MirrorListHandler\n\n\ndef test_mirrorlist_no_country(mirrorlist_no_country_fixture: Path) -> None:\n\thandler = MirrorListHandler(local_mirrorlist=mirrorlist_no_country_fixture)\n\thandler.load_local_mirrors()\n\n\tregions = handler.get_mirror_regions()\n\n\tassert len(regions) == 1\n\tassert regions[0].name == 'Local'\n\tassert regions[0].urls == [\n\t\t'https://geo.mirror.pkgbuild.com/$repo/os/$arch',\n\t\t'https://america.mirror.pkgbuild.com/$repo/os/$arch',\n\t]\n\n\ndef test_mirrorlist_with_country(mirrorlist_with_country_fixture: Path) -> None:\n\thandler = MirrorListHandler(local_mirrorlist=mirrorlist_with_country_fixture)\n\thandler.load_local_mirrors()\n\n\tregions = handler.get_mirror_regions()\n\n\tassert len(regions) == 1\n\tassert regions[0].name == 'United States'\n\tassert regions[0].urls == [\n\t\t'https://geo.mirror.pkgbuild.com/$repo/os/$arch',\n\t\t'https://america.mirror.pkgbuild.com/$repo/os/$arch',\n\t]\n\n\ndef test_mirrorlist_multiple_countries(mirrorlist_multiple_countries_fixture: Path) -> None:\n\thandler = MirrorListHandler(local_mirrorlist=mirrorlist_multiple_countries_fixture)\n\thandler.load_local_mirrors()\n\n\tregions = handler.get_mirror_regions()\n\n\tassert len(regions) == 2\n\tassert regions[0].name == 'United States'\n\tassert regions[0].urls == [\n\t\t'https://geo.mirror.pkgbuild.com/$repo/os/$arch',\n\t\t'https://america.mirror.pkgbuild.com/$repo/os/$arch',\n\t]\n\n\tassert regions[1].name == 'Australia'\n\tassert regions[1].urls == [\n\t\t'https://au.mirror.pkgbuild.com/$repo/os/$arch',\n\t]\n"
  },
  {
    "path": "tests/test_password_strength.py",
    "content": "import pytest\n\nfrom archinstall.lib.models.users import PasswordStrength\n\n\n@pytest.mark.parametrize(\n\t'password, expected',\n\t[\n\t\t('abc', PasswordStrength.VERY_WEAK),\n\t\t('Abcdef1!', PasswordStrength.WEAK),\n\t\t('Abcdef1234!', PasswordStrength.MODERATE),\n\t\t('Abcdef12345!@', PasswordStrength.STRONG),\n\t\t('', PasswordStrength.VERY_WEAK),\n\t\t('123456789', PasswordStrength.VERY_WEAK),\n\t\t('abcdefghijklmnopqr', PasswordStrength.STRONG),\n\t],\n)\ndef test_password_strength(password: str, expected: PasswordStrength) -> None:\n\tassert PasswordStrength.strength(password) == expected\n"
  }
]