diff --git a/.github/workflows/ci-integration-tests.yml b/.github/workflows/ci-integration-tests.yml index 990d52c049..722c67c7e6 100644 --- a/.github/workflows/ci-integration-tests.yml +++ b/.github/workflows/ci-integration-tests.yml @@ -13,7 +13,7 @@ jobs: timeout-minutes: 60 runs-on: ubuntu-latest # do not run scheduled jobs in forks, in forks only allow manual run ("workflow_dispatch") - if: github.repository_owner == 'openSUSE' || github.event_name == 'workflow_dispatch' + if: (!github.event.repository.fork) || github.event_name == 'workflow_dispatch' steps: @@ -101,7 +101,7 @@ jobs: # see https://github.com/marketplace/actions/irc-message-action uses: Gottox/irc-message-action@v2 # never run in forks or when triggered manually - if: failure() && github.repository_owner == 'openSUSE' && github.event_name != 'workflow_dispatch' + if: failure() && !github.event.repository.fork && github.event_name != 'workflow_dispatch' with: channel: "#yast" nickname: github-action diff --git a/.github/workflows/obs-staging-autoinstallation.yml b/.github/workflows/obs-staging-autoinstallation.yml index e43c9ba155..6888946a16 100644 --- a/.github/workflows/obs-staging-autoinstallation.yml +++ b/.github/workflows/obs-staging-autoinstallation.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when an autoinstallation source is changed - autoinstallation/** diff --git a/.github/workflows/obs-staging-integration-tests.yml b/.github/workflows/obs-staging-integration-tests.yml index 85cdcf8806..63c26e2461 100644 --- a/.github/workflows/obs-staging-integration-tests.yml +++ b/.github/workflows/obs-staging-integration-tests.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a source file is changed - puppeteer/** diff --git a/.github/workflows/obs-staging-live.yml b/.github/workflows/obs-staging-live.yml index 02b530129b..43d9feb8a8 100644 --- a/.github/workflows/obs-staging-live.yml +++ b/.github/workflows/obs-staging-live.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a live ISO source is changed - live/** diff --git a/.github/workflows/obs-staging-products.yml b/.github/workflows/obs-staging-products.yml index 57cca558b6..ea54b77394 100644 --- a/.github/workflows/obs-staging-products.yml +++ b/.github/workflows/obs-staging-products.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a Rust source is changed - products.d/** diff --git a/.github/workflows/obs-staging-rust.yml b/.github/workflows/obs-staging-rust.yml index e14ca8c207..d1c7a80f61 100644 --- a/.github/workflows/obs-staging-rust.yml +++ b/.github/workflows/obs-staging-rust.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a Rust source is changed - rust/** diff --git a/.github/workflows/obs-staging-service.yml b/.github/workflows/obs-staging-service.yml index c9d7cc7c08..e17e560061 100644 --- a/.github/workflows/obs-staging-service.yml +++ b/.github/workflows/obs-staging-service.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a service source is changed - service/** diff --git a/.github/workflows/obs-staging-shared.yml b/.github/workflows/obs-staging-shared.yml index 00d5b3c8ee..2e4a968983 100644 --- a/.github/workflows/obs-staging-shared.yml +++ b/.github/workflows/obs-staging-shared.yml @@ -28,8 +28,9 @@ on: jobs: update_staging_package: - # do not run in forks which do not set the OBS_PROJECT variable - if: vars.OBS_PROJECT != '' + # do not run in forks which do not set the OBS_PROJECT variable, + # for the "release" branch or a git tag use the OBS_PROJECT_RELEASE variable + if: vars.OBS_PROJECT != '' || ((github.ref_name == 'release' || github.ref_type == 'tag') && vars.OBS_PROJECT_RELEASE != '') runs-on: ubuntu-latest @@ -37,6 +38,17 @@ jobs: image: registry.opensuse.org/opensuse/tumbleweed:latest steps: + - name: Select OBS project + id: obs_project + run: |- + if [ "${{ github.ref_name }}" = "release" -o "${{ github.ref_type }}" = "tag" ]; then + echo "OBS_PROJECT=${{ vars.OBS_PROJECT_RELEASE }}" >> "$GITHUB_OUTPUT" + echo "OBS project: ${{ vars.OBS_PROJECT_RELEASE }}" + else + echo "OBS_PROJECT=${{ vars.OBS_PROJECT }}" >> "$GITHUB_OUTPUT" + echo "OBS project: ${{ vars.OBS_PROJECT }}" + fi + - name: Configure and refresh repositories # disable unused repositories to have a faster refresh run: zypper modifyrepo -d repo-non-oss repo-openh264 repo-update && zypper ref @@ -64,19 +76,19 @@ jobs: OBS_USER: ${{ secrets.OBS_USER }} OBS_PASSWORD: ${{ secrets.OBS_PASSWORD }} - - name: Checkout ${{ vars.OBS_PROJECT }} ${{ inputs.package_name }} - run: osc co ${{ vars.OBS_PROJECT }} ${{ inputs.package_name }} + - name: Checkout ${{ steps.obs_project.outputs.OBS_PROJECT }} ${{ inputs.package_name }} + run: osc co ${{ steps.obs_project.outputs.OBS_PROJECT }} ${{ inputs.package_name }} - name: Configure git run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Update service revision - # only when a tag has been pushed - if: ${{ github.ref_type == 'tag' }} + # only when a tag has been pushed, or "release" branch updated + if: github.ref_type == 'tag' || github.ref_name == 'release' run: |- - echo "Updating revision to ${{ github.ref_name }}" + echo "Updating revision to \"${{ github.ref_name }}\"" sed -i -e 's#.*#${{ github.ref_name }}#' _service - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} - name: Copy optional service file # patch the URL in the file so it works also from forks, forks also by @@ -84,31 +96,31 @@ jobs: # no tag is present if: inputs.service_file != '' run: | - sed -e 's#.*#https://github.com/${{ github.repository }}.git#' ${{ inputs.service_file }} > ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }}/_service - if [ -z "$(git tag -l)" ]; then sed -i -e 's#.*##' ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }}/_service; fi + sed -e 's#.*#https://github.com/${{ github.repository }}.git#' ${{ inputs.service_file }} > ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}/_service + if [ -z "$(git tag -l)" ]; then sed -i -e 's#.*##' ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}/_service; fi - name: Run services run: osc service manualrun - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} - name: Cleanup # sometimes the "osc service" run does not cleanup properly all # downloaded NPM package tarballs and they are accidentally added to the # OBS package, so delete any TGZ files present run: rm -vf *.tgz - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} - name: Check status run: osc addremove && osc diff && osc status - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} - - name: Commit ${{ inputs.package_name }} to ${{ vars.OBS_PROJECT }} + - name: Commit ${{ inputs.package_name }} to ${{ steps.obs_project.outputs.OBS_PROJECT }} run: |- osc commit -m "Updated to $(sed -e '/^version:/!d' -e 's/version: *\(.*\)/\1/' agama.obsinfo) ($(sed -e '/^commit:/!d' -e 's/commit: *\(.*\)/\1/' agama.obsinfo))" - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} - name: Submit the package # only when a tag has been pushed - if: ${{ github.ref_type == 'tag' }} + if: github.ref_type == 'tag' run: osc sr --yes -m "Releasing version ${{ github.ref_name }}" - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} diff --git a/.github/workflows/obs-staging-web.yml b/.github/workflows/obs-staging-web.yml index bef124e2fb..6480cfda4a 100644 --- a/.github/workflows/obs-staging-web.yml +++ b/.github/workflows/obs-staging-web.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a web frontend source is changed - web/** diff --git a/.github/workflows/weblate-merge-po.yml b/.github/workflows/weblate-merge-po.yml index 1f5a0f85cb..436c8a303d 100644 --- a/.github/workflows/weblate-merge-po.yml +++ b/.github/workflows/weblate-merge-po.yml @@ -16,7 +16,7 @@ jobs: pull-requests: write # do not run in forks - if: github.repository == 'openSUSE/agama' + if: !github.event.repository.fork runs-on: ubuntu-latest @@ -51,7 +51,7 @@ jobs: uses: actions/checkout@v4 with: path: agama-weblate - repository: openSUSE/agama-weblate + repository: ${{ github.repository_owner }}/agama-weblate - name: Update PO files working-directory: ./agama diff --git a/.github/workflows/weblate-merge-products-po.yml b/.github/workflows/weblate-merge-products-po.yml index cbf706b36c..42e008bc09 100644 --- a/.github/workflows/weblate-merge-products-po.yml +++ b/.github/workflows/weblate-merge-products-po.yml @@ -16,7 +16,7 @@ jobs: pull-requests: write # do not run in forks - if: github.repository == 'openSUSE/agama' + if: !github.event.repository.fork runs-on: ubuntu-latest @@ -51,7 +51,7 @@ jobs: uses: actions/checkout@v4 with: path: agama-weblate - repository: openSUSE/agama-weblate + repository: ${{ github.repository_owner }}/agama-weblate - name: Validate the product PO files working-directory: ./agama-weblate diff --git a/.github/workflows/weblate-merge-service-po.yml b/.github/workflows/weblate-merge-service-po.yml index 9639476090..9d79512909 100644 --- a/.github/workflows/weblate-merge-service-po.yml +++ b/.github/workflows/weblate-merge-service-po.yml @@ -16,7 +16,7 @@ jobs: pull-requests: write # do not run in forks - if: github.repository_owner == 'openSUSE' + if: !github.event.repository.fork runs-on: ubuntu-latest @@ -51,7 +51,7 @@ jobs: uses: actions/checkout@v4 with: path: agama-weblate - repository: openSUSE/agama-weblate + repository: ${{ github.repository_owner }}/agama-weblate - name: Validate the service PO files working-directory: ./agama-weblate diff --git a/.github/workflows/weblate-update-pot.yml b/.github/workflows/weblate-update-pot.yml index 462f64b2fb..2b4c2ad2a1 100644 --- a/.github/workflows/weblate-update-pot.yml +++ b/.github/workflows/weblate-update-pot.yml @@ -11,7 +11,7 @@ on: jobs: update-pot: # do not run in forks - if: github.repository == 'openSUSE/agama' + if: !github.event.repository.fork runs-on: ubuntu-latest @@ -49,7 +49,7 @@ jobs: uses: actions/checkout@v4 with: path: agama-weblate - repository: openSUSE/agama-weblate + repository: ${{ github.repository_owner }}/agama-weblate token: ${{ secrets.GH_TOKEN }} - name: Configure Git diff --git a/autoinstallation/package/_service b/autoinstallation/package/_service index 1a4f3d586c..264b36d000 100644 --- a/autoinstallation/package/_service +++ b/autoinstallation/package/_service @@ -1,9 +1,13 @@ - https://github.com/openSUSE/agama.git + + https://github.com/agama-project/agama.git @PARENT_TAG@+@TAG_OFFSET@ v(.*) git + master autoinstallation enable diff --git a/doc/auto_storage.md b/doc/auto_storage.md index e3cd635f8e..fd61f3c1b0 100644 --- a/doc/auto_storage.md +++ b/doc/auto_storage.md @@ -332,7 +332,7 @@ Btrfs snapshots [] quotas [] -Size <'default'|string|SizeRange> +Size SizeRange min @@ -400,9 +400,18 @@ The second option is to provide a minimum size and an optional maximum one. The be between those thresholds. If the maximum is omitted or set to `null`, the device will grow as much as possible, taking into account the available spaces and all the other specified sizes. -The third option is to use the string "default". That means Agama will decide the size based on the -mount point and the settings of the product. From a more technical point of view, that translates -into the following: +It is also possible to specify "current" as a minimum or maximum size limit for partitions and +logical volumes that already exist in the system (so "current" can only be used for device +specifications that contain a `search` section). The usage of "current" and how it affects +resizing the corresponding devices is explained at a separate section below. + +If the size is completely omitted for a device that already exists (ie. combined with `search`), +then Agama would act as if both min and max limits would have been set to "current" (which implies +the partition or logical volume will not be resized). + +On the other hand, if the size is omitted for a device that will be created, Agama will decide the +size based on the mount point and the settings of the product. From a more technical point of view, +that translates into the following: - If the mount path corresponds to a volume supporting `auto_size`, that feature will be used. - If it corresponds to a volume without `auto_size`, the min and max sizes of the volumes will be @@ -411,15 +420,12 @@ into the following: - If the product does not specify a default volume, the behavior is still not defined (there are several reasonable options). -It is also possible to specify "current" as a size value for partitions and logical volumes that -already exist in the system. The usage of "current" and how it affects resizing the corresponding -devices is explained at a separate section below. #### Under Discussion -As explained, it should be possible to specify the sizes as "default", as a range or as a fixed -value. But in the last two cases, a parseable string like "40 GiB" may not be the only option to -represent a size. The following two possibilities are also under consideration. +As explained, it should be possible to specify the sizes as a fixed value or as a range. But a +a parseable string like "40 GiB" may not be the only option to represent a size or a range limit. +The following two possibilities are also under consideration. - `{ "gib": 40 }` - `{ "value": 40, "units": "gib" }` @@ -767,7 +773,7 @@ In any case, note that resizing a partition can be limited depending on its cont type, etc. Combining `search` and `resize` is enough to indicate Agama is expected to resize a given partition -if possible. The keyword "current" can be used eveywhere a size is expected and it is always +if possible. The keyword "current" can be used as min and/or max for the size range and it is always equivalent to the exact original size of the device. The simplest way to use "current" is to just specify that the matched device should keep its original size. That's the default for searched (and found) devices if `size` is completely omitted. @@ -781,7 +787,7 @@ found) devices if `size` is completely omitted. "search": { "condition": { "property": "fsLabel", "value": "reuse" } }, - "size": "current" + "size": { "min": "current", "max": "current" } } ] } @@ -789,8 +795,8 @@ found) devices if `size` is completely omitted. } ``` -Using "current" for the min and max values of a size allows to specify how a device could be resized -if possible. See the following examples with explanatory filesystem labels. +Other combinations can be used to specify how a device could be resized if possible. See the +following examples with explanatory filesystem labels. ```json "storage": { diff --git a/doc/i18n.md b/doc/i18n.md index 35de9425bc..afd5483b0e 100644 --- a/doc/i18n.md +++ b/doc/i18n.md @@ -84,13 +84,13 @@ The basic translation workflow looks like this: 1. The translatable texts are marked for translation in the source code, usually with the `_()` function or something similar 2. The translatable string are collected into a POT file which is uploaded to - the staging [agama-weblate](https://github.com/openSUSE/agama-weblate) GitHub + the staging [agama-weblate](https://github.com/agama-project/agama-weblate) GitHub repository 3. The POT file is loaded by the Weblate into the [agama](https://l10n.opensuse.org/projects/agama/) project 4. Translators then can translate the English texts into other languages 5. Weblate pushes back the translations in the PO files back to the - [agama-weblate](https://github.com/openSUSE/agama-weblate) repository + [agama-weblate](https://github.com/agama-project/agama-weblate) repository 6. The translations in the PO files are regularly copied to the main repository using pull requests 7. The PO files are processed during build so the translations can be used @@ -98,7 +98,7 @@ The basic translation workflow looks like this: ## Staging Translation Repository -The special [agama-weblate](https://github.com/openSUSE/agama-weblate) +The special [agama-weblate](https://github.com/agama-project/agama-weblate) repository works like a buffer between the Agama sources and the Weblate tool. We do not want to spam the Weblate tool with every trivial change in the texts @@ -114,7 +114,7 @@ of seconds. ## Synchronization The content between the main [agama](https://github.com/openSUSE/agama) and -the translation [agama-weblate](https://github.com/openSUSE/agama-weblate) +the translation [agama-weblate](https://github.com/agama-project/agama-weblate) GitHub repositories is synchronized automatically using the GitHub Actions. ### Uploading Translatable Texts @@ -160,7 +160,7 @@ separate translation component for each Agama part (the web frontend, the D-Bus backend and the command line interface). For reading the translations it uses the [agama-weblate]( -https://github.com/openSUSE/agama-weblate) GitHub repository, but for the source +https://github.com/agama-project/agama-weblate) GitHub repository, but for the source code locations it uses the original [agama](https://github.com/openSUSE/agama) repository. That means after clicking the source location link in the Weblate you will see the correct source location in the other repository. @@ -526,14 +526,14 @@ UI. [language package](#backend-translations) is installed. 3. The text should be [extracted into the POT file](#building-pot-file) 4. The [agama.pot]( - https://github.com/openSUSE/agama-weblate/blob/master/web/agama.pot) in the + https://github.com/agama-project/agama-weblate/blob/master/web/agama.pot) in the `agama-weblate` repository is up to date, if not then run the [Weblate Update POT](https://github.com/openSUSE/agama/actions/workflows/weblate-update-pot.yml) Github Action manually. 5. The text is translated in the [Weblate repository]( https://l10n.opensuse.org/projects/agama/). 6. The translation is included in the respective PO file in the [agama-weblate]( - https://github.com/openSUSE/agama-weblate) repository. + https://github.com/agama-project/agama-weblate) repository. 7. The PO file in the [agama]( https://github.com/openSUSE/agama/tree/master/web/po) repository is up to date, if not the check whether there is an [open pull request]( diff --git a/doc/obs_integration.md b/doc/obs_integration.md deleted file mode 100644 index 9b6c347b24..0000000000 --- a/doc/obs_integration.md +++ /dev/null @@ -1,193 +0,0 @@ -# The Open Build Service (OBS) Integration - -- [The Open Build Service (OBS) Integration](#the-open-build-service-obs-integration) - - [Development Project](#development-project) - - [Releasing a New Version](#releasing-a-new-version) - - [OBS Synchronization](#obs-synchronization) - - [Details](#details) - - [Synchronizing GitHub Fork with OBS Branch](#synchronizing-github-fork-with-obs-branch) - - [OBS Branch](#obs-branch) - - [GitHub Fork](#github-fork) - - [Configuring the GitHub Actions](#configuring-the-github-actions) - - [Triggering the Rebuild](#triggering-the-rebuild) - - [Package Versioning](#package-versioning) - ---- - -The Agama installer packages are built in the openSUSE [Open Build Service]( -https://build.opensuse.org/). - -## Development Project - -The [systemsmanagement:Agama:Devel](https://build.opensuse.org/project/show/systemsmanagement:Agama:Devel) -contains the latest packages built from the `master` Git branch. This project -contains unstable development version of Agama. It is intended for development -and testing. - -The packages are automatically updated whenever the `master` branch is changed -or when a new version is released. See more details below. - -## Releasing a New Version - -For releasing a new version just create a new version tag. The process is then -fully automated. See more details in the [Packaging documentation]( -../PACKAGING.md#bumping-the-version). - -## OBS Synchronization - -The automatic OBS synchronization is implemented using the [GitHub Actions]( -https://github.com/features/actions). The actions are defined in the -`obs-staging-*.yml` files in the [.github/workflows](../.github/workflows) -directory. - -Because the process of updating a package is the same for several packages -the definition is shared in the [obs-staging-shared.yml]( -../.github/workflows/obs-staging-shared.yml) file. - -The packages in the devel project are updated only when a respective source -file is changed. That saves some resources for rebuilding and makes -synchronization faster. But that also means the packages might not have exactly -the same version. - -The project to which the packages are submitted is configured in the -`OBS_PROJECT` GitHub Actions variable. - -### Details - -The packages in OBS are updated by running the OBS service which downloads the -sources from GitHub and dependencies from other repositories (Rust or NPM -packages). - -The process of updating a package is basically: - -- `osc co systemsmanagement:Agama:Devel ` - checkout the package - from OBS -- `osc service manualrun` - update the sources and dependencies by running - the OBS services locally -- `osc commit` - upload the changes to the OBS server, it will rebuild the - updated package automatically - -To run the services locally you need to install the OSC tool and several -packages with the used OBS services: - -```shell -zypper install osc obs-service-cargo_audit obs-service-cargo_vendor \ - obs-service-download_files obs-service-format_spec_file obs-service-obs_scm \ - obs-service-node_modules -``` - -The `rubygem-agama` package uses a different approach because the Ruby packages -use `*.gem` files which are not supported by OBS services. It uses the -[osc:commit](https://github.com/openSUSE/packaging_rake_tasks#osccommit) Rake -task, same as the YaST packages. - -## Synchronizing GitHub Fork with OBS Branch - -It is possible to synchronize your GitHub fork with your OBS brach -automatically. This allows easily build your own updated packages or even the -Live ISO. - -### OBS Branch - -First you need to create an OBS project where the packages will be built. - -The easiest way is to branch the Agama package which you want to modify from the -[systemsmanagement:Agama:Devel]( -https://build.opensuse.org/project/show/systemsmanagement:Agama:Devel) -repository. This will inherit the repository setup for building the packages, -images and containers. - -``` shell -osc branch systemsmanagement:Agama:Devel agama-web-ui -``` - -This will create `home:$OBS_USER:branches:systemsmanagement:Agama:Devel` -project where `$OBS_USER` is your OBS account name. This `$OBS_USER` placeholder -is also used in the following text. - -By default the project will build packages and ISO images for all architectures. -But if you want to test the packages on a single architecture then it is a good -idea to remove the other architectures and save some OBS build power. - -To remove all architectures except the x86_64 run this command: - -``` shell -osc meta prj home:$OBS_USER:branches:systemsmanagement:Agama:Devel | \ -sed "/aarch64<\/arch>/d;/i586<\/arch>/d;/ppc64le<\/arch>/d;/s390x<\/arch>/d;" | \ -osc meta prj -F - home:$OBS_USER:branches:systemsmanagement:Agama:Devel -``` - -The branched package is still linked to the original package. This might cause -conflicts after the original package is updated. To avoid this problem you -should detach the branched package from the original repository: - -``` shell -osc detachbranch home:$OBS_USER:branches:systemsmanagement:Agama:Devel agama-web-ui -``` - -If you want to also build the Live ISO from your modified packaged then you need -to branch (and detach) also the `agama-installer` package: - -``` shell -osc branch systemsmanagement:Agama:Devel agama-installer -osc detachbranch home:$OBS_USER:branches:systemsmanagement:Agama:Devel agama-installer -``` - -*Please delete your branched OBS project once you do not need it anymore, it -will save quite some OBS build power.* - -### GitHub Fork - -Then you can fork the [Agama](https://github.com/openSUSE/agama) repository at -GitHub. - -When creating a fork GitHub by default copies only the `master` branch. It does -not copy the other branches nor tags. The code supports this option, just be -prepared that the package versions might be different than in the original Agama -OBS repository because the tags are used to get the version number. If tags are -missing the version will be set to the commit Unix time stamp followed by a -short commit hash. - -If you want to have similar versions as the original packages then create a full -fork including all branches and tags (unselect the "Copy the master branch only" -option). - -### Configuring the GitHub Actions - -The GitHub Actions needs some configuration to allow the automatic submission. - -1. Go to the Settings -> Secrets and variables -> Actions -> New Repository - Secret option in your Agama GitHub fork. Create two secrets with names - `OBS_USER` and `OBS_PASSWORD` and set them to your OBS credentials. - - Tip: If you do not want to put your credentials for your main OBS account - to GitHub then you might create a new separate testing OBS account. - -2. Switch to "Variables" tabs and click "New Repository Variable". - Create `OBS_PROJECT` variable with name of your OBS branch project - ("home:$OBS_USER:branches:systemsmanagement:Agama:Devel"). If the variable - is not created or is empty the autosubmission is disabled. - -3. Enable the GitHub Actions in the "Actions" tab. - -### Triggering the Rebuild - -*The autosubmission only works in the `master` branch in your fork, not in any -other branch!* - -To trigger an update and rebuild of your package with the new sources just push -a commit to the `master` branch. - -Alternatively you can trigger the package submission manually. Go to the -"Action" tab in GitHub, select the respective "Submit" action in the left side -bar and in the main area click the "Run workflow" selector. Then in the popup -keep the default `master` branch and click the "Run workflow" button. - -## Package Versioning - -The packages in the Devel project use a version built from the last released -version with a number of commits in the `master` branch since that release. - -The version is automatically constructed by the OBS service, for the -`rubygem-agama` package the version is built using the `git describe --tags` -command. diff --git a/products.d/README.md b/products.d/README.md index fd6f8149d0..fe472a9091 100644 --- a/products.d/README.md +++ b/products.d/README.md @@ -7,11 +7,11 @@ This directory contains product definitions for the Agama installer. For updating the translations use the [Agama Weblate project](https://l10n.opensuse.org/projects/agama/agama-products/). The changes in the Weblate are automatically saved to the -[agama-weblate](https://github.com/openSUSE/agama-weblate/products) repository +[agama-weblate](https://github.com/agama-project/agama-weblate/products) repository and later a pull request with the changes is automatically created for merging the changes here. Alternatively you can open a pull request against the -[agama-weblate](https://github.com/openSUSE/agama-weblate/products) GitHub +[agama-weblate](https://github.com/agama-project/agama-weblate/products) GitHub repository. But that requires manual approving and merging, prefer using the Weblate tool, it merges automatically. diff --git a/products.d/_service b/products.d/_service index cd3b780e4f..881ad3ee34 100644 --- a/products.d/_service +++ b/products.d/_service @@ -1,9 +1,13 @@ - https://github.com/openSUSE/agama.git + + https://github.com/agama-project/agama.git @PARENT_TAG@+@TAG_OFFSET@ v(.*) git + master products.d enable diff --git a/products.d/agama-products.changes b/products.d/agama-products.changes index 1dc9963f3e..6e9ddf2f66 100644 --- a/products.d/agama-products.changes +++ b/products.d/agama-products.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Sep 24 09:30:26 UTC 2024 - Imobach Gonzalez Sosa + +- Update products translations (gh#openSUSE/agama#1607). + ------------------------------------------------------------------- Thu Sep 5 16:25:00 UTC 2024 - Lubos Kocman diff --git a/puppeteer/package/_service b/puppeteer/package/_service index 440c0e63d5..f11ca977ba 100644 --- a/puppeteer/package/_service +++ b/puppeteer/package/_service @@ -2,8 +2,12 @@ @PARENT_TAG@+@TAG_OFFSET@ v(.*) - https://github.com/openSUSE/agama.git + + https://github.com/agama-project/agama.git git + master puppeteer enable diff --git a/rust/agama-lib/share/examples/storage_sizes.json b/rust/agama-lib/share/examples/storage_sizes.json new file mode 100644 index 0000000000..63d52e30fa --- /dev/null +++ b/rust/agama-lib/share/examples/storage_sizes.json @@ -0,0 +1,62 @@ +{ + "storage": { + "drives": [ + { + "partitions": [ + { + "size": 2048 + }, + { + "size": "10 GiB" + }, + { + "size": ["1 GiB"] + }, + { + "size": [1024, "50 GiB"] + }, + { + "size": { + "min": "1 GiB" + } + }, + { + "size": { + "min": 1024, + "max": "50 GiB" + } + }, + { + "search": {}, + "size": ["current"] + }, + { + "search": {}, + "size": [0, "current"] + }, + { + "search": {}, + "size": ["current", "10 GiB"] + }, + { + "size": { + "min": "current" + } + }, + { + "size": { + "min": 0, + "max": "current" + } + }, + { + "size": { + "min": "current", + "max": "10 GiB" + } + } + ] + } + ] + } +} diff --git a/rust/agama-lib/share/profile.schema.json b/rust/agama-lib/share/profile.schema.json index ef4dd56d4c..ffc5970f6f 100644 --- a/rust/agama-lib/share/profile.schema.json +++ b/rust/agama-lib/share/profile.schema.json @@ -152,7 +152,7 @@ "wpa-psk", "sae", "wpa-eap", - "wpa-eap-suite-b192" + "wpa-eap-suite-b-192" ] }, "ssid": { @@ -920,14 +920,19 @@ { "$ref": "#/$defs/sizeInteger" } ] }, + "sizeValueWithCurrent": { + "anyOf": [ + { "$ref": "#/$defs/sizeValue" }, + { + "title": "Current size", + "description": "The current size of the device.", + "const": "current" + } + ] + }, "size": { "title": "Size options", "anyOf": [ - { - "title": "Automatic size", - "description": "The size is auto calculated according to the product.", - "const": "auto" - }, { "$ref": "#/$defs/sizeValue" }, @@ -936,11 +941,11 @@ "description": "Lower size limit and optionally upper size limit.", "type": "array", "items": { - "$ref": "#/$defs/sizeValue" + "$ref": "#/$defs/sizeValueWithCurrent" }, "minItems": 1, "maxItems": 2, - "examples": [[1024, 2048], ["1 GiB", "5 GiB"], [1024, "2 GiB"], ["2 GiB"]] + "examples": [[1024, "current"], ["1 GiB", "5 GiB"], [1024, "2 GiB"], ["2 GiB"]] }, { "title": "Size range", @@ -950,11 +955,11 @@ "properties": { "min": { "title": "Mandatory lower size limit", - "$ref": "#/$defs/sizeValue" + "$ref": "#/$defs/sizeValueWithCurrent" }, "max": { "title": "Optional upper size limit", - "$ref": "#/$defs/sizeValue" + "$ref": "#/$defs/sizeValueWithCurrent" } } } diff --git a/rust/agama-lib/src/network/proxies.rs b/rust/agama-lib/src/network/proxies.rs index f02cf5e111..a12007ae9b 100644 --- a/rust/agama-lib/src/network/proxies.rs +++ b/rust/agama-lib/src/network/proxies.rs @@ -108,7 +108,7 @@ trait Wireless { /// Wireless Security property /// /// Possible values are 'none', 'owe', 'ieee8021x', 'wpa-psk', 'sae', - /// 'wpa-eap', 'wpa-eap-suite-b192' + /// 'wpa-eap', 'wpa-eap-suite-b-192' #[dbus_proxy(property)] fn security(&self) -> zbus::Result; #[dbus_proxy(property)] diff --git a/rust/agama-lib/src/network/settings.rs b/rust/agama-lib/src/network/settings.rs index 4167ecf68d..b70128cf31 100644 --- a/rust/agama-lib/src/network/settings.rs +++ b/rust/agama-lib/src/network/settings.rs @@ -81,13 +81,13 @@ pub struct WirelessSettings { #[serde(skip_serializing_if = "std::ops::Not::not", default)] pub hidden: bool, /// A list of group/broadcast encryption algorithms - #[serde(skip_serializing_if = "Vec::is_empty")] + #[serde(skip_serializing_if = "Vec::is_empty", default)] pub group_algorithms: Vec, /// A list of pairwise encryption algorithms - #[serde(skip_serializing_if = "Vec::is_empty")] + #[serde(skip_serializing_if = "Vec::is_empty", default)] pub pairwise_algorithms: Vec, /// A list of allowed WPA protocol versions - #[serde(skip_serializing_if = "Vec::is_empty")] + #[serde(skip_serializing_if = "Vec::is_empty", default)] pub wpa_protocol_versions: Vec, /// Indicates whether Protected Management Frames must be enabled for the connection #[serde(skip_serializing_if = "is_zero", default)] @@ -118,7 +118,7 @@ impl Default for BondSettings { #[serde(rename_all = "camelCase")] pub struct IEEE8021XSettings { /// List of EAP methods used - #[serde(skip_serializing_if = "Vec::is_empty", default)] + #[serde(skip_serializing_if = "Vec::is_empty")] pub eap: Vec, /// Phase 2 inner auth method #[serde(skip_serializing_if = "Option::is_none")] @@ -154,7 +154,7 @@ pub struct IEEE8021XSettings { #[serde(skip_serializing_if = "Option::is_none")] pub peap_version: Option, /// Force the use of the new PEAP label during key derivation - #[serde(skip_serializing_if = "std::ops::Not::not")] + #[serde(skip_serializing_if = "std::ops::Not::not", default)] pub peap_label: bool, } diff --git a/rust/agama-server/src/l10n/keyboard.rs b/rust/agama-server/src/l10n/keyboard.rs index a10c202ffc..775ea052a3 100644 --- a/rust/agama-server/src/l10n/keyboard.rs +++ b/rust/agama-server/src/l10n/keyboard.rs @@ -20,16 +20,13 @@ use agama_locale_data::{get_localectl_keymaps, keyboard::XkbConfigRegistry, KeymapId}; use gettextrs::*; -use serde::Serialize; -use serde_with::{serde_as, DisplayFromStr}; +use serde::ser::{Serialize, SerializeStruct}; use std::collections::HashMap; -#[serde_as] // Minimal representation of a keymap -#[derive(Clone, Debug, Serialize, utoipa::ToSchema)] +#[derive(Clone, Debug, utoipa::ToSchema)] pub struct Keymap { /// Keymap identifier (e.g., "us") - #[serde_as(as = "DisplayFromStr")] pub id: KeymapId, /// Keymap description description: String, @@ -48,6 +45,18 @@ impl Keymap { } } +impl Serialize for Keymap { + fn serialize(&self, serializer: S) -> Result + where + S: serde::Serializer, + { + let mut state = serializer.serialize_struct("Keymap", 2)?; + state.serialize_field("id", &self.id.to_string())?; + state.serialize_field("description", &self.localized_description())?; + state.end() + } +} + /// Represents the keymaps database. /// /// The list of supported keymaps is read from `systemd-localed` and the diff --git a/rust/agama-server/src/network/model.rs b/rust/agama-server/src/network/model.rs index 7fc3b8eb92..14518cb45c 100644 --- a/rust/agama-server/src/network/model.rs +++ b/rust/agama-server/src/network/model.rs @@ -1169,7 +1169,7 @@ pub enum SecurityProtocol { WPA2, // WPA2 + WPA3 personal ("wpa-psk") WPA3Personal, // WPA3 personal only ("sae") WPA2Enterprise, // WPA2 + WPA3 Enterprise ("wpa-eap") - WPA3Only, // WPA3 only ("wpa-eap-suite-b192") + WPA3Only, // WPA3 only ("wpa-eap-suite-b-192") } impl fmt::Display for SecurityProtocol { @@ -1181,7 +1181,7 @@ impl fmt::Display for SecurityProtocol { SecurityProtocol::WPA2 => "wpa-psk", SecurityProtocol::WPA3Personal => "sae", SecurityProtocol::WPA2Enterprise => "wpa-eap", - SecurityProtocol::WPA3Only => "wpa-eap-suite-b192", + SecurityProtocol::WPA3Only => "wpa-eap-suite-b-192", }; write!(f, "{}", value) } @@ -1198,7 +1198,7 @@ impl TryFrom<&str> for SecurityProtocol { "wpa-psk" => Ok(SecurityProtocol::WPA2), "sae" => Ok(SecurityProtocol::WPA3Personal), "wpa-eap" => Ok(SecurityProtocol::WPA2Enterprise), - "wpa-eap-suite-b192" => Ok(SecurityProtocol::WPA3Only), + "wpa-eap-suite-b-192" => Ok(SecurityProtocol::WPA3Only), _ => Err(NetworkStateError::InvalidSecurityProtocol( value.to_string(), )), diff --git a/rust/agama-server/src/network/nm/model.rs b/rust/agama-server/src/network/nm/model.rs index 8869f49a4d..9a71dc2c56 100644 --- a/rust/agama-server/src/network/nm/model.rs +++ b/rust/agama-server/src/network/nm/model.rs @@ -140,7 +140,7 @@ impl TryFrom for SecurityProtocol { "wpa-psk" => Ok(SecurityProtocol::WPA2), "wpa-eap" => Ok(SecurityProtocol::WPA3Personal), "sae" => Ok(SecurityProtocol::WPA2Enterprise), - "wpa-eap-suite-b192" => Ok(SecurityProtocol::WPA2Enterprise), + "wpa-eap-suite-b-192" => Ok(SecurityProtocol::WPA2Enterprise), "none" => Ok(SecurityProtocol::WEP), _ => Err(NmError::UnsupportedSecurityProtocol(value.to_string())), } diff --git a/rust/package/_service b/rust/package/_service index 597f32264c..0c4798cd4c 100644 --- a/rust/package/_service +++ b/rust/package/_service @@ -1,9 +1,13 @@ - https://github.com/openSUSE/agama.git + + https://github.com/agama-project/agama.git @PARENT_TAG@+@TAG_OFFSET@ v(.*) git + master rust enable diff --git a/rust/package/agama.changes b/rust/package/agama.changes index 3f4c7d14a0..d6329f47b7 100644 --- a/rust/package/agama.changes +++ b/rust/package/agama.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Fri Sep 27 13:09:10 UTC 2024 - Jorik Cronenberg + +- Fix optional network settings (gh#agama-project/agama#1641). + +------------------------------------------------------------------- +Fri Sep 27 10:44:22 UTC 2024 - Imobach Gonzalez Sosa + +- Expose keymaps localized descriptions (gh#agama-project/agama#1643). + +------------------------------------------------------------------- +Wed Sep 25 14:33:50 UTC 2024 - Clemens Famulla-Conrad + +- Rename wireless key-mgmt value wpa-eap-suite-b192 to + wpa-eap-suite-b-192 (gh#agama-project/agama#1640) + ------------------------------------------------------------------- Fri Sep 20 11:42:06 UTC 2024 - Imobach Gonzalez Sosa diff --git a/service/lib/agama/manager.rb b/service/lib/agama/manager.rb index 4a48e64a16..51067c0e1f 100644 --- a/service/lib/agama/manager.rb +++ b/service/lib/agama/manager.rb @@ -84,6 +84,7 @@ def startup_phase def locale=(locale) service_status.busy change_process_locale(locale) + users.update_issues start_progress_with_descriptions( _("Load software translations"), _("Load storage translations") @@ -183,7 +184,7 @@ def language # Users client # - # @return [DBus::Clients::Users] + # @return [Agama::Users] def users @users ||= Users.new(logger) end diff --git a/service/lib/agama/storage/config.rb b/service/lib/agama/storage/config.rb index 7384c447c8..05e532675a 100644 --- a/service/lib/agama/storage/config.rb +++ b/service/lib/agama/storage/config.rb @@ -19,7 +19,8 @@ # To contact SUSE LLC about this file by physical or electronic mail, you may # find current contact information at www.suse.com. -require "agama/storage/configs" +require "agama/storage/configs/boot" +require "agama/storage/config_conversions/from_json" module Agama module Storage @@ -92,24 +93,6 @@ def implicit_boot_device root_drive&.found_device&.name end - # Sets min and max sizes for all partitions and logical volumes with default size - # - # @param volume_builder [VolumeTemplatesBuilder] used to check the configuration of the - # product volume templates - def calculate_default_sizes(volume_builder) - default_size_devices.each do |dev| - dev.size.min = default_size(dev, :min, volume_builder) - dev.size.max = default_size(dev, :max, volume_builder) - end - end - - private - - # return [Array] - def filesystems - (drives + partitions + logical_volumes).map(&:filesystem).compact - end - # return [Array] def partitions drives.flat_map(&:partitions) @@ -119,83 +102,6 @@ def partitions def logical_volumes volume_groups.flat_map(&:logical_volumes) end - - # return [Array] - def default_size_devices - (partitions + logical_volumes).select { |p| p.size&.default? } - end - - # Min or max size that should be used for the given partition or logical volume - # - # @param device [Configs::Partition] device configured to have a default size - # @param attr [Symbol] :min or :max - # @param builder [VolumeTemplatesBuilder] see {#calculate_default_sizes} - def default_size(device, attr, builder) - path = device.filesystem&.path || "" - vol = builder.for(path) - return fallback_size(attr) unless vol - - # Theoretically, neither Volume#min_size or Volume#max_size can be nil - # At most they will be zero or unlimited, respectively - return vol.send(:"#{attr}_size") unless vol.auto_size? - - outline = vol.outline - size = size_with_fallbacks(outline, attr, builder) - size = size_with_ram(size, outline) - size_with_snapshots(size, device, outline) - end - - # TODO: these are the fallbacks used when constructing volumes, not sure if repeating them - # here is right - def fallback_size(attr) - return Y2Storage::DiskSize.zero if attr == :min - - Y2Storage::DiskSize.unlimited - end - - # @see #default_size - def size_with_fallbacks(outline, attr, builder) - fallback_paths = outline.send(:"#{attr}_size_fallback_for") - missing_paths = fallback_paths.reject { |p| proposed_path?(p) } - - size = outline.send(:"base_#{attr}_size") - missing_paths.inject(size) { |total, p| total + builder.for(p).send(:"#{attr}_size") } - end - - # @see #default_size - def size_with_ram(initial_size, outline) - return initial_size unless outline.adjust_by_ram? - - [initial_size, ram_size].max - end - - # @see #default_size - def size_with_snapshots(initial_size, device, outline) - return initial_size unless device.filesystem.btrfs_snapshots? - return initial_size unless outline.snapshots_affect_sizes? - - if outline.snapshots_size && outline.snapshots_size > DiskSize.zero - initial_size + outline.snapshots_size - else - multiplicator = 1.0 + (outline.snapshots_percentage / 100.0) - initial_size * multiplicator - end - end - - # Whether there is a separate filesystem configured for the given path - # - # @param path [String, Pathname] - # @return [Boolean] - def proposed_path?(path) - filesystems.any? { |fs| fs.path?(path) } - end - - # Return the total amount of RAM as DiskSize - # - # @return [DiskSize] current RAM size - def ram_size - @ram_size ||= Y2Storage::DiskSize.new(Y2Storage::StorageManager.instance.arch.ram_size) - end end end end diff --git a/service/lib/agama/storage/config_builder.rb b/service/lib/agama/storage/config_builder.rb index 7a5738858b..edf9a22b9d 100644 --- a/service/lib/agama/storage/config_builder.rb +++ b/service/lib/agama/storage/config_builder.rb @@ -22,6 +22,9 @@ require "agama/storage/configs" require "agama/storage/proposal_settings_reader" require "agama/storage/volume_templates_builder" +require "pathname" +require "y2storage/disk_size" +require "y2storage/storage_manager" module Agama module Storage @@ -55,6 +58,37 @@ def default_filesystem(path = nil) end end + # Default size config from the product definition. + # + # The size defined by the product depends on the mount path of the device. That size can be + # increased because some reasons: + # * Fallback sizes: the size of other path is added to the volume. For example, if /home is + # not present, then the root volume increases its min and max limits by adding the min and + # max limits from the missing /home. The having_paths parameter is used to indicate what + # paths are present. The product defines the fallback paths. + # * Snapshots size: a device can be configured to use snapshots. The default size limits + # could be increased if snapshots are used. The with_snapshots parameter indicates whether + # to add the snapshots size. The product defines the snapshots size. + # * RAM size: the product defines whether the volume for a specific path should be as big as + # the RAM size. + # + # @param path [String, nil] Mount path of the device. + # @param having_paths [Array] Paths where other devices are mounted. + # @param with_snapshots [Boolean] Whether to add the Btrfs snapshots size. + # @return [Configs::Size] + def default_size(path = nil, having_paths: [], with_snapshots: true) + volume = volume_builder.for(path || "") + + return unlimited_size unless volume + + return auto_size(volume.outline, having_paths, with_snapshots) if volume.auto_size? + + Configs::Size.new.tap do |config| + config.min = volume.min_size + config.max = volume.max_size + end + end + private # @return [Agama::Config] @@ -73,6 +107,88 @@ def default_fstype(path = nil) end end + # @return [Configs::Size] + def unlimited_size + Configs::Size.new.tap do |config| + config.min = Y2Storage::DiskSize.zero + config.max = Y2Storage::DiskSize.unlimited + end + end + + # @see #default_size + # + # @param outline [VolumeOutline] + # @param paths [Array] + # @param snapshots [Boolean] + # + # @return [Configs::Size] + def auto_size(outline, paths, snapshots) + min_fallbacks = remove_paths(outline.min_size_fallback_for, paths) + min_size_fallbacks = min_fallbacks.map { |p| volume_builder.for(p).min_size } + min = min_size_fallbacks.reduce(outline.base_min_size, &:+) + + max_fallbacks = remove_paths(outline.max_size_fallback_for, paths) + max_size_fallbacks = max_fallbacks.map { |p| volume_builder.for(p).max_size } + max = max_size_fallbacks.reduce(outline.base_max_size, &:+) + + if outline.adjust_by_ram? + min = size_with_ram(min) + max = size_with_ram(max) + end + + if snapshots + min = size_with_snapshots(min, outline) + max = size_with_snapshots(max, outline) + end + + Configs::Size.new.tap do |config| + config.min = min + config.max = max + end + end + + # @see #default_size + # + # @param size [Y2Storage::DiskSize] + # @return [Y2Storage::DiskSize] + def size_with_ram(size) + [size, ram_size].max + end + + # @see #default_size + # + # @param size [Y2Storage::DiskSize] + # @param outline [VolumeOutline] + # + # @return [Y2Storage::DiskSize] + def size_with_snapshots(size, outline) + return size unless outline.snapshots_affect_sizes? + + if outline.snapshots_size && outline.snapshots_size > Y2Storage::DiskSize.zero + size + outline.snapshots_size + else + multiplicator = 1.0 + (outline.snapshots_percentage / 100.0) + size * multiplicator + end + end + + # @param paths [Array] + # @param paths_to_remove [Array] + # + # @return [Array] + def remove_paths(paths, paths_to_remove) + paths.reject do |path| + paths_to_remove.any? { |p| Pathname.new(p).cleanpath == Pathname.new(path).cleanpath } + end + end + + # Total amount of RAM. + # + # @return [DiskSize] + def ram_size + @ram_size ||= Y2Storage::DiskSize.new(Y2Storage::StorageManager.instance.arch.ram_size) + end + # @return [ProposalSettings] def settings @settings ||= ProposalSettingsReader.new(product_config).read diff --git a/service/lib/agama/storage/config_checker.rb b/service/lib/agama/storage/config_checker.rb index e05d920f05..281fb44479 100644 --- a/service/lib/agama/storage/config_checker.rb +++ b/service/lib/agama/storage/config_checker.rb @@ -53,10 +53,19 @@ def issues # @param config [Configs::Drive] # @return [Array] def drive_issues(config) - issues = encryption_issues(config) - partitions_issues = config.partitions.flat_map { |p| partition_issues(p) } + [ + search_issue(config), + encryption_issues(config), + partitions_issues(config) + ].flatten.compact + end - issues + partitions_issues + # Issues from partitions. + # + # @param config [Configs::Drive] + # @return [Array] + def partitions_issues(config) + config.partitions.flat_map { |p| partition_issues(p) } end # Issues from a partition config. @@ -64,7 +73,10 @@ def drive_issues(config) # @param config [Configs::Partition] # @return [Array] def partition_issues(config) - encryption_issues(config) + [ + search_issue(config), + encryption_issues(config) + ].flatten.compact end # Issues from a volume group config. @@ -91,6 +103,26 @@ def logical_volume_issues(lv_config, vg_config) ].compact.flatten end + # Issue for not found device. + # + # @param config [Configs::Drive, Configs::Partition] + # @return [Agama::Issue] + def search_issue(config) + return if !config.search || config.found_device + + if config.is_a?(Agama::Storage::Configs::Drive) + if config.search.skip_device? + warning(_("No device found for an optional drive")) + else + error(_("No device found for a mandatory drive")) + end + elsif config.search.skip_device? + warning(_("No device found for an optional partition")) + else + error(_("No device found for a mandatory partition")) + end + end + # @see #logical_volume_issues # # @param lv_config [Configs::LogicalVolume] @@ -200,6 +232,18 @@ def wrong_encryption_method_issue(config) ) end + # Creates a warning issue. + # + # @param message [String] + # @return [Issue] + def warning(message) + Agama::Issue.new( + message, + source: Agama::Issue::Source::CONFIG, + severity: Agama::Issue::Severity::WARN + ) + end + # Creates an error issue. # # @param message [String] diff --git a/service/lib/agama/storage/config_conversions/from_json.rb b/service/lib/agama/storage/config_conversions/from_json.rb index 14ba24df15..6dbc12f933 100644 --- a/service/lib/agama/storage/config_conversions/from_json.rb +++ b/service/lib/agama/storage/config_conversions/from_json.rb @@ -19,36 +19,31 @@ # To contact SUSE LLC about this file by physical or electronic mail, you may # find current contact information at www.suse.com. +require "agama/config" require "agama/storage/config_builder" require "agama/storage/config_conversions/from_json_conversions/config" -require "agama/storage/volume_templates_builder" module Agama module Storage module ConfigConversions # Config conversion from JSON hash according to schema. class FromJSON - # @todo Replace product_config param by a ProductDefinition. - # # @param config_json [Hash] - # @param product_config [Agama::Config] - def initialize(config_json, product_config:) + # @param product_config [Agama::Config, nil] + def initialize(config_json, product_config: nil) + # TODO: Replace product_config param by a ProductDefinition. @config_json = config_json - @product_config = product_config + @product_config = product_config || Agama::Config.new end # Performs the conversion from Hash according to the JSON schema. # - # @todo Raise error if config_json does not match the JSON schema. - # # @return [Storage::Config] def convert - config = FromJSONConversions::Config + # TODO: Raise error if config_json does not match the JSON schema. + FromJSONConversions::Config .new(config_json, config_builder: config_builder) .convert - - config.calculate_default_sizes(volume_builder) - config end private @@ -63,11 +58,6 @@ def convert def config_builder @config_builder ||= ConfigBuilder.new(product_config) end - - # @return [VolumeTemplatesBuilder] - def volume_builder - @volume_builder ||= VolumeTemplatesBuilder.new_from_config(product_config) - end end end end diff --git a/service/lib/agama/storage/config_conversions/from_json_conversions/size.rb b/service/lib/agama/storage/config_conversions/from_json_conversions/size.rb index 19e4a1850f..cb02433aa4 100644 --- a/service/lib/agama/storage/config_conversions/from_json_conversions/size.rb +++ b/service/lib/agama/storage/config_conversions/from_json_conversions/size.rb @@ -55,30 +55,48 @@ def convert(default = nil) def conversions(_default) { default: false, - min: convert_size(:min), - max: convert_size(:max) || Y2Storage::DiskSize.unlimited + min: convert_min_size, + max: convert_max_size } end # @return [Y2Storage::DiskSize, nil] - def convert_size(field) + def convert_min_size value = case size_json when Hash - size_json[field] + size_json[:min] when Array - field == :max ? size_json[1] : size_json[0] + size_json[0] else size_json end - return unless value + disk_size(value) + end - begin - # This parses without legacy_units, ie. "1 GiB" != "1 GB" - Y2Storage::DiskSize.new(value) - rescue TypeError - # JSON schema validations should prevent this from happening + # @return [Y2Storage::DiskSize, nil] + def convert_max_size + value = case size_json + when Hash + size_json[:max] + when Array + size_json[1] + else + size_json end + + return Y2Storage::DiskSize.unlimited unless value + + disk_size(value) + end + + # @param value [String, Integer] e.g., "2 GiB". + # @return [Y2Storage::DiskSize, nil] nil if value is "current". + def disk_size(value) + return if value == "current" + + # This parses without legacy_units, ie. "1 GiB" != "1 GB". + Y2Storage::DiskSize.new(value) end end end diff --git a/service/lib/y2storage/proposal/agama_searcher.rb b/service/lib/agama/storage/config_search_solver.rb similarity index 57% rename from service/lib/y2storage/proposal/agama_searcher.rb rename to service/lib/agama/storage/config_search_solver.rb index 06d968cc9f..72a772b13a 100644 --- a/service/lib/y2storage/proposal/agama_searcher.rb +++ b/service/lib/agama/storage/config_search_solver.rb @@ -19,44 +19,28 @@ # To contact SUSE LLC about this file by physical or electronic mail, you may # find current contact information at www.suse.com. -require "agama/issue" - -module Y2Storage - module Proposal - # Auxiliary class to handle the 'search' elements within a storage configuration - class AgamaSearcher - include Yast::Logger - include Yast::I18n - +module Agama + module Storage + # Solver for the search configs. + class ConfigSearchSolver # @param devicegraph [Devicegraph] used to find the corresponding devices that will get # associated to each search element. def initialize(devicegraph) - textdomain "agama" - @devicegraph = devicegraph end - # Resolve all the 'search' elements within a given configuration - # - # The first argument (the storage configuration) gets modified in several ways: + # Solves all the search configs within a given config. # - # - All its 'search' elements get resolved, associating devices from the devicegraph - # (first argument) if some is found. - # - Some device definitions can get removed if configured to be skipped in absence of a - # corresponding device + # @note The config object is modified. # - # The second argument (the list of issues) gets modified by adding any found problem. - # - # @param config [Agama::Storage::Config] storage configuration containing device definitions - # like drives, volume groups, etc. - # @param issues_list [Array] - def search(config, issues_list) + # @param config [Agama::Storage::Config] + def solve(config) @sids = [] config.drives.each do |drive_config| device = find_drive(drive_config.search) - drive_config.search.resolve(device) + drive_config.search.solve(device) - process_element(drive_config, config.drives, issues_list) + add_found(drive_config) next unless drive_config.found_device && drive_config.partitions? @@ -64,8 +48,8 @@ def search(config, issues_list) next unless partition_config.search partition = find_partition(partition_config.search, drive_config.found_device) - partition_config.search.resolve(partition) - process_element(partition_config, drive_config.partitions, issues_list) + partition_config.search.solve(partition) + add_found(partition_config) end end end @@ -129,48 +113,10 @@ def next_unassigned_device(devices) end # @see #search - def process_element(element, collection, issues_list) - found = element.found_device - if found - @sids << found.sid - else - issues_list << not_found_issue(element) - collection.delete(element) if element.search.skip_device? - end - end - - # Issue generated if a corresponding device is not found for the given element - # - # @param element [Agama::Storage::Configs::Drive, Agama::Storage::Configs::Partition] - # @return [Agama::Issue] - def not_found_issue(element) - Agama::Issue.new( - issue_message(element), - source: Agama::Issue::Source::CONFIG, - severity: issue_severity(element.search) - ) - end - - # @see #not_found_issue - def issue_message(element) - if element.is_a?(Agama::Storage::Configs::Drive) - if element.search.skip_device? - _("No device found for an optional drive") - else - _("No device found for a mandatory drive") - end - elsif element.search.skip_device? - _("No device found for an optional partition") - else - _("No device found for a mandatory partition") - end - end - - # @see #not_found_issue - def issue_severity(search) - return Agama::Issue::Severity::WARN if search.skip_device? - - Agama::Issue::Severity::ERROR + # @param config [#found_device] + def add_found(config) + found = config.found_device + @sids << found.sid if found end end end diff --git a/service/lib/agama/storage/config_size_solver.rb b/service/lib/agama/storage/config_size_solver.rb new file mode 100644 index 0000000000..1098c0d618 --- /dev/null +++ b/service/lib/agama/storage/config_size_solver.rb @@ -0,0 +1,206 @@ +# frozen_string_literal: true + +# Copyright (c) [2024] SUSE LLC +# +# All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of version 2 of the GNU General Public License as published +# by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, contact SUSE LLC. +# +# To contact SUSE LLC about this file by physical or electronic mail, you may +# find current contact information at www.suse.com. + +require "agama/storage/configs/size" +require "agama/storage/config_builder" + +module Agama + module Storage + # Solver for the size configs. + # + # It assigns proper size values according to the product and the system. + class ConfigSizeSolver + # @param devicegraph [Y2Storage::Devicegraph] + # @param product_config [Agama::Config] + def initialize(devicegraph, product_config) + @devicegraph = devicegraph + @product_config = product_config + end + + # Solves all the size configs within a given config. + # + # @note The config object is modified. + # + # @param config [Config] + def solve(config) + @config = config + + solve_default_sizes + solve_current_sizes + end + + private + + # @return [Y2Storage::Devicegraph] + attr_reader :devicegraph + + # @return [Agama::Config] + attr_reader :product_config + + # @return [Config] + attr_reader :config + + def solve_default_sizes + configs_with_default_product_size.each { |c| solve_default_product_size(c) } + configs_with_default_device_size.each { |c| solve_default_device_size(c) } + end + + def solve_current_sizes + configs_with_valid_current_size.each { |c| solve_current_size(c) } + configs_with_invalid_current_size.each { |c| solve_default_product_size(c) } + end + + # @param config [Configs::Partition, Configs::LogicalVolume] + def solve_default_product_size(config) + config.size = size_from_product(config) + end + + # @param config [Configs::Partition, Configs::LogicalVolume] + def solve_default_device_size(config) + config.size = size_from_device(config.found_device) + end + + # @param config [Configs::Partition, Configs::LogicalVolume] + def solve_current_size(config) + min = config.size.min + max = config.size.max + size = size_from_device(config.found_device) + size.min = min if min + size.max = max if max + config.size = size + end + + # @param config [Configs::Partition, Configs::LogicalVolume] + # @return [Configs::Size] + def size_from_product(config) + path = config.filesystem&.path + snapshots = config.filesystem&.btrfs_snapshots? + + paths = configs_with_filesystem + .map(&:filesystem) + .compact + .map(&:path) + .compact + + config_builder.default_size(path, having_paths: paths, with_snapshots: snapshots) + end + + # @param config [Configs::Partition, Configs::LogicalVolume] + # @return [Configs::Size] + def size_from_device(device) + Configs::Size.new.tap do |config| + config.default = false + config.min = device.size + config.max = device.size + end + end + + # @return [Array] + def configs_with_size + configs = config.partitions + config.logical_volumes + configs.select { |c| valid?(c) } + end + + # @return [Array] + def configs_with_filesystem + configs = config.drives + config.partitions + config.logical_volumes + configs.select { |c| valid?(c) } + end + + # @return [Array] + def configs_with_default_product_size + configs_with_size.select { |c| with_default_product_size?(c) } + end + + # @return [Array] + def configs_with_default_device_size + configs_with_size.select { |c| with_default_device_size?(c) } + end + + # @return [Array] + def configs_with_valid_current_size + configs_with_size.select { |c| with_valid_current_size?(c) } + end + + # @return [Array] + def configs_with_invalid_current_size + configs_with_size.select { |c| with_invalid_current_size?(c) } + end + + # @param config [Configs::Partition, Configs::LogicalVolume] + # @return [Boolean] + def with_default_product_size?(config) + config.size.default? && create_device?(config) + end + + # @param config [Configs::Partition, Configs::LogicalVolume] + # @return [Boolean] + def with_default_device_size?(config) + config.size.default? && reuse_device?(config) + end + + # @param config [Configs::Partition, Configs::LogicalVolume] + # @return [Boolean] + def with_valid_current_size?(config) + with_current_size?(config) && reuse_device?(config) + end + + # @param config [Configs::Partition, Configs::LogicalVolume] + # @return [Boolean] + def with_invalid_current_size?(config) + with_current_size?(config) && create_device?(config) + end + + # @param config [Configs::Partition, Configs::LogicalVolume] + # @return [Boolean] + def with_current_size?(config) + !config.size.default? && (config.size.min.nil? || config.size.max.nil?) + end + + # @param config [Object] Any config from {Configs}. + # @return [Boolean] + def valid?(config) + create_device?(config) || reuse_device?(config) + end + + # @param config [Object] Any config from {Configs}. + # @return [Boolean] + def create_device?(config) + return true unless config.respond_to?(:search) + + config.search.nil? || config.search.create_device? + end + + # @param config [Object] Any config from {Configs}. + # @return [Boolean] + def reuse_device?(config) + return false unless config.respond_to?(:found_device) + + !config.found_device.nil? + end + + # @return [ConfigBuilder] + def config_builder + @config_builder ||= ConfigBuilder.new(product_config) + end + end + end +end diff --git a/service/lib/agama/storage/config_solver.rb b/service/lib/agama/storage/config_solver.rb new file mode 100644 index 0000000000..505dc06a81 --- /dev/null +++ b/service/lib/agama/storage/config_solver.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true + +# Copyright (c) [2024] SUSE LLC +# +# All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of version 2 of the GNU General Public License as published +# by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, contact SUSE LLC. +# +# To contact SUSE LLC about this file by physical or electronic mail, you may +# find current contact information at www.suse.com. + +require "agama/storage/config_search_solver" +require "agama/storage/config_size_solver" + +module Agama + module Storage + # Class for solving a storage config. + # + # It assigns proper devices and size values according to the product and the system. + class ConfigSolver + # @param devicegraph [Y2Storage::Devicegraph] + # @param product_config [Agama::Config] + def initialize(devicegraph, product_config) + @devicegraph = devicegraph + @product_config = product_config + end + + # Solves all the search and size configs within a given config. + # + # @note The config object is modified. + # + # @param config [Config] + def solve(config) + ConfigSearchSolver.new(devicegraph).solve(config) + ConfigSizeSolver.new(devicegraph, product_config).solve(config) + end + + private + + # @return [Y2Storage::Devicegraph] + attr_reader :devicegraph + + # @return [Agama::Config] + attr_reader :product_config + end + end +end diff --git a/service/lib/agama/storage/configs/search.rb b/service/lib/agama/storage/configs/search.rb index 0f886c4cd9..ecb39c2b0f 100644 --- a/service/lib/agama/storage/configs/search.rb +++ b/service/lib/agama/storage/configs/search.rb @@ -39,36 +39,44 @@ class Search # Constructor def initialize + @solved = false @if_not_found = :error end - # Whether the search does not define any specific condition. + # Whether the search was already solved. # # @return [Boolean] - def any_device? - name.nil? + def solved? + @solved end - # Whether the search was already resolved. + # Solves the search with the given device. # - # @return [Boolean] - def resolved? - !!@resolved + # @param device [Y2Storage::Device, nil] + def solve(device = nil) + @device = device + @solved = true end - # Resolves the search with the given device. + # Whether the search does not define any specific condition. # - # @param device [Y2Storage::Device, nil] - def resolve(device = nil) - @device = device - @resolved = true + # @return [Boolean] + def any_device? + name.nil? end # Whether the section containing the search should be skipped # # @return [Boolean] def skip_device? - resolved? && device.nil? && if_not_found == :skip + solved? && device.nil? && if_not_found == :skip + end + + # Whether the device is not found and it has to be created. + # + # @return [Boolean] + def create_device? + solved? && device.nil? && if_not_found == :create end end end diff --git a/service/lib/agama/storage/configs/size.rb b/service/lib/agama/storage/configs/size.rb index 5c3d408d84..63353fe46a 100644 --- a/service/lib/agama/storage/configs/size.rb +++ b/service/lib/agama/storage/configs/size.rb @@ -40,7 +40,7 @@ def initialize # @return [Boolean] def default? - !!@default + @default end end end diff --git a/service/lib/agama/storage/manager.rb b/service/lib/agama/storage/manager.rb index 1d4faf9f9c..2cd5546abf 100644 --- a/service/lib/agama/storage/manager.rb +++ b/service/lib/agama/storage/manager.rb @@ -179,6 +179,7 @@ def actions # @param locale [String] new locale def locale=(locale) change_process_locale(locale) + update_issues end private diff --git a/service/lib/agama/storage/proposal.rb b/service/lib/agama/storage/proposal.rb index f8d014e04f..f35a869c35 100644 --- a/service/lib/agama/storage/proposal.rb +++ b/service/lib/agama/storage/proposal.rb @@ -45,11 +45,6 @@ def initialize(config, logger: nil) @on_calculate_callbacks = [] end - # List of issues. - # - # @return [Array] - attr_reader :issues - # Whether the proposal was already calculated. # # @return [Boolean] @@ -192,6 +187,25 @@ def guided_settings strategy_object.settings end + # List of issues. + # + # @return [Array] + def issues + items = [] + + case @calculate_error + when Y2Storage::NoDiskSpaceError + items << failed_issue + when Y2Storage::Error + items << exception_issue(@calculate_error) + else + items << failed_issue if proposal&.failed? + end + + items.concat(strategy_object.issues) if strategy_object + items + end + private # @return [Agama::Config] @@ -232,16 +246,15 @@ def calculate_agama_from_json(storage_json) def calculate return false unless storage_manager.probed? - @issues = [] - + @calculate_error = nil begin strategy_object.calculate - @issues << failed_issue if proposal.failed? rescue Y2Storage::Error => e - handle_exception(e) + @calculate_error = e + rescue StandardError => e + raise e end - @issues.concat(strategy_object.issues) @on_calculate_callbacks.each(&:call) success? end @@ -263,18 +276,6 @@ def storage_manager Y2Storage::StorageManager.instance end - # Handle Y2Storage exceptions - def handle_exception(error) - case error - when Y2Storage::NoDiskSpaceError - @issues << failed_issue - when Y2Storage::Error - @issues << exception_issue(error) - else - raise error - end - end - # Issue representing the proposal is not valid. # # @return [Issue] diff --git a/service/lib/agama/storage/proposal_strategies/agama.rb b/service/lib/agama/storage/proposal_strategies/agama.rb index c34e134f7c..1ae18619cb 100644 --- a/service/lib/agama/storage/proposal_strategies/agama.rb +++ b/service/lib/agama/storage/proposal_strategies/agama.rb @@ -68,9 +68,10 @@ def issues # @return [Y2Storage::AgamaProposal] def agama_proposal Y2Storage::AgamaProposal.new(storage_config, - issues_list: [], - devicegraph: probed_devicegraph, - disk_analyzer: disk_analyzer) + product_config: config, + devicegraph: probed_devicegraph, + disk_analyzer: disk_analyzer, + issues_list: []) end end end diff --git a/service/lib/agama/users.rb b/service/lib/agama/users.rb index d85cc0459b..c294b3e819 100644 --- a/service/lib/agama/users.rb +++ b/service/lib/agama/users.rb @@ -139,10 +139,6 @@ def write end end - private - - attr_reader :logger - # Recalculates the list of issues def update_issues new_issues = [] @@ -158,6 +154,10 @@ def update_issues self.issues = new_issues end + private + + attr_reader :logger + # Determines whether a first user is defined or not # # @return [Boolean] diff --git a/service/lib/agama/with_locale.rb b/service/lib/agama/with_locale.rb index 6ec4cd7773..a26bf471a5 100644 --- a/service/lib/agama/with_locale.rb +++ b/service/lib/agama/with_locale.rb @@ -36,7 +36,7 @@ def change_process_locale(locale) ENV["LANG"] = locale log.info "set yast locale to #{locale}" # explicit call to textdomain to force fast gettext change of language ASAP - textdomain "installation" + textdomain "agama" end end end diff --git a/service/lib/y2storage/agama_proposal.rb b/service/lib/y2storage/agama_proposal.rb index 0212912bd9..a386da7e4f 100644 --- a/service/lib/y2storage/agama_proposal.rb +++ b/service/lib/y2storage/agama_proposal.rb @@ -19,46 +19,19 @@ # To contact SUSE LLC about this file by physical or electronic mail, you may # find current contact information at www.suse.com. +require "agama/storage/config_checker" +require "agama/storage/config_solver" require "yast" +require "y2storage/exceptions" +require "y2storage/planned" require "y2storage/proposal" -require "y2storage/proposal/agama_searcher" -require "y2storage/proposal/agama_space_maker" -require "y2storage/proposal/agama_devices_planner" require "y2storage/proposal/agama_devices_creator" +require "y2storage/proposal/agama_devices_planner" +require "y2storage/proposal/agama_space_maker" require "y2storage/proposal/planned_devices_handler" -require "y2storage/exceptions" -require "y2storage/planned" module Y2Storage - # Class to calculate a storage proposal for auto-installation using Agama. - # - # @note The storage config (initial_settings param in constructor) is modified in several ways: - # * The search configs are resolved. - # * Every config with an unfound search (e.g., a drive config, a partition config) is removed if - # its search has #if_not_found set to skip. - # - # It would be preferable to work over a copy instead of modifying the given config. In some - # cases, the config object is needed to generate its JSON format. The JSON result would not - # be 100% accurate if some elements are removed. - # - # The original config without removing elements is needed if: - # * The current proposal is the initial proposal automatically calculated by Agama. In - # this case, the config is generated from the product definition. The config JSON format is - # obtained by converting the config object to JSON. - # * The current proposal was calculated from a settings following the guided schema. This - # usually happens when a proposal is calculated from the UI. In this case, a config is - # generated from the guided settings. The config JSON format is obtained by converting the - # config object to JSON. - # - # In those two cases (initial proposal and proposal from guided settings) no elements are - # removed from the config because it has no searches with skip: - # * The config from the product definition has a drive that fails with unfound search (i.e., - # there is no candidate device for installing the system). - # * The config from the guided settings has all drives and partitions with search set to - # error. The proposal fails if the selected devices are not found. - # - # In the future there could be any other scenario in which it would be needed to keep all the - # elements from an initial config containing searches with skip. + # Class to calculate a storage proposal for Agama. # # @example Creating a proposal from the current Agama configuration # config = Agama::Storage::Config.new_from_json(config_json) @@ -81,23 +54,30 @@ class AgamaProposal < Proposal::Base # @return [Array] List of found issues attr_reader :issues_list - # Constructor + # @note The storage config (first param) is modified in several ways: + # * The search configs are solved. + # * The sizes are solved (setting the size of the selected device, assigning fallbacks, etc). # - # @param initial_config [Agama::Storage::Config] Agama storage config - # @param devicegraph [Devicegraph] starting point. If nil, then probed devicegraph - # will be used - # @param disk_analyzer [DiskAnalyzer] by default, the method will create a new one - # based on the initial devicegraph or will use the one from the StorageManager if - # starting from probed (i.e. 'devicegraph' argument is also missing) - # @param issues_list [Array] + def planned_devices raise NotImplementedError end @@ -149,6 +149,7 @@ def configure_partitions(planned, device_config, config) partition_configs = device_config.partitions .reject(&:delete?) .reject(&:delete_if_needed?) + .reject { |c| c.search&.skip_device? } planned.partitions = partition_configs.map do |partition_config| planned_partition(partition_config, device_config, config) diff --git a/service/lib/y2storage/proposal/agama_devices_planner.rb b/service/lib/y2storage/proposal/agama_devices_planner.rb index 3624f6f21b..a8788e0402 100644 --- a/service/lib/y2storage/proposal/agama_devices_planner.rb +++ b/service/lib/y2storage/proposal/agama_devices_planner.rb @@ -19,7 +19,6 @@ # To contact SUSE LLC about this file by physical or electronic mail, you may # find current contact information at www.suse.com. -require "agama/storage/config_checker" require "y2storage/planned/devices_collection" require "y2storage/proposal/agama_drive_planner" require "y2storage/proposal/agama_vg_planner" @@ -45,9 +44,6 @@ def initialize(devicegraph, issues_list) # @param config [Agama::Storage::Config] # @return [Planned::DevicesCollection] def planned_devices(config) - checker = Agama::Storage::ConfigChecker.new(config) - issues_list.concat(checker.issues) - # In the future this will also include planned devices that are equivalent to # those typically generated by the Guided Proposal. For those, note that: # - For dedicated VGs it creates a Planned VG containing a Planned LV, but no PVs diff --git a/service/lib/y2storage/proposal/agama_drive_planner.rb b/service/lib/y2storage/proposal/agama_drive_planner.rb index a99e573fb0..b5b30282b5 100644 --- a/service/lib/y2storage/proposal/agama_drive_planner.rb +++ b/service/lib/y2storage/proposal/agama_drive_planner.rb @@ -31,6 +31,8 @@ class AgamaDrivePlanner < AgamaDevicePlanner # # @return [Array] def planned_devices(drive_config, config) + return [] if drive_config.search&.skip_device? + [planned_drive(drive_config, config)] end diff --git a/service/package/rubygem-agama-yast.changes b/service/package/rubygem-agama-yast.changes index 7a012b4d3a..4a65f5a910 100644 --- a/service/package/rubygem-agama-yast.changes +++ b/service/package/rubygem-agama-yast.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Sep 27 09:23:40 UTC 2024 - Imobach Gonzalez Sosa + +- Handle UI language change in users and storage + (gh#agama-project/agama#1642). + +------------------------------------------------------------------- +Mon Sep 23 14:55:53 UTC 2024 - José Iván López González + +- storage: add support for resizing partitions using its current + size as min or max limit (gh#openSUSE/agama#1617). + ------------------------------------------------------------------- Fri Sep 20 13:09:47 UTC 2024 - Ancor Gonzalez Sosa diff --git a/service/po/ca.po b/service/po/ca.po index bd9bea25e1..f23f335f7a 100644 --- a/service/po/ca.po +++ b/service/po/ca.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-28 02:30+0000\n" -"PO-Revision-Date: 2024-09-04 11:47+0000\n" +"POT-Creation-Date: 2024-09-18 02:35+0000\n" +"PO-Revision-Date: 2024-09-18 10:48+0000\n" "Last-Translator: David Medina \n" "Language-Team: Catalan \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.7.1\n" +"X-Generator: Weblate 5.7.2\n" #. Runs the startup phase #: service/lib/agama/manager.rb:88 @@ -132,6 +132,45 @@ msgstr "El producte ha d'estar registrat." msgid "Found %s dependency issues." msgstr "S'han trobat %s problemes de dependències." +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:112 +#, c-format +msgid "There is no LVM thin pool volume with alias %s" +msgstr "No hi ha cap volum d'agrupació prim d'LVM amb l'àlies %s." + +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:129 +#, c-format +msgid "There is no LVM physical volume with alias %s" +msgstr "No hi ha cap volum físic d'LVM amb l'àlies %s." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:160 +#, perl-brace-format +msgid "" +"No passphrase provided (required for using the method '%{crypt_method}')." +msgstr "" +"No s'ha proporcionat cap frase de contrasenya (cal per usar el mètode " +"%{crypt_method})." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:178 +#, perl-brace-format +msgid "Encryption method '%{crypt_method}' is not available in this system." +msgstr "" +"El mètode d'encriptació %{crypt_method} no està disponible en aquest sistema." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:197 +#, perl-brace-format +msgid "'%{crypt_method}' is not a suitable method to encrypt the device." +msgstr "" +"El mètode %{crypt_method} no és un mètode adequat per encriptar el " +"dispositiu." + #. Text of the reason preventing to shrink because there is no content. #. #. @return [String, nil] nil if there is content or there is any other reasons. @@ -233,50 +272,20 @@ msgstr "" "Cal definir un usuari, establir la contrasenya d'arrel o una clau pública " "SSH." -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:134 -#, perl-brace-format -msgid "" -"No passphrase provided (required for using the method '%{crypt_method}')." -msgstr "" -"No s'ha proporcionat cap frase de contrasenya (cal per usar el mètode " -"%{crypt_method})." - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:145 -#, perl-brace-format -msgid "Encryption method '%{crypt_method}' is not available in this system." -msgstr "" -"El mètode d'encriptació %{crypt_method} no està disponible en aquest sistema." - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the name of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:156 -#, perl-brace-format -msgid "'%{crypt_method}' is not a suitable method to encrypt the device." -msgstr "" -"El mètode %{crypt_method} no és un mètode adequat per encriptar el " -"dispositiu." - #. @see #not_found_issue -#: service/lib/y2storage/proposal/agama_searcher.rb:98 +#: service/lib/y2storage/proposal/agama_searcher.rb:158 msgid "No device found for an optional drive" msgstr "No s'ha trobat cap dispositiu per a una unitat opcional." -#: service/lib/y2storage/proposal/agama_searcher.rb:100 +#: service/lib/y2storage/proposal/agama_searcher.rb:160 msgid "No device found for a mandatory drive" msgstr "No s'ha trobat cap dispositiu per a una unitat obligatòria." -#: service/lib/y2storage/proposal/agama_searcher.rb:103 +#: service/lib/y2storage/proposal/agama_searcher.rb:163 msgid "No device found for an optional partition" msgstr "No s'ha trobat cap dispositiu per a una partició opcional." -#: service/lib/y2storage/proposal/agama_searcher.rb:105 +#: service/lib/y2storage/proposal/agama_searcher.rb:165 msgid "No device found for a mandatory partition" msgstr "No s'ha trobat cap dispositiu per a una partició obligatòria." diff --git a/service/po/cs.po b/service/po/cs.po index eef2788af0..5f9a7fd365 100644 --- a/service/po/cs.po +++ b/service/po/cs.po @@ -7,11 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-28 02:30+0000\n" +"POT-Creation-Date: 2024-09-18 02:35+0000\n" "PO-Revision-Date: 2024-08-30 20:47+0000\n" "Last-Translator: Aleš Kastner \n" -"Language-Team: Czech \n" +"Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -132,6 +132,42 @@ msgstr "Produkt musí být zaregistrován" msgid "Found %s dependency issues." msgstr "Nalezeno %s problémů v závislostech." +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:112 +#, c-format +msgid "There is no LVM thin pool volume with alias %s" +msgstr "" + +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:129 +#, c-format +msgid "There is no LVM physical volume with alias %s" +msgstr "" + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:160 +#, perl-brace-format +msgid "" +"No passphrase provided (required for using the method '%{crypt_method}')." +msgstr "" +"Není uvedena žádná přístupová fráze (nutná pro použití metody " +"'%{crypt_method}')." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:178 +#, perl-brace-format +msgid "Encryption method '%{crypt_method}' is not available in this system." +msgstr "Šifrovací metoda '%{crypt_method}' není v tomto systému k dispozici." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:197 +#, perl-brace-format +msgid "'%{crypt_method}' is not a suitable method to encrypt the device." +msgstr "'%{crypt_method}' není vhodná metoda pro šifrování zařízení." + #. Text of the reason preventing to shrink because there is no content. #. #. @return [String, nil] nil if there is content or there is any other reasons. @@ -227,47 +263,20 @@ msgid "" msgstr "" "Definuji uživatele, nastavuji heslo roota nebo potřebuji veřejný klíč SSH" -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:134 -#, perl-brace-format -msgid "" -"No passphrase provided (required for using the method '%{crypt_method}')." -msgstr "" -"Není uvedena žádná přístupová fráze (nutná pro použití metody " -"'%{crypt_method}')." - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:145 -#, perl-brace-format -msgid "Encryption method '%{crypt_method}' is not available in this system." -msgstr "Šifrovací metoda '%{crypt_method}' není v tomto systému k dispozici." - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the name of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:156 -#, perl-brace-format -msgid "'%{crypt_method}' is not a suitable method to encrypt the device." -msgstr "'%{crypt_method}' není vhodná metoda pro šifrování zařízení." - #. @see #not_found_issue -#: service/lib/y2storage/proposal/agama_searcher.rb:98 +#: service/lib/y2storage/proposal/agama_searcher.rb:158 msgid "No device found for an optional drive" msgstr "Nenalezeno žádné zařízení pro volitelnou jednotku" -#: service/lib/y2storage/proposal/agama_searcher.rb:100 +#: service/lib/y2storage/proposal/agama_searcher.rb:160 msgid "No device found for a mandatory drive" msgstr "Nenalezeno žádné zařízení pro povinnou jednotku" -#: service/lib/y2storage/proposal/agama_searcher.rb:103 +#: service/lib/y2storage/proposal/agama_searcher.rb:163 msgid "No device found for an optional partition" msgstr "Pro volitelný oddíl nenalezeno zařízení" -#: service/lib/y2storage/proposal/agama_searcher.rb:105 +#: service/lib/y2storage/proposal/agama_searcher.rb:165 msgid "No device found for a mandatory partition" msgstr "Pro povinný oddíl nenalezeno zařízení" diff --git a/service/po/de.po b/service/po/de.po index 59bd07e09f..2fb1883845 100644 --- a/service/po/de.po +++ b/service/po/de.po @@ -7,11 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-28 02:30+0000\n" +"POT-Creation-Date: 2024-09-18 02:35+0000\n" "PO-Revision-Date: 2024-08-29 19:47+0000\n" "Last-Translator: Ettore Atalan \n" -"Language-Team: German \n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -132,6 +132,45 @@ msgstr "Produkt muss registriert sein" msgid "Found %s dependency issues." msgstr "%s Abhängigkeitsprobleme gefunden." +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:112 +#, c-format +msgid "There is no LVM thin pool volume with alias %s" +msgstr "" + +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:129 +#, c-format +msgid "There is no LVM physical volume with alias %s" +msgstr "" + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:160 +#, perl-brace-format +msgid "" +"No passphrase provided (required for using the method '%{crypt_method}')." +msgstr "" +"Keine Passphrase angegeben (erforderlich für die Verwendung der Methode " +"'%{crypt_method}')." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:178 +#, perl-brace-format +msgid "Encryption method '%{crypt_method}' is not available in this system." +msgstr "" +"Die Verschlüsselungsmethode '%{crypt_method}' ist auf diesem System nicht " +"verfügbar." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:197 +#, perl-brace-format +msgid "'%{crypt_method}' is not a suitable method to encrypt the device." +msgstr "" +"'%{crypt_method}' ist keine geeignete Methode zur Verschlüsselung des Geräts." + #. Text of the reason preventing to shrink because there is no content. #. #. @return [String, nil] nil if there is content or there is any other reasons. @@ -232,50 +271,20 @@ msgstr "" "Die Definition eines Benutzers, das Festlegen des Root-Passworts oder eines " "öffentlichen SSH-Schlüssels ist erforderlich" -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:134 -#, perl-brace-format -msgid "" -"No passphrase provided (required for using the method '%{crypt_method}')." -msgstr "" -"Keine Passphrase angegeben (erforderlich für die Verwendung der Methode " -"'%{crypt_method}')." - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:145 -#, perl-brace-format -msgid "Encryption method '%{crypt_method}' is not available in this system." -msgstr "" -"Die Verschlüsselungsmethode '%{crypt_method}' ist auf diesem System nicht " -"verfügbar." - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the name of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:156 -#, perl-brace-format -msgid "'%{crypt_method}' is not a suitable method to encrypt the device." -msgstr "" -"'%{crypt_method}' ist keine geeignete Methode zur Verschlüsselung des Geräts." - #. @see #not_found_issue -#: service/lib/y2storage/proposal/agama_searcher.rb:98 +#: service/lib/y2storage/proposal/agama_searcher.rb:158 msgid "No device found for an optional drive" msgstr "Kein Gerät für ein optionales Laufwerk gefunden" -#: service/lib/y2storage/proposal/agama_searcher.rb:100 +#: service/lib/y2storage/proposal/agama_searcher.rb:160 msgid "No device found for a mandatory drive" msgstr "Kein Gerät für ein obligatorisches Laufwerk gefunden" -#: service/lib/y2storage/proposal/agama_searcher.rb:103 +#: service/lib/y2storage/proposal/agama_searcher.rb:163 msgid "No device found for an optional partition" msgstr "Kein Gerät für eine optionale Partition gefunden" -#: service/lib/y2storage/proposal/agama_searcher.rb:105 +#: service/lib/y2storage/proposal/agama_searcher.rb:165 msgid "No device found for a mandatory partition" msgstr "Kein Gerät für eine obligatorische Partition gefunden" diff --git a/service/po/es.po b/service/po/es.po index 5eb4460639..1dcaea0fe3 100644 --- a/service/po/es.po +++ b/service/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-28 02:30+0000\n" +"POT-Creation-Date: 2024-09-18 02:35+0000\n" "PO-Revision-Date: 2024-07-28 18:47+0000\n" "Last-Translator: Victor hck \n" "Language-Team: Spanish \n" "Language-Team: French \n" "Language-Team: Indonesian \n" "Language-Team: Japanese \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" #. Runs the startup phase #: service/lib/agama/manager.rb:88 @@ -132,6 +132,42 @@ msgstr "製品を登録しなければなりません" msgid "Found %s dependency issues." msgstr "%s 個の依存関係の問題が見つかりました。" +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:112 +#, c-format +msgid "There is no LVM thin pool volume with alias %s" +msgstr "%s という名前の LVM Thin プールボリュームはありません" + +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:129 +#, c-format +msgid "There is no LVM physical volume with alias %s" +msgstr "%s という名前の LVM 物理ボリュームはありません" + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:160 +#, perl-brace-format +msgid "" +"No passphrase provided (required for using the method '%{crypt_method}')." +msgstr "" +"パスフレーズが設定されていません ('%{crypt_method}' 方式を使用する際には必須" +"です) 。" + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:178 +#, perl-brace-format +msgid "Encryption method '%{crypt_method}' is not available in this system." +msgstr "このシステムでは '%{crypt_method}' 暗号化方式は利用できません。" + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:197 +#, perl-brace-format +msgid "'%{crypt_method}' is not a suitable method to encrypt the device." +msgstr "'%{crypt_method}' はデバイスの暗号化方式として不適切です。" + #. Text of the reason preventing to shrink because there is no content. #. #. @return [String, nil] nil if there is content or there is any other reasons. @@ -225,46 +261,20 @@ msgid "" msgstr "" "ユーザの設定、 root パスワードの設定、 SSH 公開鍵の設定のいずれかが必要です" -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:134 -#, perl-brace-format -msgid "" -"No passphrase provided (required for using the method '%{crypt_method}')." -msgstr "パスフレーズが設定されていません ('%{crypt_method}' " -"方式を使用する際には必須です) 。" - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:145 -#, perl-brace-format -msgid "Encryption method '%{crypt_method}' is not available in this system." -msgstr "このシステムでは '%{crypt_method}' 暗号化方式は利用できません。" - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the name of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:156 -#, perl-brace-format -msgid "'%{crypt_method}' is not a suitable method to encrypt the device." -msgstr "'%{crypt_method}' はデバイスの暗号化方式として不適切です。" - #. @see #not_found_issue -#: service/lib/y2storage/proposal/agama_searcher.rb:98 +#: service/lib/y2storage/proposal/agama_searcher.rb:158 msgid "No device found for an optional drive" msgstr "任意指定のドライブに対応するデバイスが見つかりません" -#: service/lib/y2storage/proposal/agama_searcher.rb:100 +#: service/lib/y2storage/proposal/agama_searcher.rb:160 msgid "No device found for a mandatory drive" msgstr "必須指定のドライブに対応するデバイスが見つかりません" -#: service/lib/y2storage/proposal/agama_searcher.rb:103 +#: service/lib/y2storage/proposal/agama_searcher.rb:163 msgid "No device found for an optional partition" msgstr "任意指定のパーティションに対応するデバイスが見つかりません" -#: service/lib/y2storage/proposal/agama_searcher.rb:105 +#: service/lib/y2storage/proposal/agama_searcher.rb:165 msgid "No device found for a mandatory partition" msgstr "必須指定のパーティションに対応するデバイスが見つかりません" diff --git a/service/po/ka.po b/service/po/ka.po index f1582a0172..b5d7506df2 100644 --- a/service/po/ka.po +++ b/service/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-28 02:30+0000\n" +"POT-Creation-Date: 2024-09-18 02:35+0000\n" "PO-Revision-Date: 2024-06-28 16:46+0000\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language-Team: Norwegian Bokmål \n" "Language-Team: Portuguese (Brazil) \n" "Language-Team: Russian \n" "Language-Team: Swedish \n" @@ -132,6 +132,43 @@ msgstr "Produkt måste registreras" msgid "Found %s dependency issues." msgstr "Hittade %s beroendeproblem." +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:112 +#, c-format +msgid "There is no LVM thin pool volume with alias %s" +msgstr "Det finns ingen tunn LVM-poolvolym med alias %s" + +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:129 +#, c-format +msgid "There is no LVM physical volume with alias %s" +msgstr "Det finns ingen LVM fysisk volym med alias %s" + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:160 +#, perl-brace-format +msgid "" +"No passphrase provided (required for using the method '%{crypt_method}')." +msgstr "" +"Ingen lösenordsfras tillhandahålls (krävs för att använda %{crypt_method}') " +"metoden." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:178 +#, perl-brace-format +msgid "Encryption method '%{crypt_method}' is not available in this system." +msgstr "" +"Krypteringsmetod '%{crypt_method}' är inte tillgänglig i det här systemet." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:197 +#, perl-brace-format +msgid "'%{crypt_method}' is not a suitable method to encrypt the device." +msgstr "'%{crypt_method}' är inte en lämplig metod för att kryptera enheten." + #. Text of the reason preventing to shrink because there is no content. #. #. @return [String, nil] nil if there is content or there is any other reasons. @@ -227,48 +264,20 @@ msgstr "" "Definiera en användare, för att ställa in root-lösenordet eller en offentlig " "SSH-nyckel krävs" -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:134 -#, perl-brace-format -msgid "" -"No passphrase provided (required for using the method '%{crypt_method}')." -msgstr "" -"Ingen lösenordsfras tillhandahålls (krävs för att använda %{crypt_method}') " -"metoden." - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:145 -#, perl-brace-format -msgid "Encryption method '%{crypt_method}' is not available in this system." -msgstr "" -"Krypteringsmetod '%{crypt_method}' är inte tillgänglig i det här systemet." - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the name of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:156 -#, perl-brace-format -msgid "'%{crypt_method}' is not a suitable method to encrypt the device." -msgstr "'%{crypt_method}' är inte en lämplig metod för att kryptera enheten." - #. @see #not_found_issue -#: service/lib/y2storage/proposal/agama_searcher.rb:98 +#: service/lib/y2storage/proposal/agama_searcher.rb:158 msgid "No device found for an optional drive" msgstr "Ingen enhet hittades för en tillvalsenhet" -#: service/lib/y2storage/proposal/agama_searcher.rb:100 +#: service/lib/y2storage/proposal/agama_searcher.rb:160 msgid "No device found for a mandatory drive" msgstr "Ingen enhet hittades för en obligatorisk enhet" -#: service/lib/y2storage/proposal/agama_searcher.rb:103 +#: service/lib/y2storage/proposal/agama_searcher.rb:163 msgid "No device found for an optional partition" msgstr "Ingen enhet hittades för en valfri partition" -#: service/lib/y2storage/proposal/agama_searcher.rb:105 +#: service/lib/y2storage/proposal/agama_searcher.rb:165 msgid "No device found for a mandatory partition" msgstr "Ingen enhet hittades för en obligatorisk partition" diff --git a/service/po/tr.po b/service/po/tr.po index 4957b1c22e..8ae6081e9f 100644 --- a/service/po/tr.po +++ b/service/po/tr.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-28 02:30+0000\n" -"PO-Revision-Date: 2024-08-28 17:47+0000\n" -"Last-Translator: yok \n" +"POT-Creation-Date: 2024-09-18 02:35+0000\n" +"PO-Revision-Date: 2024-09-19 18:48+0000\n" +"Last-Translator: yok2 \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" #. Runs the startup phase #: service/lib/agama/manager.rb:88 @@ -132,6 +132,41 @@ msgstr "Ürün kayıtlı olmalı" msgid "Found %s dependency issues." msgstr "%s bağımlılık sorunu bulundu." +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:112 +#, c-format +msgid "There is no LVM thin pool volume with alias %s" +msgstr "%s takma adlı LVM ince havuz birimi yok" + +#. TRANSLATORS: %s is the replaced by a device alias (e.g., "pv1"). +#: service/lib/agama/storage/config_checker.rb:129 +#, c-format +msgid "There is no LVM physical volume with alias %s" +msgstr "%s takma adlı LVM fiziksel birimi yok" + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:160 +#, perl-brace-format +msgid "" +"No passphrase provided (required for using the method '%{crypt_method}')." +msgstr "" +"Parola sağlanmadı ('%{crypt_method}' metodunu kullanmak için gereklidir)." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:178 +#, perl-brace-format +msgid "Encryption method '%{crypt_method}' is not available in this system." +msgstr "Bu sistemde '%{crypt_method}' şifreleme yöntemi mevcut değil." + +#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device +#. (e.g., 'luks1', 'random_swap'). +#: service/lib/agama/storage/config_checker.rb:197 +#, perl-brace-format +msgid "'%{crypt_method}' is not a suitable method to encrypt the device." +msgstr "'%{crypt_method}' cihazı şifrelemek için uygun bir yöntem değil." + #. Text of the reason preventing to shrink because there is no content. #. #. @return [String, nil] nil if there is content or there is any other reasons. @@ -227,46 +262,20 @@ msgstr "" "Bir kullanıcı tanımlamak, kök parolasını veya bir SSH genel anahtarını " "ayarlamak gerekir" -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:134 -#, perl-brace-format -msgid "" -"No passphrase provided (required for using the method '%{crypt_method}')." -msgstr "" -"Parola sağlanmadı ('%{crypt_method}' metodunu kullanmak için gereklidir)." - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the identifier of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:145 -#, perl-brace-format -msgid "Encryption method '%{crypt_method}' is not available in this system." -msgstr "Bu sistemde '%{crypt_method}' şifreleme yöntemi mevcut değil." - -#. @see #check_encryption -#. TRANSLATORS: 'crypt_method' is the name of the method to encrypt the device (like -#. 'luks1' or 'random_swap'). -#: service/lib/y2storage/proposal/agama_device_planner.rb:156 -#, perl-brace-format -msgid "'%{crypt_method}' is not a suitable method to encrypt the device." -msgstr "'%{crypt_method}' cihazı şifrelemek için uygun bir yöntem değil." - #. @see #not_found_issue -#: service/lib/y2storage/proposal/agama_searcher.rb:98 +#: service/lib/y2storage/proposal/agama_searcher.rb:158 msgid "No device found for an optional drive" msgstr "İsteğe bağlı bir sürücü için aygıt bulunamadı" -#: service/lib/y2storage/proposal/agama_searcher.rb:100 +#: service/lib/y2storage/proposal/agama_searcher.rb:160 msgid "No device found for a mandatory drive" msgstr "Zorunlu bir sürücü için cihaz bulunamadı" -#: service/lib/y2storage/proposal/agama_searcher.rb:103 +#: service/lib/y2storage/proposal/agama_searcher.rb:163 msgid "No device found for an optional partition" msgstr "İsteğe bağlı bölüm için cihaz bulunamadı" -#: service/lib/y2storage/proposal/agama_searcher.rb:105 +#: service/lib/y2storage/proposal/agama_searcher.rb:165 msgid "No device found for a mandatory partition" msgstr "Zorunlu bölüm için hiçbir cihaz bulunamadı" diff --git a/service/po/zh_Hans.po b/service/po/zh_Hans.po index c9a68ad63d..b649b7da74 100644 --- a/service/po/zh_Hans.po +++ b/service/po/zh_Hans.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-28 02:30+0000\n" +"POT-Creation-Date: 2024-09-18 02:35+0000\n" "PO-Revision-Date: 2024-07-03 14:46+0000\n" "Last-Translator: Monstorix \n" "Language-Team: Chinese (Simplified) { + "lvm" => false, + "space_policy" => "delete", + "encryption" => { + "method" => "luks2" + }, + "volumes" => ["/", "swap"], + "volume_templates" => [ + { + "mount_path" => "/", "filesystem" => "btrfs", "size" => { "auto" => true }, + "btrfs" => { + "snapshots" => true, "default_subvolume" => "@", + "subvolumes" => ["home", "opt", "root", "srv"] + }, + "outline" => { + "required" => true, "snapshots_configurable" => true, + "auto_size" => { + "base_min" => "5 GiB", "base_max" => "10 GiB", + "min_fallback_for" => ["/home"], "max_fallback_for" => ["/home"], + "snapshots_increment" => "300%" + } + } + }, + { + "mount_path" => "/home", "size" => { "auto" => false, "min" => "5 GiB" }, + "filesystem" => "xfs", "outline" => { "required" => false } + }, + { + "mount_path" => "swap", "filesystem" => "swap", + "outline" => { "required" => false } + }, + { "mount_path" => "", "filesystem" => "ext4", + "size" => { "min" => "100 MiB" } } + ] + } + } + end + let(:issues_list) { [] } let(:drives) { [drive0] } @@ -98,6 +154,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) end end part.size = Agama::Storage::Configs::Size.new.tap do |size| + size.default = false size.min = 8.5.GiB size.max = Y2Storage::DiskSize.unlimited end @@ -121,10 +178,8 @@ def partition_config(name: nil, filesystem: nil, size: nil) before do mock_storage(devicegraph: scenario) - end - - subject(:proposal) do - described_class.new(initial_config, issues_list: issues_list) + # To speed-up the tests + allow(Y2Storage::EncryptionMethod::TPM_FDE).to receive(:possible?).and_return(true) end let(:scenario) { "empty-hd-50GiB.yaml" } @@ -147,7 +202,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) context "if no boot devices should be created" do before do - initial_config.boot = Agama::Storage::Configs::Boot.new.tap { |b| b.configure = false } + config.boot = Agama::Storage::Configs::Boot.new.tap { |b| b.configure = false } end it "proposes to create only the root device" do @@ -650,18 +705,37 @@ def partition_config(name: nil, filesystem: nil, size: nil) context "when reusing a partition" do let(:scenario) { "disks.yaml" } - let(:drives) { [drive] } - - let(:drive) do - drive_config.tap { |c| c.partitions = [partition] } + let(:config_json) do + { + drives: [ + { + partitions: [ + { + search: name, + filesystem: { + reuseIfPossible: reuse, + path: "/", + type: "ext3" + }, + size: size + }, + { + filesystem: { + path: "/home" + } + } + ] + } + ] + } end - let(:partition) { partition_config(name: name, filesystem: "ext3", size: 20.GiB) } + let(:reuse) { nil } + + let(:size) { nil } context "if trying to reuse the file system" do - before do - partition.filesystem.reuse = true - end + let(:reuse) { true } context "and the partition is already formatted" do let(:name) { "/dev/vda2" } @@ -691,9 +765,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) end context "if not trying to reuse the file system" do - before do - partition.filesystem.reuse = false - end + let(:reuse) { false } context "and the partition is already formatted" do let(:name) { "/dev/vda2" } @@ -722,23 +794,54 @@ def partition_config(name: nil, filesystem: nil, size: nil) end end end + + context "if no size is indicated" do + let(:name) { "/dev/vda2" } + + let(:size) { nil } + + it "does not resize the partition" do + devicegraph = proposal.propose + + vda2 = devicegraph.find_by_name("/dev/vda2") + expect(vda2.size).to eq(20.GiB) + end + end end context "when creating a new partition" do let(:scenario) { "disks.yaml" } - let(:drives) { [drive] } - - let(:drive) do - drive_config.tap { |c| c.partitions = [partition] } + let(:config_json) do + { + drives: [ + { + partitions: [ + { + filesystem: { + reuseIfPossible: reuse, + path: "/", + type: "ext3" + }, + size: size + }, + { + filesystem: { + path: "/home" + } + } + ] + } + ] + } end - let(:partition) { partition_config(filesystem: "ext3", size: 1.GiB) } + let(:reuse) { nil } + + let(:size) { nil } context "if trying to reuse the file system" do - before do - partition.filesystem.reuse = true - end + let(:reuse) { true } it "creates the file system" do devicegraph = proposal.propose @@ -750,9 +853,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) end context "if not trying to reuse the file system" do - before do - partition.filesystem.reuse = false - end + let(:reuse) { false } it "creates the file system" do devicegraph = proposal.propose @@ -762,27 +863,250 @@ def partition_config(name: nil, filesystem: nil, size: nil) expect(filesystem.type).to eq(Y2Storage::Filesystems::Type::EXT3) end end - end - context "resizing an existing partition" do - let(:scenario) { "disks.yaml" } + context "if no size is indicated" do + let(:size) { nil } - let(:partitions0) { [root_partition, vda3] } + it "creates the partition according to the size from the product definition" do + devicegraph = proposal.propose - let(:vda3) do - Agama::Storage::Configs::Partition.new.tap do |config| - block_device_config(config, name: "/dev/vda3") - config.size = Agama::Storage::Configs::Size.new.tap do |size_config| - size_config.min = vda3_min - size_config.max = vda3_max + expect(devicegraph.partitions).to include( + an_object_having_attributes( + filesystem: an_object_having_attributes(mount_path: "/"), + size: 10.GiB - 1.MiB + ) + ) + end + end + + context "if a size is indicated" do + let(:size) { "5 GiB" } + + it "creates the partition according to the given size" do + devicegraph = proposal.propose + + expect(devicegraph.partitions).to include( + an_object_having_attributes( + filesystem: an_object_having_attributes(mount_path: "/"), + size: 5.GiB + ) + ) + end + end + + context "if 'current' size is indicated" do + let(:size) { { min: "current" } } + + it "creates the partition according to the size from the product definition" do + devicegraph = proposal.propose + + expect(devicegraph.partitions).to include( + an_object_having_attributes( + filesystem: an_object_having_attributes(mount_path: "/"), + size: 10.GiB - 1.MiB + ) + ) + end + end + + context "if the size is not indicated for some partition with fallbacks" do + let(:scenario) { "empty-hd-50GiB.yaml" } + + let(:config_json) do + { + drives: [ + { + partitions: [ + { + filesystem: { + path: "/", + type: { + btrfs: { snapshots: snapshots } + } + } + }, + { + filesystem: { path: other_path } + } + ] + } + ] + } + end + + context "and the other partitions are omitted" do + let(:other_path) { nil } + let(:snapshots) { false } + + it "creates the partition adding the fallback sizes" do + devicegraph = proposal.propose + + expect(devicegraph.partitions).to include( + an_object_having_attributes( + filesystem: an_object_having_attributes(mount_path: "/"), + size: 29.95.GiB - 2.80.MiB + ) + ) + end + + context "and snapshots are enabled" do + let(:snapshots) { true } + + it "creates the partition adding the fallback and snapshots sizes" do + devicegraph = proposal.propose + + expect(devicegraph.partitions).to include( + an_object_having_attributes( + filesystem: an_object_having_attributes(mount_path: "/"), + size: 44.95.GiB - 2.80.MiB + ) + ) + end + end + end + + context "and the other partitions are present" do + let(:other_path) { "/home" } + let(:snapshots) { false } + + it "creates the partition ignoring the fallback sizes" do + devicegraph = proposal.propose + + expect(devicegraph.partitions).to include( + an_object_having_attributes( + filesystem: an_object_having_attributes(mount_path: "/"), + size: 10.GiB + ) + ) + end + + context "and snapshots are enabled" do + let(:snapshots) { true } + + it "creates the partition adding the snapshots sizes" do + devicegraph = proposal.propose + + expect(devicegraph.partitions).to include( + an_object_having_attributes( + filesystem: an_object_having_attributes(mount_path: "/"), + size: 32.50.GiB - 4.MiB + ) + ) + end end end end - before do - drive0.search.name = "/dev/vda" + context "if the partition has to be enlarged according to RAM size" do + let(:scenario) { "empty-hd-50GiB.yaml" } - allow_any_instance_of(Y2Storage::Partition).to receive(:detect_resize_info) + let(:product_data) do + { + "storage" => { + "volume_templates" => [ + { + "mount_path" => "swap", + "filesystem" => "swap", + "size" => { "auto" => true }, + "outline" => { + "auto_size" => { + "adjust_by_ram" => true, + "base_min" => "2 GiB", + "base_max" => "4 GiB" + } + } + } + ] + } + } + end + + let(:config_json) do + { + drives: [ + { + partitions: [ + { + filesystem: { + path: "swap" + }, + size: size + } + ] + } + ] + } + end + + before do + allow_any_instance_of(Y2Storage::Arch).to receive(:ram_size).and_return(8.GiB) + end + + context "and the partition size is not indicated" do + let(:size) { nil } + + it "creates the partition as big as the RAM" do + devicegraph = proposal.propose + + expect(devicegraph.partitions).to include( + an_object_having_attributes( + filesystem: an_object_having_attributes(mount_path: "swap"), + size: 8.GiB + ) + ) + end + end + + context "and the partition size is indicated" do + let(:size) { "2 GiB" } + + it "creates the partition with the given size" do + devicegraph = proposal.propose + + expect(devicegraph.partitions).to include( + an_object_having_attributes( + filesystem: an_object_having_attributes(mount_path: "swap"), + size: 2.GiB + ) + ) + end + end + end + end + + context "resizing an existing partition" do + let(:scenario) { "disks.yaml" } + + let(:config_json) do + { + drives: [ + { + search: "/dev/vda", + partitions: [ + { + filesystem: { + type: "btrfs", + path: "/" + }, + size: root_size + }, + { + search: "/dev/vda3", + size: vda3_size + } + ] + } + ] + } + end + + let(:root_size) { ["8.5 GiB"] } + + let(:vda3_size) { nil } + + before do + allow_any_instance_of(Y2Storage::Partition) + .to(receive(:detect_resize_info)) .and_return(resize_info) end @@ -794,9 +1118,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) end context "when the reused partition is expected to grow with no enforced limit" do - # Initial size, so no shrinking - let(:vda3_min) { 10.GiB } - let(:vda3_max) { Y2Storage::DiskSize.unlimited } + let(:vda3_size) { ["current"] } it "grows the device as much as allowed by the min size of the new partitions" do vda3_sid = Y2Storage::StorageManager.instance.probed.find_by_name("/dev/vda3").sid @@ -815,9 +1137,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) end context "when the reused partition is expected to grow up to a limit" do - # Initial size, so no shrinking - let(:vda3_min) { 10.GiB } - let(:vda3_max) { 15.GiB } + let(:vda3_size) { ["10 GiB", "15 GiB"] } it "grows the device up to the limit so the new partitions can exceed their mins" do vda3_sid = Y2Storage::StorageManager.instance.probed.find_by_name("/dev/vda3").sid @@ -835,9 +1155,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) end context "when the reused partition is expected to shrink as much as needed" do - let(:vda3_min) { 0.KiB } - # Initial size, so no growing - let(:vda3_max) { 10.GiB } + let(:vda3_size) { ["0 KiB", "current"] } context "if there is no need to shrink the partition" do it "does not modify the size of the partition" do @@ -855,9 +1173,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) end context "if the partition needs to be shrunk to allocate the new ones" do - before do - root_partition.size.min = 24.GiB - end + let(:root_size) { "24 GiB" } it "shrinks the partition as needed" do vda3_sid = Y2Storage::StorageManager.instance.probed.find_by_name("/dev/vda3").sid @@ -877,8 +1193,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) end context "when the reused partition is expected to shrink in all cases" do - let(:vda3_min) { 0.KiB } - let(:vda3_max) { 6.GiB } + let(:vda3_size) { ["0 KiB", "6 GiB"] } context "if there is no need to shrink the partition" do it "shrinks the partition to the specified max size" do @@ -896,9 +1211,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) end context "if the partition needs to be shrunk to allocate the new ones" do - before do - root_partition.size.min = 25.GiB - end + let(:root_size) { "25 Gib" } it "shrinks the partition as needed" do vda3_sid = Y2Storage::StorageManager.instance.probed.find_by_name("/dev/vda3").sid @@ -921,14 +1234,6 @@ def partition_config(name: nil, filesystem: nil, size: nil) context "when the config has LVM volume groups" do let(:scenario) { "empty-hd-50GiB.yaml" } - let(:initial_config) do - Agama::Storage::ConfigConversions::FromJSON - .new(config_json, product_config: product_config) - .convert - end - - let(:product_config) { Agama::Config.new } - let(:config_json) do { drives: [ @@ -987,7 +1292,8 @@ def partition_config(name: nil, filesystem: nil, size: nil) filesystem: { path: "/home", type: "xfs" - } + }, + size: "2 GiB" } ] } @@ -1012,6 +1318,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) system_vg = devicegraph.find_by_name("/dev/system") system_pvs = system_vg.lvm_pvs.map(&:plain_blk_device) system_lvs = system_vg.lvm_lvs + expect(system_pvs).to contain_exactly( an_object_having_attributes(name: "/dev/sda2", size: 40.GiB) ) @@ -1060,7 +1367,7 @@ def partition_config(name: nil, filesystem: nil, size: nil) an_object_having_attributes( lv_name: "home", lv_type: Y2Storage::LvType::NORMAL, - size: 5.GiB - 4.MiB, + size: 2.GiB, filesystem: an_object_having_attributes( type: Y2Storage::Filesystems::Type::XFS, mount_path: "/home" @@ -1071,14 +1378,6 @@ def partition_config(name: nil, filesystem: nil, size: nil) end context "when a LVM physical volume is not found" do - let(:initial_config) do - Agama::Storage::ConfigConversions::FromJSON - .new(config_json, product_config: product_config) - .convert - end - - let(:product_config) { Agama::Config.new } - let(:config_json) do { drives: [ @@ -1127,14 +1426,6 @@ def partition_config(name: nil, filesystem: nil, size: nil) end context "when a LVM thin pool volume is not found" do - let(:initial_config) do - Agama::Storage::ConfigConversions::FromJSON - .new(config_json, product_config: product_config) - .convert - end - - let(:product_config) { Agama::Config.new } - let(:config_json) do { drives: [ diff --git a/web/package-lock.json b/web/package-lock.json index aef5ecc901..b78204f240 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -7,6 +7,7 @@ "name": "agama", "license": "LGPL-2.1", "dependencies": { + "@date-fns/tz": "^1.1.2", "@icons-pack/react-simple-icons": "^10.0.0", "@material-symbols/svg-400": "^0.23.0", "@patternfly/patternfly": "^5.1.0", @@ -40,6 +41,8 @@ "@testing-library/react": "^16.0.1", "@testing-library/user-event": "^14.5.1", "@types/jest": "^29.5.12", + "@types/react": "^18.3.8", + "@types/react-dom": "^18.3.0", "@types/webpack-env": "^1.18.5", "@typescript-eslint/eslint-plugin": "^8.6.0", "@typescript-eslint/parser": "^8.6.0", @@ -2752,6 +2755,12 @@ "postcss-selector-parser": "^6.1.0" } }, + "node_modules/@date-fns/tz": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.1.2.tgz", + "integrity": "sha512-Xmg2cPmOPQieCLAdf62KtFPU9y7wbQDq1OAzrs/bEQFvhtCPXDiks1CHDE/sTXReRfh/MICVkw/vY6OANHUGiA==", + "license": "MIT" + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -5205,9 +5214,7 @@ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/@types/qs": { "version": "6.9.16", @@ -5224,13 +5231,11 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", - "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", + "version": "18.3.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.8.tgz", + "integrity": "sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -5242,8 +5247,6 @@ "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "@types/react": "*" } @@ -8466,9 +8469,7 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/data-urls": { "version": "4.0.0", diff --git a/web/package.json b/web/package.json index 179a98883e..a32770c1db 100644 --- a/web/package.json +++ b/web/package.json @@ -44,6 +44,8 @@ "@testing-library/react": "^16.0.1", "@testing-library/user-event": "^14.5.1", "@types/jest": "^29.5.12", + "@types/react": "^18.3.8", + "@types/react-dom": "^18.3.0", "@types/webpack-env": "^1.18.5", "@typescript-eslint/eslint-plugin": "^8.6.0", "@typescript-eslint/parser": "^8.6.0", @@ -105,6 +107,7 @@ "webpack-dev-server": "^5.0.4" }, "dependencies": { + "@date-fns/tz": "^1.1.2", "@icons-pack/react-simple-icons": "^10.0.0", "@material-symbols/svg-400": "^0.23.0", "@patternfly/patternfly": "^5.1.0", diff --git a/web/package/_service b/web/package/_service index a1ca8be132..0e4837cff3 100644 --- a/web/package/_service +++ b/web/package/_service @@ -2,8 +2,12 @@ @PARENT_TAG@+@TAG_OFFSET@ v(.*) - https://github.com/openSUSE/agama.git + + https://github.com/agama-project/agama.git git + master web enable diff --git a/web/package/agama-web-ui.changes b/web/package/agama-web-ui.changes index 1818b7cd7c..515e683344 100644 --- a/web/package/agama-web-ui.changes +++ b/web/package/agama-web-ui.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Mon Sep 30 08:52:36 UTC 2024 - Imobach Gonzalez Sosa + +- Fix timezones UTC offset calculation (gh#agama-project/agama#1335). + +------------------------------------------------------------------- +Fri Sep 27 14:54:46 UTC 2024 - Imobach Gonzalez Sosa + +- Translate overview page headers and a missing text in the + networking page (gh#agama-project/agama#1629). + +------------------------------------------------------------------- +Fri Sep 27 13:00:05 UTC 2024 - Imobach Gonzalez Sosa + +- Properly translate the storage interface when switching + the language of the UI (gh#agama-project/agama#1629). + ------------------------------------------------------------------- Mon Sep 23 09:04:56 UTC 2024 - Knut Anderssen diff --git a/web/po/README.md b/web/po/README.md index 7a77b16c90..36f25e37bd 100644 --- a/web/po/README.md +++ b/web/po/README.md @@ -7,7 +7,7 @@ installer. See more details in the main [i18n](../../doc/i18n.md) documentation. :warning: *WARNING: Do not manually change any files here! The files are automatically overwritten by the files from the -[agama-weblate](https://github.com/openSUSE/agama-weblate/tree/master/web) Git +[agama-weblate](https://github.com/agama-project/agama-weblate/tree/master/web) Git repository! Your changes would be lost on the next synchronization!* :warning: For updating the translations use the [Agama Weblate @@ -17,6 +17,6 @@ and later a pull request with the changes is automatically created for merging the changes here. Alternatively you can open a pull request against the -[agama-weblate](https://github.com/openSUSE/agama-weblate/web) GitHub +[agama-weblate](https://github.com/agama-project/agama-weblate/web) GitHub repository. But that requires manual approving and merging, prefer using the Weblate tool, it merges automatically. diff --git a/web/po/ca.po b/web/po/ca.po index bc9416e349..d94f88ee1f 100644 --- a/web/po/ca.po +++ b/web/po/ca.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-16 07:57+0000\n" -"PO-Revision-Date: 2024-07-25 08:46+0000\n" +"POT-Creation-Date: 2024-09-22 02:43+0000\n" +"PO-Revision-Date: 2024-09-19 09:48+0000\n" "Last-Translator: David Medina \n" "Language-Team: Catalan \n" @@ -17,17 +17,17 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" -#: src/components/core/About.tsx:46 +#: src/components/core/About.tsx:47 msgid "About" msgstr "Quant a" -#: src/components/core/About.tsx:64 +#: src/components/core/About.tsx:65 msgid "About Agama" msgstr "Quant a Agama" -#: src/components/core/About.tsx:69 +#: src/components/core/About.tsx:70 msgid "" "Agama is an experimental installer for (open)SUSE systems. It is still under " "development so, please, do not use it in production environments. If you " @@ -41,26 +41,26 @@ msgstr "" #. TRANSLATORS: content of the "About" popup (2/2) #. %s is replaced by the project URL -#: src/components/core/About.tsx:81 +#: src/components/core/About.tsx:82 #, c-format msgid "For more information, please visit the project's repository at %s." msgstr "" "Per obtenir-ne més informació, visiteu el repositori del projecte a %s." -#: src/components/core/About.tsx:87 src/components/core/LogsButton.tsx:123 -#: src/components/software/SoftwarePatternsSelection.tsx:205 +#: src/components/core/About.tsx:88 src/components/core/LogsButton.tsx:124 +#: src/components/software/SoftwarePatternsSelection.tsx:206 msgid "Close" msgstr "Tanca" -#: src/components/core/ChangeProductLink.tsx:38 +#: src/components/core/ChangeProductLink.tsx:39 msgid "Change product" msgstr "Canvia el producte" -#: src/components/core/InstallButton.jsx:32 +#: src/components/core/InstallButton.jsx:33 msgid "Confirm Installation" msgstr "Confirmeu la instal·lació" -#: src/components/core/InstallButton.jsx:36 +#: src/components/core/InstallButton.jsx:37 msgid "" "If you continue, partitions on your hard disk will be modified according to " "the provided installation settings." @@ -68,34 +68,34 @@ msgstr "" "Si continueu, les particions del disc dur es modificaran segons la " "configuració d'instal·lació proporcionada." -#: src/components/core/InstallButton.jsx:40 +#: src/components/core/InstallButton.jsx:41 msgid "Please, cancel and check the settings if you are unsure." msgstr "" "Si us plau, cancel·leu i comproveu-ne la configuració si no n'esteu segur." #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:45 +#: src/components/core/InstallButton.jsx:46 msgid "Continue" msgstr "Continua" #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:49 src/components/core/Page.tsx:237 -#: src/components/core/Popup.jsx:132 -#: src/components/network/WifiConnectionForm.tsx:146 -#: src/components/product/ProductSelectionPage.tsx:122 +#: src/components/core/InstallButton.jsx:50 src/components/core/Page.tsx:238 +#: src/components/core/Popup.jsx:133 +#: src/components/network/WifiConnectionForm.tsx:145 +#: src/components/product/ProductSelectionPage.tsx:123 msgid "Cancel" msgstr "Cancel·la" #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:84 +#: src/components/core/InstallButton.jsx:85 msgid "Install" msgstr "Instal·la" -#: src/components/core/InstallationFinished.jsx:49 +#: src/components/core/InstallationFinished.jsx:50 msgid "TPM sealing requires the new system to be booted directly." msgstr "El segellament TPM requereix que el sistema nou s'iniciï directament." -#: src/components/core/InstallationFinished.jsx:54 +#: src/components/core/InstallationFinished.jsx:55 msgid "" "If a local media was used to run this installer, remove it before the next " "boot." @@ -103,15 +103,15 @@ msgstr "" "Si s'ha usat un mitjà local per executar aquest instal·lador, traieu-lo " "abans de la propera arrencada." -#: src/components/core/InstallationFinished.jsx:58 +#: src/components/core/InstallationFinished.jsx:59 msgid "Hide details" msgstr "Amaga els detalls" -#: src/components/core/InstallationFinished.jsx:58 +#: src/components/core/InstallationFinished.jsx:59 msgid "See more details" msgstr "Mostra'n més detalls" -#: src/components/core/InstallationFinished.jsx:63 +#: src/components/core/InstallationFinished.jsx:64 msgid "" "The final step to configure the Trusted Platform Module (TPM) to " "automatically open encrypted devices will take place during the first boot " @@ -123,128 +123,127 @@ msgstr "" "arrencada del nou sistema. Perquè això funcioni, la màquina ha d'arrencar " "directament amb el carregador d'arrencada nou." -#: src/components/core/InstallationFinished.jsx:106 +#: src/components/core/InstallationFinished.jsx:107 msgid "Congratulations!" msgstr "Enhorabona!" -#: src/components/core/InstallationFinished.jsx:115 +#: src/components/core/InstallationFinished.jsx:116 msgid "The installation on your machine is complete." msgstr "La instal·lació a la màquina s'ha completat." -#: src/components/core/InstallationFinished.jsx:118 +#: src/components/core/InstallationFinished.jsx:119 msgid "At this point you can power off the machine." msgstr "En aquest punt, podeu aturar la màquina." -#: src/components/core/InstallationFinished.jsx:120 +#: src/components/core/InstallationFinished.jsx:121 msgid "At this point you can reboot the machine to log in to the new system." msgstr "" "En aquest punt, podeu reiniciar la màquina per iniciar sessió al sistema nou." -#: src/components/core/InstallationFinished.jsx:129 +#: src/components/core/InstallationFinished.jsx:130 msgid "Finish" msgstr "Acaba" -#: src/components/core/InstallationFinished.jsx:129 +#: src/components/core/InstallationFinished.jsx:130 msgid "Reboot" msgstr "Reinicia" -#: src/components/core/InstallationProgress.jsx:30 +#: src/components/core/InstallationProgress.jsx:31 msgid "Installing the system, please wait ..." msgstr "Instal·lant el sistema. Espereu, si us plau..." -#: src/components/core/InstallerOptions.jsx:92 +#: src/components/core/InstallerOptions.jsx:93 msgid "Show installer options" msgstr "Mostra les opcions de l'instal·lador" -#: src/components/core/InstallerOptions.jsx:95 +#: src/components/core/InstallerOptions.jsx:96 msgid "Installer options" msgstr "Opcions de l'instal·lador" -#: src/components/core/InstallerOptions.jsx:98 -#: src/components/core/InstallerOptions.jsx:102 +#: src/components/core/InstallerOptions.jsx:99 #: src/components/core/InstallerOptions.jsx:103 -#: src/components/l10n/L10nPage.jsx:48 +#: src/components/core/InstallerOptions.jsx:104 +#: src/components/l10n/L10nPage.jsx:49 msgid "Language" msgstr "Llengua" -#: src/components/core/InstallerOptions.jsx:115 -#: src/components/core/InstallerOptions.jsx:120 +#: src/components/core/InstallerOptions.jsx:116 +#: src/components/core/InstallerOptions.jsx:121 msgid "Keyboard layout" msgstr "Disposició del teclat" -#: src/components/core/InstallerOptions.jsx:129 +#: src/components/core/InstallerOptions.jsx:130 msgid "Cannot be changed in remote installation" msgstr "No es pot canviar a la instal·lació remota." -#: src/components/core/InstallerOptions.jsx:142 -#: src/components/core/Page.tsx:270 -#: src/components/storage/EncryptionSettingsDialog.tsx:153 -#: src/components/storage/VolumeDialog.tsx:640 -#: src/components/storage/ZFCPPage.jsx:528 +#: src/components/core/InstallerOptions.jsx:143 +#: src/components/core/Page.tsx:271 +#: src/components/storage/EncryptionSettingsDialog.tsx:154 +#: src/components/storage/VolumeDialog.tsx:641 msgid "Accept" msgstr "Accepta-ho" -#: src/components/core/IssuesHint.jsx:34 +#: src/components/core/IssuesHint.jsx:35 msgid "" "Before starting the installation, you need to address the following problems:" msgstr "" "Abans de començar la instal·lació, heu de resoldre els problemes següents:" -#: src/components/core/ListSearch.jsx:48 +#: src/components/core/ListSearch.jsx:49 msgid "Search" msgstr "Cerca" -#: src/components/core/LoginPage.tsx:59 +#: src/components/core/LoginPage.tsx:60 msgid "Could not log in. Please, make sure that the password is correct." msgstr "" "No s'ha pogut iniciar la sessió. Si us plau, assegureu-vos que la " "contrasenya sigui correcta." -#: src/components/core/LoginPage.tsx:61 +#: src/components/core/LoginPage.tsx:62 msgid "Could not authenticate against the server, please check it." msgstr "No s'ha pogut autenticar amb el servidor. Si us plau, reviseu-ho." #. TRANSLATORS: Title for a form to provide the password for the root user. %s #. will be replaced by "root" -#: src/components/core/LoginPage.tsx:69 +#: src/components/core/LoginPage.tsx:70 #, c-format msgid "Log in as %s" msgstr "Inicieu sessió com a %s" -#: src/components/core/LoginPage.tsx:75 +#: src/components/core/LoginPage.tsx:76 msgid "The installer requires [root] user privileges." msgstr "L'instal·lador requereix privilegis de l'usuari [root]." -#: src/components/core/LoginPage.tsx:90 +#: src/components/core/LoginPage.tsx:91 msgid "Please, provide its password to log in to the system." msgstr "" "Si us plau, proporcioneu-ne la contrasenya per iniciar sessió al sistema." -#: src/components/core/LoginPage.tsx:91 +#: src/components/core/LoginPage.tsx:92 msgid "Login form" msgstr "Forma d'entrada" -#: src/components/core/LoginPage.tsx:97 +#: src/components/core/LoginPage.tsx:98 msgid "Password input" msgstr "Introducció de contrasenya" -#: src/components/core/LoginPage.tsx:106 +#: src/components/core/LoginPage.tsx:107 msgid "Log in" msgstr "Inicia la sessió" -#: src/components/core/LoginPage.tsx:113 +#: src/components/core/LoginPage.tsx:114 msgid "More about this" msgstr "Més sobre això" -#: src/components/core/LogsButton.tsx:98 +#: src/components/core/LogsButton.tsx:99 msgid "Collecting logs..." msgstr "Recopilant registres..." -#: src/components/core/LogsButton.tsx:98 src/components/core/LogsButton.tsx:101 +#: src/components/core/LogsButton.tsx:99 src/components/core/LogsButton.tsx:102 msgid "Download logs" msgstr "Baixa els registres" -#: src/components/core/LogsButton.tsx:108 +#: src/components/core/LogsButton.tsx:109 msgid "" "The browser will run the logs download as soon as they are ready. Please, be " "patient." @@ -252,348 +251,347 @@ msgstr "" "El navegador executarà la baixada de registres així que estiguin a punt. Si " "us plau, tingueu paciència." -#: src/components/core/LogsButton.tsx:118 +#: src/components/core/LogsButton.tsx:119 msgid "Something went wrong while collecting logs. Please, try again." msgstr "" "Hi ha hagut un error durant la recopilació de registres. Torneu-ho a provar." -#: src/components/core/Page.tsx:259 +#: src/components/core/Page.tsx:260 msgid "Back" msgstr "Enrere" -#: src/components/core/PasswordAndConfirmationInput.tsx:64 +#: src/components/core/PasswordAndConfirmationInput.tsx:65 msgid "Passwords do not match" msgstr "Les contrasenyes no coincideixen." #. TRANSLATORS: field label -#: src/components/core/PasswordAndConfirmationInput.tsx:88 -#: src/components/network/WifiConnectionForm.tsx:133 -#: src/components/questions/QuestionWithPassword.tsx:62 -#: src/components/storage/iscsi/AuthFields.jsx:90 -#: src/components/storage/iscsi/AuthFields.jsx:94 -#: src/components/users/RootAuthMethods.tsx:76 +#: src/components/core/PasswordAndConfirmationInput.tsx:89 +#: src/components/network/WifiConnectionForm.tsx:132 +#: src/components/questions/QuestionWithPassword.tsx:63 +#: src/components/storage/iscsi/AuthFields.jsx:91 +#: src/components/storage/iscsi/AuthFields.jsx:95 +#: src/components/users/RootAuthMethods.tsx:77 msgid "Password" msgstr "Contrasenya" -#: src/components/core/PasswordAndConfirmationInput.tsx:99 +#: src/components/core/PasswordAndConfirmationInput.tsx:100 msgid "Password confirmation" msgstr "Confirmació de la contrasenya" -#: src/components/core/PasswordInput.jsx:61 +#: src/components/core/PasswordInput.jsx:62 msgid "Password visibility button" msgstr "Botó de visibilitat de la contrasenya" -#: src/components/core/Popup.jsx:92 +#: src/components/core/Popup.jsx:93 msgid "Confirm" msgstr "Confirmeu-ho" #. TRANSLATORS: progress message -#: src/components/core/Popup.jsx:210 +#: src/components/core/Popup.jsx:211 msgid "Loading data..." msgstr "Carregant dades..." -#: src/components/core/ProgressReport.jsx:50 +#: src/components/core/ProgressReport.jsx:51 msgid "Pending" msgstr "Pendent" -#: src/components/core/ProgressReport.jsx:59 +#: src/components/core/ProgressReport.jsx:60 msgid "In progress" msgstr "En curs" -#: src/components/core/ProgressReport.jsx:74 +#: src/components/core/ProgressReport.jsx:75 msgid "Finished" msgstr "Acabada" -#: src/components/core/RowActions.jsx:64 -#: src/components/storage/PartitionsField.tsx:457 -#: src/components/storage/ProposalActionsSummary.tsx:241 +#: src/components/core/RowActions.jsx:65 +#: src/components/storage/PartitionsField.tsx:458 +#: src/components/storage/ProposalActionsSummary.tsx:242 msgid "Actions" msgstr "Accions" -#: src/components/core/SectionSkeleton.jsx:27 +#: src/components/core/SectionSkeleton.jsx:28 msgid "Waiting" msgstr "Escrivint" -#: src/components/core/ServerError.jsx:47 +#: src/components/core/ServerError.tsx:46 msgid "Cannot connect to Agama server" msgstr "No es pot connectar amb el servidor d'Agama." -#: src/components/core/ServerError.jsx:51 +#: src/components/core/ServerError.tsx:50 msgid "Please, check whether it is running." msgstr "Si us plau, comproveu si s'executa." -#: src/components/core/ServerError.jsx:56 +#: src/components/core/ServerError.tsx:56 msgid "Reload" msgstr "Torna a carregar" -#: src/components/l10n/KeyboardSelection.tsx:41 +#: src/components/l10n/KeyboardSelection.tsx:42 msgid "Filter by description or keymap code" msgstr "Filtra per descripció o codi de mapa de tecles" -#: src/components/l10n/KeyboardSelection.tsx:71 +#: src/components/l10n/KeyboardSelection.tsx:72 msgid "None of the keymaps match the filter." msgstr "Cap dels mapes de tecles coincideix amb el filtre." -#: src/components/l10n/KeyboardSelection.tsx:77 +#: src/components/l10n/KeyboardSelection.tsx:78 msgid "Keyboard selection" msgstr "Selecció del teclat" -#: src/components/l10n/KeyboardSelection.tsx:91 -#: src/components/l10n/L10nPage.jsx:52 src/components/l10n/L10nPage.jsx:63 -#: src/components/l10n/L10nPage.jsx:74 -#: src/components/l10n/LocaleSelection.tsx:92 -#: src/components/l10n/TimezoneSelection.tsx:130 -#: src/components/product/ProductSelectionPage.tsx:128 -#: src/components/software/SoftwarePatternsSelection.tsx:166 +#: src/components/l10n/KeyboardSelection.tsx:92 +#: src/components/l10n/L10nPage.jsx:53 src/components/l10n/L10nPage.jsx:64 +#: src/components/l10n/L10nPage.jsx:75 +#: src/components/l10n/LocaleSelection.tsx:93 +#: src/components/l10n/TimezoneSelection.tsx:131 +#: src/components/product/ProductSelectionPage.tsx:129 +#: src/components/software/SoftwarePatternsSelection.tsx:167 msgid "Select" msgstr "Selecciona" -#: src/components/l10n/L10nPage.jsx:41 -#: src/components/overview/L10nSection.jsx:37 src/routes/l10n.tsx:37 +#: src/components/l10n/L10nPage.jsx:42 +#: src/components/overview/L10nSection.jsx:38 src/routes/l10n.tsx:38 msgid "Localization" msgstr "Localització" -#: src/components/l10n/L10nPage.jsx:49 src/components/l10n/L10nPage.jsx:60 -#: src/components/l10n/L10nPage.jsx:71 +#: src/components/l10n/L10nPage.jsx:50 src/components/l10n/L10nPage.jsx:61 +#: src/components/l10n/L10nPage.jsx:72 msgid "Not selected yet" msgstr "Encara no s'ha seleccionat." -#: src/components/l10n/L10nPage.jsx:52 src/components/l10n/L10nPage.jsx:63 -#: src/components/l10n/L10nPage.jsx:74 -#: src/components/network/NetworkPage.tsx:63 -#: src/components/storage/InstallationDeviceField.tsx:105 -#: src/components/storage/ProposalActionsSummary.tsx:246 -#: src/components/users/RootAuthMethods.tsx:113 -#: src/components/users/RootAuthMethods.tsx:125 +#: src/components/l10n/L10nPage.jsx:53 src/components/l10n/L10nPage.jsx:64 +#: src/components/l10n/L10nPage.jsx:75 +#: src/components/network/NetworkPage.tsx:64 +#: src/components/storage/InstallationDeviceField.tsx:106 +#: src/components/storage/ProposalActionsSummary.tsx:248 +#: src/components/users/RootAuthMethods.tsx:114 +#: src/components/users/RootAuthMethods.tsx:126 msgid "Change" msgstr "Canvia" -#: src/components/l10n/L10nPage.jsx:59 +#: src/components/l10n/L10nPage.jsx:60 msgid "Keyboard" msgstr "Teclat" -#: src/components/l10n/L10nPage.jsx:70 +#: src/components/l10n/L10nPage.jsx:71 msgid "Time zone" msgstr "Zona horària" -#: src/components/l10n/LocaleSelection.tsx:39 +#: src/components/l10n/LocaleSelection.tsx:40 msgid "Filter by language, territory or locale code" msgstr "Filtra per llengua, territori o codi local" -#: src/components/l10n/LocaleSelection.tsx:72 +#: src/components/l10n/LocaleSelection.tsx:73 msgid "None of the locales match the filter." msgstr "Cap de les llengües coincideix amb el filtre." -#: src/components/l10n/LocaleSelection.tsx:78 +#: src/components/l10n/LocaleSelection.tsx:79 msgid "Locale selection" msgstr "Selecció de la llengua" -#: src/components/l10n/TimezoneSelection.tsx:67 +#: src/components/l10n/TimezoneSelection.tsx:68 msgid "Filter by territory, time zone code or UTC offset" msgstr "Filtra per territori, codi de zona horària o desplaçament d'UTC" -#: src/components/l10n/TimezoneSelection.tsx:106 +#: src/components/l10n/TimezoneSelection.tsx:107 msgid "None of the time zones match the filter." msgstr "Cap de les zones horàries coincideix amb el filtre." -#: src/components/l10n/TimezoneSelection.tsx:112 +#: src/components/l10n/TimezoneSelection.tsx:113 msgid " Timezone selection" msgstr " Selecció de la zona horària" -#: src/components/layout/Header.tsx:61 +#: src/components/layout/Header.tsx:62 msgid "Main navigation" -msgstr "" +msgstr "Navegació principal" -#: src/components/layout/Loading.jsx:29 +#: src/components/layout/Loading.jsx:30 msgid "Loading installation environment, please wait." msgstr "Carregant l'entorn d'instal·lació. Espereu, si us plau." #. TRANSLATORS: button label -#: src/components/network/AddressesDataList.tsx:102 -#: src/components/network/DnsDataList.tsx:106 +#: src/components/network/AddressesDataList.tsx:103 +#: src/components/network/DnsDataList.tsx:107 msgid "Remove" msgstr "Suprimeix" #. TRANSLATORS: input field name -#: src/components/network/AddressesDataList.tsx:112 -#: src/components/network/IpAddressInput.tsx:34 +#: src/components/network/AddressesDataList.tsx:113 +#: src/components/network/IpAddressInput.tsx:35 msgid "IP Address" msgstr "Adreça IP" #. TRANSLATORS: input field name -#: src/components/network/AddressesDataList.tsx:120 +#: src/components/network/AddressesDataList.tsx:121 msgid "Prefix length or netmask" msgstr "Longitud del prefix o màscara de xarxa" -#: src/components/network/AddressesDataList.tsx:138 +#: src/components/network/AddressesDataList.tsx:139 msgid "Add an address" msgstr "Afegeix-hi una adreça" #. TRANSLATORS: button label -#: src/components/network/AddressesDataList.tsx:138 +#: src/components/network/AddressesDataList.tsx:139 msgid "Add another address" msgstr "Afegeix-hi una altra adreça" -#: src/components/network/AddressesDataList.tsx:143 +#: src/components/network/AddressesDataList.tsx:144 msgid "Addresses" msgstr "Adreces" -#: src/components/network/AddressesDataList.tsx:146 +#: src/components/network/AddressesDataList.tsx:147 msgid "Addresses data list" msgstr "Llista de dades d'adreces" -#. TRANSLATORS: table header #. TRANSLATORS: input field for the iSCSI initiator name -#: src/components/network/ConnectionsTable.tsx:65 -#: src/components/network/ConnectionsTable.tsx:94 -#: src/components/storage/ZFCPPage.jsx:381 -#: src/components/storage/iscsi/InitiatorForm.tsx:52 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:53 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:70 -#: src/components/storage/iscsi/NodesPresenter.jsx:99 -#: src/components/storage/iscsi/NodesPresenter.jsx:120 +#. TRANSLATORS: table header +#: src/components/network/ConnectionsTable.tsx:66 +#: src/components/network/ConnectionsTable.tsx:95 +#: src/components/storage/iscsi/InitiatorForm.tsx:53 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:54 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:71 +#: src/components/storage/iscsi/NodesPresenter.jsx:100 +#: src/components/storage/iscsi/NodesPresenter.jsx:121 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:42 msgid "Name" msgstr "Nom" #. TRANSLATORS: table header -#: src/components/network/ConnectionsTable.tsx:67 -#: src/components/network/ConnectionsTable.tsx:95 +#: src/components/network/ConnectionsTable.tsx:68 +#: src/components/network/ConnectionsTable.tsx:96 msgid "IP addresses" msgstr "Adreces IP" #. TRANSLATORS: table header aria label -#: src/components/network/ConnectionsTable.tsx:69 +#: src/components/network/ConnectionsTable.tsx:70 msgid "Connection actions" msgstr "Accions de connexió" -#: src/components/network/ConnectionsTable.tsx:76 -#: src/components/network/WifiNetworksListPage.tsx:127 -#: src/components/network/WifiNetworksListPage.tsx:151 -#: src/components/storage/PartitionsField.tsx:312 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:44 -#: src/components/storage/iscsi/NodesPresenter.jsx:74 -#: src/components/users/FirstUser.tsx:83 +#: src/components/network/ConnectionsTable.tsx:77 +#: src/components/network/WifiNetworksListPage.tsx:128 +#: src/components/network/WifiNetworksListPage.tsx:152 +#: src/components/storage/PartitionsField.tsx:313 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:45 +#: src/components/storage/iscsi/NodesPresenter.jsx:75 +#: src/components/users/FirstUser.tsx:84 msgid "Edit" msgstr "Edita" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:79 -#: src/components/network/IpSettingsForm.tsx:146 +#: src/components/network/ConnectionsTable.tsx:80 +#: src/components/network/IpSettingsForm.tsx:147 #, c-format msgid "Edit connection %s" msgstr "Edita la connexió %s" -#: src/components/network/ConnectionsTable.tsx:83 -#: src/components/network/WifiNetworksListPage.tsx:130 -#: src/components/network/WifiNetworksListPage.tsx:154 +#: src/components/network/ConnectionsTable.tsx:84 +#: src/components/network/WifiNetworksListPage.tsx:131 +#: src/components/network/WifiNetworksListPage.tsx:155 msgid "Forget" msgstr "Oblida-la" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:85 +#: src/components/network/ConnectionsTable.tsx:86 #, c-format msgid "Forget connection %s" msgstr "Oblida la connexió %s" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:100 +#: src/components/network/ConnectionsTable.tsx:101 #, c-format msgid "Actions for connection %s" msgstr "Accions per a la connexió %s" #. TRANSLATORS: input field name -#: src/components/network/DnsDataList.tsx:90 +#: src/components/network/DnsDataList.tsx:91 msgid "Server IP" msgstr "IP del servidor" -#: src/components/network/DnsDataList.tsx:115 +#: src/components/network/DnsDataList.tsx:116 msgid "Add DNS" msgstr "Afegeix-hi un DNS" #. TRANSLATORS: button label -#: src/components/network/DnsDataList.tsx:115 +#: src/components/network/DnsDataList.tsx:116 msgid "Add another DNS" msgstr "Afegeix-hi un altre DNS" -#: src/components/network/DnsDataList.tsx:120 +#: src/components/network/DnsDataList.tsx:121 msgid "DNS" msgstr "DNS" -#: src/components/network/IpPrefixInput.tsx:34 -#, fuzzy +#: src/components/network/IpPrefixInput.tsx:35 msgid "Ip prefix or netmask" msgstr "Prefix IP o màscara de xarxa" #. TRANSLATORS: error message -#: src/components/network/IpSettingsForm.tsx:102 +#: src/components/network/IpSettingsForm.tsx:103 msgid "At least one address must be provided for selected mode" msgstr "S'ha de proporcionar almenys una adreça per al mode seleccionat." #. TRANSLATORS: network connection mode (automatic via DHCP or manual with static IP) -#: src/components/network/IpSettingsForm.tsx:156 -#: src/components/network/IpSettingsForm.tsx:161 -#: src/components/network/IpSettingsForm.tsx:163 +#: src/components/network/IpSettingsForm.tsx:157 +#: src/components/network/IpSettingsForm.tsx:162 +#: src/components/network/IpSettingsForm.tsx:164 msgid "Mode" msgstr "Mode" -#: src/components/network/IpSettingsForm.tsx:170 +#: src/components/network/IpSettingsForm.tsx:171 msgid "Automatic (DHCP)" msgstr "Automàtic (DHCP)" -#: src/components/network/IpSettingsForm.tsx:176 -#: src/components/storage/iscsi/NodeStartupOptions.js:25 +#: src/components/network/IpSettingsForm.tsx:177 +#: src/components/storage/iscsi/NodeStartupOptions.js:26 msgid "Manual" msgstr "Manual" #. TRANSLATORS: network gateway configuration -#: src/components/network/IpSettingsForm.tsx:185 -#: src/components/network/IpSettingsForm.tsx:188 +#: src/components/network/IpSettingsForm.tsx:186 +#: src/components/network/IpSettingsForm.tsx:189 msgid "Gateway" msgstr "Passarel·la" -#: src/components/network/IpSettingsForm.tsx:197 +#: src/components/network/IpSettingsForm.tsx:198 msgid "Gateway can be defined only in 'Manual' mode" msgstr "La passarel·la només es pot definir en mode manual." -#: src/components/network/NetworkPage.tsx:37 +#: src/components/network/NetworkPage.tsx:38 msgid "Wired" msgstr "Amb fil" -#: src/components/network/NetworkPage.tsx:44 +#: src/components/network/NetworkPage.tsx:45 msgid "No wired connections found" msgstr "No s'ha trobat cap connexió amb fil." -#: src/components/network/NetworkPage.tsx:60 +#: src/components/network/NetworkPage.tsx:61 msgid "Wi-Fi" msgstr "Wifi" #. TRANSLATORS: button label, connect to a WiFi network -#: src/components/network/NetworkPage.tsx:63 -#: src/components/network/WifiConnectionForm.tsx:142 -#: src/components/network/WifiNetworksListPage.tsx:125 +#: src/components/network/NetworkPage.tsx:64 +#: src/components/network/WifiConnectionForm.tsx:141 +#: src/components/network/WifiNetworksListPage.tsx:126 msgid "Connect" msgstr "Connecta't" -#: src/components/network/NetworkPage.tsx:69 -#, fuzzy, c-format +#: src/components/network/NetworkPage.tsx:70 +#, c-format msgid "Connected to %s" msgstr "Connectat amb %s" -#: src/components/network/NetworkPage.tsx:76 +#: src/components/network/NetworkPage.tsx:77 msgid "No connected yet" msgstr "Encara no s'ha connetat." -#: src/components/network/NetworkPage.tsx:77 +#: src/components/network/NetworkPage.tsx:78 msgid "" "The system has not been configured for connecting to a Wi-Fi network yet." msgstr "" "El sistema encara no s'ha configurat per connectar-se a una xarxa de wifi." -#: src/components/network/NetworkPage.tsx:86 +#: src/components/network/NetworkPage.tsx:87 msgid "No Wi-Fi supported" msgstr "No és compatible amb Wi-Fi." -#: src/components/network/NetworkPage.tsx:88 +#: src/components/network/NetworkPage.tsx:89 msgid "" "The system does not support Wi-Fi connections, probably because of missing " "or disabled hardware." @@ -601,141 +599,138 @@ msgstr "" "El sistema no admet connexions de wifi, probablement a causa de maquinari " "que manca o que està inhabilitat." -#: src/components/network/NetworkPage.tsx:105 src/routes/network.tsx:36 +#: src/components/network/NetworkPage.tsx:106 src/routes/network.tsx:37 msgid "Network" msgstr "Xarxa" #. TRANSLATORS: WiFi authentication mode -#: src/components/network/WifiConnectionForm.tsx:50 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/network/WifiConnectionForm.tsx:49 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:58 msgid "None" msgstr "Cap" #. TRANSLATORS: WiFi authentication mode -#: src/components/network/WifiConnectionForm.tsx:52 +#: src/components/network/WifiConnectionForm.tsx:51 msgid "WPA & WPA2 Personal" msgstr "WPA i WPA2 personal" #. TRANSLATORS: accessible name for the WiFi connection form -#: src/components/network/WifiConnectionForm.tsx:94 -#, fuzzy +#: src/components/network/WifiConnectionForm.tsx:93 msgid "WiFi connection form" -msgstr "Connexions WiFi" +msgstr "Formulari de connexió per WiFi" -#: src/components/network/WifiConnectionForm.tsx:101 -#, fuzzy +#: src/components/network/WifiConnectionForm.tsx:100 msgid "Authentication failed, please try again" -msgstr "Autenticació per destinació" +msgstr "Hi ha hagut un error d'autenticació. Torneu-ho a provar." -#: src/components/network/WifiConnectionForm.tsx:102 -#: src/components/storage/ZFCPDiskForm.jsx:105 -#: src/components/storage/iscsi/DiscoverForm.tsx:98 -#: src/components/storage/iscsi/LoginForm.jsx:69 -#: src/components/users/FirstUserForm.tsx:210 +#: src/components/network/WifiConnectionForm.tsx:101 +#: src/components/storage/iscsi/DiscoverForm.tsx:99 +#: src/components/storage/iscsi/LoginForm.jsx:70 +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:114 +#: src/components/users/FirstUserForm.tsx:211 msgid "Something went wrong" msgstr "Alguna cosa ha anat malament." -#: src/components/network/WifiConnectionForm.tsx:105 +#: src/components/network/WifiConnectionForm.tsx:104 msgid "Please, review provided settings and try again." msgstr "" "Si us plau, reviseu la configuració proporcionada i torneu-ho a provar." #. TRANSLATORS: SSID (Wifi network name) configuration -#: src/components/network/WifiConnectionForm.tsx:111 +#: src/components/network/WifiConnectionForm.tsx:110 msgid "SSID" msgstr "SSID" #. TRANSLATORS: Wifi security configuration (password protected or not) -#: src/components/network/WifiConnectionForm.tsx:117 -#: src/components/network/WifiConnectionForm.tsx:120 +#: src/components/network/WifiConnectionForm.tsx:116 +#: src/components/network/WifiConnectionForm.tsx:119 msgid "Security" msgstr "Seguretat" #. TRANSLATORS: WiFi password -#: src/components/network/WifiConnectionForm.tsx:129 +#: src/components/network/WifiConnectionForm.tsx:128 msgid "WPA Password" msgstr "Contrasenya de WPA" #. TRANSLATORS: Wifi network status -#: src/components/network/WifiNetworksListPage.tsx:72 -#: src/components/network/WifiNetworksListPage.tsx:138 +#: src/components/network/WifiNetworksListPage.tsx:73 +#: src/components/network/WifiNetworksListPage.tsx:139 msgid "Connecting" msgstr "Connectant" #. TRANSLATORS: Wifi network status -#: src/components/network/WifiNetworksListPage.tsx:75 -#: src/components/network/WifiNetworksListPage.tsx:142 -#: src/components/network/WifiNetworksListPage.tsx:181 +#: src/components/network/WifiNetworksListPage.tsx:76 +#: src/components/network/WifiNetworksListPage.tsx:143 +#: src/components/network/WifiNetworksListPage.tsx:182 msgid "Connected" msgstr "Connectat" -#. TRANSLATORS: Wifi network status #. TRANSLATORS: iSCSI connection status -#: src/components/network/WifiNetworksListPage.tsx:80 -#: src/components/network/WifiNetworksListPage.tsx:140 -#: src/components/storage/iscsi/NodesPresenter.jsx:64 +#. TRANSLATORS: Wifi network status +#: src/components/network/WifiNetworksListPage.tsx:81 +#: src/components/network/WifiNetworksListPage.tsx:141 +#: src/components/storage/iscsi/NodesPresenter.jsx:65 msgid "Disconnected" msgstr "Desconnectat" -#: src/components/network/WifiNetworksListPage.tsx:148 +#: src/components/network/WifiNetworksListPage.tsx:149 msgid "Disconnect" msgstr "Desconnecta" -#: src/components/network/WifiNetworksListPage.tsx:167 -#: src/components/network/WifiNetworksListPage.tsx:285 +#: src/components/network/WifiNetworksListPage.tsx:168 +#: src/components/network/WifiNetworksListPage.tsx:286 msgid "Connect to hidden network" msgstr "Connecta't a una xarxa oculta" -#: src/components/network/WifiNetworksListPage.tsx:178 +#: src/components/network/WifiNetworksListPage.tsx:179 msgid "configured" msgstr "configurat" -#: src/components/network/WifiNetworksListPage.tsx:270 -#, fuzzy +#: src/components/network/WifiNetworksListPage.tsx:271 msgid "Visible Wi-Fi networks" -msgstr "Xarxes WiFi" +msgstr "Xarxes Wi-Fi visibles" -#: src/components/network/WifiSelectorPage.tsx:35 +#: src/components/network/WifiSelectorPage.tsx:36 msgid "Connect to a Wi-Fi network" msgstr "Connecteu-vos a una xarxa Wi-Fi" #. TRANSLATORS: %s will be replaced by a language name and territory, example: #. "English (United States)". -#: src/components/overview/L10nSection.jsx:33 +#: src/components/overview/L10nSection.jsx:34 #, c-format msgid "The system will use %s as its default language." msgstr "El sistema usarà el %s com a llengua per defecte." -#: src/components/overview/OverviewPage.tsx:47 -#: src/components/users/UsersPage.tsx:35 src/routes/users.tsx:38 +#: src/components/overview/OverviewPage.tsx:48 +#: src/components/users/UsersPage.tsx:36 src/routes/users.tsx:39 msgid "Users" msgstr "Usuaris" -#: src/components/overview/OverviewPage.tsx:48 -#: src/components/overview/StorageSection.jsx:111 -#: src/components/storage/ProposalPage.tsx:107 src/routes/storage.tsx:44 +#: src/components/overview/OverviewPage.tsx:49 +#: src/components/overview/StorageSection.jsx:112 +#: src/components/storage/ProposalPage.tsx:108 src/routes/storage.tsx:51 msgid "Storage" msgstr "Emmagatzematge" -#: src/components/overview/OverviewPage.tsx:49 -#: src/components/overview/SoftwareSection.tsx:69 -#: src/components/software/SoftwarePage.tsx:110 src/routes/software.tsx:36 +#: src/components/overview/OverviewPage.tsx:50 +#: src/components/overview/SoftwareSection.tsx:70 +#: src/components/software/SoftwarePage.tsx:106 src/routes/software.tsx:37 msgid "Software" msgstr "Programari" -#: src/components/overview/OverviewPage.tsx:54 +#: src/components/overview/OverviewPage.tsx:55 msgid "Ready for installation" msgstr "A punt per a la instal·lació" -#: src/components/overview/OverviewPage.tsx:98 +#: src/components/overview/OverviewPage.tsx:99 msgid "Installation" msgstr "Instal·lació" -#: src/components/overview/OverviewPage.tsx:99 +#: src/components/overview/OverviewPage.tsx:100 msgid "Before installing, please check the following problems." msgstr "Abans d'instal·lar, comproveu els problemes següents." -#: src/components/overview/OverviewPage.tsx:113 +#: src/components/overview/OverviewPage.tsx:114 msgid "" "These are the most relevant installation settings. Feel free to browse the " "sections in the menu for further details." @@ -743,7 +738,7 @@ msgstr "" "Aquests són els paràmetres d'instal·lació més rellevants. No dubteu a " "navegar per les seccions del menú per a més detalls." -#: src/components/overview/OverviewPage.tsx:133 +#: src/components/overview/OverviewPage.tsx:134 msgid "" "Take your time to check your configuration before starting the installation " "process." @@ -751,17 +746,17 @@ msgstr "" "Dediqueu el temps que calgui a comprovar la configuració abans de començar " "el procés d'instal·lació." -#: src/components/overview/SoftwareSection.tsx:41 +#: src/components/overview/SoftwareSection.tsx:42 msgid "The installation will take" msgstr "La instal·lació necessitarà" #. TRANSLATORS: %s will be replaced with the installation size, example: "5GiB". -#: src/components/overview/SoftwareSection.tsx:48 +#: src/components/overview/SoftwareSection.tsx:49 #, c-format msgid "The installation will take %s including:" msgstr "La instal·lació necessitarà %s, incloent-hi el següent:" -#: src/components/overview/StorageSection.jsx:53 +#: src/components/overview/StorageSection.jsx:54 msgid "" "Install in a new Logical Volume Manager (LVM) volume group shrinking " "existing partitions at the underlying devices as needed" @@ -769,7 +764,7 @@ msgstr "" "Instal·la en un grup de volums nou del Gestor de Volums Lògics (LVM) " "encongint les particions existents als dispositius subjacents segons calgui." -#: src/components/overview/StorageSection.jsx:58 +#: src/components/overview/StorageSection.jsx:59 msgid "" "Install in a new Logical Volume Manager (LVM) volume group without modifying " "the partitions at the underlying devices" @@ -777,7 +772,7 @@ msgstr "" "Instal·la en un grup de volums nou del Gestor de Volums Lògics (LVM) sense " "modificar les particions dels dispositius subjacents." -#: src/components/overview/StorageSection.jsx:63 +#: src/components/overview/StorageSection.jsx:64 msgid "" "Install in a new Logical Volume Manager (LVM) volume group deleting all the " "content of the underlying devices" @@ -785,7 +780,7 @@ msgstr "" "Instal·la en un grup de volums nou del Gestor de Volums Lògics (LVM) " "suprimint tot el contingut dels dispositius subjacents." -#: src/components/overview/StorageSection.jsx:68 +#: src/components/overview/StorageSection.jsx:69 msgid "" "Install in a new Logical Volume Manager (LVM) volume group using a custom " "strategy to find the needed space at the underlying devices" @@ -794,7 +789,7 @@ msgstr "" "estratègia personalitzada per trobar l'espai necessari als dispositius " "subjacents." -#: src/components/overview/StorageSection.jsx:86 +#: src/components/overview/StorageSection.jsx:87 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s shrinking " @@ -803,7 +798,7 @@ msgstr "" "Instal·la en un grup de volums nou del Gestor de Volums Lògics (LVM) a %s " "reduint les particions existents segons calgui." -#: src/components/overview/StorageSection.jsx:92 +#: src/components/overview/StorageSection.jsx:93 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s without " @@ -812,7 +807,7 @@ msgstr "" "Instal·la en un grup de volums nou del Gestor de Volums Lògics (LVM) a %s " "sense modificar les particions existents." -#: src/components/overview/StorageSection.jsx:98 +#: src/components/overview/StorageSection.jsx:99 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s deleting " @@ -821,7 +816,7 @@ msgstr "" "Instal·la en un grup de volums nou del Gestor de Volums Lògics (LVM) a %s " "suprimint-ne tot el contingut." -#: src/components/overview/StorageSection.jsx:104 +#: src/components/overview/StorageSection.jsx:105 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s using a " @@ -830,14 +825,14 @@ msgstr "" "Instal·la en un grup de volums nou del Gestor de Volums Lògics (LVM) a %s " "amb una estratègia personalitzada per trobar l'espai necessari." -#: src/components/overview/StorageSection.jsx:179 -#: src/components/storage/InstallationDeviceField.tsx:59 +#: src/components/overview/StorageSection.jsx:180 +#: src/components/storage/InstallationDeviceField.tsx:60 msgid "No device selected yet" msgstr "Encara no s'ha seleccionat cap dispositiu." #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:186 +#: src/components/overview/StorageSection.jsx:187 #, c-format msgid "Install using device %s shrinking existing partitions as needed" msgstr "" @@ -846,21 +841,21 @@ msgstr "" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:190 +#: src/components/overview/StorageSection.jsx:191 #, c-format msgid "Install using device %s without modifying existing partitions" msgstr "Instal·la al dispositiu %s sense modificar-ne les particions existents" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:194 +#: src/components/overview/StorageSection.jsx:195 #, c-format msgid "Install using device %s and deleting all its content" msgstr "Instal·la al dispositiu %s suprimint-ne tot el contingut" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:199 +#: src/components/overview/StorageSection.jsx:200 #, c-format msgid "Install using device %s with a custom strategy to find the needed space" msgstr "" @@ -868,67 +863,65 @@ msgstr "" "trobar l'espai necessari." #. TRANSLATORS: %s will be replaced by a product name. E.g., "openSUSE Tumbleweed" -#: src/components/product/ProductSelectionPage.tsx:56 +#: src/components/product/ProductSelectionPage.tsx:57 #, c-format msgid "%s logo" -msgstr "" +msgstr "Logotip per a %s" -#: src/components/product/ProductSelectionPage.tsx:107 -#, fuzzy +#: src/components/product/ProductSelectionPage.tsx:108 msgid "Select a product" -msgstr "Seleccioneu una ubicació." +msgstr "Seleccioneu un producte" -#: src/components/product/ProductSelectionPage.tsx:108 +#: src/components/product/ProductSelectionPage.tsx:109 msgid "Available products" msgstr "Productes disponibles" -#: src/components/product/ProductSelectionProgress.jsx:46 +#: src/components/product/ProductSelectionProgress.jsx:45 msgid "Configuring the product, please wait ..." msgstr "Configurant el producte. Espereu, si us plau..." -#: src/components/questions/GenericQuestion.tsx:48 -#: src/components/questions/LuksActivationQuestion.tsx:69 +#: src/components/questions/GenericQuestion.tsx:49 +#: src/components/questions/LuksActivationQuestion.tsx:70 msgid "Question" msgstr "Pregunta" #. TRANSLATORS: error message, user entered a wrong password -#: src/components/questions/LuksActivationQuestion.tsx:37 -#, fuzzy +#: src/components/questions/LuksActivationQuestion.tsx:38 msgid "The encryption password did not work" -msgstr "La contrasenya d'encriptació proporcionada no ha funcionat." +msgstr "La contrasenya d'encriptació no ha funcionat." -#: src/components/questions/LuksActivationQuestion.tsx:68 +#: src/components/questions/LuksActivationQuestion.tsx:69 msgid "Encrypted Device" msgstr "Dispositiu encriptat" #. TRANSLATORS: field label -#: src/components/questions/LuksActivationQuestion.tsx:77 +#: src/components/questions/LuksActivationQuestion.tsx:78 msgid "Encryption Password" msgstr "Contrasenya d'encriptació" -#: src/components/questions/QuestionWithPassword.tsx:55 +#: src/components/questions/QuestionWithPassword.tsx:56 msgid "Password Required" msgstr "Cal una contrasenya." -#: src/components/software/SoftwarePage.tsx:52 +#: src/components/software/SoftwarePage.tsx:48 msgid "No additional software was selected." msgstr "No s'ha seleccionat cap programari addicional." -#: src/components/software/SoftwarePage.tsx:57 +#: src/components/software/SoftwarePage.tsx:53 msgid "The following software patterns are selected for installation:" msgstr "" "S'han seleccionat els patrons de programari següents per a la instal·lació:" -#: src/components/software/SoftwarePage.tsx:72 -#: src/components/software/SoftwarePage.tsx:84 +#: src/components/software/SoftwarePage.tsx:68 +#: src/components/software/SoftwarePage.tsx:80 msgid "Selected patterns" msgstr "Patrons seleccionats" -#: src/components/software/SoftwarePage.tsx:75 +#: src/components/software/SoftwarePage.tsx:71 msgid "Change selection" msgstr "Canvia la selecció" -#: src/components/software/SoftwarePage.tsx:87 +#: src/components/software/SoftwarePage.tsx:83 msgid "" "This product does not allow to select software patterns during installation. " "However, you can add additional software once the installation is finished." @@ -937,37 +930,36 @@ msgstr "" "instal·lació. Tanmateix, hi podeu afegir programari addicional un cop " "acabada la instal·lació." -#: src/components/software/SoftwarePatternsSelection.tsx:97 +#: src/components/software/SoftwarePatternsSelection.tsx:98 msgid "None of the patterns match the filter." msgstr "Cap dels patrons coincideix amb el filtre." -#: src/components/software/SoftwarePatternsSelection.tsx:162 +#: src/components/software/SoftwarePatternsSelection.tsx:163 msgid "auto selected" msgstr "seleccionat automàticament" -#: src/components/software/SoftwarePatternsSelection.tsx:166 -#, fuzzy +#: src/components/software/SoftwarePatternsSelection.tsx:167 msgid "Unselect" -msgstr "seleccionat" +msgstr "Desmarca" -#: src/components/software/SoftwarePatternsSelection.tsx:186 +#: src/components/software/SoftwarePatternsSelection.tsx:187 msgid "Software selection" msgstr "Selecció de programari" #. TRANSLATORS: search field placeholder text -#: src/components/software/SoftwarePatternsSelection.tsx:189 #: src/components/software/SoftwarePatternsSelection.tsx:190 +#: src/components/software/SoftwarePatternsSelection.tsx:191 msgid "Filter by pattern title or description" msgstr "Filtra per títol o descripció del patró" #. TRANSLATORS: %s will be replaced by the estimated installation size, #. example: "728.8 MiB" -#: src/components/software/UsedSize.tsx:32 +#: src/components/software/UsedSize.tsx:33 #, c-format msgid "Installation will take %s." msgstr "La instal·lació necessitarà %s." -#: src/components/software/UsedSize.tsx:36 +#: src/components/software/UsedSize.tsx:37 msgid "" "This space includes the base system and the selected software patterns, if " "any." @@ -975,27 +967,27 @@ msgstr "" "Aquest espai inclou el sistema de base i els patrons de programari " "seleccionats, si n'hi ha." -#: src/components/storage/BootConfigField.tsx:41 +#: src/components/storage/BootConfigField.tsx:42 msgid "Change boot options" msgstr "Canvia les opcions d'arrencada" -#: src/components/storage/BootConfigField.tsx:78 +#: src/components/storage/BootConfigField.tsx:79 msgid "Installation will not configure partitions for booting." msgstr "La instal·lació no configurarà les particions per a l'arrencada." -#: src/components/storage/BootConfigField.tsx:82 +#: src/components/storage/BootConfigField.tsx:83 msgid "" "Installation will configure partitions for booting at the installation disk." msgstr "" "La instal·lació configurarà les particions per arrencar al disc " "d'instal·lació." -#: src/components/storage/BootConfigField.tsx:86 +#: src/components/storage/BootConfigField.tsx:87 #, c-format msgid "Installation will configure partitions for booting at %s." msgstr "La instal·lació configurarà les particions per arrencar a %s." -#: src/components/storage/BootSelection.tsx:108 +#: src/components/storage/BootSelection.tsx:109 msgid "" "To ensure the new system is able to boot, the installer may need to create " "or configure some partitions in the appropriate disk." @@ -1003,161 +995,50 @@ msgstr "" "Per garantir que el sistema nou pugui arrencar, és possible que " "l'instal·lador hagi de crear o configurar algunes particions al disc adequat." -#: src/components/storage/BootSelection.tsx:114 +#: src/components/storage/BootSelection.tsx:115 msgid "Partitions to boot will be allocated at the installation disk." msgstr "Les particions per a l'arrencada s'assignaran al disc d'instal·lació." #. TRANSLATORS: %s is replaced by a device name and size (e.g., "/dev/sda, 500GiB") -#: src/components/storage/BootSelection.tsx:119 +#: src/components/storage/BootSelection.tsx:120 #, c-format msgid "Partitions to boot will be allocated at the installation disk (%s)." msgstr "" "Les particions per a l'arrencada s'assignaran al disc d'instal·lació (%s)." -#: src/components/storage/BootSelection.tsx:135 +#: src/components/storage/BootSelection.tsx:136 msgid "Select booting partition" msgstr "Seleccioneu la partició d'arrencada" -#: src/components/storage/BootSelection.tsx:156 -#: src/components/storage/iscsi/NodeStartupOptions.js:27 +#: src/components/storage/BootSelection.tsx:157 +#: src/components/storage/iscsi/NodeStartupOptions.js:28 msgid "Automatic" msgstr "Automàtica" -#: src/components/storage/BootSelection.tsx:174 +#: src/components/storage/BootSelection.tsx:175 msgid "Select a disk" msgstr "Seleccioneu un disc" -#: src/components/storage/BootSelection.tsx:179 +#: src/components/storage/BootSelection.tsx:180 msgid "Partitions to boot will be allocated at the following device." msgstr "Les particions per a l'arrencada s'assignaran al dispositiu següent." -#: src/components/storage/BootSelection.tsx:181 +#: src/components/storage/BootSelection.tsx:182 msgid "Choose a disk for placing the boot loader" msgstr "Trieu un disc per posar-hi el carregador d'arrencada" -#: src/components/storage/BootSelection.tsx:204 +#: src/components/storage/BootSelection.tsx:205 msgid "Do not configure" msgstr "No ho configuris" -#: src/components/storage/BootSelection.tsx:210 +#: src/components/storage/BootSelection.tsx:211 msgid "" "No partitions will be automatically configured for booting. Use with caution." msgstr "" "No es configurarà automàticament cap partició per a l'arrencada. Useu-ho amb " "precaució." -#: src/components/storage/DASDFormatProgress.tsx:48 -msgid "Formatting DASD devices" -msgstr "Formatatge de dispositius DASD" - -#: src/components/storage/DASDPage.tsx:36 src/routes/storage.tsx:70 -#, fuzzy -msgid "DASD" -msgstr "DASD %s" - -#: src/components/storage/DASDTable.tsx:63 -#: src/components/storage/ZFCPPage.jsx:340 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -msgid "No" -msgstr "No" - -#: src/components/storage/DASDTable.tsx:63 -#: src/components/storage/ZFCPPage.jsx:340 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -msgid "Yes" -msgstr "Sí" - -#: src/components/storage/DASDTable.tsx:70 -#: src/components/storage/ZFCPDiskForm.jsx:110 -#: src/components/storage/ZFCPPage.jsx:324 -#: src/components/storage/ZFCPPage.jsx:382 -msgid "Channel ID" -msgstr "Identificador del canal" - -#. TRANSLATORS: table header -#: src/components/storage/DASDTable.tsx:71 -#: src/components/storage/ZFCPPage.jsx:325 -#: src/components/storage/iscsi/NodesPresenter.jsx:103 -#: src/components/storage/iscsi/NodesPresenter.jsx:124 -#: src/components/users/RootAuthMethods.tsx:70 -msgid "Status" -msgstr "Estat" - -#: src/components/storage/DASDTable.tsx:72 -#: src/components/storage/DeviceSelectorTable.tsx:185 -#: src/components/storage/ProposalResultTable.tsx:132 -#: src/components/storage/SpaceActionsTable.tsx:206 -#: src/components/storage/VolumeLocationSelectorTable.tsx:95 -msgid "Device" -msgstr "Dispositiu" - -#: src/components/storage/DASDTable.tsx:73 -msgid "Type" -msgstr "Tipus" - -#. TRANSLATORS: table header, the column contains "Yes"/"No" values -#. for the DIAG access mode (special disk access mode on IBM mainframes), -#. usually keep untranslated -#: src/components/storage/DASDTable.tsx:77 -msgid "DIAG" -msgstr "DIAG" - -#: src/components/storage/DASDTable.tsx:78 -msgid "Formatted" -msgstr "Formatat" - -#: src/components/storage/DASDTable.tsx:79 -msgid "Partition Info" -msgstr "Informació de la partició" - -#. TRANSLATORS: drop down menu label -#: src/components/storage/DASDTable.tsx:118 -msgid "Perform an action" -msgstr "Fes una acció" - -#: src/components/storage/DASDTable.tsx:125 -#: src/components/storage/ZFCPPage.jsx:353 -msgid "Activate" -msgstr "Activa" - -#: src/components/storage/DASDTable.tsx:129 -#: src/components/storage/ZFCPPage.jsx:395 -msgid "Deactivate" -msgstr "Desactiva" - -#: src/components/storage/DASDTable.tsx:134 -msgid "Set DIAG On" -msgstr "Activa la diagnosi" - -#: src/components/storage/DASDTable.tsx:138 -msgid "Set DIAG Off" -msgstr "Desactiva la diagnosi" - -#: src/components/storage/DASDTable.tsx:143 -msgid "Format" -msgstr "Formata" - -#: src/components/storage/DASDTable.tsx:279 -#: src/components/storage/DASDTable.tsx:280 -msgid "Filter by min channel" -msgstr "Filtra per canal mínim" - -#: src/components/storage/DASDTable.tsx:287 -msgid "Remove min channel filter" -msgstr "Suprimeix el filtre del canal mínim" - -#: src/components/storage/DASDTable.tsx:301 -#: src/components/storage/DASDTable.tsx:302 -msgid "Filter by max channel" -msgstr "Filtra per canal màxim" - -#: src/components/storage/DASDTable.tsx:309 -msgid "Remove max channel filter" -msgstr "Suprimeix el filtre de canal màxim" - -#: src/components/storage/DeviceSelection.tsx:105 +#: src/components/storage/DeviceSelection.tsx:106 msgid "" "The file systems will be allocated by default as [new partitions in the " "selected device]." @@ -1165,7 +1046,7 @@ msgstr "" "Els sistemes de fitxers s'assignaran per defecte com a [particions noves al " "dispositiu seleccionat]." -#: src/components/storage/DeviceSelection.tsx:112 +#: src/components/storage/DeviceSelection.tsx:113 msgid "" "The file systems will be allocated by default as [logical volumes of a new " "LVM Volume Group]. The corresponding physical volumes will be created on " @@ -1175,144 +1056,153 @@ msgstr "" "nou grup de volums d'LVM]. Els volums físics corresponents es crearan segons " "demanda com a particions noves als dispositius seleccionats." -#: src/components/storage/DeviceSelection.tsx:121 +#: src/components/storage/DeviceSelection.tsx:122 msgid "Select installation device" msgstr "Seleccioneu el dispositiu d'instal·lació" -#: src/components/storage/DeviceSelection.tsx:127 +#: src/components/storage/DeviceSelection.tsx:128 msgid "Install new system on" msgstr "Instal·la el sistema nou" -#: src/components/storage/DeviceSelection.tsx:130 +#: src/components/storage/DeviceSelection.tsx:131 msgid "An existing disk" msgstr "un disc existent" -#: src/components/storage/DeviceSelection.tsx:139 +#: src/components/storage/DeviceSelection.tsx:140 msgid "A new LVM Volume Group" msgstr "un grup de volums d'LVM nou" -#: src/components/storage/DeviceSelection.tsx:162 +#: src/components/storage/DeviceSelection.tsx:163 msgid "Device selector for target disk" msgstr "Selector de dispositiu per al disc de destinació" -#: src/components/storage/DeviceSelection.tsx:185 +#: src/components/storage/DeviceSelection.tsx:186 msgid "Device selector for new LVM volume group" msgstr "Selector de dispositius per al grup de volums LVM nou" -#: src/components/storage/DeviceSelection.tsx:198 +#: src/components/storage/DeviceSelection.tsx:199 msgid "Prepare more devices by configuring advanced" msgstr "Prepareu més dispositius mitjançant la configuració avançada" -#: src/components/storage/DeviceSelection.tsx:199 +#: src/components/storage/DeviceSelection.tsx:200 msgid "storage techs" msgstr "tecnologies d'emmagatzematge" #. TRANSLATORS: multipath device type -#: src/components/storage/DeviceSelectorTable.tsx:53 +#: src/components/storage/DeviceSelectorTable.tsx:54 msgid "Multipath" msgstr "Multicamí" #. TRANSLATORS: %s is replaced by the device bus ID -#: src/components/storage/DeviceSelectorTable.tsx:58 +#: src/components/storage/DeviceSelectorTable.tsx:59 #, c-format msgid "DASD %s" msgstr "DASD %s" #. TRANSLATORS: software RAID device, %s is replaced by the RAID level, e.g. RAID-1 -#: src/components/storage/DeviceSelectorTable.tsx:63 +#: src/components/storage/DeviceSelectorTable.tsx:64 #, c-format msgid "Software %s" msgstr "Programari %s" -#: src/components/storage/DeviceSelectorTable.tsx:68 +#: src/components/storage/DeviceSelectorTable.tsx:69 msgid "SD Card" msgstr "Targeta SD" #. TRANSLATORS: %s is substituted by the type of disk like "iSCSI" or "SATA" -#: src/components/storage/DeviceSelectorTable.tsx:73 +#: src/components/storage/DeviceSelectorTable.tsx:74 #, c-format msgid "%s disk" msgstr "Disc %s" -#: src/components/storage/DeviceSelectorTable.tsx:74 +#: src/components/storage/DeviceSelectorTable.tsx:75 msgid "Disk" msgstr "Disc" #. TRANSLATORS: RAID details, %s is replaced by list of devices used by the array -#: src/components/storage/DeviceSelectorTable.tsx:94 +#: src/components/storage/DeviceSelectorTable.tsx:95 #, c-format msgid "Members: %s" msgstr "Membres: %s" #. TRANSLATORS: RAID details, %s is replaced by list of devices used by the array -#: src/components/storage/DeviceSelectorTable.tsx:103 +#: src/components/storage/DeviceSelectorTable.tsx:104 #, c-format msgid "Devices: %s" msgstr "Dispositius: %s" #. TRANSLATORS: multipath details, %s is replaced by list of connections used by the device -#: src/components/storage/DeviceSelectorTable.tsx:112 +#: src/components/storage/DeviceSelectorTable.tsx:113 #, c-format msgid "Wires: %s" msgstr "Cables: %s" #. TRANSLATORS: disk partition info, %s is replaced by partition table #. type (MS-DOS or GPT), %d is the number of the partitions -#: src/components/storage/DeviceSelectorTable.tsx:144 +#: src/components/storage/DeviceSelectorTable.tsx:145 #, c-format msgid "%s with %d partitions" msgstr "%s amb %d particions" #. TRANSLATORS: status message, no existing content was found on the disk, #. i.e. the disk is completely empty -#: src/components/storage/DeviceSelectorTable.tsx:150 -#: src/components/storage/SpaceActionsTable.tsx:183 +#: src/components/storage/DeviceSelectorTable.tsx:151 +#: src/components/storage/SpaceActionsTable.tsx:184 msgid "No content found" msgstr "No s'ha trobat contingut." -#: src/components/storage/DeviceSelectorTable.tsx:186 -#: src/components/storage/PartitionsField.tsx:453 -#: src/components/storage/ProposalResultTable.tsx:134 +#: src/components/storage/DeviceSelectorTable.tsx:188 +#: src/components/storage/ProposalResultTable.tsx:130 #: src/components/storage/SpaceActionsTable.tsx:207 #: src/components/storage/VolumeLocationSelectorTable.tsx:96 -msgid "Details" -msgstr "Detalls" +#: src/components/storage/dasd/DASDTable.tsx:73 +msgid "Device" +msgstr "Dispositiu" -#: src/components/storage/DeviceSelectorTable.tsx:187 +#: src/components/storage/DeviceSelectorTable.tsx:189 #: src/components/storage/PartitionsField.tsx:454 -#: src/components/storage/ProposalResultTable.tsx:135 +#: src/components/storage/ProposalResultTable.tsx:132 #: src/components/storage/SpaceActionsTable.tsx:208 +#: src/components/storage/VolumeLocationSelectorTable.tsx:97 +msgid "Details" +msgstr "Detalls" + +#: src/components/storage/DeviceSelectorTable.tsx:190 +#: src/components/storage/PartitionsField.tsx:455 +#: src/components/storage/ProposalResultTable.tsx:133 +#: src/components/storage/SpaceActionsTable.tsx:209 #: src/components/storage/VolumeFields.tsx:524 -#: src/components/storage/VolumeLocationSelectorTable.tsx:101 +#: src/components/storage/VolumeLocationSelectorTable.tsx:102 msgid "Size" msgstr "Mida" -#: src/components/storage/DevicesTechMenu.jsx:39 +#: src/components/storage/DevicesTechMenu.tsx:43 msgid "Manage and format" msgstr "Gestió i formatatge" -#: src/components/storage/DevicesTechMenu.jsx:53 +#: src/components/storage/DevicesTechMenu.tsx:56 msgid "Activate disks" msgstr "Activa els discs" -#: src/components/storage/DevicesTechMenu.jsx:54 +#: src/components/storage/DevicesTechMenu.tsx:57 +#: src/components/storage/zfcp/ZFCPPage.tsx:191 msgid "zFCP" msgstr "zFCP" -#: src/components/storage/DevicesTechMenu.jsx:67 +#: src/components/storage/DevicesTechMenu.tsx:70 msgid "Connect to iSCSI targets" msgstr "Connecta amb objectius iSCSI" -#: src/components/storage/DevicesTechMenu.jsx:68 src/routes/storage.tsx:65 +#: src/components/storage/DevicesTechMenu.tsx:71 src/routes/storage.tsx:72 msgid "iSCSI" msgstr "iSCSI" -#: src/components/storage/EncryptionField.tsx:34 -#: src/components/storage/EncryptionSettingsDialog.tsx:30 +#: src/components/storage/EncryptionField.tsx:35 +#: src/components/storage/EncryptionSettingsDialog.tsx:31 msgid "Encryption" msgstr "Encriptació" -#: src/components/storage/EncryptionField.tsx:36 +#: src/components/storage/EncryptionField.tsx:37 msgid "" "Protection for the information stored at the device, including data, " "programs, and system files." @@ -1320,27 +1210,27 @@ msgstr "" "Protecció per a la informació emmagatzemada al dispositiu, incloses les " "dades, els programes i els fitxers del sistema." -#: src/components/storage/EncryptionField.tsx:40 +#: src/components/storage/EncryptionField.tsx:41 msgid "disabled" msgstr "inhabilitada" -#: src/components/storage/EncryptionField.tsx:41 +#: src/components/storage/EncryptionField.tsx:42 msgid "enabled" msgstr "habilitada" -#: src/components/storage/EncryptionField.tsx:42 +#: src/components/storage/EncryptionField.tsx:43 msgid "using TPM unlocking" msgstr "usant el desblocatge de TPM" -#: src/components/storage/EncryptionField.tsx:56 +#: src/components/storage/EncryptionField.tsx:57 msgid "Enable" msgstr "Habilita" -#: src/components/storage/EncryptionField.tsx:56 +#: src/components/storage/EncryptionField.tsx:57 msgid "Modify" msgstr "Modifica" -#: src/components/storage/EncryptionSettingsDialog.tsx:32 +#: src/components/storage/EncryptionSettingsDialog.tsx:33 msgid "" "Full Disk Encryption (FDE) allows to protect the information stored at the " "device, including data, programs, and system files." @@ -1349,14 +1239,14 @@ msgstr "" "emmagatzemada al dispositiu, incloses dades, programes i fitxers del sistema." #. TRANSLATORS: "Trusted Platform Module" is the name of the technology and TPM its abbreviation -#: src/components/storage/EncryptionSettingsDialog.tsx:36 +#: src/components/storage/EncryptionSettingsDialog.tsx:37 msgid "" "Use the Trusted Platform Module (TPM) to decrypt automatically on each boot" msgstr "" "Useu el mòdul de plataforma de confiança (TPM) per fer-ne la desencriptació " "automàticament a cada arrencada." -#: src/components/storage/EncryptionSettingsDialog.tsx:40 +#: src/components/storage/EncryptionSettingsDialog.tsx:41 msgid "" "The password will not be needed to boot and access the data if the TPM can " "verify the integrity of the system. TPM sealing requires the new system to " @@ -1366,99 +1256,99 @@ msgstr "" "verificar la integritat del sistema. El segellat de TPM requereix que el nou " "sistema s'iniciï directament a la primera execució." -#: src/components/storage/EncryptionSettingsDialog.tsx:127 +#: src/components/storage/EncryptionSettingsDialog.tsx:128 msgid "Encrypt the system" msgstr "Encripta el sistema" -#: src/components/storage/InstallationDeviceField.tsx:31 -#: src/components/storage/VolumeLocationSelectorTable.tsx:53 +#: src/components/storage/InstallationDeviceField.tsx:32 +#: src/components/storage/VolumeLocationSelectorTable.tsx:54 msgid "Installation device" msgstr "Dispositiu d'instal·lació" #. TRANSLATORS: The storage "Installation device" field's description. -#: src/components/storage/InstallationDeviceField.tsx:33 +#: src/components/storage/InstallationDeviceField.tsx:34 msgid "Main disk or LVM Volume Group for installation." msgstr "Disc principal o grup de volums d'LVM per a la instal·lació." #. TRANSLATORS: %s is the installation disk (eg. "/dev/sda, 80 GiB) -#: src/components/storage/InstallationDeviceField.tsx:45 +#: src/components/storage/InstallationDeviceField.tsx:46 #, c-format msgid "File systems created as new partitions at %s" msgstr "Sistemes de fitxers creats com a particions noves a %s" -#: src/components/storage/InstallationDeviceField.tsx:48 +#: src/components/storage/InstallationDeviceField.tsx:49 msgid "File systems created at a new LVM volume group" msgstr "Sistemes de fitxers creats en un nou grup de volums d'LVM" -#: src/components/storage/InstallationDeviceField.tsx:53 +#: src/components/storage/InstallationDeviceField.tsx:54 #, c-format msgid "File systems created at a new LVM volume group on %s" msgstr "Sistemes de fitxers creats en un nou grup de volums d'LVM a %s" -#: src/components/storage/InvalidMaxSizeError.tsx:43 -#: src/components/storage/VolumeDialog.tsx:215 +#: src/components/storage/InvalidMaxSizeError.tsx:44 +#: src/components/storage/VolumeDialog.tsx:216 msgid "Maximum must be greater than minimum" msgstr "El màxim ha de ser superior al mínim." #. TRANSLATORS: minimum device size, %s is replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:72 +#: src/components/storage/PartitionsField.tsx:73 #, c-format msgid "at least %s" msgstr "almenys %s" #. TRANSLATORS: "/" is in an LVM logical volume. %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:90 +#: src/components/storage/PartitionsField.tsx:91 #, c-format msgid "Transactional Btrfs root volume (%s)" msgstr "Volum d'arrel de Btrfs transaccional (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:92 +#: src/components/storage/PartitionsField.tsx:93 #, c-format msgid "Transactional Btrfs root partition (%s)" msgstr "Partició d'arrel Btrfs transaccional (%s)" #. TRANSLATORS: "/" is in an LVM logical volume. %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:97 +#: src/components/storage/PartitionsField.tsx:98 #, c-format msgid "Btrfs root volume with snapshots (%s)" msgstr "Volum d'arrel Btrfs amb instantànies (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:99 +#: src/components/storage/PartitionsField.tsx:100 #, c-format msgid "Btrfs root partition with snapshots (%s)" msgstr "Partició d'arrel Btrfs amb instantànies (%s)" #. TRANSLATORS: This results in something like "Mount /dev/sda3 at /home (25 GiB)" since #. %1$s is replaced by the device name, %2$s by the mount point and %3$s by the size -#: src/components/storage/PartitionsField.tsx:108 +#: src/components/storage/PartitionsField.tsx:109 #, c-format msgid "Mount %1$s at %2$s (%3$s)" msgstr "Munta %1$s a %2$s (%3$s)" #. TRANSLATORS: This results in something like "Swap at /dev/sda3 (2 GiB)" since #. %1$s is replaced by the device name, and %2$s by the size -#: src/components/storage/PartitionsField.tsx:114 +#: src/components/storage/PartitionsField.tsx:115 #, c-format msgid "Swap at %1$s (%2$s)" msgstr "Intercanvi a %1$s (%2$s)" #. TRANSLATORS: Swap is in an LVM logical volume. %s replaced by size string, e.g. "8 GiB" -#: src/components/storage/PartitionsField.tsx:118 +#: src/components/storage/PartitionsField.tsx:119 #, c-format msgid "Swap volume (%s)" msgstr "Volum d'intercanvi (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "8 GiB" -#: src/components/storage/PartitionsField.tsx:120 +#: src/components/storage/PartitionsField.tsx:121 #, c-format msgid "Swap partition (%s)" msgstr "Partició d'intercanvi (%s)" #. TRANSLATORS: This results in something like "Btrfs root at /dev/sda3 (20 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the device name, and %3$s by the size -#: src/components/storage/PartitionsField.tsx:129 +#: src/components/storage/PartitionsField.tsx:130 #, c-format msgid "%1$s root at %2$s (%3$s)" msgstr "Arrel %1$s a %2$s (%3$s)" @@ -1466,21 +1356,21 @@ msgstr "Arrel %1$s a %2$s (%3$s)" #. TRANSLATORS: "/" is in an LVM logical volume. #. Results in something like "Btrfs root volume (at least 20 GiB)" since #. $1$s is replaced by filesystem type and %2$s by size description -#: src/components/storage/PartitionsField.tsx:135 +#: src/components/storage/PartitionsField.tsx:136 #, c-format msgid "%1$s root volume (%2$s)" msgstr "Volum d'arrel de %1$s (%2$s)" #. TRANSLATORS: Results in something like "Btrfs root partition (at least 20 GiB)" since #. $1$s is replaced by filesystem type and %2$s by size description -#: src/components/storage/PartitionsField.tsx:138 +#: src/components/storage/PartitionsField.tsx:139 #, c-format msgid "%1$s root partition (%2$s)" msgstr "Partició d'arrel %1$s (%2$s)" #. TRANSLATORS: This results in something like "Ext4 /home at /dev/sda3 (20 GiB)" since #. %1$s is replaced by filesystem type, %2$s by mount point, %3$s by device name and %4$s by size -#: src/components/storage/PartitionsField.tsx:144 +#: src/components/storage/PartitionsField.tsx:145 #, c-format msgid "%1$s %2$s at %3$s (%4$s)" msgstr "%1$s %2$s a %3$s (%4$s)" @@ -1488,139 +1378,139 @@ msgstr "%1$s %2$s a %3$s (%4$s)" #. TRANSLATORS: The filesystem is in an LVM logical volume. #. Results in something like "Ext4 /home volume (at least 10 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the mount point and %3$s by the size description -#: src/components/storage/PartitionsField.tsx:150 +#: src/components/storage/PartitionsField.tsx:151 #, c-format msgid "%1$s %2$s volume (%3$s)" msgstr "Volum %1$s per a %2$s (%3$s)" #. TRANSLATORS: This results in something like "Ext4 /home partition (at least 10 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the mount point and %3$s by the size description -#: src/components/storage/PartitionsField.tsx:153 +#: src/components/storage/PartitionsField.tsx:154 #, c-format msgid "%1$s %2$s partition (%3$s)" msgstr "Partició %1$s per a %2$s (%3$s)" -#: src/components/storage/PartitionsField.tsx:161 +#: src/components/storage/PartitionsField.tsx:162 msgid "Do not configure partitions for booting" msgstr "No configuris particions per a l'arrencada." -#: src/components/storage/PartitionsField.tsx:163 +#: src/components/storage/PartitionsField.tsx:164 msgid "Boot partitions at installation disk" msgstr "Particions per a l'arrencada al disc d'instal·lació" #. TRANSLATORS: %s is the disk used to configure the boot-related partitions (eg. "/dev/sda, 80 GiB) -#: src/components/storage/PartitionsField.tsx:166 +#: src/components/storage/PartitionsField.tsx:167 #, c-format msgid "Boot partitions at %s" msgstr "Particions per l'arrencada a %s" #. TRANSLATORS: header for a list of items referring to size limits for file systems -#: src/components/storage/PartitionsField.tsx:185 +#: src/components/storage/PartitionsField.tsx:186 msgid "These limits are affected by:" msgstr "Aquests límits estan afectats pel següent:" #. TRANSLATORS: list item, this affects the computed partition size limits -#: src/components/storage/PartitionsField.tsx:189 +#: src/components/storage/PartitionsField.tsx:190 msgid "The configuration of snapshots" msgstr "La configuració de les instantànies" -#: src/components/storage/PartitionsField.tsx:195 +#: src/components/storage/PartitionsField.tsx:196 #, c-format msgid "Presence of other volumes (%s)" msgstr "La presència d'altres volums (%s)" #. TRANSLATORS: list item, describes a factor that affects the computed size of a #. file system; eg. adjusting the size of the swap -#: src/components/storage/PartitionsField.tsx:201 +#: src/components/storage/PartitionsField.tsx:202 msgid "The amount of RAM in the system" msgstr "La quantitat de RAM del sistema" -#: src/components/storage/PartitionsField.tsx:258 +#: src/components/storage/PartitionsField.tsx:259 msgid "auto" msgstr "automàtica" #. TRANSLATORS: %s will be replaced by a file-system type like "Btrfs" or "Ext4" -#: src/components/storage/PartitionsField.tsx:270 +#: src/components/storage/PartitionsField.tsx:271 #, c-format msgid "Reused %s" msgstr "%s reutilitzat" -#: src/components/storage/PartitionsField.tsx:271 +#: src/components/storage/PartitionsField.tsx:272 msgid "Transactional Btrfs" msgstr "Btrfs transaccional" -#: src/components/storage/PartitionsField.tsx:272 +#: src/components/storage/PartitionsField.tsx:273 msgid "Btrfs with snapshots" msgstr "Btrfs amb instantànies" #. TRANSLATORS: %s will be replaced by a disk name (eg. "/dev/sda") -#: src/components/storage/PartitionsField.tsx:285 +#: src/components/storage/PartitionsField.tsx:286 #, c-format msgid "Partition at %s" msgstr "Partició a %s" #. TRANSLATORS: %s will be replaced by a disk name (eg. "/dev/sda") -#: src/components/storage/PartitionsField.tsx:288 +#: src/components/storage/PartitionsField.tsx:289 #, c-format msgid "Separate LVM at %s" msgstr "LVM separat a %s" -#: src/components/storage/PartitionsField.tsx:291 +#: src/components/storage/PartitionsField.tsx:292 msgid "Logical volume at system LVM" msgstr "Volum lògic al sistema LVM" -#: src/components/storage/PartitionsField.tsx:293 +#: src/components/storage/PartitionsField.tsx:294 msgid "Partition at installation disk" msgstr "Partició al disc d'instal·lació" -#: src/components/storage/PartitionsField.tsx:313 +#: src/components/storage/PartitionsField.tsx:314 msgid "Reset location" msgstr "Restableix la ubicació" -#: src/components/storage/PartitionsField.tsx:314 +#: src/components/storage/PartitionsField.tsx:315 msgid "Change location" msgstr "Canvia la ubicació" -#: src/components/storage/PartitionsField.tsx:315 -#: src/components/storage/iscsi/NodesPresenter.jsx:78 +#: src/components/storage/PartitionsField.tsx:316 +#: src/components/storage/iscsi/NodesPresenter.jsx:79 msgid "Delete" msgstr "Suprimeix" -#: src/components/storage/PartitionsField.tsx:452 -#: src/components/storage/VolumeFields.tsx:66 +#: src/components/storage/PartitionsField.tsx:453 +#: src/components/storage/VolumeFields.tsx:67 #: src/components/storage/VolumeFields.tsx:76 #: src/components/storage/VolumeFields.tsx:81 msgid "Mount point" msgstr "Punt de muntatge" #. TRANSLATORS: where (and how) the file-system is going to be created -#: src/components/storage/PartitionsField.tsx:456 +#: src/components/storage/PartitionsField.tsx:457 msgid "Location" msgstr "Ubicació" -#: src/components/storage/PartitionsField.tsx:495 +#: src/components/storage/PartitionsField.tsx:496 msgid "Table with mount points" msgstr "Taula amb punts de muntatge" -#: src/components/storage/PartitionsField.tsx:576 -#: src/components/storage/PartitionsField.tsx:596 -#: src/components/storage/VolumeDialog.tsx:77 +#: src/components/storage/PartitionsField.tsx:577 +#: src/components/storage/PartitionsField.tsx:597 +#: src/components/storage/VolumeDialog.tsx:78 msgid "Add file system" msgstr "Afegeix-hi un sistema de fitxers" -#: src/components/storage/PartitionsField.tsx:608 +#: src/components/storage/PartitionsField.tsx:609 msgid "Other" msgstr "Una altra" -#: src/components/storage/PartitionsField.tsx:742 +#: src/components/storage/PartitionsField.tsx:743 msgid "Reset to defaults" msgstr "Restableix els valors predeterminats" -#: src/components/storage/PartitionsField.tsx:811 +#: src/components/storage/PartitionsField.tsx:807 msgid "Partitions and file systems" msgstr "Particions i sistemes de fitxers" -#: src/components/storage/PartitionsField.tsx:813 +#: src/components/storage/PartitionsField.tsx:809 msgid "" "Structure of the new system, including any additional partition needed for " "booting" @@ -1628,113 +1518,113 @@ msgstr "" "Estructura del sistema nou, inclosa qualsevol partició addicional necessària " "per a arrencar" -#: src/components/storage/PartitionsField.tsx:820 +#: src/components/storage/PartitionsField.tsx:816 msgid "Show partitions and file-systems actions" msgstr "Mostra les particions i les accions dels sistemes de fitxers" -#: src/components/storage/ProposalActionsDialog.tsx:72 +#: src/components/storage/ProposalActionsDialog.tsx:73 #, c-format msgid "Hide %d subvolume action" msgid_plural "Hide %d subvolume actions" msgstr[0] "Amaga %d acció de subvolum" msgstr[1] "Amaga %d accions de subvolum" -#: src/components/storage/ProposalActionsDialog.tsx:77 +#: src/components/storage/ProposalActionsDialog.tsx:78 #, c-format msgid "Show %d subvolume action" msgid_plural "Show %d subvolume actions" msgstr[0] "Mostra %d acció de subvolum" msgstr[1] "Mostra %d accions de subvolum" -#: src/components/storage/ProposalActionsSummary.tsx:54 +#: src/components/storage/ProposalActionsSummary.tsx:55 msgid "Destructive actions are not allowed" msgstr "No es permeten accions destructives." -#: src/components/storage/ProposalActionsSummary.tsx:56 +#: src/components/storage/ProposalActionsSummary.tsx:57 msgid "Destructive actions are allowed" msgstr "Es permeten accions destructives." -#: src/components/storage/ProposalActionsSummary.tsx:79 -#: src/components/storage/ProposalActionsSummary.tsx:133 +#: src/components/storage/ProposalActionsSummary.tsx:80 +#: src/components/storage/ProposalActionsSummary.tsx:134 msgid "affecting" msgstr "Això afecta" -#: src/components/storage/ProposalActionsSummary.tsx:113 +#: src/components/storage/ProposalActionsSummary.tsx:114 msgid "Shrinking partitions is not allowed" msgstr "No es permet encongir particions." -#: src/components/storage/ProposalActionsSummary.tsx:117 +#: src/components/storage/ProposalActionsSummary.tsx:118 msgid "Shrinking partitions is allowed" msgstr "Es permet encongir particions." -#: src/components/storage/ProposalActionsSummary.tsx:119 +#: src/components/storage/ProposalActionsSummary.tsx:120 msgid "Shrinking some partitions is allowed but not needed" msgstr "Es permet encongir algunes particions, però no cal." -#: src/components/storage/ProposalActionsSummary.tsx:122 +#: src/components/storage/ProposalActionsSummary.tsx:123 #, c-format msgid "%d partition will be shrunk" msgid_plural "%d partitions will be shrunk" msgstr[0] "S'encongirà %d partició." msgstr[1] "S'encongiran %d particions." -#: src/components/storage/ProposalActionsSummary.tsx:163 +#: src/components/storage/ProposalActionsSummary.tsx:164 msgid "Cannot accommodate the required file systems for installation" msgstr "" "No es poden acomodar els sistemes de fitxers necessaris per a la " "instal·lació." -#: src/components/storage/ProposalActionsSummary.tsx:171 +#: src/components/storage/ProposalActionsSummary.tsx:172 #, c-format msgid "Check the planned action" msgid_plural "Check the %d planned actions" msgstr[0] "Marca l'acció planificada" msgstr[1] "Marca les %d accions planificades" -#: src/components/storage/ProposalActionsSummary.tsx:186 +#: src/components/storage/ProposalActionsSummary.tsx:187 msgid "Waiting for actions information..." msgstr "Esperant la informació de les accions..." -#: src/components/storage/ProposalPage.tsx:129 +#: src/components/storage/ProposalPage.tsx:130 msgid "Planned Actions" msgstr "Accions planificades" -#: src/components/storage/ProposalResultSection.tsx:37 +#: src/components/storage/ProposalResultSection.tsx:38 msgid "Waiting for information about storage configuration" msgstr "Esperant informació sobre la configuració de l'emmagatzematge" -#: src/components/storage/ProposalResultSection.tsx:62 +#: src/components/storage/ProposalResultSection.tsx:63 msgid "Final layout" msgstr "Disposició final" -#: src/components/storage/ProposalResultSection.tsx:63 +#: src/components/storage/ProposalResultSection.tsx:64 msgid "The systems will be configured as displayed below." msgstr "Els sistemes es configuraran tal com es mostra a continuació." -#: src/components/storage/ProposalResultSection.tsx:71 +#: src/components/storage/ProposalResultSection.tsx:72 msgid "Storage proposal not possible" msgstr "La proposta d'emmagatzematge no és possible." -#: src/components/storage/ProposalResultTable.tsx:77 +#: src/components/storage/ProposalResultTable.tsx:75 msgid "New" msgstr "Nova" #. TRANSLATORS: Label to indicate the device size before resizing, where %s is #. replaced by the original size (e.g., 3.00 GiB). -#: src/components/storage/ProposalResultTable.tsx:106 +#: src/components/storage/ProposalResultTable.tsx:104 #, c-format msgid "Before %s" msgstr "Abans: %s" -#: src/components/storage/ProposalResultTable.tsx:133 +#: src/components/storage/ProposalResultTable.tsx:131 msgid "Mount Point" msgstr "Punt de muntatge" -#: src/components/storage/ProposalTransactionalInfo.tsx:42 +#: src/components/storage/ProposalTransactionalInfo.tsx:43 msgid "Transactional root file system" msgstr "Sistema de fitxers d'arrel transaccional" -#: src/components/storage/ProposalTransactionalInfo.tsx:46 +#: src/components/storage/ProposalTransactionalInfo.tsx:47 #, c-format msgid "" "%s is an immutable system with atomic updates. It uses a read-only Btrfs " @@ -1743,11 +1633,11 @@ msgstr "" "%s és un sistema immutable amb actualitzacions atòmiques. Usa un sistema de " "fitxers Btrfs només de lectura actualitzat a través d'instantànies." -#: src/components/storage/SnapshotsField.tsx:31 +#: src/components/storage/SnapshotsField.tsx:32 msgid "Use Btrfs snapshots for the root file system" msgstr "Usa instantànies de Btrfs per al sistema de fitxers d'arrel." -#: src/components/storage/SnapshotsField.tsx:33 +#: src/components/storage/SnapshotsField.tsx:34 msgid "" "Allows to boot to a previous version of the system after configuration " "changes or software upgrades." @@ -1755,102 +1645,102 @@ msgstr "" "Permet arrencar amb una versió anterior del sistema després de canvis de " "configuració o actualitzacions de programari." -#: src/components/storage/SpaceActionsTable.tsx:60 +#: src/components/storage/SpaceActionsTable.tsx:61 #, c-format msgid "Up to %s can be recovered by shrinking the device." msgstr "Es poden recuperar fins a %s encongint el dispositiu." -#: src/components/storage/SpaceActionsTable.tsx:69 +#: src/components/storage/SpaceActionsTable.tsx:70 msgid "The device cannot be shrunk:" msgstr "El dispositiu no es pot encongir:" -#: src/components/storage/SpaceActionsTable.tsx:90 +#: src/components/storage/SpaceActionsTable.tsx:91 #, c-format msgid "Show information about %s" msgstr "Mostra informació quant a %s" -#: src/components/storage/SpaceActionsTable.tsx:180 +#: src/components/storage/SpaceActionsTable.tsx:181 msgid "The content may be deleted" msgstr "El contingut pot suprimir-se" -#: src/components/storage/SpaceActionsTable.tsx:210 +#: src/components/storage/SpaceActionsTable.tsx:211 msgid "Action" msgstr "Acció" -#: src/components/storage/SpaceActionsTable.tsx:221 +#: src/components/storage/SpaceActionsTable.tsx:222 msgid "Actions to find space" msgstr "Accions per aconseguir espai" -#: src/components/storage/SpacePolicySelection.tsx:156 +#: src/components/storage/SpacePolicySelection.tsx:157 msgid "Space policy" msgstr "Política espacial" -#: src/components/storage/VolumeDialog.tsx:74 +#: src/components/storage/VolumeDialog.tsx:75 #, c-format msgid "Add %s file system" msgstr "Afegeix-hi un sistema de fitxers %s" -#: src/components/storage/VolumeDialog.tsx:75 +#: src/components/storage/VolumeDialog.tsx:76 #, c-format msgid "Edit %s file system" msgstr "Edita el sistema de fitxers %s" -#: src/components/storage/VolumeDialog.tsx:77 +#: src/components/storage/VolumeDialog.tsx:78 msgid "Edit file system" msgstr "Edita el sistema de fitxers" #. TRANSLATORS: Warning when editing a file system. -#: src/components/storage/VolumeDialog.tsx:89 +#: src/components/storage/VolumeDialog.tsx:90 msgid "The type and size of the file system cannot be edited." msgstr "El tipus i la mida del sistema de fitxers no es poden editar." -#: src/components/storage/VolumeDialog.tsx:93 +#: src/components/storage/VolumeDialog.tsx:94 #, c-format msgid "The current file system on %s is selected to be mounted at %s." msgstr "El sistema de fitxers actual a %s està seleccionat per muntar-lo a %s." #. TRANSLATORS: Warning when editing a file system. -#: src/components/storage/VolumeDialog.tsx:101 +#: src/components/storage/VolumeDialog.tsx:102 msgid "The size of the file system cannot be edited" msgstr "La mida del sistema de fitxers no es pot editar." #. TRANSLATORS: Description of a warning. %s is replaced by a device name (e.g., /dev/vda). -#: src/components/storage/VolumeDialog.tsx:103 +#: src/components/storage/VolumeDialog.tsx:104 #, c-format msgid "The file system is allocated at the device %s." msgstr "El sistema de fitxers s'assigna al dispositiu %s." -#: src/components/storage/VolumeDialog.tsx:140 +#: src/components/storage/VolumeDialog.tsx:141 msgid "A mount point is required" msgstr "Cal un punt de muntatge." -#: src/components/storage/VolumeDialog.tsx:157 +#: src/components/storage/VolumeDialog.tsx:158 msgid "The mount point is invalid" msgstr "El punt de muntatge no és vàlid." -#: src/components/storage/VolumeDialog.tsx:175 +#: src/components/storage/VolumeDialog.tsx:176 msgid "A size value is required" msgstr "Cal un valor de mida" -#: src/components/storage/VolumeDialog.tsx:193 +#: src/components/storage/VolumeDialog.tsx:194 msgid "Minimum size is required" msgstr "Cal una mida mínima" -#: src/components/storage/VolumeDialog.tsx:242 +#: src/components/storage/VolumeDialog.tsx:243 #, c-format msgid "There is already a file system for %s." msgstr "Ja hi ha un sistema de fitxers per a %s." -#: src/components/storage/VolumeDialog.tsx:244 +#: src/components/storage/VolumeDialog.tsx:245 msgid "Do you want to edit it?" msgstr "El voleu editar?" -#: src/components/storage/VolumeDialog.tsx:274 +#: src/components/storage/VolumeDialog.tsx:275 #, c-format msgid "There is a predefined file system for %s." msgstr "Hi ha un sistema de fitxers predefinit per a %s." -#: src/components/storage/VolumeDialog.tsx:276 +#: src/components/storage/VolumeDialog.tsx:277 msgid "Do you want to add it?" msgstr "L'hi voleu afegir?" @@ -1972,7 +1862,7 @@ msgstr "Fixa" msgid "Range" msgstr "Interval" -#: src/components/storage/VolumeLocationDialog.tsx:37 +#: src/components/storage/VolumeLocationDialog.tsx:34 msgid "" "The file systems are allocated at the installation device by default. " "Indicate a custom location to create the file system at a specific device." @@ -1983,38 +1873,38 @@ msgstr "" #. TRANSLATORS: Title of the dialog for changing the location of a file system. %s is replaced #. by a mount path (e.g., /home). -#: src/components/storage/VolumeLocationDialog.tsx:140 +#: src/components/storage/VolumeLocationDialog.tsx:137 #, c-format msgid "Location for %s file system" msgstr "Ubicació per al sistema de fitxers %s" -#: src/components/storage/VolumeLocationDialog.tsx:150 +#: src/components/storage/VolumeLocationDialog.tsx:147 msgid "Select in which device to allocate the file system" msgstr "Seleccioneu en quin dispositiu assignar el sistema de fitxers." -#: src/components/storage/VolumeLocationDialog.tsx:153 +#: src/components/storage/VolumeLocationDialog.tsx:150 msgid "Select a location" msgstr "Seleccioneu una ubicació." -#: src/components/storage/VolumeLocationDialog.tsx:165 +#: src/components/storage/VolumeLocationDialog.tsx:162 msgid "Select how to allocate the file system" msgstr "Seleccioneu com assignar el sistema de fitxers." -#: src/components/storage/VolumeLocationDialog.tsx:170 +#: src/components/storage/VolumeLocationDialog.tsx:167 msgid "Create a new partition" msgstr "Crea una partició nova" -#: src/components/storage/VolumeLocationDialog.tsx:172 +#: src/components/storage/VolumeLocationDialog.tsx:169 msgid "" "The file system will be allocated as a new partition at the selected disk." msgstr "" "El sistema de fitxers s'assignarà com a partició nova al disc seleccionat." -#: src/components/storage/VolumeLocationDialog.tsx:182 +#: src/components/storage/VolumeLocationDialog.tsx:179 msgid "Create a dedicated LVM volume group" msgstr "Crea un grup de volums LVM dedicat" -#: src/components/storage/VolumeLocationDialog.tsx:184 +#: src/components/storage/VolumeLocationDialog.tsx:181 msgid "" "A new volume group will be allocated in the selected disk and the file " "system will be created as a logical volume." @@ -2022,20 +1912,20 @@ msgstr "" "S'assignarà un grup de volums nou al disc seleccionat i el sistema de " "fitxers es crearà com a volum lògic." -#: src/components/storage/VolumeLocationDialog.tsx:194 +#: src/components/storage/VolumeLocationDialog.tsx:191 msgid "Format the device" msgstr "Formata el dispositiu" -#: src/components/storage/VolumeLocationDialog.tsx:198 +#: src/components/storage/VolumeLocationDialog.tsx:195 #, c-format msgid "The selected device will be formatted as %s file system." msgstr "El dispositiu seleccionat es formatarà com a sistema de fitxers %s." -#: src/components/storage/VolumeLocationDialog.tsx:209 +#: src/components/storage/VolumeLocationDialog.tsx:206 msgid "Mount the file system" msgstr "Munta el sistema de fitxers" -#: src/components/storage/VolumeLocationDialog.tsx:211 +#: src/components/storage/VolumeLocationDialog.tsx:208 msgid "" "The current file system on the selected device will be mounted without " "formatting the device." @@ -2043,307 +1933,334 @@ msgstr "" "El sistema de fitxers actual del dispositiu seleccionat es muntarà sense " "formatar el dispositiu." -#: src/components/storage/VolumeLocationSelectorTable.tsx:98 +#: src/components/storage/VolumeLocationSelectorTable.tsx:99 msgid "Usage" msgstr "Ús" -#: src/components/storage/ZFCPDiskForm.jsx:106 -msgid "The zFCP disk was not activated." -msgstr "El disc zFCP no s'ha activat." +#: src/components/storage/dasd/DASDFormatProgress.tsx:49 +msgid "Formatting DASD devices" +msgstr "Formatatge de dispositius DASD" -#. TRANSLATORS: abbrev. World Wide Port Name -#: src/components/storage/ZFCPDiskForm.jsx:123 -#: src/components/storage/ZFCPPage.jsx:383 -msgid "WWPN" -msgstr "WWPN" +#: src/components/storage/dasd/DASDPage.tsx:39 src/routes/storage.tsx:77 +msgid "DASD" +msgstr "DASD" -#. TRANSLATORS: abbrev. Logical Unit Number -#: src/components/storage/ZFCPDiskForm.jsx:131 -#: src/components/storage/ZFCPPage.jsx:384 -msgid "LUN" -msgstr "LUN" +#. TRANSLATORS: DASD devices selection table +#: src/components/storage/dasd/DASDPage.tsx:44 +msgid "DASD devices selection table" +msgstr "Taula de selecció de dispositius DASD" -#: src/components/storage/ZFCPPage.jsx:326 -msgid "Auto LUNs Scan" -msgstr "Escaneig automàtic de LUN" +#: src/components/storage/dasd/DASDPage.tsx:54 +#: src/components/storage/zfcp/ZFCPPage.tsx:200 +msgid "Back to device selection" +msgstr "Torna a la selecció del dispositiu" -#: src/components/storage/ZFCPPage.jsx:337 -msgid "Activated" -msgstr "Activat" +#: src/components/storage/dasd/DASDTable.tsx:64 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:36 +msgid "No" +msgstr "No" -#: src/components/storage/ZFCPPage.jsx:337 -msgid "Deactivated" -msgstr "Desactivat" +#: src/components/storage/dasd/DASDTable.tsx:64 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:36 +msgid "Yes" +msgstr "Sí" -#: src/components/storage/ZFCPPage.jsx:437 -msgid "No zFCP controllers found." -msgstr "No s'ha trobat cap controlador de zFCP." +#: src/components/storage/dasd/DASDTable.tsx:71 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:20 +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:119 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:43 +msgid "Channel ID" +msgstr "Identificador del canal" -#: src/components/storage/ZFCPPage.jsx:438 -msgid "Please, try to read the zFCP devices again." -msgstr "Si us plau, intenteu tornar a llegir els dispositius zFCP." +#. TRANSLATORS: table header +#: src/components/storage/dasd/DASDTable.tsx:72 +#: src/components/storage/iscsi/NodesPresenter.jsx:104 +#: src/components/storage/iscsi/NodesPresenter.jsx:125 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:21 +#: src/components/users/RootAuthMethods.tsx:71 +msgid "Status" +msgstr "Estat" -#: src/components/storage/ZFCPPage.jsx:441 -msgid "Read zFCP devices" -msgstr "Llegeix els dispositius zFCP" +#: src/components/storage/dasd/DASDTable.tsx:74 +msgid "Type" +msgstr "Tipus" -#: src/components/storage/ZFCPPage.jsx:452 -msgid "" -"Automatic LUN scan is [enabled]. Activating a controller which is running in " -"NPIV mode will automatically configures all its LUNs." -msgstr "" -"L'exploració automàtica de LUN està [activada]. L'activació d'un controlador " -"que s'executa en mode NPIV configurarà automàticament tots els seus LUN." +#. TRANSLATORS: table header, the column contains "Yes"/"No" values +#. for the DIAG access mode (special disk access mode on IBM mainframes), +#. usually keep untranslated +#: src/components/storage/dasd/DASDTable.tsx:78 +msgid "DIAG" +msgstr "DIAG" -#: src/components/storage/ZFCPPage.jsx:457 -msgid "" -"Automatic LUN scan is [disabled]. LUNs have to be manually configured after " -"activating a controller." -msgstr "" -"L'exploració automàtica de LUN està [desactivada]. Els LUN s'han de " -"configurar manualment després d'activar un controlador." +#: src/components/storage/dasd/DASDTable.tsx:79 +msgid "Formatted" +msgstr "Formatat" -#: src/components/storage/ZFCPPage.jsx:519 -msgid "Activate a zFCP disk" -msgstr "Activa un disc zFCP" +#: src/components/storage/dasd/DASDTable.tsx:80 +msgid "Partition Info" +msgstr "Informació de la partició" -#: src/components/storage/ZFCPPage.jsx:553 -msgid "Please, try to activate a zFCP controller." -msgstr "Si us plau, proveu d'activar un controlador de zFCP." +#. TRANSLATORS: drop down menu label +#: src/components/storage/dasd/DASDTable.tsx:119 +msgid "Perform an action" +msgstr "Fes una acció" -#: src/components/storage/ZFCPPage.jsx:559 -msgid "Please, try to activate a zFCP disk." -msgstr "Si us plau, proveu d'activar un disc zFCP." +#: src/components/storage/dasd/DASDTable.tsx:126 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:51 +msgid "Activate" +msgstr "Activa" -#: src/components/storage/ZFCPPage.jsx:562 -msgid "Activate zFCP disk" -msgstr "Activa el disc zFCP" +#: src/components/storage/dasd/DASDTable.tsx:130 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:56 +msgid "Deactivate" +msgstr "Desactiva" -#: src/components/storage/ZFCPPage.jsx:570 -msgid "No zFCP disks found." -msgstr "No s'ha trobat cap disc zFCP." +#: src/components/storage/dasd/DASDTable.tsx:135 +msgid "Set DIAG On" +msgstr "Activa la diagnosi" -#: src/components/storage/ZFCPPage.jsx:586 -msgid "Activate new disk" -msgstr "Activa el disc nou" +#: src/components/storage/dasd/DASDTable.tsx:139 +msgid "Set DIAG Off" +msgstr "Desactiva la diagnosi" -#. TRANSLATORS: section title -#: src/components/storage/ZFCPPage.jsx:599 -msgid "Disks" -msgstr "Discs" +#: src/components/storage/dasd/DASDTable.tsx:144 +msgid "Format" +msgstr "Formata" + +#: src/components/storage/dasd/DASDTable.tsx:280 +#: src/components/storage/dasd/DASDTable.tsx:281 +msgid "Filter by min channel" +msgstr "Filtra per canal mínim" + +#: src/components/storage/dasd/DASDTable.tsx:288 +msgid "Remove min channel filter" +msgstr "Suprimeix el filtre del canal mínim" + +#: src/components/storage/dasd/DASDTable.tsx:302 +#: src/components/storage/dasd/DASDTable.tsx:303 +msgid "Filter by max channel" +msgstr "Filtra per canal màxim" -#: src/components/storage/device-utils.tsx:74 +#: src/components/storage/dasd/DASDTable.tsx:310 +msgid "Remove max channel filter" +msgstr "Suprimeix el filtre de canal màxim" + +#: src/components/storage/device-utils.tsx:75 msgid "Unused space" msgstr "Espai sense ús" -#: src/components/storage/iscsi/AuthFields.jsx:70 +#: src/components/storage/iscsi/AuthFields.jsx:71 msgid "Only available if authentication by target is provided" msgstr "Només està disponible si es proporciona l'autenticació per destinació." -#: src/components/storage/iscsi/AuthFields.jsx:77 +#: src/components/storage/iscsi/AuthFields.jsx:78 msgid "Authentication by target" msgstr "Autenticació per destinació" -#: src/components/storage/iscsi/AuthFields.jsx:78 -#: src/components/storage/iscsi/AuthFields.jsx:82 -#: src/components/storage/iscsi/AuthFields.jsx:84 -#: src/components/storage/iscsi/AuthFields.jsx:104 -#: src/components/storage/iscsi/AuthFields.jsx:108 -#: src/components/storage/iscsi/AuthFields.jsx:110 +#: src/components/storage/iscsi/AuthFields.jsx:79 +#: src/components/storage/iscsi/AuthFields.jsx:83 +#: src/components/storage/iscsi/AuthFields.jsx:85 +#: src/components/storage/iscsi/AuthFields.jsx:105 +#: src/components/storage/iscsi/AuthFields.jsx:109 +#: src/components/storage/iscsi/AuthFields.jsx:111 msgid "User name" msgstr "Nom d'usuari" -#: src/components/storage/iscsi/AuthFields.jsx:88 -#: src/components/storage/iscsi/AuthFields.jsx:116 +#: src/components/storage/iscsi/AuthFields.jsx:89 +#: src/components/storage/iscsi/AuthFields.jsx:117 msgid "Incorrect user name" msgstr "Nom d'usuari incorrecte" -#: src/components/storage/iscsi/AuthFields.jsx:99 -#: src/components/storage/iscsi/AuthFields.jsx:130 +#: src/components/storage/iscsi/AuthFields.jsx:100 +#: src/components/storage/iscsi/AuthFields.jsx:131 msgid "Incorrect password" msgstr "Contrasenya incorrecta" -#: src/components/storage/iscsi/AuthFields.jsx:102 +#: src/components/storage/iscsi/AuthFields.jsx:103 msgid "Authentication by initiator" msgstr "Autenticació per iniciador" -#: src/components/storage/iscsi/AuthFields.jsx:123 +#: src/components/storage/iscsi/AuthFields.jsx:124 msgid "Target Password" msgstr "Contrasenya de destinació" #. TRANSLATORS: popup title -#: src/components/storage/iscsi/DiscoverForm.tsx:94 +#: src/components/storage/iscsi/DiscoverForm.tsx:95 msgid "Discover iSCSI Targets" msgstr "Descobreix les destinacions iSCSI" -#: src/components/storage/iscsi/DiscoverForm.tsx:99 -#: src/components/storage/iscsi/LoginForm.jsx:70 +#: src/components/storage/iscsi/DiscoverForm.tsx:100 +#: src/components/storage/iscsi/LoginForm.jsx:71 msgid "Make sure you provide the correct values" msgstr "Assegureu-vos que proporcioneu els valors correctes" -#: src/components/storage/iscsi/DiscoverForm.tsx:103 +#: src/components/storage/iscsi/DiscoverForm.tsx:104 msgid "IP address" msgstr "Adreça IP" #. TRANSLATORS: network address -#: src/components/storage/iscsi/DiscoverForm.tsx:108 -#: src/components/storage/iscsi/DiscoverForm.tsx:110 +#: src/components/storage/iscsi/DiscoverForm.tsx:109 +#: src/components/storage/iscsi/DiscoverForm.tsx:111 msgid "Address" msgstr "Adreça" -#: src/components/storage/iscsi/DiscoverForm.tsx:115 +#: src/components/storage/iscsi/DiscoverForm.tsx:116 msgid "Incorrect IP address" msgstr "Adreça IP incorrecta" #. TRANSLATORS: network port number -#: src/components/storage/iscsi/DiscoverForm.tsx:117 -#: src/components/storage/iscsi/DiscoverForm.tsx:122 -#: src/components/storage/iscsi/DiscoverForm.tsx:124 +#: src/components/storage/iscsi/DiscoverForm.tsx:118 +#: src/components/storage/iscsi/DiscoverForm.tsx:123 +#: src/components/storage/iscsi/DiscoverForm.tsx:125 msgid "Port" msgstr "Port" -#: src/components/storage/iscsi/DiscoverForm.tsx:129 +#: src/components/storage/iscsi/DiscoverForm.tsx:130 msgid "Incorrect port" msgstr "Port incorrecte" #. TRANSLATORS: %s is replaced by the iSCSI target node name -#: src/components/storage/iscsi/EditNodeForm.tsx:48 +#: src/components/storage/iscsi/EditNodeForm.tsx:49 #, c-format msgid "Edit %s" msgstr "Edita %s" -#: src/components/storage/iscsi/InitiatorForm.tsx:42 +#: src/components/storage/iscsi/InitiatorForm.tsx:43 msgid "Edit iSCSI Initiator" msgstr "Edita l'iniciador iSCSI" #. TRANSLATORS: iSCSI initiator name -#: src/components/storage/iscsi/InitiatorForm.tsx:49 +#: src/components/storage/iscsi/InitiatorForm.tsx:50 msgid "Initiator name" msgstr "Nom de l'iniciador" #. TRANSLATORS: usually just keep the original text #. iBFT = iSCSI Boot Firmware Table, HW support for booting from iSCSI -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:71 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -#: src/components/storage/iscsi/NodesPresenter.jsx:123 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:72 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/iscsi/NodesPresenter.jsx:124 msgid "iBFT" msgstr "iBFT" -#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:72 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:58 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:73 msgid "Offload card" msgstr "Targeta de descàrrega" #. TRANSLATORS: iSCSI initiator section name -#: src/components/storage/iscsi/InitiatorSection.tsx:35 +#: src/components/storage/iscsi/InitiatorSection.tsx:36 msgid "Initiator" msgstr "Iniciador" #. TRANSLATORS: %s is replaced by the iSCSI target name -#: src/components/storage/iscsi/LoginForm.jsx:66 +#: src/components/storage/iscsi/LoginForm.jsx:67 #, c-format msgid "Login %s" msgstr "Entrada per a %s" #. TRANSLATORS: iSCSI start up mode (on boot/manual/automatic) -#: src/components/storage/iscsi/LoginForm.jsx:74 -#: src/components/storage/iscsi/LoginForm.jsx:77 +#: src/components/storage/iscsi/LoginForm.jsx:75 +#: src/components/storage/iscsi/LoginForm.jsx:78 msgid "Startup" msgstr "Inici" -#: src/components/storage/iscsi/NodeStartupOptions.js:26 +#: src/components/storage/iscsi/NodeStartupOptions.js:27 msgid "On boot" msgstr "A l'arrencada" #. TRANSLATORS: iSCSI connection status, %s is replaced by node label -#: src/components/storage/iscsi/NodesPresenter.jsx:68 +#: src/components/storage/iscsi/NodesPresenter.jsx:69 #, c-format msgid "Connected (%s)" msgstr "Connectat (%s)" -#: src/components/storage/iscsi/NodesPresenter.jsx:83 +#: src/components/storage/iscsi/NodesPresenter.jsx:84 msgid "Login" msgstr "Entrada" -#: src/components/storage/iscsi/NodesPresenter.jsx:87 +#: src/components/storage/iscsi/NodesPresenter.jsx:88 msgid "Logout" msgstr "Sortida" -#: src/components/storage/iscsi/NodesPresenter.jsx:100 -#: src/components/storage/iscsi/NodesPresenter.jsx:121 +#: src/components/storage/iscsi/NodesPresenter.jsx:101 +#: src/components/storage/iscsi/NodesPresenter.jsx:122 msgid "Portal" msgstr "Portal" -#: src/components/storage/iscsi/NodesPresenter.jsx:101 -#: src/components/storage/iscsi/NodesPresenter.jsx:122 +#: src/components/storage/iscsi/NodesPresenter.jsx:102 +#: src/components/storage/iscsi/NodesPresenter.jsx:123 msgid "Interface" msgstr "Interfície" -#: src/components/storage/iscsi/TargetsSection.tsx:56 +#: src/components/storage/iscsi/TargetsSection.tsx:57 msgid "No iSCSI targets found." msgstr "No s'ha trobat cap destinació iSCSI." -#: src/components/storage/iscsi/TargetsSection.tsx:58 +#: src/components/storage/iscsi/TargetsSection.tsx:59 msgid "" "Please, perform an iSCSI discovery in order to find available iSCSI targets." msgstr "" "Si us plau, executeu un descobriment d'iSCSI per trobar destinacions iSCSI " "disponibles." -#: src/components/storage/iscsi/TargetsSection.tsx:62 +#: src/components/storage/iscsi/TargetsSection.tsx:63 msgid "Discover iSCSI targets" msgstr "Descobreix destinacions iSCSI" #. TRANSLATORS: button label, starts iSCSI discovery -#: src/components/storage/iscsi/TargetsSection.tsx:74 +#: src/components/storage/iscsi/TargetsSection.tsx:75 msgid "Discover" msgstr "Descobreix" #. TRANSLATORS: iSCSI targets section title -#: src/components/storage/iscsi/TargetsSection.tsx:85 +#: src/components/storage/iscsi/TargetsSection.tsx:86 msgid "Targets" msgstr "Destinacions" -#: src/components/storage/utils.ts:60 +#: src/components/storage/utils.ts:61 msgid "KiB" msgstr "KiB" -#: src/components/storage/utils.ts:61 +#: src/components/storage/utils.ts:62 msgid "MiB" msgstr "MiB" -#: src/components/storage/utils.ts:62 +#: src/components/storage/utils.ts:63 msgid "GiB" msgstr "GiB" -#: src/components/storage/utils.ts:63 +#: src/components/storage/utils.ts:64 msgid "TiB" msgstr "TiB" -#: src/components/storage/utils.ts:64 +#: src/components/storage/utils.ts:65 msgid "PiB" msgstr "PiB" -#: src/components/storage/utils.ts:72 +#: src/components/storage/utils.ts:73 msgid "Delete current content" msgstr "Suprimeix el contingut actual" -#: src/components/storage/utils.ts:73 +#: src/components/storage/utils.ts:74 msgid "All partitions will be removed and any data in the disks will be lost." msgstr "Totes les particions se suprimiran i es perdran les dades dels discs." #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space deleting current content". Keep it short -#: src/components/storage/utils.ts:77 +#: src/components/storage/utils.ts:78 msgid "deleting current content" msgstr "suprimint contingut actual." -#: src/components/storage/utils.ts:82 +#: src/components/storage/utils.ts:83 msgid "Shrink existing partitions" msgstr "Encongeix les particions existents" -#: src/components/storage/utils.ts:83 +#: src/components/storage/utils.ts:84 msgid "The data is kept, but the current partitions will be resized as needed." msgstr "" "Les dades es conserven, però les particions actuals es canviaran de mida " @@ -2351,15 +2268,15 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space shrinking partitions". Keep it short. -#: src/components/storage/utils.ts:87 +#: src/components/storage/utils.ts:88 msgid "shrinking partitions" msgstr "encongint particions existents." -#: src/components/storage/utils.ts:92 +#: src/components/storage/utils.ts:93 msgid "Use available space" msgstr "Usa l'espai disponible" -#: src/components/storage/utils.ts:93 +#: src/components/storage/utils.ts:94 msgid "" "The data is kept. Only the space not assigned to any partition will be used." msgstr "" @@ -2367,33 +2284,124 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space without modifying any partition". Keep it short. -#: src/components/storage/utils.ts:97 +#: src/components/storage/utils.ts:98 msgid "without modifying any partition" msgstr "sense modificar cap partició existent." -#: src/components/storage/utils.ts:102 +#: src/components/storage/utils.ts:103 msgid "Custom" msgstr "Personalitzat" -#: src/components/storage/utils.ts:103 +#: src/components/storage/utils.ts:104 msgid "Select what to do with each partition." msgstr "Seleccioneu què voleu fer amb cada partició." #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space with custom actions". Keep it short. -#: src/components/storage/utils.ts:107 +#: src/components/storage/utils.ts:108 msgid "with custom actions" msgstr "amb accions personalitzades." -#: src/components/users/FirstUser.tsx:33 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:22 +msgid "Auto LUNs Scan" +msgstr "Escaneig automàtic de LUN" + +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:33 +msgid "Activated" +msgstr "Activat" + +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:33 +msgid "Deactivated" +msgstr "Desactivat" + +#: src/components/storage/zfcp/ZFCPDiskActivationPage.tsx:62 +msgid "zFCP Disk Activation" +msgstr "Activació del disc zFCP" + +#. TRANSLATORS: zFCP disk activation form +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:112 +msgid "zFCP Disk activation form" +msgstr "Formulari d'activació del disc zFCP" + +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:115 +msgid "The zFCP disk was not activated." +msgstr "El disc zFCP no s'ha activat." + +#. TRANSLATORS: abbrev. World Wide Port Name +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:132 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:44 +msgid "WWPN" +msgstr "WWPN" + +#. TRANSLATORS: abbrev. Logical Unit Number +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:140 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:45 +msgid "LUN" +msgstr "LUN" + +#: src/components/storage/zfcp/ZFCPPage.tsx:54 +msgid "" +"Automatic LUN scan is [enabled]. Activating a controller which is " +"running in NPIV mode will automatically configures all its LUNs." +msgstr "" +"L'exploració automàtica de LUN està [activada]. L'activació d'un " +"controlador que s'executa en mode NPIV configurarà automàticament tots " +"els seus LUN." + +#: src/components/storage/zfcp/ZFCPPage.tsx:59 +msgid "" +"Automatic LUN scan is [disabled]. LUNs have to be manually configured " +"after activating a controller." +msgstr "" +"L'exploració automàtica de LUN està [desactivada]. Els LUN s'han de " +"configurar manualment després d'activar un controlador." + +#: src/components/storage/zfcp/ZFCPPage.tsx:80 +msgid "Please, try to activate a zFCP disk." +msgstr "Si us plau, proveu d'activar un disc zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:81 +#: src/components/storage/zfcp/ZFCPPage.tsx:164 +msgid "Please, try to activate a zFCP controller." +msgstr "Si us plau, proveu d'activar un controlador de zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:85 +msgid "No zFCP disks found." +msgstr "No s'ha trobat cap disc zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:92 +msgid "Activate zFCP disk" +msgstr "Activa el disc zFCP" + +#: src/components/storage/zfcp/ZFCPPage.tsx:115 +msgid "Activate new disk" +msgstr "Activa el disc nou" + +#: src/components/storage/zfcp/ZFCPPage.tsx:133 +msgid "Disks" +msgstr "Discs" + +#: src/components/storage/zfcp/ZFCPPage.tsx:143 +msgid "Controllers" +msgstr "Controladors" + +#: src/components/storage/zfcp/ZFCPPage.tsx:156 +msgid "No zFCP controllers found." +msgstr "No s'ha trobat cap controlador de zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:160 +msgid "Read zFCP devices" +msgstr "Llegeix els dispositius zFCP" + +#: src/components/users/FirstUser.tsx:34 msgid "Define a user now" msgstr "Definiu un usuari ara" -#: src/components/users/FirstUser.tsx:39 +#: src/components/users/FirstUser.tsx:40 msgid "No user defined yet." msgstr "Encara no s'ha definit cap usuari." -#: src/components/users/FirstUser.tsx:43 +#: src/components/users/FirstUser.tsx:44 msgid "" "Please, be aware that a user must be defined before installing the system to " "be able to log into it." @@ -2401,72 +2409,72 @@ msgstr "" "Si us plau, tingueu en compte que cal definir un usuari abans d'instal·lar " "el sistema per poder-hi iniciar sessió." -#: src/components/users/FirstUser.tsx:55 -#: src/components/users/FirstUserForm.tsx:220 +#: src/components/users/FirstUser.tsx:56 +#: src/components/users/FirstUserForm.tsx:221 msgid "Full name" msgstr "Nom complet" -#: src/components/users/FirstUser.tsx:56 -#: src/components/users/FirstUserForm.tsx:234 -#: src/components/users/FirstUserForm.tsx:239 -#: src/components/users/FirstUserForm.tsx:242 +#: src/components/users/FirstUser.tsx:57 +#: src/components/users/FirstUserForm.tsx:235 +#: src/components/users/FirstUserForm.tsx:240 +#: src/components/users/FirstUserForm.tsx:243 msgid "Username" msgstr "Nom d'usuari" -#: src/components/users/FirstUser.tsx:87 -#: src/components/users/RootAuthMethods.tsx:117 -#: src/components/users/RootAuthMethods.tsx:129 +#: src/components/users/FirstUser.tsx:88 +#: src/components/users/RootAuthMethods.tsx:118 +#: src/components/users/RootAuthMethods.tsx:130 msgid "Discard" msgstr "Descarta'l" -#: src/components/users/FirstUser.tsx:94 +#: src/components/users/FirstUser.tsx:95 msgid "First user" msgstr "Usuari primer" -#: src/components/users/FirstUserForm.tsx:57 +#: src/components/users/FirstUserForm.tsx:58 msgid "Username suggestion dropdown" msgstr "Menú desplegable de suggeriments de nom d'usuari" #. TRANSLATORS: dropdown username suggestions -#: src/components/users/FirstUserForm.tsx:72 +#: src/components/users/FirstUserForm.tsx:73 msgid "Use suggested username" msgstr "Usa el nom d'usuari suggerit" -#: src/components/users/FirstUserForm.tsx:147 +#: src/components/users/FirstUserForm.tsx:148 msgid "All fields are required" msgstr "Tots els camps són obligatoris." -#: src/components/users/FirstUserForm.tsx:204 +#: src/components/users/FirstUserForm.tsx:205 msgid "Create user" msgstr "Crea un usuari" -#: src/components/users/FirstUserForm.tsx:204 +#: src/components/users/FirstUserForm.tsx:205 msgid "Edit user" msgstr "Edita l'usuari" -#: src/components/users/FirstUserForm.tsx:224 -#: src/components/users/FirstUserForm.tsx:226 +#: src/components/users/FirstUserForm.tsx:225 +#: src/components/users/FirstUserForm.tsx:227 msgid "User full name" msgstr "Nom complet de l'usuari" -#: src/components/users/FirstUserForm.tsx:264 +#: src/components/users/FirstUserForm.tsx:265 msgid "Edit password too" msgstr "Edita també la contrasenya" -#: src/components/users/FirstUserForm.tsx:280 +#: src/components/users/FirstUserForm.tsx:281 msgid "user autologin" msgstr "entrada de sessió automàtica de l'usuari" #. TRANSLATORS: check box label -#: src/components/users/FirstUserForm.tsx:284 +#: src/components/users/FirstUserForm.tsx:285 msgid "Auto-login" msgstr "Entrada automàtica" -#: src/components/users/RootAuthMethods.tsx:33 +#: src/components/users/RootAuthMethods.tsx:34 msgid "No root authentication method defined yet." msgstr "Encara no s'ha definit cap mètode d'autenticació d'arrel." -#: src/components/users/RootAuthMethods.tsx:37 +#: src/components/users/RootAuthMethods.tsx:38 msgid "" "Please, define at least one authentication method for logging into the " "system as root." @@ -2475,53 +2483,53 @@ msgstr "" "sistema com a arrel." #. TRANSLATORS: table header, user authentication method -#: src/components/users/RootAuthMethods.tsx:68 +#: src/components/users/RootAuthMethods.tsx:69 msgid "Method" msgstr "Mètode" -#: src/components/users/RootAuthMethods.tsx:77 +#: src/components/users/RootAuthMethods.tsx:78 msgid "Already set" msgstr "Ja s'ha establert" -#: src/components/users/RootAuthMethods.tsx:77 -#: src/components/users/RootAuthMethods.tsx:85 +#: src/components/users/RootAuthMethods.tsx:78 +#: src/components/users/RootAuthMethods.tsx:86 msgid "Not set" msgstr "No s'ha establert" -#: src/components/users/RootAuthMethods.tsx:83 +#: src/components/users/RootAuthMethods.tsx:84 msgid "SSH Key" msgstr "Clau SSH" -#: src/components/users/RootAuthMethods.tsx:113 -#: src/components/users/RootAuthMethods.tsx:125 +#: src/components/users/RootAuthMethods.tsx:114 +#: src/components/users/RootAuthMethods.tsx:126 msgid "Set" msgstr "Estableix" -#: src/components/users/RootAuthMethods.tsx:137 +#: src/components/users/RootAuthMethods.tsx:138 msgid "Root authentication" msgstr "Autenticació d'arrel" -#: src/components/users/RootAuthMethods.tsx:144 +#: src/components/users/RootAuthMethods.tsx:145 msgid "Set a password" msgstr "Establiu una contrasenya" -#: src/components/users/RootAuthMethods.tsx:148 +#: src/components/users/RootAuthMethods.tsx:149 msgid "Upload a SSH Public Key" msgstr "Carrega una clau pública SSH" -#: src/components/users/RootAuthMethods.tsx:165 +#: src/components/users/RootAuthMethods.tsx:166 msgid "Change the root password" msgstr "Canvia la contrasenya d'arrel" -#: src/components/users/RootAuthMethods.tsx:165 +#: src/components/users/RootAuthMethods.tsx:166 msgid "Set a root password" msgstr "Establiu una contrasenya d'arrel" -#: src/components/users/RootAuthMethods.tsx:175 +#: src/components/users/RootAuthMethods.tsx:176 msgid "Edit the SSH Public Key for root" msgstr "Edita la clau pública SSH per a l'arrel" -#: src/components/users/RootAuthMethods.tsx:176 +#: src/components/users/RootAuthMethods.tsx:177 msgid "Add a SSH Public Key for root" msgstr "Afegiu una clau pública SSH per a l'arrel" @@ -2529,32 +2537,42 @@ msgstr "Afegiu una clau pública SSH per a l'arrel" msgid "Root password" msgstr "Contrasenya d'arrel" -#: src/components/users/RootSSHKeyPopup.jsx:43 +#: src/components/users/RootSSHKeyPopup.jsx:44 msgid "Set root SSH public key" msgstr "Estableix la clau pública SSH per a l'arrel" -#: src/components/users/RootSSHKeyPopup.jsx:71 +#: src/components/users/RootSSHKeyPopup.jsx:72 msgid "Root SSH public key" msgstr "Clau pública SSH per a l'arrel" -#: src/components/users/RootSSHKeyPopup.jsx:76 +#: src/components/users/RootSSHKeyPopup.jsx:77 msgid "Upload, paste, or drop an SSH public key" msgstr "Carregueu, enganxeu o deixeu-hi anar una clau pública SSH" #. TRANSLATORS: push button label -#: src/components/users/RootSSHKeyPopup.jsx:78 +#: src/components/users/RootSSHKeyPopup.jsx:79 msgid "Upload" msgstr "Carrega" #. TRANSLATORS: push button label, clears the related input field -#: src/components/users/RootSSHKeyPopup.jsx:80 +#: src/components/users/RootSSHKeyPopup.jsx:81 msgid "Clear" msgstr "Neteja" -#: src/router.js:48 +#: src/router.js:49 msgid "Overview" msgstr "Resum" +#: src/routes/storage.tsx:86 +msgid "ZFCP" +msgstr "ZFCP" + +#~ msgid "Please, try to read the zFCP devices again." +#~ msgstr "Si us plau, intenteu tornar a llegir els dispositius zFCP." + +#~ msgid "Activate a zFCP disk" +#~ msgstr "Activa un disc zFCP" + #~ msgid "Waiting for progress report" #~ msgstr "Esperant l'informe de progrés" diff --git a/web/po/cs.po b/web/po/cs.po index d1b00fad91..1486e21cd4 100644 --- a/web/po/cs.po +++ b/web/po/cs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-16 07:57+0000\n" +"POT-Creation-Date: 2024-09-22 02:43+0000\n" "PO-Revision-Date: 2024-08-02 09:47+0000\n" "Last-Translator: Aleš Kastner \n" "Language-Team: Czech =2 && n<=4) ? 1 : 2;\n" "X-Generator: Weblate 5.6.2\n" -#: src/components/core/About.tsx:46 +#: src/components/core/About.tsx:47 msgid "About" msgstr "O" -#: src/components/core/About.tsx:64 +#: src/components/core/About.tsx:65 msgid "About Agama" msgstr "O Agamě" -#: src/components/core/About.tsx:69 +#: src/components/core/About.tsx:70 msgid "" "Agama is an experimental installer for (open)SUSE systems. It is still under " "development so, please, do not use it in production environments. If you " @@ -42,25 +42,25 @@ msgstr "" #. TRANSLATORS: content of the "About" popup (2/2) #. %s is replaced by the project URL -#: src/components/core/About.tsx:81 +#: src/components/core/About.tsx:82 #, c-format msgid "For more information, please visit the project's repository at %s." msgstr "Další informace najdete v úložišti projektu na %s." -#: src/components/core/About.tsx:87 src/components/core/LogsButton.tsx:123 -#: src/components/software/SoftwarePatternsSelection.tsx:205 +#: src/components/core/About.tsx:88 src/components/core/LogsButton.tsx:124 +#: src/components/software/SoftwarePatternsSelection.tsx:206 msgid "Close" msgstr "Zavřít" -#: src/components/core/ChangeProductLink.tsx:38 +#: src/components/core/ChangeProductLink.tsx:39 msgid "Change product" msgstr "Změnit produkt" -#: src/components/core/InstallButton.jsx:32 +#: src/components/core/InstallButton.jsx:33 msgid "Confirm Installation" msgstr "Potvrdit instalaci" -#: src/components/core/InstallButton.jsx:36 +#: src/components/core/InstallButton.jsx:37 msgid "" "If you continue, partitions on your hard disk will be modified according to " "the provided installation settings." @@ -68,33 +68,33 @@ msgstr "" "Budete-li pokračovat, připravíme oddíly na pevném disku podle zadaných " "instalačních nastavení." -#: src/components/core/InstallButton.jsx:40 +#: src/components/core/InstallButton.jsx:41 msgid "Please, cancel and check the settings if you are unsure." msgstr "Nejste-li si jisti, zrušte akci a zkontrolujte nastavení." #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:45 +#: src/components/core/InstallButton.jsx:46 msgid "Continue" msgstr "Pokračovat" #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:49 src/components/core/Page.tsx:237 -#: src/components/core/Popup.jsx:132 -#: src/components/network/WifiConnectionForm.tsx:146 -#: src/components/product/ProductSelectionPage.tsx:122 +#: src/components/core/InstallButton.jsx:50 src/components/core/Page.tsx:238 +#: src/components/core/Popup.jsx:133 +#: src/components/network/WifiConnectionForm.tsx:145 +#: src/components/product/ProductSelectionPage.tsx:123 msgid "Cancel" msgstr "Zrušit/Storno" #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:84 +#: src/components/core/InstallButton.jsx:85 msgid "Install" msgstr "Instalovat" -#: src/components/core/InstallationFinished.jsx:49 +#: src/components/core/InstallationFinished.jsx:50 msgid "TPM sealing requires the new system to be booted directly." msgstr "Zapečetění čipem TPM vyžaduje přímé spuštění nového systému." -#: src/components/core/InstallationFinished.jsx:54 +#: src/components/core/InstallationFinished.jsx:55 msgid "" "If a local media was used to run this installer, remove it before the next " "boot." @@ -102,15 +102,15 @@ msgstr "" "Bylo-li ke spuštění tohoto instalačního programu použito místní médium, před " "dalším spuštěním ho odstraňte." -#: src/components/core/InstallationFinished.jsx:58 +#: src/components/core/InstallationFinished.jsx:59 msgid "Hide details" msgstr "Skrýt podrobnosti" -#: src/components/core/InstallationFinished.jsx:58 +#: src/components/core/InstallationFinished.jsx:59 msgid "See more details" msgstr "Ukázat podrobněji" -#: src/components/core/InstallationFinished.jsx:63 +#: src/components/core/InstallationFinished.jsx:64 msgid "" "The final step to configure the Trusted Platform Module (TPM) to " "automatically open encrypted devices will take place during the first boot " @@ -122,468 +122,467 @@ msgstr "" "nového systému. Aby to fungovalo, musí se počítač spustit přímo novým " "zavaděčem." -#: src/components/core/InstallationFinished.jsx:106 +#: src/components/core/InstallationFinished.jsx:107 msgid "Congratulations!" msgstr "Blahopřejeme!" -#: src/components/core/InstallationFinished.jsx:115 +#: src/components/core/InstallationFinished.jsx:116 msgid "The installation on your machine is complete." msgstr "Instalace na Váš počítač je dokončena." -#: src/components/core/InstallationFinished.jsx:118 +#: src/components/core/InstallationFinished.jsx:119 msgid "At this point you can power off the machine." msgstr "Nyní můžete počítač vypnout." -#: src/components/core/InstallationFinished.jsx:120 +#: src/components/core/InstallationFinished.jsx:121 msgid "At this point you can reboot the machine to log in to the new system." msgstr "Nyní můžete počítač restartovat a přihlásit se do nového systému." -#: src/components/core/InstallationFinished.jsx:129 +#: src/components/core/InstallationFinished.jsx:130 msgid "Finish" msgstr "Dokončeno" -#: src/components/core/InstallationFinished.jsx:129 +#: src/components/core/InstallationFinished.jsx:130 msgid "Reboot" msgstr "Restart systému" -#: src/components/core/InstallationProgress.jsx:30 +#: src/components/core/InstallationProgress.jsx:31 msgid "Installing the system, please wait ..." msgstr "Instaluji systém, čekejte ..." -#: src/components/core/InstallerOptions.jsx:92 +#: src/components/core/InstallerOptions.jsx:93 msgid "Show installer options" msgstr "Ukázat možnosti instalace" -#: src/components/core/InstallerOptions.jsx:95 +#: src/components/core/InstallerOptions.jsx:96 msgid "Installer options" msgstr "Možnosti instalace" -#: src/components/core/InstallerOptions.jsx:98 -#: src/components/core/InstallerOptions.jsx:102 +#: src/components/core/InstallerOptions.jsx:99 #: src/components/core/InstallerOptions.jsx:103 -#: src/components/l10n/L10nPage.jsx:48 +#: src/components/core/InstallerOptions.jsx:104 +#: src/components/l10n/L10nPage.jsx:49 msgid "Language" msgstr "Jazyk" -#: src/components/core/InstallerOptions.jsx:115 -#: src/components/core/InstallerOptions.jsx:120 +#: src/components/core/InstallerOptions.jsx:116 +#: src/components/core/InstallerOptions.jsx:121 msgid "Keyboard layout" msgstr "Rozložení kláves" -#: src/components/core/InstallerOptions.jsx:129 +#: src/components/core/InstallerOptions.jsx:130 msgid "Cannot be changed in remote installation" msgstr "U instalace na dálku nelze změnit" -#: src/components/core/InstallerOptions.jsx:142 -#: src/components/core/Page.tsx:270 -#: src/components/storage/EncryptionSettingsDialog.tsx:153 -#: src/components/storage/VolumeDialog.tsx:640 -#: src/components/storage/ZFCPPage.jsx:528 +#: src/components/core/InstallerOptions.jsx:143 +#: src/components/core/Page.tsx:271 +#: src/components/storage/EncryptionSettingsDialog.tsx:154 +#: src/components/storage/VolumeDialog.tsx:641 msgid "Accept" msgstr "Přijmout" -#: src/components/core/IssuesHint.jsx:34 +#: src/components/core/IssuesHint.jsx:35 msgid "" "Before starting the installation, you need to address the following problems:" msgstr "Před zahájením instalace vyřešte tyto problémy:" -#: src/components/core/ListSearch.jsx:48 +#: src/components/core/ListSearch.jsx:49 msgid "Search" msgstr "Hledat" -#: src/components/core/LoginPage.tsx:59 +#: src/components/core/LoginPage.tsx:60 msgid "Could not log in. Please, make sure that the password is correct." msgstr "Nelze se přhlásit. Zkontrolujte správnost hesla." -#: src/components/core/LoginPage.tsx:61 +#: src/components/core/LoginPage.tsx:62 msgid "Could not authenticate against the server, please check it." msgstr "Nezdařilo se ověřit Vás u serveru, zkontrolujte to prosím." #. TRANSLATORS: Title for a form to provide the password for the root user. %s #. will be replaced by "root" -#: src/components/core/LoginPage.tsx:69 +#: src/components/core/LoginPage.tsx:70 #, c-format msgid "Log in as %s" msgstr "Přihlásit se jako %s" -#: src/components/core/LoginPage.tsx:75 +#: src/components/core/LoginPage.tsx:76 msgid "The installer requires [root] user privileges." msgstr "Instalátor vyžaduje oprávnění uživatele [root]." -#: src/components/core/LoginPage.tsx:90 +#: src/components/core/LoginPage.tsx:91 msgid "Please, provide its password to log in to the system." msgstr "Zadejte heslo pro přihlášení do systému." -#: src/components/core/LoginPage.tsx:91 +#: src/components/core/LoginPage.tsx:92 msgid "Login form" msgstr "Přihlašovací formulář" -#: src/components/core/LoginPage.tsx:97 +#: src/components/core/LoginPage.tsx:98 msgid "Password input" msgstr "Zadejte heslo" -#: src/components/core/LoginPage.tsx:106 +#: src/components/core/LoginPage.tsx:107 msgid "Log in" msgstr "Přihlásit se" -#: src/components/core/LoginPage.tsx:113 +#: src/components/core/LoginPage.tsx:114 msgid "More about this" msgstr "Více o tom" -#: src/components/core/LogsButton.tsx:98 +#: src/components/core/LogsButton.tsx:99 msgid "Collecting logs..." msgstr "Shromažďuji záznamy..." -#: src/components/core/LogsButton.tsx:98 src/components/core/LogsButton.tsx:101 +#: src/components/core/LogsButton.tsx:99 src/components/core/LogsButton.tsx:102 msgid "Download logs" msgstr "Stahuji zázbamy" -#: src/components/core/LogsButton.tsx:108 +#: src/components/core/LogsButton.tsx:109 msgid "" "The browser will run the logs download as soon as they are ready. Please, be " "patient." msgstr "Prohlížeč stáhne záznamy, jakmile budou připraveny. Čekejte prosím." -#: src/components/core/LogsButton.tsx:118 +#: src/components/core/LogsButton.tsx:119 msgid "Something went wrong while collecting logs. Please, try again." msgstr "Stahování záznamů se nezdařilo. Zkuste to znovu." -#: src/components/core/Page.tsx:259 +#: src/components/core/Page.tsx:260 msgid "Back" msgstr "" -#: src/components/core/PasswordAndConfirmationInput.tsx:64 +#: src/components/core/PasswordAndConfirmationInput.tsx:65 msgid "Passwords do not match" msgstr "Hesla se neshodují" #. TRANSLATORS: field label -#: src/components/core/PasswordAndConfirmationInput.tsx:88 -#: src/components/network/WifiConnectionForm.tsx:133 -#: src/components/questions/QuestionWithPassword.tsx:62 -#: src/components/storage/iscsi/AuthFields.jsx:90 -#: src/components/storage/iscsi/AuthFields.jsx:94 -#: src/components/users/RootAuthMethods.tsx:76 +#: src/components/core/PasswordAndConfirmationInput.tsx:89 +#: src/components/network/WifiConnectionForm.tsx:132 +#: src/components/questions/QuestionWithPassword.tsx:63 +#: src/components/storage/iscsi/AuthFields.jsx:91 +#: src/components/storage/iscsi/AuthFields.jsx:95 +#: src/components/users/RootAuthMethods.tsx:77 msgid "Password" msgstr "Heslo" -#: src/components/core/PasswordAndConfirmationInput.tsx:99 +#: src/components/core/PasswordAndConfirmationInput.tsx:100 msgid "Password confirmation" msgstr "Potvrzení hesla" -#: src/components/core/PasswordInput.jsx:61 +#: src/components/core/PasswordInput.jsx:62 msgid "Password visibility button" msgstr "Tlačítko viditelnosti hesla" -#: src/components/core/Popup.jsx:92 +#: src/components/core/Popup.jsx:93 msgid "Confirm" msgstr "Potvrdit" #. TRANSLATORS: progress message -#: src/components/core/Popup.jsx:210 +#: src/components/core/Popup.jsx:211 msgid "Loading data..." msgstr "Soubor se načítá…" -#: src/components/core/ProgressReport.jsx:50 +#: src/components/core/ProgressReport.jsx:51 msgid "Pending" msgstr "Čeká se na" -#: src/components/core/ProgressReport.jsx:59 +#: src/components/core/ProgressReport.jsx:60 msgid "In progress" msgstr "Probíhá" -#: src/components/core/ProgressReport.jsx:74 +#: src/components/core/ProgressReport.jsx:75 msgid "Finished" msgstr "Dokončeno" -#: src/components/core/RowActions.jsx:64 -#: src/components/storage/PartitionsField.tsx:457 -#: src/components/storage/ProposalActionsSummary.tsx:241 +#: src/components/core/RowActions.jsx:65 +#: src/components/storage/PartitionsField.tsx:458 +#: src/components/storage/ProposalActionsSummary.tsx:242 msgid "Actions" msgstr "Akce" -#: src/components/core/SectionSkeleton.jsx:27 +#: src/components/core/SectionSkeleton.jsx:28 msgid "Waiting" msgstr "Čekám" -#: src/components/core/ServerError.jsx:47 +#: src/components/core/ServerError.tsx:46 msgid "Cannot connect to Agama server" msgstr "Nelze se připojit k serveru Agama" -#: src/components/core/ServerError.jsx:51 +#: src/components/core/ServerError.tsx:50 msgid "Please, check whether it is running." msgstr "Zkontrolujte, zda je spuštěn." -#: src/components/core/ServerError.jsx:56 +#: src/components/core/ServerError.tsx:56 msgid "Reload" msgstr "Znovu načíst" -#: src/components/l10n/KeyboardSelection.tsx:41 +#: src/components/l10n/KeyboardSelection.tsx:42 msgid "Filter by description or keymap code" msgstr "Filtrování podle popisu nebo kódu mapy kláves" -#: src/components/l10n/KeyboardSelection.tsx:71 +#: src/components/l10n/KeyboardSelection.tsx:72 msgid "None of the keymaps match the filter." msgstr "Žádná z map kláves neodpovídá filtru." -#: src/components/l10n/KeyboardSelection.tsx:77 +#: src/components/l10n/KeyboardSelection.tsx:78 msgid "Keyboard selection" msgstr "Výběr klávesnice" -#: src/components/l10n/KeyboardSelection.tsx:91 -#: src/components/l10n/L10nPage.jsx:52 src/components/l10n/L10nPage.jsx:63 -#: src/components/l10n/L10nPage.jsx:74 -#: src/components/l10n/LocaleSelection.tsx:92 -#: src/components/l10n/TimezoneSelection.tsx:130 -#: src/components/product/ProductSelectionPage.tsx:128 -#: src/components/software/SoftwarePatternsSelection.tsx:166 +#: src/components/l10n/KeyboardSelection.tsx:92 +#: src/components/l10n/L10nPage.jsx:53 src/components/l10n/L10nPage.jsx:64 +#: src/components/l10n/L10nPage.jsx:75 +#: src/components/l10n/LocaleSelection.tsx:93 +#: src/components/l10n/TimezoneSelection.tsx:131 +#: src/components/product/ProductSelectionPage.tsx:129 +#: src/components/software/SoftwarePatternsSelection.tsx:167 msgid "Select" msgstr "Zvolit" -#: src/components/l10n/L10nPage.jsx:41 -#: src/components/overview/L10nSection.jsx:37 src/routes/l10n.tsx:37 +#: src/components/l10n/L10nPage.jsx:42 +#: src/components/overview/L10nSection.jsx:38 src/routes/l10n.tsx:38 msgid "Localization" msgstr "Lokalizace" -#: src/components/l10n/L10nPage.jsx:49 src/components/l10n/L10nPage.jsx:60 -#: src/components/l10n/L10nPage.jsx:71 +#: src/components/l10n/L10nPage.jsx:50 src/components/l10n/L10nPage.jsx:61 +#: src/components/l10n/L10nPage.jsx:72 msgid "Not selected yet" msgstr "Dosud nevybráno" -#: src/components/l10n/L10nPage.jsx:52 src/components/l10n/L10nPage.jsx:63 -#: src/components/l10n/L10nPage.jsx:74 -#: src/components/network/NetworkPage.tsx:63 -#: src/components/storage/InstallationDeviceField.tsx:105 -#: src/components/storage/ProposalActionsSummary.tsx:246 -#: src/components/users/RootAuthMethods.tsx:113 -#: src/components/users/RootAuthMethods.tsx:125 +#: src/components/l10n/L10nPage.jsx:53 src/components/l10n/L10nPage.jsx:64 +#: src/components/l10n/L10nPage.jsx:75 +#: src/components/network/NetworkPage.tsx:64 +#: src/components/storage/InstallationDeviceField.tsx:106 +#: src/components/storage/ProposalActionsSummary.tsx:248 +#: src/components/users/RootAuthMethods.tsx:114 +#: src/components/users/RootAuthMethods.tsx:126 msgid "Change" msgstr "Změnit" -#: src/components/l10n/L10nPage.jsx:59 +#: src/components/l10n/L10nPage.jsx:60 msgid "Keyboard" msgstr "Klávesnice" -#: src/components/l10n/L10nPage.jsx:70 +#: src/components/l10n/L10nPage.jsx:71 msgid "Time zone" msgstr "Časové pásmo" -#: src/components/l10n/LocaleSelection.tsx:39 +#: src/components/l10n/LocaleSelection.tsx:40 msgid "Filter by language, territory or locale code" msgstr "Filtrování podle jazyka, území nebo kódu lokality" -#: src/components/l10n/LocaleSelection.tsx:72 +#: src/components/l10n/LocaleSelection.tsx:73 msgid "None of the locales match the filter." msgstr "Žádné umístění neodpovídá filtru." -#: src/components/l10n/LocaleSelection.tsx:78 +#: src/components/l10n/LocaleSelection.tsx:79 msgid "Locale selection" msgstr "Výběr lokality" -#: src/components/l10n/TimezoneSelection.tsx:67 +#: src/components/l10n/TimezoneSelection.tsx:68 msgid "Filter by territory, time zone code or UTC offset" msgstr "Filtrování podle území, kódu časového pásma nebo posunu od UTC" -#: src/components/l10n/TimezoneSelection.tsx:106 +#: src/components/l10n/TimezoneSelection.tsx:107 msgid "None of the time zones match the filter." msgstr "Žádné z časových pásem neodpovídá filtru." -#: src/components/l10n/TimezoneSelection.tsx:112 +#: src/components/l10n/TimezoneSelection.tsx:113 msgid " Timezone selection" msgstr " Výběr časového pásma" -#: src/components/layout/Header.tsx:61 +#: src/components/layout/Header.tsx:62 msgid "Main navigation" msgstr "" -#: src/components/layout/Loading.jsx:29 +#: src/components/layout/Loading.jsx:30 msgid "Loading installation environment, please wait." msgstr "Načítá se instalační prostředí, vyčkejte prosím." #. TRANSLATORS: button label -#: src/components/network/AddressesDataList.tsx:102 -#: src/components/network/DnsDataList.tsx:106 +#: src/components/network/AddressesDataList.tsx:103 +#: src/components/network/DnsDataList.tsx:107 msgid "Remove" msgstr "Odstranit" #. TRANSLATORS: input field name -#: src/components/network/AddressesDataList.tsx:112 -#: src/components/network/IpAddressInput.tsx:34 +#: src/components/network/AddressesDataList.tsx:113 +#: src/components/network/IpAddressInput.tsx:35 msgid "IP Address" msgstr "IP adresa" #. TRANSLATORS: input field name -#: src/components/network/AddressesDataList.tsx:120 +#: src/components/network/AddressesDataList.tsx:121 msgid "Prefix length or netmask" msgstr "Délka předpony nebo maska sítě" -#: src/components/network/AddressesDataList.tsx:138 +#: src/components/network/AddressesDataList.tsx:139 msgid "Add an address" msgstr "Přidat adresu" #. TRANSLATORS: button label -#: src/components/network/AddressesDataList.tsx:138 +#: src/components/network/AddressesDataList.tsx:139 msgid "Add another address" msgstr "Přidat další adresu" -#: src/components/network/AddressesDataList.tsx:143 +#: src/components/network/AddressesDataList.tsx:144 msgid "Addresses" msgstr "Adresy" -#: src/components/network/AddressesDataList.tsx:146 +#: src/components/network/AddressesDataList.tsx:147 msgid "Addresses data list" msgstr "Seznam údajů o adresách" -#. TRANSLATORS: table header #. TRANSLATORS: input field for the iSCSI initiator name -#: src/components/network/ConnectionsTable.tsx:65 -#: src/components/network/ConnectionsTable.tsx:94 -#: src/components/storage/ZFCPPage.jsx:381 -#: src/components/storage/iscsi/InitiatorForm.tsx:52 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:53 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:70 -#: src/components/storage/iscsi/NodesPresenter.jsx:99 -#: src/components/storage/iscsi/NodesPresenter.jsx:120 +#. TRANSLATORS: table header +#: src/components/network/ConnectionsTable.tsx:66 +#: src/components/network/ConnectionsTable.tsx:95 +#: src/components/storage/iscsi/InitiatorForm.tsx:53 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:54 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:71 +#: src/components/storage/iscsi/NodesPresenter.jsx:100 +#: src/components/storage/iscsi/NodesPresenter.jsx:121 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:42 msgid "Name" msgstr "Název" #. TRANSLATORS: table header -#: src/components/network/ConnectionsTable.tsx:67 -#: src/components/network/ConnectionsTable.tsx:95 +#: src/components/network/ConnectionsTable.tsx:68 +#: src/components/network/ConnectionsTable.tsx:96 msgid "IP addresses" msgstr "IP adresy" #. TRANSLATORS: table header aria label -#: src/components/network/ConnectionsTable.tsx:69 +#: src/components/network/ConnectionsTable.tsx:70 msgid "Connection actions" msgstr "Akce připojení" -#: src/components/network/ConnectionsTable.tsx:76 -#: src/components/network/WifiNetworksListPage.tsx:127 -#: src/components/network/WifiNetworksListPage.tsx:151 -#: src/components/storage/PartitionsField.tsx:312 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:44 -#: src/components/storage/iscsi/NodesPresenter.jsx:74 -#: src/components/users/FirstUser.tsx:83 +#: src/components/network/ConnectionsTable.tsx:77 +#: src/components/network/WifiNetworksListPage.tsx:128 +#: src/components/network/WifiNetworksListPage.tsx:152 +#: src/components/storage/PartitionsField.tsx:313 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:45 +#: src/components/storage/iscsi/NodesPresenter.jsx:75 +#: src/components/users/FirstUser.tsx:84 msgid "Edit" msgstr "Upravit" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:79 -#: src/components/network/IpSettingsForm.tsx:146 +#: src/components/network/ConnectionsTable.tsx:80 +#: src/components/network/IpSettingsForm.tsx:147 #, c-format msgid "Edit connection %s" msgstr "Upravit připojení %s" -#: src/components/network/ConnectionsTable.tsx:83 -#: src/components/network/WifiNetworksListPage.tsx:130 -#: src/components/network/WifiNetworksListPage.tsx:154 +#: src/components/network/ConnectionsTable.tsx:84 +#: src/components/network/WifiNetworksListPage.tsx:131 +#: src/components/network/WifiNetworksListPage.tsx:155 msgid "Forget" msgstr "Zapomenout" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:85 +#: src/components/network/ConnectionsTable.tsx:86 #, c-format msgid "Forget connection %s" msgstr "Zapomenout připojení %s" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:100 +#: src/components/network/ConnectionsTable.tsx:101 #, c-format msgid "Actions for connection %s" msgstr "Akce pro připojení %s" #. TRANSLATORS: input field name -#: src/components/network/DnsDataList.tsx:90 +#: src/components/network/DnsDataList.tsx:91 msgid "Server IP" msgstr "IP serveru" -#: src/components/network/DnsDataList.tsx:115 +#: src/components/network/DnsDataList.tsx:116 msgid "Add DNS" msgstr "Přidat DNS" #. TRANSLATORS: button label -#: src/components/network/DnsDataList.tsx:115 +#: src/components/network/DnsDataList.tsx:116 msgid "Add another DNS" msgstr "Přidat další DNS" -#: src/components/network/DnsDataList.tsx:120 +#: src/components/network/DnsDataList.tsx:121 msgid "DNS" msgstr "DNS" -#: src/components/network/IpPrefixInput.tsx:34 +#: src/components/network/IpPrefixInput.tsx:35 #, fuzzy msgid "Ip prefix or netmask" msgstr "Předpona IP nebo maska sítě" #. TRANSLATORS: error message -#: src/components/network/IpSettingsForm.tsx:102 +#: src/components/network/IpSettingsForm.tsx:103 msgid "At least one address must be provided for selected mode" msgstr "Pro zvolený režim musí být uvedena alespoň jedna adresa" #. TRANSLATORS: network connection mode (automatic via DHCP or manual with static IP) -#: src/components/network/IpSettingsForm.tsx:156 -#: src/components/network/IpSettingsForm.tsx:161 -#: src/components/network/IpSettingsForm.tsx:163 +#: src/components/network/IpSettingsForm.tsx:157 +#: src/components/network/IpSettingsForm.tsx:162 +#: src/components/network/IpSettingsForm.tsx:164 msgid "Mode" msgstr "Režim" -#: src/components/network/IpSettingsForm.tsx:170 +#: src/components/network/IpSettingsForm.tsx:171 msgid "Automatic (DHCP)" msgstr "Automatický (DHCP)" -#: src/components/network/IpSettingsForm.tsx:176 -#: src/components/storage/iscsi/NodeStartupOptions.js:25 +#: src/components/network/IpSettingsForm.tsx:177 +#: src/components/storage/iscsi/NodeStartupOptions.js:26 msgid "Manual" msgstr "Manuální" #. TRANSLATORS: network gateway configuration -#: src/components/network/IpSettingsForm.tsx:185 -#: src/components/network/IpSettingsForm.tsx:188 +#: src/components/network/IpSettingsForm.tsx:186 +#: src/components/network/IpSettingsForm.tsx:189 msgid "Gateway" msgstr "Brána" -#: src/components/network/IpSettingsForm.tsx:197 +#: src/components/network/IpSettingsForm.tsx:198 msgid "Gateway can be defined only in 'Manual' mode" msgstr "Bránu lze definovat pouze v režimu 'Manual'" -#: src/components/network/NetworkPage.tsx:37 +#: src/components/network/NetworkPage.tsx:38 msgid "Wired" msgstr "Připojení kabelem (Ethernet)" -#: src/components/network/NetworkPage.tsx:44 +#: src/components/network/NetworkPage.tsx:45 msgid "No wired connections found" msgstr "Nebyla nalezena žádná kabelová připojení" -#: src/components/network/NetworkPage.tsx:60 +#: src/components/network/NetworkPage.tsx:61 msgid "Wi-Fi" msgstr "Wi-Fi" #. TRANSLATORS: button label, connect to a WiFi network -#: src/components/network/NetworkPage.tsx:63 -#: src/components/network/WifiConnectionForm.tsx:142 -#: src/components/network/WifiNetworksListPage.tsx:125 +#: src/components/network/NetworkPage.tsx:64 +#: src/components/network/WifiConnectionForm.tsx:141 +#: src/components/network/WifiNetworksListPage.tsx:126 msgid "Connect" msgstr "Připojit" -#: src/components/network/NetworkPage.tsx:69 +#: src/components/network/NetworkPage.tsx:70 #, fuzzy, c-format msgid "Connected to %s" msgstr "Připojit k %s" -#: src/components/network/NetworkPage.tsx:76 +#: src/components/network/NetworkPage.tsx:77 msgid "No connected yet" msgstr "Dosud nepřipojeno" -#: src/components/network/NetworkPage.tsx:77 +#: src/components/network/NetworkPage.tsx:78 msgid "" "The system has not been configured for connecting to a Wi-Fi network yet." msgstr "Systém zatím nebyl konfigurován pro připojení k síti Wi-Fi." -#: src/components/network/NetworkPage.tsx:86 +#: src/components/network/NetworkPage.tsx:87 msgid "No Wi-Fi supported" msgstr "Wi-Fi není podporováno" -#: src/components/network/NetworkPage.tsx:88 +#: src/components/network/NetworkPage.tsx:89 msgid "" "The system does not support Wi-Fi connections, probably because of missing " "or disabled hardware." @@ -591,140 +590,140 @@ msgstr "" "Systém nepodporuje připojení Wi-Fi, pravděpodobně chybí hardware nebo je " "zakázán." -#: src/components/network/NetworkPage.tsx:105 src/routes/network.tsx:36 +#: src/components/network/NetworkPage.tsx:106 src/routes/network.tsx:37 msgid "Network" msgstr "Síť" #. TRANSLATORS: WiFi authentication mode -#: src/components/network/WifiConnectionForm.tsx:50 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/network/WifiConnectionForm.tsx:49 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:58 msgid "None" msgstr "Žádná" #. TRANSLATORS: WiFi authentication mode -#: src/components/network/WifiConnectionForm.tsx:52 +#: src/components/network/WifiConnectionForm.tsx:51 msgid "WPA & WPA2 Personal" msgstr "WPA & WPA2 Osobní" #. TRANSLATORS: accessible name for the WiFi connection form -#: src/components/network/WifiConnectionForm.tsx:94 +#: src/components/network/WifiConnectionForm.tsx:93 #, fuzzy msgid "WiFi connection form" msgstr "Upravit připojení %s" -#: src/components/network/WifiConnectionForm.tsx:101 +#: src/components/network/WifiConnectionForm.tsx:100 #, fuzzy msgid "Authentication failed, please try again" msgstr "Ověřování cílem" -#: src/components/network/WifiConnectionForm.tsx:102 -#: src/components/storage/ZFCPDiskForm.jsx:105 -#: src/components/storage/iscsi/DiscoverForm.tsx:98 -#: src/components/storage/iscsi/LoginForm.jsx:69 -#: src/components/users/FirstUserForm.tsx:210 +#: src/components/network/WifiConnectionForm.tsx:101 +#: src/components/storage/iscsi/DiscoverForm.tsx:99 +#: src/components/storage/iscsi/LoginForm.jsx:70 +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:114 +#: src/components/users/FirstUserForm.tsx:211 msgid "Something went wrong" msgstr "Něco se nezdařilo" -#: src/components/network/WifiConnectionForm.tsx:105 +#: src/components/network/WifiConnectionForm.tsx:104 msgid "Please, review provided settings and try again." msgstr "Zkontrolujte poskytnutá nastavení a zkuste to znovu." #. TRANSLATORS: SSID (Wifi network name) configuration -#: src/components/network/WifiConnectionForm.tsx:111 +#: src/components/network/WifiConnectionForm.tsx:110 msgid "SSID" msgstr "SSID" #. TRANSLATORS: Wifi security configuration (password protected or not) -#: src/components/network/WifiConnectionForm.tsx:117 -#: src/components/network/WifiConnectionForm.tsx:120 +#: src/components/network/WifiConnectionForm.tsx:116 +#: src/components/network/WifiConnectionForm.tsx:119 msgid "Security" msgstr "Zabezpečení" #. TRANSLATORS: WiFi password -#: src/components/network/WifiConnectionForm.tsx:129 +#: src/components/network/WifiConnectionForm.tsx:128 msgid "WPA Password" msgstr "Heslo k WPA" #. TRANSLATORS: Wifi network status -#: src/components/network/WifiNetworksListPage.tsx:72 -#: src/components/network/WifiNetworksListPage.tsx:138 +#: src/components/network/WifiNetworksListPage.tsx:73 +#: src/components/network/WifiNetworksListPage.tsx:139 msgid "Connecting" msgstr "Připojuji" #. TRANSLATORS: Wifi network status -#: src/components/network/WifiNetworksListPage.tsx:75 -#: src/components/network/WifiNetworksListPage.tsx:142 -#: src/components/network/WifiNetworksListPage.tsx:181 +#: src/components/network/WifiNetworksListPage.tsx:76 +#: src/components/network/WifiNetworksListPage.tsx:143 +#: src/components/network/WifiNetworksListPage.tsx:182 msgid "Connected" msgstr "Připojeno" -#. TRANSLATORS: Wifi network status #. TRANSLATORS: iSCSI connection status -#: src/components/network/WifiNetworksListPage.tsx:80 -#: src/components/network/WifiNetworksListPage.tsx:140 -#: src/components/storage/iscsi/NodesPresenter.jsx:64 +#. TRANSLATORS: Wifi network status +#: src/components/network/WifiNetworksListPage.tsx:81 +#: src/components/network/WifiNetworksListPage.tsx:141 +#: src/components/storage/iscsi/NodesPresenter.jsx:65 msgid "Disconnected" msgstr "Odpojeno" -#: src/components/network/WifiNetworksListPage.tsx:148 +#: src/components/network/WifiNetworksListPage.tsx:149 msgid "Disconnect" msgstr "Odpojit" -#: src/components/network/WifiNetworksListPage.tsx:167 -#: src/components/network/WifiNetworksListPage.tsx:285 +#: src/components/network/WifiNetworksListPage.tsx:168 +#: src/components/network/WifiNetworksListPage.tsx:286 msgid "Connect to hidden network" msgstr "Připojit ke skryté síti" -#: src/components/network/WifiNetworksListPage.tsx:178 +#: src/components/network/WifiNetworksListPage.tsx:179 msgid "configured" msgstr "konfigurováno" -#: src/components/network/WifiNetworksListPage.tsx:270 +#: src/components/network/WifiNetworksListPage.tsx:271 #, fuzzy msgid "Visible Wi-Fi networks" msgstr "Připojení k síti Wi-Fi" -#: src/components/network/WifiSelectorPage.tsx:35 +#: src/components/network/WifiSelectorPage.tsx:36 msgid "Connect to a Wi-Fi network" msgstr "Připojení k síti Wi-Fi" #. TRANSLATORS: %s will be replaced by a language name and territory, example: #. "English (United States)". -#: src/components/overview/L10nSection.jsx:33 +#: src/components/overview/L10nSection.jsx:34 #, c-format msgid "The system will use %s as its default language." msgstr "Systém použije jako výchozí jazyk %s." -#: src/components/overview/OverviewPage.tsx:47 -#: src/components/users/UsersPage.tsx:35 src/routes/users.tsx:38 +#: src/components/overview/OverviewPage.tsx:48 +#: src/components/users/UsersPage.tsx:36 src/routes/users.tsx:39 msgid "Users" msgstr "Uživatelé" -#: src/components/overview/OverviewPage.tsx:48 -#: src/components/overview/StorageSection.jsx:111 -#: src/components/storage/ProposalPage.tsx:107 src/routes/storage.tsx:44 +#: src/components/overview/OverviewPage.tsx:49 +#: src/components/overview/StorageSection.jsx:112 +#: src/components/storage/ProposalPage.tsx:108 src/routes/storage.tsx:51 msgid "Storage" msgstr "Paměť" -#: src/components/overview/OverviewPage.tsx:49 -#: src/components/overview/SoftwareSection.tsx:69 -#: src/components/software/SoftwarePage.tsx:110 src/routes/software.tsx:36 +#: src/components/overview/OverviewPage.tsx:50 +#: src/components/overview/SoftwareSection.tsx:70 +#: src/components/software/SoftwarePage.tsx:106 src/routes/software.tsx:37 msgid "Software" msgstr "Software" -#: src/components/overview/OverviewPage.tsx:54 +#: src/components/overview/OverviewPage.tsx:55 msgid "Ready for installation" msgstr "Připraveno k instalaci" -#: src/components/overview/OverviewPage.tsx:98 +#: src/components/overview/OverviewPage.tsx:99 msgid "Installation" msgstr "Instalace" -#: src/components/overview/OverviewPage.tsx:99 +#: src/components/overview/OverviewPage.tsx:100 msgid "Before installing, please check the following problems." msgstr "Před instalací zkontrolujte tyto problémy." -#: src/components/overview/OverviewPage.tsx:113 +#: src/components/overview/OverviewPage.tsx:114 msgid "" "These are the most relevant installation settings. Feel free to browse the " "sections in the menu for further details." @@ -732,23 +731,23 @@ msgstr "" "Toto je nejdůležitější nastavení instalace. Další podrobnosti najdete v " "sekcích v nabídce." -#: src/components/overview/OverviewPage.tsx:133 +#: src/components/overview/OverviewPage.tsx:134 msgid "" "Take your time to check your configuration before starting the installation " "process." msgstr "Před zahájením instalace zkontrolujte konfiguraci." -#: src/components/overview/SoftwareSection.tsx:41 +#: src/components/overview/SoftwareSection.tsx:42 msgid "The installation will take" msgstr "Instalace zabere" #. TRANSLATORS: %s will be replaced with the installation size, example: "5GiB". -#: src/components/overview/SoftwareSection.tsx:48 +#: src/components/overview/SoftwareSection.tsx:49 #, c-format msgid "The installation will take %s including:" msgstr "Instalace bude trvat %s včetně:" -#: src/components/overview/StorageSection.jsx:53 +#: src/components/overview/StorageSection.jsx:54 msgid "" "Install in a new Logical Volume Manager (LVM) volume group shrinking " "existing partitions at the underlying devices as needed" @@ -756,7 +755,7 @@ msgstr "" "Instalace do nové skupiny svazků LVM (Logical Volume Manager), která podle " "potřeby zmenší existující oddíly na základních zařízeních" -#: src/components/overview/StorageSection.jsx:58 +#: src/components/overview/StorageSection.jsx:59 msgid "" "Install in a new Logical Volume Manager (LVM) volume group without modifying " "the partitions at the underlying devices" @@ -764,7 +763,7 @@ msgstr "" "Instalace do nové skupiny svazků Správce logických svazků (LVM) bez úpravy " "oddílů v základních zařízeních" -#: src/components/overview/StorageSection.jsx:63 +#: src/components/overview/StorageSection.jsx:64 msgid "" "Install in a new Logical Volume Manager (LVM) volume group deleting all the " "content of the underlying devices" @@ -772,7 +771,7 @@ msgstr "" "Instalace do nové skupiny svazků LVM (Logical Volume Manager), která " "odstraní veškerý obsah základních zařízení" -#: src/components/overview/StorageSection.jsx:68 +#: src/components/overview/StorageSection.jsx:69 msgid "" "Install in a new Logical Volume Manager (LVM) volume group using a custom " "strategy to find the needed space at the underlying devices" @@ -780,7 +779,7 @@ msgstr "" "Instalace do nové skupiny svazků LVM (Logical Volume Manager) pomocí vlastní " "strategie pro nalezení potřebného místa v základních zařízeních" -#: src/components/overview/StorageSection.jsx:86 +#: src/components/overview/StorageSection.jsx:87 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s shrinking " @@ -789,7 +788,7 @@ msgstr "" "Instalace do nové skupiny svazků LVM (Logical Volume Manager) na %s se " "zmenšením stávajících oddílů podle potřeby" -#: src/components/overview/StorageSection.jsx:92 +#: src/components/overview/StorageSection.jsx:93 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s without " @@ -798,7 +797,7 @@ msgstr "" "Instalace do nové skupiny svazků LVM (Logical Volume Manager) na %s bez " "úpravy existujících oddílů" -#: src/components/overview/StorageSection.jsx:98 +#: src/components/overview/StorageSection.jsx:99 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s deleting " @@ -807,7 +806,7 @@ msgstr "" "Instalace do nové skupiny svazků LVM (Logical Volume Manager) na %s s " "odstraněním veškerého jejich obsahu" -#: src/components/overview/StorageSection.jsx:104 +#: src/components/overview/StorageSection.jsx:105 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s using a " @@ -816,14 +815,14 @@ msgstr "" "Instalace do nové skupiny svazků LVM (Logical Volume Manager) na %s s " "použitím vlastní strategie pro nalezení potřebného místa" -#: src/components/overview/StorageSection.jsx:179 -#: src/components/storage/InstallationDeviceField.tsx:59 +#: src/components/overview/StorageSection.jsx:180 +#: src/components/storage/InstallationDeviceField.tsx:60 msgid "No device selected yet" msgstr "Zatím nebylo vybráno žádné zařízení" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:186 +#: src/components/overview/StorageSection.jsx:187 #, c-format msgid "Install using device %s shrinking existing partitions as needed" msgstr "" @@ -831,21 +830,21 @@ msgstr "" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:190 +#: src/components/overview/StorageSection.jsx:191 #, c-format msgid "Install using device %s without modifying existing partitions" msgstr "Instalace pomocí zařízení %s bez úpravy stávajících oddílů" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:194 +#: src/components/overview/StorageSection.jsx:195 #, c-format msgid "Install using device %s and deleting all its content" msgstr "Instalace pomocí zařízení %s a odstranění veškerého jeho obsahu" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:199 +#: src/components/overview/StorageSection.jsx:200 #, c-format msgid "Install using device %s with a custom strategy to find the needed space" msgstr "" @@ -853,67 +852,67 @@ msgstr "" "místa" #. TRANSLATORS: %s will be replaced by a product name. E.g., "openSUSE Tumbleweed" -#: src/components/product/ProductSelectionPage.tsx:56 +#: src/components/product/ProductSelectionPage.tsx:57 #, c-format msgid "%s logo" msgstr "" -#: src/components/product/ProductSelectionPage.tsx:107 +#: src/components/product/ProductSelectionPage.tsx:108 #, fuzzy msgid "Select a product" msgstr "Vyberte umístění" -#: src/components/product/ProductSelectionPage.tsx:108 +#: src/components/product/ProductSelectionPage.tsx:109 #, fuzzy msgid "Available products" msgstr "Změnit produkt" -#: src/components/product/ProductSelectionProgress.jsx:46 +#: src/components/product/ProductSelectionProgress.jsx:45 msgid "Configuring the product, please wait ..." msgstr "Konfigurace produktu, počkejte prosím..." -#: src/components/questions/GenericQuestion.tsx:48 -#: src/components/questions/LuksActivationQuestion.tsx:69 +#: src/components/questions/GenericQuestion.tsx:49 +#: src/components/questions/LuksActivationQuestion.tsx:70 msgid "Question" msgstr "Dotaz" #. TRANSLATORS: error message, user entered a wrong password -#: src/components/questions/LuksActivationQuestion.tsx:37 +#: src/components/questions/LuksActivationQuestion.tsx:38 #, fuzzy msgid "The encryption password did not work" msgstr "Zadané šifrovací heslo nefungovalo" -#: src/components/questions/LuksActivationQuestion.tsx:68 +#: src/components/questions/LuksActivationQuestion.tsx:69 msgid "Encrypted Device" msgstr "Šifrované zařízení" #. TRANSLATORS: field label -#: src/components/questions/LuksActivationQuestion.tsx:77 +#: src/components/questions/LuksActivationQuestion.tsx:78 msgid "Encryption Password" msgstr "Heslo pro šifrování" -#: src/components/questions/QuestionWithPassword.tsx:55 +#: src/components/questions/QuestionWithPassword.tsx:56 msgid "Password Required" msgstr "Vyžadováno heslo" -#: src/components/software/SoftwarePage.tsx:52 +#: src/components/software/SoftwarePage.tsx:48 msgid "No additional software was selected." msgstr "Nebyl vybrán žádný další software." -#: src/components/software/SoftwarePage.tsx:57 +#: src/components/software/SoftwarePage.tsx:53 msgid "The following software patterns are selected for installation:" msgstr "Pro instalaci jsou vybrány tyto softwarové vzory:" -#: src/components/software/SoftwarePage.tsx:72 -#: src/components/software/SoftwarePage.tsx:84 +#: src/components/software/SoftwarePage.tsx:68 +#: src/components/software/SoftwarePage.tsx:80 msgid "Selected patterns" msgstr "Vybrané vzory" -#: src/components/software/SoftwarePage.tsx:75 +#: src/components/software/SoftwarePage.tsx:71 msgid "Change selection" msgstr "Změnit výběr" -#: src/components/software/SoftwarePage.tsx:87 +#: src/components/software/SoftwarePage.tsx:83 msgid "" "This product does not allow to select software patterns during installation. " "However, you can add additional software once the installation is finished." @@ -921,37 +920,37 @@ msgstr "" "Tento produkt neumožňuje výběr softwarových vzorů během instalace. Po " "dokončení instalace však můžete přidat další software." -#: src/components/software/SoftwarePatternsSelection.tsx:97 +#: src/components/software/SoftwarePatternsSelection.tsx:98 msgid "None of the patterns match the filter." msgstr "Žádný ze vzorů neodpovídá filtru." -#: src/components/software/SoftwarePatternsSelection.tsx:162 +#: src/components/software/SoftwarePatternsSelection.tsx:163 msgid "auto selected" msgstr "automaticky vybráno" -#: src/components/software/SoftwarePatternsSelection.tsx:166 +#: src/components/software/SoftwarePatternsSelection.tsx:167 #, fuzzy msgid "Unselect" msgstr "Zvolit" -#: src/components/software/SoftwarePatternsSelection.tsx:186 +#: src/components/software/SoftwarePatternsSelection.tsx:187 msgid "Software selection" msgstr "Výběr softwaru" #. TRANSLATORS: search field placeholder text -#: src/components/software/SoftwarePatternsSelection.tsx:189 #: src/components/software/SoftwarePatternsSelection.tsx:190 +#: src/components/software/SoftwarePatternsSelection.tsx:191 msgid "Filter by pattern title or description" msgstr "Filtrování podle názvu nebo popisu vzoru" #. TRANSLATORS: %s will be replaced by the estimated installation size, #. example: "728.8 MiB" -#: src/components/software/UsedSize.tsx:32 +#: src/components/software/UsedSize.tsx:33 #, c-format msgid "Installation will take %s." msgstr "Instalace bude trvat %s." -#: src/components/software/UsedSize.tsx:36 +#: src/components/software/UsedSize.tsx:37 msgid "" "This space includes the base system and the selected software patterns, if " "any." @@ -959,25 +958,25 @@ msgstr "" "Tento prostor zahrnuje základní systém a vybrané softwarové vzory, pokud " "existují." -#: src/components/storage/BootConfigField.tsx:41 +#: src/components/storage/BootConfigField.tsx:42 msgid "Change boot options" msgstr "Změna možností spouštění systému" -#: src/components/storage/BootConfigField.tsx:78 +#: src/components/storage/BootConfigField.tsx:79 msgid "Installation will not configure partitions for booting." msgstr "Instalace nenakonfiguruje oddíly pro zavádění systému." -#: src/components/storage/BootConfigField.tsx:82 +#: src/components/storage/BootConfigField.tsx:83 msgid "" "Installation will configure partitions for booting at the installation disk." msgstr "Instalace nakonfiguruje oddíly pro zavádění na instalačním disku." -#: src/components/storage/BootConfigField.tsx:86 +#: src/components/storage/BootConfigField.tsx:87 #, c-format msgid "Installation will configure partitions for booting at %s." msgstr "Instalace nakonfiguruje oddíly pro zavádění v %s." -#: src/components/storage/BootSelection.tsx:108 +#: src/components/storage/BootSelection.tsx:109 msgid "" "To ensure the new system is able to boot, the installer may need to create " "or configure some partitions in the appropriate disk." @@ -985,160 +984,49 @@ msgstr "" "Aby bylo možné nový systém spustit, může být nutné, aby instalační program " "vytvořil nebo nakonfiguroval některé oddíly na příslušném disku." -#: src/components/storage/BootSelection.tsx:114 +#: src/components/storage/BootSelection.tsx:115 msgid "Partitions to boot will be allocated at the installation disk." msgstr "Oddíly pro zavádění budou přiděleny na instalačním disku." #. TRANSLATORS: %s is replaced by a device name and size (e.g., "/dev/sda, 500GiB") -#: src/components/storage/BootSelection.tsx:119 +#: src/components/storage/BootSelection.tsx:120 #, c-format msgid "Partitions to boot will be allocated at the installation disk (%s)." msgstr "Oddíly pro zavádění budou přiděleny na instalačním disku (%s)." -#: src/components/storage/BootSelection.tsx:135 +#: src/components/storage/BootSelection.tsx:136 msgid "Select booting partition" msgstr "Výběr zaváděcího oddílu" -#: src/components/storage/BootSelection.tsx:156 -#: src/components/storage/iscsi/NodeStartupOptions.js:27 +#: src/components/storage/BootSelection.tsx:157 +#: src/components/storage/iscsi/NodeStartupOptions.js:28 msgid "Automatic" msgstr "Automatický" -#: src/components/storage/BootSelection.tsx:174 +#: src/components/storage/BootSelection.tsx:175 msgid "Select a disk" msgstr "Výběr disku" -#: src/components/storage/BootSelection.tsx:179 +#: src/components/storage/BootSelection.tsx:180 msgid "Partitions to boot will be allocated at the following device." msgstr "Oddíly pro zavádění budou přiděleny na tomto zařízení." -#: src/components/storage/BootSelection.tsx:181 +#: src/components/storage/BootSelection.tsx:182 msgid "Choose a disk for placing the boot loader" msgstr "Výběr disku pro umístění zavaděče" -#: src/components/storage/BootSelection.tsx:204 +#: src/components/storage/BootSelection.tsx:205 msgid "Do not configure" msgstr "Nekonfigurujte" -#: src/components/storage/BootSelection.tsx:210 +#: src/components/storage/BootSelection.tsx:211 msgid "" "No partitions will be automatically configured for booting. Use with caution." msgstr "" "Žádné oddíly nebudou automaticky konfigurovány pro zavádění systému. " "Používejte opatrně." -#: src/components/storage/DASDFormatProgress.tsx:48 -msgid "Formatting DASD devices" -msgstr "Formátuji zařízení DASD" - -#: src/components/storage/DASDPage.tsx:36 src/routes/storage.tsx:70 -#, fuzzy -msgid "DASD" -msgstr "DASD %s" - -#: src/components/storage/DASDTable.tsx:63 -#: src/components/storage/ZFCPPage.jsx:340 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -msgid "No" -msgstr "Ne" - -#: src/components/storage/DASDTable.tsx:63 -#: src/components/storage/ZFCPPage.jsx:340 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -msgid "Yes" -msgstr "Ano" - -#: src/components/storage/DASDTable.tsx:70 -#: src/components/storage/ZFCPDiskForm.jsx:110 -#: src/components/storage/ZFCPPage.jsx:324 -#: src/components/storage/ZFCPPage.jsx:382 -msgid "Channel ID" -msgstr "ID kanálu" - -#. TRANSLATORS: table header -#: src/components/storage/DASDTable.tsx:71 -#: src/components/storage/ZFCPPage.jsx:325 -#: src/components/storage/iscsi/NodesPresenter.jsx:103 -#: src/components/storage/iscsi/NodesPresenter.jsx:124 -#: src/components/users/RootAuthMethods.tsx:70 -msgid "Status" -msgstr "Stav" - -#: src/components/storage/DASDTable.tsx:72 -#: src/components/storage/DeviceSelectorTable.tsx:185 -#: src/components/storage/ProposalResultTable.tsx:132 -#: src/components/storage/SpaceActionsTable.tsx:206 -#: src/components/storage/VolumeLocationSelectorTable.tsx:95 -msgid "Device" -msgstr "Zařízení" - -#: src/components/storage/DASDTable.tsx:73 -msgid "Type" -msgstr "Typ" - -#. TRANSLATORS: table header, the column contains "Yes"/"No" values -#. for the DIAG access mode (special disk access mode on IBM mainframes), -#. usually keep untranslated -#: src/components/storage/DASDTable.tsx:77 -msgid "DIAG" -msgstr "DIAG" - -#: src/components/storage/DASDTable.tsx:78 -msgid "Formatted" -msgstr "Formátován" - -#: src/components/storage/DASDTable.tsx:79 -msgid "Partition Info" -msgstr "Údaje o oddílech" - -#. TRANSLATORS: drop down menu label -#: src/components/storage/DASDTable.tsx:118 -msgid "Perform an action" -msgstr "Provést akci" - -#: src/components/storage/DASDTable.tsx:125 -#: src/components/storage/ZFCPPage.jsx:353 -msgid "Activate" -msgstr "Aktivace" - -#: src/components/storage/DASDTable.tsx:129 -#: src/components/storage/ZFCPPage.jsx:395 -msgid "Deactivate" -msgstr "Deaktivace" - -#: src/components/storage/DASDTable.tsx:134 -msgid "Set DIAG On" -msgstr "Zapnout DIAG" - -#: src/components/storage/DASDTable.tsx:138 -msgid "Set DIAG Off" -msgstr "Vypnout DIAG" - -#: src/components/storage/DASDTable.tsx:143 -msgid "Format" -msgstr "Formát" - -#: src/components/storage/DASDTable.tsx:279 -#: src/components/storage/DASDTable.tsx:280 -msgid "Filter by min channel" -msgstr "Filtrování podle min. kanálu" - -#: src/components/storage/DASDTable.tsx:287 -msgid "Remove min channel filter" -msgstr "Odstranění filtru min. kanálu" - -#: src/components/storage/DASDTable.tsx:301 -#: src/components/storage/DASDTable.tsx:302 -msgid "Filter by max channel" -msgstr "Filtrování podle max. kanálu" - -#: src/components/storage/DASDTable.tsx:309 -msgid "Remove max channel filter" -msgstr "Odstranění filtru max. kanálu" - -#: src/components/storage/DeviceSelection.tsx:105 +#: src/components/storage/DeviceSelection.tsx:106 msgid "" "The file systems will be allocated by default as [new partitions in the " "selected device]." @@ -1146,7 +1034,7 @@ msgstr "" "Souborové systémy budou ve výchozím nastavení přiděleny jako [nové oddíly ve " "vybraném zařízení]." -#: src/components/storage/DeviceSelection.tsx:112 +#: src/components/storage/DeviceSelection.tsx:113 msgid "" "The file systems will be allocated by default as [logical volumes of a new " "LVM Volume Group]. The corresponding physical volumes will be created on " @@ -1156,144 +1044,153 @@ msgstr "" "nové skupiny svazků LVM]. Odpovídající fyzické svazky budou na vyžádání " "vytvořeny jako nové oddíly na vybraných zařízeních." -#: src/components/storage/DeviceSelection.tsx:121 +#: src/components/storage/DeviceSelection.tsx:122 msgid "Select installation device" msgstr "Výběr instalačního zařízení" -#: src/components/storage/DeviceSelection.tsx:127 +#: src/components/storage/DeviceSelection.tsx:128 msgid "Install new system on" msgstr "Instalace nového systému na" -#: src/components/storage/DeviceSelection.tsx:130 +#: src/components/storage/DeviceSelection.tsx:131 msgid "An existing disk" msgstr "Existující disk" -#: src/components/storage/DeviceSelection.tsx:139 +#: src/components/storage/DeviceSelection.tsx:140 msgid "A new LVM Volume Group" msgstr "Nová skupina svazků LVM" -#: src/components/storage/DeviceSelection.tsx:162 +#: src/components/storage/DeviceSelection.tsx:163 msgid "Device selector for target disk" msgstr "Výběr zařízení pro cílový disk" -#: src/components/storage/DeviceSelection.tsx:185 +#: src/components/storage/DeviceSelection.tsx:186 msgid "Device selector for new LVM volume group" msgstr "Výběr zařízení pro novou skupinu svazků LVM" -#: src/components/storage/DeviceSelection.tsx:198 +#: src/components/storage/DeviceSelection.tsx:199 msgid "Prepare more devices by configuring advanced" msgstr "Připravte další zařízení pomocí pokročilé konfigurace" -#: src/components/storage/DeviceSelection.tsx:199 +#: src/components/storage/DeviceSelection.tsx:200 msgid "storage techs" msgstr "technologie úložiště" #. TRANSLATORS: multipath device type -#: src/components/storage/DeviceSelectorTable.tsx:53 +#: src/components/storage/DeviceSelectorTable.tsx:54 msgid "Multipath" msgstr "Vícecestný" #. TRANSLATORS: %s is replaced by the device bus ID -#: src/components/storage/DeviceSelectorTable.tsx:58 +#: src/components/storage/DeviceSelectorTable.tsx:59 #, c-format msgid "DASD %s" msgstr "DASD %s" #. TRANSLATORS: software RAID device, %s is replaced by the RAID level, e.g. RAID-1 -#: src/components/storage/DeviceSelectorTable.tsx:63 +#: src/components/storage/DeviceSelectorTable.tsx:64 #, c-format msgid "Software %s" msgstr "Software %s" -#: src/components/storage/DeviceSelectorTable.tsx:68 +#: src/components/storage/DeviceSelectorTable.tsx:69 msgid "SD Card" msgstr "Karta SD" #. TRANSLATORS: %s is substituted by the type of disk like "iSCSI" or "SATA" -#: src/components/storage/DeviceSelectorTable.tsx:73 +#: src/components/storage/DeviceSelectorTable.tsx:74 #, c-format msgid "%s disk" msgstr "%s disk" -#: src/components/storage/DeviceSelectorTable.tsx:74 +#: src/components/storage/DeviceSelectorTable.tsx:75 msgid "Disk" msgstr "Disk" #. TRANSLATORS: RAID details, %s is replaced by list of devices used by the array -#: src/components/storage/DeviceSelectorTable.tsx:94 +#: src/components/storage/DeviceSelectorTable.tsx:95 #, c-format msgid "Members: %s" msgstr "Členové: %s" #. TRANSLATORS: RAID details, %s is replaced by list of devices used by the array -#: src/components/storage/DeviceSelectorTable.tsx:103 +#: src/components/storage/DeviceSelectorTable.tsx:104 #, c-format msgid "Devices: %s" msgstr "Zařízení: %s" #. TRANSLATORS: multipath details, %s is replaced by list of connections used by the device -#: src/components/storage/DeviceSelectorTable.tsx:112 +#: src/components/storage/DeviceSelectorTable.tsx:113 #, c-format msgid "Wires: %s" msgstr "Kabely: %s" #. TRANSLATORS: disk partition info, %s is replaced by partition table #. type (MS-DOS or GPT), %d is the number of the partitions -#: src/components/storage/DeviceSelectorTable.tsx:144 +#: src/components/storage/DeviceSelectorTable.tsx:145 #, c-format msgid "%s with %d partitions" msgstr "%s s %d oddíly" #. TRANSLATORS: status message, no existing content was found on the disk, #. i.e. the disk is completely empty -#: src/components/storage/DeviceSelectorTable.tsx:150 -#: src/components/storage/SpaceActionsTable.tsx:183 +#: src/components/storage/DeviceSelectorTable.tsx:151 +#: src/components/storage/SpaceActionsTable.tsx:184 msgid "No content found" msgstr "Nebyl nalezen žádný obsah" -#: src/components/storage/DeviceSelectorTable.tsx:186 -#: src/components/storage/PartitionsField.tsx:453 -#: src/components/storage/ProposalResultTable.tsx:134 +#: src/components/storage/DeviceSelectorTable.tsx:188 +#: src/components/storage/ProposalResultTable.tsx:130 #: src/components/storage/SpaceActionsTable.tsx:207 #: src/components/storage/VolumeLocationSelectorTable.tsx:96 -msgid "Details" -msgstr "Podrobnosti" +#: src/components/storage/dasd/DASDTable.tsx:73 +msgid "Device" +msgstr "Zařízení" -#: src/components/storage/DeviceSelectorTable.tsx:187 +#: src/components/storage/DeviceSelectorTable.tsx:189 #: src/components/storage/PartitionsField.tsx:454 -#: src/components/storage/ProposalResultTable.tsx:135 +#: src/components/storage/ProposalResultTable.tsx:132 #: src/components/storage/SpaceActionsTable.tsx:208 +#: src/components/storage/VolumeLocationSelectorTable.tsx:97 +msgid "Details" +msgstr "Podrobnosti" + +#: src/components/storage/DeviceSelectorTable.tsx:190 +#: src/components/storage/PartitionsField.tsx:455 +#: src/components/storage/ProposalResultTable.tsx:133 +#: src/components/storage/SpaceActionsTable.tsx:209 #: src/components/storage/VolumeFields.tsx:524 -#: src/components/storage/VolumeLocationSelectorTable.tsx:101 +#: src/components/storage/VolumeLocationSelectorTable.tsx:102 msgid "Size" msgstr "Velikost" -#: src/components/storage/DevicesTechMenu.jsx:39 +#: src/components/storage/DevicesTechMenu.tsx:43 msgid "Manage and format" msgstr "Správa a formátování" -#: src/components/storage/DevicesTechMenu.jsx:53 +#: src/components/storage/DevicesTechMenu.tsx:56 msgid "Activate disks" msgstr "Aktivace disků" -#: src/components/storage/DevicesTechMenu.jsx:54 +#: src/components/storage/DevicesTechMenu.tsx:57 +#: src/components/storage/zfcp/ZFCPPage.tsx:191 msgid "zFCP" msgstr "zFCP" -#: src/components/storage/DevicesTechMenu.jsx:67 +#: src/components/storage/DevicesTechMenu.tsx:70 msgid "Connect to iSCSI targets" msgstr "Připojení k cílům iSCSI" -#: src/components/storage/DevicesTechMenu.jsx:68 src/routes/storage.tsx:65 +#: src/components/storage/DevicesTechMenu.tsx:71 src/routes/storage.tsx:72 msgid "iSCSI" msgstr "iSCSI" -#: src/components/storage/EncryptionField.tsx:34 -#: src/components/storage/EncryptionSettingsDialog.tsx:30 +#: src/components/storage/EncryptionField.tsx:35 +#: src/components/storage/EncryptionSettingsDialog.tsx:31 msgid "Encryption" msgstr "Šifrování" -#: src/components/storage/EncryptionField.tsx:36 +#: src/components/storage/EncryptionField.tsx:37 msgid "" "Protection for the information stored at the device, including data, " "programs, and system files." @@ -1301,27 +1198,27 @@ msgstr "" "Ochrana informací uložených v zařízení, včetně dat, programů a systémových " "souborů." -#: src/components/storage/EncryptionField.tsx:40 +#: src/components/storage/EncryptionField.tsx:41 msgid "disabled" msgstr "odpojeno" -#: src/components/storage/EncryptionField.tsx:41 +#: src/components/storage/EncryptionField.tsx:42 msgid "enabled" msgstr "zapojeno" -#: src/components/storage/EncryptionField.tsx:42 +#: src/components/storage/EncryptionField.tsx:43 msgid "using TPM unlocking" msgstr "odemykání čipem TPM" -#: src/components/storage/EncryptionField.tsx:56 +#: src/components/storage/EncryptionField.tsx:57 msgid "Enable" msgstr "Zapojit" -#: src/components/storage/EncryptionField.tsx:56 +#: src/components/storage/EncryptionField.tsx:57 msgid "Modify" msgstr "Upravit" -#: src/components/storage/EncryptionSettingsDialog.tsx:32 +#: src/components/storage/EncryptionSettingsDialog.tsx:33 msgid "" "Full Disk Encryption (FDE) allows to protect the information stored at the " "device, including data, programs, and system files." @@ -1330,14 +1227,14 @@ msgstr "" "včetně dat, programů a systémových souborů." #. TRANSLATORS: "Trusted Platform Module" is the name of the technology and TPM its abbreviation -#: src/components/storage/EncryptionSettingsDialog.tsx:36 +#: src/components/storage/EncryptionSettingsDialog.tsx:37 msgid "" "Use the Trusted Platform Module (TPM) to decrypt automatically on each boot" msgstr "" "Použití modulu TPM (Trusted Platform Module) k automatickému dešifrování při " "každém spuštění systému" -#: src/components/storage/EncryptionSettingsDialog.tsx:40 +#: src/components/storage/EncryptionSettingsDialog.tsx:41 msgid "" "The password will not be needed to boot and access the data if the TPM can " "verify the integrity of the system. TPM sealing requires the new system to " @@ -1347,99 +1244,99 @@ msgstr "" "systému a přístup k datům potřebné. Zapečetění TPM vyžaduje, aby byl nový " "systém spuštěn hned při prvním použití." -#: src/components/storage/EncryptionSettingsDialog.tsx:127 +#: src/components/storage/EncryptionSettingsDialog.tsx:128 msgid "Encrypt the system" msgstr "Šifrování systému" -#: src/components/storage/InstallationDeviceField.tsx:31 -#: src/components/storage/VolumeLocationSelectorTable.tsx:53 +#: src/components/storage/InstallationDeviceField.tsx:32 +#: src/components/storage/VolumeLocationSelectorTable.tsx:54 msgid "Installation device" msgstr "Instalační zařízení" #. TRANSLATORS: The storage "Installation device" field's description. -#: src/components/storage/InstallationDeviceField.tsx:33 +#: src/components/storage/InstallationDeviceField.tsx:34 msgid "Main disk or LVM Volume Group for installation." msgstr "Hlavní disk nebo skupina svazků LVM pro instalaci." #. TRANSLATORS: %s is the installation disk (eg. "/dev/sda, 80 GiB) -#: src/components/storage/InstallationDeviceField.tsx:45 +#: src/components/storage/InstallationDeviceField.tsx:46 #, c-format msgid "File systems created as new partitions at %s" msgstr "Souborové systémy vytvořené jako nové oddíly v %s" -#: src/components/storage/InstallationDeviceField.tsx:48 +#: src/components/storage/InstallationDeviceField.tsx:49 msgid "File systems created at a new LVM volume group" msgstr "Souborové systémy vytvořené v nové skupině svazků LVM" -#: src/components/storage/InstallationDeviceField.tsx:53 +#: src/components/storage/InstallationDeviceField.tsx:54 #, c-format msgid "File systems created at a new LVM volume group on %s" msgstr "Souborové systémy vytvořené v nové skupině svazků LVM na %s" -#: src/components/storage/InvalidMaxSizeError.tsx:43 -#: src/components/storage/VolumeDialog.tsx:215 +#: src/components/storage/InvalidMaxSizeError.tsx:44 +#: src/components/storage/VolumeDialog.tsx:216 msgid "Maximum must be greater than minimum" msgstr "Maximum musí být větší než minimum" #. TRANSLATORS: minimum device size, %s is replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:72 +#: src/components/storage/PartitionsField.tsx:73 #, c-format msgid "at least %s" msgstr "alespoň %s" #. TRANSLATORS: "/" is in an LVM logical volume. %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:90 +#: src/components/storage/PartitionsField.tsx:91 #, c-format msgid "Transactional Btrfs root volume (%s)" msgstr "Transakční kořenový svazek Btrfs (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:92 +#: src/components/storage/PartitionsField.tsx:93 #, c-format msgid "Transactional Btrfs root partition (%s)" msgstr "Transakční kořenový oddíl Btrfs (%s)" #. TRANSLATORS: "/" is in an LVM logical volume. %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:97 +#: src/components/storage/PartitionsField.tsx:98 #, c-format msgid "Btrfs root volume with snapshots (%s)" msgstr "Kořenový svazek Btrfs se snímky (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:99 +#: src/components/storage/PartitionsField.tsx:100 #, c-format msgid "Btrfs root partition with snapshots (%s)" msgstr "Kořenový oddíl Btrfs se snímky (%s)" #. TRANSLATORS: This results in something like "Mount /dev/sda3 at /home (25 GiB)" since #. %1$s is replaced by the device name, %2$s by the mount point and %3$s by the size -#: src/components/storage/PartitionsField.tsx:108 +#: src/components/storage/PartitionsField.tsx:109 #, c-format msgid "Mount %1$s at %2$s (%3$s)" msgstr "Připojit %1$s at %2$s (%3$s)" #. TRANSLATORS: This results in something like "Swap at /dev/sda3 (2 GiB)" since #. %1$s is replaced by the device name, and %2$s by the size -#: src/components/storage/PartitionsField.tsx:114 +#: src/components/storage/PartitionsField.tsx:115 #, c-format msgid "Swap at %1$s (%2$s)" msgstr "Přepnout na %1$s (%2$s)" #. TRANSLATORS: Swap is in an LVM logical volume. %s replaced by size string, e.g. "8 GiB" -#: src/components/storage/PartitionsField.tsx:118 +#: src/components/storage/PartitionsField.tsx:119 #, c-format msgid "Swap volume (%s)" msgstr "Přepnout svazek (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "8 GiB" -#: src/components/storage/PartitionsField.tsx:120 +#: src/components/storage/PartitionsField.tsx:121 #, c-format msgid "Swap partition (%s)" msgstr "Přepnout oddíl (%s)" #. TRANSLATORS: This results in something like "Btrfs root at /dev/sda3 (20 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the device name, and %3$s by the size -#: src/components/storage/PartitionsField.tsx:129 +#: src/components/storage/PartitionsField.tsx:130 #, c-format msgid "%1$s root at %2$s (%3$s)" msgstr "%1$s kořen na %2$s (%3$s)" @@ -1447,21 +1344,21 @@ msgstr "%1$s kořen na %2$s (%3$s)" #. TRANSLATORS: "/" is in an LVM logical volume. #. Results in something like "Btrfs root volume (at least 20 GiB)" since #. $1$s is replaced by filesystem type and %2$s by size description -#: src/components/storage/PartitionsField.tsx:135 +#: src/components/storage/PartitionsField.tsx:136 #, c-format msgid "%1$s root volume (%2$s)" msgstr "%1$s kořenový svazek (%2$s)" #. TRANSLATORS: Results in something like "Btrfs root partition (at least 20 GiB)" since #. $1$s is replaced by filesystem type and %2$s by size description -#: src/components/storage/PartitionsField.tsx:138 +#: src/components/storage/PartitionsField.tsx:139 #, c-format msgid "%1$s root partition (%2$s)" msgstr "%1$s kořenový oddíl (%2$s)" #. TRANSLATORS: This results in something like "Ext4 /home at /dev/sda3 (20 GiB)" since #. %1$s is replaced by filesystem type, %2$s by mount point, %3$s by device name and %4$s by size -#: src/components/storage/PartitionsField.tsx:144 +#: src/components/storage/PartitionsField.tsx:145 #, c-format msgid "%1$s %2$s at %3$s (%4$s)" msgstr "%1$s %2$s na %3$s (%4$s)" @@ -1469,139 +1366,139 @@ msgstr "%1$s %2$s na %3$s (%4$s)" #. TRANSLATORS: The filesystem is in an LVM logical volume. #. Results in something like "Ext4 /home volume (at least 10 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the mount point and %3$s by the size description -#: src/components/storage/PartitionsField.tsx:150 +#: src/components/storage/PartitionsField.tsx:151 #, c-format msgid "%1$s %2$s volume (%3$s)" msgstr "%1$s %2$s svazek (%3$s)" #. TRANSLATORS: This results in something like "Ext4 /home partition (at least 10 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the mount point and %3$s by the size description -#: src/components/storage/PartitionsField.tsx:153 +#: src/components/storage/PartitionsField.tsx:154 #, c-format msgid "%1$s %2$s partition (%3$s)" msgstr "%1$s %2$s oddíl (%3$s)" -#: src/components/storage/PartitionsField.tsx:161 +#: src/components/storage/PartitionsField.tsx:162 msgid "Do not configure partitions for booting" msgstr "Nekonfigurujte oddíly pro zavádění systému" -#: src/components/storage/PartitionsField.tsx:163 +#: src/components/storage/PartitionsField.tsx:164 msgid "Boot partitions at installation disk" msgstr "Oddíly zavádějící systém na instalačním disku" #. TRANSLATORS: %s is the disk used to configure the boot-related partitions (eg. "/dev/sda, 80 GiB) -#: src/components/storage/PartitionsField.tsx:166 +#: src/components/storage/PartitionsField.tsx:167 #, c-format msgid "Boot partitions at %s" msgstr "Zaváděcí oddíly na %s" #. TRANSLATORS: header for a list of items referring to size limits for file systems -#: src/components/storage/PartitionsField.tsx:185 +#: src/components/storage/PartitionsField.tsx:186 msgid "These limits are affected by:" msgstr "Tyto limity jsou ovlivněny (čím):" #. TRANSLATORS: list item, this affects the computed partition size limits -#: src/components/storage/PartitionsField.tsx:189 +#: src/components/storage/PartitionsField.tsx:190 msgid "The configuration of snapshots" msgstr "Konfigurace snímků" -#: src/components/storage/PartitionsField.tsx:195 +#: src/components/storage/PartitionsField.tsx:196 #, c-format msgid "Presence of other volumes (%s)" msgstr "Přítomnost dalších svazků (%s)" #. TRANSLATORS: list item, describes a factor that affects the computed size of a #. file system; eg. adjusting the size of the swap -#: src/components/storage/PartitionsField.tsx:201 +#: src/components/storage/PartitionsField.tsx:202 msgid "The amount of RAM in the system" msgstr "Množství paměti RAM v systému" -#: src/components/storage/PartitionsField.tsx:258 +#: src/components/storage/PartitionsField.tsx:259 msgid "auto" msgstr "auto" #. TRANSLATORS: %s will be replaced by a file-system type like "Btrfs" or "Ext4" -#: src/components/storage/PartitionsField.tsx:270 +#: src/components/storage/PartitionsField.tsx:271 #, c-format msgid "Reused %s" msgstr "Opětovné použití %s" -#: src/components/storage/PartitionsField.tsx:271 +#: src/components/storage/PartitionsField.tsx:272 msgid "Transactional Btrfs" msgstr "Transakční systém Btrfs" -#: src/components/storage/PartitionsField.tsx:272 +#: src/components/storage/PartitionsField.tsx:273 msgid "Btrfs with snapshots" msgstr "Btrfs se snímky" #. TRANSLATORS: %s will be replaced by a disk name (eg. "/dev/sda") -#: src/components/storage/PartitionsField.tsx:285 +#: src/components/storage/PartitionsField.tsx:286 #, c-format msgid "Partition at %s" msgstr "Oddíl na %s" #. TRANSLATORS: %s will be replaced by a disk name (eg. "/dev/sda") -#: src/components/storage/PartitionsField.tsx:288 +#: src/components/storage/PartitionsField.tsx:289 #, c-format msgid "Separate LVM at %s" msgstr "Oddělené LVM na %s" -#: src/components/storage/PartitionsField.tsx:291 +#: src/components/storage/PartitionsField.tsx:292 msgid "Logical volume at system LVM" msgstr "Logický svazek na systému LVM" -#: src/components/storage/PartitionsField.tsx:293 +#: src/components/storage/PartitionsField.tsx:294 msgid "Partition at installation disk" msgstr "Oddíl na instalačním disku" -#: src/components/storage/PartitionsField.tsx:313 +#: src/components/storage/PartitionsField.tsx:314 msgid "Reset location" msgstr "Výmaz umístění" -#: src/components/storage/PartitionsField.tsx:314 +#: src/components/storage/PartitionsField.tsx:315 msgid "Change location" msgstr "Změna umístění" -#: src/components/storage/PartitionsField.tsx:315 -#: src/components/storage/iscsi/NodesPresenter.jsx:78 +#: src/components/storage/PartitionsField.tsx:316 +#: src/components/storage/iscsi/NodesPresenter.jsx:79 msgid "Delete" msgstr "Smazat" -#: src/components/storage/PartitionsField.tsx:452 -#: src/components/storage/VolumeFields.tsx:66 +#: src/components/storage/PartitionsField.tsx:453 +#: src/components/storage/VolumeFields.tsx:67 #: src/components/storage/VolumeFields.tsx:76 #: src/components/storage/VolumeFields.tsx:81 msgid "Mount point" msgstr "Přípojný bod" #. TRANSLATORS: where (and how) the file-system is going to be created -#: src/components/storage/PartitionsField.tsx:456 +#: src/components/storage/PartitionsField.tsx:457 msgid "Location" msgstr "Umístění" -#: src/components/storage/PartitionsField.tsx:495 +#: src/components/storage/PartitionsField.tsx:496 msgid "Table with mount points" msgstr "Tabulka s přípojnými body" -#: src/components/storage/PartitionsField.tsx:576 -#: src/components/storage/PartitionsField.tsx:596 -#: src/components/storage/VolumeDialog.tsx:77 +#: src/components/storage/PartitionsField.tsx:577 +#: src/components/storage/PartitionsField.tsx:597 +#: src/components/storage/VolumeDialog.tsx:78 msgid "Add file system" msgstr "Přidat souborový systém" -#: src/components/storage/PartitionsField.tsx:608 +#: src/components/storage/PartitionsField.tsx:609 msgid "Other" msgstr "Ostatní/jiné" -#: src/components/storage/PartitionsField.tsx:742 +#: src/components/storage/PartitionsField.tsx:743 msgid "Reset to defaults" msgstr "Návrat k standardním hodnotám" -#: src/components/storage/PartitionsField.tsx:811 +#: src/components/storage/PartitionsField.tsx:807 msgid "Partitions and file systems" msgstr "Oddíly a souborové systémy" -#: src/components/storage/PartitionsField.tsx:813 +#: src/components/storage/PartitionsField.tsx:809 msgid "" "Structure of the new system, including any additional partition needed for " "booting" @@ -1609,11 +1506,11 @@ msgstr "" "Struktura nového systému, včetně případných dalších oddílů potřebných pro " "zavádění systému" -#: src/components/storage/PartitionsField.tsx:820 +#: src/components/storage/PartitionsField.tsx:816 msgid "Show partitions and file-systems actions" msgstr "Zobrazení oddílů a akcí souborových systémů" -#: src/components/storage/ProposalActionsDialog.tsx:72 +#: src/components/storage/ProposalActionsDialog.tsx:73 #, c-format msgid "Hide %d subvolume action" msgid_plural "Hide %d subvolume actions" @@ -1621,7 +1518,7 @@ msgstr[0] "Skrýt %d akci podsvazku" msgstr[1] "Skrýt %d akce podsvazku" msgstr[2] "Skrýt %d akcí podsvazku" -#: src/components/storage/ProposalActionsDialog.tsx:77 +#: src/components/storage/ProposalActionsDialog.tsx:78 #, c-format msgid "Show %d subvolume action" msgid_plural "Show %d subvolume actions" @@ -1629,32 +1526,32 @@ msgstr[0] "Zobrazit %d akci podsvazku" msgstr[1] "Zobrazit %d akce podsvazku" msgstr[2] "Zobrazit %d akcí podsvazku" -#: src/components/storage/ProposalActionsSummary.tsx:54 +#: src/components/storage/ProposalActionsSummary.tsx:55 msgid "Destructive actions are not allowed" msgstr "Destruktivní akce nejsou povoleny" -#: src/components/storage/ProposalActionsSummary.tsx:56 +#: src/components/storage/ProposalActionsSummary.tsx:57 msgid "Destructive actions are allowed" msgstr "Destruktivní akce jsou povoleny" -#: src/components/storage/ProposalActionsSummary.tsx:79 -#: src/components/storage/ProposalActionsSummary.tsx:133 +#: src/components/storage/ProposalActionsSummary.tsx:80 +#: src/components/storage/ProposalActionsSummary.tsx:134 msgid "affecting" msgstr "ovlivňující" -#: src/components/storage/ProposalActionsSummary.tsx:113 +#: src/components/storage/ProposalActionsSummary.tsx:114 msgid "Shrinking partitions is not allowed" msgstr "Zmenšování oddílů není povoleno" -#: src/components/storage/ProposalActionsSummary.tsx:117 +#: src/components/storage/ProposalActionsSummary.tsx:118 msgid "Shrinking partitions is allowed" msgstr "Zmenšování oddílů je povoleno" -#: src/components/storage/ProposalActionsSummary.tsx:119 +#: src/components/storage/ProposalActionsSummary.tsx:120 msgid "Shrinking some partitions is allowed but not needed" msgstr "Zmenšení některých oddílů je povoleno, ale není nutné" -#: src/components/storage/ProposalActionsSummary.tsx:122 +#: src/components/storage/ProposalActionsSummary.tsx:123 #, c-format msgid "%d partition will be shrunk" msgid_plural "%d partitions will be shrunk" @@ -1662,11 +1559,11 @@ msgstr[0] "%d oddíl bude zmenšen" msgstr[1] "%d oddíly budou zmenšeny" msgstr[2] "%d oddílů bude zmenšeno" -#: src/components/storage/ProposalActionsSummary.tsx:163 +#: src/components/storage/ProposalActionsSummary.tsx:164 msgid "Cannot accommodate the required file systems for installation" msgstr "Nelze umístit požadované souborové systémy pro instalaci" -#: src/components/storage/ProposalActionsSummary.tsx:171 +#: src/components/storage/ProposalActionsSummary.tsx:172 #, c-format msgid "Check the planned action" msgid_plural "Check the %d planned actions" @@ -1674,50 +1571,50 @@ msgstr[0] "Zkontrolujte plánovanou akci" msgstr[1] "Zkontrolujte %d plánované akce" msgstr[2] "Zkontrolujte %d plánovaných akcí" -#: src/components/storage/ProposalActionsSummary.tsx:186 +#: src/components/storage/ProposalActionsSummary.tsx:187 msgid "Waiting for actions information..." msgstr "Čekáme na informace o akcích..." -#: src/components/storage/ProposalPage.tsx:129 +#: src/components/storage/ProposalPage.tsx:130 msgid "Planned Actions" msgstr "Plánované akce" -#: src/components/storage/ProposalResultSection.tsx:37 +#: src/components/storage/ProposalResultSection.tsx:38 msgid "Waiting for information about storage configuration" msgstr "Čekání na informace o konfiguraci úložiště" -#: src/components/storage/ProposalResultSection.tsx:62 +#: src/components/storage/ProposalResultSection.tsx:63 msgid "Final layout" msgstr "Konečné rozvržení" -#: src/components/storage/ProposalResultSection.tsx:63 +#: src/components/storage/ProposalResultSection.tsx:64 msgid "The systems will be configured as displayed below." msgstr "Systémy budou konfigurovány tak, jak je zobrazeno níže." -#: src/components/storage/ProposalResultSection.tsx:71 +#: src/components/storage/ProposalResultSection.tsx:72 msgid "Storage proposal not possible" msgstr "Návrh úložiště není možný" -#: src/components/storage/ProposalResultTable.tsx:77 +#: src/components/storage/ProposalResultTable.tsx:75 msgid "New" msgstr "Nový" #. TRANSLATORS: Label to indicate the device size before resizing, where %s is #. replaced by the original size (e.g., 3.00 GiB). -#: src/components/storage/ProposalResultTable.tsx:106 +#: src/components/storage/ProposalResultTable.tsx:104 #, c-format msgid "Before %s" msgstr "Před %s" -#: src/components/storage/ProposalResultTable.tsx:133 +#: src/components/storage/ProposalResultTable.tsx:131 msgid "Mount Point" msgstr "Přípojný bod" -#: src/components/storage/ProposalTransactionalInfo.tsx:42 +#: src/components/storage/ProposalTransactionalInfo.tsx:43 msgid "Transactional root file system" msgstr "Transakční kořenový souborový systém" -#: src/components/storage/ProposalTransactionalInfo.tsx:46 +#: src/components/storage/ProposalTransactionalInfo.tsx:47 #, c-format msgid "" "%s is an immutable system with atomic updates. It uses a read-only Btrfs " @@ -1726,11 +1623,11 @@ msgstr "" "%s je neměnný systém s atomickými aktualizacemi. Používá souborový systém " "Btrfs pouze pro čtení aktualizovaný pomocí snímků." -#: src/components/storage/SnapshotsField.tsx:31 +#: src/components/storage/SnapshotsField.tsx:32 msgid "Use Btrfs snapshots for the root file system" msgstr "Použití snímků Btrfs pro kořenový souborový systém" -#: src/components/storage/SnapshotsField.tsx:33 +#: src/components/storage/SnapshotsField.tsx:34 msgid "" "Allows to boot to a previous version of the system after configuration " "changes or software upgrades." @@ -1738,102 +1635,102 @@ msgstr "" "Umožňuje zavést předchozí verzi systému po změně konfigurace nebo " "aktualizaci softwaru." -#: src/components/storage/SpaceActionsTable.tsx:60 +#: src/components/storage/SpaceActionsTable.tsx:61 #, c-format msgid "Up to %s can be recovered by shrinking the device." msgstr "Zmenšením zařízení lze obnovit až %s." -#: src/components/storage/SpaceActionsTable.tsx:69 +#: src/components/storage/SpaceActionsTable.tsx:70 msgid "The device cannot be shrunk:" msgstr "Zařízení nelze zmenšit:" -#: src/components/storage/SpaceActionsTable.tsx:90 +#: src/components/storage/SpaceActionsTable.tsx:91 #, c-format msgid "Show information about %s" msgstr "Zobrazit informace o %s" -#: src/components/storage/SpaceActionsTable.tsx:180 +#: src/components/storage/SpaceActionsTable.tsx:181 msgid "The content may be deleted" msgstr "Obsah může být smazán" -#: src/components/storage/SpaceActionsTable.tsx:210 +#: src/components/storage/SpaceActionsTable.tsx:211 msgid "Action" msgstr "Akce" -#: src/components/storage/SpaceActionsTable.tsx:221 +#: src/components/storage/SpaceActionsTable.tsx:222 msgid "Actions to find space" msgstr "Akce k nalezení prostoru" -#: src/components/storage/SpacePolicySelection.tsx:156 +#: src/components/storage/SpacePolicySelection.tsx:157 msgid "Space policy" msgstr "Zásady pro volné místo" -#: src/components/storage/VolumeDialog.tsx:74 +#: src/components/storage/VolumeDialog.tsx:75 #, c-format msgid "Add %s file system" msgstr "Přidání souborového systému %s" -#: src/components/storage/VolumeDialog.tsx:75 +#: src/components/storage/VolumeDialog.tsx:76 #, c-format msgid "Edit %s file system" msgstr "Upravit souborový systém %s" -#: src/components/storage/VolumeDialog.tsx:77 +#: src/components/storage/VolumeDialog.tsx:78 msgid "Edit file system" msgstr "Úprava souborového systému" #. TRANSLATORS: Warning when editing a file system. -#: src/components/storage/VolumeDialog.tsx:89 +#: src/components/storage/VolumeDialog.tsx:90 msgid "The type and size of the file system cannot be edited." msgstr "Typ a velikost souborového systému nelze upravovat." -#: src/components/storage/VolumeDialog.tsx:93 +#: src/components/storage/VolumeDialog.tsx:94 #, c-format msgid "The current file system on %s is selected to be mounted at %s." msgstr "Aktuální souborový systém na %s je vybrán k připojení k %s." #. TRANSLATORS: Warning when editing a file system. -#: src/components/storage/VolumeDialog.tsx:101 +#: src/components/storage/VolumeDialog.tsx:102 msgid "The size of the file system cannot be edited" msgstr "Velikost souborového systému nelze měnit" #. TRANSLATORS: Description of a warning. %s is replaced by a device name (e.g., /dev/vda). -#: src/components/storage/VolumeDialog.tsx:103 +#: src/components/storage/VolumeDialog.tsx:104 #, c-format msgid "The file system is allocated at the device %s." msgstr "Souborový systém je přidělen na zařízení %s." -#: src/components/storage/VolumeDialog.tsx:140 +#: src/components/storage/VolumeDialog.tsx:141 msgid "A mount point is required" msgstr "Je vyžadován přípojný bod" -#: src/components/storage/VolumeDialog.tsx:157 +#: src/components/storage/VolumeDialog.tsx:158 msgid "The mount point is invalid" msgstr "Přípojný bod je neplatný" -#: src/components/storage/VolumeDialog.tsx:175 +#: src/components/storage/VolumeDialog.tsx:176 msgid "A size value is required" msgstr "Je vyžadována hodnota velikosti" -#: src/components/storage/VolumeDialog.tsx:193 +#: src/components/storage/VolumeDialog.tsx:194 msgid "Minimum size is required" msgstr "Je vyžadována minimální velikost" -#: src/components/storage/VolumeDialog.tsx:242 +#: src/components/storage/VolumeDialog.tsx:243 #, c-format msgid "There is already a file system for %s." msgstr "Pro %s již existuje souborový systém." -#: src/components/storage/VolumeDialog.tsx:244 +#: src/components/storage/VolumeDialog.tsx:245 msgid "Do you want to edit it?" msgstr "Chcete to upravit?" -#: src/components/storage/VolumeDialog.tsx:274 +#: src/components/storage/VolumeDialog.tsx:275 #, c-format msgid "There is a predefined file system for %s." msgstr "Pro %s existuje předdefinovaný souborový systém." -#: src/components/storage/VolumeDialog.tsx:276 +#: src/components/storage/VolumeDialog.tsx:277 msgid "Do you want to add it?" msgstr "Chcete ho přidat?" @@ -1953,7 +1850,7 @@ msgstr "Opraveno" msgid "Range" msgstr "Rozsah" -#: src/components/storage/VolumeLocationDialog.tsx:37 +#: src/components/storage/VolumeLocationDialog.tsx:34 msgid "" "The file systems are allocated at the installation device by default. " "Indicate a custom location to create the file system at a specific device." @@ -1964,37 +1861,37 @@ msgstr "" #. TRANSLATORS: Title of the dialog for changing the location of a file system. %s is replaced #. by a mount path (e.g., /home). -#: src/components/storage/VolumeLocationDialog.tsx:140 +#: src/components/storage/VolumeLocationDialog.tsx:137 #, c-format msgid "Location for %s file system" msgstr "Umístění souborového systému %s" -#: src/components/storage/VolumeLocationDialog.tsx:150 +#: src/components/storage/VolumeLocationDialog.tsx:147 msgid "Select in which device to allocate the file system" msgstr "Vyberte, ve kterém zařízení se má vytvořit systém souborů" -#: src/components/storage/VolumeLocationDialog.tsx:153 +#: src/components/storage/VolumeLocationDialog.tsx:150 msgid "Select a location" msgstr "Vyberte umístění" -#: src/components/storage/VolumeLocationDialog.tsx:165 +#: src/components/storage/VolumeLocationDialog.tsx:162 msgid "Select how to allocate the file system" msgstr "Zvolte způsob vytvoření souborového systému" -#: src/components/storage/VolumeLocationDialog.tsx:170 +#: src/components/storage/VolumeLocationDialog.tsx:167 msgid "Create a new partition" msgstr "Vytvořit nový oddíl" -#: src/components/storage/VolumeLocationDialog.tsx:172 +#: src/components/storage/VolumeLocationDialog.tsx:169 msgid "" "The file system will be allocated as a new partition at the selected disk." msgstr "Souborový systém bude přidělen jako nový oddíl na vybraném disku." -#: src/components/storage/VolumeLocationDialog.tsx:182 +#: src/components/storage/VolumeLocationDialog.tsx:179 msgid "Create a dedicated LVM volume group" msgstr "Vytvoření vyhrazené skupiny svazků LVM" -#: src/components/storage/VolumeLocationDialog.tsx:184 +#: src/components/storage/VolumeLocationDialog.tsx:181 msgid "" "A new volume group will be allocated in the selected disk and the file " "system will be created as a logical volume." @@ -2002,20 +1899,20 @@ msgstr "" "Na vybraném disku bude vytvořena nová skupina svazků a systém souborů bude " "vytvořen jako logický svazek." -#: src/components/storage/VolumeLocationDialog.tsx:194 +#: src/components/storage/VolumeLocationDialog.tsx:191 msgid "Format the device" msgstr "Formátovat zařízení" -#: src/components/storage/VolumeLocationDialog.tsx:198 +#: src/components/storage/VolumeLocationDialog.tsx:195 #, c-format msgid "The selected device will be formatted as %s file system." msgstr "Vybrané zařízení bude formátováno jako souborový systém %s." -#: src/components/storage/VolumeLocationDialog.tsx:209 +#: src/components/storage/VolumeLocationDialog.tsx:206 msgid "Mount the file system" msgstr "Připojit souborový systém" -#: src/components/storage/VolumeLocationDialog.tsx:211 +#: src/components/storage/VolumeLocationDialog.tsx:208 msgid "" "The current file system on the selected device will be mounted without " "formatting the device." @@ -2023,306 +1920,336 @@ msgstr "" "Aktuální souborový systém na vybraném zařízení bude připojen bez " "formátování zařízení." -#: src/components/storage/VolumeLocationSelectorTable.tsx:98 +#: src/components/storage/VolumeLocationSelectorTable.tsx:99 msgid "Usage" msgstr "Použití" -#: src/components/storage/ZFCPDiskForm.jsx:106 -msgid "The zFCP disk was not activated." -msgstr "Disk zFCP nebyl aktivován." +#: src/components/storage/dasd/DASDFormatProgress.tsx:49 +msgid "Formatting DASD devices" +msgstr "Formátuji zařízení DASD" -#. TRANSLATORS: abbrev. World Wide Port Name -#: src/components/storage/ZFCPDiskForm.jsx:123 -#: src/components/storage/ZFCPPage.jsx:383 -msgid "WWPN" -msgstr "WWPN" +#: src/components/storage/dasd/DASDPage.tsx:39 src/routes/storage.tsx:77 +#, fuzzy +msgid "DASD" +msgstr "DASD %s" -#. TRANSLATORS: abbrev. Logical Unit Number -#: src/components/storage/ZFCPDiskForm.jsx:131 -#: src/components/storage/ZFCPPage.jsx:384 -msgid "LUN" -msgstr "LUN" +#. TRANSLATORS: DASD devices selection table +#: src/components/storage/dasd/DASDPage.tsx:44 +#, fuzzy +msgid "DASD devices selection table" +msgstr "Zatím nebylo vybráno žádné zařízení" -#: src/components/storage/ZFCPPage.jsx:326 -msgid "Auto LUNs Scan" -msgstr "Automatické skenování jednotek LUN" +#: src/components/storage/dasd/DASDPage.tsx:54 +#: src/components/storage/zfcp/ZFCPPage.tsx:200 +#, fuzzy +msgid "Back to device selection" +msgstr "Zatím nebylo vybráno žádné zařízení" -#: src/components/storage/ZFCPPage.jsx:337 -msgid "Activated" -msgstr "Aktivováno" +#: src/components/storage/dasd/DASDTable.tsx:64 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:36 +msgid "No" +msgstr "Ne" -#: src/components/storage/ZFCPPage.jsx:337 -msgid "Deactivated" -msgstr "Deaktivováno" +#: src/components/storage/dasd/DASDTable.tsx:64 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:36 +msgid "Yes" +msgstr "Ano" -#: src/components/storage/ZFCPPage.jsx:437 -msgid "No zFCP controllers found." -msgstr "Nebyly nalezeny žádné řadiče zFCP." +#: src/components/storage/dasd/DASDTable.tsx:71 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:20 +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:119 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:43 +msgid "Channel ID" +msgstr "ID kanálu" -#: src/components/storage/ZFCPPage.jsx:438 -msgid "Please, try to read the zFCP devices again." -msgstr "Zkuste znovu načíst zařízení zFCP." +#. TRANSLATORS: table header +#: src/components/storage/dasd/DASDTable.tsx:72 +#: src/components/storage/iscsi/NodesPresenter.jsx:104 +#: src/components/storage/iscsi/NodesPresenter.jsx:125 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:21 +#: src/components/users/RootAuthMethods.tsx:71 +msgid "Status" +msgstr "Stav" -#: src/components/storage/ZFCPPage.jsx:441 -msgid "Read zFCP devices" -msgstr "Načtení zařízení zFCP" +#: src/components/storage/dasd/DASDTable.tsx:74 +msgid "Type" +msgstr "Typ" -#: src/components/storage/ZFCPPage.jsx:452 -msgid "" -"Automatic LUN scan is [enabled]. Activating a controller which is running in " -"NPIV mode will automatically configures all its LUNs." -msgstr "" -"Automatické skenování LUN je [povoleno]. Aktivací řadiče, který běží v " -"režimu NPIV, se automaticky nakonfigurují všechny jeho LUN." +#. TRANSLATORS: table header, the column contains "Yes"/"No" values +#. for the DIAG access mode (special disk access mode on IBM mainframes), +#. usually keep untranslated +#: src/components/storage/dasd/DASDTable.tsx:78 +msgid "DIAG" +msgstr "DIAG" -#: src/components/storage/ZFCPPage.jsx:457 -msgid "" -"Automatic LUN scan is [disabled]. LUNs have to be manually configured after " -"activating a controller." -msgstr "" -"Automatické skenování LUN je [zakázáno]. Po aktivaci řadiče je třeba LUNy " -"nakonfigurovat ručně." +#: src/components/storage/dasd/DASDTable.tsx:79 +msgid "Formatted" +msgstr "Formátován" -#: src/components/storage/ZFCPPage.jsx:519 -msgid "Activate a zFCP disk" -msgstr "Aktivovat disk zFCP" +#: src/components/storage/dasd/DASDTable.tsx:80 +msgid "Partition Info" +msgstr "Údaje o oddílech" -#: src/components/storage/ZFCPPage.jsx:553 -msgid "Please, try to activate a zFCP controller." -msgstr "Zkuste aktivovat řadič zFCP." +#. TRANSLATORS: drop down menu label +#: src/components/storage/dasd/DASDTable.tsx:119 +msgid "Perform an action" +msgstr "Provést akci" -#: src/components/storage/ZFCPPage.jsx:559 -msgid "Please, try to activate a zFCP disk." -msgstr "Zkuste aktivovat disk zFCP." +#: src/components/storage/dasd/DASDTable.tsx:126 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:51 +msgid "Activate" +msgstr "Aktivace" -#: src/components/storage/ZFCPPage.jsx:562 -msgid "Activate zFCP disk" -msgstr "Aktivovat disk zFCP" +#: src/components/storage/dasd/DASDTable.tsx:130 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:56 +msgid "Deactivate" +msgstr "Deaktivace" -#: src/components/storage/ZFCPPage.jsx:570 -msgid "No zFCP disks found." -msgstr "Nebyly nalezeny žádné disky zFCP." +#: src/components/storage/dasd/DASDTable.tsx:135 +msgid "Set DIAG On" +msgstr "Zapnout DIAG" -#: src/components/storage/ZFCPPage.jsx:586 -msgid "Activate new disk" -msgstr "Aktivace nového disku" +#: src/components/storage/dasd/DASDTable.tsx:139 +msgid "Set DIAG Off" +msgstr "Vypnout DIAG" -#. TRANSLATORS: section title -#: src/components/storage/ZFCPPage.jsx:599 -msgid "Disks" -msgstr "Disky" +#: src/components/storage/dasd/DASDTable.tsx:144 +msgid "Format" +msgstr "Formát" + +#: src/components/storage/dasd/DASDTable.tsx:280 +#: src/components/storage/dasd/DASDTable.tsx:281 +msgid "Filter by min channel" +msgstr "Filtrování podle min. kanálu" + +#: src/components/storage/dasd/DASDTable.tsx:288 +msgid "Remove min channel filter" +msgstr "Odstranění filtru min. kanálu" -#: src/components/storage/device-utils.tsx:74 +#: src/components/storage/dasd/DASDTable.tsx:302 +#: src/components/storage/dasd/DASDTable.tsx:303 +msgid "Filter by max channel" +msgstr "Filtrování podle max. kanálu" + +#: src/components/storage/dasd/DASDTable.tsx:310 +msgid "Remove max channel filter" +msgstr "Odstranění filtru max. kanálu" + +#: src/components/storage/device-utils.tsx:75 msgid "Unused space" msgstr "Nevyužitý prostor" -#: src/components/storage/iscsi/AuthFields.jsx:70 +#: src/components/storage/iscsi/AuthFields.jsx:71 msgid "Only available if authentication by target is provided" msgstr "K dispozici, jen když je zadáno ověřování cílem" -#: src/components/storage/iscsi/AuthFields.jsx:77 +#: src/components/storage/iscsi/AuthFields.jsx:78 msgid "Authentication by target" msgstr "Ověřování cílem" -#: src/components/storage/iscsi/AuthFields.jsx:78 -#: src/components/storage/iscsi/AuthFields.jsx:82 -#: src/components/storage/iscsi/AuthFields.jsx:84 -#: src/components/storage/iscsi/AuthFields.jsx:104 -#: src/components/storage/iscsi/AuthFields.jsx:108 -#: src/components/storage/iscsi/AuthFields.jsx:110 +#: src/components/storage/iscsi/AuthFields.jsx:79 +#: src/components/storage/iscsi/AuthFields.jsx:83 +#: src/components/storage/iscsi/AuthFields.jsx:85 +#: src/components/storage/iscsi/AuthFields.jsx:105 +#: src/components/storage/iscsi/AuthFields.jsx:109 +#: src/components/storage/iscsi/AuthFields.jsx:111 msgid "User name" msgstr "Uživatelské jméno" -#: src/components/storage/iscsi/AuthFields.jsx:88 -#: src/components/storage/iscsi/AuthFields.jsx:116 +#: src/components/storage/iscsi/AuthFields.jsx:89 +#: src/components/storage/iscsi/AuthFields.jsx:117 msgid "Incorrect user name" msgstr "Nesprávné uživatelské jméno" -#: src/components/storage/iscsi/AuthFields.jsx:99 -#: src/components/storage/iscsi/AuthFields.jsx:130 +#: src/components/storage/iscsi/AuthFields.jsx:100 +#: src/components/storage/iscsi/AuthFields.jsx:131 msgid "Incorrect password" msgstr "Nesprávné heslo" -#: src/components/storage/iscsi/AuthFields.jsx:102 +#: src/components/storage/iscsi/AuthFields.jsx:103 msgid "Authentication by initiator" msgstr "Ověření iniciátorem" -#: src/components/storage/iscsi/AuthFields.jsx:123 +#: src/components/storage/iscsi/AuthFields.jsx:124 msgid "Target Password" msgstr "Cílové heslo" #. TRANSLATORS: popup title -#: src/components/storage/iscsi/DiscoverForm.tsx:94 +#: src/components/storage/iscsi/DiscoverForm.tsx:95 msgid "Discover iSCSI Targets" msgstr "Najít cílové stanice iSCSI" -#: src/components/storage/iscsi/DiscoverForm.tsx:99 -#: src/components/storage/iscsi/LoginForm.jsx:70 +#: src/components/storage/iscsi/DiscoverForm.tsx:100 +#: src/components/storage/iscsi/LoginForm.jsx:71 msgid "Make sure you provide the correct values" msgstr "Ujistěte se, že jste zadali správné hodnoty" -#: src/components/storage/iscsi/DiscoverForm.tsx:103 +#: src/components/storage/iscsi/DiscoverForm.tsx:104 msgid "IP address" msgstr "adresa IP" #. TRANSLATORS: network address -#: src/components/storage/iscsi/DiscoverForm.tsx:108 -#: src/components/storage/iscsi/DiscoverForm.tsx:110 +#: src/components/storage/iscsi/DiscoverForm.tsx:109 +#: src/components/storage/iscsi/DiscoverForm.tsx:111 msgid "Address" msgstr "Adresa" -#: src/components/storage/iscsi/DiscoverForm.tsx:115 +#: src/components/storage/iscsi/DiscoverForm.tsx:116 msgid "Incorrect IP address" msgstr "Nesprávná IP adresa" #. TRANSLATORS: network port number -#: src/components/storage/iscsi/DiscoverForm.tsx:117 -#: src/components/storage/iscsi/DiscoverForm.tsx:122 -#: src/components/storage/iscsi/DiscoverForm.tsx:124 +#: src/components/storage/iscsi/DiscoverForm.tsx:118 +#: src/components/storage/iscsi/DiscoverForm.tsx:123 +#: src/components/storage/iscsi/DiscoverForm.tsx:125 msgid "Port" msgstr "Port" -#: src/components/storage/iscsi/DiscoverForm.tsx:129 +#: src/components/storage/iscsi/DiscoverForm.tsx:130 msgid "Incorrect port" msgstr "Nesprávný port" #. TRANSLATORS: %s is replaced by the iSCSI target node name -#: src/components/storage/iscsi/EditNodeForm.tsx:48 +#: src/components/storage/iscsi/EditNodeForm.tsx:49 #, c-format msgid "Edit %s" msgstr "Upravit %s" -#: src/components/storage/iscsi/InitiatorForm.tsx:42 +#: src/components/storage/iscsi/InitiatorForm.tsx:43 msgid "Edit iSCSI Initiator" msgstr "Upravit iniciátor iSCSI" #. TRANSLATORS: iSCSI initiator name -#: src/components/storage/iscsi/InitiatorForm.tsx:49 +#: src/components/storage/iscsi/InitiatorForm.tsx:50 msgid "Initiator name" msgstr "Název iniciátora" #. TRANSLATORS: usually just keep the original text #. iBFT = iSCSI Boot Firmware Table, HW support for booting from iSCSI -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:71 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -#: src/components/storage/iscsi/NodesPresenter.jsx:123 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:72 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/iscsi/NodesPresenter.jsx:124 msgid "iBFT" msgstr "iBFT" -#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:72 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:58 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:73 msgid "Offload card" msgstr "Karta k přesměrování části (mobilního) provozu" #. TRANSLATORS: iSCSI initiator section name -#: src/components/storage/iscsi/InitiatorSection.tsx:35 +#: src/components/storage/iscsi/InitiatorSection.tsx:36 msgid "Initiator" msgstr "Iniciátor" #. TRANSLATORS: %s is replaced by the iSCSI target name -#: src/components/storage/iscsi/LoginForm.jsx:66 +#: src/components/storage/iscsi/LoginForm.jsx:67 #, c-format msgid "Login %s" msgstr "Přihlášení %s" #. TRANSLATORS: iSCSI start up mode (on boot/manual/automatic) -#: src/components/storage/iscsi/LoginForm.jsx:74 -#: src/components/storage/iscsi/LoginForm.jsx:77 +#: src/components/storage/iscsi/LoginForm.jsx:75 +#: src/components/storage/iscsi/LoginForm.jsx:78 msgid "Startup" msgstr "Typ startu iSCSI" -#: src/components/storage/iscsi/NodeStartupOptions.js:26 +#: src/components/storage/iscsi/NodeStartupOptions.js:27 msgid "On boot" msgstr "Při spuštění systému" #. TRANSLATORS: iSCSI connection status, %s is replaced by node label -#: src/components/storage/iscsi/NodesPresenter.jsx:68 +#: src/components/storage/iscsi/NodesPresenter.jsx:69 #, c-format msgid "Connected (%s)" msgstr "Připojeno (%s)" -#: src/components/storage/iscsi/NodesPresenter.jsx:83 +#: src/components/storage/iscsi/NodesPresenter.jsx:84 msgid "Login" msgstr "Přihlášení" -#: src/components/storage/iscsi/NodesPresenter.jsx:87 +#: src/components/storage/iscsi/NodesPresenter.jsx:88 msgid "Logout" msgstr "Odhlášení" -#: src/components/storage/iscsi/NodesPresenter.jsx:100 -#: src/components/storage/iscsi/NodesPresenter.jsx:121 +#: src/components/storage/iscsi/NodesPresenter.jsx:101 +#: src/components/storage/iscsi/NodesPresenter.jsx:122 msgid "Portal" msgstr "Portál" -#: src/components/storage/iscsi/NodesPresenter.jsx:101 -#: src/components/storage/iscsi/NodesPresenter.jsx:122 +#: src/components/storage/iscsi/NodesPresenter.jsx:102 +#: src/components/storage/iscsi/NodesPresenter.jsx:123 msgid "Interface" msgstr "Rozhraní" -#: src/components/storage/iscsi/TargetsSection.tsx:56 +#: src/components/storage/iscsi/TargetsSection.tsx:57 msgid "No iSCSI targets found." msgstr "Nebyly nalezeny žádné cíle iSCSI." -#: src/components/storage/iscsi/TargetsSection.tsx:58 +#: src/components/storage/iscsi/TargetsSection.tsx:59 msgid "" "Please, perform an iSCSI discovery in order to find available iSCSI targets." msgstr "Spusťte vyhledávání iSCSI a tím najděte dostupné cíle iSCSI." -#: src/components/storage/iscsi/TargetsSection.tsx:62 +#: src/components/storage/iscsi/TargetsSection.tsx:63 msgid "Discover iSCSI targets" msgstr "Zjištění cílů iSCSI" #. TRANSLATORS: button label, starts iSCSI discovery -#: src/components/storage/iscsi/TargetsSection.tsx:74 +#: src/components/storage/iscsi/TargetsSection.tsx:75 msgid "Discover" msgstr "Objevit" #. TRANSLATORS: iSCSI targets section title -#: src/components/storage/iscsi/TargetsSection.tsx:85 +#: src/components/storage/iscsi/TargetsSection.tsx:86 msgid "Targets" msgstr "Cíle" -#: src/components/storage/utils.ts:60 +#: src/components/storage/utils.ts:61 msgid "KiB" msgstr "KiB" -#: src/components/storage/utils.ts:61 +#: src/components/storage/utils.ts:62 msgid "MiB" msgstr "MiB" -#: src/components/storage/utils.ts:62 +#: src/components/storage/utils.ts:63 msgid "GiB" msgstr "GiB" -#: src/components/storage/utils.ts:63 +#: src/components/storage/utils.ts:64 msgid "TiB" msgstr "TiB" -#: src/components/storage/utils.ts:64 +#: src/components/storage/utils.ts:65 msgid "PiB" msgstr "PiB" -#: src/components/storage/utils.ts:72 +#: src/components/storage/utils.ts:73 msgid "Delete current content" msgstr "Odstranit aktuální obsah" -#: src/components/storage/utils.ts:73 +#: src/components/storage/utils.ts:74 msgid "All partitions will be removed and any data in the disks will be lost." msgstr "" "Všechny oddíly budou odstraněny a veškerá data na discích budou ztracena." #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space deleting current content". Keep it short -#: src/components/storage/utils.ts:77 +#: src/components/storage/utils.ts:78 msgid "deleting current content" msgstr "odstranění aktuálního obsahu" -#: src/components/storage/utils.ts:82 +#: src/components/storage/utils.ts:83 msgid "Shrink existing partitions" msgstr "Zmenšit stávající oddíly" -#: src/components/storage/utils.ts:83 +#: src/components/storage/utils.ts:84 msgid "The data is kept, but the current partitions will be resized as needed." msgstr "" "Data zůstanou zachována, ale velikost aktuálních oddílů se podle potřeby " @@ -2330,15 +2257,15 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space shrinking partitions". Keep it short. -#: src/components/storage/utils.ts:87 +#: src/components/storage/utils.ts:88 msgid "shrinking partitions" msgstr "zmenšování oddílů" -#: src/components/storage/utils.ts:92 +#: src/components/storage/utils.ts:93 msgid "Use available space" msgstr "Využít dostupný prostor" -#: src/components/storage/utils.ts:93 +#: src/components/storage/utils.ts:94 msgid "" "The data is kept. Only the space not assigned to any partition will be used." msgstr "" @@ -2347,33 +2274,125 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space without modifying any partition". Keep it short. -#: src/components/storage/utils.ts:97 +#: src/components/storage/utils.ts:98 msgid "without modifying any partition" msgstr "bez úpravy jakéhokoli oddílu" -#: src/components/storage/utils.ts:102 +#: src/components/storage/utils.ts:103 msgid "Custom" msgstr "Vlastní" -#: src/components/storage/utils.ts:103 +#: src/components/storage/utils.ts:104 msgid "Select what to do with each partition." msgstr "Vyberte, co se má s jednotlivými oddíly dělat." #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space with custom actions". Keep it short. -#: src/components/storage/utils.ts:107 +#: src/components/storage/utils.ts:108 msgid "with custom actions" msgstr "s vlastními akcemi" -#: src/components/users/FirstUser.tsx:33 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:22 +msgid "Auto LUNs Scan" +msgstr "Automatické skenování jednotek LUN" + +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:33 +msgid "Activated" +msgstr "Aktivováno" + +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:33 +msgid "Deactivated" +msgstr "Deaktivováno" + +#: src/components/storage/zfcp/ZFCPDiskActivationPage.tsx:62 +msgid "zFCP Disk Activation" +msgstr "" + +#. TRANSLATORS: zFCP disk activation form +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:112 +msgid "zFCP Disk activation form" +msgstr "" + +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:115 +msgid "The zFCP disk was not activated." +msgstr "Disk zFCP nebyl aktivován." + +#. TRANSLATORS: abbrev. World Wide Port Name +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:132 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:44 +msgid "WWPN" +msgstr "WWPN" + +#. TRANSLATORS: abbrev. Logical Unit Number +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:140 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:45 +msgid "LUN" +msgstr "LUN" + +#: src/components/storage/zfcp/ZFCPPage.tsx:54 +#, fuzzy +msgid "" +"Automatic LUN scan is [enabled]. Activating a controller which is " +"running in NPIV mode will automatically configures all its LUNs." +msgstr "" +"Automatické skenování LUN je [povoleno]. Aktivací řadiče, který běží v " +"režimu NPIV, se automaticky nakonfigurují všechny jeho LUN." + +#: src/components/storage/zfcp/ZFCPPage.tsx:59 +#, fuzzy +msgid "" +"Automatic LUN scan is [disabled]. LUNs have to be manually configured " +"after activating a controller." +msgstr "" +"Automatické skenování LUN je [zakázáno]. Po aktivaci řadiče je třeba LUNy " +"nakonfigurovat ručně." + +#: src/components/storage/zfcp/ZFCPPage.tsx:80 +msgid "Please, try to activate a zFCP disk." +msgstr "Zkuste aktivovat disk zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:81 +#: src/components/storage/zfcp/ZFCPPage.tsx:164 +msgid "Please, try to activate a zFCP controller." +msgstr "Zkuste aktivovat řadič zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:85 +msgid "No zFCP disks found." +msgstr "Nebyly nalezeny žádné disky zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:92 +msgid "Activate zFCP disk" +msgstr "Aktivovat disk zFCP" + +#: src/components/storage/zfcp/ZFCPPage.tsx:115 +msgid "Activate new disk" +msgstr "Aktivace nového disku" + +#: src/components/storage/zfcp/ZFCPPage.tsx:133 +msgid "Disks" +msgstr "Disky" + +#: src/components/storage/zfcp/ZFCPPage.tsx:143 +msgid "Controllers" +msgstr "" + +#: src/components/storage/zfcp/ZFCPPage.tsx:156 +msgid "No zFCP controllers found." +msgstr "Nebyly nalezeny žádné řadiče zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:160 +msgid "Read zFCP devices" +msgstr "Načtení zařízení zFCP" + +#: src/components/users/FirstUser.tsx:34 msgid "Define a user now" msgstr "Nyní definujte uživatele" -#: src/components/users/FirstUser.tsx:39 +#: src/components/users/FirstUser.tsx:40 msgid "No user defined yet." msgstr "Zatím není definován žádný uživatel." -#: src/components/users/FirstUser.tsx:43 +#: src/components/users/FirstUser.tsx:44 msgid "" "Please, be aware that a user must be defined before installing the system to " "be able to log into it." @@ -2381,72 +2400,72 @@ msgstr "" "Pozor, před instalací systému musí být definován uživatel, aby se pak do " "systému dalo přihlásit." -#: src/components/users/FirstUser.tsx:55 -#: src/components/users/FirstUserForm.tsx:220 +#: src/components/users/FirstUser.tsx:56 +#: src/components/users/FirstUserForm.tsx:221 msgid "Full name" msgstr "Celé jméno" -#: src/components/users/FirstUser.tsx:56 -#: src/components/users/FirstUserForm.tsx:234 -#: src/components/users/FirstUserForm.tsx:239 -#: src/components/users/FirstUserForm.tsx:242 +#: src/components/users/FirstUser.tsx:57 +#: src/components/users/FirstUserForm.tsx:235 +#: src/components/users/FirstUserForm.tsx:240 +#: src/components/users/FirstUserForm.tsx:243 msgid "Username" msgstr "Uživatelské jméno" -#: src/components/users/FirstUser.tsx:87 -#: src/components/users/RootAuthMethods.tsx:117 -#: src/components/users/RootAuthMethods.tsx:129 +#: src/components/users/FirstUser.tsx:88 +#: src/components/users/RootAuthMethods.tsx:118 +#: src/components/users/RootAuthMethods.tsx:130 msgid "Discard" msgstr "Vyřadit" -#: src/components/users/FirstUser.tsx:94 +#: src/components/users/FirstUser.tsx:95 msgid "First user" msgstr "První uživatel" -#: src/components/users/FirstUserForm.tsx:57 +#: src/components/users/FirstUserForm.tsx:58 msgid "Username suggestion dropdown" msgstr "Rozbalovací nabídka uživatelských jmen" #. TRANSLATORS: dropdown username suggestions -#: src/components/users/FirstUserForm.tsx:72 +#: src/components/users/FirstUserForm.tsx:73 msgid "Use suggested username" msgstr "Použijte navrhované uživatelské jméno" -#: src/components/users/FirstUserForm.tsx:147 +#: src/components/users/FirstUserForm.tsx:148 msgid "All fields are required" msgstr "Všechna pole jsou povinná" -#: src/components/users/FirstUserForm.tsx:204 +#: src/components/users/FirstUserForm.tsx:205 msgid "Create user" msgstr "Vytvořit uživatele" -#: src/components/users/FirstUserForm.tsx:204 +#: src/components/users/FirstUserForm.tsx:205 msgid "Edit user" msgstr "Upravit uživatele" -#: src/components/users/FirstUserForm.tsx:224 -#: src/components/users/FirstUserForm.tsx:226 +#: src/components/users/FirstUserForm.tsx:225 +#: src/components/users/FirstUserForm.tsx:227 msgid "User full name" msgstr "Celé jméno uživatele" -#: src/components/users/FirstUserForm.tsx:264 +#: src/components/users/FirstUserForm.tsx:265 msgid "Edit password too" msgstr "Upravit také heslo" -#: src/components/users/FirstUserForm.tsx:280 +#: src/components/users/FirstUserForm.tsx:281 msgid "user autologin" msgstr "automatické přihlášení uživatele" #. TRANSLATORS: check box label -#: src/components/users/FirstUserForm.tsx:284 +#: src/components/users/FirstUserForm.tsx:285 msgid "Auto-login" msgstr "Automatické přihlášení" -#: src/components/users/RootAuthMethods.tsx:33 +#: src/components/users/RootAuthMethods.tsx:34 msgid "No root authentication method defined yet." msgstr "Zatím není definována žádná metoda ověřování superuživatele root." -#: src/components/users/RootAuthMethods.tsx:37 +#: src/components/users/RootAuthMethods.tsx:38 msgid "" "Please, define at least one authentication method for logging into the " "system as root." @@ -2454,53 +2473,53 @@ msgstr "" "Definujte alespoň jednu metodu ověřování pro přihlášení do systému jako root." #. TRANSLATORS: table header, user authentication method -#: src/components/users/RootAuthMethods.tsx:68 +#: src/components/users/RootAuthMethods.tsx:69 msgid "Method" msgstr "Metoda" -#: src/components/users/RootAuthMethods.tsx:77 +#: src/components/users/RootAuthMethods.tsx:78 msgid "Already set" msgstr "Již nastaveno" -#: src/components/users/RootAuthMethods.tsx:77 -#: src/components/users/RootAuthMethods.tsx:85 +#: src/components/users/RootAuthMethods.tsx:78 +#: src/components/users/RootAuthMethods.tsx:86 msgid "Not set" msgstr "Nenastaveno" -#: src/components/users/RootAuthMethods.tsx:83 +#: src/components/users/RootAuthMethods.tsx:84 msgid "SSH Key" msgstr "Klíč SSH" -#: src/components/users/RootAuthMethods.tsx:113 -#: src/components/users/RootAuthMethods.tsx:125 +#: src/components/users/RootAuthMethods.tsx:114 +#: src/components/users/RootAuthMethods.tsx:126 msgid "Set" msgstr "Nastavit" -#: src/components/users/RootAuthMethods.tsx:137 +#: src/components/users/RootAuthMethods.tsx:138 msgid "Root authentication" msgstr "Ověření superuživatele root" -#: src/components/users/RootAuthMethods.tsx:144 +#: src/components/users/RootAuthMethods.tsx:145 msgid "Set a password" msgstr "Nastavte heslo" -#: src/components/users/RootAuthMethods.tsx:148 +#: src/components/users/RootAuthMethods.tsx:149 msgid "Upload a SSH Public Key" msgstr "Nahrátí veřejného klíče SSH" -#: src/components/users/RootAuthMethods.tsx:165 +#: src/components/users/RootAuthMethods.tsx:166 msgid "Change the root password" msgstr "Změna hesla roota" -#: src/components/users/RootAuthMethods.tsx:165 +#: src/components/users/RootAuthMethods.tsx:166 msgid "Set a root password" msgstr "Nastavte heslo roota" -#: src/components/users/RootAuthMethods.tsx:175 +#: src/components/users/RootAuthMethods.tsx:176 msgid "Edit the SSH Public Key for root" msgstr "Úprava veřejného klíče SSH pro uživatele root" -#: src/components/users/RootAuthMethods.tsx:176 +#: src/components/users/RootAuthMethods.tsx:177 msgid "Add a SSH Public Key for root" msgstr "Přidat veřejný klíč SSH pro uživatele root" @@ -2508,32 +2527,42 @@ msgstr "Přidat veřejný klíč SSH pro uživatele root" msgid "Root password" msgstr "Heslo roota" -#: src/components/users/RootSSHKeyPopup.jsx:43 +#: src/components/users/RootSSHKeyPopup.jsx:44 msgid "Set root SSH public key" msgstr "Nastavte veřejný klíč SSH pro roota" -#: src/components/users/RootSSHKeyPopup.jsx:71 +#: src/components/users/RootSSHKeyPopup.jsx:72 msgid "Root SSH public key" msgstr "Veřejný klíč SSH pro roota" -#: src/components/users/RootSSHKeyPopup.jsx:76 +#: src/components/users/RootSSHKeyPopup.jsx:77 msgid "Upload, paste, or drop an SSH public key" msgstr "Nahrání, vložení nebo přetažení veřejného klíče SSH" #. TRANSLATORS: push button label -#: src/components/users/RootSSHKeyPopup.jsx:78 +#: src/components/users/RootSSHKeyPopup.jsx:79 msgid "Upload" msgstr "Nahrát" #. TRANSLATORS: push button label, clears the related input field -#: src/components/users/RootSSHKeyPopup.jsx:80 +#: src/components/users/RootSSHKeyPopup.jsx:81 msgid "Clear" msgstr "Smazat" -#: src/router.js:48 +#: src/router.js:49 msgid "Overview" msgstr "Přehled" +#: src/routes/storage.tsx:86 +msgid "ZFCP" +msgstr "" + +#~ msgid "Please, try to read the zFCP devices again." +#~ msgstr "Zkuste znovu načíst zařízení zFCP." + +#~ msgid "Activate a zFCP disk" +#~ msgstr "Aktivovat disk zFCP" + #~ msgid "Waiting for progress report" #~ msgstr "Čekám na zprávu o postupu" diff --git a/web/po/de.po b/web/po/de.po index de3ceadc19..dda6ce7a55 100644 --- a/web/po/de.po +++ b/web/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-16 07:57+0000\n" -"PO-Revision-Date: 2024-08-29 19:47+0000\n" +"POT-Creation-Date: 2024-09-22 02:43+0000\n" +"PO-Revision-Date: 2024-09-20 22:21+0000\n" "Last-Translator: Ettore Atalan \n" "Language-Team: German \n" @@ -17,17 +17,17 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" -#: src/components/core/About.tsx:46 +#: src/components/core/About.tsx:47 msgid "About" msgstr "Über" -#: src/components/core/About.tsx:64 +#: src/components/core/About.tsx:65 msgid "About Agama" msgstr "Über Agama" -#: src/components/core/About.tsx:69 +#: src/components/core/About.tsx:70 msgid "" "Agama is an experimental installer for (open)SUSE systems. It is still under " "development so, please, do not use it in production environments. If you " @@ -42,27 +42,27 @@ msgstr "" #. TRANSLATORS: content of the "About" popup (2/2) #. %s is replaced by the project URL -#: src/components/core/About.tsx:81 +#: src/components/core/About.tsx:82 #, c-format msgid "For more information, please visit the project's repository at %s." msgstr "" "Für weitere Informationen besuchen Sie bitte das Repositorium des Projekts " "unter %s." -#: src/components/core/About.tsx:87 src/components/core/LogsButton.tsx:123 -#: src/components/software/SoftwarePatternsSelection.tsx:205 +#: src/components/core/About.tsx:88 src/components/core/LogsButton.tsx:124 +#: src/components/software/SoftwarePatternsSelection.tsx:206 msgid "Close" msgstr "Schließen" -#: src/components/core/ChangeProductLink.tsx:38 +#: src/components/core/ChangeProductLink.tsx:39 msgid "Change product" msgstr "Produkt ändern" -#: src/components/core/InstallButton.jsx:32 +#: src/components/core/InstallButton.jsx:33 msgid "Confirm Installation" msgstr "Installation bestätigen" -#: src/components/core/InstallButton.jsx:36 +#: src/components/core/InstallButton.jsx:37 msgid "" "If you continue, partitions on your hard disk will be modified according to " "the provided installation settings." @@ -70,35 +70,35 @@ msgstr "" "Wenn Sie fortfahren, werden die Partitionen auf Ihrer Festplatte " "entsprechend den vorgegebenen Installationseinstellungen geändert." -#: src/components/core/InstallButton.jsx:40 +#: src/components/core/InstallButton.jsx:41 msgid "Please, cancel and check the settings if you are unsure." msgstr "" "Bitte brechen Sie den Vorgang ab und überprüfen Sie die Einstellungen, wenn " "Sie unsicher sind." #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:45 +#: src/components/core/InstallButton.jsx:46 msgid "Continue" msgstr "Fortsetzen" #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:49 src/components/core/Page.tsx:237 -#: src/components/core/Popup.jsx:132 -#: src/components/network/WifiConnectionForm.tsx:146 -#: src/components/product/ProductSelectionPage.tsx:122 +#: src/components/core/InstallButton.jsx:50 src/components/core/Page.tsx:238 +#: src/components/core/Popup.jsx:133 +#: src/components/network/WifiConnectionForm.tsx:145 +#: src/components/product/ProductSelectionPage.tsx:123 msgid "Cancel" msgstr "Abbrechen" #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:84 +#: src/components/core/InstallButton.jsx:85 msgid "Install" msgstr "Installieren" -#: src/components/core/InstallationFinished.jsx:49 +#: src/components/core/InstallationFinished.jsx:50 msgid "TPM sealing requires the new system to be booted directly." msgstr "Bei der TPM-Versiegelung muss das neue System direkt gebootet werden." -#: src/components/core/InstallationFinished.jsx:54 +#: src/components/core/InstallationFinished.jsx:55 msgid "" "If a local media was used to run this installer, remove it before the next " "boot." @@ -106,15 +106,15 @@ msgstr "" "Wenn ein lokales Medium zur Ausführung dieses Installationsprogramms " "verwendet wurde, entfernen Sie es vor dem nächsten Start." -#: src/components/core/InstallationFinished.jsx:58 +#: src/components/core/InstallationFinished.jsx:59 msgid "Hide details" msgstr "Details ausblenden" -#: src/components/core/InstallationFinished.jsx:58 +#: src/components/core/InstallationFinished.jsx:59 msgid "See more details" msgstr "Siehe weitere Details" -#: src/components/core/InstallationFinished.jsx:63 +#: src/components/core/InstallationFinished.jsx:64 msgid "" "The final step to configure the Trusted Platform Module (TPM) to " "automatically open encrypted devices will take place during the first boot " @@ -126,130 +126,129 @@ msgstr "" "neuen Systems. Damit dies funktioniert, muss der Rechner direkt mit dem " "neuen Bootloader booten." -#: src/components/core/InstallationFinished.jsx:106 +#: src/components/core/InstallationFinished.jsx:107 msgid "Congratulations!" msgstr "Gratulation!" -#: src/components/core/InstallationFinished.jsx:115 +#: src/components/core/InstallationFinished.jsx:116 msgid "The installation on your machine is complete." msgstr "Die Installation auf Ihrem Rechner ist abgeschlossen." -#: src/components/core/InstallationFinished.jsx:118 +#: src/components/core/InstallationFinished.jsx:119 msgid "At this point you can power off the machine." msgstr "Nun können Sie den Rechner ausschalten." -#: src/components/core/InstallationFinished.jsx:120 +#: src/components/core/InstallationFinished.jsx:121 msgid "At this point you can reboot the machine to log in to the new system." msgstr "" "Nun können Sie den Rechner neu starten, um sich bei dem neuen System " "anzumelden." -#: src/components/core/InstallationFinished.jsx:129 +#: src/components/core/InstallationFinished.jsx:130 msgid "Finish" msgstr "Fertigstellen" -#: src/components/core/InstallationFinished.jsx:129 +#: src/components/core/InstallationFinished.jsx:130 msgid "Reboot" msgstr "Neustart" -#: src/components/core/InstallationProgress.jsx:30 +#: src/components/core/InstallationProgress.jsx:31 msgid "Installing the system, please wait ..." msgstr "Das System wird installiert, bitte warten ..." -#: src/components/core/InstallerOptions.jsx:92 +#: src/components/core/InstallerOptions.jsx:93 msgid "Show installer options" msgstr "Installationsprogrammoptionen anzeigen" -#: src/components/core/InstallerOptions.jsx:95 +#: src/components/core/InstallerOptions.jsx:96 msgid "Installer options" msgstr "Installationsprogrammoptionen" -#: src/components/core/InstallerOptions.jsx:98 -#: src/components/core/InstallerOptions.jsx:102 +#: src/components/core/InstallerOptions.jsx:99 #: src/components/core/InstallerOptions.jsx:103 -#: src/components/l10n/L10nPage.jsx:48 +#: src/components/core/InstallerOptions.jsx:104 +#: src/components/l10n/L10nPage.jsx:49 msgid "Language" msgstr "Sprache" -#: src/components/core/InstallerOptions.jsx:115 -#: src/components/core/InstallerOptions.jsx:120 +#: src/components/core/InstallerOptions.jsx:116 +#: src/components/core/InstallerOptions.jsx:121 msgid "Keyboard layout" msgstr "Tastaturbelegung" -#: src/components/core/InstallerOptions.jsx:129 +#: src/components/core/InstallerOptions.jsx:130 msgid "Cannot be changed in remote installation" msgstr "Kann bei der Ferninstallation nicht geändert werden" -#: src/components/core/InstallerOptions.jsx:142 -#: src/components/core/Page.tsx:270 -#: src/components/storage/EncryptionSettingsDialog.tsx:153 -#: src/components/storage/VolumeDialog.tsx:640 -#: src/components/storage/ZFCPPage.jsx:528 +#: src/components/core/InstallerOptions.jsx:143 +#: src/components/core/Page.tsx:271 +#: src/components/storage/EncryptionSettingsDialog.tsx:154 +#: src/components/storage/VolumeDialog.tsx:641 msgid "Accept" msgstr "Annehmen" -#: src/components/core/IssuesHint.jsx:34 +#: src/components/core/IssuesHint.jsx:35 msgid "" "Before starting the installation, you need to address the following problems:" msgstr "" "Bevor Sie mit der Installation beginnen, müssen Sie sich mit folgenden " "Problemen befassen:" -#: src/components/core/ListSearch.jsx:48 +#: src/components/core/ListSearch.jsx:49 msgid "Search" msgstr "Suchen" -#: src/components/core/LoginPage.tsx:59 +#: src/components/core/LoginPage.tsx:60 msgid "Could not log in. Please, make sure that the password is correct." msgstr "" "Die Anmeldung ist fehlgeschlagen. Bitte stellen Sie sicher, dass das " "Passwort korrekt ist." -#: src/components/core/LoginPage.tsx:61 +#: src/components/core/LoginPage.tsx:62 msgid "Could not authenticate against the server, please check it." msgstr "" "Der Server konnte nicht authentifiziert werden, bitte überprüfen Sie dies." #. TRANSLATORS: Title for a form to provide the password for the root user. %s #. will be replaced by "root" -#: src/components/core/LoginPage.tsx:69 +#: src/components/core/LoginPage.tsx:70 #, c-format msgid "Log in as %s" msgstr "Als %s anmelden" -#: src/components/core/LoginPage.tsx:75 +#: src/components/core/LoginPage.tsx:76 msgid "The installer requires [root] user privileges." msgstr "Das Installationsprogramm erfordert [root]-Benutzerrechte." -#: src/components/core/LoginPage.tsx:90 +#: src/components/core/LoginPage.tsx:91 msgid "Please, provide its password to log in to the system." msgstr "Bitte geben Sie das Passwort für die Anmeldung am System an." -#: src/components/core/LoginPage.tsx:91 +#: src/components/core/LoginPage.tsx:92 msgid "Login form" msgstr "Anmeldeformular" -#: src/components/core/LoginPage.tsx:97 +#: src/components/core/LoginPage.tsx:98 msgid "Password input" msgstr "Passworteingabe" -#: src/components/core/LoginPage.tsx:106 +#: src/components/core/LoginPage.tsx:107 msgid "Log in" msgstr "Anmelden" -#: src/components/core/LoginPage.tsx:113 +#: src/components/core/LoginPage.tsx:114 msgid "More about this" msgstr "Mehr dazu" -#: src/components/core/LogsButton.tsx:98 +#: src/components/core/LogsButton.tsx:99 msgid "Collecting logs..." msgstr "Protokolle werden gesammelt ..." -#: src/components/core/LogsButton.tsx:98 src/components/core/LogsButton.tsx:101 +#: src/components/core/LogsButton.tsx:99 src/components/core/LogsButton.tsx:102 msgid "Download logs" msgstr "Protokolle herunterladen" -#: src/components/core/LogsButton.tsx:108 +#: src/components/core/LogsButton.tsx:109 msgid "" "The browser will run the logs download as soon as they are ready. Please, be " "patient." @@ -257,343 +256,340 @@ msgstr "" "Der Browser wird das Herunterladen der Protokolle starten, sobald sie bereit " "sind. Bitte haben Sie Geduld." -#: src/components/core/LogsButton.tsx:118 +#: src/components/core/LogsButton.tsx:119 msgid "Something went wrong while collecting logs. Please, try again." msgstr "" "Beim Sammeln der Protokolle ist etwas schiefgelaufen. Bitte versuchen Sie es " "erneut." -#: src/components/core/Page.tsx:259 +#: src/components/core/Page.tsx:260 msgid "Back" msgstr "Zurück" -#: src/components/core/PasswordAndConfirmationInput.tsx:64 +#: src/components/core/PasswordAndConfirmationInput.tsx:65 msgid "Passwords do not match" msgstr "Passwörter stimmen nicht überein" #. TRANSLATORS: field label -#: src/components/core/PasswordAndConfirmationInput.tsx:88 -#: src/components/network/WifiConnectionForm.tsx:133 -#: src/components/questions/QuestionWithPassword.tsx:62 -#: src/components/storage/iscsi/AuthFields.jsx:90 -#: src/components/storage/iscsi/AuthFields.jsx:94 -#: src/components/users/RootAuthMethods.tsx:76 +#: src/components/core/PasswordAndConfirmationInput.tsx:89 +#: src/components/network/WifiConnectionForm.tsx:132 +#: src/components/questions/QuestionWithPassword.tsx:63 +#: src/components/storage/iscsi/AuthFields.jsx:91 +#: src/components/storage/iscsi/AuthFields.jsx:95 +#: src/components/users/RootAuthMethods.tsx:77 msgid "Password" msgstr "Passwort" -#: src/components/core/PasswordAndConfirmationInput.tsx:99 +#: src/components/core/PasswordAndConfirmationInput.tsx:100 msgid "Password confirmation" msgstr "Passwort bestätigen" -#: src/components/core/PasswordInput.jsx:61 +#: src/components/core/PasswordInput.jsx:62 msgid "Password visibility button" msgstr "Schaltfläche für die Sichtbarkeit des Passworts" -#: src/components/core/Popup.jsx:92 +#: src/components/core/Popup.jsx:93 msgid "Confirm" msgstr "Bestätigen" #. TRANSLATORS: progress message -#: src/components/core/Popup.jsx:210 +#: src/components/core/Popup.jsx:211 msgid "Loading data..." msgstr "Daten werden gelesen ..." -#: src/components/core/ProgressReport.jsx:50 +#: src/components/core/ProgressReport.jsx:51 msgid "Pending" msgstr "Ausstehend" -#: src/components/core/ProgressReport.jsx:59 +#: src/components/core/ProgressReport.jsx:60 msgid "In progress" msgstr "In Bearbeitung" -#: src/components/core/ProgressReport.jsx:74 +#: src/components/core/ProgressReport.jsx:75 msgid "Finished" msgstr "Fertiggestellt" -#: src/components/core/RowActions.jsx:64 -#: src/components/storage/PartitionsField.tsx:457 -#: src/components/storage/ProposalActionsSummary.tsx:241 +#: src/components/core/RowActions.jsx:65 +#: src/components/storage/PartitionsField.tsx:458 +#: src/components/storage/ProposalActionsSummary.tsx:242 msgid "Actions" msgstr "Aktionen" -#: src/components/core/SectionSkeleton.jsx:27 +#: src/components/core/SectionSkeleton.jsx:28 msgid "Waiting" msgstr "Warten" -#: src/components/core/ServerError.jsx:47 +#: src/components/core/ServerError.tsx:46 msgid "Cannot connect to Agama server" msgstr "Verbindung zum Agama-Server nicht möglich" -#: src/components/core/ServerError.jsx:51 +#: src/components/core/ServerError.tsx:50 msgid "Please, check whether it is running." msgstr "Bitte prüfen Sie, ob es läuft." -#: src/components/core/ServerError.jsx:56 +#: src/components/core/ServerError.tsx:56 msgid "Reload" msgstr "Neu laden" -#: src/components/l10n/KeyboardSelection.tsx:41 +#: src/components/l10n/KeyboardSelection.tsx:42 msgid "Filter by description or keymap code" msgstr "Nach Beschreibung oder Tastenzuordnungscode filtern" -#: src/components/l10n/KeyboardSelection.tsx:71 +#: src/components/l10n/KeyboardSelection.tsx:72 msgid "None of the keymaps match the filter." msgstr "Keine der Tastenzuordnungen entspricht dem Filter." -#: src/components/l10n/KeyboardSelection.tsx:77 +#: src/components/l10n/KeyboardSelection.tsx:78 msgid "Keyboard selection" msgstr "Tastaturauswahl" -#: src/components/l10n/KeyboardSelection.tsx:91 -#: src/components/l10n/L10nPage.jsx:52 src/components/l10n/L10nPage.jsx:63 -#: src/components/l10n/L10nPage.jsx:74 -#: src/components/l10n/LocaleSelection.tsx:92 -#: src/components/l10n/TimezoneSelection.tsx:130 -#: src/components/product/ProductSelectionPage.tsx:128 -#: src/components/software/SoftwarePatternsSelection.tsx:166 +#: src/components/l10n/KeyboardSelection.tsx:92 +#: src/components/l10n/L10nPage.jsx:53 src/components/l10n/L10nPage.jsx:64 +#: src/components/l10n/L10nPage.jsx:75 +#: src/components/l10n/LocaleSelection.tsx:93 +#: src/components/l10n/TimezoneSelection.tsx:131 +#: src/components/product/ProductSelectionPage.tsx:129 +#: src/components/software/SoftwarePatternsSelection.tsx:167 msgid "Select" msgstr "Auswählen" -#: src/components/l10n/L10nPage.jsx:41 -#: src/components/overview/L10nSection.jsx:37 src/routes/l10n.tsx:37 +#: src/components/l10n/L10nPage.jsx:42 +#: src/components/overview/L10nSection.jsx:38 src/routes/l10n.tsx:38 msgid "Localization" msgstr "Lokalisierung" -#: src/components/l10n/L10nPage.jsx:49 src/components/l10n/L10nPage.jsx:60 -#: src/components/l10n/L10nPage.jsx:71 +#: src/components/l10n/L10nPage.jsx:50 src/components/l10n/L10nPage.jsx:61 +#: src/components/l10n/L10nPage.jsx:72 msgid "Not selected yet" msgstr "Noch nicht ausgewählt" -#: src/components/l10n/L10nPage.jsx:52 src/components/l10n/L10nPage.jsx:63 -#: src/components/l10n/L10nPage.jsx:74 -#: src/components/network/NetworkPage.tsx:63 -#: src/components/storage/InstallationDeviceField.tsx:105 -#: src/components/storage/ProposalActionsSummary.tsx:246 -#: src/components/users/RootAuthMethods.tsx:113 -#: src/components/users/RootAuthMethods.tsx:125 +#: src/components/l10n/L10nPage.jsx:53 src/components/l10n/L10nPage.jsx:64 +#: src/components/l10n/L10nPage.jsx:75 +#: src/components/network/NetworkPage.tsx:64 +#: src/components/storage/InstallationDeviceField.tsx:106 +#: src/components/storage/ProposalActionsSummary.tsx:248 +#: src/components/users/RootAuthMethods.tsx:114 +#: src/components/users/RootAuthMethods.tsx:126 msgid "Change" msgstr "Ändern" -#: src/components/l10n/L10nPage.jsx:59 +#: src/components/l10n/L10nPage.jsx:60 msgid "Keyboard" msgstr "Tastatur" -#: src/components/l10n/L10nPage.jsx:70 +#: src/components/l10n/L10nPage.jsx:71 msgid "Time zone" msgstr "Zeitzone" -#: src/components/l10n/LocaleSelection.tsx:39 +#: src/components/l10n/LocaleSelection.tsx:40 msgid "Filter by language, territory or locale code" msgstr "Nach Sprache, Gebiet oder Sprachumgebungscode filtern" -#: src/components/l10n/LocaleSelection.tsx:72 +#: src/components/l10n/LocaleSelection.tsx:73 msgid "None of the locales match the filter." msgstr "Keines der Gebietsschemata entspricht dem Filter." -#: src/components/l10n/LocaleSelection.tsx:78 +#: src/components/l10n/LocaleSelection.tsx:79 msgid "Locale selection" msgstr "Gebietsschema-Auswahl" -#: src/components/l10n/TimezoneSelection.tsx:67 +#: src/components/l10n/TimezoneSelection.tsx:68 msgid "Filter by territory, time zone code or UTC offset" msgstr "Nach Gebiet, Zeitzonencode oder UTC-Abweichung filtern" -#: src/components/l10n/TimezoneSelection.tsx:106 +#: src/components/l10n/TimezoneSelection.tsx:107 msgid "None of the time zones match the filter." msgstr "Keine der Zeitzonen entspricht dem Filter." -#: src/components/l10n/TimezoneSelection.tsx:112 +#: src/components/l10n/TimezoneSelection.tsx:113 msgid " Timezone selection" msgstr " Zeitzonenauswahl" -#: src/components/layout/Header.tsx:61 +#: src/components/layout/Header.tsx:62 msgid "Main navigation" -msgstr "" +msgstr "Hauptnavigation" -#: src/components/layout/Loading.jsx:29 +#: src/components/layout/Loading.jsx:30 msgid "Loading installation environment, please wait." msgstr "Installationsumgebung wird geladen, bitte warten." #. TRANSLATORS: button label -#: src/components/network/AddressesDataList.tsx:102 -#: src/components/network/DnsDataList.tsx:106 +#: src/components/network/AddressesDataList.tsx:103 +#: src/components/network/DnsDataList.tsx:107 msgid "Remove" msgstr "Entfernen" #. TRANSLATORS: input field name -#: src/components/network/AddressesDataList.tsx:112 -#: src/components/network/IpAddressInput.tsx:34 +#: src/components/network/AddressesDataList.tsx:113 +#: src/components/network/IpAddressInput.tsx:35 msgid "IP Address" msgstr "IP-Adresse" #. TRANSLATORS: input field name -#: src/components/network/AddressesDataList.tsx:120 +#: src/components/network/AddressesDataList.tsx:121 msgid "Prefix length or netmask" msgstr "Präfixlänge oder Netzmaske" -#: src/components/network/AddressesDataList.tsx:138 +#: src/components/network/AddressesDataList.tsx:139 msgid "Add an address" msgstr "Adresse hinzufügen" #. TRANSLATORS: button label -#: src/components/network/AddressesDataList.tsx:138 +#: src/components/network/AddressesDataList.tsx:139 msgid "Add another address" msgstr "Weitere Adresse hinzufügen" -#: src/components/network/AddressesDataList.tsx:143 +#: src/components/network/AddressesDataList.tsx:144 msgid "Addresses" msgstr "Adressen" -#: src/components/network/AddressesDataList.tsx:146 +#: src/components/network/AddressesDataList.tsx:147 msgid "Addresses data list" msgstr "Adressdatenliste" -#. TRANSLATORS: table header #. TRANSLATORS: input field for the iSCSI initiator name -#: src/components/network/ConnectionsTable.tsx:65 -#: src/components/network/ConnectionsTable.tsx:94 -#: src/components/storage/ZFCPPage.jsx:381 -#: src/components/storage/iscsi/InitiatorForm.tsx:52 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:53 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:70 -#: src/components/storage/iscsi/NodesPresenter.jsx:99 -#: src/components/storage/iscsi/NodesPresenter.jsx:120 +#. TRANSLATORS: table header +#: src/components/network/ConnectionsTable.tsx:66 +#: src/components/network/ConnectionsTable.tsx:95 +#: src/components/storage/iscsi/InitiatorForm.tsx:53 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:54 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:71 +#: src/components/storage/iscsi/NodesPresenter.jsx:100 +#: src/components/storage/iscsi/NodesPresenter.jsx:121 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:42 msgid "Name" msgstr "Name" #. TRANSLATORS: table header -#: src/components/network/ConnectionsTable.tsx:67 -#: src/components/network/ConnectionsTable.tsx:95 +#: src/components/network/ConnectionsTable.tsx:68 +#: src/components/network/ConnectionsTable.tsx:96 msgid "IP addresses" msgstr "IP-Adressen" #. TRANSLATORS: table header aria label -#: src/components/network/ConnectionsTable.tsx:69 -#, fuzzy +#: src/components/network/ConnectionsTable.tsx:70 msgid "Connection actions" -msgstr "Wird verbunden" +msgstr "Verbindungsaktionen" -#: src/components/network/ConnectionsTable.tsx:76 -#: src/components/network/WifiNetworksListPage.tsx:127 -#: src/components/network/WifiNetworksListPage.tsx:151 -#: src/components/storage/PartitionsField.tsx:312 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:44 -#: src/components/storage/iscsi/NodesPresenter.jsx:74 -#: src/components/users/FirstUser.tsx:83 +#: src/components/network/ConnectionsTable.tsx:77 +#: src/components/network/WifiNetworksListPage.tsx:128 +#: src/components/network/WifiNetworksListPage.tsx:152 +#: src/components/storage/PartitionsField.tsx:313 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:45 +#: src/components/storage/iscsi/NodesPresenter.jsx:75 +#: src/components/users/FirstUser.tsx:84 msgid "Edit" msgstr "Bearbeiten" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:79 -#: src/components/network/IpSettingsForm.tsx:146 +#: src/components/network/ConnectionsTable.tsx:80 +#: src/components/network/IpSettingsForm.tsx:147 #, c-format msgid "Edit connection %s" msgstr "Verbindung %s bearbeiten" -#: src/components/network/ConnectionsTable.tsx:83 -#: src/components/network/WifiNetworksListPage.tsx:130 -#: src/components/network/WifiNetworksListPage.tsx:154 +#: src/components/network/ConnectionsTable.tsx:84 +#: src/components/network/WifiNetworksListPage.tsx:131 +#: src/components/network/WifiNetworksListPage.tsx:155 msgid "Forget" msgstr "Vergessen" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:85 +#: src/components/network/ConnectionsTable.tsx:86 #, c-format msgid "Forget connection %s" msgstr "Verbindung %s vergessen" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:100 +#: src/components/network/ConnectionsTable.tsx:101 #, c-format msgid "Actions for connection %s" msgstr "Aktionen für Verbindung %s" #. TRANSLATORS: input field name -#: src/components/network/DnsDataList.tsx:90 +#: src/components/network/DnsDataList.tsx:91 msgid "Server IP" msgstr "Server-IP" -#: src/components/network/DnsDataList.tsx:115 +#: src/components/network/DnsDataList.tsx:116 msgid "Add DNS" msgstr "DNS hinzufügen" #. TRANSLATORS: button label -#: src/components/network/DnsDataList.tsx:115 +#: src/components/network/DnsDataList.tsx:116 msgid "Add another DNS" msgstr "Weiteren DNS hinzufügen" -#: src/components/network/DnsDataList.tsx:120 +#: src/components/network/DnsDataList.tsx:121 msgid "DNS" msgstr "DNS" -#: src/components/network/IpPrefixInput.tsx:34 -#, fuzzy +#: src/components/network/IpPrefixInput.tsx:35 msgid "Ip prefix or netmask" msgstr "IP-Präfix oder Netzmaske" #. TRANSLATORS: error message -#: src/components/network/IpSettingsForm.tsx:102 +#: src/components/network/IpSettingsForm.tsx:103 msgid "At least one address must be provided for selected mode" msgstr "" "Für den ausgewählten Modus muss mindestens eine Adresse angegeben werden" #. TRANSLATORS: network connection mode (automatic via DHCP or manual with static IP) -#: src/components/network/IpSettingsForm.tsx:156 -#: src/components/network/IpSettingsForm.tsx:161 -#: src/components/network/IpSettingsForm.tsx:163 +#: src/components/network/IpSettingsForm.tsx:157 +#: src/components/network/IpSettingsForm.tsx:162 +#: src/components/network/IpSettingsForm.tsx:164 msgid "Mode" msgstr "Modus" -#: src/components/network/IpSettingsForm.tsx:170 +#: src/components/network/IpSettingsForm.tsx:171 msgid "Automatic (DHCP)" msgstr "Automatisch (DHCP)" -#: src/components/network/IpSettingsForm.tsx:176 -#: src/components/storage/iscsi/NodeStartupOptions.js:25 +#: src/components/network/IpSettingsForm.tsx:177 +#: src/components/storage/iscsi/NodeStartupOptions.js:26 msgid "Manual" msgstr "Manuell" #. TRANSLATORS: network gateway configuration -#: src/components/network/IpSettingsForm.tsx:185 -#: src/components/network/IpSettingsForm.tsx:188 +#: src/components/network/IpSettingsForm.tsx:186 +#: src/components/network/IpSettingsForm.tsx:189 msgid "Gateway" msgstr "Gateway" -#: src/components/network/IpSettingsForm.tsx:197 +#: src/components/network/IpSettingsForm.tsx:198 msgid "Gateway can be defined only in 'Manual' mode" msgstr "Gateway kann nur im Modus ‚Manuell‘ definiert werden" -#: src/components/network/NetworkPage.tsx:37 -#, fuzzy +#: src/components/network/NetworkPage.tsx:38 msgid "Wired" msgstr "Kabelgebunden" -#: src/components/network/NetworkPage.tsx:44 +#: src/components/network/NetworkPage.tsx:45 msgid "No wired connections found" msgstr "Keine kabelgebundenen Verbindungen gefunden" -#: src/components/network/NetworkPage.tsx:60 +#: src/components/network/NetworkPage.tsx:61 #, fuzzy msgid "Wi-Fi" msgstr "Wi-Fi" #. TRANSLATORS: button label, connect to a WiFi network -#: src/components/network/NetworkPage.tsx:63 -#: src/components/network/WifiConnectionForm.tsx:142 -#: src/components/network/WifiNetworksListPage.tsx:125 +#: src/components/network/NetworkPage.tsx:64 +#: src/components/network/WifiConnectionForm.tsx:141 +#: src/components/network/WifiNetworksListPage.tsx:126 msgid "Connect" msgstr "Verbinden" -#: src/components/network/NetworkPage.tsx:69 -#, fuzzy, c-format +#: src/components/network/NetworkPage.tsx:70 +#, c-format msgid "Connected to %s" msgstr "Verbunden mit %s" -#: src/components/network/NetworkPage.tsx:76 +#: src/components/network/NetworkPage.tsx:77 msgid "No connected yet" msgstr "Noch nicht verbunden" -#: src/components/network/NetworkPage.tsx:77 +#: src/components/network/NetworkPage.tsx:78 #, fuzzy msgid "" "The system has not been configured for connecting to a Wi-Fi network yet." @@ -601,11 +597,11 @@ msgstr "" "Das System wurde noch nicht für die Verbindung mit einem WiFi-Netzwerk " "konfiguriert." -#: src/components/network/NetworkPage.tsx:86 +#: src/components/network/NetworkPage.tsx:87 msgid "No Wi-Fi supported" msgstr "Kein Wi-Fi unterstützt" -#: src/components/network/NetworkPage.tsx:88 +#: src/components/network/NetworkPage.tsx:89 #, fuzzy msgid "" "The system does not support Wi-Fi connections, probably because of missing " @@ -614,143 +610,142 @@ msgstr "" "Das System unterstützt keine WiFi-Verbindungen, wahrscheinlich wegen " "fehlender oder deaktivierter Hardware." -#: src/components/network/NetworkPage.tsx:105 src/routes/network.tsx:36 +#: src/components/network/NetworkPage.tsx:106 src/routes/network.tsx:37 msgid "Network" msgstr "Netzwerk" #. TRANSLATORS: WiFi authentication mode -#: src/components/network/WifiConnectionForm.tsx:50 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/network/WifiConnectionForm.tsx:49 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:58 msgid "None" msgstr "Kein" #. TRANSLATORS: WiFi authentication mode -#: src/components/network/WifiConnectionForm.tsx:52 +#: src/components/network/WifiConnectionForm.tsx:51 msgid "WPA & WPA2 Personal" msgstr "WPA & WPA2 Personal" #. TRANSLATORS: accessible name for the WiFi connection form -#: src/components/network/WifiConnectionForm.tsx:94 +#: src/components/network/WifiConnectionForm.tsx:93 #, fuzzy msgid "WiFi connection form" -msgstr "WiFi-Verbindungen" +msgstr "Formular für die WiFi-Verbindung" -#: src/components/network/WifiConnectionForm.tsx:101 -#, fuzzy +#: src/components/network/WifiConnectionForm.tsx:100 msgid "Authentication failed, please try again" -msgstr "Authentifizierung durch das Ziel" +msgstr "Authentifizierung fehlgeschlagen, bitte versuchen Sie es erneut" -#: src/components/network/WifiConnectionForm.tsx:102 -#: src/components/storage/ZFCPDiskForm.jsx:105 -#: src/components/storage/iscsi/DiscoverForm.tsx:98 -#: src/components/storage/iscsi/LoginForm.jsx:69 -#: src/components/users/FirstUserForm.tsx:210 +#: src/components/network/WifiConnectionForm.tsx:101 +#: src/components/storage/iscsi/DiscoverForm.tsx:99 +#: src/components/storage/iscsi/LoginForm.jsx:70 +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:114 +#: src/components/users/FirstUserForm.tsx:211 msgid "Something went wrong" msgstr "Etwas ist schiefgelaufen" -#: src/components/network/WifiConnectionForm.tsx:105 +#: src/components/network/WifiConnectionForm.tsx:104 msgid "Please, review provided settings and try again." msgstr "" "Bitte überprüfen Sie die bereitgestellten Einstellungen und versuchen Sie es " "erneut." #. TRANSLATORS: SSID (Wifi network name) configuration -#: src/components/network/WifiConnectionForm.tsx:111 +#: src/components/network/WifiConnectionForm.tsx:110 msgid "SSID" msgstr "SSID" #. TRANSLATORS: Wifi security configuration (password protected or not) -#: src/components/network/WifiConnectionForm.tsx:117 -#: src/components/network/WifiConnectionForm.tsx:120 +#: src/components/network/WifiConnectionForm.tsx:116 +#: src/components/network/WifiConnectionForm.tsx:119 msgid "Security" msgstr "Sicherheit" #. TRANSLATORS: WiFi password -#: src/components/network/WifiConnectionForm.tsx:129 +#: src/components/network/WifiConnectionForm.tsx:128 msgid "WPA Password" msgstr "WPA-Passwort" #. TRANSLATORS: Wifi network status -#: src/components/network/WifiNetworksListPage.tsx:72 -#: src/components/network/WifiNetworksListPage.tsx:138 +#: src/components/network/WifiNetworksListPage.tsx:73 +#: src/components/network/WifiNetworksListPage.tsx:139 msgid "Connecting" msgstr "Wird verbunden" #. TRANSLATORS: Wifi network status -#: src/components/network/WifiNetworksListPage.tsx:75 -#: src/components/network/WifiNetworksListPage.tsx:142 -#: src/components/network/WifiNetworksListPage.tsx:181 +#: src/components/network/WifiNetworksListPage.tsx:76 +#: src/components/network/WifiNetworksListPage.tsx:143 +#: src/components/network/WifiNetworksListPage.tsx:182 msgid "Connected" msgstr "Verbunden" -#. TRANSLATORS: Wifi network status #. TRANSLATORS: iSCSI connection status -#: src/components/network/WifiNetworksListPage.tsx:80 -#: src/components/network/WifiNetworksListPage.tsx:140 -#: src/components/storage/iscsi/NodesPresenter.jsx:64 +#. TRANSLATORS: Wifi network status +#: src/components/network/WifiNetworksListPage.tsx:81 +#: src/components/network/WifiNetworksListPage.tsx:141 +#: src/components/storage/iscsi/NodesPresenter.jsx:65 msgid "Disconnected" msgstr "Getrennt" -#: src/components/network/WifiNetworksListPage.tsx:148 +#: src/components/network/WifiNetworksListPage.tsx:149 msgid "Disconnect" msgstr "Trennen" -#: src/components/network/WifiNetworksListPage.tsx:167 -#: src/components/network/WifiNetworksListPage.tsx:285 +#: src/components/network/WifiNetworksListPage.tsx:168 +#: src/components/network/WifiNetworksListPage.tsx:286 msgid "Connect to hidden network" msgstr "Mit verborgenem Netzwerk verbinden" -#: src/components/network/WifiNetworksListPage.tsx:178 +#: src/components/network/WifiNetworksListPage.tsx:179 msgid "configured" msgstr "konfiguriert" -#: src/components/network/WifiNetworksListPage.tsx:270 +#: src/components/network/WifiNetworksListPage.tsx:271 #, fuzzy msgid "Visible Wi-Fi networks" -msgstr "WiFi-Netzwerke" +msgstr "Sichtbare WiFi-Netzwerke" -#: src/components/network/WifiSelectorPage.tsx:35 +#: src/components/network/WifiSelectorPage.tsx:36 #, fuzzy msgid "Connect to a Wi-Fi network" msgstr "Mit einem Wi-Fi-Netzwerk verbinden" #. TRANSLATORS: %s will be replaced by a language name and territory, example: #. "English (United States)". -#: src/components/overview/L10nSection.jsx:33 +#: src/components/overview/L10nSection.jsx:34 #, c-format msgid "The system will use %s as its default language." msgstr "Das System wird %s als Standardsprache verwenden." -#: src/components/overview/OverviewPage.tsx:47 -#: src/components/users/UsersPage.tsx:35 src/routes/users.tsx:38 +#: src/components/overview/OverviewPage.tsx:48 +#: src/components/users/UsersPage.tsx:36 src/routes/users.tsx:39 msgid "Users" msgstr "Benutzer" -#: src/components/overview/OverviewPage.tsx:48 -#: src/components/overview/StorageSection.jsx:111 -#: src/components/storage/ProposalPage.tsx:107 src/routes/storage.tsx:44 +#: src/components/overview/OverviewPage.tsx:49 +#: src/components/overview/StorageSection.jsx:112 +#: src/components/storage/ProposalPage.tsx:108 src/routes/storage.tsx:51 msgid "Storage" msgstr "Speicherung" -#: src/components/overview/OverviewPage.tsx:49 -#: src/components/overview/SoftwareSection.tsx:69 -#: src/components/software/SoftwarePage.tsx:110 src/routes/software.tsx:36 +#: src/components/overview/OverviewPage.tsx:50 +#: src/components/overview/SoftwareSection.tsx:70 +#: src/components/software/SoftwarePage.tsx:106 src/routes/software.tsx:37 msgid "Software" msgstr "Software" -#: src/components/overview/OverviewPage.tsx:54 +#: src/components/overview/OverviewPage.tsx:55 msgid "Ready for installation" msgstr "Bereit zur Installation" -#: src/components/overview/OverviewPage.tsx:98 +#: src/components/overview/OverviewPage.tsx:99 msgid "Installation" msgstr "Installation" -#: src/components/overview/OverviewPage.tsx:99 +#: src/components/overview/OverviewPage.tsx:100 msgid "Before installing, please check the following problems." msgstr "Bitte überprüfen Sie vor der Installation die folgenden Probleme." -#: src/components/overview/OverviewPage.tsx:113 +#: src/components/overview/OverviewPage.tsx:114 msgid "" "These are the most relevant installation settings. Feel free to browse the " "sections in the menu for further details." @@ -758,7 +753,7 @@ msgstr "" "Dies sind die wichtigsten Installationseinstellungen. Weitere Einzelheiten " "finden Sie in den Abschnitten des Menüs." -#: src/components/overview/OverviewPage.tsx:133 +#: src/components/overview/OverviewPage.tsx:134 msgid "" "Take your time to check your configuration before starting the installation " "process." @@ -766,23 +761,23 @@ msgstr "" "Nehmen Sie sich die Zeit, Ihre Konfiguration zu überprüfen, bevor Sie mit " "der Installation beginnen." -#: src/components/overview/SoftwareSection.tsx:41 +#: src/components/overview/SoftwareSection.tsx:42 msgid "The installation will take" msgstr "Die Installation benötigt" #. TRANSLATORS: %s will be replaced with the installation size, example: "5GiB". -#: src/components/overview/SoftwareSection.tsx:48 +#: src/components/overview/SoftwareSection.tsx:49 #, c-format msgid "The installation will take %s including:" msgstr "Die Installation dauert %s einschließlich:" -#: src/components/overview/StorageSection.jsx:53 +#: src/components/overview/StorageSection.jsx:54 msgid "" "Install in a new Logical Volume Manager (LVM) volume group shrinking " "existing partitions at the underlying devices as needed" msgstr "" -#: src/components/overview/StorageSection.jsx:58 +#: src/components/overview/StorageSection.jsx:59 msgid "" "Install in a new Logical Volume Manager (LVM) volume group without modifying " "the partitions at the underlying devices" @@ -790,7 +785,7 @@ msgstr "" "Installation in einem neuen logischen Volume Manager (LVM) ohne Änderung der " "Partitionen auf den zugrunde liegenden Geräten" -#: src/components/overview/StorageSection.jsx:63 +#: src/components/overview/StorageSection.jsx:64 msgid "" "Install in a new Logical Volume Manager (LVM) volume group deleting all the " "content of the underlying devices" @@ -798,7 +793,7 @@ msgstr "" "Installation in einem neuen logischen Volume Manager (LVM), wobei der " "gesamte Inhalt der zugrunde liegenden Geräte gelöscht wird" -#: src/components/overview/StorageSection.jsx:68 +#: src/components/overview/StorageSection.jsx:69 msgid "" "Install in a new Logical Volume Manager (LVM) volume group using a custom " "strategy to find the needed space at the underlying devices" @@ -807,7 +802,7 @@ msgstr "" "einer benutzerdefinierten Strategie, um den benötigten Speicherplatz auf den " "zugrunde liegenden Geräten zu finden" -#: src/components/overview/StorageSection.jsx:86 +#: src/components/overview/StorageSection.jsx:87 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s shrinking " @@ -816,7 +811,7 @@ msgstr "" "Installation in einem neuen logischen Volume Manager (LVM) auf %s und " "Verkleinerung vorhandener Partitionen nach Bedarf" -#: src/components/overview/StorageSection.jsx:92 +#: src/components/overview/StorageSection.jsx:93 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s without " @@ -825,14 +820,14 @@ msgstr "" "Installation in einem neuen logischen Volume Manager (LVM) auf %s ohne " "Änderung der vorhandenen Partitionen" -#: src/components/overview/StorageSection.jsx:98 +#: src/components/overview/StorageSection.jsx:99 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s deleting " "all its content" msgstr "" -#: src/components/overview/StorageSection.jsx:104 +#: src/components/overview/StorageSection.jsx:105 #, fuzzy, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s using a " @@ -842,14 +837,14 @@ msgstr "" "%s unter Verwendung einer benutzerdefinierten Strategie, um den benötigten " "Platz zu finden" -#: src/components/overview/StorageSection.jsx:179 -#: src/components/storage/InstallationDeviceField.tsx:59 +#: src/components/overview/StorageSection.jsx:180 +#: src/components/storage/InstallationDeviceField.tsx:60 msgid "No device selected yet" msgstr "Noch kein Gerät ausgewählt" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:186 +#: src/components/overview/StorageSection.jsx:187 #, c-format msgid "Install using device %s shrinking existing partitions as needed" msgstr "" @@ -858,7 +853,7 @@ msgstr "" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:190 +#: src/components/overview/StorageSection.jsx:191 #, c-format msgid "Install using device %s without modifying existing partitions" msgstr "" @@ -867,7 +862,7 @@ msgstr "" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:194 +#: src/components/overview/StorageSection.jsx:195 #, c-format msgid "Install using device %s and deleting all its content" msgstr "" @@ -876,7 +871,7 @@ msgstr "" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:199 +#: src/components/overview/StorageSection.jsx:200 #, c-format msgid "Install using device %s with a custom strategy to find the needed space" msgstr "" @@ -884,132 +879,131 @@ msgstr "" "Strategie, um den benötigten Platz zu finden" #. TRANSLATORS: %s will be replaced by a product name. E.g., "openSUSE Tumbleweed" -#: src/components/product/ProductSelectionPage.tsx:56 +#: src/components/product/ProductSelectionPage.tsx:57 #, c-format msgid "%s logo" -msgstr "" +msgstr "%s-Logo" -#: src/components/product/ProductSelectionPage.tsx:107 -#, fuzzy +#: src/components/product/ProductSelectionPage.tsx:108 msgid "Select a product" -msgstr "Ort auswählen" +msgstr "Wählen Sie ein Produkt aus" -#: src/components/product/ProductSelectionPage.tsx:108 +#: src/components/product/ProductSelectionPage.tsx:109 msgid "Available products" msgstr "Verfügbare Produkte" -#: src/components/product/ProductSelectionProgress.jsx:46 +#: src/components/product/ProductSelectionProgress.jsx:45 msgid "Configuring the product, please wait ..." msgstr "Produkt wird konfiguriert, bitte warten ..." -#: src/components/questions/GenericQuestion.tsx:48 -#: src/components/questions/LuksActivationQuestion.tsx:69 +#: src/components/questions/GenericQuestion.tsx:49 +#: src/components/questions/LuksActivationQuestion.tsx:70 msgid "Question" msgstr "Frage" #. TRANSLATORS: error message, user entered a wrong password -#: src/components/questions/LuksActivationQuestion.tsx:37 -#, fuzzy +#: src/components/questions/LuksActivationQuestion.tsx:38 msgid "The encryption password did not work" -msgstr "Das angegebene Verschlüsselungspasswort hat nicht funktioniert" +msgstr "Das Verschlüsselungspasswort hat nicht funktioniert" -#: src/components/questions/LuksActivationQuestion.tsx:68 +#: src/components/questions/LuksActivationQuestion.tsx:69 msgid "Encrypted Device" msgstr "Verschlüsseltes Gerät" #. TRANSLATORS: field label -#: src/components/questions/LuksActivationQuestion.tsx:77 +#: src/components/questions/LuksActivationQuestion.tsx:78 msgid "Encryption Password" msgstr "Verschlüsselungspasswort" -#: src/components/questions/QuestionWithPassword.tsx:55 -#, fuzzy +#: src/components/questions/QuestionWithPassword.tsx:56 msgid "Password Required" -msgstr "Passworteingabe" +msgstr "Passwort erforderlich" -#: src/components/software/SoftwarePage.tsx:52 +#: src/components/software/SoftwarePage.tsx:48 msgid "No additional software was selected." msgstr "Es wurde keine zusätzliche Software ausgewählt." -#: src/components/software/SoftwarePage.tsx:57 +#: src/components/software/SoftwarePage.tsx:53 msgid "The following software patterns are selected for installation:" msgstr "Die folgenden Softwaremuster werden für die Installation ausgewählt:" -#: src/components/software/SoftwarePage.tsx:72 -#: src/components/software/SoftwarePage.tsx:84 +#: src/components/software/SoftwarePage.tsx:68 +#: src/components/software/SoftwarePage.tsx:80 msgid "Selected patterns" msgstr "Ausgewählte Muster" -#: src/components/software/SoftwarePage.tsx:75 +#: src/components/software/SoftwarePage.tsx:71 msgid "Change selection" msgstr "Auswahl ändern" -#: src/components/software/SoftwarePage.tsx:87 +#: src/components/software/SoftwarePage.tsx:83 msgid "" "This product does not allow to select software patterns during installation. " "However, you can add additional software once the installation is finished." msgstr "" +"Bei diesem Produkt ist es nicht möglich, während der Installation " +"Softwaremuster auszuwählen. Sie können jedoch zusätzliche Software " +"hinzufügen, sobald die Installation abgeschlossen ist." -#: src/components/software/SoftwarePatternsSelection.tsx:97 +#: src/components/software/SoftwarePatternsSelection.tsx:98 msgid "None of the patterns match the filter." msgstr "Keines der Muster entspricht dem Filter." -#: src/components/software/SoftwarePatternsSelection.tsx:162 +#: src/components/software/SoftwarePatternsSelection.tsx:163 msgid "auto selected" msgstr "automatisch ausgewählt" -#: src/components/software/SoftwarePatternsSelection.tsx:166 -#, fuzzy +#: src/components/software/SoftwarePatternsSelection.tsx:167 msgid "Unselect" -msgstr "ausgewählt" +msgstr "Abwählen" -#: src/components/software/SoftwarePatternsSelection.tsx:186 +#: src/components/software/SoftwarePatternsSelection.tsx:187 msgid "Software selection" msgstr "Softwareauswahl" #. TRANSLATORS: search field placeholder text -#: src/components/software/SoftwarePatternsSelection.tsx:189 #: src/components/software/SoftwarePatternsSelection.tsx:190 +#: src/components/software/SoftwarePatternsSelection.tsx:191 msgid "Filter by pattern title or description" msgstr "Nach Mustertitel oder Beschreibung filtern" #. TRANSLATORS: %s will be replaced by the estimated installation size, #. example: "728.8 MiB" -#: src/components/software/UsedSize.tsx:32 +#: src/components/software/UsedSize.tsx:33 #, c-format msgid "Installation will take %s." msgstr "Installation wird %s in Anspruch nehmen." -#: src/components/software/UsedSize.tsx:36 -#, fuzzy +#: src/components/software/UsedSize.tsx:37 msgid "" "This space includes the base system and the selected software patterns, if " "any." msgstr "" -"Dieser Bereich umfasst das Basissystem und die ausgewählten Softwaremuster." +"Dieser Bereich umfasst das Basissystem und die ausgewählten Softwaremuster, " +"falls vorhanden." -#: src/components/storage/BootConfigField.tsx:41 +#: src/components/storage/BootConfigField.tsx:42 msgid "Change boot options" msgstr "Boot-Optionen ändern" -#: src/components/storage/BootConfigField.tsx:78 +#: src/components/storage/BootConfigField.tsx:79 msgid "Installation will not configure partitions for booting." msgstr "" "Bei der Installation werden keine Partitionen für das Booten konfiguriert." -#: src/components/storage/BootConfigField.tsx:82 +#: src/components/storage/BootConfigField.tsx:83 msgid "" "Installation will configure partitions for booting at the installation disk." msgstr "" "Bei der Installation werden die Partitionen für das Booten von der " "Installationsfestplatte konfiguriert." -#: src/components/storage/BootConfigField.tsx:86 +#: src/components/storage/BootConfigField.tsx:87 #, c-format msgid "Installation will configure partitions for booting at %s." msgstr "Die Installation konfiguriert Partitionen für das Booten bei %s." -#: src/components/storage/BootSelection.tsx:108 +#: src/components/storage/BootSelection.tsx:109 msgid "" "To ensure the new system is able to boot, the installer may need to create " "or configure some partitions in the appropriate disk." @@ -1018,165 +1012,54 @@ msgstr "" "Installationsprogramm möglicherweise einige Partitionen auf der " "entsprechenden Festplatte erstellen oder konfigurieren." -#: src/components/storage/BootSelection.tsx:114 +#: src/components/storage/BootSelection.tsx:115 msgid "Partitions to boot will be allocated at the installation disk." msgstr "" "Die zu bootenden Partitionen werden auf der Installationsfestplatte " "zugewiesen." #. TRANSLATORS: %s is replaced by a device name and size (e.g., "/dev/sda, 500GiB") -#: src/components/storage/BootSelection.tsx:119 +#: src/components/storage/BootSelection.tsx:120 #, c-format msgid "Partitions to boot will be allocated at the installation disk (%s)." msgstr "" "Die zu bootenden Partitionen werden auf der Installationsfestplatte (%s) " "zugewiesen." -#: src/components/storage/BootSelection.tsx:135 +#: src/components/storage/BootSelection.tsx:136 msgid "Select booting partition" msgstr "Boot-Partition auswählen" -#: src/components/storage/BootSelection.tsx:156 -#: src/components/storage/iscsi/NodeStartupOptions.js:27 +#: src/components/storage/BootSelection.tsx:157 +#: src/components/storage/iscsi/NodeStartupOptions.js:28 msgid "Automatic" msgstr "Automatisch" -#: src/components/storage/BootSelection.tsx:174 +#: src/components/storage/BootSelection.tsx:175 msgid "Select a disk" msgstr "Festplatte auswählen" -#: src/components/storage/BootSelection.tsx:179 +#: src/components/storage/BootSelection.tsx:180 msgid "Partitions to boot will be allocated at the following device." msgstr "" "Die zu bootenden Partitionen werden auf dem folgenden Gerät zugewiesen." -#: src/components/storage/BootSelection.tsx:181 +#: src/components/storage/BootSelection.tsx:182 msgid "Choose a disk for placing the boot loader" msgstr "Wählen Sie eine Festplatte für den Bootloader aus" -#: src/components/storage/BootSelection.tsx:204 +#: src/components/storage/BootSelection.tsx:205 msgid "Do not configure" msgstr "Nicht konfigurieren" -#: src/components/storage/BootSelection.tsx:210 +#: src/components/storage/BootSelection.tsx:211 msgid "" "No partitions will be automatically configured for booting. Use with caution." msgstr "" "Es werden keine Partitionen automatisch für das Booten konfiguriert. Seien " "Sie vorsichtig." -#: src/components/storage/DASDFormatProgress.tsx:48 -msgid "Formatting DASD devices" -msgstr "DASD-Geräte formatieren" - -#: src/components/storage/DASDPage.tsx:36 src/routes/storage.tsx:70 -#, fuzzy -msgid "DASD" -msgstr "DASD %s" - -#: src/components/storage/DASDTable.tsx:63 -#: src/components/storage/ZFCPPage.jsx:340 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -msgid "No" -msgstr "Nein" - -#: src/components/storage/DASDTable.tsx:63 -#: src/components/storage/ZFCPPage.jsx:340 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -msgid "Yes" -msgstr "Ja" - -#: src/components/storage/DASDTable.tsx:70 -#: src/components/storage/ZFCPDiskForm.jsx:110 -#: src/components/storage/ZFCPPage.jsx:324 -#: src/components/storage/ZFCPPage.jsx:382 -msgid "Channel ID" -msgstr "Kanalkennung" - -#. TRANSLATORS: table header -#: src/components/storage/DASDTable.tsx:71 -#: src/components/storage/ZFCPPage.jsx:325 -#: src/components/storage/iscsi/NodesPresenter.jsx:103 -#: src/components/storage/iscsi/NodesPresenter.jsx:124 -#: src/components/users/RootAuthMethods.tsx:70 -msgid "Status" -msgstr "Status" - -#: src/components/storage/DASDTable.tsx:72 -#: src/components/storage/DeviceSelectorTable.tsx:185 -#: src/components/storage/ProposalResultTable.tsx:132 -#: src/components/storage/SpaceActionsTable.tsx:206 -#: src/components/storage/VolumeLocationSelectorTable.tsx:95 -msgid "Device" -msgstr "Gerät" - -#: src/components/storage/DASDTable.tsx:73 -msgid "Type" -msgstr "Art" - -#. TRANSLATORS: table header, the column contains "Yes"/"No" values -#. for the DIAG access mode (special disk access mode on IBM mainframes), -#. usually keep untranslated -#: src/components/storage/DASDTable.tsx:77 -msgid "DIAG" -msgstr "DIAG" - -#: src/components/storage/DASDTable.tsx:78 -msgid "Formatted" -msgstr "Formatiert" - -#: src/components/storage/DASDTable.tsx:79 -msgid "Partition Info" -msgstr "Partitionierungsinformationen" - -#. TRANSLATORS: drop down menu label -#: src/components/storage/DASDTable.tsx:118 -msgid "Perform an action" -msgstr "Aktion durchführen" - -#: src/components/storage/DASDTable.tsx:125 -#: src/components/storage/ZFCPPage.jsx:353 -msgid "Activate" -msgstr "Aktivieren" - -#: src/components/storage/DASDTable.tsx:129 -#: src/components/storage/ZFCPPage.jsx:395 -msgid "Deactivate" -msgstr "Deaktivieren" - -#: src/components/storage/DASDTable.tsx:134 -msgid "Set DIAG On" -msgstr "DIAG einschalten" - -#: src/components/storage/DASDTable.tsx:138 -msgid "Set DIAG Off" -msgstr "DIAG ausschalten" - -#: src/components/storage/DASDTable.tsx:143 -msgid "Format" -msgstr "Formatieren" - -#: src/components/storage/DASDTable.tsx:279 -#: src/components/storage/DASDTable.tsx:280 -msgid "Filter by min channel" -msgstr "" - -#: src/components/storage/DASDTable.tsx:287 -msgid "Remove min channel filter" -msgstr "" - -#: src/components/storage/DASDTable.tsx:301 -#: src/components/storage/DASDTable.tsx:302 -msgid "Filter by max channel" -msgstr "" - -#: src/components/storage/DASDTable.tsx:309 -msgid "Remove max channel filter" -msgstr "" - -#: src/components/storage/DeviceSelection.tsx:105 +#: src/components/storage/DeviceSelection.tsx:106 msgid "" "The file systems will be allocated by default as [new partitions in the " "selected device]." @@ -1184,7 +1067,7 @@ msgstr "" "Die Dateisysteme werden standardmäßig zugewiesen als [neue Partitionen im " "ausgewählten Gerät]." -#: src/components/storage/DeviceSelection.tsx:112 +#: src/components/storage/DeviceSelection.tsx:113 #, fuzzy msgid "" "The file systems will be allocated by default as [logical volumes of a new " @@ -1195,179 +1078,186 @@ msgstr "" "neuen LVM-Volume-Gruppe]. Die entsprechenden physischen Volumes werden bei " "Bedarf als neue Partitionen auf den ausgewählten Geräten erstellt." -#: src/components/storage/DeviceSelection.tsx:121 +#: src/components/storage/DeviceSelection.tsx:122 msgid "Select installation device" msgstr "Installationsgerät auswählen" -#: src/components/storage/DeviceSelection.tsx:127 +#: src/components/storage/DeviceSelection.tsx:128 msgid "Install new system on" msgstr "Neues System installieren auf" -#: src/components/storage/DeviceSelection.tsx:130 +#: src/components/storage/DeviceSelection.tsx:131 msgid "An existing disk" msgstr "Eine vorhandene Festplatte" -#: src/components/storage/DeviceSelection.tsx:139 +#: src/components/storage/DeviceSelection.tsx:140 msgid "A new LVM Volume Group" msgstr "Eine neue LVM-Volume-Gruppe" -#: src/components/storage/DeviceSelection.tsx:162 +#: src/components/storage/DeviceSelection.tsx:163 msgid "Device selector for target disk" msgstr "Geräteselektor für Zielfestplatte" -#: src/components/storage/DeviceSelection.tsx:185 +#: src/components/storage/DeviceSelection.tsx:186 #, fuzzy msgid "Device selector for new LVM volume group" msgstr "Geräteselektor für neue LVM-Volume-Gruppe" -#: src/components/storage/DeviceSelection.tsx:198 +#: src/components/storage/DeviceSelection.tsx:199 #, fuzzy msgid "Prepare more devices by configuring advanced" msgstr "" "Bereiten Sie weitere Geräte vor, indem Sie erweiterte Konfigurationen " "vornehmen" -#: src/components/storage/DeviceSelection.tsx:199 +#: src/components/storage/DeviceSelection.tsx:200 #, fuzzy msgid "storage techs" msgstr "Speichertechnologien" #. TRANSLATORS: multipath device type -#: src/components/storage/DeviceSelectorTable.tsx:53 +#: src/components/storage/DeviceSelectorTable.tsx:54 msgid "Multipath" msgstr "Multipfad" #. TRANSLATORS: %s is replaced by the device bus ID -#: src/components/storage/DeviceSelectorTable.tsx:58 +#: src/components/storage/DeviceSelectorTable.tsx:59 #, c-format msgid "DASD %s" msgstr "DASD %s" #. TRANSLATORS: software RAID device, %s is replaced by the RAID level, e.g. RAID-1 -#: src/components/storage/DeviceSelectorTable.tsx:63 +#: src/components/storage/DeviceSelectorTable.tsx:64 #, c-format msgid "Software %s" msgstr "Software %s" -#: src/components/storage/DeviceSelectorTable.tsx:68 +#: src/components/storage/DeviceSelectorTable.tsx:69 msgid "SD Card" msgstr "SD-Karte" #. TRANSLATORS: %s is substituted by the type of disk like "iSCSI" or "SATA" -#: src/components/storage/DeviceSelectorTable.tsx:73 +#: src/components/storage/DeviceSelectorTable.tsx:74 #, c-format msgid "%s disk" msgstr "Festplatte %s" -#: src/components/storage/DeviceSelectorTable.tsx:74 +#: src/components/storage/DeviceSelectorTable.tsx:75 msgid "Disk" msgstr "Festplatte" #. TRANSLATORS: RAID details, %s is replaced by list of devices used by the array -#: src/components/storage/DeviceSelectorTable.tsx:94 +#: src/components/storage/DeviceSelectorTable.tsx:95 #, c-format msgid "Members: %s" msgstr "Mitglieder: %s" #. TRANSLATORS: RAID details, %s is replaced by list of devices used by the array -#: src/components/storage/DeviceSelectorTable.tsx:103 +#: src/components/storage/DeviceSelectorTable.tsx:104 #, c-format msgid "Devices: %s" msgstr "Geräte: %s" #. TRANSLATORS: multipath details, %s is replaced by list of connections used by the device -#: src/components/storage/DeviceSelectorTable.tsx:112 +#: src/components/storage/DeviceSelectorTable.tsx:113 #, fuzzy, c-format msgid "Wires: %s" msgstr "Leitungen: %s" #. TRANSLATORS: disk partition info, %s is replaced by partition table #. type (MS-DOS or GPT), %d is the number of the partitions -#: src/components/storage/DeviceSelectorTable.tsx:144 +#: src/components/storage/DeviceSelectorTable.tsx:145 #, c-format msgid "%s with %d partitions" msgstr "%s mit %d Partitionen" #. TRANSLATORS: status message, no existing content was found on the disk, #. i.e. the disk is completely empty -#: src/components/storage/DeviceSelectorTable.tsx:150 -#: src/components/storage/SpaceActionsTable.tsx:183 +#: src/components/storage/DeviceSelectorTable.tsx:151 +#: src/components/storage/SpaceActionsTable.tsx:184 msgid "No content found" msgstr "Kein Inhalt gefunden" -#: src/components/storage/DeviceSelectorTable.tsx:186 -#: src/components/storage/PartitionsField.tsx:453 -#: src/components/storage/ProposalResultTable.tsx:134 +#: src/components/storage/DeviceSelectorTable.tsx:188 +#: src/components/storage/ProposalResultTable.tsx:130 #: src/components/storage/SpaceActionsTable.tsx:207 #: src/components/storage/VolumeLocationSelectorTable.tsx:96 -msgid "Details" -msgstr "Details" +#: src/components/storage/dasd/DASDTable.tsx:73 +msgid "Device" +msgstr "Gerät" -#: src/components/storage/DeviceSelectorTable.tsx:187 +#: src/components/storage/DeviceSelectorTable.tsx:189 #: src/components/storage/PartitionsField.tsx:454 -#: src/components/storage/ProposalResultTable.tsx:135 +#: src/components/storage/ProposalResultTable.tsx:132 #: src/components/storage/SpaceActionsTable.tsx:208 +#: src/components/storage/VolumeLocationSelectorTable.tsx:97 +msgid "Details" +msgstr "Details" + +#: src/components/storage/DeviceSelectorTable.tsx:190 +#: src/components/storage/PartitionsField.tsx:455 +#: src/components/storage/ProposalResultTable.tsx:133 +#: src/components/storage/SpaceActionsTable.tsx:209 #: src/components/storage/VolumeFields.tsx:524 -#: src/components/storage/VolumeLocationSelectorTable.tsx:101 +#: src/components/storage/VolumeLocationSelectorTable.tsx:102 msgid "Size" msgstr "Größe" -#: src/components/storage/DevicesTechMenu.jsx:39 +#: src/components/storage/DevicesTechMenu.tsx:43 msgid "Manage and format" msgstr "Verwalten und formatieren" -#: src/components/storage/DevicesTechMenu.jsx:53 +#: src/components/storage/DevicesTechMenu.tsx:56 msgid "Activate disks" msgstr "Festplatten aktivieren" -#: src/components/storage/DevicesTechMenu.jsx:54 +#: src/components/storage/DevicesTechMenu.tsx:57 +#: src/components/storage/zfcp/ZFCPPage.tsx:191 msgid "zFCP" msgstr "zFCP" -#: src/components/storage/DevicesTechMenu.jsx:67 +#: src/components/storage/DevicesTechMenu.tsx:70 msgid "Connect to iSCSI targets" msgstr "Mit iSCSI-Zielen verbinden" -#: src/components/storage/DevicesTechMenu.jsx:68 src/routes/storage.tsx:65 +#: src/components/storage/DevicesTechMenu.tsx:71 src/routes/storage.tsx:72 msgid "iSCSI" msgstr "iSCSI" -#: src/components/storage/EncryptionField.tsx:34 -#: src/components/storage/EncryptionSettingsDialog.tsx:30 +#: src/components/storage/EncryptionField.tsx:35 +#: src/components/storage/EncryptionSettingsDialog.tsx:31 msgid "Encryption" msgstr "Verschlüsselung" -#: src/components/storage/EncryptionField.tsx:36 -#, fuzzy +#: src/components/storage/EncryptionField.tsx:37 msgid "" "Protection for the information stored at the device, including data, " "programs, and system files." msgstr "" -"Die vollständige Festplattenverschlüsselung (FDE) ermöglicht den Schutz der " -"auf dem Gerät gespeicherten Informationen, einschließlich Daten, Programme " -"und Systemdateien." +"Schutz für die auf dem Gerät gespeicherten Informationen, einschließlich " +"Daten, Programme und Systemdateien." -#: src/components/storage/EncryptionField.tsx:40 +#: src/components/storage/EncryptionField.tsx:41 msgid "disabled" msgstr "deaktiviert" -#: src/components/storage/EncryptionField.tsx:41 +#: src/components/storage/EncryptionField.tsx:42 msgid "enabled" msgstr "aktiviert" -#: src/components/storage/EncryptionField.tsx:42 +#: src/components/storage/EncryptionField.tsx:43 msgid "using TPM unlocking" msgstr "TPM-Entsperrung verwenden" -#: src/components/storage/EncryptionField.tsx:56 +#: src/components/storage/EncryptionField.tsx:57 msgid "Enable" msgstr "Aktivieren" -#: src/components/storage/EncryptionField.tsx:56 +#: src/components/storage/EncryptionField.tsx:57 msgid "Modify" msgstr "Ändern" -#: src/components/storage/EncryptionSettingsDialog.tsx:32 +#: src/components/storage/EncryptionSettingsDialog.tsx:33 msgid "" "Full Disk Encryption (FDE) allows to protect the information stored at the " "device, including data, programs, and system files." @@ -1377,120 +1267,119 @@ msgstr "" "und Systemdateien." #. TRANSLATORS: "Trusted Platform Module" is the name of the technology and TPM its abbreviation -#: src/components/storage/EncryptionSettingsDialog.tsx:36 +#: src/components/storage/EncryptionSettingsDialog.tsx:37 msgid "" "Use the Trusted Platform Module (TPM) to decrypt automatically on each boot" msgstr "" "Das Trusted Platform Module (TPM) zur automatischen Entschlüsselung bei " "jedem Bootvorgang verwenden" -#: src/components/storage/EncryptionSettingsDialog.tsx:40 -#, fuzzy +#: src/components/storage/EncryptionSettingsDialog.tsx:41 msgid "" "The password will not be needed to boot and access the data if the TPM can " "verify the integrity of the system. TPM sealing requires the new system to " "be booted directly on its first run." msgstr "" -"Das Passwort wird zum Booten und zum Zugriff auf die Daten nicht benötigt, " -"wenn das TPM die Integrität des " -"Systems verifizieren kann. Die TPM-Versiegelung erfordert, dass das neue " -"System bei seinem ersten Start direkt gebootet wird." +"Das Passwort wird nicht benötigt, um zu booten und auf die Daten " +"zuzugreifen, wenn das TPM die Integrität des Systems verifizieren kann. Die " +"TPM-Versiegelung erfordert, dass das neue System bei seinem ersten Start " +"direkt gebootet wird." -#: src/components/storage/EncryptionSettingsDialog.tsx:127 +#: src/components/storage/EncryptionSettingsDialog.tsx:128 msgid "Encrypt the system" msgstr "System verschlüsseln" -#: src/components/storage/InstallationDeviceField.tsx:31 -#: src/components/storage/VolumeLocationSelectorTable.tsx:53 +#: src/components/storage/InstallationDeviceField.tsx:32 +#: src/components/storage/VolumeLocationSelectorTable.tsx:54 msgid "Installation device" msgstr "Installationsgerät" #. TRANSLATORS: The storage "Installation device" field's description. -#: src/components/storage/InstallationDeviceField.tsx:33 +#: src/components/storage/InstallationDeviceField.tsx:34 #, fuzzy msgid "Main disk or LVM Volume Group for installation." msgstr "Hauptfestplatte oder LVM-Volume-Gruppe für die Installation." #. TRANSLATORS: %s is the installation disk (eg. "/dev/sda, 80 GiB) -#: src/components/storage/InstallationDeviceField.tsx:45 +#: src/components/storage/InstallationDeviceField.tsx:46 #, c-format msgid "File systems created as new partitions at %s" msgstr "Dateisysteme als neue Partitionen bei %s erstellt" -#: src/components/storage/InstallationDeviceField.tsx:48 +#: src/components/storage/InstallationDeviceField.tsx:49 #, fuzzy msgid "File systems created at a new LVM volume group" msgstr "Dateisysteme bei einer neuen LVM-Volume-Gruppe erstellt" -#: src/components/storage/InstallationDeviceField.tsx:53 +#: src/components/storage/InstallationDeviceField.tsx:54 #, fuzzy, c-format msgid "File systems created at a new LVM volume group on %s" msgstr "Dateisysteme bei einer neuen LVM-Volume-Gruppe auf %s erstellt" -#: src/components/storage/InvalidMaxSizeError.tsx:43 -#: src/components/storage/VolumeDialog.tsx:215 +#: src/components/storage/InvalidMaxSizeError.tsx:44 +#: src/components/storage/VolumeDialog.tsx:216 msgid "Maximum must be greater than minimum" msgstr "Das Maximum muss größer sein als das Minimum" #. TRANSLATORS: minimum device size, %s is replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:72 +#: src/components/storage/PartitionsField.tsx:73 #, c-format msgid "at least %s" msgstr "mindestens %s" #. TRANSLATORS: "/" is in an LVM logical volume. %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:90 +#: src/components/storage/PartitionsField.tsx:91 #, fuzzy, c-format msgid "Transactional Btrfs root volume (%s)" msgstr "Transaktionales Btrfs-Wurzel-Volume (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:92 +#: src/components/storage/PartitionsField.tsx:93 #, fuzzy, c-format msgid "Transactional Btrfs root partition (%s)" msgstr "Transaktionale Btrfs-Wurzelpartition (%s)" #. TRANSLATORS: "/" is in an LVM logical volume. %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:97 +#: src/components/storage/PartitionsField.tsx:98 #, fuzzy, c-format msgid "Btrfs root volume with snapshots (%s)" msgstr "Btrfs-Wurzel-Volume mit Schnappschüssen (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:99 +#: src/components/storage/PartitionsField.tsx:100 #, fuzzy, c-format msgid "Btrfs root partition with snapshots (%s)" msgstr "Btrfs-Wurzel-Volume mit Schnappschüssen (%s)" #. TRANSLATORS: This results in something like "Mount /dev/sda3 at /home (25 GiB)" since #. %1$s is replaced by the device name, %2$s by the mount point and %3$s by the size -#: src/components/storage/PartitionsField.tsx:108 +#: src/components/storage/PartitionsField.tsx:109 #, c-format msgid "Mount %1$s at %2$s (%3$s)" msgstr "%1$s unter %2$s (%3$s) einhängen" #. TRANSLATORS: This results in something like "Swap at /dev/sda3 (2 GiB)" since #. %1$s is replaced by the device name, and %2$s by the size -#: src/components/storage/PartitionsField.tsx:114 +#: src/components/storage/PartitionsField.tsx:115 #, c-format msgid "Swap at %1$s (%2$s)" msgstr "Auslagerung bei %1$s (%2$s)" #. TRANSLATORS: Swap is in an LVM logical volume. %s replaced by size string, e.g. "8 GiB" -#: src/components/storage/PartitionsField.tsx:118 +#: src/components/storage/PartitionsField.tsx:119 #, c-format msgid "Swap volume (%s)" msgstr "Auslagerungsvolumen (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "8 GiB" -#: src/components/storage/PartitionsField.tsx:120 +#: src/components/storage/PartitionsField.tsx:121 #, c-format msgid "Swap partition (%s)" msgstr "Auslagerungspartition (%s)" #. TRANSLATORS: This results in something like "Btrfs root at /dev/sda3 (20 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the device name, and %3$s by the size -#: src/components/storage/PartitionsField.tsx:129 +#: src/components/storage/PartitionsField.tsx:130 #, fuzzy, c-format msgid "%1$s root at %2$s (%3$s)" msgstr "Wurzel von %1$s bei %2$s (%3$s)" @@ -1498,21 +1387,21 @@ msgstr "Wurzel von %1$s bei %2$s (%3$s)" #. TRANSLATORS: "/" is in an LVM logical volume. #. Results in something like "Btrfs root volume (at least 20 GiB)" since #. $1$s is replaced by filesystem type and %2$s by size description -#: src/components/storage/PartitionsField.tsx:135 +#: src/components/storage/PartitionsField.tsx:136 #, fuzzy, c-format msgid "%1$s root volume (%2$s)" msgstr "Wurzel-Volume von %1$s (%2$s)" #. TRANSLATORS: Results in something like "Btrfs root partition (at least 20 GiB)" since #. $1$s is replaced by filesystem type and %2$s by size description -#: src/components/storage/PartitionsField.tsx:138 +#: src/components/storage/PartitionsField.tsx:139 #, fuzzy, c-format msgid "%1$s root partition (%2$s)" msgstr "%1$s Wurzelpartition (%2$s)" #. TRANSLATORS: This results in something like "Ext4 /home at /dev/sda3 (20 GiB)" since #. %1$s is replaced by filesystem type, %2$s by mount point, %3$s by device name and %4$s by size -#: src/components/storage/PartitionsField.tsx:144 +#: src/components/storage/PartitionsField.tsx:145 #, c-format msgid "%1$s %2$s at %3$s (%4$s)" msgstr "%1$s %2$s unter %3$s (%4$s)" @@ -1520,141 +1409,141 @@ msgstr "%1$s %2$s unter %3$s (%4$s)" #. TRANSLATORS: The filesystem is in an LVM logical volume. #. Results in something like "Ext4 /home volume (at least 10 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the mount point and %3$s by the size description -#: src/components/storage/PartitionsField.tsx:150 +#: src/components/storage/PartitionsField.tsx:151 #, fuzzy, c-format msgid "%1$s %2$s volume (%3$s)" msgstr "Volume %1$s %2$s (%3$s)" #. TRANSLATORS: This results in something like "Ext4 /home partition (at least 10 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the mount point and %3$s by the size description -#: src/components/storage/PartitionsField.tsx:153 +#: src/components/storage/PartitionsField.tsx:154 #, c-format msgid "%1$s %2$s partition (%3$s)" msgstr "Partition %1$s %2$s (%3$s)" -#: src/components/storage/PartitionsField.tsx:161 +#: src/components/storage/PartitionsField.tsx:162 msgid "Do not configure partitions for booting" msgstr "Keine Partitionen zum Booten konfigurieren" -#: src/components/storage/PartitionsField.tsx:163 +#: src/components/storage/PartitionsField.tsx:164 msgid "Boot partitions at installation disk" msgstr "Boot-Partitionen auf der Installationsfestplatte" #. TRANSLATORS: %s is the disk used to configure the boot-related partitions (eg. "/dev/sda, 80 GiB) -#: src/components/storage/PartitionsField.tsx:166 +#: src/components/storage/PartitionsField.tsx:167 #, c-format msgid "Boot partitions at %s" msgstr "Boot-Partitionen auf %s" #. TRANSLATORS: header for a list of items referring to size limits for file systems -#: src/components/storage/PartitionsField.tsx:185 +#: src/components/storage/PartitionsField.tsx:186 msgid "These limits are affected by:" msgstr "Diese Einschränkungen werden beeinflusst durch:" #. TRANSLATORS: list item, this affects the computed partition size limits -#: src/components/storage/PartitionsField.tsx:189 +#: src/components/storage/PartitionsField.tsx:190 msgid "The configuration of snapshots" msgstr "Die Konfiguration der Schnappschüsse" -#: src/components/storage/PartitionsField.tsx:195 +#: src/components/storage/PartitionsField.tsx:196 #, c-format msgid "Presence of other volumes (%s)" msgstr "Vorhandensein anderer Volumen (%s)" #. TRANSLATORS: list item, describes a factor that affects the computed size of a #. file system; eg. adjusting the size of the swap -#: src/components/storage/PartitionsField.tsx:201 +#: src/components/storage/PartitionsField.tsx:202 msgid "The amount of RAM in the system" msgstr "Die Größe des Arbeitsspeichers im System" -#: src/components/storage/PartitionsField.tsx:258 +#: src/components/storage/PartitionsField.tsx:259 msgid "auto" msgstr "automatisch" #. TRANSLATORS: %s will be replaced by a file-system type like "Btrfs" or "Ext4" -#: src/components/storage/PartitionsField.tsx:270 +#: src/components/storage/PartitionsField.tsx:271 #, c-format msgid "Reused %s" msgstr "Wiederverwendetes %s" -#: src/components/storage/PartitionsField.tsx:271 +#: src/components/storage/PartitionsField.tsx:272 msgid "Transactional Btrfs" msgstr "Transaktionales Btrfs" -#: src/components/storage/PartitionsField.tsx:272 +#: src/components/storage/PartitionsField.tsx:273 msgid "Btrfs with snapshots" msgstr "Btrfs mit Schnappschüssen" #. TRANSLATORS: %s will be replaced by a disk name (eg. "/dev/sda") -#: src/components/storage/PartitionsField.tsx:285 +#: src/components/storage/PartitionsField.tsx:286 #, c-format msgid "Partition at %s" msgstr "Partition auf %s" #. TRANSLATORS: %s will be replaced by a disk name (eg. "/dev/sda") -#: src/components/storage/PartitionsField.tsx:288 +#: src/components/storage/PartitionsField.tsx:289 #, c-format msgid "Separate LVM at %s" msgstr "Separater LVM auf %s" -#: src/components/storage/PartitionsField.tsx:291 +#: src/components/storage/PartitionsField.tsx:292 #, fuzzy msgid "Logical volume at system LVM" msgstr "Logisches Volume im System-LVM" -#: src/components/storage/PartitionsField.tsx:293 +#: src/components/storage/PartitionsField.tsx:294 msgid "Partition at installation disk" msgstr "Partition auf der Installationsfestplatte" -#: src/components/storage/PartitionsField.tsx:313 +#: src/components/storage/PartitionsField.tsx:314 msgid "Reset location" msgstr "Ort zurücksetzen" -#: src/components/storage/PartitionsField.tsx:314 +#: src/components/storage/PartitionsField.tsx:315 msgid "Change location" msgstr "Ort ändern" -#: src/components/storage/PartitionsField.tsx:315 -#: src/components/storage/iscsi/NodesPresenter.jsx:78 +#: src/components/storage/PartitionsField.tsx:316 +#: src/components/storage/iscsi/NodesPresenter.jsx:79 msgid "Delete" msgstr "Löschen" -#: src/components/storage/PartitionsField.tsx:452 -#: src/components/storage/VolumeFields.tsx:66 +#: src/components/storage/PartitionsField.tsx:453 +#: src/components/storage/VolumeFields.tsx:67 #: src/components/storage/VolumeFields.tsx:76 #: src/components/storage/VolumeFields.tsx:81 msgid "Mount point" msgstr "Einhängepunkt" #. TRANSLATORS: where (and how) the file-system is going to be created -#: src/components/storage/PartitionsField.tsx:456 +#: src/components/storage/PartitionsField.tsx:457 msgid "Location" msgstr "Ort" -#: src/components/storage/PartitionsField.tsx:495 +#: src/components/storage/PartitionsField.tsx:496 msgid "Table with mount points" msgstr "Tabelle mit Einhängepunkten" -#: src/components/storage/PartitionsField.tsx:576 -#: src/components/storage/PartitionsField.tsx:596 -#: src/components/storage/VolumeDialog.tsx:77 +#: src/components/storage/PartitionsField.tsx:577 +#: src/components/storage/PartitionsField.tsx:597 +#: src/components/storage/VolumeDialog.tsx:78 msgid "Add file system" msgstr "Dateisystem hinzufügen" -#: src/components/storage/PartitionsField.tsx:608 +#: src/components/storage/PartitionsField.tsx:609 #, fuzzy msgid "Other" msgstr "Sonstige" -#: src/components/storage/PartitionsField.tsx:742 +#: src/components/storage/PartitionsField.tsx:743 msgid "Reset to defaults" msgstr "Auf Standardeinstellungen zurücksetzen" -#: src/components/storage/PartitionsField.tsx:811 +#: src/components/storage/PartitionsField.tsx:807 msgid "Partitions and file systems" msgstr "Partitionen und Dateisysteme" -#: src/components/storage/PartitionsField.tsx:813 +#: src/components/storage/PartitionsField.tsx:809 msgid "" "Structure of the new system, including any additional partition needed for " "booting" @@ -1662,115 +1551,115 @@ msgstr "" "Struktur des neuen Systems, einschließlich aller zusätzlichen Partitionen, " "die zum Booten benötigt werden" -#: src/components/storage/PartitionsField.tsx:820 +#: src/components/storage/PartitionsField.tsx:816 msgid "Show partitions and file-systems actions" msgstr "Partitionen- und Dateisystemaktionen anzeigen" -#: src/components/storage/ProposalActionsDialog.tsx:72 +#: src/components/storage/ProposalActionsDialog.tsx:73 #, c-format msgid "Hide %d subvolume action" msgid_plural "Hide %d subvolume actions" msgstr[0] "" msgstr[1] "" -#: src/components/storage/ProposalActionsDialog.tsx:77 +#: src/components/storage/ProposalActionsDialog.tsx:78 #, c-format msgid "Show %d subvolume action" msgid_plural "Show %d subvolume actions" msgstr[0] "" msgstr[1] "" -#: src/components/storage/ProposalActionsSummary.tsx:54 +#: src/components/storage/ProposalActionsSummary.tsx:55 msgid "Destructive actions are not allowed" msgstr "Destruktive Aktionen sind nicht erlaubt" -#: src/components/storage/ProposalActionsSummary.tsx:56 +#: src/components/storage/ProposalActionsSummary.tsx:57 msgid "Destructive actions are allowed" msgstr "Destruktive Aktionen sind erlaubt" -#: src/components/storage/ProposalActionsSummary.tsx:79 -#: src/components/storage/ProposalActionsSummary.tsx:133 +#: src/components/storage/ProposalActionsSummary.tsx:80 +#: src/components/storage/ProposalActionsSummary.tsx:134 #, fuzzy msgid "affecting" msgstr "beeinflusst" -#: src/components/storage/ProposalActionsSummary.tsx:113 +#: src/components/storage/ProposalActionsSummary.tsx:114 msgid "Shrinking partitions is not allowed" msgstr "Verkleinern von Partitionen ist nicht erlaubt" -#: src/components/storage/ProposalActionsSummary.tsx:117 +#: src/components/storage/ProposalActionsSummary.tsx:118 msgid "Shrinking partitions is allowed" msgstr "Verkleinern von Partitionen ist erlaubt" -#: src/components/storage/ProposalActionsSummary.tsx:119 +#: src/components/storage/ProposalActionsSummary.tsx:120 msgid "Shrinking some partitions is allowed but not needed" msgstr "" "Das Verkleinern einiger Partitionen ist erlaubt, aber nicht erforderlich" -#: src/components/storage/ProposalActionsSummary.tsx:122 +#: src/components/storage/ProposalActionsSummary.tsx:123 #, c-format msgid "%d partition will be shrunk" msgid_plural "%d partitions will be shrunk" msgstr[0] "%d Partition wird verkleinert" msgstr[1] "%d Partitionen werden verkleinert" -#: src/components/storage/ProposalActionsSummary.tsx:163 +#: src/components/storage/ProposalActionsSummary.tsx:164 msgid "Cannot accommodate the required file systems for installation" msgstr "" "Die für die Installation erforderlichen Dateisysteme können nicht " "untergebracht werden" -#: src/components/storage/ProposalActionsSummary.tsx:171 +#: src/components/storage/ProposalActionsSummary.tsx:172 #, c-format msgid "Check the planned action" msgid_plural "Check the %d planned actions" msgstr[0] "Geplante Aktion überprüfen" msgstr[1] "Geplante %d Aktionen überprüfen" -#: src/components/storage/ProposalActionsSummary.tsx:186 +#: src/components/storage/ProposalActionsSummary.tsx:187 msgid "Waiting for actions information..." msgstr "Warten auf Informationen zu Aktionen ..." -#: src/components/storage/ProposalPage.tsx:129 +#: src/components/storage/ProposalPage.tsx:130 msgid "Planned Actions" msgstr "Geplante Aktionen" -#: src/components/storage/ProposalResultSection.tsx:37 +#: src/components/storage/ProposalResultSection.tsx:38 msgid "Waiting for information about storage configuration" msgstr "Warten auf Informationen zur Speicherkonfiguration" -#: src/components/storage/ProposalResultSection.tsx:62 +#: src/components/storage/ProposalResultSection.tsx:63 msgid "Final layout" msgstr "Endgültige Anordnung" -#: src/components/storage/ProposalResultSection.tsx:63 +#: src/components/storage/ProposalResultSection.tsx:64 msgid "The systems will be configured as displayed below." msgstr "Die Systeme werden wie unten dargestellt konfiguriert." -#: src/components/storage/ProposalResultSection.tsx:71 +#: src/components/storage/ProposalResultSection.tsx:72 msgid "Storage proposal not possible" msgstr "Speichervorschlag nicht möglich" -#: src/components/storage/ProposalResultTable.tsx:77 +#: src/components/storage/ProposalResultTable.tsx:75 msgid "New" msgstr "Neu" #. TRANSLATORS: Label to indicate the device size before resizing, where %s is #. replaced by the original size (e.g., 3.00 GiB). -#: src/components/storage/ProposalResultTable.tsx:106 +#: src/components/storage/ProposalResultTable.tsx:104 #, c-format msgid "Before %s" msgstr "Vor %s" -#: src/components/storage/ProposalResultTable.tsx:133 +#: src/components/storage/ProposalResultTable.tsx:131 msgid "Mount Point" msgstr "Einhängepunkt" -#: src/components/storage/ProposalTransactionalInfo.tsx:42 +#: src/components/storage/ProposalTransactionalInfo.tsx:43 msgid "Transactional root file system" msgstr "Transaktionales Wurzeldateisystem" -#: src/components/storage/ProposalTransactionalInfo.tsx:46 +#: src/components/storage/ProposalTransactionalInfo.tsx:47 #, c-format msgid "" "%s is an immutable system with atomic updates. It uses a read-only Btrfs " @@ -1780,11 +1669,11 @@ msgstr "" "verwendet ein schreibgeschütztes Btrfs-Dateisystem, das über Schnappschüsse " "aktualisiert wird." -#: src/components/storage/SnapshotsField.tsx:31 +#: src/components/storage/SnapshotsField.tsx:32 msgid "Use Btrfs snapshots for the root file system" msgstr "Btrfs-Schnappschüsse für das Wurzeldateisystem verwenden" -#: src/components/storage/SnapshotsField.tsx:33 +#: src/components/storage/SnapshotsField.tsx:34 msgid "" "Allows to boot to a previous version of the system after configuration " "changes or software upgrades." @@ -1792,57 +1681,57 @@ msgstr "" "Ermöglicht das Booten zu einer früheren Version des Systems nach " "Konfigurationsänderungen oder Softwareaktualisierungen." -#: src/components/storage/SpaceActionsTable.tsx:60 +#: src/components/storage/SpaceActionsTable.tsx:61 #, c-format msgid "Up to %s can be recovered by shrinking the device." msgstr "Bis zu %s können durch Verkleinern des Geräts zurückgewonnen werden." -#: src/components/storage/SpaceActionsTable.tsx:69 +#: src/components/storage/SpaceActionsTable.tsx:70 msgid "The device cannot be shrunk:" msgstr "Das Gerät kann nicht verkleinert werden:" -#: src/components/storage/SpaceActionsTable.tsx:90 +#: src/components/storage/SpaceActionsTable.tsx:91 #, c-format msgid "Show information about %s" msgstr "Informationen über %s anzeigen" -#: src/components/storage/SpaceActionsTable.tsx:180 +#: src/components/storage/SpaceActionsTable.tsx:181 msgid "The content may be deleted" msgstr "Der Inhalt kann gelöscht werden" -#: src/components/storage/SpaceActionsTable.tsx:210 +#: src/components/storage/SpaceActionsTable.tsx:211 msgid "Action" msgstr "Aktion" -#: src/components/storage/SpaceActionsTable.tsx:221 +#: src/components/storage/SpaceActionsTable.tsx:222 msgid "Actions to find space" msgstr "Aktionen, um Platz zu finden" -#: src/components/storage/SpacePolicySelection.tsx:156 +#: src/components/storage/SpacePolicySelection.tsx:157 #, fuzzy msgid "Space policy" msgstr "Speicherplatzrichtlinie" -#: src/components/storage/VolumeDialog.tsx:74 +#: src/components/storage/VolumeDialog.tsx:75 #, c-format msgid "Add %s file system" msgstr "Dateisystem %s hinzufügen" -#: src/components/storage/VolumeDialog.tsx:75 +#: src/components/storage/VolumeDialog.tsx:76 #, c-format msgid "Edit %s file system" msgstr "Dateisystem %s bearbeiten" -#: src/components/storage/VolumeDialog.tsx:77 +#: src/components/storage/VolumeDialog.tsx:78 msgid "Edit file system" msgstr "Dateisystem bearbeiten" #. TRANSLATORS: Warning when editing a file system. -#: src/components/storage/VolumeDialog.tsx:89 +#: src/components/storage/VolumeDialog.tsx:90 msgid "The type and size of the file system cannot be edited." msgstr "Der Typ und die Größe des Dateisystems können nicht bearbeitet werden." -#: src/components/storage/VolumeDialog.tsx:93 +#: src/components/storage/VolumeDialog.tsx:94 #, c-format msgid "The current file system on %s is selected to be mounted at %s." msgstr "" @@ -1850,47 +1739,47 @@ msgstr "" "werden." #. TRANSLATORS: Warning when editing a file system. -#: src/components/storage/VolumeDialog.tsx:101 +#: src/components/storage/VolumeDialog.tsx:102 msgid "The size of the file system cannot be edited" msgstr "Die Größe des Dateisystems kann nicht bearbeitet werden" #. TRANSLATORS: Description of a warning. %s is replaced by a device name (e.g., /dev/vda). -#: src/components/storage/VolumeDialog.tsx:103 +#: src/components/storage/VolumeDialog.tsx:104 #, c-format msgid "The file system is allocated at the device %s." msgstr "Das Dateisystem ist dem Gerät %s zugewiesen." -#: src/components/storage/VolumeDialog.tsx:140 +#: src/components/storage/VolumeDialog.tsx:141 msgid "A mount point is required" msgstr "Ein Einhängepunkt ist erforderlich" -#: src/components/storage/VolumeDialog.tsx:157 +#: src/components/storage/VolumeDialog.tsx:158 msgid "The mount point is invalid" msgstr "Der Einhängepunkt ist ungültig" -#: src/components/storage/VolumeDialog.tsx:175 +#: src/components/storage/VolumeDialog.tsx:176 msgid "A size value is required" msgstr "Ein Größenwert ist erforderlich" -#: src/components/storage/VolumeDialog.tsx:193 +#: src/components/storage/VolumeDialog.tsx:194 msgid "Minimum size is required" msgstr "Mindestgröße ist erforderlich" -#: src/components/storage/VolumeDialog.tsx:242 +#: src/components/storage/VolumeDialog.tsx:243 #, c-format msgid "There is already a file system for %s." msgstr "Es gibt bereits ein Dateisystem für %s." -#: src/components/storage/VolumeDialog.tsx:244 +#: src/components/storage/VolumeDialog.tsx:245 msgid "Do you want to edit it?" msgstr "Möchten Sie es bearbeiten?" -#: src/components/storage/VolumeDialog.tsx:274 +#: src/components/storage/VolumeDialog.tsx:275 #, c-format msgid "There is a predefined file system for %s." msgstr "Es gibt ein vordefiniertes Dateisystem für %s." -#: src/components/storage/VolumeDialog.tsx:276 +#: src/components/storage/VolumeDialog.tsx:277 msgid "Do you want to add it?" msgstr "Möchten Sie es hinzufügen?" @@ -2012,7 +1901,7 @@ msgstr "Unveränderbar" msgid "Range" msgstr "Bereich" -#: src/components/storage/VolumeLocationDialog.tsx:37 +#: src/components/storage/VolumeLocationDialog.tsx:34 msgid "" "The file systems are allocated at the installation device by default. " "Indicate a custom location to create the file system at a specific device." @@ -2023,29 +1912,29 @@ msgstr "" #. TRANSLATORS: Title of the dialog for changing the location of a file system. %s is replaced #. by a mount path (e.g., /home). -#: src/components/storage/VolumeLocationDialog.tsx:140 +#: src/components/storage/VolumeLocationDialog.tsx:137 #, c-format msgid "Location for %s file system" msgstr "Speicherort für Dateisystem %s" -#: src/components/storage/VolumeLocationDialog.tsx:150 +#: src/components/storage/VolumeLocationDialog.tsx:147 msgid "Select in which device to allocate the file system" msgstr "" "Wählen Sie aus, auf welchem Gerät das Dateisystem zugewiesen werden soll" -#: src/components/storage/VolumeLocationDialog.tsx:153 +#: src/components/storage/VolumeLocationDialog.tsx:150 msgid "Select a location" msgstr "Ort auswählen" -#: src/components/storage/VolumeLocationDialog.tsx:165 +#: src/components/storage/VolumeLocationDialog.tsx:162 msgid "Select how to allocate the file system" msgstr "Wählen Sie aus, wie das Dateisystem zugewiesen werden soll" -#: src/components/storage/VolumeLocationDialog.tsx:170 +#: src/components/storage/VolumeLocationDialog.tsx:167 msgid "Create a new partition" msgstr "Eine neue Partition erstellen" -#: src/components/storage/VolumeLocationDialog.tsx:172 +#: src/components/storage/VolumeLocationDialog.tsx:169 #, fuzzy msgid "" "The file system will be allocated as a new partition at the selected disk." @@ -2053,12 +1942,12 @@ msgstr "" "Das Dateisystem wird als neue Partition auf der ausgewählten Festplatte " "zugewiesen." -#: src/components/storage/VolumeLocationDialog.tsx:182 +#: src/components/storage/VolumeLocationDialog.tsx:179 #, fuzzy msgid "Create a dedicated LVM volume group" msgstr "Dedizierte LVM-Volume-Gruppe erstellen" -#: src/components/storage/VolumeLocationDialog.tsx:184 +#: src/components/storage/VolumeLocationDialog.tsx:181 #, fuzzy msgid "" "A new volume group will be allocated in the selected disk and the file " @@ -2067,20 +1956,20 @@ msgstr "" "Eine neue Volume-Gruppe wird auf der ausgewählten Festplatte zugewiesen und " "das Dateisystem wird als logisches Volume erstellt." -#: src/components/storage/VolumeLocationDialog.tsx:194 +#: src/components/storage/VolumeLocationDialog.tsx:191 msgid "Format the device" msgstr "Gerät formatieren" -#: src/components/storage/VolumeLocationDialog.tsx:198 +#: src/components/storage/VolumeLocationDialog.tsx:195 #, c-format msgid "The selected device will be formatted as %s file system." msgstr "Das ausgewählte Gerät wird als Dateisystem %s formatiert." -#: src/components/storage/VolumeLocationDialog.tsx:209 +#: src/components/storage/VolumeLocationDialog.tsx:206 msgid "Mount the file system" msgstr "Dateisystem einhängen" -#: src/components/storage/VolumeLocationDialog.tsx:211 +#: src/components/storage/VolumeLocationDialog.tsx:208 msgid "" "The current file system on the selected device will be mounted without " "formatting the device." @@ -2088,293 +1977,324 @@ msgstr "" "Das aktuelle Dateisystem auf dem ausgewählten Gerät wird eingehängt, ohne " "das Gerät zu formatieren." -#: src/components/storage/VolumeLocationSelectorTable.tsx:98 +#: src/components/storage/VolumeLocationSelectorTable.tsx:99 #, fuzzy msgid "Usage" msgstr "Belegung" -#: src/components/storage/ZFCPDiskForm.jsx:106 -msgid "The zFCP disk was not activated." -msgstr "Die zFCP-Festplatte wurde nicht aktiviert." +#: src/components/storage/dasd/DASDFormatProgress.tsx:49 +msgid "Formatting DASD devices" +msgstr "DASD-Geräte formatieren" -#. TRANSLATORS: abbrev. World Wide Port Name -#: src/components/storage/ZFCPDiskForm.jsx:123 -#: src/components/storage/ZFCPPage.jsx:383 -msgid "WWPN" -msgstr "WWPN" +#: src/components/storage/dasd/DASDPage.tsx:39 src/routes/storage.tsx:77 +msgid "DASD" +msgstr "DASD" -#. TRANSLATORS: abbrev. Logical Unit Number -#: src/components/storage/ZFCPDiskForm.jsx:131 -#: src/components/storage/ZFCPPage.jsx:384 -msgid "LUN" -msgstr "LUN" +#. TRANSLATORS: DASD devices selection table +#: src/components/storage/dasd/DASDPage.tsx:44 +msgid "DASD devices selection table" +msgstr "DASD-Geräte-Auswahltabelle" -#: src/components/storage/ZFCPPage.jsx:326 -msgid "Auto LUNs Scan" -msgstr "" +#: src/components/storage/dasd/DASDPage.tsx:54 +#: src/components/storage/zfcp/ZFCPPage.tsx:200 +msgid "Back to device selection" +msgstr "Zurück zur Geräteauswahl" -#: src/components/storage/ZFCPPage.jsx:337 -msgid "Activated" -msgstr "Aktiviert" +#: src/components/storage/dasd/DASDTable.tsx:64 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:36 +msgid "No" +msgstr "Nein" -#: src/components/storage/ZFCPPage.jsx:337 -msgid "Deactivated" -msgstr "Deaktiviert" +#: src/components/storage/dasd/DASDTable.tsx:64 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:36 +msgid "Yes" +msgstr "Ja" -#: src/components/storage/ZFCPPage.jsx:437 -msgid "No zFCP controllers found." -msgstr "Keine zFCP-Controller gefunden." +#: src/components/storage/dasd/DASDTable.tsx:71 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:20 +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:119 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:43 +msgid "Channel ID" +msgstr "Kanalkennung" -#: src/components/storage/ZFCPPage.jsx:438 -msgid "Please, try to read the zFCP devices again." -msgstr "Bitte versuchen Sie, die zFCP-Geräte erneut einzulesen." +#. TRANSLATORS: table header +#: src/components/storage/dasd/DASDTable.tsx:72 +#: src/components/storage/iscsi/NodesPresenter.jsx:104 +#: src/components/storage/iscsi/NodesPresenter.jsx:125 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:21 +#: src/components/users/RootAuthMethods.tsx:71 +msgid "Status" +msgstr "Status" -#: src/components/storage/ZFCPPage.jsx:441 -msgid "Read zFCP devices" -msgstr "zFCP-Geräte lesen" +#: src/components/storage/dasd/DASDTable.tsx:74 +msgid "Type" +msgstr "Art" -#: src/components/storage/ZFCPPage.jsx:452 -msgid "" -"Automatic LUN scan is [enabled]. Activating a controller which is running in " -"NPIV mode will automatically configures all its LUNs." -msgstr "" +#. TRANSLATORS: table header, the column contains "Yes"/"No" values +#. for the DIAG access mode (special disk access mode on IBM mainframes), +#. usually keep untranslated +#: src/components/storage/dasd/DASDTable.tsx:78 +msgid "DIAG" +msgstr "DIAG" -#: src/components/storage/ZFCPPage.jsx:457 -msgid "" -"Automatic LUN scan is [disabled]. LUNs have to be manually configured after " -"activating a controller." -msgstr "" +#: src/components/storage/dasd/DASDTable.tsx:79 +msgid "Formatted" +msgstr "Formatiert" -#: src/components/storage/ZFCPPage.jsx:519 -msgid "Activate a zFCP disk" -msgstr "zFCP-Festplatte aktivieren" +#: src/components/storage/dasd/DASDTable.tsx:80 +msgid "Partition Info" +msgstr "Partitionierungsinformationen" -#: src/components/storage/ZFCPPage.jsx:553 -msgid "Please, try to activate a zFCP controller." -msgstr "Bitte versuchen Sie, einen zFCP-Controller zu aktivieren." +#. TRANSLATORS: drop down menu label +#: src/components/storage/dasd/DASDTable.tsx:119 +msgid "Perform an action" +msgstr "Aktion durchführen" -#: src/components/storage/ZFCPPage.jsx:559 -msgid "Please, try to activate a zFCP disk." -msgstr "Bitte versuchen Sie, eine zFCP-Festplatte zu aktivieren." +#: src/components/storage/dasd/DASDTable.tsx:126 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:51 +msgid "Activate" +msgstr "Aktivieren" -#: src/components/storage/ZFCPPage.jsx:562 -msgid "Activate zFCP disk" -msgstr "zFCP-Festplatte aktivieren" +#: src/components/storage/dasd/DASDTable.tsx:130 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:56 +msgid "Deactivate" +msgstr "Deaktivieren" -#: src/components/storage/ZFCPPage.jsx:570 -msgid "No zFCP disks found." -msgstr "Keine zFCP-Festplatten gefunden." +#: src/components/storage/dasd/DASDTable.tsx:135 +msgid "Set DIAG On" +msgstr "DIAG einschalten" -#: src/components/storage/ZFCPPage.jsx:586 -msgid "Activate new disk" -msgstr "Neue Festplatte aktivieren" +#: src/components/storage/dasd/DASDTable.tsx:139 +msgid "Set DIAG Off" +msgstr "DIAG ausschalten" -#. TRANSLATORS: section title -#: src/components/storage/ZFCPPage.jsx:599 -msgid "Disks" -msgstr "Festplatten" +#: src/components/storage/dasd/DASDTable.tsx:144 +msgid "Format" +msgstr "Formatieren" -#: src/components/storage/device-utils.tsx:74 +#: src/components/storage/dasd/DASDTable.tsx:280 +#: src/components/storage/dasd/DASDTable.tsx:281 +msgid "Filter by min channel" +msgstr "" + +#: src/components/storage/dasd/DASDTable.tsx:288 +msgid "Remove min channel filter" +msgstr "" + +#: src/components/storage/dasd/DASDTable.tsx:302 +#: src/components/storage/dasd/DASDTable.tsx:303 +msgid "Filter by max channel" +msgstr "" + +#: src/components/storage/dasd/DASDTable.tsx:310 +msgid "Remove max channel filter" +msgstr "" + +#: src/components/storage/device-utils.tsx:75 msgid "Unused space" msgstr "Ungenutzter Platz" -#: src/components/storage/iscsi/AuthFields.jsx:70 +#: src/components/storage/iscsi/AuthFields.jsx:71 #, fuzzy msgid "Only available if authentication by target is provided" msgstr "Nur verfügbar, wenn Authentifizierung durch das Ziel angeboten wird" -#: src/components/storage/iscsi/AuthFields.jsx:77 +#: src/components/storage/iscsi/AuthFields.jsx:78 msgid "Authentication by target" msgstr "Authentifizierung durch das Ziel" -#: src/components/storage/iscsi/AuthFields.jsx:78 -#: src/components/storage/iscsi/AuthFields.jsx:82 -#: src/components/storage/iscsi/AuthFields.jsx:84 -#: src/components/storage/iscsi/AuthFields.jsx:104 -#: src/components/storage/iscsi/AuthFields.jsx:108 -#: src/components/storage/iscsi/AuthFields.jsx:110 +#: src/components/storage/iscsi/AuthFields.jsx:79 +#: src/components/storage/iscsi/AuthFields.jsx:83 +#: src/components/storage/iscsi/AuthFields.jsx:85 +#: src/components/storage/iscsi/AuthFields.jsx:105 +#: src/components/storage/iscsi/AuthFields.jsx:109 +#: src/components/storage/iscsi/AuthFields.jsx:111 msgid "User name" msgstr "Benutzername" -#: src/components/storage/iscsi/AuthFields.jsx:88 -#: src/components/storage/iscsi/AuthFields.jsx:116 +#: src/components/storage/iscsi/AuthFields.jsx:89 +#: src/components/storage/iscsi/AuthFields.jsx:117 msgid "Incorrect user name" msgstr "Falscher Benutzername" -#: src/components/storage/iscsi/AuthFields.jsx:99 -#: src/components/storage/iscsi/AuthFields.jsx:130 +#: src/components/storage/iscsi/AuthFields.jsx:100 +#: src/components/storage/iscsi/AuthFields.jsx:131 msgid "Incorrect password" msgstr "Falsches Passwort" -#: src/components/storage/iscsi/AuthFields.jsx:102 +#: src/components/storage/iscsi/AuthFields.jsx:103 msgid "Authentication by initiator" msgstr "Authentifizierung durch den Initiator" -#: src/components/storage/iscsi/AuthFields.jsx:123 +#: src/components/storage/iscsi/AuthFields.jsx:124 msgid "Target Password" msgstr "Ziel-Passwort" #. TRANSLATORS: popup title -#: src/components/storage/iscsi/DiscoverForm.tsx:94 +#: src/components/storage/iscsi/DiscoverForm.tsx:95 msgid "Discover iSCSI Targets" msgstr "iSCSI-Ziele erkennen" -#: src/components/storage/iscsi/DiscoverForm.tsx:99 -#: src/components/storage/iscsi/LoginForm.jsx:70 +#: src/components/storage/iscsi/DiscoverForm.tsx:100 +#: src/components/storage/iscsi/LoginForm.jsx:71 msgid "Make sure you provide the correct values" msgstr "Stellen Sie sicher, dass Sie die richtigen Werte angeben" -#: src/components/storage/iscsi/DiscoverForm.tsx:103 +#: src/components/storage/iscsi/DiscoverForm.tsx:104 msgid "IP address" msgstr "IP-Adresse" #. TRANSLATORS: network address -#: src/components/storage/iscsi/DiscoverForm.tsx:108 -#: src/components/storage/iscsi/DiscoverForm.tsx:110 +#: src/components/storage/iscsi/DiscoverForm.tsx:109 +#: src/components/storage/iscsi/DiscoverForm.tsx:111 msgid "Address" msgstr "Adresse" -#: src/components/storage/iscsi/DiscoverForm.tsx:115 +#: src/components/storage/iscsi/DiscoverForm.tsx:116 msgid "Incorrect IP address" msgstr "Falsche IP-Adresse" #. TRANSLATORS: network port number -#: src/components/storage/iscsi/DiscoverForm.tsx:117 -#: src/components/storage/iscsi/DiscoverForm.tsx:122 -#: src/components/storage/iscsi/DiscoverForm.tsx:124 +#: src/components/storage/iscsi/DiscoverForm.tsx:118 +#: src/components/storage/iscsi/DiscoverForm.tsx:123 +#: src/components/storage/iscsi/DiscoverForm.tsx:125 msgid "Port" msgstr "Port" -#: src/components/storage/iscsi/DiscoverForm.tsx:129 +#: src/components/storage/iscsi/DiscoverForm.tsx:130 msgid "Incorrect port" msgstr "Falscher Port" #. TRANSLATORS: %s is replaced by the iSCSI target node name -#: src/components/storage/iscsi/EditNodeForm.tsx:48 +#: src/components/storage/iscsi/EditNodeForm.tsx:49 #, c-format msgid "Edit %s" msgstr "%s bearbeiten" -#: src/components/storage/iscsi/InitiatorForm.tsx:42 +#: src/components/storage/iscsi/InitiatorForm.tsx:43 msgid "Edit iSCSI Initiator" msgstr "iSCSI-Initiator bearbeiten" #. TRANSLATORS: iSCSI initiator name -#: src/components/storage/iscsi/InitiatorForm.tsx:49 +#: src/components/storage/iscsi/InitiatorForm.tsx:50 msgid "Initiator name" msgstr "Name des Initiators" #. TRANSLATORS: usually just keep the original text #. iBFT = iSCSI Boot Firmware Table, HW support for booting from iSCSI -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:71 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -#: src/components/storage/iscsi/NodesPresenter.jsx:123 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:72 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/iscsi/NodesPresenter.jsx:124 msgid "iBFT" msgstr "iBFT" -#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:72 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:58 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:73 #, fuzzy msgid "Offload card" msgstr "Karte entladen" #. TRANSLATORS: iSCSI initiator section name -#: src/components/storage/iscsi/InitiatorSection.tsx:35 +#: src/components/storage/iscsi/InitiatorSection.tsx:36 msgid "Initiator" msgstr "Initiator" #. TRANSLATORS: %s is replaced by the iSCSI target name -#: src/components/storage/iscsi/LoginForm.jsx:66 +#: src/components/storage/iscsi/LoginForm.jsx:67 #, c-format msgid "Login %s" msgstr "%s anmelden" #. TRANSLATORS: iSCSI start up mode (on boot/manual/automatic) -#: src/components/storage/iscsi/LoginForm.jsx:74 -#: src/components/storage/iscsi/LoginForm.jsx:77 +#: src/components/storage/iscsi/LoginForm.jsx:75 +#: src/components/storage/iscsi/LoginForm.jsx:78 #, fuzzy msgid "Startup" msgstr "Inbetriebnahme" -#: src/components/storage/iscsi/NodeStartupOptions.js:26 +#: src/components/storage/iscsi/NodeStartupOptions.js:27 msgid "On boot" msgstr "Beim Booten" #. TRANSLATORS: iSCSI connection status, %s is replaced by node label -#: src/components/storage/iscsi/NodesPresenter.jsx:68 +#: src/components/storage/iscsi/NodesPresenter.jsx:69 #, c-format msgid "Connected (%s)" msgstr "Verbunden (%s)" -#: src/components/storage/iscsi/NodesPresenter.jsx:83 +#: src/components/storage/iscsi/NodesPresenter.jsx:84 msgid "Login" msgstr "Anmelden" -#: src/components/storage/iscsi/NodesPresenter.jsx:87 +#: src/components/storage/iscsi/NodesPresenter.jsx:88 msgid "Logout" msgstr "Abmelden" -#: src/components/storage/iscsi/NodesPresenter.jsx:100 -#: src/components/storage/iscsi/NodesPresenter.jsx:121 +#: src/components/storage/iscsi/NodesPresenter.jsx:101 +#: src/components/storage/iscsi/NodesPresenter.jsx:122 msgid "Portal" msgstr "Portal" -#: src/components/storage/iscsi/NodesPresenter.jsx:101 -#: src/components/storage/iscsi/NodesPresenter.jsx:122 +#: src/components/storage/iscsi/NodesPresenter.jsx:102 +#: src/components/storage/iscsi/NodesPresenter.jsx:123 msgid "Interface" msgstr "Schnittstelle" -#: src/components/storage/iscsi/TargetsSection.tsx:56 +#: src/components/storage/iscsi/TargetsSection.tsx:57 msgid "No iSCSI targets found." msgstr "Keine iSCSI-Ziele gefunden." -#: src/components/storage/iscsi/TargetsSection.tsx:58 +#: src/components/storage/iscsi/TargetsSection.tsx:59 msgid "" "Please, perform an iSCSI discovery in order to find available iSCSI targets." msgstr "" "Bitte führen Sie eine iSCSI-Erkennung durch, um verfügbare iSCSI-Ziele zu " "finden." -#: src/components/storage/iscsi/TargetsSection.tsx:62 +#: src/components/storage/iscsi/TargetsSection.tsx:63 msgid "Discover iSCSI targets" msgstr "iSCSI-Ziele erkennen" #. TRANSLATORS: button label, starts iSCSI discovery -#: src/components/storage/iscsi/TargetsSection.tsx:74 +#: src/components/storage/iscsi/TargetsSection.tsx:75 msgid "Discover" msgstr "Erkennen" #. TRANSLATORS: iSCSI targets section title -#: src/components/storage/iscsi/TargetsSection.tsx:85 +#: src/components/storage/iscsi/TargetsSection.tsx:86 msgid "Targets" msgstr "Ziele" -#: src/components/storage/utils.ts:60 +#: src/components/storage/utils.ts:61 msgid "KiB" msgstr "KiB" -#: src/components/storage/utils.ts:61 +#: src/components/storage/utils.ts:62 msgid "MiB" msgstr "MiB" -#: src/components/storage/utils.ts:62 +#: src/components/storage/utils.ts:63 msgid "GiB" msgstr "GiB" -#: src/components/storage/utils.ts:63 +#: src/components/storage/utils.ts:64 msgid "TiB" msgstr "TiB" -#: src/components/storage/utils.ts:64 +#: src/components/storage/utils.ts:65 msgid "PiB" msgstr "PiB" -#: src/components/storage/utils.ts:72 +#: src/components/storage/utils.ts:73 msgid "Delete current content" msgstr "Aktuellen Inhalt löschen" -#: src/components/storage/utils.ts:73 +#: src/components/storage/utils.ts:74 msgid "All partitions will be removed and any data in the disks will be lost." msgstr "" "Alle Partitionen werden entfernt und alle Daten auf den Festplatten gehen " @@ -2382,15 +2302,15 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space deleting current content". Keep it short -#: src/components/storage/utils.ts:77 +#: src/components/storage/utils.ts:78 msgid "deleting current content" msgstr "aktuellen Inhalt löschen" -#: src/components/storage/utils.ts:82 +#: src/components/storage/utils.ts:83 msgid "Shrink existing partitions" msgstr "Vorhandene Partitionen verkleinern" -#: src/components/storage/utils.ts:83 +#: src/components/storage/utils.ts:84 msgid "The data is kept, but the current partitions will be resized as needed." msgstr "" "Die Daten bleiben erhalten, aber die Größe der aktuellen Partitionen wird " @@ -2398,15 +2318,15 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space shrinking partitions". Keep it short. -#: src/components/storage/utils.ts:87 +#: src/components/storage/utils.ts:88 msgid "shrinking partitions" msgstr "Partitionen verkleinern" -#: src/components/storage/utils.ts:92 +#: src/components/storage/utils.ts:93 msgid "Use available space" msgstr "Verfügbaren Speicherplatz verwenden" -#: src/components/storage/utils.ts:93 +#: src/components/storage/utils.ts:94 msgid "" "The data is kept. Only the space not assigned to any partition will be used." msgstr "" @@ -2415,33 +2335,119 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space without modifying any partition". Keep it short. -#: src/components/storage/utils.ts:97 +#: src/components/storage/utils.ts:98 msgid "without modifying any partition" msgstr "ohne eine Partition zu verändern" -#: src/components/storage/utils.ts:102 +#: src/components/storage/utils.ts:103 msgid "Custom" msgstr "Benutzerdefiniert" -#: src/components/storage/utils.ts:103 +#: src/components/storage/utils.ts:104 msgid "Select what to do with each partition." msgstr "Wählen Sie aus, was mit jeder Partition gemacht werden soll." #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space with custom actions". Keep it short. -#: src/components/storage/utils.ts:107 +#: src/components/storage/utils.ts:108 msgid "with custom actions" msgstr "mit benutzerdefinierten Aktionen" -#: src/components/users/FirstUser.tsx:33 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:22 +msgid "Auto LUNs Scan" +msgstr "" + +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:33 +msgid "Activated" +msgstr "Aktiviert" + +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:33 +msgid "Deactivated" +msgstr "Deaktiviert" + +#: src/components/storage/zfcp/ZFCPDiskActivationPage.tsx:62 +msgid "zFCP Disk Activation" +msgstr "" + +#. TRANSLATORS: zFCP disk activation form +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:112 +msgid "zFCP Disk activation form" +msgstr "" + +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:115 +msgid "The zFCP disk was not activated." +msgstr "Die zFCP-Festplatte wurde nicht aktiviert." + +#. TRANSLATORS: abbrev. World Wide Port Name +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:132 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:44 +msgid "WWPN" +msgstr "WWPN" + +#. TRANSLATORS: abbrev. Logical Unit Number +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:140 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:45 +msgid "LUN" +msgstr "LUN" + +#: src/components/storage/zfcp/ZFCPPage.tsx:54 +msgid "" +"Automatic LUN scan is [enabled]. Activating a controller which is " +"running in NPIV mode will automatically configures all its LUNs." +msgstr "" + +#: src/components/storage/zfcp/ZFCPPage.tsx:59 +msgid "" +"Automatic LUN scan is [disabled]. LUNs have to be manually configured " +"after activating a controller." +msgstr "" + +#: src/components/storage/zfcp/ZFCPPage.tsx:80 +msgid "Please, try to activate a zFCP disk." +msgstr "Bitte versuchen Sie, eine zFCP-Festplatte zu aktivieren." + +#: src/components/storage/zfcp/ZFCPPage.tsx:81 +#: src/components/storage/zfcp/ZFCPPage.tsx:164 +msgid "Please, try to activate a zFCP controller." +msgstr "Bitte versuchen Sie, einen zFCP-Controller zu aktivieren." + +#: src/components/storage/zfcp/ZFCPPage.tsx:85 +msgid "No zFCP disks found." +msgstr "Keine zFCP-Festplatten gefunden." + +#: src/components/storage/zfcp/ZFCPPage.tsx:92 +msgid "Activate zFCP disk" +msgstr "zFCP-Festplatte aktivieren" + +#: src/components/storage/zfcp/ZFCPPage.tsx:115 +msgid "Activate new disk" +msgstr "Neue Festplatte aktivieren" + +#: src/components/storage/zfcp/ZFCPPage.tsx:133 +msgid "Disks" +msgstr "Festplatten" + +#: src/components/storage/zfcp/ZFCPPage.tsx:143 +msgid "Controllers" +msgstr "Controller" + +#: src/components/storage/zfcp/ZFCPPage.tsx:156 +msgid "No zFCP controllers found." +msgstr "Keine zFCP-Controller gefunden." + +#: src/components/storage/zfcp/ZFCPPage.tsx:160 +msgid "Read zFCP devices" +msgstr "zFCP-Geräte lesen" + +#: src/components/users/FirstUser.tsx:34 msgid "Define a user now" msgstr "Definieren Sie jetzt einen Benutzer" -#: src/components/users/FirstUser.tsx:39 +#: src/components/users/FirstUser.tsx:40 msgid "No user defined yet." msgstr "Noch kein Benutzer definiert." -#: src/components/users/FirstUser.tsx:43 +#: src/components/users/FirstUser.tsx:44 msgid "" "Please, be aware that a user must be defined before installing the system to " "be able to log into it." @@ -2449,72 +2455,72 @@ msgstr "" "Bitte beachten Sie, dass vor der Installation des Systems ein Benutzer " "definiert werden muss, um sich am System anmelden zu können." -#: src/components/users/FirstUser.tsx:55 -#: src/components/users/FirstUserForm.tsx:220 +#: src/components/users/FirstUser.tsx:56 +#: src/components/users/FirstUserForm.tsx:221 msgid "Full name" msgstr "Vollständiger Name" -#: src/components/users/FirstUser.tsx:56 -#: src/components/users/FirstUserForm.tsx:234 -#: src/components/users/FirstUserForm.tsx:239 -#: src/components/users/FirstUserForm.tsx:242 +#: src/components/users/FirstUser.tsx:57 +#: src/components/users/FirstUserForm.tsx:235 +#: src/components/users/FirstUserForm.tsx:240 +#: src/components/users/FirstUserForm.tsx:243 msgid "Username" msgstr "Benutzername" -#: src/components/users/FirstUser.tsx:87 -#: src/components/users/RootAuthMethods.tsx:117 -#: src/components/users/RootAuthMethods.tsx:129 +#: src/components/users/FirstUser.tsx:88 +#: src/components/users/RootAuthMethods.tsx:118 +#: src/components/users/RootAuthMethods.tsx:130 msgid "Discard" msgstr "Verwerfen" -#: src/components/users/FirstUser.tsx:94 +#: src/components/users/FirstUser.tsx:95 msgid "First user" msgstr "Erster Benutzer" -#: src/components/users/FirstUserForm.tsx:57 +#: src/components/users/FirstUserForm.tsx:58 msgid "Username suggestion dropdown" msgstr "Dropdown-Liste mit Vorschlägen für Benutzernamen" #. TRANSLATORS: dropdown username suggestions -#: src/components/users/FirstUserForm.tsx:72 +#: src/components/users/FirstUserForm.tsx:73 msgid "Use suggested username" msgstr "Vorgeschlagenen Benutzernamen verwenden" -#: src/components/users/FirstUserForm.tsx:147 +#: src/components/users/FirstUserForm.tsx:148 msgid "All fields are required" msgstr "Alle Felder sind erforderlich" -#: src/components/users/FirstUserForm.tsx:204 +#: src/components/users/FirstUserForm.tsx:205 msgid "Create user" msgstr "Benutzer erstellen" -#: src/components/users/FirstUserForm.tsx:204 +#: src/components/users/FirstUserForm.tsx:205 msgid "Edit user" msgstr "Benutzer bearbeiten" -#: src/components/users/FirstUserForm.tsx:224 -#: src/components/users/FirstUserForm.tsx:226 +#: src/components/users/FirstUserForm.tsx:225 +#: src/components/users/FirstUserForm.tsx:227 msgid "User full name" msgstr "Vollständiger Name des Benutzers" -#: src/components/users/FirstUserForm.tsx:264 +#: src/components/users/FirstUserForm.tsx:265 msgid "Edit password too" msgstr "Auch Passwort bearbeiten" -#: src/components/users/FirstUserForm.tsx:280 +#: src/components/users/FirstUserForm.tsx:281 msgid "user autologin" msgstr "Automatische Benutzeranmeldung" #. TRANSLATORS: check box label -#: src/components/users/FirstUserForm.tsx:284 +#: src/components/users/FirstUserForm.tsx:285 msgid "Auto-login" msgstr "Automatisches Anmelden" -#: src/components/users/RootAuthMethods.tsx:33 +#: src/components/users/RootAuthMethods.tsx:34 msgid "No root authentication method defined yet." msgstr "Noch keine Root-Authentifizierungsmethode definiert." -#: src/components/users/RootAuthMethods.tsx:37 +#: src/components/users/RootAuthMethods.tsx:38 msgid "" "Please, define at least one authentication method for logging into the " "system as root." @@ -2523,53 +2529,53 @@ msgstr "" "root am System anmelden zu können." #. TRANSLATORS: table header, user authentication method -#: src/components/users/RootAuthMethods.tsx:68 +#: src/components/users/RootAuthMethods.tsx:69 msgid "Method" msgstr "Methode" -#: src/components/users/RootAuthMethods.tsx:77 +#: src/components/users/RootAuthMethods.tsx:78 msgid "Already set" msgstr "Bereits festgelegt" -#: src/components/users/RootAuthMethods.tsx:77 -#: src/components/users/RootAuthMethods.tsx:85 +#: src/components/users/RootAuthMethods.tsx:78 +#: src/components/users/RootAuthMethods.tsx:86 msgid "Not set" msgstr "Nicht festgelegt" -#: src/components/users/RootAuthMethods.tsx:83 +#: src/components/users/RootAuthMethods.tsx:84 msgid "SSH Key" msgstr "SSH-Schlüssel" -#: src/components/users/RootAuthMethods.tsx:113 -#: src/components/users/RootAuthMethods.tsx:125 +#: src/components/users/RootAuthMethods.tsx:114 +#: src/components/users/RootAuthMethods.tsx:126 msgid "Set" msgstr "Festlegen" -#: src/components/users/RootAuthMethods.tsx:137 +#: src/components/users/RootAuthMethods.tsx:138 msgid "Root authentication" msgstr "Root-Authentifizierung" -#: src/components/users/RootAuthMethods.tsx:144 +#: src/components/users/RootAuthMethods.tsx:145 msgid "Set a password" msgstr "Passwort festlegen" -#: src/components/users/RootAuthMethods.tsx:148 +#: src/components/users/RootAuthMethods.tsx:149 msgid "Upload a SSH Public Key" msgstr "Öffentlichen SSH-Schlüssel hochladen" -#: src/components/users/RootAuthMethods.tsx:165 +#: src/components/users/RootAuthMethods.tsx:166 msgid "Change the root password" msgstr "Root-Passwort ändern" -#: src/components/users/RootAuthMethods.tsx:165 +#: src/components/users/RootAuthMethods.tsx:166 msgid "Set a root password" msgstr "Root-Passwort festlegen" -#: src/components/users/RootAuthMethods.tsx:175 +#: src/components/users/RootAuthMethods.tsx:176 msgid "Edit the SSH Public Key for root" msgstr "Öffentlichen SSH-Schlüssel für root bearbeiten" -#: src/components/users/RootAuthMethods.tsx:176 +#: src/components/users/RootAuthMethods.tsx:177 msgid "Add a SSH Public Key for root" msgstr "Öffentlichen SSH-Schlüssel für root hinzufügen" @@ -2577,32 +2583,42 @@ msgstr "Öffentlichen SSH-Schlüssel für root hinzufügen" msgid "Root password" msgstr "Root-Passwort" -#: src/components/users/RootSSHKeyPopup.jsx:43 +#: src/components/users/RootSSHKeyPopup.jsx:44 msgid "Set root SSH public key" msgstr "Öffentlichen SSH-Schlüssel für root festlegen" -#: src/components/users/RootSSHKeyPopup.jsx:71 +#: src/components/users/RootSSHKeyPopup.jsx:72 msgid "Root SSH public key" msgstr "Öffentlicher SSH-Schlüssel für root" -#: src/components/users/RootSSHKeyPopup.jsx:76 +#: src/components/users/RootSSHKeyPopup.jsx:77 msgid "Upload, paste, or drop an SSH public key" msgstr "Öffentlichen SSH-Schlüssel hochladen, einfügen oder ablegen" #. TRANSLATORS: push button label -#: src/components/users/RootSSHKeyPopup.jsx:78 +#: src/components/users/RootSSHKeyPopup.jsx:79 msgid "Upload" msgstr "Hochladen" #. TRANSLATORS: push button label, clears the related input field -#: src/components/users/RootSSHKeyPopup.jsx:80 +#: src/components/users/RootSSHKeyPopup.jsx:81 msgid "Clear" msgstr "Leeren" -#: src/router.js:48 +#: src/router.js:49 msgid "Overview" msgstr "Übersicht" +#: src/routes/storage.tsx:86 +msgid "ZFCP" +msgstr "" + +#~ msgid "Please, try to read the zFCP devices again." +#~ msgstr "Bitte versuchen Sie, die zFCP-Geräte erneut einzulesen." + +#~ msgid "Activate a zFCP disk" +#~ msgstr "zFCP-Festplatte aktivieren" + #~ msgid "Waiting for progress report" #~ msgstr "Warten auf den Fortschrittsbericht" diff --git a/web/po/es.po b/web/po/es.po index 5d31343b84..01e3584c9e 100644 --- a/web/po/es.po +++ b/web/po/es.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-16 07:57+0000\n" -"PO-Revision-Date: 2024-07-28 18:47+0000\n" +"POT-Creation-Date: 2024-09-22 02:43+0000\n" +"PO-Revision-Date: 2024-09-19 17:48+0000\n" "Last-Translator: Victor hck \n" "Language-Team: Spanish \n" @@ -17,17 +17,17 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" -#: src/components/core/About.tsx:46 +#: src/components/core/About.tsx:47 msgid "About" msgstr "Acerca de" -#: src/components/core/About.tsx:64 +#: src/components/core/About.tsx:65 msgid "About Agama" msgstr "Acerca de Agama" -#: src/components/core/About.tsx:69 +#: src/components/core/About.tsx:70 msgid "" "Agama is an experimental installer for (open)SUSE systems. It is still under " "development so, please, do not use it in production environments. If you " @@ -41,26 +41,26 @@ msgstr "" #. TRANSLATORS: content of the "About" popup (2/2) #. %s is replaced by the project URL -#: src/components/core/About.tsx:81 +#: src/components/core/About.tsx:82 #, c-format msgid "For more information, please visit the project's repository at %s." msgstr "" "Para obtener más información, visite el repositorio del proyecto en %s." -#: src/components/core/About.tsx:87 src/components/core/LogsButton.tsx:123 -#: src/components/software/SoftwarePatternsSelection.tsx:205 +#: src/components/core/About.tsx:88 src/components/core/LogsButton.tsx:124 +#: src/components/software/SoftwarePatternsSelection.tsx:206 msgid "Close" msgstr "Cerrar" -#: src/components/core/ChangeProductLink.tsx:38 +#: src/components/core/ChangeProductLink.tsx:39 msgid "Change product" msgstr "Cambiar de producto" -#: src/components/core/InstallButton.jsx:32 +#: src/components/core/InstallButton.jsx:33 msgid "Confirm Installation" msgstr "Confirmar instalación" -#: src/components/core/InstallButton.jsx:36 +#: src/components/core/InstallButton.jsx:37 msgid "" "If you continue, partitions on your hard disk will be modified according to " "the provided installation settings." @@ -68,33 +68,33 @@ msgstr "" "Si continúa, las particiones de su disco duro se modificarán de acuerdo con " "la configuración de instalación proporcionada." -#: src/components/core/InstallButton.jsx:40 +#: src/components/core/InstallButton.jsx:41 msgid "Please, cancel and check the settings if you are unsure." msgstr "Por favor, cancele y verifique la configuración si no está seguro." #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:45 +#: src/components/core/InstallButton.jsx:46 msgid "Continue" msgstr "Continuar" #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:49 src/components/core/Page.tsx:237 -#: src/components/core/Popup.jsx:132 -#: src/components/network/WifiConnectionForm.tsx:146 -#: src/components/product/ProductSelectionPage.tsx:122 +#: src/components/core/InstallButton.jsx:50 src/components/core/Page.tsx:238 +#: src/components/core/Popup.jsx:133 +#: src/components/network/WifiConnectionForm.tsx:145 +#: src/components/product/ProductSelectionPage.tsx:123 msgid "Cancel" msgstr "Cancelar" #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:84 +#: src/components/core/InstallButton.jsx:85 msgid "Install" msgstr "Instalar" -#: src/components/core/InstallationFinished.jsx:49 +#: src/components/core/InstallationFinished.jsx:50 msgid "TPM sealing requires the new system to be booted directly." msgstr "El sellado TPM requiere que el nuevo sistema se inicie directamente." -#: src/components/core/InstallationFinished.jsx:54 +#: src/components/core/InstallationFinished.jsx:55 msgid "" "If a local media was used to run this installer, remove it before the next " "boot." @@ -102,15 +102,15 @@ msgstr "" "Si se utilizó un medio local para ejecutar este instalador, expúlselo antes " "del próximo inicio." -#: src/components/core/InstallationFinished.jsx:58 +#: src/components/core/InstallationFinished.jsx:59 msgid "Hide details" msgstr "Ocultar detalles" -#: src/components/core/InstallationFinished.jsx:58 +#: src/components/core/InstallationFinished.jsx:59 msgid "See more details" msgstr "Ver más detalles" -#: src/components/core/InstallationFinished.jsx:63 +#: src/components/core/InstallationFinished.jsx:64 msgid "" "The final step to configure the Trusted Platform Module (TPM) to " "automatically open encrypted devices will take place during the first boot " @@ -122,129 +122,128 @@ msgstr "" "inicio del nuevo sistema. Para que eso funcione, la máquina debe iniciarse " "directamente en el nuevo gestor de arranque." -#: src/components/core/InstallationFinished.jsx:106 +#: src/components/core/InstallationFinished.jsx:107 msgid "Congratulations!" msgstr "¡Felicidades!" -#: src/components/core/InstallationFinished.jsx:115 +#: src/components/core/InstallationFinished.jsx:116 msgid "The installation on your machine is complete." msgstr "La instalación en su equipo está completa." -#: src/components/core/InstallationFinished.jsx:118 +#: src/components/core/InstallationFinished.jsx:119 msgid "At this point you can power off the machine." msgstr "En este punto puede apagar el equipo." -#: src/components/core/InstallationFinished.jsx:120 +#: src/components/core/InstallationFinished.jsx:121 msgid "At this point you can reboot the machine to log in to the new system." msgstr "" "En este punto, puede reiniciar el equipo para iniciar sesión en el nuevo " "sistema." -#: src/components/core/InstallationFinished.jsx:129 +#: src/components/core/InstallationFinished.jsx:130 msgid "Finish" msgstr "Finalizar" -#: src/components/core/InstallationFinished.jsx:129 +#: src/components/core/InstallationFinished.jsx:130 msgid "Reboot" msgstr "Reiniciar" -#: src/components/core/InstallationProgress.jsx:30 +#: src/components/core/InstallationProgress.jsx:31 msgid "Installing the system, please wait ..." msgstr "Instalando el sistema, por favor espere..." -#: src/components/core/InstallerOptions.jsx:92 +#: src/components/core/InstallerOptions.jsx:93 msgid "Show installer options" msgstr "Mostrar las opciones del instalador" -#: src/components/core/InstallerOptions.jsx:95 +#: src/components/core/InstallerOptions.jsx:96 msgid "Installer options" msgstr "Opciones del instalador" -#: src/components/core/InstallerOptions.jsx:98 -#: src/components/core/InstallerOptions.jsx:102 +#: src/components/core/InstallerOptions.jsx:99 #: src/components/core/InstallerOptions.jsx:103 -#: src/components/l10n/L10nPage.jsx:48 +#: src/components/core/InstallerOptions.jsx:104 +#: src/components/l10n/L10nPage.jsx:49 msgid "Language" msgstr "Idioma" -#: src/components/core/InstallerOptions.jsx:115 -#: src/components/core/InstallerOptions.jsx:120 +#: src/components/core/InstallerOptions.jsx:116 +#: src/components/core/InstallerOptions.jsx:121 msgid "Keyboard layout" msgstr "Esquema del teclado" -#: src/components/core/InstallerOptions.jsx:129 +#: src/components/core/InstallerOptions.jsx:130 msgid "Cannot be changed in remote installation" msgstr "No se puede cambiar en instalación remota" -#: src/components/core/InstallerOptions.jsx:142 -#: src/components/core/Page.tsx:270 -#: src/components/storage/EncryptionSettingsDialog.tsx:153 -#: src/components/storage/VolumeDialog.tsx:640 -#: src/components/storage/ZFCPPage.jsx:528 +#: src/components/core/InstallerOptions.jsx:143 +#: src/components/core/Page.tsx:271 +#: src/components/storage/EncryptionSettingsDialog.tsx:154 +#: src/components/storage/VolumeDialog.tsx:641 msgid "Accept" msgstr "Aceptar" -#: src/components/core/IssuesHint.jsx:34 +#: src/components/core/IssuesHint.jsx:35 msgid "" "Before starting the installation, you need to address the following problems:" msgstr "" "Antes de comenzar la instalación, debe solucionar los siguientes problemas:" -#: src/components/core/ListSearch.jsx:48 +#: src/components/core/ListSearch.jsx:49 msgid "Search" msgstr "Buscar" -#: src/components/core/LoginPage.tsx:59 +#: src/components/core/LoginPage.tsx:60 msgid "Could not log in. Please, make sure that the password is correct." msgstr "" "No se ha podido iniciar sesión. Por favor, asegúrese de que la contraseña es " "correcta." -#: src/components/core/LoginPage.tsx:61 +#: src/components/core/LoginPage.tsx:62 msgid "Could not authenticate against the server, please check it." msgstr "No se pudo autenticar en el servidor, por favor verifíquelo." #. TRANSLATORS: Title for a form to provide the password for the root user. %s #. will be replaced by "root" -#: src/components/core/LoginPage.tsx:69 +#: src/components/core/LoginPage.tsx:70 #, c-format msgid "Log in as %s" msgstr "Iniciar sesión como %s" -#: src/components/core/LoginPage.tsx:75 +#: src/components/core/LoginPage.tsx:76 msgid "The installer requires [root] user privileges." msgstr "El instalador requiere privilegios de usuario [root]." -#: src/components/core/LoginPage.tsx:90 +#: src/components/core/LoginPage.tsx:91 msgid "Please, provide its password to log in to the system." msgstr "" "Por favor, proporcione su contraseña para iniciar sesión en el sistema." -#: src/components/core/LoginPage.tsx:91 +#: src/components/core/LoginPage.tsx:92 msgid "Login form" msgstr "Formulario de inicio de sesión" -#: src/components/core/LoginPage.tsx:97 +#: src/components/core/LoginPage.tsx:98 msgid "Password input" msgstr "Entrada de contraseña" -#: src/components/core/LoginPage.tsx:106 +#: src/components/core/LoginPage.tsx:107 msgid "Log in" msgstr "Iniciar sesión" -#: src/components/core/LoginPage.tsx:113 +#: src/components/core/LoginPage.tsx:114 msgid "More about this" msgstr "Más acerca de esto" -#: src/components/core/LogsButton.tsx:98 +#: src/components/core/LogsButton.tsx:99 msgid "Collecting logs..." msgstr "Recolectando registros..." -#: src/components/core/LogsButton.tsx:98 src/components/core/LogsButton.tsx:101 +#: src/components/core/LogsButton.tsx:99 src/components/core/LogsButton.tsx:102 msgid "Download logs" msgstr "Descargar los registros" -#: src/components/core/LogsButton.tsx:108 +#: src/components/core/LogsButton.tsx:109 msgid "" "The browser will run the logs download as soon as they are ready. Please, be " "patient." @@ -252,346 +251,345 @@ msgstr "" "El navegador ejecutará la descarga de registros tan pronto como estén " "listos. Por favor tenga paciencia." -#: src/components/core/LogsButton.tsx:118 +#: src/components/core/LogsButton.tsx:119 msgid "Something went wrong while collecting logs. Please, try again." msgstr "Algo salió mal al recolectar los registros. Inténtelo de nuevo." -#: src/components/core/Page.tsx:259 +#: src/components/core/Page.tsx:260 msgid "Back" msgstr "Retroceder" -#: src/components/core/PasswordAndConfirmationInput.tsx:64 +#: src/components/core/PasswordAndConfirmationInput.tsx:65 msgid "Passwords do not match" msgstr "Las contraseñas no coinciden" #. TRANSLATORS: field label -#: src/components/core/PasswordAndConfirmationInput.tsx:88 -#: src/components/network/WifiConnectionForm.tsx:133 -#: src/components/questions/QuestionWithPassword.tsx:62 -#: src/components/storage/iscsi/AuthFields.jsx:90 -#: src/components/storage/iscsi/AuthFields.jsx:94 -#: src/components/users/RootAuthMethods.tsx:76 +#: src/components/core/PasswordAndConfirmationInput.tsx:89 +#: src/components/network/WifiConnectionForm.tsx:132 +#: src/components/questions/QuestionWithPassword.tsx:63 +#: src/components/storage/iscsi/AuthFields.jsx:91 +#: src/components/storage/iscsi/AuthFields.jsx:95 +#: src/components/users/RootAuthMethods.tsx:77 msgid "Password" msgstr "Contraseña" -#: src/components/core/PasswordAndConfirmationInput.tsx:99 +#: src/components/core/PasswordAndConfirmationInput.tsx:100 msgid "Password confirmation" msgstr "Confirmación de contraseña" -#: src/components/core/PasswordInput.jsx:61 +#: src/components/core/PasswordInput.jsx:62 msgid "Password visibility button" msgstr "Botón de visibilidad de contraseña" -#: src/components/core/Popup.jsx:92 +#: src/components/core/Popup.jsx:93 msgid "Confirm" msgstr "Confirmar" #. TRANSLATORS: progress message -#: src/components/core/Popup.jsx:210 +#: src/components/core/Popup.jsx:211 msgid "Loading data..." msgstr "Cargando los datos..." -#: src/components/core/ProgressReport.jsx:50 +#: src/components/core/ProgressReport.jsx:51 msgid "Pending" msgstr "Pendiente" -#: src/components/core/ProgressReport.jsx:59 +#: src/components/core/ProgressReport.jsx:60 msgid "In progress" msgstr "En progreso" -#: src/components/core/ProgressReport.jsx:74 +#: src/components/core/ProgressReport.jsx:75 msgid "Finished" msgstr "Finalizado" -#: src/components/core/RowActions.jsx:64 -#: src/components/storage/PartitionsField.tsx:457 -#: src/components/storage/ProposalActionsSummary.tsx:241 +#: src/components/core/RowActions.jsx:65 +#: src/components/storage/PartitionsField.tsx:458 +#: src/components/storage/ProposalActionsSummary.tsx:242 msgid "Actions" msgstr "Acciones" -#: src/components/core/SectionSkeleton.jsx:27 +#: src/components/core/SectionSkeleton.jsx:28 msgid "Waiting" msgstr "Esperar" -#: src/components/core/ServerError.jsx:47 +#: src/components/core/ServerError.tsx:46 msgid "Cannot connect to Agama server" msgstr "No se pud conectar al servidor de Agama" -#: src/components/core/ServerError.jsx:51 +#: src/components/core/ServerError.tsx:50 msgid "Please, check whether it is running." msgstr "Por favor, compruebe si está funcionando." -#: src/components/core/ServerError.jsx:56 +#: src/components/core/ServerError.tsx:56 msgid "Reload" msgstr "Recargar" -#: src/components/l10n/KeyboardSelection.tsx:41 +#: src/components/l10n/KeyboardSelection.tsx:42 msgid "Filter by description or keymap code" msgstr "Filtrar por descripción o código de mapa de teclas" -#: src/components/l10n/KeyboardSelection.tsx:71 +#: src/components/l10n/KeyboardSelection.tsx:72 msgid "None of the keymaps match the filter." msgstr "Ninguno de los mapas de teclas coincide con el filtro." -#: src/components/l10n/KeyboardSelection.tsx:77 +#: src/components/l10n/KeyboardSelection.tsx:78 msgid "Keyboard selection" msgstr "Selección de teclado" -#: src/components/l10n/KeyboardSelection.tsx:91 -#: src/components/l10n/L10nPage.jsx:52 src/components/l10n/L10nPage.jsx:63 -#: src/components/l10n/L10nPage.jsx:74 -#: src/components/l10n/LocaleSelection.tsx:92 -#: src/components/l10n/TimezoneSelection.tsx:130 -#: src/components/product/ProductSelectionPage.tsx:128 -#: src/components/software/SoftwarePatternsSelection.tsx:166 +#: src/components/l10n/KeyboardSelection.tsx:92 +#: src/components/l10n/L10nPage.jsx:53 src/components/l10n/L10nPage.jsx:64 +#: src/components/l10n/L10nPage.jsx:75 +#: src/components/l10n/LocaleSelection.tsx:93 +#: src/components/l10n/TimezoneSelection.tsx:131 +#: src/components/product/ProductSelectionPage.tsx:129 +#: src/components/software/SoftwarePatternsSelection.tsx:167 msgid "Select" msgstr "Seleccionar" -#: src/components/l10n/L10nPage.jsx:41 -#: src/components/overview/L10nSection.jsx:37 src/routes/l10n.tsx:37 +#: src/components/l10n/L10nPage.jsx:42 +#: src/components/overview/L10nSection.jsx:38 src/routes/l10n.tsx:38 msgid "Localization" msgstr "Localización" -#: src/components/l10n/L10nPage.jsx:49 src/components/l10n/L10nPage.jsx:60 -#: src/components/l10n/L10nPage.jsx:71 +#: src/components/l10n/L10nPage.jsx:50 src/components/l10n/L10nPage.jsx:61 +#: src/components/l10n/L10nPage.jsx:72 msgid "Not selected yet" msgstr "Aún no seleccionado" -#: src/components/l10n/L10nPage.jsx:52 src/components/l10n/L10nPage.jsx:63 -#: src/components/l10n/L10nPage.jsx:74 -#: src/components/network/NetworkPage.tsx:63 -#: src/components/storage/InstallationDeviceField.tsx:105 -#: src/components/storage/ProposalActionsSummary.tsx:246 -#: src/components/users/RootAuthMethods.tsx:113 -#: src/components/users/RootAuthMethods.tsx:125 +#: src/components/l10n/L10nPage.jsx:53 src/components/l10n/L10nPage.jsx:64 +#: src/components/l10n/L10nPage.jsx:75 +#: src/components/network/NetworkPage.tsx:64 +#: src/components/storage/InstallationDeviceField.tsx:106 +#: src/components/storage/ProposalActionsSummary.tsx:248 +#: src/components/users/RootAuthMethods.tsx:114 +#: src/components/users/RootAuthMethods.tsx:126 msgid "Change" msgstr "Cambiar" -#: src/components/l10n/L10nPage.jsx:59 +#: src/components/l10n/L10nPage.jsx:60 msgid "Keyboard" msgstr "Teclado" -#: src/components/l10n/L10nPage.jsx:70 +#: src/components/l10n/L10nPage.jsx:71 msgid "Time zone" msgstr "Zona horaria" -#: src/components/l10n/LocaleSelection.tsx:39 +#: src/components/l10n/LocaleSelection.tsx:40 msgid "Filter by language, territory or locale code" msgstr "Filtrar por idioma, territorio o código local" -#: src/components/l10n/LocaleSelection.tsx:72 +#: src/components/l10n/LocaleSelection.tsx:73 msgid "None of the locales match the filter." msgstr "Ninguna de las configuraciones regionales coincide con el filtro." -#: src/components/l10n/LocaleSelection.tsx:78 +#: src/components/l10n/LocaleSelection.tsx:79 msgid "Locale selection" msgstr "Selección de configuración regional" -#: src/components/l10n/TimezoneSelection.tsx:67 +#: src/components/l10n/TimezoneSelection.tsx:68 msgid "Filter by territory, time zone code or UTC offset" msgstr "Filtrar por territorio, código de zona horaria o compensación UTC" -#: src/components/l10n/TimezoneSelection.tsx:106 +#: src/components/l10n/TimezoneSelection.tsx:107 msgid "None of the time zones match the filter." msgstr "Ninguna de las zonas horarias coincide con el filtro." -#: src/components/l10n/TimezoneSelection.tsx:112 +#: src/components/l10n/TimezoneSelection.tsx:113 msgid " Timezone selection" msgstr " Selección de zona horaria" -#: src/components/layout/Header.tsx:61 +#: src/components/layout/Header.tsx:62 msgid "Main navigation" -msgstr "" +msgstr "Navegación principal" -#: src/components/layout/Loading.jsx:29 +#: src/components/layout/Loading.jsx:30 msgid "Loading installation environment, please wait." msgstr "Cargando el entorno de instalación, espere por favor." #. TRANSLATORS: button label -#: src/components/network/AddressesDataList.tsx:102 -#: src/components/network/DnsDataList.tsx:106 +#: src/components/network/AddressesDataList.tsx:103 +#: src/components/network/DnsDataList.tsx:107 msgid "Remove" msgstr "Eliminar" #. TRANSLATORS: input field name -#: src/components/network/AddressesDataList.tsx:112 -#: src/components/network/IpAddressInput.tsx:34 +#: src/components/network/AddressesDataList.tsx:113 +#: src/components/network/IpAddressInput.tsx:35 msgid "IP Address" msgstr "Dirección IP" #. TRANSLATORS: input field name -#: src/components/network/AddressesDataList.tsx:120 +#: src/components/network/AddressesDataList.tsx:121 msgid "Prefix length or netmask" msgstr "Longitud del prefijo o máscara de red" -#: src/components/network/AddressesDataList.tsx:138 +#: src/components/network/AddressesDataList.tsx:139 msgid "Add an address" msgstr "Añadir una dirección" #. TRANSLATORS: button label -#: src/components/network/AddressesDataList.tsx:138 +#: src/components/network/AddressesDataList.tsx:139 msgid "Add another address" msgstr "Añadir otras direcciones" -#: src/components/network/AddressesDataList.tsx:143 +#: src/components/network/AddressesDataList.tsx:144 msgid "Addresses" msgstr "Direcciones" -#: src/components/network/AddressesDataList.tsx:146 +#: src/components/network/AddressesDataList.tsx:147 msgid "Addresses data list" msgstr "Lista de datos de direcciones" -#. TRANSLATORS: table header #. TRANSLATORS: input field for the iSCSI initiator name -#: src/components/network/ConnectionsTable.tsx:65 -#: src/components/network/ConnectionsTable.tsx:94 -#: src/components/storage/ZFCPPage.jsx:381 -#: src/components/storage/iscsi/InitiatorForm.tsx:52 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:53 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:70 -#: src/components/storage/iscsi/NodesPresenter.jsx:99 -#: src/components/storage/iscsi/NodesPresenter.jsx:120 +#. TRANSLATORS: table header +#: src/components/network/ConnectionsTable.tsx:66 +#: src/components/network/ConnectionsTable.tsx:95 +#: src/components/storage/iscsi/InitiatorForm.tsx:53 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:54 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:71 +#: src/components/storage/iscsi/NodesPresenter.jsx:100 +#: src/components/storage/iscsi/NodesPresenter.jsx:121 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:42 msgid "Name" msgstr "Nombre" #. TRANSLATORS: table header -#: src/components/network/ConnectionsTable.tsx:67 -#: src/components/network/ConnectionsTable.tsx:95 +#: src/components/network/ConnectionsTable.tsx:68 +#: src/components/network/ConnectionsTable.tsx:96 msgid "IP addresses" msgstr "Direcciones IP" #. TRANSLATORS: table header aria label -#: src/components/network/ConnectionsTable.tsx:69 +#: src/components/network/ConnectionsTable.tsx:70 msgid "Connection actions" msgstr "Acciones de conexión" -#: src/components/network/ConnectionsTable.tsx:76 -#: src/components/network/WifiNetworksListPage.tsx:127 -#: src/components/network/WifiNetworksListPage.tsx:151 -#: src/components/storage/PartitionsField.tsx:312 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:44 -#: src/components/storage/iscsi/NodesPresenter.jsx:74 -#: src/components/users/FirstUser.tsx:83 +#: src/components/network/ConnectionsTable.tsx:77 +#: src/components/network/WifiNetworksListPage.tsx:128 +#: src/components/network/WifiNetworksListPage.tsx:152 +#: src/components/storage/PartitionsField.tsx:313 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:45 +#: src/components/storage/iscsi/NodesPresenter.jsx:75 +#: src/components/users/FirstUser.tsx:84 msgid "Edit" msgstr "Editar" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:79 -#: src/components/network/IpSettingsForm.tsx:146 +#: src/components/network/ConnectionsTable.tsx:80 +#: src/components/network/IpSettingsForm.tsx:147 #, c-format msgid "Edit connection %s" msgstr "Editar conexión %s" -#: src/components/network/ConnectionsTable.tsx:83 -#: src/components/network/WifiNetworksListPage.tsx:130 -#: src/components/network/WifiNetworksListPage.tsx:154 +#: src/components/network/ConnectionsTable.tsx:84 +#: src/components/network/WifiNetworksListPage.tsx:131 +#: src/components/network/WifiNetworksListPage.tsx:155 msgid "Forget" msgstr "Olvidar" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:85 +#: src/components/network/ConnectionsTable.tsx:86 #, c-format msgid "Forget connection %s" msgstr "Olvidar conexión %s" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:100 +#: src/components/network/ConnectionsTable.tsx:101 #, c-format msgid "Actions for connection %s" msgstr "Acciones para la conexión %s" #. TRANSLATORS: input field name -#: src/components/network/DnsDataList.tsx:90 +#: src/components/network/DnsDataList.tsx:91 msgid "Server IP" msgstr "Servidor IP" -#: src/components/network/DnsDataList.tsx:115 +#: src/components/network/DnsDataList.tsx:116 msgid "Add DNS" msgstr "Añadir DNS" #. TRANSLATORS: button label -#: src/components/network/DnsDataList.tsx:115 +#: src/components/network/DnsDataList.tsx:116 msgid "Add another DNS" msgstr "Añadir otro DNS" -#: src/components/network/DnsDataList.tsx:120 +#: src/components/network/DnsDataList.tsx:121 msgid "DNS" msgstr "DNS" -#: src/components/network/IpPrefixInput.tsx:34 -#, fuzzy +#: src/components/network/IpPrefixInput.tsx:35 msgid "Ip prefix or netmask" msgstr "Prefijo IP o máscara de red" #. TRANSLATORS: error message -#: src/components/network/IpSettingsForm.tsx:102 +#: src/components/network/IpSettingsForm.tsx:103 msgid "At least one address must be provided for selected mode" msgstr "Se debe proporcionar al menos una dirección para el modo seleccionado" #. TRANSLATORS: network connection mode (automatic via DHCP or manual with static IP) -#: src/components/network/IpSettingsForm.tsx:156 -#: src/components/network/IpSettingsForm.tsx:161 -#: src/components/network/IpSettingsForm.tsx:163 +#: src/components/network/IpSettingsForm.tsx:157 +#: src/components/network/IpSettingsForm.tsx:162 +#: src/components/network/IpSettingsForm.tsx:164 msgid "Mode" msgstr "Modo" -#: src/components/network/IpSettingsForm.tsx:170 +#: src/components/network/IpSettingsForm.tsx:171 msgid "Automatic (DHCP)" msgstr "Automático (DHCP)" -#: src/components/network/IpSettingsForm.tsx:176 -#: src/components/storage/iscsi/NodeStartupOptions.js:25 +#: src/components/network/IpSettingsForm.tsx:177 +#: src/components/storage/iscsi/NodeStartupOptions.js:26 msgid "Manual" msgstr "Manual" #. TRANSLATORS: network gateway configuration -#: src/components/network/IpSettingsForm.tsx:185 -#: src/components/network/IpSettingsForm.tsx:188 +#: src/components/network/IpSettingsForm.tsx:186 +#: src/components/network/IpSettingsForm.tsx:189 msgid "Gateway" msgstr "Puerta de enlace" -#: src/components/network/IpSettingsForm.tsx:197 +#: src/components/network/IpSettingsForm.tsx:198 msgid "Gateway can be defined only in 'Manual' mode" msgstr "La puerta de enlace sólo se puede definir en modo 'Manual'" -#: src/components/network/NetworkPage.tsx:37 +#: src/components/network/NetworkPage.tsx:38 msgid "Wired" msgstr "Cableada" -#: src/components/network/NetworkPage.tsx:44 +#: src/components/network/NetworkPage.tsx:45 msgid "No wired connections found" msgstr "No se encontraron conexiones por cable" -#: src/components/network/NetworkPage.tsx:60 +#: src/components/network/NetworkPage.tsx:61 msgid "Wi-Fi" msgstr "WiFi" #. TRANSLATORS: button label, connect to a WiFi network -#: src/components/network/NetworkPage.tsx:63 -#: src/components/network/WifiConnectionForm.tsx:142 -#: src/components/network/WifiNetworksListPage.tsx:125 +#: src/components/network/NetworkPage.tsx:64 +#: src/components/network/WifiConnectionForm.tsx:141 +#: src/components/network/WifiNetworksListPage.tsx:126 msgid "Connect" msgstr "Conectar" -#: src/components/network/NetworkPage.tsx:69 -#, fuzzy, c-format +#: src/components/network/NetworkPage.tsx:70 +#, c-format msgid "Connected to %s" msgstr "Conectado a %s" -#: src/components/network/NetworkPage.tsx:76 +#: src/components/network/NetworkPage.tsx:77 msgid "No connected yet" msgstr "Aún no conectado" -#: src/components/network/NetworkPage.tsx:77 +#: src/components/network/NetworkPage.tsx:78 msgid "" "The system has not been configured for connecting to a Wi-Fi network yet." msgstr "El sistema aún no se ha configurado para conectarse a una red WiFi." -#: src/components/network/NetworkPage.tsx:86 +#: src/components/network/NetworkPage.tsx:87 msgid "No Wi-Fi supported" msgstr "Wi-Fi no admitida" -#: src/components/network/NetworkPage.tsx:88 +#: src/components/network/NetworkPage.tsx:89 msgid "" "The system does not support Wi-Fi connections, probably because of missing " "or disabled hardware." @@ -599,141 +597,138 @@ msgstr "" "El sistema no admite conexiones WiFi, probablemente debido a que falta " "hardware o está deshabilitado." -#: src/components/network/NetworkPage.tsx:105 src/routes/network.tsx:36 +#: src/components/network/NetworkPage.tsx:106 src/routes/network.tsx:37 msgid "Network" msgstr "Red" #. TRANSLATORS: WiFi authentication mode -#: src/components/network/WifiConnectionForm.tsx:50 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/network/WifiConnectionForm.tsx:49 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:58 msgid "None" msgstr "Ninguno" #. TRANSLATORS: WiFi authentication mode -#: src/components/network/WifiConnectionForm.tsx:52 +#: src/components/network/WifiConnectionForm.tsx:51 msgid "WPA & WPA2 Personal" msgstr "WPA y WPA2 personales" #. TRANSLATORS: accessible name for the WiFi connection form -#: src/components/network/WifiConnectionForm.tsx:94 -#, fuzzy +#: src/components/network/WifiConnectionForm.tsx:93 msgid "WiFi connection form" -msgstr "Editar conexión %s" +msgstr "Formulario de conexión WiFi" -#: src/components/network/WifiConnectionForm.tsx:101 -#, fuzzy +#: src/components/network/WifiConnectionForm.tsx:100 msgid "Authentication failed, please try again" -msgstr "Autenticación por objetivo" +msgstr "Error de autenticación, inténtelo de nuevo" -#: src/components/network/WifiConnectionForm.tsx:102 -#: src/components/storage/ZFCPDiskForm.jsx:105 -#: src/components/storage/iscsi/DiscoverForm.tsx:98 -#: src/components/storage/iscsi/LoginForm.jsx:69 -#: src/components/users/FirstUserForm.tsx:210 +#: src/components/network/WifiConnectionForm.tsx:101 +#: src/components/storage/iscsi/DiscoverForm.tsx:99 +#: src/components/storage/iscsi/LoginForm.jsx:70 +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:114 +#: src/components/users/FirstUserForm.tsx:211 msgid "Something went wrong" msgstr "Algo salió mal" -#: src/components/network/WifiConnectionForm.tsx:105 +#: src/components/network/WifiConnectionForm.tsx:104 msgid "Please, review provided settings and try again." msgstr "" "Por favor, revise la configuración proporcionada y vuelva a intentarlo." #. TRANSLATORS: SSID (Wifi network name) configuration -#: src/components/network/WifiConnectionForm.tsx:111 +#: src/components/network/WifiConnectionForm.tsx:110 msgid "SSID" msgstr "SSID" #. TRANSLATORS: Wifi security configuration (password protected or not) -#: src/components/network/WifiConnectionForm.tsx:117 -#: src/components/network/WifiConnectionForm.tsx:120 +#: src/components/network/WifiConnectionForm.tsx:116 +#: src/components/network/WifiConnectionForm.tsx:119 msgid "Security" msgstr "Seguridad" #. TRANSLATORS: WiFi password -#: src/components/network/WifiConnectionForm.tsx:129 +#: src/components/network/WifiConnectionForm.tsx:128 msgid "WPA Password" msgstr "Contraseña WPA" #. TRANSLATORS: Wifi network status -#: src/components/network/WifiNetworksListPage.tsx:72 -#: src/components/network/WifiNetworksListPage.tsx:138 +#: src/components/network/WifiNetworksListPage.tsx:73 +#: src/components/network/WifiNetworksListPage.tsx:139 msgid "Connecting" msgstr "Conectando" #. TRANSLATORS: Wifi network status -#: src/components/network/WifiNetworksListPage.tsx:75 -#: src/components/network/WifiNetworksListPage.tsx:142 -#: src/components/network/WifiNetworksListPage.tsx:181 +#: src/components/network/WifiNetworksListPage.tsx:76 +#: src/components/network/WifiNetworksListPage.tsx:143 +#: src/components/network/WifiNetworksListPage.tsx:182 msgid "Connected" msgstr "Conectado" -#. TRANSLATORS: Wifi network status #. TRANSLATORS: iSCSI connection status -#: src/components/network/WifiNetworksListPage.tsx:80 -#: src/components/network/WifiNetworksListPage.tsx:140 -#: src/components/storage/iscsi/NodesPresenter.jsx:64 +#. TRANSLATORS: Wifi network status +#: src/components/network/WifiNetworksListPage.tsx:81 +#: src/components/network/WifiNetworksListPage.tsx:141 +#: src/components/storage/iscsi/NodesPresenter.jsx:65 msgid "Disconnected" msgstr "Desconectado" -#: src/components/network/WifiNetworksListPage.tsx:148 +#: src/components/network/WifiNetworksListPage.tsx:149 msgid "Disconnect" msgstr "Desconectar" -#: src/components/network/WifiNetworksListPage.tsx:167 -#: src/components/network/WifiNetworksListPage.tsx:285 +#: src/components/network/WifiNetworksListPage.tsx:168 +#: src/components/network/WifiNetworksListPage.tsx:286 msgid "Connect to hidden network" msgstr "Conectar a una red oculta" -#: src/components/network/WifiNetworksListPage.tsx:178 +#: src/components/network/WifiNetworksListPage.tsx:179 msgid "configured" msgstr "Configurado" -#: src/components/network/WifiNetworksListPage.tsx:270 -#, fuzzy +#: src/components/network/WifiNetworksListPage.tsx:271 msgid "Visible Wi-Fi networks" -msgstr "Redes WIFI" +msgstr "Redes WIFI visibles" -#: src/components/network/WifiSelectorPage.tsx:35 +#: src/components/network/WifiSelectorPage.tsx:36 msgid "Connect to a Wi-Fi network" msgstr "Conectado a una red WIFI" #. TRANSLATORS: %s will be replaced by a language name and territory, example: #. "English (United States)". -#: src/components/overview/L10nSection.jsx:33 +#: src/components/overview/L10nSection.jsx:34 #, c-format msgid "The system will use %s as its default language." msgstr "El sistema utilizará %s como su idioma predeterminado." -#: src/components/overview/OverviewPage.tsx:47 -#: src/components/users/UsersPage.tsx:35 src/routes/users.tsx:38 +#: src/components/overview/OverviewPage.tsx:48 +#: src/components/users/UsersPage.tsx:36 src/routes/users.tsx:39 msgid "Users" msgstr "Usuarios" -#: src/components/overview/OverviewPage.tsx:48 -#: src/components/overview/StorageSection.jsx:111 -#: src/components/storage/ProposalPage.tsx:107 src/routes/storage.tsx:44 +#: src/components/overview/OverviewPage.tsx:49 +#: src/components/overview/StorageSection.jsx:112 +#: src/components/storage/ProposalPage.tsx:108 src/routes/storage.tsx:51 msgid "Storage" msgstr "Almacenamiento" -#: src/components/overview/OverviewPage.tsx:49 -#: src/components/overview/SoftwareSection.tsx:69 -#: src/components/software/SoftwarePage.tsx:110 src/routes/software.tsx:36 +#: src/components/overview/OverviewPage.tsx:50 +#: src/components/overview/SoftwareSection.tsx:70 +#: src/components/software/SoftwarePage.tsx:106 src/routes/software.tsx:37 msgid "Software" msgstr "Software" -#: src/components/overview/OverviewPage.tsx:54 +#: src/components/overview/OverviewPage.tsx:55 msgid "Ready for installation" msgstr "Preparado para la instalación" -#: src/components/overview/OverviewPage.tsx:98 +#: src/components/overview/OverviewPage.tsx:99 msgid "Installation" msgstr "Instalación" -#: src/components/overview/OverviewPage.tsx:99 +#: src/components/overview/OverviewPage.tsx:100 msgid "Before installing, please check the following problems." msgstr "Antes de instalar, verifique los siguientes problemas." -#: src/components/overview/OverviewPage.tsx:113 +#: src/components/overview/OverviewPage.tsx:114 msgid "" "These are the most relevant installation settings. Feel free to browse the " "sections in the menu for further details." @@ -741,7 +736,7 @@ msgstr "" "Estas son las configuraciones de instalación más relevantes. No dude en " "explorar las secciones del menú para obtener más detalles." -#: src/components/overview/OverviewPage.tsx:133 +#: src/components/overview/OverviewPage.tsx:134 msgid "" "Take your time to check your configuration before starting the installation " "process." @@ -749,17 +744,17 @@ msgstr "" "Dedica un tiempo para verificar la configuración antes de iniciar el proceso " "de instalación." -#: src/components/overview/SoftwareSection.tsx:41 +#: src/components/overview/SoftwareSection.tsx:42 msgid "The installation will take" msgstr "La instalación ocupará" #. TRANSLATORS: %s will be replaced with the installation size, example: "5GiB". -#: src/components/overview/SoftwareSection.tsx:48 +#: src/components/overview/SoftwareSection.tsx:49 #, c-format msgid "The installation will take %s including:" msgstr "La instalación ocupará %s incluyendo:" -#: src/components/overview/StorageSection.jsx:53 +#: src/components/overview/StorageSection.jsx:54 msgid "" "Install in a new Logical Volume Manager (LVM) volume group shrinking " "existing partitions at the underlying devices as needed" @@ -768,7 +763,7 @@ msgstr "" "reduciendo las particiones existentes en los dispositivos subyacentes según " "sea necesario" -#: src/components/overview/StorageSection.jsx:58 +#: src/components/overview/StorageSection.jsx:59 msgid "" "Install in a new Logical Volume Manager (LVM) volume group without modifying " "the partitions at the underlying devices" @@ -776,7 +771,7 @@ msgstr "" "Instalar en un nuevo grupo de volúmenes de Logical Volume Manager (LVM) sin " "modificar las particiones en los dispositivos subyacentes" -#: src/components/overview/StorageSection.jsx:63 +#: src/components/overview/StorageSection.jsx:64 msgid "" "Install in a new Logical Volume Manager (LVM) volume group deleting all the " "content of the underlying devices" @@ -784,7 +779,7 @@ msgstr "" "Instalar en un nuevo grupo de volúmenes de Logical Volume Manager (LVM) " "elimina todo el contenido de los dispositivos subyacentes" -#: src/components/overview/StorageSection.jsx:68 +#: src/components/overview/StorageSection.jsx:69 msgid "" "Install in a new Logical Volume Manager (LVM) volume group using a custom " "strategy to find the needed space at the underlying devices" @@ -793,7 +788,7 @@ msgstr "" "utilizando una estrategia personalizada para encontrar el espacio necesario " "en los dispositivos subyacentes" -#: src/components/overview/StorageSection.jsx:86 +#: src/components/overview/StorageSection.jsx:87 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s shrinking " @@ -802,7 +797,7 @@ msgstr "" "Instalar en un nuevo grupo de volúmenes de Logical Volume Manager (LVM) en " "%s, reduciendo las particiones existentes según sea necesario" -#: src/components/overview/StorageSection.jsx:92 +#: src/components/overview/StorageSection.jsx:93 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s without " @@ -811,7 +806,7 @@ msgstr "" "Instalar en un nuevo grupo de volúmenes de Logical Volume Manager (LVM) en " "%s sin modificar las particiones existentes" -#: src/components/overview/StorageSection.jsx:98 +#: src/components/overview/StorageSection.jsx:99 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s deleting " @@ -820,7 +815,7 @@ msgstr "" "Instalar en un nuevo grupo de volúmenes de Logical Volume Manager (LVM) en " "%s eliminando todo su contenido" -#: src/components/overview/StorageSection.jsx:104 +#: src/components/overview/StorageSection.jsx:105 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s using a " @@ -829,14 +824,14 @@ msgstr "" "Instalar en un nuevo grupo de volúmenes de Logical Volume Manager (LVM) en " "%s usando una estrategia personalizada para encontrar el espacio necesario" -#: src/components/overview/StorageSection.jsx:179 -#: src/components/storage/InstallationDeviceField.tsx:59 +#: src/components/overview/StorageSection.jsx:180 +#: src/components/storage/InstallationDeviceField.tsx:60 msgid "No device selected yet" msgstr "Ningún dispositivo seleccionado todavía" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:186 +#: src/components/overview/StorageSection.jsx:187 #, c-format msgid "Install using device %s shrinking existing partitions as needed" msgstr "" @@ -845,7 +840,7 @@ msgstr "" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:190 +#: src/components/overview/StorageSection.jsx:191 #, c-format msgid "Install using device %s without modifying existing partitions" msgstr "" @@ -854,14 +849,14 @@ msgstr "" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:194 +#: src/components/overview/StorageSection.jsx:195 #, c-format msgid "Install using device %s and deleting all its content" msgstr "Instalar utilizando el dispositivo %s y eliminar todo su contenido" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:199 +#: src/components/overview/StorageSection.jsx:200 #, c-format msgid "Install using device %s with a custom strategy to find the needed space" msgstr "" @@ -869,132 +864,131 @@ msgstr "" "encontrar el espacio necesario" #. TRANSLATORS: %s will be replaced by a product name. E.g., "openSUSE Tumbleweed" -#: src/components/product/ProductSelectionPage.tsx:56 +#: src/components/product/ProductSelectionPage.tsx:57 #, c-format msgid "%s logo" -msgstr "" +msgstr "logo %s" -#: src/components/product/ProductSelectionPage.tsx:107 -#, fuzzy +#: src/components/product/ProductSelectionPage.tsx:108 msgid "Select a product" -msgstr "Seleccionar una ubicación" +msgstr "Seleccionar un producto" -#: src/components/product/ProductSelectionPage.tsx:108 +#: src/components/product/ProductSelectionPage.tsx:109 msgid "Available products" msgstr "Productos disponibles" -#: src/components/product/ProductSelectionProgress.jsx:46 +#: src/components/product/ProductSelectionProgress.jsx:45 msgid "Configuring the product, please wait ..." msgstr "Configurando el producto, por favor espere..." -#: src/components/questions/GenericQuestion.tsx:48 -#: src/components/questions/LuksActivationQuestion.tsx:69 +#: src/components/questions/GenericQuestion.tsx:49 +#: src/components/questions/LuksActivationQuestion.tsx:70 msgid "Question" msgstr "Pregunta" #. TRANSLATORS: error message, user entered a wrong password -#: src/components/questions/LuksActivationQuestion.tsx:37 -#, fuzzy +#: src/components/questions/LuksActivationQuestion.tsx:38 msgid "The encryption password did not work" -msgstr "La contraseña de cifrado dada no funcionó" +msgstr "La contraseña de cifrado no funcionó" -#: src/components/questions/LuksActivationQuestion.tsx:68 +#: src/components/questions/LuksActivationQuestion.tsx:69 msgid "Encrypted Device" msgstr "Dispositivo cifrado" #. TRANSLATORS: field label -#: src/components/questions/LuksActivationQuestion.tsx:77 +#: src/components/questions/LuksActivationQuestion.tsx:78 msgid "Encryption Password" msgstr "Contraseña de cifrado" -#: src/components/questions/QuestionWithPassword.tsx:55 +#: src/components/questions/QuestionWithPassword.tsx:56 msgid "Password Required" msgstr "Se requiere contraseña" -#: src/components/software/SoftwarePage.tsx:52 +#: src/components/software/SoftwarePage.tsx:48 msgid "No additional software was selected." msgstr "No se seleccionó software adicional." -#: src/components/software/SoftwarePage.tsx:57 +#: src/components/software/SoftwarePage.tsx:53 msgid "The following software patterns are selected for installation:" msgstr "" "Los siguientes patrones de software están seleccionados para la instalación:" -#: src/components/software/SoftwarePage.tsx:72 -#: src/components/software/SoftwarePage.tsx:84 +#: src/components/software/SoftwarePage.tsx:68 +#: src/components/software/SoftwarePage.tsx:80 msgid "Selected patterns" msgstr "Seleccione los patrones" -#: src/components/software/SoftwarePage.tsx:75 +#: src/components/software/SoftwarePage.tsx:71 msgid "Change selection" msgstr "Cambiar selección" -#: src/components/software/SoftwarePage.tsx:87 +#: src/components/software/SoftwarePage.tsx:83 msgid "" "This product does not allow to select software patterns during installation. " "However, you can add additional software once the installation is finished." msgstr "" +"Este producto no permite seleccionar patrones de software durante la " +"instalación. Sin embargo, puede agregar software adicional una vez " +"finalizada la instalación." -#: src/components/software/SoftwarePatternsSelection.tsx:97 +#: src/components/software/SoftwarePatternsSelection.tsx:98 msgid "None of the patterns match the filter." msgstr "Ninguno de los patrones coincide con el filtro." -#: src/components/software/SoftwarePatternsSelection.tsx:162 +#: src/components/software/SoftwarePatternsSelection.tsx:163 msgid "auto selected" msgstr "seleccionado automáticamente" -#: src/components/software/SoftwarePatternsSelection.tsx:166 -#, fuzzy +#: src/components/software/SoftwarePatternsSelection.tsx:167 msgid "Unselect" -msgstr "seleccionado" +msgstr "Deseleccionar" -#: src/components/software/SoftwarePatternsSelection.tsx:186 +#: src/components/software/SoftwarePatternsSelection.tsx:187 msgid "Software selection" msgstr "Selección de software" #. TRANSLATORS: search field placeholder text -#: src/components/software/SoftwarePatternsSelection.tsx:189 #: src/components/software/SoftwarePatternsSelection.tsx:190 +#: src/components/software/SoftwarePatternsSelection.tsx:191 msgid "Filter by pattern title or description" msgstr "Filtrar por título o descripción del patrón" #. TRANSLATORS: %s will be replaced by the estimated installation size, #. example: "728.8 MiB" -#: src/components/software/UsedSize.tsx:32 +#: src/components/software/UsedSize.tsx:33 #, c-format msgid "Installation will take %s." msgstr "La instalación ocupará %s." -#: src/components/software/UsedSize.tsx:36 -#, fuzzy +#: src/components/software/UsedSize.tsx:37 msgid "" "This space includes the base system and the selected software patterns, if " "any." msgstr "" "Este espacio incluye el sistema base y los patrones de software " -"seleccionados." +"seleccionados, si los hubiera." -#: src/components/storage/BootConfigField.tsx:41 +#: src/components/storage/BootConfigField.tsx:42 msgid "Change boot options" msgstr "Cambiar opciones de arranque" -#: src/components/storage/BootConfigField.tsx:78 +#: src/components/storage/BootConfigField.tsx:79 msgid "Installation will not configure partitions for booting." msgstr "La instalación no configurará particiones para el arranque." -#: src/components/storage/BootConfigField.tsx:82 +#: src/components/storage/BootConfigField.tsx:83 msgid "" "Installation will configure partitions for booting at the installation disk." msgstr "" "La instalación configurará las particiones para arrancar en el disco de " "instalación." -#: src/components/storage/BootConfigField.tsx:86 +#: src/components/storage/BootConfigField.tsx:87 #, c-format msgid "Installation will configure partitions for booting at %s." msgstr "La instalación configurará las particiones para arrancar en %s." -#: src/components/storage/BootSelection.tsx:108 +#: src/components/storage/BootSelection.tsx:109 msgid "" "To ensure the new system is able to boot, the installer may need to create " "or configure some partitions in the appropriate disk." @@ -1002,162 +996,51 @@ msgstr "" "Para garantizar que el nuevo sistema pueda iniciarse, es posible que el " "instalador deba crear o configurar algunas particiones en el disco apropiado." -#: src/components/storage/BootSelection.tsx:114 +#: src/components/storage/BootSelection.tsx:115 msgid "Partitions to boot will be allocated at the installation disk." msgstr "Las particiones para arrancar se asignarán en el disco de instalación." #. TRANSLATORS: %s is replaced by a device name and size (e.g., "/dev/sda, 500GiB") -#: src/components/storage/BootSelection.tsx:119 +#: src/components/storage/BootSelection.tsx:120 #, c-format msgid "Partitions to boot will be allocated at the installation disk (%s)." msgstr "" "Las particiones para arrancar se asignarán en el disco de instalación (%s)." -#: src/components/storage/BootSelection.tsx:135 +#: src/components/storage/BootSelection.tsx:136 msgid "Select booting partition" msgstr "Seleccion la partición de arranque" -#: src/components/storage/BootSelection.tsx:156 -#: src/components/storage/iscsi/NodeStartupOptions.js:27 +#: src/components/storage/BootSelection.tsx:157 +#: src/components/storage/iscsi/NodeStartupOptions.js:28 msgid "Automatic" msgstr "Automático" -#: src/components/storage/BootSelection.tsx:174 +#: src/components/storage/BootSelection.tsx:175 msgid "Select a disk" msgstr "Seleccionar un disco" -#: src/components/storage/BootSelection.tsx:179 +#: src/components/storage/BootSelection.tsx:180 msgid "Partitions to boot will be allocated at the following device." msgstr "" "Las particiones para arrancar se asignarán en el siguiente dispositivo." -#: src/components/storage/BootSelection.tsx:181 +#: src/components/storage/BootSelection.tsx:182 msgid "Choose a disk for placing the boot loader" msgstr "Escoger un disco para colocar el cargador de arranque" -#: src/components/storage/BootSelection.tsx:204 +#: src/components/storage/BootSelection.tsx:205 msgid "Do not configure" msgstr "No configurar" -#: src/components/storage/BootSelection.tsx:210 +#: src/components/storage/BootSelection.tsx:211 msgid "" "No partitions will be automatically configured for booting. Use with caution." msgstr "" "No se configurarán particiones automáticamente para el arranque. Úselo con " "precaución." -#: src/components/storage/DASDFormatProgress.tsx:48 -msgid "Formatting DASD devices" -msgstr "Formatear dispositivos DASD" - -#: src/components/storage/DASDPage.tsx:36 src/routes/storage.tsx:70 -#, fuzzy -msgid "DASD" -msgstr "DASD %s" - -#: src/components/storage/DASDTable.tsx:63 -#: src/components/storage/ZFCPPage.jsx:340 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -msgid "No" -msgstr "No" - -#: src/components/storage/DASDTable.tsx:63 -#: src/components/storage/ZFCPPage.jsx:340 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -msgid "Yes" -msgstr "Sí" - -#: src/components/storage/DASDTable.tsx:70 -#: src/components/storage/ZFCPDiskForm.jsx:110 -#: src/components/storage/ZFCPPage.jsx:324 -#: src/components/storage/ZFCPPage.jsx:382 -msgid "Channel ID" -msgstr "Canal ID" - -#. TRANSLATORS: table header -#: src/components/storage/DASDTable.tsx:71 -#: src/components/storage/ZFCPPage.jsx:325 -#: src/components/storage/iscsi/NodesPresenter.jsx:103 -#: src/components/storage/iscsi/NodesPresenter.jsx:124 -#: src/components/users/RootAuthMethods.tsx:70 -msgid "Status" -msgstr "Estado" - -#: src/components/storage/DASDTable.tsx:72 -#: src/components/storage/DeviceSelectorTable.tsx:185 -#: src/components/storage/ProposalResultTable.tsx:132 -#: src/components/storage/SpaceActionsTable.tsx:206 -#: src/components/storage/VolumeLocationSelectorTable.tsx:95 -msgid "Device" -msgstr "Dispositivo" - -#: src/components/storage/DASDTable.tsx:73 -msgid "Type" -msgstr "Tipo" - -#. TRANSLATORS: table header, the column contains "Yes"/"No" values -#. for the DIAG access mode (special disk access mode on IBM mainframes), -#. usually keep untranslated -#: src/components/storage/DASDTable.tsx:77 -msgid "DIAG" -msgstr "DIAG" - -#: src/components/storage/DASDTable.tsx:78 -msgid "Formatted" -msgstr "Formateado" - -#: src/components/storage/DASDTable.tsx:79 -msgid "Partition Info" -msgstr "Información de la partición" - -#. TRANSLATORS: drop down menu label -#: src/components/storage/DASDTable.tsx:118 -msgid "Perform an action" -msgstr "Realizar una acción" - -#: src/components/storage/DASDTable.tsx:125 -#: src/components/storage/ZFCPPage.jsx:353 -msgid "Activate" -msgstr "Activar" - -#: src/components/storage/DASDTable.tsx:129 -#: src/components/storage/ZFCPPage.jsx:395 -msgid "Deactivate" -msgstr "Desactivar" - -#: src/components/storage/DASDTable.tsx:134 -msgid "Set DIAG On" -msgstr "Activar DIAG" - -#: src/components/storage/DASDTable.tsx:138 -msgid "Set DIAG Off" -msgstr "Desactivar DIAG" - -#: src/components/storage/DASDTable.tsx:143 -msgid "Format" -msgstr "Formatear" - -#: src/components/storage/DASDTable.tsx:279 -#: src/components/storage/DASDTable.tsx:280 -msgid "Filter by min channel" -msgstr "Filtrar por canal mínimo" - -#: src/components/storage/DASDTable.tsx:287 -msgid "Remove min channel filter" -msgstr "Eliminar filtro de canal mínimo" - -#: src/components/storage/DASDTable.tsx:301 -#: src/components/storage/DASDTable.tsx:302 -msgid "Filter by max channel" -msgstr "Filtrar por canal máximo" - -#: src/components/storage/DASDTable.tsx:309 -msgid "Remove max channel filter" -msgstr "Eliminar filtro de canal máximo" - -#: src/components/storage/DeviceSelection.tsx:105 +#: src/components/storage/DeviceSelection.tsx:106 msgid "" "The file systems will be allocated by default as [new partitions in the " "selected device]." @@ -1165,7 +1048,7 @@ msgstr "" "Los sistemas de archivos se asignarán de forma predeterminada como [nuevas " "particiones en el dispositivo seleccionado]." -#: src/components/storage/DeviceSelection.tsx:112 +#: src/components/storage/DeviceSelection.tsx:113 msgid "" "The file systems will be allocated by default as [logical volumes of a new " "LVM Volume Group]. The corresponding physical volumes will be created on " @@ -1176,144 +1059,153 @@ msgstr "" "físicos correspondientes se crearán según demanda como nuevas particiones en " "los dispositivos seleccionados." -#: src/components/storage/DeviceSelection.tsx:121 +#: src/components/storage/DeviceSelection.tsx:122 msgid "Select installation device" msgstr "Seleccionar el dispositivo de instalación" -#: src/components/storage/DeviceSelection.tsx:127 +#: src/components/storage/DeviceSelection.tsx:128 msgid "Install new system on" msgstr "Instalar nuevo sistema en" -#: src/components/storage/DeviceSelection.tsx:130 +#: src/components/storage/DeviceSelection.tsx:131 msgid "An existing disk" msgstr "Un disco existente" -#: src/components/storage/DeviceSelection.tsx:139 +#: src/components/storage/DeviceSelection.tsx:140 msgid "A new LVM Volume Group" msgstr "Un nuevo Grupo de Volúmen LVM" -#: src/components/storage/DeviceSelection.tsx:162 +#: src/components/storage/DeviceSelection.tsx:163 msgid "Device selector for target disk" msgstr "Selector de dispositivo para disco de destino" -#: src/components/storage/DeviceSelection.tsx:185 +#: src/components/storage/DeviceSelection.tsx:186 msgid "Device selector for new LVM volume group" msgstr "Selector de dispositivo para nuevo grupo de volúmenes LVM" -#: src/components/storage/DeviceSelection.tsx:198 +#: src/components/storage/DeviceSelection.tsx:199 msgid "Prepare more devices by configuring advanced" msgstr "Preparar más dispositivos configurando de forma avanzada" -#: src/components/storage/DeviceSelection.tsx:199 +#: src/components/storage/DeviceSelection.tsx:200 msgid "storage techs" msgstr "tecnologías de almacenamiento" #. TRANSLATORS: multipath device type -#: src/components/storage/DeviceSelectorTable.tsx:53 +#: src/components/storage/DeviceSelectorTable.tsx:54 msgid "Multipath" msgstr "Ruta múltiple" #. TRANSLATORS: %s is replaced by the device bus ID -#: src/components/storage/DeviceSelectorTable.tsx:58 +#: src/components/storage/DeviceSelectorTable.tsx:59 #, c-format msgid "DASD %s" msgstr "DASD %s" #. TRANSLATORS: software RAID device, %s is replaced by the RAID level, e.g. RAID-1 -#: src/components/storage/DeviceSelectorTable.tsx:63 +#: src/components/storage/DeviceSelectorTable.tsx:64 #, c-format msgid "Software %s" msgstr "Software %s" -#: src/components/storage/DeviceSelectorTable.tsx:68 +#: src/components/storage/DeviceSelectorTable.tsx:69 msgid "SD Card" msgstr "Tarjeta SD" #. TRANSLATORS: %s is substituted by the type of disk like "iSCSI" or "SATA" -#: src/components/storage/DeviceSelectorTable.tsx:73 +#: src/components/storage/DeviceSelectorTable.tsx:74 #, c-format msgid "%s disk" msgstr "disco %s" -#: src/components/storage/DeviceSelectorTable.tsx:74 +#: src/components/storage/DeviceSelectorTable.tsx:75 msgid "Disk" msgstr "Disco" #. TRANSLATORS: RAID details, %s is replaced by list of devices used by the array -#: src/components/storage/DeviceSelectorTable.tsx:94 +#: src/components/storage/DeviceSelectorTable.tsx:95 #, c-format msgid "Members: %s" msgstr "Miembros: %s" #. TRANSLATORS: RAID details, %s is replaced by list of devices used by the array -#: src/components/storage/DeviceSelectorTable.tsx:103 +#: src/components/storage/DeviceSelectorTable.tsx:104 #, c-format msgid "Devices: %s" msgstr "Dispositivos: %s" #. TRANSLATORS: multipath details, %s is replaced by list of connections used by the device -#: src/components/storage/DeviceSelectorTable.tsx:112 +#: src/components/storage/DeviceSelectorTable.tsx:113 #, c-format msgid "Wires: %s" msgstr "Wires: %s" #. TRANSLATORS: disk partition info, %s is replaced by partition table #. type (MS-DOS or GPT), %d is the number of the partitions -#: src/components/storage/DeviceSelectorTable.tsx:144 +#: src/components/storage/DeviceSelectorTable.tsx:145 #, c-format msgid "%s with %d partitions" msgstr "%s con %d particiones" #. TRANSLATORS: status message, no existing content was found on the disk, #. i.e. the disk is completely empty -#: src/components/storage/DeviceSelectorTable.tsx:150 -#: src/components/storage/SpaceActionsTable.tsx:183 +#: src/components/storage/DeviceSelectorTable.tsx:151 +#: src/components/storage/SpaceActionsTable.tsx:184 msgid "No content found" msgstr "No se encontró contenido" -#: src/components/storage/DeviceSelectorTable.tsx:186 -#: src/components/storage/PartitionsField.tsx:453 -#: src/components/storage/ProposalResultTable.tsx:134 +#: src/components/storage/DeviceSelectorTable.tsx:188 +#: src/components/storage/ProposalResultTable.tsx:130 #: src/components/storage/SpaceActionsTable.tsx:207 #: src/components/storage/VolumeLocationSelectorTable.tsx:96 -msgid "Details" -msgstr "Detalles" +#: src/components/storage/dasd/DASDTable.tsx:73 +msgid "Device" +msgstr "Dispositivo" -#: src/components/storage/DeviceSelectorTable.tsx:187 +#: src/components/storage/DeviceSelectorTable.tsx:189 #: src/components/storage/PartitionsField.tsx:454 -#: src/components/storage/ProposalResultTable.tsx:135 +#: src/components/storage/ProposalResultTable.tsx:132 #: src/components/storage/SpaceActionsTable.tsx:208 +#: src/components/storage/VolumeLocationSelectorTable.tsx:97 +msgid "Details" +msgstr "Detalles" + +#: src/components/storage/DeviceSelectorTable.tsx:190 +#: src/components/storage/PartitionsField.tsx:455 +#: src/components/storage/ProposalResultTable.tsx:133 +#: src/components/storage/SpaceActionsTable.tsx:209 #: src/components/storage/VolumeFields.tsx:524 -#: src/components/storage/VolumeLocationSelectorTable.tsx:101 +#: src/components/storage/VolumeLocationSelectorTable.tsx:102 msgid "Size" msgstr "Tamaño" -#: src/components/storage/DevicesTechMenu.jsx:39 +#: src/components/storage/DevicesTechMenu.tsx:43 msgid "Manage and format" msgstr "Administrar y formatear" -#: src/components/storage/DevicesTechMenu.jsx:53 +#: src/components/storage/DevicesTechMenu.tsx:56 msgid "Activate disks" msgstr "Activar discos" -#: src/components/storage/DevicesTechMenu.jsx:54 +#: src/components/storage/DevicesTechMenu.tsx:57 +#: src/components/storage/zfcp/ZFCPPage.tsx:191 msgid "zFCP" msgstr "zFCP" -#: src/components/storage/DevicesTechMenu.jsx:67 +#: src/components/storage/DevicesTechMenu.tsx:70 msgid "Connect to iSCSI targets" msgstr "Conectar a objetivos iSCSI" -#: src/components/storage/DevicesTechMenu.jsx:68 src/routes/storage.tsx:65 +#: src/components/storage/DevicesTechMenu.tsx:71 src/routes/storage.tsx:72 msgid "iSCSI" msgstr "iSCSI" -#: src/components/storage/EncryptionField.tsx:34 -#: src/components/storage/EncryptionSettingsDialog.tsx:30 +#: src/components/storage/EncryptionField.tsx:35 +#: src/components/storage/EncryptionSettingsDialog.tsx:31 msgid "Encryption" msgstr "Cifrado" -#: src/components/storage/EncryptionField.tsx:36 +#: src/components/storage/EncryptionField.tsx:37 msgid "" "Protection for the information stored at the device, including data, " "programs, and system files." @@ -1321,27 +1213,27 @@ msgstr "" "Protección de la información almacenada en el dispositivo, incluidos datos, " "programas y archivos del sistema." -#: src/components/storage/EncryptionField.tsx:40 +#: src/components/storage/EncryptionField.tsx:41 msgid "disabled" msgstr "desactivado" -#: src/components/storage/EncryptionField.tsx:41 +#: src/components/storage/EncryptionField.tsx:42 msgid "enabled" msgstr "activado" -#: src/components/storage/EncryptionField.tsx:42 +#: src/components/storage/EncryptionField.tsx:43 msgid "using TPM unlocking" msgstr "usando el desbloqueo TPM" -#: src/components/storage/EncryptionField.tsx:56 +#: src/components/storage/EncryptionField.tsx:57 msgid "Enable" msgstr "Habilitado" -#: src/components/storage/EncryptionField.tsx:56 +#: src/components/storage/EncryptionField.tsx:57 msgid "Modify" msgstr "Modificar" -#: src/components/storage/EncryptionSettingsDialog.tsx:32 +#: src/components/storage/EncryptionSettingsDialog.tsx:33 msgid "" "Full Disk Encryption (FDE) allows to protect the information stored at the " "device, including data, programs, and system files." @@ -1350,14 +1242,14 @@ msgstr "" "dispositivo, incluidos datos, programas y archivos del sistema." #. TRANSLATORS: "Trusted Platform Module" is the name of the technology and TPM its abbreviation -#: src/components/storage/EncryptionSettingsDialog.tsx:36 +#: src/components/storage/EncryptionSettingsDialog.tsx:37 msgid "" "Use the Trusted Platform Module (TPM) to decrypt automatically on each boot" msgstr "" "Utilizar Trusted Platform Module(TPM) para descifrar automáticamente en cada " "arranque" -#: src/components/storage/EncryptionSettingsDialog.tsx:40 +#: src/components/storage/EncryptionSettingsDialog.tsx:41 msgid "" "The password will not be needed to boot and access the data if the TPM can " "verify the integrity of the system. TPM sealing requires the new system to " @@ -1367,99 +1259,99 @@ msgstr "" "puede verificar la integridad del sistema. El sellado TPM requiere que el " "nuevo sistema se inicie directamente en su primera ejecución." -#: src/components/storage/EncryptionSettingsDialog.tsx:127 +#: src/components/storage/EncryptionSettingsDialog.tsx:128 msgid "Encrypt the system" msgstr "Cifrar el sistema" -#: src/components/storage/InstallationDeviceField.tsx:31 -#: src/components/storage/VolumeLocationSelectorTable.tsx:53 +#: src/components/storage/InstallationDeviceField.tsx:32 +#: src/components/storage/VolumeLocationSelectorTable.tsx:54 msgid "Installation device" msgstr "Dispositivo de instalación" #. TRANSLATORS: The storage "Installation device" field's description. -#: src/components/storage/InstallationDeviceField.tsx:33 +#: src/components/storage/InstallationDeviceField.tsx:34 msgid "Main disk or LVM Volume Group for installation." msgstr "Disco principal o el grupo de volúmenes LVM para la instalación." #. TRANSLATORS: %s is the installation disk (eg. "/dev/sda, 80 GiB) -#: src/components/storage/InstallationDeviceField.tsx:45 +#: src/components/storage/InstallationDeviceField.tsx:46 #, c-format msgid "File systems created as new partitions at %s" msgstr "Sistemas de archivos creados como particiones nuevas en %s" -#: src/components/storage/InstallationDeviceField.tsx:48 +#: src/components/storage/InstallationDeviceField.tsx:49 msgid "File systems created at a new LVM volume group" msgstr "Sistemas de archivos creados en un nuevo grupo de volúmenes LVM" -#: src/components/storage/InstallationDeviceField.tsx:53 +#: src/components/storage/InstallationDeviceField.tsx:54 #, c-format msgid "File systems created at a new LVM volume group on %s" msgstr "Sistemas de archivos creados en un nuevo grupo de volúmenes LVM en %s" -#: src/components/storage/InvalidMaxSizeError.tsx:43 -#: src/components/storage/VolumeDialog.tsx:215 +#: src/components/storage/InvalidMaxSizeError.tsx:44 +#: src/components/storage/VolumeDialog.tsx:216 msgid "Maximum must be greater than minimum" msgstr "El máximo debe ser mayor que el mínimo" #. TRANSLATORS: minimum device size, %s is replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:72 +#: src/components/storage/PartitionsField.tsx:73 #, c-format msgid "at least %s" msgstr "al menos %s" #. TRANSLATORS: "/" is in an LVM logical volume. %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:90 +#: src/components/storage/PartitionsField.tsx:91 #, c-format msgid "Transactional Btrfs root volume (%s)" msgstr "Volumen raíz transaccional de Btrfs (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:92 +#: src/components/storage/PartitionsField.tsx:93 #, c-format msgid "Transactional Btrfs root partition (%s)" msgstr "Partición raíz transaccional Btrfs (%s)" #. TRANSLATORS: "/" is in an LVM logical volume. %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:97 +#: src/components/storage/PartitionsField.tsx:98 #, c-format msgid "Btrfs root volume with snapshots (%s)" msgstr "Volumen raíz Btrfs con instantáneas (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:99 +#: src/components/storage/PartitionsField.tsx:100 #, c-format msgid "Btrfs root partition with snapshots (%s)" msgstr "Partición raíz Btrfs con instantáneas (%s)" #. TRANSLATORS: This results in something like "Mount /dev/sda3 at /home (25 GiB)" since #. %1$s is replaced by the device name, %2$s by the mount point and %3$s by the size -#: src/components/storage/PartitionsField.tsx:108 +#: src/components/storage/PartitionsField.tsx:109 #, c-format msgid "Mount %1$s at %2$s (%3$s)" msgstr "Montar %1$s en %2$s (%3$s)" #. TRANSLATORS: This results in something like "Swap at /dev/sda3 (2 GiB)" since #. %1$s is replaced by the device name, and %2$s by the size -#: src/components/storage/PartitionsField.tsx:114 +#: src/components/storage/PartitionsField.tsx:115 #, c-format msgid "Swap at %1$s (%2$s)" msgstr "Intercambiar en %1$s (%2$s)" #. TRANSLATORS: Swap is in an LVM logical volume. %s replaced by size string, e.g. "8 GiB" -#: src/components/storage/PartitionsField.tsx:118 +#: src/components/storage/PartitionsField.tsx:119 #, c-format msgid "Swap volume (%s)" msgstr "Volumen de intercambio (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "8 GiB" -#: src/components/storage/PartitionsField.tsx:120 +#: src/components/storage/PartitionsField.tsx:121 #, c-format msgid "Swap partition (%s)" msgstr "Partición de intercambio (%s)" #. TRANSLATORS: This results in something like "Btrfs root at /dev/sda3 (20 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the device name, and %3$s by the size -#: src/components/storage/PartitionsField.tsx:129 +#: src/components/storage/PartitionsField.tsx:130 #, c-format msgid "%1$s root at %2$s (%3$s)" msgstr "%1$s raíz en %2$s (%3$s)" @@ -1467,21 +1359,21 @@ msgstr "%1$s raíz en %2$s (%3$s)" #. TRANSLATORS: "/" is in an LVM logical volume. #. Results in something like "Btrfs root volume (at least 20 GiB)" since #. $1$s is replaced by filesystem type and %2$s by size description -#: src/components/storage/PartitionsField.tsx:135 +#: src/components/storage/PartitionsField.tsx:136 #, c-format msgid "%1$s root volume (%2$s)" msgstr "%1$s volumen raíz (%2$s)" #. TRANSLATORS: Results in something like "Btrfs root partition (at least 20 GiB)" since #. $1$s is replaced by filesystem type and %2$s by size description -#: src/components/storage/PartitionsField.tsx:138 +#: src/components/storage/PartitionsField.tsx:139 #, c-format msgid "%1$s root partition (%2$s)" msgstr "%1$s partición raíz (%2$s)" #. TRANSLATORS: This results in something like "Ext4 /home at /dev/sda3 (20 GiB)" since #. %1$s is replaced by filesystem type, %2$s by mount point, %3$s by device name and %4$s by size -#: src/components/storage/PartitionsField.tsx:144 +#: src/components/storage/PartitionsField.tsx:145 #, c-format msgid "%1$s %2$s at %3$s (%4$s)" msgstr "%1$s %2$s en %3$s (%4$s)" @@ -1489,139 +1381,139 @@ msgstr "%1$s %2$s en %3$s (%4$s)" #. TRANSLATORS: The filesystem is in an LVM logical volume. #. Results in something like "Ext4 /home volume (at least 10 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the mount point and %3$s by the size description -#: src/components/storage/PartitionsField.tsx:150 +#: src/components/storage/PartitionsField.tsx:151 #, c-format msgid "%1$s %2$s volume (%3$s)" msgstr "%1$s %2$s volumen (%3$s)" #. TRANSLATORS: This results in something like "Ext4 /home partition (at least 10 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the mount point and %3$s by the size description -#: src/components/storage/PartitionsField.tsx:153 +#: src/components/storage/PartitionsField.tsx:154 #, c-format msgid "%1$s %2$s partition (%3$s)" msgstr "%1$s partición %2$s (%3$s)" -#: src/components/storage/PartitionsField.tsx:161 +#: src/components/storage/PartitionsField.tsx:162 msgid "Do not configure partitions for booting" msgstr "No configurar particiones para el arranque" -#: src/components/storage/PartitionsField.tsx:163 +#: src/components/storage/PartitionsField.tsx:164 msgid "Boot partitions at installation disk" msgstr "Particiones de arranque en el disco de instalación" #. TRANSLATORS: %s is the disk used to configure the boot-related partitions (eg. "/dev/sda, 80 GiB) -#: src/components/storage/PartitionsField.tsx:166 +#: src/components/storage/PartitionsField.tsx:167 #, c-format msgid "Boot partitions at %s" msgstr "Arrancar particiones en %s" #. TRANSLATORS: header for a list of items referring to size limits for file systems -#: src/components/storage/PartitionsField.tsx:185 +#: src/components/storage/PartitionsField.tsx:186 msgid "These limits are affected by:" msgstr "Estos límites se ven afectados por:" #. TRANSLATORS: list item, this affects the computed partition size limits -#: src/components/storage/PartitionsField.tsx:189 +#: src/components/storage/PartitionsField.tsx:190 msgid "The configuration of snapshots" msgstr "La configuración de instantáneas" -#: src/components/storage/PartitionsField.tsx:195 +#: src/components/storage/PartitionsField.tsx:196 #, c-format msgid "Presence of other volumes (%s)" msgstr "Presencia de otros volúmenes (%s)" #. TRANSLATORS: list item, describes a factor that affects the computed size of a #. file system; eg. adjusting the size of the swap -#: src/components/storage/PartitionsField.tsx:201 +#: src/components/storage/PartitionsField.tsx:202 msgid "The amount of RAM in the system" msgstr "La cantidad de memoria RAM en el sistema" -#: src/components/storage/PartitionsField.tsx:258 +#: src/components/storage/PartitionsField.tsx:259 msgid "auto" msgstr "automático" #. TRANSLATORS: %s will be replaced by a file-system type like "Btrfs" or "Ext4" -#: src/components/storage/PartitionsField.tsx:270 +#: src/components/storage/PartitionsField.tsx:271 #, c-format msgid "Reused %s" msgstr "Reutilizado %s" -#: src/components/storage/PartitionsField.tsx:271 +#: src/components/storage/PartitionsField.tsx:272 msgid "Transactional Btrfs" msgstr "Transaccional Brtfs" -#: src/components/storage/PartitionsField.tsx:272 +#: src/components/storage/PartitionsField.tsx:273 msgid "Btrfs with snapshots" msgstr "Brtfs con instantáneas" #. TRANSLATORS: %s will be replaced by a disk name (eg. "/dev/sda") -#: src/components/storage/PartitionsField.tsx:285 +#: src/components/storage/PartitionsField.tsx:286 #, c-format msgid "Partition at %s" msgstr "Partición en %s" #. TRANSLATORS: %s will be replaced by a disk name (eg. "/dev/sda") -#: src/components/storage/PartitionsField.tsx:288 +#: src/components/storage/PartitionsField.tsx:289 #, c-format msgid "Separate LVM at %s" msgstr "Separar LVM en %s" -#: src/components/storage/PartitionsField.tsx:291 +#: src/components/storage/PartitionsField.tsx:292 msgid "Logical volume at system LVM" msgstr "Volumen lógico en el sistema LVM" -#: src/components/storage/PartitionsField.tsx:293 +#: src/components/storage/PartitionsField.tsx:294 msgid "Partition at installation disk" msgstr "Partición en el disco de instalación" -#: src/components/storage/PartitionsField.tsx:313 +#: src/components/storage/PartitionsField.tsx:314 msgid "Reset location" msgstr "Reiniciar localización" -#: src/components/storage/PartitionsField.tsx:314 +#: src/components/storage/PartitionsField.tsx:315 msgid "Change location" msgstr "Cambiar ubicación" -#: src/components/storage/PartitionsField.tsx:315 -#: src/components/storage/iscsi/NodesPresenter.jsx:78 +#: src/components/storage/PartitionsField.tsx:316 +#: src/components/storage/iscsi/NodesPresenter.jsx:79 msgid "Delete" msgstr "Eliminar" -#: src/components/storage/PartitionsField.tsx:452 -#: src/components/storage/VolumeFields.tsx:66 +#: src/components/storage/PartitionsField.tsx:453 +#: src/components/storage/VolumeFields.tsx:67 #: src/components/storage/VolumeFields.tsx:76 #: src/components/storage/VolumeFields.tsx:81 msgid "Mount point" msgstr "Punto de montaje" #. TRANSLATORS: where (and how) the file-system is going to be created -#: src/components/storage/PartitionsField.tsx:456 +#: src/components/storage/PartitionsField.tsx:457 msgid "Location" msgstr "Ubicación" -#: src/components/storage/PartitionsField.tsx:495 +#: src/components/storage/PartitionsField.tsx:496 msgid "Table with mount points" msgstr "Tabla con puntos de montaje" -#: src/components/storage/PartitionsField.tsx:576 -#: src/components/storage/PartitionsField.tsx:596 -#: src/components/storage/VolumeDialog.tsx:77 +#: src/components/storage/PartitionsField.tsx:577 +#: src/components/storage/PartitionsField.tsx:597 +#: src/components/storage/VolumeDialog.tsx:78 msgid "Add file system" msgstr "Agregar sistema de archivos" -#: src/components/storage/PartitionsField.tsx:608 +#: src/components/storage/PartitionsField.tsx:609 msgid "Other" msgstr "Otro" -#: src/components/storage/PartitionsField.tsx:742 +#: src/components/storage/PartitionsField.tsx:743 msgid "Reset to defaults" msgstr "Restablecer los valores predeterminados" -#: src/components/storage/PartitionsField.tsx:811 +#: src/components/storage/PartitionsField.tsx:807 msgid "Partitions and file systems" msgstr "Particiones y sistemas de archivos" -#: src/components/storage/PartitionsField.tsx:813 +#: src/components/storage/PartitionsField.tsx:809 msgid "" "Structure of the new system, including any additional partition needed for " "booting" @@ -1629,112 +1521,112 @@ msgstr "" "Estructura del nuevo sistema, incluida cualquier partición adicional " "necesaria para el arranque" -#: src/components/storage/PartitionsField.tsx:820 +#: src/components/storage/PartitionsField.tsx:816 msgid "Show partitions and file-systems actions" msgstr "Mostrar acciones de particiones y sistemas de archivos" -#: src/components/storage/ProposalActionsDialog.tsx:72 +#: src/components/storage/ProposalActionsDialog.tsx:73 #, c-format msgid "Hide %d subvolume action" msgid_plural "Hide %d subvolume actions" msgstr[0] "Ocultar %d acción de subvolumen" msgstr[1] "Ocultar %d acciones de subvolumen" -#: src/components/storage/ProposalActionsDialog.tsx:77 +#: src/components/storage/ProposalActionsDialog.tsx:78 #, c-format msgid "Show %d subvolume action" msgid_plural "Show %d subvolume actions" msgstr[0] "Mostrar %d acción de subvolumen" msgstr[1] "Mostrar %d acciones de subvolumen" -#: src/components/storage/ProposalActionsSummary.tsx:54 +#: src/components/storage/ProposalActionsSummary.tsx:55 msgid "Destructive actions are not allowed" msgstr "No se permiten acciones destructivas" -#: src/components/storage/ProposalActionsSummary.tsx:56 +#: src/components/storage/ProposalActionsSummary.tsx:57 msgid "Destructive actions are allowed" msgstr "Se permiten acciones destructivas" -#: src/components/storage/ProposalActionsSummary.tsx:79 -#: src/components/storage/ProposalActionsSummary.tsx:133 +#: src/components/storage/ProposalActionsSummary.tsx:80 +#: src/components/storage/ProposalActionsSummary.tsx:134 msgid "affecting" msgstr "afectados" -#: src/components/storage/ProposalActionsSummary.tsx:113 +#: src/components/storage/ProposalActionsSummary.tsx:114 msgid "Shrinking partitions is not allowed" msgstr "No se permite reducir las particiones existentes" -#: src/components/storage/ProposalActionsSummary.tsx:117 +#: src/components/storage/ProposalActionsSummary.tsx:118 msgid "Shrinking partitions is allowed" msgstr "Se permite reducir las particiones existentes" -#: src/components/storage/ProposalActionsSummary.tsx:119 +#: src/components/storage/ProposalActionsSummary.tsx:120 msgid "Shrinking some partitions is allowed but not needed" msgstr "Se permite reducir algunas particiones, pero no es necesario" -#: src/components/storage/ProposalActionsSummary.tsx:122 +#: src/components/storage/ProposalActionsSummary.tsx:123 #, c-format msgid "%d partition will be shrunk" msgid_plural "%d partitions will be shrunk" msgstr[0] "%d partición se reducirá" msgstr[1] "%d particiones se reducirán" -#: src/components/storage/ProposalActionsSummary.tsx:163 +#: src/components/storage/ProposalActionsSummary.tsx:164 msgid "Cannot accommodate the required file systems for installation" msgstr "" "No se pueden acomodar los sistemas de archivos necesarios para la instalación" -#: src/components/storage/ProposalActionsSummary.tsx:171 +#: src/components/storage/ProposalActionsSummary.tsx:172 #, c-format msgid "Check the planned action" msgid_plural "Check the %d planned actions" msgstr[0] "Comprueba la acción planeada" msgstr[1] "Comprueba las %d acciones planeadas" -#: src/components/storage/ProposalActionsSummary.tsx:186 +#: src/components/storage/ProposalActionsSummary.tsx:187 msgid "Waiting for actions information..." msgstr "Esperando información de acciones..." -#: src/components/storage/ProposalPage.tsx:129 +#: src/components/storage/ProposalPage.tsx:130 msgid "Planned Actions" msgstr "Acciones planeadas" -#: src/components/storage/ProposalResultSection.tsx:37 +#: src/components/storage/ProposalResultSection.tsx:38 msgid "Waiting for information about storage configuration" msgstr "Esperando información sobre la configuración de almacenamiento" -#: src/components/storage/ProposalResultSection.tsx:62 +#: src/components/storage/ProposalResultSection.tsx:63 msgid "Final layout" msgstr "Diseño final" -#: src/components/storage/ProposalResultSection.tsx:63 +#: src/components/storage/ProposalResultSection.tsx:64 msgid "The systems will be configured as displayed below." msgstr "Los sistemas se configurarán como se muestra a continuación." -#: src/components/storage/ProposalResultSection.tsx:71 +#: src/components/storage/ProposalResultSection.tsx:72 msgid "Storage proposal not possible" msgstr "Propuesta de almacenamiento no posible" -#: src/components/storage/ProposalResultTable.tsx:77 +#: src/components/storage/ProposalResultTable.tsx:75 msgid "New" msgstr "Nuevo" #. TRANSLATORS: Label to indicate the device size before resizing, where %s is #. replaced by the original size (e.g., 3.00 GiB). -#: src/components/storage/ProposalResultTable.tsx:106 +#: src/components/storage/ProposalResultTable.tsx:104 #, c-format msgid "Before %s" msgstr "Antes %s" -#: src/components/storage/ProposalResultTable.tsx:133 +#: src/components/storage/ProposalResultTable.tsx:131 msgid "Mount Point" msgstr "Punto de montaje" -#: src/components/storage/ProposalTransactionalInfo.tsx:42 +#: src/components/storage/ProposalTransactionalInfo.tsx:43 msgid "Transactional root file system" msgstr "Sistema de archivos raíz transaccional" -#: src/components/storage/ProposalTransactionalInfo.tsx:46 +#: src/components/storage/ProposalTransactionalInfo.tsx:47 #, c-format msgid "" "%s is an immutable system with atomic updates. It uses a read-only Btrfs " @@ -1743,11 +1635,11 @@ msgstr "" "%s es un sistema inmutable con actualizaciones atómicas. Utiliza un sistema " "de archivos Btrfs de solo lectura actualizado mediante instantáneas." -#: src/components/storage/SnapshotsField.tsx:31 +#: src/components/storage/SnapshotsField.tsx:32 msgid "Use Btrfs snapshots for the root file system" msgstr "Utilizar instantáneas de Btrfs para el sistema de archivos raíz" -#: src/components/storage/SnapshotsField.tsx:33 +#: src/components/storage/SnapshotsField.tsx:34 msgid "" "Allows to boot to a previous version of the system after configuration " "changes or software upgrades." @@ -1755,103 +1647,103 @@ msgstr "" "Permitir iniciar una versión anterior del sistema después de cambios de " "configuración o actualizaciones de software." -#: src/components/storage/SpaceActionsTable.tsx:60 +#: src/components/storage/SpaceActionsTable.tsx:61 #, c-format msgid "Up to %s can be recovered by shrinking the device." msgstr "Se pueden recuperar hasta %s reduciendo el dispositivo." -#: src/components/storage/SpaceActionsTable.tsx:69 +#: src/components/storage/SpaceActionsTable.tsx:70 msgid "The device cannot be shrunk:" msgstr "El dispositivo no se puede reducir:" -#: src/components/storage/SpaceActionsTable.tsx:90 +#: src/components/storage/SpaceActionsTable.tsx:91 #, c-format msgid "Show information about %s" msgstr "Mostrar información sobre %s" -#: src/components/storage/SpaceActionsTable.tsx:180 +#: src/components/storage/SpaceActionsTable.tsx:181 msgid "The content may be deleted" msgstr "El contenido puede ser eliminado" -#: src/components/storage/SpaceActionsTable.tsx:210 +#: src/components/storage/SpaceActionsTable.tsx:211 msgid "Action" msgstr "Acción" -#: src/components/storage/SpaceActionsTable.tsx:221 +#: src/components/storage/SpaceActionsTable.tsx:222 msgid "Actions to find space" msgstr "Acciones para encontrar espacio" -#: src/components/storage/SpacePolicySelection.tsx:156 +#: src/components/storage/SpacePolicySelection.tsx:157 msgid "Space policy" msgstr "Política de espacio" -#: src/components/storage/VolumeDialog.tsx:74 +#: src/components/storage/VolumeDialog.tsx:75 #, c-format msgid "Add %s file system" msgstr "Agregar %s sistema de archivos" -#: src/components/storage/VolumeDialog.tsx:75 +#: src/components/storage/VolumeDialog.tsx:76 #, c-format msgid "Edit %s file system" msgstr "Editar %s sistema de archivos" -#: src/components/storage/VolumeDialog.tsx:77 +#: src/components/storage/VolumeDialog.tsx:78 msgid "Edit file system" msgstr "Editar sistema de archivos" #. TRANSLATORS: Warning when editing a file system. -#: src/components/storage/VolumeDialog.tsx:89 +#: src/components/storage/VolumeDialog.tsx:90 msgid "The type and size of the file system cannot be edited." msgstr "El tipo y el tamaño del sistema de archivos no puede ser editado." -#: src/components/storage/VolumeDialog.tsx:93 +#: src/components/storage/VolumeDialog.tsx:94 #, c-format msgid "The current file system on %s is selected to be mounted at %s." msgstr "" "El actual sistema de archivos en %s está seleccionado para ser montado en %s." #. TRANSLATORS: Warning when editing a file system. -#: src/components/storage/VolumeDialog.tsx:101 +#: src/components/storage/VolumeDialog.tsx:102 msgid "The size of the file system cannot be edited" msgstr "El tamaño del sistema de archivos no puede ser editado" #. TRANSLATORS: Description of a warning. %s is replaced by a device name (e.g., /dev/vda). -#: src/components/storage/VolumeDialog.tsx:103 +#: src/components/storage/VolumeDialog.tsx:104 #, c-format msgid "The file system is allocated at the device %s." msgstr "El sistema de archivos está asignado en el dispositivo %s." -#: src/components/storage/VolumeDialog.tsx:140 +#: src/components/storage/VolumeDialog.tsx:141 msgid "A mount point is required" msgstr "Se requiere un punto de montaje" -#: src/components/storage/VolumeDialog.tsx:157 +#: src/components/storage/VolumeDialog.tsx:158 msgid "The mount point is invalid" msgstr "El punto de montaje no es válido" -#: src/components/storage/VolumeDialog.tsx:175 +#: src/components/storage/VolumeDialog.tsx:176 msgid "A size value is required" msgstr "Se requiere un valor de tamaño" -#: src/components/storage/VolumeDialog.tsx:193 +#: src/components/storage/VolumeDialog.tsx:194 msgid "Minimum size is required" msgstr "Se requiere un tamaño mínimo" -#: src/components/storage/VolumeDialog.tsx:242 +#: src/components/storage/VolumeDialog.tsx:243 #, c-format msgid "There is already a file system for %s." msgstr "Ya existe un sistema de archivos para %s." -#: src/components/storage/VolumeDialog.tsx:244 +#: src/components/storage/VolumeDialog.tsx:245 msgid "Do you want to edit it?" msgstr "¿Quieres editarlo?" -#: src/components/storage/VolumeDialog.tsx:274 +#: src/components/storage/VolumeDialog.tsx:275 #, c-format msgid "There is a predefined file system for %s." msgstr "Hay un sistema de archivos predefinido para %s." -#: src/components/storage/VolumeDialog.tsx:276 +#: src/components/storage/VolumeDialog.tsx:277 msgid "Do you want to add it?" msgstr "¿Quieres añadirlo?" @@ -1973,7 +1865,7 @@ msgstr "Fijado" msgid "Range" msgstr "Rango" -#: src/components/storage/VolumeLocationDialog.tsx:37 +#: src/components/storage/VolumeLocationDialog.tsx:34 msgid "" "The file systems are allocated at the installation device by default. " "Indicate a custom location to create the file system at a specific device." @@ -1984,39 +1876,39 @@ msgstr "" #. TRANSLATORS: Title of the dialog for changing the location of a file system. %s is replaced #. by a mount path (e.g., /home). -#: src/components/storage/VolumeLocationDialog.tsx:140 +#: src/components/storage/VolumeLocationDialog.tsx:137 #, c-format msgid "Location for %s file system" msgstr "Ubicación del sistema de archivos %s" -#: src/components/storage/VolumeLocationDialog.tsx:150 +#: src/components/storage/VolumeLocationDialog.tsx:147 msgid "Select in which device to allocate the file system" msgstr "Seleccione en qué dispositivo asignar el sistema de archivos" -#: src/components/storage/VolumeLocationDialog.tsx:153 +#: src/components/storage/VolumeLocationDialog.tsx:150 msgid "Select a location" msgstr "Seleccionar una ubicación" -#: src/components/storage/VolumeLocationDialog.tsx:165 +#: src/components/storage/VolumeLocationDialog.tsx:162 msgid "Select how to allocate the file system" msgstr "Seleccionar cómo asignar el sistema de archivos" -#: src/components/storage/VolumeLocationDialog.tsx:170 +#: src/components/storage/VolumeLocationDialog.tsx:167 msgid "Create a new partition" msgstr "Crear una nueva partición" -#: src/components/storage/VolumeLocationDialog.tsx:172 +#: src/components/storage/VolumeLocationDialog.tsx:169 msgid "" "The file system will be allocated as a new partition at the selected disk." msgstr "" "El sistema de archivos se asignará como una nueva partición en el disco " "seleccionado." -#: src/components/storage/VolumeLocationDialog.tsx:182 +#: src/components/storage/VolumeLocationDialog.tsx:179 msgid "Create a dedicated LVM volume group" msgstr "Crear un grupo de volúmenes LVM dedicado" -#: src/components/storage/VolumeLocationDialog.tsx:184 +#: src/components/storage/VolumeLocationDialog.tsx:181 msgid "" "A new volume group will be allocated in the selected disk and the file " "system will be created as a logical volume." @@ -2024,21 +1916,21 @@ msgstr "" "Se asignará un nuevo grupo de volúmenes en el disco seleccionado y el " "sistema de archivos se creará como un volumen lógico." -#: src/components/storage/VolumeLocationDialog.tsx:194 +#: src/components/storage/VolumeLocationDialog.tsx:191 msgid "Format the device" msgstr "Formatear el dispositivo" -#: src/components/storage/VolumeLocationDialog.tsx:198 +#: src/components/storage/VolumeLocationDialog.tsx:195 #, c-format msgid "The selected device will be formatted as %s file system." msgstr "" "El dispositivo seleccionado se formateará como un sistema de archivos %s." -#: src/components/storage/VolumeLocationDialog.tsx:209 +#: src/components/storage/VolumeLocationDialog.tsx:206 msgid "Mount the file system" msgstr "Montar el sistema de archivos" -#: src/components/storage/VolumeLocationDialog.tsx:211 +#: src/components/storage/VolumeLocationDialog.tsx:208 msgid "" "The current file system on the selected device will be mounted without " "formatting the device." @@ -2046,293 +1938,319 @@ msgstr "" "El actual sistema de archivos en el dispositivo seleccionado se montará sin " "formatear el dispositivo." -#: src/components/storage/VolumeLocationSelectorTable.tsx:98 +#: src/components/storage/VolumeLocationSelectorTable.tsx:99 msgid "Usage" msgstr "Uso" -#: src/components/storage/ZFCPDiskForm.jsx:106 -msgid "The zFCP disk was not activated." -msgstr "El disco zFCP no estaba activado." +#: src/components/storage/dasd/DASDFormatProgress.tsx:49 +msgid "Formatting DASD devices" +msgstr "Formatear dispositivos DASD" -#. TRANSLATORS: abbrev. World Wide Port Name -#: src/components/storage/ZFCPDiskForm.jsx:123 -#: src/components/storage/ZFCPPage.jsx:383 -msgid "WWPN" -msgstr "WWPN" +#: src/components/storage/dasd/DASDPage.tsx:39 src/routes/storage.tsx:77 +msgid "DASD" +msgstr "DASD" -#. TRANSLATORS: abbrev. Logical Unit Number -#: src/components/storage/ZFCPDiskForm.jsx:131 -#: src/components/storage/ZFCPPage.jsx:384 -msgid "LUN" -msgstr "LUN" +#. TRANSLATORS: DASD devices selection table +#: src/components/storage/dasd/DASDPage.tsx:44 +msgid "DASD devices selection table" +msgstr "Tabla de selección de dispositivos DASD" -#: src/components/storage/ZFCPPage.jsx:326 -msgid "Auto LUNs Scan" -msgstr "Escaneo automático de LUN" +#: src/components/storage/dasd/DASDPage.tsx:54 +#: src/components/storage/zfcp/ZFCPPage.tsx:200 +msgid "Back to device selection" +msgstr "Volver a la selección de dispositivos" -#: src/components/storage/ZFCPPage.jsx:337 -msgid "Activated" -msgstr "Activado" +#: src/components/storage/dasd/DASDTable.tsx:64 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:36 +msgid "No" +msgstr "No" -#: src/components/storage/ZFCPPage.jsx:337 -msgid "Deactivated" -msgstr "Desactivado" +#: src/components/storage/dasd/DASDTable.tsx:64 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:36 +msgid "Yes" +msgstr "Sí" -#: src/components/storage/ZFCPPage.jsx:437 -msgid "No zFCP controllers found." -msgstr "No se encontraron controladores zFCP." +#: src/components/storage/dasd/DASDTable.tsx:71 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:20 +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:119 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:43 +msgid "Channel ID" +msgstr "Canal ID" -#: src/components/storage/ZFCPPage.jsx:438 -msgid "Please, try to read the zFCP devices again." -msgstr "Por favor, intente leer los dispositivos zFCP nuevamente." +#. TRANSLATORS: table header +#: src/components/storage/dasd/DASDTable.tsx:72 +#: src/components/storage/iscsi/NodesPresenter.jsx:104 +#: src/components/storage/iscsi/NodesPresenter.jsx:125 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:21 +#: src/components/users/RootAuthMethods.tsx:71 +msgid "Status" +msgstr "Estado" -#: src/components/storage/ZFCPPage.jsx:441 -msgid "Read zFCP devices" -msgstr "Leer dispositivos zFCP" +#: src/components/storage/dasd/DASDTable.tsx:74 +msgid "Type" +msgstr "Tipo" -#: src/components/storage/ZFCPPage.jsx:452 -msgid "" -"Automatic LUN scan is [enabled]. Activating a controller which is running in " -"NPIV mode will automatically configures all its LUNs." -msgstr "" -"La exploración automática de LUN está [habilitada]. La activación de un " -"controlador que se ejecuta en modo NPIV configurará automáticamente todos " -"sus LUN." +#. TRANSLATORS: table header, the column contains "Yes"/"No" values +#. for the DIAG access mode (special disk access mode on IBM mainframes), +#. usually keep untranslated +#: src/components/storage/dasd/DASDTable.tsx:78 +msgid "DIAG" +msgstr "DIAG" -#: src/components/storage/ZFCPPage.jsx:457 -msgid "" -"Automatic LUN scan is [disabled]. LUNs have to be manually configured after " -"activating a controller." -msgstr "" -"La exploración automática de LUN está [deshabilitada]. Los LUN deben " -"configurarse manualmente después de activar un controlador." +#: src/components/storage/dasd/DASDTable.tsx:79 +msgid "Formatted" +msgstr "Formateado" -#: src/components/storage/ZFCPPage.jsx:519 -msgid "Activate a zFCP disk" -msgstr "Activar un disco zFCP" +#: src/components/storage/dasd/DASDTable.tsx:80 +msgid "Partition Info" +msgstr "Información de la partición" -#: src/components/storage/ZFCPPage.jsx:553 -msgid "Please, try to activate a zFCP controller." -msgstr "Por favor, intente activar un controlador zFCP." +#. TRANSLATORS: drop down menu label +#: src/components/storage/dasd/DASDTable.tsx:119 +msgid "Perform an action" +msgstr "Realizar una acción" -#: src/components/storage/ZFCPPage.jsx:559 -msgid "Please, try to activate a zFCP disk." -msgstr "Por favor, intente activar un disco zFCP." +#: src/components/storage/dasd/DASDTable.tsx:126 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:51 +msgid "Activate" +msgstr "Activar" -#: src/components/storage/ZFCPPage.jsx:562 -msgid "Activate zFCP disk" -msgstr "Activar disco zFCP" +#: src/components/storage/dasd/DASDTable.tsx:130 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:56 +msgid "Deactivate" +msgstr "Desactivar" -#: src/components/storage/ZFCPPage.jsx:570 -msgid "No zFCP disks found." -msgstr "No se encontraron discos zFCP." +#: src/components/storage/dasd/DASDTable.tsx:135 +msgid "Set DIAG On" +msgstr "Activar DIAG" -#: src/components/storage/ZFCPPage.jsx:586 -msgid "Activate new disk" -msgstr "Activar nuevo disco" +#: src/components/storage/dasd/DASDTable.tsx:139 +msgid "Set DIAG Off" +msgstr "Desactivar DIAG" -#. TRANSLATORS: section title -#: src/components/storage/ZFCPPage.jsx:599 -msgid "Disks" -msgstr "Discos" +#: src/components/storage/dasd/DASDTable.tsx:144 +msgid "Format" +msgstr "Formatear" + +#: src/components/storage/dasd/DASDTable.tsx:280 +#: src/components/storage/dasd/DASDTable.tsx:281 +msgid "Filter by min channel" +msgstr "Filtrar por canal mínimo" -#: src/components/storage/device-utils.tsx:74 +#: src/components/storage/dasd/DASDTable.tsx:288 +msgid "Remove min channel filter" +msgstr "Eliminar filtro de canal mínimo" + +#: src/components/storage/dasd/DASDTable.tsx:302 +#: src/components/storage/dasd/DASDTable.tsx:303 +msgid "Filter by max channel" +msgstr "Filtrar por canal máximo" + +#: src/components/storage/dasd/DASDTable.tsx:310 +msgid "Remove max channel filter" +msgstr "Eliminar filtro de canal máximo" + +#: src/components/storage/device-utils.tsx:75 msgid "Unused space" msgstr "Espacio no utilizado" -#: src/components/storage/iscsi/AuthFields.jsx:70 +#: src/components/storage/iscsi/AuthFields.jsx:71 msgid "Only available if authentication by target is provided" msgstr "Solo disponible si se proporciona autenticación por destino" -#: src/components/storage/iscsi/AuthFields.jsx:77 +#: src/components/storage/iscsi/AuthFields.jsx:78 msgid "Authentication by target" msgstr "Autenticación por objetivo" -#: src/components/storage/iscsi/AuthFields.jsx:78 -#: src/components/storage/iscsi/AuthFields.jsx:82 -#: src/components/storage/iscsi/AuthFields.jsx:84 -#: src/components/storage/iscsi/AuthFields.jsx:104 -#: src/components/storage/iscsi/AuthFields.jsx:108 -#: src/components/storage/iscsi/AuthFields.jsx:110 +#: src/components/storage/iscsi/AuthFields.jsx:79 +#: src/components/storage/iscsi/AuthFields.jsx:83 +#: src/components/storage/iscsi/AuthFields.jsx:85 +#: src/components/storage/iscsi/AuthFields.jsx:105 +#: src/components/storage/iscsi/AuthFields.jsx:109 +#: src/components/storage/iscsi/AuthFields.jsx:111 msgid "User name" msgstr "Nombre de usuario" -#: src/components/storage/iscsi/AuthFields.jsx:88 -#: src/components/storage/iscsi/AuthFields.jsx:116 +#: src/components/storage/iscsi/AuthFields.jsx:89 +#: src/components/storage/iscsi/AuthFields.jsx:117 msgid "Incorrect user name" msgstr "Nombre de usuario incorrecto" -#: src/components/storage/iscsi/AuthFields.jsx:99 -#: src/components/storage/iscsi/AuthFields.jsx:130 +#: src/components/storage/iscsi/AuthFields.jsx:100 +#: src/components/storage/iscsi/AuthFields.jsx:131 msgid "Incorrect password" msgstr "Contraseña incorrecta" -#: src/components/storage/iscsi/AuthFields.jsx:102 +#: src/components/storage/iscsi/AuthFields.jsx:103 msgid "Authentication by initiator" msgstr "Autenticación por iniciador" -#: src/components/storage/iscsi/AuthFields.jsx:123 +#: src/components/storage/iscsi/AuthFields.jsx:124 msgid "Target Password" msgstr "Contraseña de destino" #. TRANSLATORS: popup title -#: src/components/storage/iscsi/DiscoverForm.tsx:94 +#: src/components/storage/iscsi/DiscoverForm.tsx:95 msgid "Discover iSCSI Targets" msgstr "Descubrir los objetivos iSCSI" -#: src/components/storage/iscsi/DiscoverForm.tsx:99 -#: src/components/storage/iscsi/LoginForm.jsx:70 +#: src/components/storage/iscsi/DiscoverForm.tsx:100 +#: src/components/storage/iscsi/LoginForm.jsx:71 msgid "Make sure you provide the correct values" msgstr "Asegúrese de proporcionar los valores correctos" -#: src/components/storage/iscsi/DiscoverForm.tsx:103 +#: src/components/storage/iscsi/DiscoverForm.tsx:104 msgid "IP address" msgstr "Dirección IP" #. TRANSLATORS: network address -#: src/components/storage/iscsi/DiscoverForm.tsx:108 -#: src/components/storage/iscsi/DiscoverForm.tsx:110 +#: src/components/storage/iscsi/DiscoverForm.tsx:109 +#: src/components/storage/iscsi/DiscoverForm.tsx:111 msgid "Address" msgstr "Dirección" -#: src/components/storage/iscsi/DiscoverForm.tsx:115 +#: src/components/storage/iscsi/DiscoverForm.tsx:116 msgid "Incorrect IP address" msgstr "Dirección IP incorrecta" #. TRANSLATORS: network port number -#: src/components/storage/iscsi/DiscoverForm.tsx:117 -#: src/components/storage/iscsi/DiscoverForm.tsx:122 -#: src/components/storage/iscsi/DiscoverForm.tsx:124 +#: src/components/storage/iscsi/DiscoverForm.tsx:118 +#: src/components/storage/iscsi/DiscoverForm.tsx:123 +#: src/components/storage/iscsi/DiscoverForm.tsx:125 msgid "Port" msgstr "Puerto" -#: src/components/storage/iscsi/DiscoverForm.tsx:129 +#: src/components/storage/iscsi/DiscoverForm.tsx:130 msgid "Incorrect port" msgstr "Puerto incorrecto" #. TRANSLATORS: %s is replaced by the iSCSI target node name -#: src/components/storage/iscsi/EditNodeForm.tsx:48 +#: src/components/storage/iscsi/EditNodeForm.tsx:49 #, c-format msgid "Edit %s" msgstr "Editar %s" -#: src/components/storage/iscsi/InitiatorForm.tsx:42 +#: src/components/storage/iscsi/InitiatorForm.tsx:43 msgid "Edit iSCSI Initiator" msgstr "Editar iniciador iSCSI" #. TRANSLATORS: iSCSI initiator name -#: src/components/storage/iscsi/InitiatorForm.tsx:49 +#: src/components/storage/iscsi/InitiatorForm.tsx:50 msgid "Initiator name" msgstr "Nombre del iniciador" #. TRANSLATORS: usually just keep the original text #. iBFT = iSCSI Boot Firmware Table, HW support for booting from iSCSI -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:71 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -#: src/components/storage/iscsi/NodesPresenter.jsx:123 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:72 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/iscsi/NodesPresenter.jsx:124 msgid "iBFT" msgstr "iBFT" -#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:72 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:58 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:73 msgid "Offload card" msgstr "Descargar tarjeta" #. TRANSLATORS: iSCSI initiator section name -#: src/components/storage/iscsi/InitiatorSection.tsx:35 +#: src/components/storage/iscsi/InitiatorSection.tsx:36 msgid "Initiator" msgstr "Iniciador" #. TRANSLATORS: %s is replaced by the iSCSI target name -#: src/components/storage/iscsi/LoginForm.jsx:66 +#: src/components/storage/iscsi/LoginForm.jsx:67 #, c-format msgid "Login %s" msgstr "Iniciar sesión %s" #. TRANSLATORS: iSCSI start up mode (on boot/manual/automatic) -#: src/components/storage/iscsi/LoginForm.jsx:74 -#: src/components/storage/iscsi/LoginForm.jsx:77 +#: src/components/storage/iscsi/LoginForm.jsx:75 +#: src/components/storage/iscsi/LoginForm.jsx:78 msgid "Startup" msgstr "Puesta en marcha" -#: src/components/storage/iscsi/NodeStartupOptions.js:26 +#: src/components/storage/iscsi/NodeStartupOptions.js:27 msgid "On boot" msgstr "En arranque" #. TRANSLATORS: iSCSI connection status, %s is replaced by node label -#: src/components/storage/iscsi/NodesPresenter.jsx:68 +#: src/components/storage/iscsi/NodesPresenter.jsx:69 #, c-format msgid "Connected (%s)" msgstr "Conectado (%s)" -#: src/components/storage/iscsi/NodesPresenter.jsx:83 +#: src/components/storage/iscsi/NodesPresenter.jsx:84 msgid "Login" msgstr "Acceder" -#: src/components/storage/iscsi/NodesPresenter.jsx:87 +#: src/components/storage/iscsi/NodesPresenter.jsx:88 msgid "Logout" msgstr "Cerrar sesión" -#: src/components/storage/iscsi/NodesPresenter.jsx:100 -#: src/components/storage/iscsi/NodesPresenter.jsx:121 +#: src/components/storage/iscsi/NodesPresenter.jsx:101 +#: src/components/storage/iscsi/NodesPresenter.jsx:122 msgid "Portal" msgstr "Portal" -#: src/components/storage/iscsi/NodesPresenter.jsx:101 -#: src/components/storage/iscsi/NodesPresenter.jsx:122 +#: src/components/storage/iscsi/NodesPresenter.jsx:102 +#: src/components/storage/iscsi/NodesPresenter.jsx:123 msgid "Interface" msgstr "Interfaz" -#: src/components/storage/iscsi/TargetsSection.tsx:56 +#: src/components/storage/iscsi/TargetsSection.tsx:57 msgid "No iSCSI targets found." msgstr "No se encontraron objetivos iSCSI." -#: src/components/storage/iscsi/TargetsSection.tsx:58 +#: src/components/storage/iscsi/TargetsSection.tsx:59 msgid "" "Please, perform an iSCSI discovery in order to find available iSCSI targets." msgstr "" "Realice una exploación de iSCSI para encontrar objetivos iSCSI disponibles." -#: src/components/storage/iscsi/TargetsSection.tsx:62 +#: src/components/storage/iscsi/TargetsSection.tsx:63 msgid "Discover iSCSI targets" msgstr "Descubrir objetivos iSCSI" #. TRANSLATORS: button label, starts iSCSI discovery -#: src/components/storage/iscsi/TargetsSection.tsx:74 +#: src/components/storage/iscsi/TargetsSection.tsx:75 msgid "Discover" msgstr "Descubrir" #. TRANSLATORS: iSCSI targets section title -#: src/components/storage/iscsi/TargetsSection.tsx:85 +#: src/components/storage/iscsi/TargetsSection.tsx:86 msgid "Targets" msgstr "Objetivos" -#: src/components/storage/utils.ts:60 +#: src/components/storage/utils.ts:61 msgid "KiB" msgstr "KB" -#: src/components/storage/utils.ts:61 +#: src/components/storage/utils.ts:62 msgid "MiB" msgstr "MB" -#: src/components/storage/utils.ts:62 +#: src/components/storage/utils.ts:63 msgid "GiB" msgstr "GB" -#: src/components/storage/utils.ts:63 +#: src/components/storage/utils.ts:64 msgid "TiB" msgstr "TB" -#: src/components/storage/utils.ts:64 +#: src/components/storage/utils.ts:65 msgid "PiB" msgstr "PB" -#: src/components/storage/utils.ts:72 +#: src/components/storage/utils.ts:73 msgid "Delete current content" msgstr "Eliminar el contenido actual" -#: src/components/storage/utils.ts:73 +#: src/components/storage/utils.ts:74 msgid "All partitions will be removed and any data in the disks will be lost." msgstr "" "Se eliminarán todas las particiones y se perderán todos los datos de los " @@ -2340,15 +2258,15 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space deleting current content". Keep it short -#: src/components/storage/utils.ts:77 +#: src/components/storage/utils.ts:78 msgid "deleting current content" msgstr "eliminando el contenido actual" -#: src/components/storage/utils.ts:82 +#: src/components/storage/utils.ts:83 msgid "Shrink existing partitions" msgstr "Reducir las particiones existentes" -#: src/components/storage/utils.ts:83 +#: src/components/storage/utils.ts:84 msgid "The data is kept, but the current partitions will be resized as needed." msgstr "" "Los datos se conservan, pero las particiones actuales cambiarán de tamaño " @@ -2356,15 +2274,15 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space shrinking partitions". Keep it short. -#: src/components/storage/utils.ts:87 +#: src/components/storage/utils.ts:88 msgid "shrinking partitions" msgstr "reduciendo las particiones" -#: src/components/storage/utils.ts:92 +#: src/components/storage/utils.ts:93 msgid "Use available space" msgstr "Utilice el espacio disponible" -#: src/components/storage/utils.ts:93 +#: src/components/storage/utils.ts:94 msgid "" "The data is kept. Only the space not assigned to any partition will be used." msgstr "" @@ -2373,33 +2291,124 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space without modifying any partition". Keep it short. -#: src/components/storage/utils.ts:97 +#: src/components/storage/utils.ts:98 msgid "without modifying any partition" msgstr "sin modificar ninguna partición" -#: src/components/storage/utils.ts:102 +#: src/components/storage/utils.ts:103 msgid "Custom" msgstr "Personalizado" -#: src/components/storage/utils.ts:103 +#: src/components/storage/utils.ts:104 msgid "Select what to do with each partition." msgstr "Seleccione qué hacer con cada partición." #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space with custom actions". Keep it short. -#: src/components/storage/utils.ts:107 +#: src/components/storage/utils.ts:108 msgid "with custom actions" msgstr "con acciones personalizadas" -#: src/components/users/FirstUser.tsx:33 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:22 +msgid "Auto LUNs Scan" +msgstr "Escaneo automático de LUN" + +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:33 +msgid "Activated" +msgstr "Activado" + +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:33 +msgid "Deactivated" +msgstr "Desactivado" + +#: src/components/storage/zfcp/ZFCPDiskActivationPage.tsx:62 +msgid "zFCP Disk Activation" +msgstr "Activación del disco zFCP" + +#. TRANSLATORS: zFCP disk activation form +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:112 +msgid "zFCP Disk activation form" +msgstr "Formulario de activación del disco zFCP" + +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:115 +msgid "The zFCP disk was not activated." +msgstr "El disco zFCP no estaba activado." + +#. TRANSLATORS: abbrev. World Wide Port Name +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:132 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:44 +msgid "WWPN" +msgstr "WWPN" + +#. TRANSLATORS: abbrev. Logical Unit Number +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:140 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:45 +msgid "LUN" +msgstr "LUN" + +#: src/components/storage/zfcp/ZFCPPage.tsx:54 +msgid "" +"Automatic LUN scan is [enabled]. Activating a controller which is " +"running in NPIV mode will automatically configures all its LUNs." +msgstr "" +"La exploración automática de LUN está [habilitada]. La activación de un " +"controlador que se ejecuta en modo NPIV configurará automáticamente todos " +"sus LUN." + +#: src/components/storage/zfcp/ZFCPPage.tsx:59 +msgid "" +"Automatic LUN scan is [disabled]. LUNs have to be manually configured " +"after activating a controller." +msgstr "" +"La exploración automática de LUN está [deshabilitada]. Los LUN deben " +"configurarse manualmente después de activar un controlador." + +#: src/components/storage/zfcp/ZFCPPage.tsx:80 +msgid "Please, try to activate a zFCP disk." +msgstr "Por favor, intente activar un disco zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:81 +#: src/components/storage/zfcp/ZFCPPage.tsx:164 +msgid "Please, try to activate a zFCP controller." +msgstr "Por favor, intente activar un controlador zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:85 +msgid "No zFCP disks found." +msgstr "No se encontraron discos zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:92 +msgid "Activate zFCP disk" +msgstr "Activar disco zFCP" + +#: src/components/storage/zfcp/ZFCPPage.tsx:115 +msgid "Activate new disk" +msgstr "Activar nuevo disco" + +#: src/components/storage/zfcp/ZFCPPage.tsx:133 +msgid "Disks" +msgstr "Discos" + +#: src/components/storage/zfcp/ZFCPPage.tsx:143 +msgid "Controllers" +msgstr "Controladores" + +#: src/components/storage/zfcp/ZFCPPage.tsx:156 +msgid "No zFCP controllers found." +msgstr "No se encontraron controladores zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:160 +msgid "Read zFCP devices" +msgstr "Leer dispositivos zFCP" + +#: src/components/users/FirstUser.tsx:34 msgid "Define a user now" msgstr "Definir un usuario ahora" -#: src/components/users/FirstUser.tsx:39 +#: src/components/users/FirstUser.tsx:40 msgid "No user defined yet." msgstr "Ningún usuario definido todavía." -#: src/components/users/FirstUser.tsx:43 +#: src/components/users/FirstUser.tsx:44 msgid "" "Please, be aware that a user must be defined before installing the system to " "be able to log into it." @@ -2407,72 +2416,72 @@ msgstr "" "Tenga en cuenta que se debe definir un usuario antes de instalar el sistema " "para poder iniciar sesión en él." -#: src/components/users/FirstUser.tsx:55 -#: src/components/users/FirstUserForm.tsx:220 +#: src/components/users/FirstUser.tsx:56 +#: src/components/users/FirstUserForm.tsx:221 msgid "Full name" msgstr "Nombre completo" -#: src/components/users/FirstUser.tsx:56 -#: src/components/users/FirstUserForm.tsx:234 -#: src/components/users/FirstUserForm.tsx:239 -#: src/components/users/FirstUserForm.tsx:242 +#: src/components/users/FirstUser.tsx:57 +#: src/components/users/FirstUserForm.tsx:235 +#: src/components/users/FirstUserForm.tsx:240 +#: src/components/users/FirstUserForm.tsx:243 msgid "Username" msgstr "Nombre de usuario" -#: src/components/users/FirstUser.tsx:87 -#: src/components/users/RootAuthMethods.tsx:117 -#: src/components/users/RootAuthMethods.tsx:129 +#: src/components/users/FirstUser.tsx:88 +#: src/components/users/RootAuthMethods.tsx:118 +#: src/components/users/RootAuthMethods.tsx:130 msgid "Discard" msgstr "Descartar" -#: src/components/users/FirstUser.tsx:94 +#: src/components/users/FirstUser.tsx:95 msgid "First user" msgstr "Primer usuario" -#: src/components/users/FirstUserForm.tsx:57 +#: src/components/users/FirstUserForm.tsx:58 msgid "Username suggestion dropdown" msgstr "Menú desplegable de sugerencias de nombre de usuario" #. TRANSLATORS: dropdown username suggestions -#: src/components/users/FirstUserForm.tsx:72 +#: src/components/users/FirstUserForm.tsx:73 msgid "Use suggested username" msgstr "Usar nombre de usuario sugerido" -#: src/components/users/FirstUserForm.tsx:147 +#: src/components/users/FirstUserForm.tsx:148 msgid "All fields are required" msgstr "Todos los campos son obligatorios" -#: src/components/users/FirstUserForm.tsx:204 +#: src/components/users/FirstUserForm.tsx:205 msgid "Create user" msgstr "Crear usuario" -#: src/components/users/FirstUserForm.tsx:204 +#: src/components/users/FirstUserForm.tsx:205 msgid "Edit user" msgstr "Editar usuario" -#: src/components/users/FirstUserForm.tsx:224 -#: src/components/users/FirstUserForm.tsx:226 +#: src/components/users/FirstUserForm.tsx:225 +#: src/components/users/FirstUserForm.tsx:227 msgid "User full name" msgstr "Nombre completo del usuario" -#: src/components/users/FirstUserForm.tsx:264 +#: src/components/users/FirstUserForm.tsx:265 msgid "Edit password too" msgstr "Editar contraseña también" -#: src/components/users/FirstUserForm.tsx:280 +#: src/components/users/FirstUserForm.tsx:281 msgid "user autologin" msgstr "inicio de sesión automático del usuario" #. TRANSLATORS: check box label -#: src/components/users/FirstUserForm.tsx:284 +#: src/components/users/FirstUserForm.tsx:285 msgid "Auto-login" msgstr "Inicio de sesión automático" -#: src/components/users/RootAuthMethods.tsx:33 +#: src/components/users/RootAuthMethods.tsx:34 msgid "No root authentication method defined yet." msgstr "Aún no se ha definido ningún método de autenticación de root." -#: src/components/users/RootAuthMethods.tsx:37 +#: src/components/users/RootAuthMethods.tsx:38 msgid "" "Please, define at least one authentication method for logging into the " "system as root." @@ -2481,53 +2490,53 @@ msgstr "" "el sistema como root." #. TRANSLATORS: table header, user authentication method -#: src/components/users/RootAuthMethods.tsx:68 +#: src/components/users/RootAuthMethods.tsx:69 msgid "Method" msgstr "Método" -#: src/components/users/RootAuthMethods.tsx:77 +#: src/components/users/RootAuthMethods.tsx:78 msgid "Already set" msgstr "Ya establecida" -#: src/components/users/RootAuthMethods.tsx:77 -#: src/components/users/RootAuthMethods.tsx:85 +#: src/components/users/RootAuthMethods.tsx:78 +#: src/components/users/RootAuthMethods.tsx:86 msgid "Not set" msgstr "No establecida" -#: src/components/users/RootAuthMethods.tsx:83 +#: src/components/users/RootAuthMethods.tsx:84 msgid "SSH Key" msgstr "Clave SSH" -#: src/components/users/RootAuthMethods.tsx:113 -#: src/components/users/RootAuthMethods.tsx:125 +#: src/components/users/RootAuthMethods.tsx:114 +#: src/components/users/RootAuthMethods.tsx:126 msgid "Set" msgstr "Establecer" -#: src/components/users/RootAuthMethods.tsx:137 +#: src/components/users/RootAuthMethods.tsx:138 msgid "Root authentication" msgstr "Autenticación de root" -#: src/components/users/RootAuthMethods.tsx:144 +#: src/components/users/RootAuthMethods.tsx:145 msgid "Set a password" msgstr "Establecer una contraseña" -#: src/components/users/RootAuthMethods.tsx:148 +#: src/components/users/RootAuthMethods.tsx:149 msgid "Upload a SSH Public Key" msgstr "Cargar una clave pública SSH" -#: src/components/users/RootAuthMethods.tsx:165 +#: src/components/users/RootAuthMethods.tsx:166 msgid "Change the root password" msgstr "Cambiar la contraseña de root" -#: src/components/users/RootAuthMethods.tsx:165 +#: src/components/users/RootAuthMethods.tsx:166 msgid "Set a root password" msgstr "Establecer una contraseña de root" -#: src/components/users/RootAuthMethods.tsx:175 +#: src/components/users/RootAuthMethods.tsx:176 msgid "Edit the SSH Public Key for root" msgstr "Editar la clave pública SSH para root" -#: src/components/users/RootAuthMethods.tsx:176 +#: src/components/users/RootAuthMethods.tsx:177 msgid "Add a SSH Public Key for root" msgstr "Añadir una clave pública SSH para root" @@ -2535,32 +2544,42 @@ msgstr "Añadir una clave pública SSH para root" msgid "Root password" msgstr "Contraseña de root" -#: src/components/users/RootSSHKeyPopup.jsx:43 +#: src/components/users/RootSSHKeyPopup.jsx:44 msgid "Set root SSH public key" msgstr "Establecer clave pública SSH de root" -#: src/components/users/RootSSHKeyPopup.jsx:71 +#: src/components/users/RootSSHKeyPopup.jsx:72 msgid "Root SSH public key" msgstr "Clave pública SSH de root" -#: src/components/users/RootSSHKeyPopup.jsx:76 +#: src/components/users/RootSSHKeyPopup.jsx:77 msgid "Upload, paste, or drop an SSH public key" msgstr "Cargar, pegar o arrastrar una clave pública SSH" #. TRANSLATORS: push button label -#: src/components/users/RootSSHKeyPopup.jsx:78 +#: src/components/users/RootSSHKeyPopup.jsx:79 msgid "Upload" msgstr "Cargar" #. TRANSLATORS: push button label, clears the related input field -#: src/components/users/RootSSHKeyPopup.jsx:80 +#: src/components/users/RootSSHKeyPopup.jsx:81 msgid "Clear" msgstr "Limpiar" -#: src/router.js:48 +#: src/router.js:49 msgid "Overview" msgstr "Descripción general" +#: src/routes/storage.tsx:86 +msgid "ZFCP" +msgstr "" + +#~ msgid "Please, try to read the zFCP devices again." +#~ msgstr "Por favor, intente leer los dispositivos zFCP nuevamente." + +#~ msgid "Activate a zFCP disk" +#~ msgstr "Activar un disco zFCP" + #~ msgid "Waiting for progress report" #~ msgstr "Esperando el informe de progreso" diff --git a/web/po/fr.po b/web/po/fr.po index ccd42f4c93..b750934d1c 100644 --- a/web/po/fr.po +++ b/web/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-16 07:57+0000\n" +"POT-Creation-Date: 2024-09-22 02:43+0000\n" "PO-Revision-Date: 2024-08-14 23:47+0000\n" "Last-Translator: faila fail \n" "Language-Team: French 1;\n" "X-Generator: Weblate 5.6.2\n" -#: src/components/core/About.tsx:46 +#: src/components/core/About.tsx:47 #, fuzzy msgid "About" msgstr "À propos d'Agama" -#: src/components/core/About.tsx:64 +#: src/components/core/About.tsx:65 msgid "About Agama" msgstr "À propos d'Agama" -#: src/components/core/About.tsx:69 +#: src/components/core/About.tsx:70 msgid "" "Agama is an experimental installer for (open)SUSE systems. It is still under " "development so, please, do not use it in production environments. If you " @@ -43,25 +43,25 @@ msgstr "" #. TRANSLATORS: content of the "About" popup (2/2) #. %s is replaced by the project URL -#: src/components/core/About.tsx:81 +#: src/components/core/About.tsx:82 #, c-format msgid "For more information, please visit the project's repository at %s." msgstr "Pour plus d'informations, veuillez consulter le dépôt du projet à %s." -#: src/components/core/About.tsx:87 src/components/core/LogsButton.tsx:123 -#: src/components/software/SoftwarePatternsSelection.tsx:205 +#: src/components/core/About.tsx:88 src/components/core/LogsButton.tsx:124 +#: src/components/software/SoftwarePatternsSelection.tsx:206 msgid "Close" msgstr "Fermer" -#: src/components/core/ChangeProductLink.tsx:38 +#: src/components/core/ChangeProductLink.tsx:39 msgid "Change product" msgstr "Changer de produit" -#: src/components/core/InstallButton.jsx:32 +#: src/components/core/InstallButton.jsx:33 msgid "Confirm Installation" msgstr "Confirmer l'installation" -#: src/components/core/InstallButton.jsx:36 +#: src/components/core/InstallButton.jsx:37 msgid "" "If you continue, partitions on your hard disk will be modified according to " "the provided installation settings." @@ -69,34 +69,34 @@ msgstr "" "Si vous continuez, les partitions de votre disque dur seront modifiées selon " "les paramètres d'installation fournis." -#: src/components/core/InstallButton.jsx:40 +#: src/components/core/InstallButton.jsx:41 msgid "Please, cancel and check the settings if you are unsure." msgstr "Veuillez annuler et vérifier les paramètres si vous n'êtes pas sûr." #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:45 +#: src/components/core/InstallButton.jsx:46 msgid "Continue" msgstr "Continuer" #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:49 src/components/core/Page.tsx:237 -#: src/components/core/Popup.jsx:132 -#: src/components/network/WifiConnectionForm.tsx:146 -#: src/components/product/ProductSelectionPage.tsx:122 +#: src/components/core/InstallButton.jsx:50 src/components/core/Page.tsx:238 +#: src/components/core/Popup.jsx:133 +#: src/components/network/WifiConnectionForm.tsx:145 +#: src/components/product/ProductSelectionPage.tsx:123 msgid "Cancel" msgstr "Annuler" #. TRANSLATORS: button label -#: src/components/core/InstallButton.jsx:84 +#: src/components/core/InstallButton.jsx:85 msgid "Install" msgstr "Installer" -#: src/components/core/InstallationFinished.jsx:49 +#: src/components/core/InstallationFinished.jsx:50 msgid "TPM sealing requires the new system to be booted directly." msgstr "" "Le scellement via TPM impose que le nouveau système soit démarré directement." -#: src/components/core/InstallationFinished.jsx:54 +#: src/components/core/InstallationFinished.jsx:55 msgid "" "If a local media was used to run this installer, remove it before the next " "boot." @@ -104,15 +104,15 @@ msgstr "" "Si un périphérique local a été utilisé pour exécuter ce programme " "d'installation, retirez-le avant le prochain démarrage." -#: src/components/core/InstallationFinished.jsx:58 +#: src/components/core/InstallationFinished.jsx:59 msgid "Hide details" msgstr "Masquer les détails" -#: src/components/core/InstallationFinished.jsx:58 +#: src/components/core/InstallationFinished.jsx:59 msgid "See more details" msgstr "Plus de détails" -#: src/components/core/InstallationFinished.jsx:63 +#: src/components/core/InstallationFinished.jsx:64 msgid "" "The final step to configure the Trusted Platform Module (TPM) to " "automatically open encrypted devices will take place during the first boot " @@ -124,129 +124,128 @@ msgstr "" "premier démarrage du nouveau système. Pour que cela fonctionne, la machine " "doit démarrer directement avec le nouveau chargeur d'amorçage." -#: src/components/core/InstallationFinished.jsx:106 +#: src/components/core/InstallationFinished.jsx:107 msgid "Congratulations!" msgstr "Félicitations!" -#: src/components/core/InstallationFinished.jsx:115 +#: src/components/core/InstallationFinished.jsx:116 msgid "The installation on your machine is complete." msgstr "L'installation sur votre machine est terminée." -#: src/components/core/InstallationFinished.jsx:118 +#: src/components/core/InstallationFinished.jsx:119 msgid "At this point you can power off the machine." msgstr "Vous pouvez à présent éteindre la machine." -#: src/components/core/InstallationFinished.jsx:120 +#: src/components/core/InstallationFinished.jsx:121 msgid "At this point you can reboot the machine to log in to the new system." msgstr "" "Vous pouvez à présent redémarrer la machine pour vous connecter au nouveau " "système." -#: src/components/core/InstallationFinished.jsx:129 +#: src/components/core/InstallationFinished.jsx:130 msgid "Finish" msgstr "Terminer" -#: src/components/core/InstallationFinished.jsx:129 +#: src/components/core/InstallationFinished.jsx:130 msgid "Reboot" msgstr "Redémarrer" -#: src/components/core/InstallationProgress.jsx:30 +#: src/components/core/InstallationProgress.jsx:31 msgid "Installing the system, please wait ..." msgstr "Installation du système, veuillez patienter ..." -#: src/components/core/InstallerOptions.jsx:92 +#: src/components/core/InstallerOptions.jsx:93 msgid "Show installer options" msgstr "Afficher les options d'installation" -#: src/components/core/InstallerOptions.jsx:95 +#: src/components/core/InstallerOptions.jsx:96 msgid "Installer options" msgstr "Options de l'installateur" -#: src/components/core/InstallerOptions.jsx:98 -#: src/components/core/InstallerOptions.jsx:102 +#: src/components/core/InstallerOptions.jsx:99 #: src/components/core/InstallerOptions.jsx:103 -#: src/components/l10n/L10nPage.jsx:48 +#: src/components/core/InstallerOptions.jsx:104 +#: src/components/l10n/L10nPage.jsx:49 msgid "Language" msgstr "Langue" -#: src/components/core/InstallerOptions.jsx:115 -#: src/components/core/InstallerOptions.jsx:120 +#: src/components/core/InstallerOptions.jsx:116 +#: src/components/core/InstallerOptions.jsx:121 msgid "Keyboard layout" msgstr "Disposition du clavier" -#: src/components/core/InstallerOptions.jsx:129 +#: src/components/core/InstallerOptions.jsx:130 msgid "Cannot be changed in remote installation" msgstr "Ne peut être modifié dans l'installation à distance" -#: src/components/core/InstallerOptions.jsx:142 -#: src/components/core/Page.tsx:270 -#: src/components/storage/EncryptionSettingsDialog.tsx:153 -#: src/components/storage/VolumeDialog.tsx:640 -#: src/components/storage/ZFCPPage.jsx:528 +#: src/components/core/InstallerOptions.jsx:143 +#: src/components/core/Page.tsx:271 +#: src/components/storage/EncryptionSettingsDialog.tsx:154 +#: src/components/storage/VolumeDialog.tsx:641 msgid "Accept" msgstr "Accepter" -#: src/components/core/IssuesHint.jsx:34 +#: src/components/core/IssuesHint.jsx:35 msgid "" "Before starting the installation, you need to address the following problems:" msgstr "" "Avant de démarrer l'installation, vous devez résoudre les problèmes " "suivants :" -#: src/components/core/ListSearch.jsx:48 +#: src/components/core/ListSearch.jsx:49 msgid "Search" msgstr "Rechercher" -#: src/components/core/LoginPage.tsx:59 +#: src/components/core/LoginPage.tsx:60 msgid "Could not log in. Please, make sure that the password is correct." msgstr "" "Connexion impossible. Veuillez vous assurer que le mot de passe soit correct." -#: src/components/core/LoginPage.tsx:61 +#: src/components/core/LoginPage.tsx:62 msgid "Could not authenticate against the server, please check it." msgstr "Impossible de s'authentifier auprès du serveur, veuillez le vérifier." #. TRANSLATORS: Title for a form to provide the password for the root user. %s #. will be replaced by "root" -#: src/components/core/LoginPage.tsx:69 +#: src/components/core/LoginPage.tsx:70 #, c-format msgid "Log in as %s" msgstr "Se connecter en tant que %s" -#: src/components/core/LoginPage.tsx:75 +#: src/components/core/LoginPage.tsx:76 msgid "The installer requires [root] user privileges." msgstr "" "Le programme d'installation requiert les privilèges de l'utilisateur [root]." -#: src/components/core/LoginPage.tsx:90 +#: src/components/core/LoginPage.tsx:91 msgid "Please, provide its password to log in to the system." msgstr "Veuillez indiquer son mot de passe pour vous connecter au système." -#: src/components/core/LoginPage.tsx:91 +#: src/components/core/LoginPage.tsx:92 msgid "Login form" msgstr "Formulaire de connexion" -#: src/components/core/LoginPage.tsx:97 +#: src/components/core/LoginPage.tsx:98 msgid "Password input" msgstr "Saisie du mot de passe" -#: src/components/core/LoginPage.tsx:106 +#: src/components/core/LoginPage.tsx:107 msgid "Log in" msgstr "Se connecter" -#: src/components/core/LoginPage.tsx:113 +#: src/components/core/LoginPage.tsx:114 msgid "More about this" msgstr "En savoir plus" -#: src/components/core/LogsButton.tsx:98 +#: src/components/core/LogsButton.tsx:99 msgid "Collecting logs..." msgstr "Collecte des journaux..." -#: src/components/core/LogsButton.tsx:98 src/components/core/LogsButton.tsx:101 +#: src/components/core/LogsButton.tsx:99 src/components/core/LogsButton.tsx:102 msgid "Download logs" msgstr "Télécharger les journaux" -#: src/components/core/LogsButton.tsx:108 +#: src/components/core/LogsButton.tsx:109 msgid "" "The browser will run the logs download as soon as they are ready. Please, be " "patient." @@ -254,349 +253,349 @@ msgstr "" "Le navigateur lancera le téléchargement des journaux dès qu'ils seront " "prêts. Veuillez patienter." -#: src/components/core/LogsButton.tsx:118 +#: src/components/core/LogsButton.tsx:119 msgid "Something went wrong while collecting logs. Please, try again." msgstr "" "Un problème s'est produit lors de la collecte des journaux. Veuillez " "réessayer." -#: src/components/core/Page.tsx:259 +#: src/components/core/Page.tsx:260 msgid "Back" msgstr "Retour" -#: src/components/core/PasswordAndConfirmationInput.tsx:64 +#: src/components/core/PasswordAndConfirmationInput.tsx:65 msgid "Passwords do not match" msgstr "Les mots de passe ne correspondent pas" #. TRANSLATORS: field label -#: src/components/core/PasswordAndConfirmationInput.tsx:88 -#: src/components/network/WifiConnectionForm.tsx:133 -#: src/components/questions/QuestionWithPassword.tsx:62 -#: src/components/storage/iscsi/AuthFields.jsx:90 -#: src/components/storage/iscsi/AuthFields.jsx:94 -#: src/components/users/RootAuthMethods.tsx:76 +#: src/components/core/PasswordAndConfirmationInput.tsx:89 +#: src/components/network/WifiConnectionForm.tsx:132 +#: src/components/questions/QuestionWithPassword.tsx:63 +#: src/components/storage/iscsi/AuthFields.jsx:91 +#: src/components/storage/iscsi/AuthFields.jsx:95 +#: src/components/users/RootAuthMethods.tsx:77 msgid "Password" msgstr "Mot de passe" -#: src/components/core/PasswordAndConfirmationInput.tsx:99 +#: src/components/core/PasswordAndConfirmationInput.tsx:100 msgid "Password confirmation" msgstr "Confirmation du mot de passe" -#: src/components/core/PasswordInput.jsx:61 +#: src/components/core/PasswordInput.jsx:62 msgid "Password visibility button" msgstr "Bouton de visibilité du mot de passe" -#: src/components/core/Popup.jsx:92 +#: src/components/core/Popup.jsx:93 msgid "Confirm" msgstr "Confirmer" #. TRANSLATORS: progress message -#: src/components/core/Popup.jsx:210 +#: src/components/core/Popup.jsx:211 msgid "Loading data..." msgstr "Chargement des données..." -#: src/components/core/ProgressReport.jsx:50 +#: src/components/core/ProgressReport.jsx:51 msgid "Pending" msgstr "En attente" -#: src/components/core/ProgressReport.jsx:59 +#: src/components/core/ProgressReport.jsx:60 msgid "In progress" msgstr "En cours" -#: src/components/core/ProgressReport.jsx:74 +#: src/components/core/ProgressReport.jsx:75 msgid "Finished" msgstr "Terminé" -#: src/components/core/RowActions.jsx:64 -#: src/components/storage/PartitionsField.tsx:457 -#: src/components/storage/ProposalActionsSummary.tsx:241 +#: src/components/core/RowActions.jsx:65 +#: src/components/storage/PartitionsField.tsx:458 +#: src/components/storage/ProposalActionsSummary.tsx:242 msgid "Actions" msgstr "Actions" -#: src/components/core/SectionSkeleton.jsx:27 +#: src/components/core/SectionSkeleton.jsx:28 msgid "Waiting" msgstr "En attente" -#: src/components/core/ServerError.jsx:47 +#: src/components/core/ServerError.tsx:46 msgid "Cannot connect to Agama server" msgstr "Impossible de se connecter au serveur Agama" -#: src/components/core/ServerError.jsx:51 +#: src/components/core/ServerError.tsx:50 msgid "Please, check whether it is running." msgstr "Veuillez vérifier s'il fonctionne." -#: src/components/core/ServerError.jsx:56 +#: src/components/core/ServerError.tsx:56 msgid "Reload" msgstr "Recharger" -#: src/components/l10n/KeyboardSelection.tsx:41 +#: src/components/l10n/KeyboardSelection.tsx:42 msgid "Filter by description or keymap code" msgstr "Filtrer par description ou par mappage de clavier" -#: src/components/l10n/KeyboardSelection.tsx:71 +#: src/components/l10n/KeyboardSelection.tsx:72 msgid "None of the keymaps match the filter." msgstr "Aucune des combinaisons de touches ne correspond au filtre." -#: src/components/l10n/KeyboardSelection.tsx:77 +#: src/components/l10n/KeyboardSelection.tsx:78 msgid "Keyboard selection" msgstr "Choix du clavier" -#: src/components/l10n/KeyboardSelection.tsx:91 -#: src/components/l10n/L10nPage.jsx:52 src/components/l10n/L10nPage.jsx:63 -#: src/components/l10n/L10nPage.jsx:74 -#: src/components/l10n/LocaleSelection.tsx:92 -#: src/components/l10n/TimezoneSelection.tsx:130 -#: src/components/product/ProductSelectionPage.tsx:128 -#: src/components/software/SoftwarePatternsSelection.tsx:166 +#: src/components/l10n/KeyboardSelection.tsx:92 +#: src/components/l10n/L10nPage.jsx:53 src/components/l10n/L10nPage.jsx:64 +#: src/components/l10n/L10nPage.jsx:75 +#: src/components/l10n/LocaleSelection.tsx:93 +#: src/components/l10n/TimezoneSelection.tsx:131 +#: src/components/product/ProductSelectionPage.tsx:129 +#: src/components/software/SoftwarePatternsSelection.tsx:167 msgid "Select" msgstr "Sélectionner" -#: src/components/l10n/L10nPage.jsx:41 -#: src/components/overview/L10nSection.jsx:37 src/routes/l10n.tsx:37 +#: src/components/l10n/L10nPage.jsx:42 +#: src/components/overview/L10nSection.jsx:38 src/routes/l10n.tsx:38 msgid "Localization" msgstr "Localisation" -#: src/components/l10n/L10nPage.jsx:49 src/components/l10n/L10nPage.jsx:60 -#: src/components/l10n/L10nPage.jsx:71 +#: src/components/l10n/L10nPage.jsx:50 src/components/l10n/L10nPage.jsx:61 +#: src/components/l10n/L10nPage.jsx:72 msgid "Not selected yet" msgstr "Pas encore sélectionnée" -#: src/components/l10n/L10nPage.jsx:52 src/components/l10n/L10nPage.jsx:63 -#: src/components/l10n/L10nPage.jsx:74 -#: src/components/network/NetworkPage.tsx:63 -#: src/components/storage/InstallationDeviceField.tsx:105 -#: src/components/storage/ProposalActionsSummary.tsx:246 -#: src/components/users/RootAuthMethods.tsx:113 -#: src/components/users/RootAuthMethods.tsx:125 +#: src/components/l10n/L10nPage.jsx:53 src/components/l10n/L10nPage.jsx:64 +#: src/components/l10n/L10nPage.jsx:75 +#: src/components/network/NetworkPage.tsx:64 +#: src/components/storage/InstallationDeviceField.tsx:106 +#: src/components/storage/ProposalActionsSummary.tsx:248 +#: src/components/users/RootAuthMethods.tsx:114 +#: src/components/users/RootAuthMethods.tsx:126 msgid "Change" msgstr "Changer" -#: src/components/l10n/L10nPage.jsx:59 +#: src/components/l10n/L10nPage.jsx:60 msgid "Keyboard" msgstr "Clavier" -#: src/components/l10n/L10nPage.jsx:70 +#: src/components/l10n/L10nPage.jsx:71 msgid "Time zone" msgstr "Fuseau horaire" -#: src/components/l10n/LocaleSelection.tsx:39 +#: src/components/l10n/LocaleSelection.tsx:40 msgid "Filter by language, territory or locale code" msgstr "Filtrer par langue, territoire ou code local" -#: src/components/l10n/LocaleSelection.tsx:72 +#: src/components/l10n/LocaleSelection.tsx:73 msgid "None of the locales match the filter." msgstr "Aucune des langues ne correspond au filtre." -#: src/components/l10n/LocaleSelection.tsx:78 +#: src/components/l10n/LocaleSelection.tsx:79 msgid "Locale selection" msgstr "Sélection de la localité" -#: src/components/l10n/TimezoneSelection.tsx:67 +#: src/components/l10n/TimezoneSelection.tsx:68 msgid "Filter by territory, time zone code or UTC offset" msgstr "Filtrer par territoire, code de fuseau horaire ou décalage UTC" -#: src/components/l10n/TimezoneSelection.tsx:106 +#: src/components/l10n/TimezoneSelection.tsx:107 msgid "None of the time zones match the filter." msgstr "Aucun des fuseaux horaires ne correspond au filtre." -#: src/components/l10n/TimezoneSelection.tsx:112 +#: src/components/l10n/TimezoneSelection.tsx:113 msgid " Timezone selection" msgstr " Sélection du fuseau horaire" -#: src/components/layout/Header.tsx:61 +#: src/components/layout/Header.tsx:62 msgid "Main navigation" msgstr "" -#: src/components/layout/Loading.jsx:29 +#: src/components/layout/Loading.jsx:30 msgid "Loading installation environment, please wait." msgstr "Chargement de l'environnement d'installation, veuillez patienter." #. TRANSLATORS: button label -#: src/components/network/AddressesDataList.tsx:102 -#: src/components/network/DnsDataList.tsx:106 +#: src/components/network/AddressesDataList.tsx:103 +#: src/components/network/DnsDataList.tsx:107 msgid "Remove" msgstr "Supprimer" #. TRANSLATORS: input field name -#: src/components/network/AddressesDataList.tsx:112 -#: src/components/network/IpAddressInput.tsx:34 +#: src/components/network/AddressesDataList.tsx:113 +#: src/components/network/IpAddressInput.tsx:35 msgid "IP Address" msgstr "Adresse IP" #. TRANSLATORS: input field name -#: src/components/network/AddressesDataList.tsx:120 +#: src/components/network/AddressesDataList.tsx:121 msgid "Prefix length or netmask" msgstr "Longueur du préfixe ou masque de sous-réseau" -#: src/components/network/AddressesDataList.tsx:138 +#: src/components/network/AddressesDataList.tsx:139 msgid "Add an address" msgstr "Ajouter une adresse" #. TRANSLATORS: button label -#: src/components/network/AddressesDataList.tsx:138 +#: src/components/network/AddressesDataList.tsx:139 msgid "Add another address" msgstr "Ajouter une autre adresse" -#: src/components/network/AddressesDataList.tsx:143 +#: src/components/network/AddressesDataList.tsx:144 msgid "Addresses" msgstr "Adresses" -#: src/components/network/AddressesDataList.tsx:146 +#: src/components/network/AddressesDataList.tsx:147 msgid "Addresses data list" msgstr "Liste des données d'adresses" -#. TRANSLATORS: table header #. TRANSLATORS: input field for the iSCSI initiator name -#: src/components/network/ConnectionsTable.tsx:65 -#: src/components/network/ConnectionsTable.tsx:94 -#: src/components/storage/ZFCPPage.jsx:381 -#: src/components/storage/iscsi/InitiatorForm.tsx:52 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:53 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:70 -#: src/components/storage/iscsi/NodesPresenter.jsx:99 -#: src/components/storage/iscsi/NodesPresenter.jsx:120 +#. TRANSLATORS: table header +#: src/components/network/ConnectionsTable.tsx:66 +#: src/components/network/ConnectionsTable.tsx:95 +#: src/components/storage/iscsi/InitiatorForm.tsx:53 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:54 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:71 +#: src/components/storage/iscsi/NodesPresenter.jsx:100 +#: src/components/storage/iscsi/NodesPresenter.jsx:121 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:42 msgid "Name" msgstr "Nom" #. TRANSLATORS: table header -#: src/components/network/ConnectionsTable.tsx:67 -#: src/components/network/ConnectionsTable.tsx:95 +#: src/components/network/ConnectionsTable.tsx:68 +#: src/components/network/ConnectionsTable.tsx:96 msgid "IP addresses" msgstr "Adresses IP" #. TRANSLATORS: table header aria label -#: src/components/network/ConnectionsTable.tsx:69 +#: src/components/network/ConnectionsTable.tsx:70 msgid "Connection actions" msgstr "Actions de connexion" -#: src/components/network/ConnectionsTable.tsx:76 -#: src/components/network/WifiNetworksListPage.tsx:127 -#: src/components/network/WifiNetworksListPage.tsx:151 -#: src/components/storage/PartitionsField.tsx:312 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:44 -#: src/components/storage/iscsi/NodesPresenter.jsx:74 -#: src/components/users/FirstUser.tsx:83 +#: src/components/network/ConnectionsTable.tsx:77 +#: src/components/network/WifiNetworksListPage.tsx:128 +#: src/components/network/WifiNetworksListPage.tsx:152 +#: src/components/storage/PartitionsField.tsx:313 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:45 +#: src/components/storage/iscsi/NodesPresenter.jsx:75 +#: src/components/users/FirstUser.tsx:84 msgid "Edit" msgstr "Modifier" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:79 -#: src/components/network/IpSettingsForm.tsx:146 +#: src/components/network/ConnectionsTable.tsx:80 +#: src/components/network/IpSettingsForm.tsx:147 #, c-format msgid "Edit connection %s" msgstr "Modifier la connexion %s" -#: src/components/network/ConnectionsTable.tsx:83 -#: src/components/network/WifiNetworksListPage.tsx:130 -#: src/components/network/WifiNetworksListPage.tsx:154 +#: src/components/network/ConnectionsTable.tsx:84 +#: src/components/network/WifiNetworksListPage.tsx:131 +#: src/components/network/WifiNetworksListPage.tsx:155 msgid "Forget" msgstr "Oublier" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:85 +#: src/components/network/ConnectionsTable.tsx:86 #, c-format msgid "Forget connection %s" msgstr "Oublier la connexion %s" #. TRANSLATORS: %s is replaced by a network connection name -#: src/components/network/ConnectionsTable.tsx:100 +#: src/components/network/ConnectionsTable.tsx:101 #, c-format msgid "Actions for connection %s" msgstr "Actions concernant la connexion %s" #. TRANSLATORS: input field name -#: src/components/network/DnsDataList.tsx:90 +#: src/components/network/DnsDataList.tsx:91 msgid "Server IP" msgstr "IP serveur" -#: src/components/network/DnsDataList.tsx:115 +#: src/components/network/DnsDataList.tsx:116 msgid "Add DNS" msgstr "Ajouter un DNS" #. TRANSLATORS: button label -#: src/components/network/DnsDataList.tsx:115 +#: src/components/network/DnsDataList.tsx:116 msgid "Add another DNS" msgstr "Ajouter un autre DNS" -#: src/components/network/DnsDataList.tsx:120 +#: src/components/network/DnsDataList.tsx:121 msgid "DNS" msgstr "DNS" -#: src/components/network/IpPrefixInput.tsx:34 +#: src/components/network/IpPrefixInput.tsx:35 #, fuzzy msgid "Ip prefix or netmask" msgstr "Préfixe IP ou masque de sous-réseau" #. TRANSLATORS: error message -#: src/components/network/IpSettingsForm.tsx:102 +#: src/components/network/IpSettingsForm.tsx:103 msgid "At least one address must be provided for selected mode" msgstr "Au moins une adresse doit être fournie pour le mode sélectionné" #. TRANSLATORS: network connection mode (automatic via DHCP or manual with static IP) -#: src/components/network/IpSettingsForm.tsx:156 -#: src/components/network/IpSettingsForm.tsx:161 -#: src/components/network/IpSettingsForm.tsx:163 +#: src/components/network/IpSettingsForm.tsx:157 +#: src/components/network/IpSettingsForm.tsx:162 +#: src/components/network/IpSettingsForm.tsx:164 msgid "Mode" msgstr "Mode" -#: src/components/network/IpSettingsForm.tsx:170 +#: src/components/network/IpSettingsForm.tsx:171 msgid "Automatic (DHCP)" msgstr "Automatique (DHCP)" -#: src/components/network/IpSettingsForm.tsx:176 -#: src/components/storage/iscsi/NodeStartupOptions.js:25 +#: src/components/network/IpSettingsForm.tsx:177 +#: src/components/storage/iscsi/NodeStartupOptions.js:26 msgid "Manual" msgstr "Manuel" #. TRANSLATORS: network gateway configuration -#: src/components/network/IpSettingsForm.tsx:185 -#: src/components/network/IpSettingsForm.tsx:188 +#: src/components/network/IpSettingsForm.tsx:186 +#: src/components/network/IpSettingsForm.tsx:189 msgid "Gateway" msgstr "Passerelle" -#: src/components/network/IpSettingsForm.tsx:197 +#: src/components/network/IpSettingsForm.tsx:198 msgid "Gateway can be defined only in 'Manual' mode" msgstr "La passerelle ne peut être définie qu'en mode 'manuel'" -#: src/components/network/NetworkPage.tsx:37 +#: src/components/network/NetworkPage.tsx:38 msgid "Wired" msgstr "Câblé" -#: src/components/network/NetworkPage.tsx:44 +#: src/components/network/NetworkPage.tsx:45 msgid "No wired connections found" msgstr "Aucune connexion filaire trouvée" -#: src/components/network/NetworkPage.tsx:60 +#: src/components/network/NetworkPage.tsx:61 msgid "Wi-Fi" msgstr "Wi-Fi" #. TRANSLATORS: button label, connect to a WiFi network -#: src/components/network/NetworkPage.tsx:63 -#: src/components/network/WifiConnectionForm.tsx:142 -#: src/components/network/WifiNetworksListPage.tsx:125 +#: src/components/network/NetworkPage.tsx:64 +#: src/components/network/WifiConnectionForm.tsx:141 +#: src/components/network/WifiNetworksListPage.tsx:126 msgid "Connect" msgstr "Se connecter" -#: src/components/network/NetworkPage.tsx:69 +#: src/components/network/NetworkPage.tsx:70 #, fuzzy, c-format msgid "Connected to %s" msgstr "Connecté à %s" -#: src/components/network/NetworkPage.tsx:76 +#: src/components/network/NetworkPage.tsx:77 msgid "No connected yet" msgstr "Pas encore connecté" -#: src/components/network/NetworkPage.tsx:77 +#: src/components/network/NetworkPage.tsx:78 msgid "" "The system has not been configured for connecting to a Wi-Fi network yet." msgstr "" "Le système n'a pas encore été configuré pour se connecter à un réseau Wi-Fi." -#: src/components/network/NetworkPage.tsx:86 +#: src/components/network/NetworkPage.tsx:87 msgid "No Wi-Fi supported" msgstr "Pas de prise en charge Wi-Fi" -#: src/components/network/NetworkPage.tsx:88 +#: src/components/network/NetworkPage.tsx:89 msgid "" "The system does not support Wi-Fi connections, probably because of missing " "or disabled hardware." @@ -604,141 +603,141 @@ msgstr "" "Le système ne prend pas en charge les connexions Wi-Fi, probablement en " "raison d'un matériel manquant ou désactivé." -#: src/components/network/NetworkPage.tsx:105 src/routes/network.tsx:36 +#: src/components/network/NetworkPage.tsx:106 src/routes/network.tsx:37 msgid "Network" msgstr "Réseau" #. TRANSLATORS: WiFi authentication mode -#: src/components/network/WifiConnectionForm.tsx:50 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/network/WifiConnectionForm.tsx:49 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:58 msgid "None" msgstr "Aucun" #. TRANSLATORS: WiFi authentication mode -#: src/components/network/WifiConnectionForm.tsx:52 +#: src/components/network/WifiConnectionForm.tsx:51 msgid "WPA & WPA2 Personal" msgstr "WPA & WPA2 Personnel" #. TRANSLATORS: accessible name for the WiFi connection form -#: src/components/network/WifiConnectionForm.tsx:94 +#: src/components/network/WifiConnectionForm.tsx:93 #, fuzzy msgid "WiFi connection form" msgstr "Modifier la connexion %s" -#: src/components/network/WifiConnectionForm.tsx:101 +#: src/components/network/WifiConnectionForm.tsx:100 #, fuzzy msgid "Authentication failed, please try again" msgstr "Authentification par cible" -#: src/components/network/WifiConnectionForm.tsx:102 -#: src/components/storage/ZFCPDiskForm.jsx:105 -#: src/components/storage/iscsi/DiscoverForm.tsx:98 -#: src/components/storage/iscsi/LoginForm.jsx:69 -#: src/components/users/FirstUserForm.tsx:210 +#: src/components/network/WifiConnectionForm.tsx:101 +#: src/components/storage/iscsi/DiscoverForm.tsx:99 +#: src/components/storage/iscsi/LoginForm.jsx:70 +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:114 +#: src/components/users/FirstUserForm.tsx:211 msgid "Something went wrong" msgstr "Quelque chose n'a pas fonctionné" -#: src/components/network/WifiConnectionForm.tsx:105 +#: src/components/network/WifiConnectionForm.tsx:104 msgid "Please, review provided settings and try again." msgstr "Veuillez vérifier les paramètres fournis et réessayer." #. TRANSLATORS: SSID (Wifi network name) configuration -#: src/components/network/WifiConnectionForm.tsx:111 +#: src/components/network/WifiConnectionForm.tsx:110 msgid "SSID" msgstr "SSID" #. TRANSLATORS: Wifi security configuration (password protected or not) -#: src/components/network/WifiConnectionForm.tsx:117 -#: src/components/network/WifiConnectionForm.tsx:120 +#: src/components/network/WifiConnectionForm.tsx:116 +#: src/components/network/WifiConnectionForm.tsx:119 msgid "Security" msgstr "Sécurité" #. TRANSLATORS: WiFi password -#: src/components/network/WifiConnectionForm.tsx:129 +#: src/components/network/WifiConnectionForm.tsx:128 msgid "WPA Password" msgstr "Mot de passe WPA" #. TRANSLATORS: Wifi network status -#: src/components/network/WifiNetworksListPage.tsx:72 -#: src/components/network/WifiNetworksListPage.tsx:138 +#: src/components/network/WifiNetworksListPage.tsx:73 +#: src/components/network/WifiNetworksListPage.tsx:139 msgid "Connecting" msgstr "Connexion" #. TRANSLATORS: Wifi network status -#: src/components/network/WifiNetworksListPage.tsx:75 -#: src/components/network/WifiNetworksListPage.tsx:142 -#: src/components/network/WifiNetworksListPage.tsx:181 +#: src/components/network/WifiNetworksListPage.tsx:76 +#: src/components/network/WifiNetworksListPage.tsx:143 +#: src/components/network/WifiNetworksListPage.tsx:182 msgid "Connected" msgstr "Connecté" -#. TRANSLATORS: Wifi network status #. TRANSLATORS: iSCSI connection status -#: src/components/network/WifiNetworksListPage.tsx:80 -#: src/components/network/WifiNetworksListPage.tsx:140 -#: src/components/storage/iscsi/NodesPresenter.jsx:64 +#. TRANSLATORS: Wifi network status +#: src/components/network/WifiNetworksListPage.tsx:81 +#: src/components/network/WifiNetworksListPage.tsx:141 +#: src/components/storage/iscsi/NodesPresenter.jsx:65 msgid "Disconnected" msgstr "Déconnecté" -#: src/components/network/WifiNetworksListPage.tsx:148 +#: src/components/network/WifiNetworksListPage.tsx:149 msgid "Disconnect" msgstr "Déconnexion" -#: src/components/network/WifiNetworksListPage.tsx:167 -#: src/components/network/WifiNetworksListPage.tsx:285 +#: src/components/network/WifiNetworksListPage.tsx:168 +#: src/components/network/WifiNetworksListPage.tsx:286 msgid "Connect to hidden network" msgstr "Se connecter à un réseau caché" -#: src/components/network/WifiNetworksListPage.tsx:178 +#: src/components/network/WifiNetworksListPage.tsx:179 msgid "configured" msgstr "configuré" -#: src/components/network/WifiNetworksListPage.tsx:270 +#: src/components/network/WifiNetworksListPage.tsx:271 #, fuzzy msgid "Visible Wi-Fi networks" msgstr "Réseaux WiFi" -#: src/components/network/WifiSelectorPage.tsx:35 +#: src/components/network/WifiSelectorPage.tsx:36 msgid "Connect to a Wi-Fi network" msgstr "Se connecter à un réseau Wi-Fi" #. TRANSLATORS: %s will be replaced by a language name and territory, example: #. "English (United States)". -#: src/components/overview/L10nSection.jsx:33 +#: src/components/overview/L10nSection.jsx:34 #, c-format msgid "The system will use %s as its default language." msgstr "Le système utilisera %s comme langue par défaut." -#: src/components/overview/OverviewPage.tsx:47 -#: src/components/users/UsersPage.tsx:35 src/routes/users.tsx:38 +#: src/components/overview/OverviewPage.tsx:48 +#: src/components/users/UsersPage.tsx:36 src/routes/users.tsx:39 msgid "Users" msgstr "Utilisateurs" -#: src/components/overview/OverviewPage.tsx:48 -#: src/components/overview/StorageSection.jsx:111 -#: src/components/storage/ProposalPage.tsx:107 src/routes/storage.tsx:44 +#: src/components/overview/OverviewPage.tsx:49 +#: src/components/overview/StorageSection.jsx:112 +#: src/components/storage/ProposalPage.tsx:108 src/routes/storage.tsx:51 msgid "Storage" msgstr "Stockage" -#: src/components/overview/OverviewPage.tsx:49 -#: src/components/overview/SoftwareSection.tsx:69 -#: src/components/software/SoftwarePage.tsx:110 src/routes/software.tsx:36 +#: src/components/overview/OverviewPage.tsx:50 +#: src/components/overview/SoftwareSection.tsx:70 +#: src/components/software/SoftwarePage.tsx:106 src/routes/software.tsx:37 msgid "Software" msgstr "Logiciel" -#: src/components/overview/OverviewPage.tsx:54 +#: src/components/overview/OverviewPage.tsx:55 msgid "Ready for installation" msgstr "Prêt pour l'installation" -#: src/components/overview/OverviewPage.tsx:98 +#: src/components/overview/OverviewPage.tsx:99 msgid "Installation" msgstr "Installation" -#: src/components/overview/OverviewPage.tsx:99 +#: src/components/overview/OverviewPage.tsx:100 msgid "Before installing, please check the following problems." msgstr "" "Avant de procéder à l'installation, veuillez vérifier les problèmes suivants." -#: src/components/overview/OverviewPage.tsx:113 +#: src/components/overview/OverviewPage.tsx:114 msgid "" "These are the most relevant installation settings. Feel free to browse the " "sections in the menu for further details." @@ -746,7 +745,7 @@ msgstr "" "Il s'agit des paramètres d'installation les plus significatifs. N'hésitez " "pas à consulter les sections du menu pour plus de détails." -#: src/components/overview/OverviewPage.tsx:133 +#: src/components/overview/OverviewPage.tsx:134 msgid "" "Take your time to check your configuration before starting the installation " "process." @@ -754,18 +753,18 @@ msgstr "" "Prenez le temps de vérifier votre configuration avant de lancer le processus " "d'installation." -#: src/components/overview/SoftwareSection.tsx:41 +#: src/components/overview/SoftwareSection.tsx:42 #, fuzzy msgid "The installation will take" msgstr "L'installation utilisera %s" #. TRANSLATORS: %s will be replaced with the installation size, example: "5GiB". -#: src/components/overview/SoftwareSection.tsx:48 +#: src/components/overview/SoftwareSection.tsx:49 #, fuzzy, c-format msgid "The installation will take %s including:" msgstr "L'installation utilisera %s" -#: src/components/overview/StorageSection.jsx:53 +#: src/components/overview/StorageSection.jsx:54 msgid "" "Install in a new Logical Volume Manager (LVM) volume group shrinking " "existing partitions at the underlying devices as needed" @@ -774,7 +773,7 @@ msgstr "" "en réduisant les partitions existantes sur les appareils sous-jacents si " "nécessaire" -#: src/components/overview/StorageSection.jsx:58 +#: src/components/overview/StorageSection.jsx:59 msgid "" "Install in a new Logical Volume Manager (LVM) volume group without modifying " "the partitions at the underlying devices" @@ -782,7 +781,7 @@ msgstr "" "Installation dans un nouveau groupe de volumes LVM (Gestionnaire de Volumes " "Logiques) sans modifier les partitions des périphériques sous-jacents" -#: src/components/overview/StorageSection.jsx:63 +#: src/components/overview/StorageSection.jsx:64 msgid "" "Install in a new Logical Volume Manager (LVM) volume group deleting all the " "content of the underlying devices" @@ -790,7 +789,7 @@ msgstr "" "Installation dans un nouveau groupe de volumes LVM (Gestionnaire de Volumes " "Logiques) en supprimant tout le contenu des périphériques sous-jacents" -#: src/components/overview/StorageSection.jsx:68 +#: src/components/overview/StorageSection.jsx:69 msgid "" "Install in a new Logical Volume Manager (LVM) volume group using a custom " "strategy to find the needed space at the underlying devices" @@ -799,7 +798,7 @@ msgstr "" "logiques) à l'aide d'une stratégie personnalisée pour trouver l'espace " "nécessaire sur les périphériques sous-jacents" -#: src/components/overview/StorageSection.jsx:86 +#: src/components/overview/StorageSection.jsx:87 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s shrinking " @@ -808,7 +807,7 @@ msgstr "" "Installation dans un nouveau groupe de volumes LVM (Logical Volume Manager) " "sur %s en réduisant les partitions existantes si nécessaire" -#: src/components/overview/StorageSection.jsx:92 +#: src/components/overview/StorageSection.jsx:93 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s without " @@ -817,7 +816,7 @@ msgstr "" "Installer un nouveau groupe de volumes LVM (Logical Volume Manager) sur %s " "sans modifier les partitions existantes" -#: src/components/overview/StorageSection.jsx:98 +#: src/components/overview/StorageSection.jsx:99 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s deleting " @@ -826,7 +825,7 @@ msgstr "" "Installer un nouveau groupe de volumes LVM (Logical Volume Manager) sur %s " "en supprimant tout son contenu" -#: src/components/overview/StorageSection.jsx:104 +#: src/components/overview/StorageSection.jsx:105 #, c-format msgid "" "Install in a new Logical Volume Manager (LVM) volume group on %s using a " @@ -835,14 +834,14 @@ msgstr "" "Installer un nouveau groupe de volumes LVM (Logical Volume Manager) sur %s " "en utilisant une stratégie personnalisée pour trouver l'espace nécessaire" -#: src/components/overview/StorageSection.jsx:179 -#: src/components/storage/InstallationDeviceField.tsx:59 +#: src/components/overview/StorageSection.jsx:180 +#: src/components/storage/InstallationDeviceField.tsx:60 msgid "No device selected yet" msgstr "Aucun périphérique n'a encore été sélectionné" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:186 +#: src/components/overview/StorageSection.jsx:187 #, c-format msgid "Install using device %s shrinking existing partitions as needed" msgstr "" @@ -851,7 +850,7 @@ msgstr "" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:190 +#: src/components/overview/StorageSection.jsx:191 #, c-format msgid "Install using device %s without modifying existing partitions" msgstr "" @@ -860,7 +859,7 @@ msgstr "" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:194 +#: src/components/overview/StorageSection.jsx:195 #, c-format msgid "Install using device %s and deleting all its content" msgstr "" @@ -868,7 +867,7 @@ msgstr "" #. TRANSLATORS: %s will be replaced by the device name and its size, #. example: "/dev/sda, 20 GiB" -#: src/components/overview/StorageSection.jsx:199 +#: src/components/overview/StorageSection.jsx:200 #, c-format msgid "Install using device %s with a custom strategy to find the needed space" msgstr "" @@ -876,133 +875,133 @@ msgstr "" "pour trouver l'espace nécessaire" #. TRANSLATORS: %s will be replaced by a product name. E.g., "openSUSE Tumbleweed" -#: src/components/product/ProductSelectionPage.tsx:56 +#: src/components/product/ProductSelectionPage.tsx:57 #, c-format msgid "%s logo" msgstr "" -#: src/components/product/ProductSelectionPage.tsx:107 +#: src/components/product/ProductSelectionPage.tsx:108 #, fuzzy msgid "Select a product" msgstr "Sélectionner une valeur" -#: src/components/product/ProductSelectionPage.tsx:108 +#: src/components/product/ProductSelectionPage.tsx:109 msgid "Available products" msgstr "Produits disponibles" -#: src/components/product/ProductSelectionProgress.jsx:46 +#: src/components/product/ProductSelectionProgress.jsx:45 msgid "Configuring the product, please wait ..." msgstr "Configuration du produit, veuillez patienter ..." -#: src/components/questions/GenericQuestion.tsx:48 -#: src/components/questions/LuksActivationQuestion.tsx:69 +#: src/components/questions/GenericQuestion.tsx:49 +#: src/components/questions/LuksActivationQuestion.tsx:70 msgid "Question" msgstr "Question" #. TRANSLATORS: error message, user entered a wrong password -#: src/components/questions/LuksActivationQuestion.tsx:37 +#: src/components/questions/LuksActivationQuestion.tsx:38 #, fuzzy msgid "The encryption password did not work" msgstr "Le mot de passe de déchiffrement saisi est incorrect" -#: src/components/questions/LuksActivationQuestion.tsx:68 +#: src/components/questions/LuksActivationQuestion.tsx:69 msgid "Encrypted Device" msgstr "Appareil chiffré" #. TRANSLATORS: field label -#: src/components/questions/LuksActivationQuestion.tsx:77 +#: src/components/questions/LuksActivationQuestion.tsx:78 msgid "Encryption Password" msgstr "Mot de passe de chiffrement" -#: src/components/questions/QuestionWithPassword.tsx:55 +#: src/components/questions/QuestionWithPassword.tsx:56 #, fuzzy msgid "Password Required" msgstr "Mot de passe" -#: src/components/software/SoftwarePage.tsx:52 +#: src/components/software/SoftwarePage.tsx:48 msgid "No additional software was selected." msgstr "Aucun logiciel supplémentaire n'a été sélectionné." -#: src/components/software/SoftwarePage.tsx:57 +#: src/components/software/SoftwarePage.tsx:53 msgid "The following software patterns are selected for installation:" msgstr "Les schémas logiciels suivants sont sélectionnés pour l'installation :" -#: src/components/software/SoftwarePage.tsx:72 -#: src/components/software/SoftwarePage.tsx:84 +#: src/components/software/SoftwarePage.tsx:68 +#: src/components/software/SoftwarePage.tsx:80 #, fuzzy msgid "Selected patterns" msgstr "Choisir le fuseau horaire" -#: src/components/software/SoftwarePage.tsx:75 +#: src/components/software/SoftwarePage.tsx:71 #, fuzzy msgid "Change selection" msgstr "Changer de fuseau horaire" -#: src/components/software/SoftwarePage.tsx:87 +#: src/components/software/SoftwarePage.tsx:83 msgid "" "This product does not allow to select software patterns during installation. " "However, you can add additional software once the installation is finished." msgstr "" -#: src/components/software/SoftwarePatternsSelection.tsx:97 +#: src/components/software/SoftwarePatternsSelection.tsx:98 msgid "None of the patterns match the filter." msgstr "Aucun des schémas ne correspond au filtre." -#: src/components/software/SoftwarePatternsSelection.tsx:162 +#: src/components/software/SoftwarePatternsSelection.tsx:163 #, fuzzy msgid "auto selected" msgstr "non sélectionné" -#: src/components/software/SoftwarePatternsSelection.tsx:166 +#: src/components/software/SoftwarePatternsSelection.tsx:167 #, fuzzy msgid "Unselect" msgstr "sélectionné" -#: src/components/software/SoftwarePatternsSelection.tsx:186 +#: src/components/software/SoftwarePatternsSelection.tsx:187 #, fuzzy msgid "Software selection" msgstr "Logiciel %s" #. TRANSLATORS: search field placeholder text -#: src/components/software/SoftwarePatternsSelection.tsx:189 #: src/components/software/SoftwarePatternsSelection.tsx:190 +#: src/components/software/SoftwarePatternsSelection.tsx:191 msgid "Filter by pattern title or description" msgstr "" #. TRANSLATORS: %s will be replaced by the estimated installation size, #. example: "728.8 MiB" -#: src/components/software/UsedSize.tsx:32 +#: src/components/software/UsedSize.tsx:33 #, fuzzy, c-format msgid "Installation will take %s." msgstr "L'installation utilisera %s" -#: src/components/software/UsedSize.tsx:36 +#: src/components/software/UsedSize.tsx:37 msgid "" "This space includes the base system and the selected software patterns, if " "any." msgstr "" -#: src/components/storage/BootConfigField.tsx:41 +#: src/components/storage/BootConfigField.tsx:42 msgid "Change boot options" msgstr "Modifier les options d'amorçage" -#: src/components/storage/BootConfigField.tsx:78 +#: src/components/storage/BootConfigField.tsx:79 msgid "Installation will not configure partitions for booting." msgstr "L'installation ne configure pas les partitions de démarrage." -#: src/components/storage/BootConfigField.tsx:82 +#: src/components/storage/BootConfigField.tsx:83 msgid "" "Installation will configure partitions for booting at the installation disk." msgstr "" "L'installation configurera les partitions pour l'amorçage sur le disque " "d'installation." -#: src/components/storage/BootConfigField.tsx:86 +#: src/components/storage/BootConfigField.tsx:87 #, c-format msgid "Installation will configure partitions for booting at %s." msgstr "L'installation configurera les partitions pour amorçer à partir de %s." -#: src/components/storage/BootSelection.tsx:108 +#: src/components/storage/BootSelection.tsx:109 msgid "" "To ensure the new system is able to boot, the installer may need to create " "or configure some partitions in the appropriate disk." @@ -1011,164 +1010,53 @@ msgstr "" "d'installation peut avoir besoin de créer ou de configurer certaines " "partitions sur le disque approprié." -#: src/components/storage/BootSelection.tsx:114 +#: src/components/storage/BootSelection.tsx:115 msgid "Partitions to boot will be allocated at the installation disk." msgstr "" "Les partitions pour le démarrage seront allouées sur le disque " "d'installation." #. TRANSLATORS: %s is replaced by a device name and size (e.g., "/dev/sda, 500GiB") -#: src/components/storage/BootSelection.tsx:119 +#: src/components/storage/BootSelection.tsx:120 #, c-format msgid "Partitions to boot will be allocated at the installation disk (%s)." msgstr "" "Les partitions de démarrage seront allouées sur le disque d'installation " "(%s)." -#: src/components/storage/BootSelection.tsx:135 +#: src/components/storage/BootSelection.tsx:136 msgid "Select booting partition" msgstr "Sélectionner la partition d'amorçage" -#: src/components/storage/BootSelection.tsx:156 -#: src/components/storage/iscsi/NodeStartupOptions.js:27 +#: src/components/storage/BootSelection.tsx:157 +#: src/components/storage/iscsi/NodeStartupOptions.js:28 msgid "Automatic" msgstr "Automatique" -#: src/components/storage/BootSelection.tsx:174 +#: src/components/storage/BootSelection.tsx:175 msgid "Select a disk" msgstr "Sélectionner un disque" -#: src/components/storage/BootSelection.tsx:179 +#: src/components/storage/BootSelection.tsx:180 msgid "Partitions to boot will be allocated at the following device." msgstr "Les partitions à amorcer seront attribuées au périphérique suivant." -#: src/components/storage/BootSelection.tsx:181 +#: src/components/storage/BootSelection.tsx:182 msgid "Choose a disk for placing the boot loader" msgstr "Choisir un disque pour placer le chargeur d'amorçage" -#: src/components/storage/BootSelection.tsx:204 +#: src/components/storage/BootSelection.tsx:205 msgid "Do not configure" msgstr "Ne pas configurer" -#: src/components/storage/BootSelection.tsx:210 +#: src/components/storage/BootSelection.tsx:211 msgid "" "No partitions will be automatically configured for booting. Use with caution." msgstr "" "Aucune partition ne sera automatiquement configurée pour le démarrage. À " "utiliser avec précaution." -#: src/components/storage/DASDFormatProgress.tsx:48 -msgid "Formatting DASD devices" -msgstr "Formatage des périphériques DASD" - -#: src/components/storage/DASDPage.tsx:36 src/routes/storage.tsx:70 -#, fuzzy -msgid "DASD" -msgstr "DASD %s" - -#: src/components/storage/DASDTable.tsx:63 -#: src/components/storage/ZFCPPage.jsx:340 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -msgid "No" -msgstr "Non" - -#: src/components/storage/DASDTable.tsx:63 -#: src/components/storage/ZFCPPage.jsx:340 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -msgid "Yes" -msgstr "Oui" - -#: src/components/storage/DASDTable.tsx:70 -#: src/components/storage/ZFCPDiskForm.jsx:110 -#: src/components/storage/ZFCPPage.jsx:324 -#: src/components/storage/ZFCPPage.jsx:382 -msgid "Channel ID" -msgstr "ID du canal" - -#. TRANSLATORS: table header -#: src/components/storage/DASDTable.tsx:71 -#: src/components/storage/ZFCPPage.jsx:325 -#: src/components/storage/iscsi/NodesPresenter.jsx:103 -#: src/components/storage/iscsi/NodesPresenter.jsx:124 -#: src/components/users/RootAuthMethods.tsx:70 -msgid "Status" -msgstr "Statut" - -#: src/components/storage/DASDTable.tsx:72 -#: src/components/storage/DeviceSelectorTable.tsx:185 -#: src/components/storage/ProposalResultTable.tsx:132 -#: src/components/storage/SpaceActionsTable.tsx:206 -#: src/components/storage/VolumeLocationSelectorTable.tsx:95 -msgid "Device" -msgstr "Périphérique" - -#: src/components/storage/DASDTable.tsx:73 -msgid "Type" -msgstr "Type" - -#. TRANSLATORS: table header, the column contains "Yes"/"No" values -#. for the DIAG access mode (special disk access mode on IBM mainframes), -#. usually keep untranslated -#: src/components/storage/DASDTable.tsx:77 -msgid "DIAG" -msgstr "DIAG" - -#: src/components/storage/DASDTable.tsx:78 -msgid "Formatted" -msgstr "Formaté" - -#: src/components/storage/DASDTable.tsx:79 -msgid "Partition Info" -msgstr "Informations sur la partition" - -#. TRANSLATORS: drop down menu label -#: src/components/storage/DASDTable.tsx:118 -msgid "Perform an action" -msgstr "Effectuer une action" - -#: src/components/storage/DASDTable.tsx:125 -#: src/components/storage/ZFCPPage.jsx:353 -msgid "Activate" -msgstr "Activer" - -#: src/components/storage/DASDTable.tsx:129 -#: src/components/storage/ZFCPPage.jsx:395 -msgid "Deactivate" -msgstr "Désactiver" - -#: src/components/storage/DASDTable.tsx:134 -msgid "Set DIAG On" -msgstr "Activer le diagnostic" - -#: src/components/storage/DASDTable.tsx:138 -msgid "Set DIAG Off" -msgstr "Désactiver le diagnostic" - -#: src/components/storage/DASDTable.tsx:143 -msgid "Format" -msgstr "Format" - -#: src/components/storage/DASDTable.tsx:279 -#: src/components/storage/DASDTable.tsx:280 -msgid "Filter by min channel" -msgstr "Filtrer par canal minimal" - -#: src/components/storage/DASDTable.tsx:287 -msgid "Remove min channel filter" -msgstr "Supprimer le filtre canal minimal" - -#: src/components/storage/DASDTable.tsx:301 -#: src/components/storage/DASDTable.tsx:302 -msgid "Filter by max channel" -msgstr "Filtrer par canal maximal" - -#: src/components/storage/DASDTable.tsx:309 -msgid "Remove max channel filter" -msgstr "Supprimer le filtre du canal maximal" - -#: src/components/storage/DeviceSelection.tsx:105 +#: src/components/storage/DeviceSelection.tsx:106 msgid "" "The file systems will be allocated by default as [new partitions in the " "selected device]." @@ -1176,7 +1064,7 @@ msgstr "" "Les systèmes de fichiers seront attribués par défaut en tant que [nouvelles " "partitions dans le périphérique sélectionné]." -#: src/components/storage/DeviceSelection.tsx:112 +#: src/components/storage/DeviceSelection.tsx:113 msgid "" "The file systems will be allocated by default as [logical volumes of a new " "LVM Volume Group]. The corresponding physical volumes will be created on " @@ -1187,146 +1075,155 @@ msgstr "" "correspondants seront créés à la demande en tant que nouvelles partitions " "sur les périphériques sélectionnés." -#: src/components/storage/DeviceSelection.tsx:121 +#: src/components/storage/DeviceSelection.tsx:122 msgid "Select installation device" msgstr "Sélectionner le périphérique d'installation" -#: src/components/storage/DeviceSelection.tsx:127 +#: src/components/storage/DeviceSelection.tsx:128 #, fuzzy msgid "Install new system on" msgstr "Installer un nouveau système sur" -#: src/components/storage/DeviceSelection.tsx:130 +#: src/components/storage/DeviceSelection.tsx:131 msgid "An existing disk" msgstr "Un disque existant" -#: src/components/storage/DeviceSelection.tsx:139 +#: src/components/storage/DeviceSelection.tsx:140 msgid "A new LVM Volume Group" msgstr "Un nouveau groupe de volumes LVM" -#: src/components/storage/DeviceSelection.tsx:162 +#: src/components/storage/DeviceSelection.tsx:163 msgid "Device selector for target disk" msgstr "Sélecteur de périphérique pour le disque cible" -#: src/components/storage/DeviceSelection.tsx:185 +#: src/components/storage/DeviceSelection.tsx:186 msgid "Device selector for new LVM volume group" msgstr "Sélecteur de périphériques pour le nouveau groupe de volumes LVM" -#: src/components/storage/DeviceSelection.tsx:198 +#: src/components/storage/DeviceSelection.tsx:199 msgid "Prepare more devices by configuring advanced" msgstr "Préparez davantage de périphériques via une configuration avancée" -#: src/components/storage/DeviceSelection.tsx:199 +#: src/components/storage/DeviceSelection.tsx:200 #, fuzzy msgid "storage techs" msgstr "technologies de stockage" #. TRANSLATORS: multipath device type -#: src/components/storage/DeviceSelectorTable.tsx:53 +#: src/components/storage/DeviceSelectorTable.tsx:54 msgid "Multipath" msgstr "Chemins multiples" #. TRANSLATORS: %s is replaced by the device bus ID -#: src/components/storage/DeviceSelectorTable.tsx:58 +#: src/components/storage/DeviceSelectorTable.tsx:59 #, c-format msgid "DASD %s" msgstr "DASD %s" #. TRANSLATORS: software RAID device, %s is replaced by the RAID level, e.g. RAID-1 -#: src/components/storage/DeviceSelectorTable.tsx:63 +#: src/components/storage/DeviceSelectorTable.tsx:64 #, c-format msgid "Software %s" msgstr "Logiciel %s" -#: src/components/storage/DeviceSelectorTable.tsx:68 +#: src/components/storage/DeviceSelectorTable.tsx:69 msgid "SD Card" msgstr "Carte SD" #. TRANSLATORS: %s is substituted by the type of disk like "iSCSI" or "SATA" -#: src/components/storage/DeviceSelectorTable.tsx:73 +#: src/components/storage/DeviceSelectorTable.tsx:74 #, c-format msgid "%s disk" msgstr "Disque %s" -#: src/components/storage/DeviceSelectorTable.tsx:74 +#: src/components/storage/DeviceSelectorTable.tsx:75 msgid "Disk" msgstr "Disque" #. TRANSLATORS: RAID details, %s is replaced by list of devices used by the array -#: src/components/storage/DeviceSelectorTable.tsx:94 +#: src/components/storage/DeviceSelectorTable.tsx:95 #, c-format msgid "Members: %s" msgstr "Membres : %s" #. TRANSLATORS: RAID details, %s is replaced by list of devices used by the array -#: src/components/storage/DeviceSelectorTable.tsx:103 +#: src/components/storage/DeviceSelectorTable.tsx:104 #, c-format msgid "Devices: %s" msgstr "Périphériques : %s" #. TRANSLATORS: multipath details, %s is replaced by list of connections used by the device -#: src/components/storage/DeviceSelectorTable.tsx:112 +#: src/components/storage/DeviceSelectorTable.tsx:113 #, c-format msgid "Wires: %s" msgstr "Chemins: %s" #. TRANSLATORS: disk partition info, %s is replaced by partition table #. type (MS-DOS or GPT), %d is the number of the partitions -#: src/components/storage/DeviceSelectorTable.tsx:144 +#: src/components/storage/DeviceSelectorTable.tsx:145 #, c-format msgid "%s with %d partitions" msgstr "%s avec %d partitions" #. TRANSLATORS: status message, no existing content was found on the disk, #. i.e. the disk is completely empty -#: src/components/storage/DeviceSelectorTable.tsx:150 -#: src/components/storage/SpaceActionsTable.tsx:183 +#: src/components/storage/DeviceSelectorTable.tsx:151 +#: src/components/storage/SpaceActionsTable.tsx:184 msgid "No content found" msgstr "Aucun contenu n'a été trouvé" -#: src/components/storage/DeviceSelectorTable.tsx:186 -#: src/components/storage/PartitionsField.tsx:453 -#: src/components/storage/ProposalResultTable.tsx:134 +#: src/components/storage/DeviceSelectorTable.tsx:188 +#: src/components/storage/ProposalResultTable.tsx:130 #: src/components/storage/SpaceActionsTable.tsx:207 #: src/components/storage/VolumeLocationSelectorTable.tsx:96 -msgid "Details" -msgstr "Détails" +#: src/components/storage/dasd/DASDTable.tsx:73 +msgid "Device" +msgstr "Périphérique" -#: src/components/storage/DeviceSelectorTable.tsx:187 +#: src/components/storage/DeviceSelectorTable.tsx:189 #: src/components/storage/PartitionsField.tsx:454 -#: src/components/storage/ProposalResultTable.tsx:135 +#: src/components/storage/ProposalResultTable.tsx:132 #: src/components/storage/SpaceActionsTable.tsx:208 +#: src/components/storage/VolumeLocationSelectorTable.tsx:97 +msgid "Details" +msgstr "Détails" + +#: src/components/storage/DeviceSelectorTable.tsx:190 +#: src/components/storage/PartitionsField.tsx:455 +#: src/components/storage/ProposalResultTable.tsx:133 +#: src/components/storage/SpaceActionsTable.tsx:209 #: src/components/storage/VolumeFields.tsx:524 -#: src/components/storage/VolumeLocationSelectorTable.tsx:101 +#: src/components/storage/VolumeLocationSelectorTable.tsx:102 msgid "Size" msgstr "Taille" -#: src/components/storage/DevicesTechMenu.jsx:39 +#: src/components/storage/DevicesTechMenu.tsx:43 msgid "Manage and format" msgstr "Gérer et formater" -#: src/components/storage/DevicesTechMenu.jsx:53 +#: src/components/storage/DevicesTechMenu.tsx:56 msgid "Activate disks" msgstr "Activer les disques" -#: src/components/storage/DevicesTechMenu.jsx:54 +#: src/components/storage/DevicesTechMenu.tsx:57 +#: src/components/storage/zfcp/ZFCPPage.tsx:191 msgid "zFCP" msgstr "zFCP" -#: src/components/storage/DevicesTechMenu.jsx:67 +#: src/components/storage/DevicesTechMenu.tsx:70 msgid "Connect to iSCSI targets" msgstr "Se connecter aux cibles iSCSI" -#: src/components/storage/DevicesTechMenu.jsx:68 src/routes/storage.tsx:65 +#: src/components/storage/DevicesTechMenu.tsx:71 src/routes/storage.tsx:72 msgid "iSCSI" msgstr "iSCSI" -#: src/components/storage/EncryptionField.tsx:34 -#: src/components/storage/EncryptionSettingsDialog.tsx:30 +#: src/components/storage/EncryptionField.tsx:35 +#: src/components/storage/EncryptionSettingsDialog.tsx:31 msgid "Encryption" msgstr "Chiffrage" -#: src/components/storage/EncryptionField.tsx:36 +#: src/components/storage/EncryptionField.tsx:37 msgid "" "Protection for the information stored at the device, including data, " "programs, and system files." @@ -1334,27 +1231,27 @@ msgstr "" "Protection des informations stockées sur le périphérique, incluant les " "données, les programmes et les fichiers système." -#: src/components/storage/EncryptionField.tsx:40 +#: src/components/storage/EncryptionField.tsx:41 msgid "disabled" msgstr "désactivé" -#: src/components/storage/EncryptionField.tsx:41 +#: src/components/storage/EncryptionField.tsx:42 msgid "enabled" msgstr "activée" -#: src/components/storage/EncryptionField.tsx:42 +#: src/components/storage/EncryptionField.tsx:43 msgid "using TPM unlocking" msgstr "utiliser le déverrouillage TPM" -#: src/components/storage/EncryptionField.tsx:56 +#: src/components/storage/EncryptionField.tsx:57 msgid "Enable" msgstr "Activer" -#: src/components/storage/EncryptionField.tsx:56 +#: src/components/storage/EncryptionField.tsx:57 msgid "Modify" msgstr "Modifier" -#: src/components/storage/EncryptionSettingsDialog.tsx:32 +#: src/components/storage/EncryptionSettingsDialog.tsx:33 msgid "" "Full Disk Encryption (FDE) allows to protect the information stored at the " "device, including data, programs, and system files." @@ -1364,14 +1261,14 @@ msgstr "" "fichiers système." #. TRANSLATORS: "Trusted Platform Module" is the name of the technology and TPM its abbreviation -#: src/components/storage/EncryptionSettingsDialog.tsx:36 +#: src/components/storage/EncryptionSettingsDialog.tsx:37 msgid "" "Use the Trusted Platform Module (TPM) to decrypt automatically on each boot" msgstr "" "Utiliser le TPM (Trusted Platform Module) pour décrypter automatiquement les " "données à chaque amorçage" -#: src/components/storage/EncryptionSettingsDialog.tsx:40 +#: src/components/storage/EncryptionSettingsDialog.tsx:41 msgid "" "The password will not be needed to boot and access the data if the TPM can " "verify the integrity of the system. TPM sealing requires the new system to " @@ -1382,100 +1279,100 @@ msgstr "" "requiert que le nouveau système soit démarré directement lors de sa première " "exécution." -#: src/components/storage/EncryptionSettingsDialog.tsx:127 +#: src/components/storage/EncryptionSettingsDialog.tsx:128 msgid "Encrypt the system" msgstr "Chiffrer le système" -#: src/components/storage/InstallationDeviceField.tsx:31 -#: src/components/storage/VolumeLocationSelectorTable.tsx:53 +#: src/components/storage/InstallationDeviceField.tsx:32 +#: src/components/storage/VolumeLocationSelectorTable.tsx:54 msgid "Installation device" msgstr "Périphérique d'installation" #. TRANSLATORS: The storage "Installation device" field's description. -#: src/components/storage/InstallationDeviceField.tsx:33 +#: src/components/storage/InstallationDeviceField.tsx:34 msgid "Main disk or LVM Volume Group for installation." msgstr "Disque principal ou groupe de volumes LVM pour l'installation." #. TRANSLATORS: %s is the installation disk (eg. "/dev/sda, 80 GiB) -#: src/components/storage/InstallationDeviceField.tsx:45 +#: src/components/storage/InstallationDeviceField.tsx:46 #, c-format msgid "File systems created as new partitions at %s" msgstr "Systèmes de fichiers créés en tant que nouvelles partitions à %s" -#: src/components/storage/InstallationDeviceField.tsx:48 +#: src/components/storage/InstallationDeviceField.tsx:49 msgid "File systems created at a new LVM volume group" msgstr "Systèmes de fichiers créés dans un nouveau groupe de volumes LVM" -#: src/components/storage/InstallationDeviceField.tsx:53 +#: src/components/storage/InstallationDeviceField.tsx:54 #, c-format msgid "File systems created at a new LVM volume group on %s" msgstr "" "Systèmes de fichiers créés dans un nouveau groupe de volumes LVM sur %s" -#: src/components/storage/InvalidMaxSizeError.tsx:43 -#: src/components/storage/VolumeDialog.tsx:215 +#: src/components/storage/InvalidMaxSizeError.tsx:44 +#: src/components/storage/VolumeDialog.tsx:216 msgid "Maximum must be greater than minimum" msgstr "Le maximum doit être supérieur au minimum" #. TRANSLATORS: minimum device size, %s is replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:72 +#: src/components/storage/PartitionsField.tsx:73 #, c-format msgid "at least %s" msgstr "au moins %s" #. TRANSLATORS: "/" is in an LVM logical volume. %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:90 +#: src/components/storage/PartitionsField.tsx:91 #, c-format msgid "Transactional Btrfs root volume (%s)" msgstr "Volume root Btrfs transactionnel (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:92 +#: src/components/storage/PartitionsField.tsx:93 #, c-format msgid "Transactional Btrfs root partition (%s)" msgstr "Partition root Btrfs transactionnelle (%s)" #. TRANSLATORS: "/" is in an LVM logical volume. %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:97 +#: src/components/storage/PartitionsField.tsx:98 #, c-format msgid "Btrfs root volume with snapshots (%s)" msgstr "Volume racine Btrfs avec instantanés (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "17.5 GiB" -#: src/components/storage/PartitionsField.tsx:99 +#: src/components/storage/PartitionsField.tsx:100 #, c-format msgid "Btrfs root partition with snapshots (%s)" msgstr "Partition root Btrfs avec clichés (%s)" #. TRANSLATORS: This results in something like "Mount /dev/sda3 at /home (25 GiB)" since #. %1$s is replaced by the device name, %2$s by the mount point and %3$s by the size -#: src/components/storage/PartitionsField.tsx:108 +#: src/components/storage/PartitionsField.tsx:109 #, c-format msgid "Mount %1$s at %2$s (%3$s)" msgstr "Monter %1$s à %2$s (%3$s)" #. TRANSLATORS: This results in something like "Swap at /dev/sda3 (2 GiB)" since #. %1$s is replaced by the device name, and %2$s by the size -#: src/components/storage/PartitionsField.tsx:114 +#: src/components/storage/PartitionsField.tsx:115 #, c-format msgid "Swap at %1$s (%2$s)" msgstr "Swap sur %1$s (%2$s)" #. TRANSLATORS: Swap is in an LVM logical volume. %s replaced by size string, e.g. "8 GiB" -#: src/components/storage/PartitionsField.tsx:118 +#: src/components/storage/PartitionsField.tsx:119 #, c-format msgid "Swap volume (%s)" msgstr "Volume swap (%s)" #. TRANSLATORS: %s replaced by size string, e.g. "8 GiB" -#: src/components/storage/PartitionsField.tsx:120 +#: src/components/storage/PartitionsField.tsx:121 #, c-format msgid "Swap partition (%s)" msgstr "Partition swap (%s)" #. TRANSLATORS: This results in something like "Btrfs root at /dev/sda3 (20 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the device name, and %3$s by the size -#: src/components/storage/PartitionsField.tsx:129 +#: src/components/storage/PartitionsField.tsx:130 #, c-format msgid "%1$s root at %2$s (%3$s)" msgstr "Root %1$s sur %2$s (%3$s)" @@ -1483,21 +1380,21 @@ msgstr "Root %1$s sur %2$s (%3$s)" #. TRANSLATORS: "/" is in an LVM logical volume. #. Results in something like "Btrfs root volume (at least 20 GiB)" since #. $1$s is replaced by filesystem type and %2$s by size description -#: src/components/storage/PartitionsField.tsx:135 +#: src/components/storage/PartitionsField.tsx:136 #, c-format msgid "%1$s root volume (%2$s)" msgstr "Volume root %1$s (%2$s)" #. TRANSLATORS: Results in something like "Btrfs root partition (at least 20 GiB)" since #. $1$s is replaced by filesystem type and %2$s by size description -#: src/components/storage/PartitionsField.tsx:138 +#: src/components/storage/PartitionsField.tsx:139 #, c-format msgid "%1$s root partition (%2$s)" msgstr "Partition root %1$s (%2$s)" #. TRANSLATORS: This results in something like "Ext4 /home at /dev/sda3 (20 GiB)" since #. %1$s is replaced by filesystem type, %2$s by mount point, %3$s by device name and %4$s by size -#: src/components/storage/PartitionsField.tsx:144 +#: src/components/storage/PartitionsField.tsx:145 #, fuzzy, c-format msgid "%1$s %2$s at %3$s (%4$s)" msgstr "Root %1$s sur %2$s (%3$s)" @@ -1505,139 +1402,139 @@ msgstr "Root %1$s sur %2$s (%3$s)" #. TRANSLATORS: The filesystem is in an LVM logical volume. #. Results in something like "Ext4 /home volume (at least 10 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the mount point and %3$s by the size description -#: src/components/storage/PartitionsField.tsx:150 +#: src/components/storage/PartitionsField.tsx:151 #, fuzzy, c-format msgid "%1$s %2$s volume (%3$s)" msgstr "Volume root %1$s (%2$s)" #. TRANSLATORS: This results in something like "Ext4 /home partition (at least 10 GiB)" since #. %1$s is replaced by the filesystem type, %2$s by the mount point and %3$s by the size description -#: src/components/storage/PartitionsField.tsx:153 +#: src/components/storage/PartitionsField.tsx:154 #, fuzzy, c-format msgid "%1$s %2$s partition (%3$s)" msgstr "%s avec %d partitions" -#: src/components/storage/PartitionsField.tsx:161 +#: src/components/storage/PartitionsField.tsx:162 msgid "Do not configure partitions for booting" msgstr "Ne pas configurer les partitions pour l'amorçage" -#: src/components/storage/PartitionsField.tsx:163 +#: src/components/storage/PartitionsField.tsx:164 msgid "Boot partitions at installation disk" msgstr "Partitions de démarrage sur le disque d'installation" #. TRANSLATORS: %s is the disk used to configure the boot-related partitions (eg. "/dev/sda, 80 GiB) -#: src/components/storage/PartitionsField.tsx:166 +#: src/components/storage/PartitionsField.tsx:167 #, c-format msgid "Boot partitions at %s" msgstr "Partitions d'amorçage sur %s" #. TRANSLATORS: header for a list of items referring to size limits for file systems -#: src/components/storage/PartitionsField.tsx:185 +#: src/components/storage/PartitionsField.tsx:186 msgid "These limits are affected by:" msgstr "Ces limites sont affectées par:" #. TRANSLATORS: list item, this affects the computed partition size limits -#: src/components/storage/PartitionsField.tsx:189 +#: src/components/storage/PartitionsField.tsx:190 msgid "The configuration of snapshots" msgstr "La configuration des clichés" -#: src/components/storage/PartitionsField.tsx:195 +#: src/components/storage/PartitionsField.tsx:196 #, c-format msgid "Presence of other volumes (%s)" msgstr "Présence d'autres volumes (%s)" #. TRANSLATORS: list item, describes a factor that affects the computed size of a #. file system; eg. adjusting the size of the swap -#: src/components/storage/PartitionsField.tsx:201 +#: src/components/storage/PartitionsField.tsx:202 msgid "The amount of RAM in the system" msgstr "La quantité de RAM dans le système" -#: src/components/storage/PartitionsField.tsx:258 +#: src/components/storage/PartitionsField.tsx:259 msgid "auto" msgstr "auto" #. TRANSLATORS: %s will be replaced by a file-system type like "Btrfs" or "Ext4" -#: src/components/storage/PartitionsField.tsx:270 +#: src/components/storage/PartitionsField.tsx:271 #, c-format msgid "Reused %s" msgstr "%s Réutilisé" -#: src/components/storage/PartitionsField.tsx:271 +#: src/components/storage/PartitionsField.tsx:272 msgid "Transactional Btrfs" msgstr "Btrfs transactionnel" -#: src/components/storage/PartitionsField.tsx:272 +#: src/components/storage/PartitionsField.tsx:273 msgid "Btrfs with snapshots" msgstr "Btrfs avec clichés" #. TRANSLATORS: %s will be replaced by a disk name (eg. "/dev/sda") -#: src/components/storage/PartitionsField.tsx:285 +#: src/components/storage/PartitionsField.tsx:286 #, c-format msgid "Partition at %s" msgstr "Partition sur %s" #. TRANSLATORS: %s will be replaced by a disk name (eg. "/dev/sda") -#: src/components/storage/PartitionsField.tsx:288 +#: src/components/storage/PartitionsField.tsx:289 #, c-format msgid "Separate LVM at %s" msgstr "Séparer le LVM à %s" -#: src/components/storage/PartitionsField.tsx:291 +#: src/components/storage/PartitionsField.tsx:292 msgid "Logical volume at system LVM" msgstr "Volume logique au niveau du système LVM" -#: src/components/storage/PartitionsField.tsx:293 +#: src/components/storage/PartitionsField.tsx:294 msgid "Partition at installation disk" msgstr "Partition sur le disque d'installation" -#: src/components/storage/PartitionsField.tsx:313 +#: src/components/storage/PartitionsField.tsx:314 msgid "Reset location" msgstr "Réinitialiser la localisation" -#: src/components/storage/PartitionsField.tsx:314 +#: src/components/storage/PartitionsField.tsx:315 msgid "Change location" msgstr "Changer la localisation" -#: src/components/storage/PartitionsField.tsx:315 -#: src/components/storage/iscsi/NodesPresenter.jsx:78 +#: src/components/storage/PartitionsField.tsx:316 +#: src/components/storage/iscsi/NodesPresenter.jsx:79 msgid "Delete" msgstr "Supprimer" -#: src/components/storage/PartitionsField.tsx:452 -#: src/components/storage/VolumeFields.tsx:66 +#: src/components/storage/PartitionsField.tsx:453 +#: src/components/storage/VolumeFields.tsx:67 #: src/components/storage/VolumeFields.tsx:76 #: src/components/storage/VolumeFields.tsx:81 msgid "Mount point" msgstr "Point de montage" #. TRANSLATORS: where (and how) the file-system is going to be created -#: src/components/storage/PartitionsField.tsx:456 +#: src/components/storage/PartitionsField.tsx:457 msgid "Location" msgstr "Localisation" -#: src/components/storage/PartitionsField.tsx:495 +#: src/components/storage/PartitionsField.tsx:496 msgid "Table with mount points" msgstr "Table avec points de montage" -#: src/components/storage/PartitionsField.tsx:576 -#: src/components/storage/PartitionsField.tsx:596 -#: src/components/storage/VolumeDialog.tsx:77 +#: src/components/storage/PartitionsField.tsx:577 +#: src/components/storage/PartitionsField.tsx:597 +#: src/components/storage/VolumeDialog.tsx:78 msgid "Add file system" msgstr "Ajouter un système de fichiers" -#: src/components/storage/PartitionsField.tsx:608 +#: src/components/storage/PartitionsField.tsx:609 msgid "Other" msgstr "Autre" -#: src/components/storage/PartitionsField.tsx:742 +#: src/components/storage/PartitionsField.tsx:743 msgid "Reset to defaults" msgstr "Rétablir les valeurs par défaut" -#: src/components/storage/PartitionsField.tsx:811 +#: src/components/storage/PartitionsField.tsx:807 msgid "Partitions and file systems" msgstr "Partitions et systèmes de fichiers" -#: src/components/storage/PartitionsField.tsx:813 +#: src/components/storage/PartitionsField.tsx:809 msgid "" "Structure of the new system, including any additional partition needed for " "booting" @@ -1645,118 +1542,118 @@ msgstr "" "Structure du nouveau système, y compris toute partition supplémentaire " "nécessaire pour l'amorçage" -#: src/components/storage/PartitionsField.tsx:820 +#: src/components/storage/PartitionsField.tsx:816 msgid "Show partitions and file-systems actions" msgstr "Afficher les actions des partitions et des systèmes de fichiers" -#: src/components/storage/ProposalActionsDialog.tsx:72 +#: src/components/storage/ProposalActionsDialog.tsx:73 #, c-format msgid "Hide %d subvolume action" msgid_plural "Hide %d subvolume actions" msgstr[0] "Masquer l'action du sous-volume %d" msgstr[1] "Masquer les actions du sous-volume %d" -#: src/components/storage/ProposalActionsDialog.tsx:77 +#: src/components/storage/ProposalActionsDialog.tsx:78 #, c-format msgid "Show %d subvolume action" msgid_plural "Show %d subvolume actions" msgstr[0] "Afficher l'action du sous-volume %d" msgstr[1] "Afficher les actions du sous-volume %d" -#: src/components/storage/ProposalActionsSummary.tsx:54 +#: src/components/storage/ProposalActionsSummary.tsx:55 msgid "Destructive actions are not allowed" msgstr "Les actions destructrices sont interdites" -#: src/components/storage/ProposalActionsSummary.tsx:56 +#: src/components/storage/ProposalActionsSummary.tsx:57 msgid "Destructive actions are allowed" msgstr "Les actions destructrices sont permises" -#: src/components/storage/ProposalActionsSummary.tsx:79 -#: src/components/storage/ProposalActionsSummary.tsx:133 +#: src/components/storage/ProposalActionsSummary.tsx:80 +#: src/components/storage/ProposalActionsSummary.tsx:134 msgid "affecting" msgstr "affectant" -#: src/components/storage/ProposalActionsSummary.tsx:113 +#: src/components/storage/ProposalActionsSummary.tsx:114 msgid "Shrinking partitions is not allowed" msgstr "La réduction des partitions n'est pas autorisée" -#: src/components/storage/ProposalActionsSummary.tsx:117 +#: src/components/storage/ProposalActionsSummary.tsx:118 msgid "Shrinking partitions is allowed" msgstr "La réduction des partitions est autorisée" -#: src/components/storage/ProposalActionsSummary.tsx:119 +#: src/components/storage/ProposalActionsSummary.tsx:120 msgid "Shrinking some partitions is allowed but not needed" msgstr "La réduction de certaines partitions est autorisée mais pas nécessaire" -#: src/components/storage/ProposalActionsSummary.tsx:122 +#: src/components/storage/ProposalActionsSummary.tsx:123 #, c-format msgid "%d partition will be shrunk" msgid_plural "%d partitions will be shrunk" msgstr[0] "La partition %d sera réduite" msgstr[1] "Les partitions %d seront réduites" -#: src/components/storage/ProposalActionsSummary.tsx:163 +#: src/components/storage/ProposalActionsSummary.tsx:164 #, fuzzy msgid "Cannot accommodate the required file systems for installation" msgstr "" "La disposition du clavier ne peut pas être modifiée via l'installation à " "distance" -#: src/components/storage/ProposalActionsSummary.tsx:171 +#: src/components/storage/ProposalActionsSummary.tsx:172 #, fuzzy, c-format msgid "Check the planned action" msgid_plural "Check the %d planned actions" msgstr[0] "Actions planifiées" msgstr[1] "Actions planifiées" -#: src/components/storage/ProposalActionsSummary.tsx:186 +#: src/components/storage/ProposalActionsSummary.tsx:187 #, fuzzy msgid "Waiting for actions information..." msgstr "En attente d'informations sur le LVM" -#: src/components/storage/ProposalPage.tsx:129 +#: src/components/storage/ProposalPage.tsx:130 msgid "Planned Actions" msgstr "Actions planifiées" -#: src/components/storage/ProposalResultSection.tsx:37 +#: src/components/storage/ProposalResultSection.tsx:38 #, fuzzy msgid "Waiting for information about storage configuration" msgstr "En attente d'informations sur le LVM" -#: src/components/storage/ProposalResultSection.tsx:62 +#: src/components/storage/ProposalResultSection.tsx:63 msgid "Final layout" msgstr "" -#: src/components/storage/ProposalResultSection.tsx:63 +#: src/components/storage/ProposalResultSection.tsx:64 msgid "The systems will be configured as displayed below." msgstr "" -#: src/components/storage/ProposalResultSection.tsx:71 +#: src/components/storage/ProposalResultSection.tsx:72 msgid "Storage proposal not possible" msgstr "" -#: src/components/storage/ProposalResultTable.tsx:77 +#: src/components/storage/ProposalResultTable.tsx:75 #, fuzzy msgid "New" msgstr "Réseau" #. TRANSLATORS: Label to indicate the device size before resizing, where %s is #. replaced by the original size (e.g., 3.00 GiB). -#: src/components/storage/ProposalResultTable.tsx:106 +#: src/components/storage/ProposalResultTable.tsx:104 #, fuzzy, c-format msgid "Before %s" msgstr "Logiciel %s" -#: src/components/storage/ProposalResultTable.tsx:133 +#: src/components/storage/ProposalResultTable.tsx:131 #, fuzzy msgid "Mount Point" msgstr "Point de montage" -#: src/components/storage/ProposalTransactionalInfo.tsx:42 +#: src/components/storage/ProposalTransactionalInfo.tsx:43 msgid "Transactional root file system" msgstr "Système de fichiers root transactionnel" -#: src/components/storage/ProposalTransactionalInfo.tsx:46 +#: src/components/storage/ProposalTransactionalInfo.tsx:47 #, c-format msgid "" "%s is an immutable system with atomic updates. It uses a read-only Btrfs " @@ -1765,12 +1662,12 @@ msgstr "" "%s est un système immuable avec des mises à jour atomiques. Il utilise un " "système de fichiers Btrfs en lecture seule mis à jour via des clichés." -#: src/components/storage/SnapshotsField.tsx:31 +#: src/components/storage/SnapshotsField.tsx:32 #, fuzzy msgid "Use Btrfs snapshots for the root file system" msgstr "Taille exacte du système de fichiers." -#: src/components/storage/SnapshotsField.tsx:33 +#: src/components/storage/SnapshotsField.tsx:34 #, fuzzy msgid "" "Allows to boot to a previous version of the system after configuration " @@ -1780,111 +1677,111 @@ msgstr "" "sur une version précédente du système après des changements de configuration " "ou des mises à jour logicielles." -#: src/components/storage/SpaceActionsTable.tsx:60 +#: src/components/storage/SpaceActionsTable.tsx:61 #, c-format msgid "Up to %s can be recovered by shrinking the device." msgstr "" -#: src/components/storage/SpaceActionsTable.tsx:69 +#: src/components/storage/SpaceActionsTable.tsx:70 msgid "The device cannot be shrunk:" msgstr "" -#: src/components/storage/SpaceActionsTable.tsx:90 +#: src/components/storage/SpaceActionsTable.tsx:91 #, fuzzy, c-format msgid "Show information about %s" msgstr "En attente d'informations sur le périphérique sélectionné" -#: src/components/storage/SpaceActionsTable.tsx:180 +#: src/components/storage/SpaceActionsTable.tsx:181 msgid "The content may be deleted" msgstr "Le contenu pourrait être supprimé" -#: src/components/storage/SpaceActionsTable.tsx:210 +#: src/components/storage/SpaceActionsTable.tsx:211 msgid "Action" msgstr "Action" -#: src/components/storage/SpaceActionsTable.tsx:221 +#: src/components/storage/SpaceActionsTable.tsx:222 msgid "Actions to find space" msgstr "Actions pour trouver de l'espace" -#: src/components/storage/SpacePolicySelection.tsx:156 +#: src/components/storage/SpacePolicySelection.tsx:157 #, fuzzy msgid "Space policy" msgstr "Politique sur l'espace" -#: src/components/storage/VolumeDialog.tsx:74 +#: src/components/storage/VolumeDialog.tsx:75 #, fuzzy, c-format msgid "Add %s file system" msgstr "Ajouter un système de fichiers" -#: src/components/storage/VolumeDialog.tsx:75 +#: src/components/storage/VolumeDialog.tsx:76 #, fuzzy, c-format msgid "Edit %s file system" msgstr "Modifier le système de fichiers" -#: src/components/storage/VolumeDialog.tsx:77 +#: src/components/storage/VolumeDialog.tsx:78 msgid "Edit file system" msgstr "Modifier le système de fichiers" #. TRANSLATORS: Warning when editing a file system. -#: src/components/storage/VolumeDialog.tsx:89 +#: src/components/storage/VolumeDialog.tsx:90 #, fuzzy msgid "The type and size of the file system cannot be edited." msgstr "la présence du système de fichiers pour %s" -#: src/components/storage/VolumeDialog.tsx:93 +#: src/components/storage/VolumeDialog.tsx:94 #, c-format msgid "The current file system on %s is selected to be mounted at %s." msgstr "" "Le système de fichiers actuel sur %s est sélectionné pour être monté sur %s." #. TRANSLATORS: Warning when editing a file system. -#: src/components/storage/VolumeDialog.tsx:101 +#: src/components/storage/VolumeDialog.tsx:102 #, fuzzy msgid "The size of the file system cannot be edited" msgstr "la présence du système de fichiers pour %s" #. TRANSLATORS: Description of a warning. %s is replaced by a device name (e.g., /dev/vda). -#: src/components/storage/VolumeDialog.tsx:103 +#: src/components/storage/VolumeDialog.tsx:104 #, fuzzy, c-format msgid "The file system is allocated at the device %s." msgstr "" "Configuration du groupe de volumes système. Tous les systèmes de fichiers " "seront créés dans un volume logique du groupe de volume système." -#: src/components/storage/VolumeDialog.tsx:140 +#: src/components/storage/VolumeDialog.tsx:141 #, fuzzy msgid "A mount point is required" msgstr "Une taille minimale est requise" -#: src/components/storage/VolumeDialog.tsx:157 +#: src/components/storage/VolumeDialog.tsx:158 #, fuzzy msgid "The mount point is invalid" msgstr "Table avec points de montage" -#: src/components/storage/VolumeDialog.tsx:175 +#: src/components/storage/VolumeDialog.tsx:176 msgid "A size value is required" msgstr "Une valeur de taille est requise" -#: src/components/storage/VolumeDialog.tsx:193 +#: src/components/storage/VolumeDialog.tsx:194 msgid "Minimum size is required" msgstr "Une taille minimale est requise" -#: src/components/storage/VolumeDialog.tsx:242 +#: src/components/storage/VolumeDialog.tsx:243 #, fuzzy, c-format msgid "There is already a file system for %s." msgstr "la présence du système de fichiers pour %s" -#: src/components/storage/VolumeDialog.tsx:244 +#: src/components/storage/VolumeDialog.tsx:245 #, fuzzy msgid "Do you want to edit it?" msgstr "Souhaitez-vous désinscrire %s ?" -#: src/components/storage/VolumeDialog.tsx:274 +#: src/components/storage/VolumeDialog.tsx:275 #, fuzzy, c-format msgid "There is a predefined file system for %s." msgstr "la présence du système de fichiers pour %s" -#: src/components/storage/VolumeDialog.tsx:276 +#: src/components/storage/VolumeDialog.tsx:277 #, fuzzy msgid "Do you want to add it?" msgstr "Souhaitez-vous désinscrire %s ?" @@ -2008,7 +1905,7 @@ msgstr "Fixe" msgid "Range" msgstr "Portée" -#: src/components/storage/VolumeLocationDialog.tsx:37 +#: src/components/storage/VolumeLocationDialog.tsx:34 msgid "" "The file systems are allocated at the installation device by default. " "Indicate a custom location to create the file system at a specific device." @@ -2019,33 +1916,33 @@ msgstr "" #. TRANSLATORS: Title of the dialog for changing the location of a file system. %s is replaced #. by a mount path (e.g., /home). -#: src/components/storage/VolumeLocationDialog.tsx:140 +#: src/components/storage/VolumeLocationDialog.tsx:137 #, fuzzy, c-format msgid "Location for %s file system" msgstr "Taille exacte du système de fichiers." -#: src/components/storage/VolumeLocationDialog.tsx:150 +#: src/components/storage/VolumeLocationDialog.tsx:147 #, fuzzy msgid "Select in which device to allocate the file system" msgstr "" "Sélectionnez la manière de libérer de l'espace sur les disques sélectionnés " "pour l'allocation des systèmes de fichiers." -#: src/components/storage/VolumeLocationDialog.tsx:153 +#: src/components/storage/VolumeLocationDialog.tsx:150 #, fuzzy msgid "Select a location" msgstr "Sélectionner une valeur" -#: src/components/storage/VolumeLocationDialog.tsx:165 +#: src/components/storage/VolumeLocationDialog.tsx:162 #, fuzzy msgid "Select how to allocate the file system" msgstr "Taille exacte du système de fichiers." -#: src/components/storage/VolumeLocationDialog.tsx:170 +#: src/components/storage/VolumeLocationDialog.tsx:167 msgid "Create a new partition" msgstr "Créer une nouvelle partition" -#: src/components/storage/VolumeLocationDialog.tsx:172 +#: src/components/storage/VolumeLocationDialog.tsx:169 #, fuzzy msgid "" "The file system will be allocated as a new partition at the selected disk." @@ -2053,12 +1950,12 @@ msgstr "" "Configuration du groupe de volumes système. Tous les systèmes de fichiers " "seront créés dans un volume logique du groupe de volume système." -#: src/components/storage/VolumeLocationDialog.tsx:182 +#: src/components/storage/VolumeLocationDialog.tsx:179 #, fuzzy msgid "Create a dedicated LVM volume group" msgstr "Groupe de volume système" -#: src/components/storage/VolumeLocationDialog.tsx:184 +#: src/components/storage/VolumeLocationDialog.tsx:181 msgid "" "A new volume group will be allocated in the selected disk and the file " "system will be created as a logical volume." @@ -2066,23 +1963,23 @@ msgstr "" "Un nouveau groupe de volumes sera attribué au disque sélectionné et le " "système de fichiers sera créé en tant que volume logique." -#: src/components/storage/VolumeLocationDialog.tsx:194 +#: src/components/storage/VolumeLocationDialog.tsx:191 #, fuzzy msgid "Format the device" msgstr "Formatage des périphériques DASD" -#: src/components/storage/VolumeLocationDialog.tsx:198 +#: src/components/storage/VolumeLocationDialog.tsx:195 #, c-format msgid "The selected device will be formatted as %s file system." msgstr "" "Le périphérique sélectionné sera formaté en tant que système de fichiers %s." -#: src/components/storage/VolumeLocationDialog.tsx:209 +#: src/components/storage/VolumeLocationDialog.tsx:206 #, fuzzy msgid "Mount the file system" msgstr "Modifier le système de fichiers" -#: src/components/storage/VolumeLocationDialog.tsx:211 +#: src/components/storage/VolumeLocationDialog.tsx:208 msgid "" "The current file system on the selected device will be mounted without " "formatting the device." @@ -2090,294 +1987,324 @@ msgstr "" "Le système de fichiers actuel sur le périphérique sélectionné sera monté " "sans formater le périphérique." -#: src/components/storage/VolumeLocationSelectorTable.tsx:98 +#: src/components/storage/VolumeLocationSelectorTable.tsx:99 msgid "Usage" msgstr "Utilisation" -#: src/components/storage/ZFCPDiskForm.jsx:106 -msgid "The zFCP disk was not activated." -msgstr "Le disque zFCP n'a pas été activé." +#: src/components/storage/dasd/DASDFormatProgress.tsx:49 +msgid "Formatting DASD devices" +msgstr "Formatage des périphériques DASD" -#. TRANSLATORS: abbrev. World Wide Port Name -#: src/components/storage/ZFCPDiskForm.jsx:123 -#: src/components/storage/ZFCPPage.jsx:383 -msgid "WWPN" -msgstr "WWPN" +#: src/components/storage/dasd/DASDPage.tsx:39 src/routes/storage.tsx:77 +#, fuzzy +msgid "DASD" +msgstr "DASD %s" -#. TRANSLATORS: abbrev. Logical Unit Number -#: src/components/storage/ZFCPDiskForm.jsx:131 -#: src/components/storage/ZFCPPage.jsx:384 -msgid "LUN" -msgstr "LUN" +#. TRANSLATORS: DASD devices selection table +#: src/components/storage/dasd/DASDPage.tsx:44 +#, fuzzy +msgid "DASD devices selection table" +msgstr "Aucun périphérique n'a encore été sélectionné" -#: src/components/storage/ZFCPPage.jsx:326 -msgid "Auto LUNs Scan" -msgstr "Balayage LUN automatique" +#: src/components/storage/dasd/DASDPage.tsx:54 +#: src/components/storage/zfcp/ZFCPPage.tsx:200 +#, fuzzy +msgid "Back to device selection" +msgstr "Aucun périphérique n'a encore été sélectionné" -#: src/components/storage/ZFCPPage.jsx:337 -msgid "Activated" -msgstr "Activé" +#: src/components/storage/dasd/DASDTable.tsx:64 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:36 +msgid "No" +msgstr "Non" -#: src/components/storage/ZFCPPage.jsx:337 -msgid "Deactivated" -msgstr "Désactivé" +#: src/components/storage/dasd/DASDTable.tsx:64 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:36 +msgid "Yes" +msgstr "Oui" -#: src/components/storage/ZFCPPage.jsx:437 -msgid "No zFCP controllers found." -msgstr "Aucun contrôleur zFCP n'a été trouvé." +#: src/components/storage/dasd/DASDTable.tsx:71 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:20 +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:119 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:43 +msgid "Channel ID" +msgstr "ID du canal" -#: src/components/storage/ZFCPPage.jsx:438 -msgid "Please, try to read the zFCP devices again." -msgstr "Veuillez essayez de lire à nouveau périphériques zFCP." +#. TRANSLATORS: table header +#: src/components/storage/dasd/DASDTable.tsx:72 +#: src/components/storage/iscsi/NodesPresenter.jsx:104 +#: src/components/storage/iscsi/NodesPresenter.jsx:125 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:21 +#: src/components/users/RootAuthMethods.tsx:71 +msgid "Status" +msgstr "Statut" -#: src/components/storage/ZFCPPage.jsx:441 -msgid "Read zFCP devices" -msgstr "Lire les périphériques zFCP" +#: src/components/storage/dasd/DASDTable.tsx:74 +msgid "Type" +msgstr "Type" -#: src/components/storage/ZFCPPage.jsx:452 -msgid "" -"Automatic LUN scan is [enabled]. Activating a controller which is running in " -"NPIV mode will automatically configures all its LUNs." -msgstr "" -"Le balayage automatique des LUN est [activé]. L'activation d'un contrôleur " -"fonctionnant en mode NPIV configurera automatiquement toutes ses LUN." +#. TRANSLATORS: table header, the column contains "Yes"/"No" values +#. for the DIAG access mode (special disk access mode on IBM mainframes), +#. usually keep untranslated +#: src/components/storage/dasd/DASDTable.tsx:78 +msgid "DIAG" +msgstr "DIAG" -#: src/components/storage/ZFCPPage.jsx:457 -msgid "" -"Automatic LUN scan is [disabled]. LUNs have to be manually configured after " -"activating a controller." -msgstr "" -"Le balayage automatique des LUN est [désactivé]. Les LUN doivent être " -"configurés manuellement après l'activation d'un contrôleur." +#: src/components/storage/dasd/DASDTable.tsx:79 +msgid "Formatted" +msgstr "Formaté" -#: src/components/storage/ZFCPPage.jsx:519 -msgid "Activate a zFCP disk" -msgstr "Activer un disque zFCP" +#: src/components/storage/dasd/DASDTable.tsx:80 +msgid "Partition Info" +msgstr "Informations sur la partition" -#: src/components/storage/ZFCPPage.jsx:553 -msgid "Please, try to activate a zFCP controller." -msgstr "Veuillez essayer d'activer un contrôleur zFCP." +#. TRANSLATORS: drop down menu label +#: src/components/storage/dasd/DASDTable.tsx:119 +msgid "Perform an action" +msgstr "Effectuer une action" -#: src/components/storage/ZFCPPage.jsx:559 -msgid "Please, try to activate a zFCP disk." -msgstr "Veuillez essayer d'activer un disque zFCP." +#: src/components/storage/dasd/DASDTable.tsx:126 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:51 +msgid "Activate" +msgstr "Activer" -#: src/components/storage/ZFCPPage.jsx:562 -msgid "Activate zFCP disk" -msgstr "Activer le disque zFCP" +#: src/components/storage/dasd/DASDTable.tsx:130 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:56 +msgid "Deactivate" +msgstr "Désactiver" -#: src/components/storage/ZFCPPage.jsx:570 -msgid "No zFCP disks found." -msgstr "Aucun disque zFCP n'a été trouvé." +#: src/components/storage/dasd/DASDTable.tsx:135 +msgid "Set DIAG On" +msgstr "Activer le diagnostic" -#: src/components/storage/ZFCPPage.jsx:586 -msgid "Activate new disk" -msgstr "Activer un nouveau disque" +#: src/components/storage/dasd/DASDTable.tsx:139 +msgid "Set DIAG Off" +msgstr "Désactiver le diagnostic" -#. TRANSLATORS: section title -#: src/components/storage/ZFCPPage.jsx:599 -msgid "Disks" -msgstr "Disques" +#: src/components/storage/dasd/DASDTable.tsx:144 +msgid "Format" +msgstr "Format" + +#: src/components/storage/dasd/DASDTable.tsx:280 +#: src/components/storage/dasd/DASDTable.tsx:281 +msgid "Filter by min channel" +msgstr "Filtrer par canal minimal" + +#: src/components/storage/dasd/DASDTable.tsx:288 +msgid "Remove min channel filter" +msgstr "Supprimer le filtre canal minimal" -#: src/components/storage/device-utils.tsx:74 +#: src/components/storage/dasd/DASDTable.tsx:302 +#: src/components/storage/dasd/DASDTable.tsx:303 +msgid "Filter by max channel" +msgstr "Filtrer par canal maximal" + +#: src/components/storage/dasd/DASDTable.tsx:310 +msgid "Remove max channel filter" +msgstr "Supprimer le filtre du canal maximal" + +#: src/components/storage/device-utils.tsx:75 #, fuzzy msgid "Unused space" msgstr "Trouver de l'espace" -#: src/components/storage/iscsi/AuthFields.jsx:70 +#: src/components/storage/iscsi/AuthFields.jsx:71 msgid "Only available if authentication by target is provided" msgstr "Disponible uniquement si l'authentification par la cible est fournie" -#: src/components/storage/iscsi/AuthFields.jsx:77 +#: src/components/storage/iscsi/AuthFields.jsx:78 msgid "Authentication by target" msgstr "Authentification par cible" -#: src/components/storage/iscsi/AuthFields.jsx:78 -#: src/components/storage/iscsi/AuthFields.jsx:82 -#: src/components/storage/iscsi/AuthFields.jsx:84 -#: src/components/storage/iscsi/AuthFields.jsx:104 -#: src/components/storage/iscsi/AuthFields.jsx:108 -#: src/components/storage/iscsi/AuthFields.jsx:110 +#: src/components/storage/iscsi/AuthFields.jsx:79 +#: src/components/storage/iscsi/AuthFields.jsx:83 +#: src/components/storage/iscsi/AuthFields.jsx:85 +#: src/components/storage/iscsi/AuthFields.jsx:105 +#: src/components/storage/iscsi/AuthFields.jsx:109 +#: src/components/storage/iscsi/AuthFields.jsx:111 msgid "User name" msgstr "Nom d'utilisateur" -#: src/components/storage/iscsi/AuthFields.jsx:88 -#: src/components/storage/iscsi/AuthFields.jsx:116 +#: src/components/storage/iscsi/AuthFields.jsx:89 +#: src/components/storage/iscsi/AuthFields.jsx:117 msgid "Incorrect user name" msgstr "Nom d'utilisateur incorrect" -#: src/components/storage/iscsi/AuthFields.jsx:99 -#: src/components/storage/iscsi/AuthFields.jsx:130 +#: src/components/storage/iscsi/AuthFields.jsx:100 +#: src/components/storage/iscsi/AuthFields.jsx:131 msgid "Incorrect password" msgstr "Mot de passe incorrect" -#: src/components/storage/iscsi/AuthFields.jsx:102 +#: src/components/storage/iscsi/AuthFields.jsx:103 msgid "Authentication by initiator" msgstr "Authentification par initiateur" -#: src/components/storage/iscsi/AuthFields.jsx:123 +#: src/components/storage/iscsi/AuthFields.jsx:124 msgid "Target Password" msgstr "Mot de passe cible" #. TRANSLATORS: popup title -#: src/components/storage/iscsi/DiscoverForm.tsx:94 +#: src/components/storage/iscsi/DiscoverForm.tsx:95 msgid "Discover iSCSI Targets" msgstr "Découvrir les cibles iSCSI" -#: src/components/storage/iscsi/DiscoverForm.tsx:99 -#: src/components/storage/iscsi/LoginForm.jsx:70 +#: src/components/storage/iscsi/DiscoverForm.tsx:100 +#: src/components/storage/iscsi/LoginForm.jsx:71 msgid "Make sure you provide the correct values" msgstr "Assurez-vous de fournir les bonnes valeurs" -#: src/components/storage/iscsi/DiscoverForm.tsx:103 +#: src/components/storage/iscsi/DiscoverForm.tsx:104 msgid "IP address" msgstr "Adresse IP" #. TRANSLATORS: network address -#: src/components/storage/iscsi/DiscoverForm.tsx:108 -#: src/components/storage/iscsi/DiscoverForm.tsx:110 +#: src/components/storage/iscsi/DiscoverForm.tsx:109 +#: src/components/storage/iscsi/DiscoverForm.tsx:111 msgid "Address" msgstr "Adresse" -#: src/components/storage/iscsi/DiscoverForm.tsx:115 +#: src/components/storage/iscsi/DiscoverForm.tsx:116 msgid "Incorrect IP address" msgstr "Adresse IP incorrecte" #. TRANSLATORS: network port number -#: src/components/storage/iscsi/DiscoverForm.tsx:117 -#: src/components/storage/iscsi/DiscoverForm.tsx:122 -#: src/components/storage/iscsi/DiscoverForm.tsx:124 +#: src/components/storage/iscsi/DiscoverForm.tsx:118 +#: src/components/storage/iscsi/DiscoverForm.tsx:123 +#: src/components/storage/iscsi/DiscoverForm.tsx:125 msgid "Port" msgstr "Port" -#: src/components/storage/iscsi/DiscoverForm.tsx:129 +#: src/components/storage/iscsi/DiscoverForm.tsx:130 msgid "Incorrect port" msgstr "Port incorrect" #. TRANSLATORS: %s is replaced by the iSCSI target node name -#: src/components/storage/iscsi/EditNodeForm.tsx:48 +#: src/components/storage/iscsi/EditNodeForm.tsx:49 #, c-format msgid "Edit %s" msgstr "Modifier %s" -#: src/components/storage/iscsi/InitiatorForm.tsx:42 +#: src/components/storage/iscsi/InitiatorForm.tsx:43 msgid "Edit iSCSI Initiator" msgstr "Modifier l'initiateur iSCSI" #. TRANSLATORS: iSCSI initiator name -#: src/components/storage/iscsi/InitiatorForm.tsx:49 +#: src/components/storage/iscsi/InitiatorForm.tsx:50 msgid "Initiator name" msgstr "Nom de l'initiateur" #. TRANSLATORS: usually just keep the original text #. iBFT = iSCSI Boot Firmware Table, HW support for booting from iSCSI -#: src/components/storage/iscsi/InitiatorPresenter.tsx:56 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:71 -#: src/components/storage/iscsi/NodesPresenter.jsx:102 -#: src/components/storage/iscsi/NodesPresenter.jsx:123 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:72 +#: src/components/storage/iscsi/NodesPresenter.jsx:103 +#: src/components/storage/iscsi/NodesPresenter.jsx:124 msgid "iBFT" msgstr "iBFT" -#: src/components/storage/iscsi/InitiatorPresenter.tsx:57 -#: src/components/storage/iscsi/InitiatorPresenter.tsx:72 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:58 +#: src/components/storage/iscsi/InitiatorPresenter.tsx:73 msgid "Offload card" msgstr "Carte de décharge" #. TRANSLATORS: iSCSI initiator section name -#: src/components/storage/iscsi/InitiatorSection.tsx:35 +#: src/components/storage/iscsi/InitiatorSection.tsx:36 msgid "Initiator" msgstr "Initiateur" #. TRANSLATORS: %s is replaced by the iSCSI target name -#: src/components/storage/iscsi/LoginForm.jsx:66 +#: src/components/storage/iscsi/LoginForm.jsx:67 #, c-format msgid "Login %s" msgstr "Connexion %s" #. TRANSLATORS: iSCSI start up mode (on boot/manual/automatic) -#: src/components/storage/iscsi/LoginForm.jsx:74 -#: src/components/storage/iscsi/LoginForm.jsx:77 +#: src/components/storage/iscsi/LoginForm.jsx:75 +#: src/components/storage/iscsi/LoginForm.jsx:78 msgid "Startup" msgstr "Démarrage" -#: src/components/storage/iscsi/NodeStartupOptions.js:26 +#: src/components/storage/iscsi/NodeStartupOptions.js:27 msgid "On boot" msgstr "Lors du démarrage" #. TRANSLATORS: iSCSI connection status, %s is replaced by node label -#: src/components/storage/iscsi/NodesPresenter.jsx:68 +#: src/components/storage/iscsi/NodesPresenter.jsx:69 #, c-format msgid "Connected (%s)" msgstr "Connecté (%s)" -#: src/components/storage/iscsi/NodesPresenter.jsx:83 +#: src/components/storage/iscsi/NodesPresenter.jsx:84 msgid "Login" msgstr "Se connecter" -#: src/components/storage/iscsi/NodesPresenter.jsx:87 +#: src/components/storage/iscsi/NodesPresenter.jsx:88 msgid "Logout" msgstr "Se déconnecter" -#: src/components/storage/iscsi/NodesPresenter.jsx:100 -#: src/components/storage/iscsi/NodesPresenter.jsx:121 +#: src/components/storage/iscsi/NodesPresenter.jsx:101 +#: src/components/storage/iscsi/NodesPresenter.jsx:122 msgid "Portal" msgstr "Portail" -#: src/components/storage/iscsi/NodesPresenter.jsx:101 -#: src/components/storage/iscsi/NodesPresenter.jsx:122 +#: src/components/storage/iscsi/NodesPresenter.jsx:102 +#: src/components/storage/iscsi/NodesPresenter.jsx:123 msgid "Interface" msgstr "Interface" -#: src/components/storage/iscsi/TargetsSection.tsx:56 +#: src/components/storage/iscsi/TargetsSection.tsx:57 msgid "No iSCSI targets found." msgstr "Aucune cible iSCSI n'a été trouvée." -#: src/components/storage/iscsi/TargetsSection.tsx:58 +#: src/components/storage/iscsi/TargetsSection.tsx:59 msgid "" "Please, perform an iSCSI discovery in order to find available iSCSI targets." msgstr "" "Veuillez effectuer une découverte iSCSI afin de trouver les cibles iSCSI " "disponibles." -#: src/components/storage/iscsi/TargetsSection.tsx:62 +#: src/components/storage/iscsi/TargetsSection.tsx:63 msgid "Discover iSCSI targets" msgstr "Découvrir les cibles iSCSI" #. TRANSLATORS: button label, starts iSCSI discovery -#: src/components/storage/iscsi/TargetsSection.tsx:74 +#: src/components/storage/iscsi/TargetsSection.tsx:75 msgid "Discover" msgstr "Découvrir" #. TRANSLATORS: iSCSI targets section title -#: src/components/storage/iscsi/TargetsSection.tsx:85 +#: src/components/storage/iscsi/TargetsSection.tsx:86 msgid "Targets" msgstr "Cibles" -#: src/components/storage/utils.ts:60 +#: src/components/storage/utils.ts:61 msgid "KiB" msgstr "KiB" -#: src/components/storage/utils.ts:61 +#: src/components/storage/utils.ts:62 msgid "MiB" msgstr "MiB" -#: src/components/storage/utils.ts:62 +#: src/components/storage/utils.ts:63 msgid "GiB" msgstr "GiB" -#: src/components/storage/utils.ts:63 +#: src/components/storage/utils.ts:64 msgid "TiB" msgstr "TiB" -#: src/components/storage/utils.ts:64 +#: src/components/storage/utils.ts:65 msgid "PiB" msgstr "PiB" -#: src/components/storage/utils.ts:72 +#: src/components/storage/utils.ts:73 msgid "Delete current content" msgstr "Supprimer le contenu actuel" -#: src/components/storage/utils.ts:73 +#: src/components/storage/utils.ts:74 msgid "All partitions will be removed and any data in the disks will be lost." msgstr "" "Toutes les partitions seront supprimées et toutes les données contenues dans " @@ -2385,16 +2312,16 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space deleting current content". Keep it short -#: src/components/storage/utils.ts:77 +#: src/components/storage/utils.ts:78 #, fuzzy msgid "deleting current content" msgstr "Supprimer le contenu actuel" -#: src/components/storage/utils.ts:82 +#: src/components/storage/utils.ts:83 msgid "Shrink existing partitions" msgstr "Réduire les partitions existantes" -#: src/components/storage/utils.ts:83 +#: src/components/storage/utils.ts:84 msgid "The data is kept, but the current partitions will be resized as needed." msgstr "" "Les données sont conservées, mais les partitions actuelles seront " @@ -2402,16 +2329,16 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space shrinking partitions". Keep it short. -#: src/components/storage/utils.ts:87 +#: src/components/storage/utils.ts:88 #, fuzzy msgid "shrinking partitions" msgstr "Réduire les partitions existantes" -#: src/components/storage/utils.ts:92 +#: src/components/storage/utils.ts:93 msgid "Use available space" msgstr "Utiliser l'espace disponible" -#: src/components/storage/utils.ts:93 +#: src/components/storage/utils.ts:94 msgid "" "The data is kept. Only the space not assigned to any partition will be used." msgstr "" @@ -2420,34 +2347,126 @@ msgstr "" #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space without modifying any partition". Keep it short. -#: src/components/storage/utils.ts:97 +#: src/components/storage/utils.ts:98 msgid "without modifying any partition" msgstr "sans modifier aucune partition" -#: src/components/storage/utils.ts:102 +#: src/components/storage/utils.ts:103 msgid "Custom" msgstr "Personnalisé" -#: src/components/storage/utils.ts:103 +#: src/components/storage/utils.ts:104 msgid "Select what to do with each partition." msgstr "Sélectionnez ce qu'il faut faire pour chaque partition." #. TRANSLATORS: This is presented next to the label "Find space", so the whole sentence #. would read as "Find space with custom actions". Keep it short. -#: src/components/storage/utils.ts:107 +#: src/components/storage/utils.ts:108 #, fuzzy msgid "with custom actions" msgstr "réalisation d'une suite d'actions personnalisées" -#: src/components/users/FirstUser.tsx:33 +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:22 +msgid "Auto LUNs Scan" +msgstr "Balayage LUN automatique" + +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:33 +msgid "Activated" +msgstr "Activé" + +#: src/components/storage/zfcp/ZFCPControllersTable.tsx:33 +msgid "Deactivated" +msgstr "Désactivé" + +#: src/components/storage/zfcp/ZFCPDiskActivationPage.tsx:62 +msgid "zFCP Disk Activation" +msgstr "" + +#. TRANSLATORS: zFCP disk activation form +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:112 +msgid "zFCP Disk activation form" +msgstr "" + +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:115 +msgid "The zFCP disk was not activated." +msgstr "Le disque zFCP n'a pas été activé." + +#. TRANSLATORS: abbrev. World Wide Port Name +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:132 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:44 +msgid "WWPN" +msgstr "WWPN" + +#. TRANSLATORS: abbrev. Logical Unit Number +#: src/components/storage/zfcp/ZFCPDiskForm.tsx:140 +#: src/components/storage/zfcp/ZFCPDisksTable.tsx:45 +msgid "LUN" +msgstr "LUN" + +#: src/components/storage/zfcp/ZFCPPage.tsx:54 +#, fuzzy +msgid "" +"Automatic LUN scan is [enabled]. Activating a controller which is " +"running in NPIV mode will automatically configures all its LUNs." +msgstr "" +"Le balayage automatique des LUN est [activé]. L'activation d'un contrôleur " +"fonctionnant en mode NPIV configurera automatiquement toutes ses LUN." + +#: src/components/storage/zfcp/ZFCPPage.tsx:59 +#, fuzzy +msgid "" +"Automatic LUN scan is [disabled]. LUNs have to be manually configured " +"after activating a controller." +msgstr "" +"Le balayage automatique des LUN est [désactivé]. Les LUN doivent être " +"configurés manuellement après l'activation d'un contrôleur." + +#: src/components/storage/zfcp/ZFCPPage.tsx:80 +msgid "Please, try to activate a zFCP disk." +msgstr "Veuillez essayer d'activer un disque zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:81 +#: src/components/storage/zfcp/ZFCPPage.tsx:164 +msgid "Please, try to activate a zFCP controller." +msgstr "Veuillez essayer d'activer un contrôleur zFCP." + +#: src/components/storage/zfcp/ZFCPPage.tsx:85 +msgid "No zFCP disks found." +msgstr "Aucun disque zFCP n'a été trouvé." + +#: src/components/storage/zfcp/ZFCPPage.tsx:92 +msgid "Activate zFCP disk" +msgstr "Activer le disque zFCP" + +#: src/components/storage/zfcp/ZFCPPage.tsx:115 +msgid "Activate new disk" +msgstr "Activer un nouveau disque" + +#: src/components/storage/zfcp/ZFCPPage.tsx:133 +msgid "Disks" +msgstr "Disques" + +#: src/components/storage/zfcp/ZFCPPage.tsx:143 +msgid "Controllers" +msgstr "" + +#: src/components/storage/zfcp/ZFCPPage.tsx:156 +msgid "No zFCP controllers found." +msgstr "Aucun contrôleur zFCP n'a été trouvé." + +#: src/components/storage/zfcp/ZFCPPage.tsx:160 +msgid "Read zFCP devices" +msgstr "Lire les périphériques zFCP" + +#: src/components/users/FirstUser.tsx:34 msgid "Define a user now" msgstr "Définir un utilisateur maintenant" -#: src/components/users/FirstUser.tsx:39 +#: src/components/users/FirstUser.tsx:40 msgid "No user defined yet." msgstr "Aucun utilisateur n'a été défini." -#: src/components/users/FirstUser.tsx:43 +#: src/components/users/FirstUser.tsx:44 msgid "" "Please, be aware that a user must be defined before installing the system to " "be able to log into it." @@ -2455,76 +2474,76 @@ msgstr "" "Veuillez noter qu'un utilisateur doit être défini avant l'installation du " "système pour pouvoir s'y connecter." -#: src/components/users/FirstUser.tsx:55 -#: src/components/users/FirstUserForm.tsx:220 +#: src/components/users/FirstUser.tsx:56 +#: src/components/users/FirstUserForm.tsx:221 msgid "Full name" msgstr "Nom complet" -#: src/components/users/FirstUser.tsx:56 -#: src/components/users/FirstUserForm.tsx:234 -#: src/components/users/FirstUserForm.tsx:239 -#: src/components/users/FirstUserForm.tsx:242 +#: src/components/users/FirstUser.tsx:57 +#: src/components/users/FirstUserForm.tsx:235 +#: src/components/users/FirstUserForm.tsx:240 +#: src/components/users/FirstUserForm.tsx:243 msgid "Username" msgstr "Nom d'utilisateur" -#: src/components/users/FirstUser.tsx:87 -#: src/components/users/RootAuthMethods.tsx:117 -#: src/components/users/RootAuthMethods.tsx:129 +#: src/components/users/FirstUser.tsx:88 +#: src/components/users/RootAuthMethods.tsx:118 +#: src/components/users/RootAuthMethods.tsx:130 msgid "Discard" msgstr "Rejeter" -#: src/components/users/FirstUser.tsx:94 +#: src/components/users/FirstUser.tsx:95 #, fuzzy msgid "First user" msgstr "Modifier %s" -#: src/components/users/FirstUserForm.tsx:57 +#: src/components/users/FirstUserForm.tsx:58 msgid "Username suggestion dropdown" msgstr "menu déroulant de noms d'utilisateur suggérés" #. TRANSLATORS: dropdown username suggestions -#: src/components/users/FirstUserForm.tsx:72 +#: src/components/users/FirstUserForm.tsx:73 msgid "Use suggested username" msgstr "Utiliser le nom d'utilisateur suggéré" -#: src/components/users/FirstUserForm.tsx:147 +#: src/components/users/FirstUserForm.tsx:148 #, fuzzy msgid "All fields are required" msgstr "Une valeur de taille est requise" -#: src/components/users/FirstUserForm.tsx:204 +#: src/components/users/FirstUserForm.tsx:205 #, fuzzy msgid "Create user" msgstr "Créer un compte utilisateur" -#: src/components/users/FirstUserForm.tsx:204 +#: src/components/users/FirstUserForm.tsx:205 #, fuzzy msgid "Edit user" msgstr "Modifier %s" -#: src/components/users/FirstUserForm.tsx:224 -#: src/components/users/FirstUserForm.tsx:226 +#: src/components/users/FirstUserForm.tsx:225 +#: src/components/users/FirstUserForm.tsx:227 msgid "User full name" msgstr "Nom complet de l'utilisateur" -#: src/components/users/FirstUserForm.tsx:264 +#: src/components/users/FirstUserForm.tsx:265 msgid "Edit password too" msgstr "Modifier également le mot de passe" -#: src/components/users/FirstUserForm.tsx:280 +#: src/components/users/FirstUserForm.tsx:281 msgid "user autologin" msgstr "connexion automatique de l'utilisateur" #. TRANSLATORS: check box label -#: src/components/users/FirstUserForm.tsx:284 +#: src/components/users/FirstUserForm.tsx:285 msgid "Auto-login" msgstr "connexion automatique" -#: src/components/users/RootAuthMethods.tsx:33 +#: src/components/users/RootAuthMethods.tsx:34 msgid "No root authentication method defined yet." msgstr "Aucune méthode d'authentification Root n'a été définie." -#: src/components/users/RootAuthMethods.tsx:37 +#: src/components/users/RootAuthMethods.tsx:38 msgid "" "Please, define at least one authentication method for logging into the " "system as root." @@ -2533,53 +2552,53 @@ msgstr "" "au système en tant que root." #. TRANSLATORS: table header, user authentication method -#: src/components/users/RootAuthMethods.tsx:68 +#: src/components/users/RootAuthMethods.tsx:69 msgid "Method" msgstr "Méthode" -#: src/components/users/RootAuthMethods.tsx:77 +#: src/components/users/RootAuthMethods.tsx:78 msgid "Already set" msgstr "Déjà réglé" -#: src/components/users/RootAuthMethods.tsx:77 -#: src/components/users/RootAuthMethods.tsx:85 +#: src/components/users/RootAuthMethods.tsx:78 +#: src/components/users/RootAuthMethods.tsx:86 msgid "Not set" msgstr "Non réglé" -#: src/components/users/RootAuthMethods.tsx:83 +#: src/components/users/RootAuthMethods.tsx:84 msgid "SSH Key" msgstr "Clé SSH" -#: src/components/users/RootAuthMethods.tsx:113 -#: src/components/users/RootAuthMethods.tsx:125 +#: src/components/users/RootAuthMethods.tsx:114 +#: src/components/users/RootAuthMethods.tsx:126 msgid "Set" msgstr "Réglé" -#: src/components/users/RootAuthMethods.tsx:137 +#: src/components/users/RootAuthMethods.tsx:138 msgid "Root authentication" msgstr "Authentification root" -#: src/components/users/RootAuthMethods.tsx:144 +#: src/components/users/RootAuthMethods.tsx:145 msgid "Set a password" msgstr "Définir un mot de passe" -#: src/components/users/RootAuthMethods.tsx:148 +#: src/components/users/RootAuthMethods.tsx:149 msgid "Upload a SSH Public Key" msgstr "Charger une clé publique SSH" -#: src/components/users/RootAuthMethods.tsx:165 +#: src/components/users/RootAuthMethods.tsx:166 msgid "Change the root password" msgstr "Modifier le mot de passe root" -#: src/components/users/RootAuthMethods.tsx:165 +#: src/components/users/RootAuthMethods.tsx:166 msgid "Set a root password" msgstr "Définir un mot de passe root" -#: src/components/users/RootAuthMethods.tsx:175 +#: src/components/users/RootAuthMethods.tsx:176 msgid "Edit the SSH Public Key for root" msgstr "Modifier la clé publique SSH pour root" -#: src/components/users/RootAuthMethods.tsx:176 +#: src/components/users/RootAuthMethods.tsx:177 msgid "Add a SSH Public Key for root" msgstr "Ajouter une clé publique SSH pour root" @@ -2587,32 +2606,42 @@ msgstr "Ajouter une clé publique SSH pour root" msgid "Root password" msgstr "Mot de passe root" -#: src/components/users/RootSSHKeyPopup.jsx:43 +#: src/components/users/RootSSHKeyPopup.jsx:44 msgid "Set root SSH public key" msgstr "Définir la clé publique SSH de root" -#: src/components/users/RootSSHKeyPopup.jsx:71 +#: src/components/users/RootSSHKeyPopup.jsx:72 msgid "Root SSH public key" msgstr "Clé publique SSH root" -#: src/components/users/RootSSHKeyPopup.jsx:76 +#: src/components/users/RootSSHKeyPopup.jsx:77 msgid "Upload, paste, or drop an SSH public key" msgstr "Téléverser, coller ou déposer une clé publique SSH" #. TRANSLATORS: push button label -#: src/components/users/RootSSHKeyPopup.jsx:78 +#: src/components/users/RootSSHKeyPopup.jsx:79 msgid "Upload" msgstr "Charger" #. TRANSLATORS: push button label, clears the related input field -#: src/components/users/RootSSHKeyPopup.jsx:80 +#: src/components/users/RootSSHKeyPopup.jsx:81 msgid "Clear" msgstr "Effacer" -#: src/router.js:48 +#: src/router.js:49 msgid "Overview" msgstr "" +#: src/routes/storage.tsx:86 +msgid "ZFCP" +msgstr "" + +#~ msgid "Please, try to read the zFCP devices again." +#~ msgstr "Veuillez essayez de lire à nouveau périphériques zFCP." + +#~ msgid "Activate a zFCP disk" +#~ msgstr "Activer un disque zFCP" + #~ msgid "Waiting for progress report" #~ msgstr "En attente d'un rapport d'avancement" diff --git a/web/po/id.po b/web/po/id.po index ec43d485cc..44dfb9b9fe 100644 --- a/web/po/id.po +++ b/web/po/id.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-16 07:57+0000\n" +"POT-Creation-Date: 2024-09-22 02:43+0000\n" "PO-Revision-Date: 2024-04-09 17:43+0000\n" "Last-Translator: Arif Budiman \n" "Language-Team: Indonesian