diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f4d7ce46ce..8355642605 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -13,9 +13,6 @@ updates: labels: - "3. to review" - "dependencies" - reviewers: - - juliushaertl - - luka-nextcloud - package-ecosystem: composer directory: "/" @@ -24,13 +21,11 @@ updates: day: saturday time: "03:00" timezone: Europe/Paris + versioning-strategy: "increase" open-pull-requests-limit: 10 labels: - "3. to review" - "dependencies" - reviewers: - - juliushaertl - - luka-nextcloud - package-ecosystem: composer directory: "/tests" @@ -42,9 +37,6 @@ updates: labels: - "3. to review" - "dependencies" - reviewers: - - juliushaertl - - luka-nextcloud open-pull-requests-limit: 10 - package-ecosystem: npm @@ -54,13 +46,10 @@ updates: day: saturday time: "03:00" timezone: Europe/Paris - target-branch: stable28 + target-branch: stable29 labels: - "3. to review" - "dependencies" - reviewers: - - juliushaertl - - luka-nextcloud ignore: - dependency-name: "*" update-types: ["version-update:semver-major", "version-update:semver-minor"] @@ -74,13 +63,10 @@ updates: day: saturday time: "03:00" timezone: Europe/Paris - target-branch: stable29 + target-branch: stable30 labels: - "3. to review" - "dependencies" - reviewers: - - juliushaertl - - luka-nextcloud ignore: - dependency-name: "*" update-types: ["version-update:semver-major", "version-update:semver-minor"] @@ -94,15 +80,13 @@ updates: day: saturday time: "03:00" timezone: Europe/Paris - target-branch: stable30 + target-branch: stable31 labels: - "3. to review" - "dependencies" - reviewers: - - juliushaertl - - luka-nextcloud ignore: - dependency-name: "*" update-types: ["version-update:semver-major", "version-update:semver-minor"] # Disable automatic rebasing because without a build CI will likely fail anyway rebase-strategy: "disabled" + diff --git a/.github/workflows/appstore-build-publish.yml b/.github/workflows/appstore-build-publish.yml index aa8d7dc545..a076c06af9 100644 --- a/.github/workflows/appstore-build-publish.yml +++ b/.github/workflows/appstore-build-publish.yml @@ -12,6 +12,9 @@ on: release: types: [published] +permissions: + contents: write + jobs: build_and_publish: runs-on: ubuntu-latest @@ -32,13 +35,25 @@ jobs: echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false path: ${{ env.APP_NAME }} + - name: Get app version number + id: app-version + uses: skjnldsv/xpath-action@f5b036e9d973f42c86324833fd00be90665fbf77 # master + with: + filename: ${{ env.APP_NAME }}/appinfo/info.xml + expression: "//info//version/text()" + + - name: Validate app version against tag + run: | + [ "${{ env.APP_VERSION }}" = "v${{ fromJSON(steps.app-version.outputs.result).version }}" ] + - name: Get appinfo data id: appinfo - uses: skjnldsv/xpath-action@7e6a7c379d0e9abc8acaef43df403ab4fc4f770c # master + uses: skjnldsv/xpath-action@f5b036e9d973f42c86324833fd00be90665fbf77 # master with: filename: ${{ env.APP_NAME }}/appinfo/info.xml expression: "//info//dependencies//nextcloud/@min-version" @@ -56,7 +71,7 @@ jobs: - name: Set up node ${{ steps.versions.outputs.nodeVersion }} # Skip if no package.json if: ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ steps.versions.outputs.nodeVersion }} @@ -72,7 +87,7 @@ jobs: filename: ${{ env.APP_NAME }}/appinfo/info.xml - name: Set up php ${{ steps.php-versions.outputs.php-min }} - uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 + uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 with: php-version: ${{ steps.php-versions.outputs.php-min }} coverage: none @@ -134,9 +149,10 @@ jobs: unzip latest-$NCVERSION.zip - name: Checkout server master fallback - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 if: ${{ steps.server-checkout.outcome != 'success' }} with: + persist-credentials: false submodules: true repository: nextcloud/server path: nextcloud diff --git a/.github/workflows/autoloader.yml b/.github/workflows/autoloader.yml deleted file mode 100644 index 1a38b444ee..0000000000 --- a/.github/workflows/autoloader.yml +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors -# SPDX-License-Identifier: MIT -name: Autoload checker - -on: - pull_request: - push: - branches: - - main - - master - - stable* - -permissions: - contents: read - -jobs: - build: - runs-on: ubuntu-latest - - name: autoloader - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up php - uses: shivammathur/setup-php@v2 - with: - php-version: 8.1 - tools: composer - - - name: Set up PHPUnit - working-directory: composer - run: composer install && composer dump-autoload - - - name: Check difference to committed files - run: | - bash -c "[[ ! \"`git status --porcelain -- . ':!composer/composer/installed.php'`\" ]] || exit 1" - - - name: Show changes on failure - if: failure() - run: | - git status - git --no-pager diff diff --git a/.github/workflows/cypress-e2e.yml b/.github/workflows/cypress-e2e.yml index 52bde98991..d83172c5fe 100644 --- a/.github/workflows/cypress-e2e.yml +++ b/.github/workflows/cypress-e2e.yml @@ -26,12 +26,12 @@ jobs: strategy: fail-fast: false matrix: - code-image: [ 'release', 'nightly' ] + code-image: [ 'release' ] node-version: [16.x] containers: [1, 2, 3] php-versions: [ '8.1' ] databases: [ 'sqlite' ] - server-versions: [ 'master' ] + server-versions: [ 'stable32' ] name: runner ${{ matrix.code-image}}-${{ matrix.containers }} @@ -58,6 +58,11 @@ jobs: git submodule sync --recursive git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 + - name: Register main git reference + run: | + main_app_ref="$(if [ "${{ matrix.server-versions }}" = "master" ]; then echo -n "main"; else echo -n "${{ matrix.server-versions }}"; fi)" + echo "main_app_ref=$main_app_ref" >> $GITHUB_ENV + - name: Checkout viewer uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: @@ -65,6 +70,13 @@ jobs: ref: ${{ matrix.server-versions }} path: apps/viewer + - name: Checkout spreed + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + repository: nextcloud/spreed + ref: ${{ env.main_app_ref }} + path: apps/spreed + - name: Checkout files_pdfviewer uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: @@ -101,6 +113,18 @@ jobs: apc.enable_cli=on coverage: none + - name: Install composer dependencies + working-directory: apps/richdocuments + run: | + composer install --no-dev + + - name: Build talk + working-directory: apps/spreed + run: | + composer install --no-dev + npm ci + npm run dev + - name: Set up Nextcloud env: DB_PORT: 4444 @@ -120,6 +144,7 @@ jobs: php occ app:enable --force viewer php occ app:enable --force files_pdfviewer php occ app:enable --force richdocuments + php occ app:enable --force spreed php occ app:list php occ config:system:set trusted_domains 1 --value="172.17.0.1" @@ -137,7 +162,7 @@ jobs: cat data/nextcloud.log - name: Cache node modules - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + uses: actions/cache@v4 env: cache-name: cache-node-modules with: @@ -185,7 +210,7 @@ jobs: uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 if: failure() with: - name: Upload screenshots + name: screenshots-${{ matrix.code-image }}-${{ matrix.containers }} path: apps/${{ env.APP_NAME }}/cypress/screenshots/ retention-days: 5 @@ -193,7 +218,7 @@ jobs: uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 if: failure() with: - name: Upload nextcloud log + name: nextcloud-log-${{ matrix.code-image }}-${{ matrix.containers }} path: data/nextcloud.log retention-days: 5 diff --git a/.github/workflows/dependabot-approve-merge.yml b/.github/workflows/dependabot-approve-merge.yml index efe8bfe37f..ed902d9280 100644 --- a/.github/workflows/dependabot-approve-merge.yml +++ b/.github/workflows/dependabot-approve-merge.yml @@ -9,7 +9,7 @@ name: Dependabot on: - pull_request_target: + pull_request_target: # zizmor: ignore[dangerous-triggers] branches: - main - master @@ -24,7 +24,7 @@ concurrency: jobs: auto-approve-merge: - if: github.actor == 'dependabot[bot]' || github.actor == 'renovate[bot]' + if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'renovate[bot]' runs-on: ubuntu-latest-low permissions: # for hmarr/auto-approve-action to approve PRs diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index b852c145e3..dd15866483 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -51,11 +51,11 @@ jobs: # do not stop on another job's failure fail-fast: false matrix: - code-image: [ 'release', 'nightly' ] + code-image: [ 'release' ] php-versions: ['8.1'] databases: ['sqlite'] - server-versions: ['master'] - scenarios: ['wopi', 'direct', 'federation', 'api'] + server-versions: ['stable32'] + scenarios: ['wopi', 'direct', 'federation', 'api', 'secure-view', 'admin-settings'] name: integration-${{ matrix.code-image }}-${{ matrix.scenarios }}-${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }} @@ -99,7 +99,7 @@ jobs: - name: Set up PHPUnit working-directory: apps/${{ env.APP_NAME }} - run: composer i + run: composer install --no-dev - name: Set up Nextcloud env: @@ -126,8 +126,8 @@ jobs: matrix: php-versions: ['8.1'] databases: ['mysql'] - server-versions: ['master'] - scenarios: ['wopi', 'direct', 'federation', 'api'] + server-versions: ['stable32'] + scenarios: ['wopi', 'direct', 'federation', 'api', 'secure-view', 'admin-settings'] name: integration-${{ matrix.scenarios }}-${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }} @@ -178,7 +178,7 @@ jobs: - name: Set up PHPUnit working-directory: apps/${{ env.APP_NAME }} - run: composer i + run: composer install --no-dev - name: Set up Nextcloud env: @@ -205,8 +205,8 @@ jobs: matrix: php-versions: ['8.1'] databases: ['pgsql'] - server-versions: ['master'] - scenarios: ['wopi', 'direct', 'federation', 'api'] + server-versions: ['stable32'] + scenarios: ['wopi', 'direct', 'federation', 'api', 'secure-view', 'admin-settings'] name: integration-${{ matrix.scenarios }}-${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }} @@ -259,7 +259,7 @@ jobs: - name: Set up PHPUnit working-directory: apps/${{ env.APP_NAME }} - run: composer i + run: composer install --no-dev - name: Set up Nextcloud env: @@ -286,8 +286,8 @@ jobs: matrix: php-versions: ['8.1'] databases: ['oci'] - server-versions: ['master'] - scenarios: ['wopi', 'direct', 'federation', 'api'] + server-versions: ['stable32'] + scenarios: ['wopi', 'direct', 'federation', 'api', 'secure-view', 'admin-settings'] name: integration-${{ matrix.scenarios }}-${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }} @@ -350,7 +350,7 @@ jobs: - name: Set up PHPUnit working-directory: apps/${{ env.APP_NAME }} - run: composer i + run: composer install --no-dev - name: Set up Nextcloud run: | diff --git a/.github/workflows/lint-eslint.yml b/.github/workflows/lint-eslint.yml index 74c5e9c88f..104a05c421 100644 --- a/.github/workflows/lint-eslint.yml +++ b/.github/workflows/lint-eslint.yml @@ -56,7 +56,9 @@ jobs: steps: - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 @@ -66,7 +68,7 @@ jobs: fallbackNpm: '^10' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ steps.versions.outputs.nodeVersion }} diff --git a/.github/workflows/lint-info-xml.yml b/.github/workflows/lint-info-xml.yml index 736a89502c..25b655043d 100644 --- a/.github/workflows/lint-info-xml.yml +++ b/.github/workflows/lint-info-xml.yml @@ -24,7 +24,9 @@ jobs: name: info.xml lint steps: - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Download schema run: wget https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/api/v1/release/info.xsd diff --git a/.github/workflows/lint-php-cs.yml b/.github/workflows/lint-php-cs.yml index 5108348894..681ecca651 100644 --- a/.github/workflows/lint-php-cs.yml +++ b/.github/workflows/lint-php-cs.yml @@ -25,16 +25,18 @@ jobs: steps: - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Get php version id: versions uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 - - name: Set up php${{ steps.versions.outputs.php-available }} - uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 + - name: Set up php${{ steps.versions.outputs.php-min }} + uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 with: - php-version: ${{ steps.versions.outputs.php-available }} + php-version: ${{ steps.versions.outputs.php-min }} extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite coverage: none ini-file: development @@ -42,7 +44,9 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install dependencies - run: composer i + run: | + composer remove nextcloud/ocp --dev + composer i - name: Lint run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 ) diff --git a/.github/workflows/lint-php.yml b/.github/workflows/lint-php.yml index 104fed644c..cdb2ba45c7 100644 --- a/.github/workflows/lint-php.yml +++ b/.github/workflows/lint-php.yml @@ -24,7 +24,10 @@ jobs: php-versions: ${{ steps.versions.outputs.php-versions }} steps: - name: Checkout app - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - name: Get version matrix id: versions uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.0.0 @@ -40,10 +43,12 @@ jobs: steps: - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Set up php ${{ matrix.php-versions }} - uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 + uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 with: php-version: ${{ matrix.php-versions }} extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite diff --git a/.github/workflows/lint-stylelint.yml b/.github/workflows/lint-stylelint.yml index 1e9db8f776..9601a972fd 100644 --- a/.github/workflows/lint-stylelint.yml +++ b/.github/workflows/lint-stylelint.yml @@ -25,7 +25,9 @@ jobs: steps: - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 @@ -35,7 +37,7 @@ jobs: fallbackNpm: '^10' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ steps.versions.outputs.nodeVersion }} diff --git a/.github/workflows/npm-audit-fix.yml b/.github/workflows/npm-audit-fix.yml index e2ae885965..3c58f64295 100644 --- a/.github/workflows/npm-audit-fix.yml +++ b/.github/workflows/npm-audit-fix.yml @@ -14,6 +14,9 @@ on: # At 2:30 on Sundays - cron: '30 2 * * 0' +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest @@ -21,15 +24,18 @@ jobs: strategy: fail-fast: false matrix: - branches: ['main', 'master', 'stable30', 'stable29', 'stable28'] + branches: ['main', 'master', 'stable31', 'stable30', 'stable29'] name: npm-audit-fix-${{ matrix.branches }} steps: - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + id: checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false ref: ${{ matrix.branches }} + continue-on-error: true - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 @@ -39,7 +45,7 @@ jobs: fallbackNpm: '^10' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ steps.versions.outputs.nodeVersion }} @@ -51,7 +57,7 @@ jobs: uses: nextcloud-libraries/npm-audit-action@2a60bd2e79cc77f2cc4d9a3fe40f1a69896f3a87 # v0.1.0 - name: Run npm ci and npm run build - if: always() + if: steps.checkout.outcome == 'success' env: CYPRESS_INSTALL_BINARY: 0 run: | @@ -59,8 +65,8 @@ jobs: npm run build --if-present - name: Create Pull Request - if: always() - uses: peter-evans/create-pull-request@4320041ed380b20e97d388d56a7fb4f9b8c20e79 # v7.0.0 + if: steps.checkout.outcome == 'success' + uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 with: token: ${{ secrets.COMMAND_BOT_PAT }} commit-message: 'fix(deps): Fix npm audit' diff --git a/.github/workflows/phpunit-mysql.yml b/.github/workflows/phpunit-mysql.yml index c0f4c69b32..c53d2984d3 100644 --- a/.github/workflows/phpunit-mysql.yml +++ b/.github/workflows/phpunit-mysql.yml @@ -24,7 +24,9 @@ jobs: matrix: ${{ steps.versions.outputs.sparse-matrix }} steps: - name: Checkout app - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Get version matrix id: versions @@ -81,30 +83,35 @@ jobs: steps: - name: Set app env + if: ${{ env.APP_NAME == '' }} run: | # Split and keep last echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV - name: Checkout server - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false submodules: true repository: nextcloud/server ref: ${{ matrix.server-versions }} - name: Checkout app - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false path: apps/${{ env.APP_NAME }} - name: Set up php ${{ matrix.php-versions }} - uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 + uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 with: php-version: ${{ matrix.php-versions }} # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql coverage: none ini-file: development + # Temporary workaround for missing pcntl_* in PHP 8.3 + ini-values: disable_functions= env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -123,7 +130,9 @@ jobs: # Only run if phpunit config file exists if: steps.check_composer.outputs.files_exists == 'true' working-directory: apps/${{ env.APP_NAME }} - run: composer i + run: | + composer remove nextcloud/ocp --dev + composer i - name: Set up Nextcloud env: diff --git a/.github/workflows/phpunit-oci.yml b/.github/workflows/phpunit-oci.yml index d03beb9d13..743afb3a00 100644 --- a/.github/workflows/phpunit-oci.yml +++ b/.github/workflows/phpunit-oci.yml @@ -25,7 +25,9 @@ jobs: server-max: ${{ steps.versions.outputs.branches-max-list }} steps: - name: Checkout app - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Get version matrix id: versions @@ -94,30 +96,35 @@ jobs: steps: - name: Set app env + if: ${{ env.APP_NAME == '' }} run: | # Split and keep last echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV - name: Checkout server - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false submodules: true repository: nextcloud/server ref: ${{ matrix.server-versions }} - name: Checkout app - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false path: apps/${{ env.APP_NAME }} - name: Set up php ${{ matrix.php-versions }} - uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 + uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 with: php-version: ${{ matrix.php-versions }} # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, oci8 coverage: none ini-file: development + # Temporary workaround for missing pcntl_* in PHP 8.3 + ini-values: disable_functions= env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -131,7 +138,9 @@ jobs: # Only run if phpunit config file exists if: steps.check_composer.outputs.files_exists == 'true' working-directory: apps/${{ env.APP_NAME }} - run: composer i + run: | + composer remove nextcloud/ocp --dev + composer i - name: Set up Nextcloud env: diff --git a/.github/workflows/phpunit-pgsql.yml b/.github/workflows/phpunit-pgsql.yml index 2a23e02e6e..320dc19ced 100644 --- a/.github/workflows/phpunit-pgsql.yml +++ b/.github/workflows/phpunit-pgsql.yml @@ -25,7 +25,9 @@ jobs: server-max: ${{ steps.versions.outputs.branches-max-list }} steps: - name: Checkout app - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Get version matrix id: versions @@ -84,30 +86,35 @@ jobs: steps: - name: Set app env + if: ${{ env.APP_NAME == '' }} run: | # Split and keep last echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV - name: Checkout server - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false submodules: true repository: nextcloud/server ref: ${{ matrix.server-versions }} - name: Checkout app - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false path: apps/${{ env.APP_NAME }} - name: Set up php ${{ matrix.php-versions }} - uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 + uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 with: php-version: ${{ matrix.php-versions }} # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, pgsql, pdo_pgsql coverage: none ini-file: development + # Temporary workaround for missing pcntl_* in PHP 8.3 + ini-values: disable_functions= env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -121,7 +128,9 @@ jobs: # Only run if phpunit config file exists if: steps.check_composer.outputs.files_exists == 'true' working-directory: apps/${{ env.APP_NAME }} - run: composer i + run: | + composer remove nextcloud/ocp --dev + composer i - name: Set up Nextcloud env: diff --git a/.github/workflows/phpunit-sqlite.yml b/.github/workflows/phpunit-sqlite.yml index be9e332431..a61dc4cdcc 100644 --- a/.github/workflows/phpunit-sqlite.yml +++ b/.github/workflows/phpunit-sqlite.yml @@ -25,7 +25,9 @@ jobs: server-max: ${{ steps.versions.outputs.branches-max-list }} steps: - name: Checkout app - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Get version matrix id: versions @@ -73,30 +75,35 @@ jobs: steps: - name: Set app env + if: ${{ env.APP_NAME == '' }} run: | # Split and keep last echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV - name: Checkout server - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false submodules: true repository: nextcloud/server ref: ${{ matrix.server-versions }} - name: Checkout app - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false path: apps/${{ env.APP_NAME }} - name: Set up php ${{ matrix.php-versions }} - uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 + uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 with: php-version: ${{ matrix.php-versions }} # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite coverage: none ini-file: development + # Temporary workaround for missing pcntl_* in PHP 8.3 + ini-values: disable_functions= env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -110,7 +117,9 @@ jobs: # Only run if phpunit config file exists if: steps.check_composer.outputs.files_exists == 'true' working-directory: apps/${{ env.APP_NAME }} - run: composer i + run: | + composer remove nextcloud/ocp --dev + composer i - name: Set up Nextcloud env: diff --git a/.github/workflows/pr-feedback.yml b/.github/workflows/pr-feedback.yml index 6a01fa09b2..98e9fada7a 100644 --- a/.github/workflows/pr-feedback.yml +++ b/.github/workflows/pr-feedback.yml @@ -15,12 +15,17 @@ on: schedule: - cron: '30 1 * * *' +permissions: + contents: read + pull-requests: write + jobs: pr-feedback: + if: ${{ github.repository_owner == 'nextcloud' }} runs-on: ubuntu-latest steps: - name: The get-github-handles-from-website action - uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0 + uses: marcelklehr/get-github-handles-from-website-action@06b2239db0a48fe1484ba0bfd966a3ab81a08308 # v1.0.1 id: scrape with: website: 'https://nextcloud.com/team/' @@ -31,7 +36,7 @@ jobs: blocklist=$(curl https://raw.githubusercontent.com/nextcloud/.github/master/non-community-usernames.txt | paste -s -d, -) echo "blocklist=$blocklist" >> "$GITHUB_OUTPUT" - - uses: marcelklehr/pr-feedback-action@1883b38a033fb16f576875e0cf45f98b857655c4 + - uses: nextcloud/pr-feedback-action@1883b38a033fb16f576875e0cf45f98b857655c4 # main with: feedback-message: | Hello there, diff --git a/.github/workflows/psalm.yml b/.github/workflows/psalm.yml index e9258903b7..0b15f3adb8 100644 --- a/.github/workflows/psalm.yml +++ b/.github/workflows/psalm.yml @@ -14,6 +14,9 @@ concurrency: group: psalm-${{ github.head_ref || github.run_id }} cancel-in-progress: true +permissions: + contents: read + jobs: static-analysis: runs-on: ubuntu-latest @@ -21,24 +24,36 @@ jobs: name: static-psalm-analysis steps: - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Get php version id: versions uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 + - name: Check enforcement of minimum PHP version ${{ steps.versions.outputs.php-min }} in psalm.xml + run: grep 'phpVersion="${{ steps.versions.outputs.php-min }}' psalm.xml + - name: Set up php${{ steps.versions.outputs.php-available }} - uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 + uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 with: php-version: ${{ steps.versions.outputs.php-available }} extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite coverage: none ini-file: development + # Temporary workaround for missing pcntl_* in PHP 8.3 + ini-values: disable_functions= env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install dependencies - run: composer i + run: | + composer remove nextcloud/ocp --dev + composer i + + - name: Install nextcloud/ocp + run: composer require --dev nextcloud/ocp:dev-${{ steps.versions.outputs.branches-max }} --ignore-platform-reqs --with-dependencies - name: Run coding standards check - run: composer run psalm + run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github diff --git a/.github/workflows/reuse.yml b/.github/workflows/reuse.yml index 95eaba80e7..95a8626a4a 100644 --- a/.github/workflows/reuse.yml +++ b/.github/workflows/reuse.yml @@ -11,12 +11,17 @@ name: REUSE Compliance Check on: [pull_request] +permissions: + contents: read + jobs: reuse-compliance-check: - runs-on: ubuntu-latest + runs-on: ubuntu-latest-low steps: - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: REUSE Compliance Check - uses: fsfe/reuse-action@3ae3c6bdf1257ab19397fab11fd3312144692083 # v4.0.0 + uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0 diff --git a/.github/workflows/update-nextcloud-ocp-approve-merge.yml b/.github/workflows/update-nextcloud-ocp-approve-merge.yml index 5edf7ac1b0..dfe0ef4e97 100644 --- a/.github/workflows/update-nextcloud-ocp-approve-merge.yml +++ b/.github/workflows/update-nextcloud-ocp-approve-merge.yml @@ -9,7 +9,7 @@ name: Auto approve nextcloud/ocp on: - pull_request_target: + pull_request_target: # zizmor: ignore[dangerous-triggers] branches: - main - master @@ -39,7 +39,7 @@ jobs: echo 'Can not approve PRs from forks' exit 1 - - uses: mdecoleman/pr-branch-name@bab4c71506bcd299fb350af63bb8e53f2940a599 # v2.0.0 + - uses: mdecoleman/pr-branch-name@55795d86b4566d300d237883103f052125cc7508 # v3.0.0 id: branchname with: repo-token: ${{ secrets.GITHUB_TOKEN }} @@ -52,7 +52,7 @@ jobs: # Enable GitHub auto merge - name: Auto merge - uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # main + uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # v2.0.0 if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-nextcloud-ocp') with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/update-nextcloud-ocp.yml b/.github/workflows/update-nextcloud-ocp.yml index 90abc74b7b..4ac00be0b0 100644 --- a/.github/workflows/update-nextcloud-ocp.yml +++ b/.github/workflows/update-nextcloud-ocp.yml @@ -13,6 +13,9 @@ on: schedule: - cron: "5 2 * * 0" +permissions: + contents: read + jobs: update-nextcloud-ocp: runs-on: ubuntu-latest @@ -20,7 +23,7 @@ jobs: strategy: fail-fast: false matrix: - branches: ['main', 'master', 'stable30', 'stable29', 'stable28'] + branches: ['main', 'master', 'stable31', 'stable30', 'stable29'] name: update-nextcloud-ocp-${{ matrix.branches }} @@ -35,7 +38,7 @@ jobs: - name: Set up php8.2 if: steps.checkout.outcome == 'success' - uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 + uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 with: php-version: 8.2 # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation @@ -104,7 +107,7 @@ jobs: - name: Create Pull Request if: steps.checkout.outcome == 'success' - uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5 + uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 with: token: ${{ secrets.COMMAND_BOT_PAT }} commit-message: 'chore(dev-deps): Bump nextcloud/ocp package' diff --git a/.gitignore b/.gitignore index 21f99763b6..9161e2273b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors # SPDX-FileCopyrightText: 2016 ownCloud, Inc. # SPDX-License-Identifier: AGPL-3.0-or-later -/assets/fonts +/fonts tests/clover.xml .idea node_modules/ diff --git a/.nextcloudignore b/.nextcloudignore index 08a8cf1e0f..7d74b2ff55 100644 --- a/.nextcloudignore +++ b/.nextcloudignore @@ -29,8 +29,7 @@ node_modules psalm.xml run-eslint.sh screenshots -src +/src/ tests tsconfig.json -vendor -webpack.* \ No newline at end of file +webpack.* diff --git a/CHANGELOG.md b/CHANGELOG.md index f823bdd3a9..a87ed0ced2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,115 @@ --> # Changelog +## 9.0.5 + +### Fixed + +- fix: Force hide viewer header after changed iframe z-index [#5497](https://github.com/nextcloud/richdocuments/pull/5497) + +## 9.0.4 + +### Fixed + +- widen global templates restrictions by @elzody in [#5477](https://github.com/nextcloud/richdocuments/pull/5477) +- remove superfluous high z-index by @mejo- in [#5469](https://github.com/nextcloud/richdocuments/pull/5469) +- set sensible height for embedded widget by @mejo- in [#5472](https://github.com/nextcloud/richdocuments/pull/5472) +- drop beyond deprecated `X-Frame-Options` by @joshtrichards in [#5466](https://github.com/nextcloud/richdocuments/pull/5466) +- Check file existence before using save as by @juliusknorr in [#5444](https://github.com/nextcloud/richdocuments/pull/5444) + +### Other +- Dependency updates + +## 9.0.3 + +### Fixed +- Non-admins cannot upload/delete system config settings by @elzody in [#5423](https://github.com/nextcloud/richdocuments/pull/5423) +- Properly annotate settings controller by @elzody in [#5419](https://github.com/nextcloud/richdocuments/pull/5419) +- Properly check for lock wopi operations by @juliusknorr in [#5413](https://github.com/nextcloud/richdocuments/pull/5413) +- For now assume we have form filling if no version can be determined by @juliusknorr in [#5384](https://github.com/nextcloud/richdocuments/pull/5384) +- Properly work with non-numeric version ids by @juliusknorr in [#5378](https://github.com/nextcloud/richdocuments/pull/5378) +- Remove hasDrawSupport check that strips .odg mimetypes by @timar in [#5375](https://github.com/nextcloud/richdocuments/pull/5375) +- Emit `files:node:updated` event on `UI_Save` by @silverkszlo in [#5363](https://github.com/nextcloud/richdocuments/pull/5363) +- Register handler within init script by @susnux in [#5355](https://github.com/nextcloud/richdocuments/pull/5355) +- Drop dead code from ShareLinkListener by @joshtrichards in [#5334](https://github.com/nextcloud/richdocuments/pull/5334) +- Stabilize Save As test by @elzody in [#5314](https://github.com/nextcloud/richdocuments/pull/5314) +- Pass format to SaveAs by @Minion3665 in [#5221](https://github.com/nextcloud/richdocuments/pull/5221) + +### Other +- Dependency updates + +## 9.0.2 + +### Fixed + +- Fix: Pass document target through viewer component by @elzody in [#5138](https://github.com/nextcloud/richdocuments/pull/5138) +- Fix: Drop nonexisting onenote support from mime type list by @juliusknorr in [#5083](https://github.com/nextcloud/richdocuments/pull/5083) + +### Other + +- Refresh files list after exporting a file in a different format by @silverkszlo in [#5183](https://github.com/nextcloud/richdocuments/pull/5183) +- Dependency updates +- NPM audits + + +## 9.0.1 + +### Fixed +- Node cannot be found when within group folder by @blizzz in [#5081](https://github.com/nextcloud/richdocuments/pull/5081) +- Delete template source after initial token is generated for guest users by @kaiyou in [#5077](https://github.com/nextcloud/richdocuments/pull/5077) + +### Other +- Run Cypress on stable32 server version by @elzody in [#5078](https://github.com/nextcloud/richdocuments/pull/5078) +- NPM audits +- Dependency updates + +## 9.0.0 + +### Added +- AI-generated documents, spreadsheets, and presentations by @elzody in [#5045](https://github.com/nextcloud/richdocuments/pull/5045) +- WOPI proof validation by @elzody in [#4902](https://github.com/nextcloud/richdocuments/pull/4902) +- New blank document template based on MS Word's styling by @emberfiend in [#4971](https://github.com/nextcloud/richdocuments/pull/4971) +- Allow Collabora Online to fetch settings configuration from Nextcloud by @mohit-marathe in [#4974](https://github.com/nextcloud/richdocuments/pull/4974) + +### Fixed +- Also include OpenDocument types in templates by @blizzz in [#5022](https://github.com/nextcloud/richdocuments/pull/5022) +- Failing Cypress tests by @elzody in [#5033](https://github.com/nextcloud/richdocuments/pull/5033) +- Do not rely on speculative `getMountPoint()` by @blizzz in [#5012](https://github.com/nextcloud/richdocuments/pull/5012) +- Error when send `null` to `json_decode` by @vitormattos in [#4994](https://github.com/nextcloud/richdocuments/pull/4994) +- Do not exclude dependency `src` directories by @elzody in [#4991](https://github.com/nextcloud/richdocuments/pull/4991) +- Use Material Symbol variant for delete icon by @AndyScherzinger in [#4973](https://github.com/nextcloud/richdocuments/pull/4973) +- Incorrect URL when Nextcloud installed under a subdirectory by @timar in [#4954](https://github.com/nextcloud/richdocuments/pull/4954) +- Do not install Composer dev dependencies for tests by @elzody in [#4968](https://github.com/nextcloud/richdocuments/pull/4968) + +### Other +- Adjust testing matrix for Nextcloud 32 on stable32 by @nickvergessen in [#4995](https://github.com/nextcloud/richdocuments/pull/4995) +- Dependency updates +- Node and NPM engine versions update + +## 9.0.0-beta.2 + +### Added +- New blank document template based on MS Word's styling by @emberfiend in [#4971](https://github.com/nextcloud/richdocuments/pull/4971) +- Allow Collabora Online to fetch settings configuration from Nextcloud by @mohit-marathe in [#4974](https://github.com/nextcloud/richdocuments/pull/4974) + +### Fixed +- Do not rely on speculative `getMountPoint()` by @blizzz in [#5012](https://github.com/nextcloud/richdocuments/pull/5012) +- Error when send `null` to `json_decode` by @vitormattos in [#4994](https://github.com/nextcloud/richdocuments/pull/4994) +- Do not exclude dependency `src` directories by @elzody in [#4991](https://github.com/nextcloud/richdocuments/pull/4991) +- Use Material Symbol variant for delete icon by @AndyScherzinger in [#4973](https://github.com/nextcloud/richdocuments/pull/4973) +- Incorrect URL when Nextcloud installed under a subdirectory by @timar in [#4954](https://github.com/nextcloud/richdocuments/pull/4954) +- Do not install Composer dev dependencies for tests by @elzody in [#4968](https://github.com/nextcloud/richdocuments/pull/4968) + +### Other +- Adjust testing matrix for Nextcloud 32 on stable32 by @nickvergessen in [#4995](https://github.com/nextcloud/richdocuments/pull/4995) +- Dependency updates +- Node and NPM engine versions update + +## 9.0.0-beta.1 + +### Added +- WOPI proof validation by @elzody in [#4902](https://github.com/nextcloud/richdocuments/pull/4902) + ## 8.6.0-beta.1 ### Added diff --git a/README.md b/README.md index c891925912..ab09eb7ccc 100644 --- a/README.md +++ b/README.md @@ -37,14 +37,17 @@ Collaborative editing of federated documents requires richdocuments version 3.4 **Note:** Due to our content security policy we cannot open a document on a remote instance without reloading the page to allow Nextcloud embedding the remote Collabora Online instance in a frame. +### AI document generation +This app is able to generate office documents from a prompt using AI. See the [AI doc](./docs/ai.md). ## Development setup -Just clone this repo into your apps directory ([Nextcloud server](https://github.com/nextcloud/server#running-master-checkouts) installation needed). Additionally, [npm](https://www.npmjs.com/) and [Node.js](https://nodejs.org/en/download/package-manager/) are needed for installing JavaScript dependencies and building the frontend code. +Just clone this repo into your apps directory ([Nextcloud server](https://github.com/nextcloud/server#running-master-checkouts) installation needed). Additionally, [npm](https://www.npmjs.com/), [Node.js](https://nodejs.org/en/download/package-manager/), and [Composer](https://getcomposer.org/) are needed for installing JavaScript dependencies and building the frontend code. -Once npm and Node.js are installed, this can be done by running: +Once npm, Node.js, and Composer are installed, this can be done by running: ```bash +composer install npm ci npm run dev ``` @@ -52,7 +55,8 @@ npm run dev ## Support -- [Our Forum](https://help.nextcloud.com/c/support/collabora) +- [Our Forum](https://help.nextcloud.com/c/support/office) +- [Collabora Online Forum](https://forum.collaboraonline.com/) Enterprise users who need a more reliable and scalable solution can take advantage of Nextcloud GmbH's optional support contract for Collabora Online. Find out more about Enterprise support for Collabora Online over here: https://nextcloud.com/enterprise/ diff --git a/REUSE.toml b/REUSE.toml index a269540dfc..f9e02b0680 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -6,7 +6,7 @@ SPDX-PackageSupplier = "Nextcloud " SPDX-PackageDownloadLocation = "https://github.com/nextcloud/richdocuments" [[annotations]] -path = [".gitattributes", ".github/issue_template.md", ".github/CODEOWNERS", ".editorconfig", "package-lock.json", "package.json", "composer.json", "composer.lock", "**/composer.json", "**/composer.lock", ".l10nignore", "cypress/tsconfig.json", "vendor-bin/**/composer.json", "vendor-bin/**/composer.lock", ".tx/config", "tsconfig.json", "js/vendor.LICENSE.txt", "krankerl.toml", ".npmignore", ".nextcloudignore", ".eslintrc.json", ".tx/backport"] +path = [".gitattributes", ".github/issue_template.md", ".github/CODEOWNERS", ".editorconfig", "package-lock.json", "package.json", "composer.json", "composer.lock", "**/composer.json", "**/composer.lock", ".l10nignore", "cypress/tsconfig.json", "vendor-bin/**/composer.json", "vendor-bin/**/composer.lock", ".tx/config", "tsconfig.json", "js/vendor.LICENSE.txt", "krankerl.toml", ".npmignore", ".nextcloudignore", ".eslintrc.json", ".tx/backport", "fonts/.gitkeep"] precedence = "aggregate" SPDX-FileCopyrightText = "none" SPDX-License-Identifier = "CC0-1.0" diff --git a/appinfo/info.xml b/appinfo/info.xml index 76deb1108b..4b84292610 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -11,26 +11,28 @@ - 8.6.0-beta.1 + 9.0.5 agpl Collabora Productivity based on work of Frank Karlitschek, Victor Dubiniuk + https://nextcloud.com/collaboraonline/ - https://github.com/nextcloud/richdocuments/wiki + https://docs.nextcloud.com/server/latest/admin_manual/office/index.html office integration https://collaboraoffice.com/ + https://help.nextcloud.com/c/support/office https://github.com/nextcloud/richdocuments/issues https://github.com/nextcloud/richdocuments.git https://github.com/nextcloud/richdocuments/raw/main/screenshots/Nextcloud-writer.png https://github.com/nextcloud/richdocuments/raw/main/screenshots/Nextcloud-spreadsheet.png https://github.com/nextcloud/richdocuments/raw/main/screenshots/Nextcloud-presentation.png - + OCA\Richdocuments\Backgroundjobs\ObtainCapabilities diff --git a/appinfo/routes.php b/appinfo/routes.php index b86087a2d4..ba06093291 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -36,6 +36,17 @@ ['name' => 'settings#getFontFileOverview', 'url' => 'settings/fonts/{name}/overview', 'verb' => 'GET'], ['name' => 'settings#deleteFontFile', 'url' => 'settings/fonts/{name}', 'verb' => 'DELETE'], ['name' => 'settings#uploadFontFile', 'url' => 'settings/fonts', 'verb' => 'POST'], + [ + 'name' => 'settings#getSettingsFile', + 'url' => 'settings/{type}/{token}/{category}/{name}', + 'verb' => 'GET', + 'requirements' => [ + 'type' => '[a-zA-Z0-9_\-]+', + 'category' => '[a-zA-Z0-9_\-]+', + 'name' => '.+', + ], + ], + ['name' => 'settings#generateIframeToken', 'url' => 'settings/generateToken/{type}', 'verb' => 'GET'], // Direct Editing: Webview ['name' => 'directView#show', 'url' => '/direct/{token}', 'verb' => 'GET'], diff --git a/build/download-fonts.sh b/build/download-fonts.sh index bbe60246b2..ac99e9573b 100755 --- a/build/download-fonts.sh +++ b/build/download-fonts.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Download font files and put them into the assets/fonts folder for the release +# Download font files and put them into the fonts folder for the release # SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors # SPDX-License-Identifier: AGPL-3.0-or-later FONTLIST=( @@ -22,20 +22,20 @@ FONTLIST=( "https://github.com/google/fonts/raw/main/ofl/spectral/Spectral-Regular.ttf" ) -rm assets/fonts/* +rm fonts/* function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; } for font in "${FONTLIST[@]}"; do echo "$font" - wget -q -P assets/fonts/ $font + wget -q -P fonts/ $font FILENAME=$(urldecode "$(basename "$font")") if [[ $FILENAME == *"wght"* ]]; then NEWFILENAME=$(echo $FILENAME | sed 's/\[wght\]/-wght/g') NEWFILENAME=$(echo $NEWFILENAME | sed 's/\[wdth,wght\]/-wdtg-wght/g') - mv assets/fonts/$FILENAME assets/fonts/$NEWFILENAME + mv fonts/$FILENAME fonts/$NEWFILENAME else NEWFILENAME=$(echo $FILENAME) fi @@ -44,5 +44,5 @@ for font in "${FONTLIST[@]}"; do FONTNAME=$(echo $NEWFILENAME | sed 's/.ttf//g') echo "$(dirname $font)/OFL.txt" - wget -q -O "assets/fonts/$FONTNAME.LICENSE.txt" "$(dirname $font)/OFL.txt" + wget -q -O "fonts/$FONTNAME.LICENSE.txt" "$(dirname $font)/OFL.txt" done diff --git a/composer.json b/composer.json index a2246a5b5d..ac8cae3df3 100644 --- a/composer.json +++ b/composer.json @@ -9,19 +9,24 @@ }, "allow-plugins": { "bamarni/composer-bin-plugin": true - } + }, + "optimize-autoloader": true, + "autoloader-suffix": "Richdocuments" }, "require": { "ext-json": "*", - "ext-simplexml": "*" + "ext-simplexml": "*", + "mikehaertl/php-pdftk": "^0.13.1", + "league/commonmark": "^2.7", + "phpseclib/phpseclib": "^3.0" }, "require-dev": { "roave/security-advisories": "dev-master", "jakub-onderka/php-parallel-lint": "^1.0.0", - "psalm/phar": "^5.3", + "psalm/phar": "^6.5", "friendsofphp/php-cs-fixer": "^3.8", "nextcloud/coding-standard": "^1.0", - "nextcloud/ocp": "dev-master", + "nextcloud/ocp": "dev-stable32", "phpunit/phpunit": "^9.5", "bamarni/composer-bin-plugin": "^1.8" }, @@ -41,6 +46,11 @@ "cs:fix": "php-cs-fixer fix", "test:unit": "vendor/bin/phpunit -c tests/phpunit.xml" }, + "autoload" : { + "psr-4": { + "OCA\\Richdocuments\\": "./lib/" + } + }, "autoload-dev": { "psr-4": { "OCP\\": "vendor/nextcloud/ocp/OCP" diff --git a/composer.lock b/composer.lock index 32fbb3eb67..e70c68c916 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,984 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e2fa29217850c4397522384d4e3de2bb", - "packages": [], + "content-hash": "9cbc14e51689373ad927f30bf61c6647", + "packages": [ + { + "name": "dflydev/dot-access-data", + "version": "v3.0.3", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" + }, + "time": "2024-07-08T12:26:09+00:00" + }, + { + "name": "league/commonmark", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "10732241927d3971d28e7ea7b5712721fa2296ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/10732241927d3971d28e7ea7b5712721fa2296ca", + "reference": "10732241927d3971d28e7ea7b5712721fa2296ca", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2025-07-20T12:47:49+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" + }, + { + "name": "mikehaertl/php-pdftk", + "version": "0.13.1", + "source": { + "type": "git", + "url": "https://github.com/mikehaertl/php-pdftk.git", + "reference": "3851b08c1027489e48387d7c14c27bc295d98239" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mikehaertl/php-pdftk/zipball/3851b08c1027489e48387d7c14c27bc295d98239", + "reference": "3851b08c1027489e48387d7c14c27bc295d98239", + "shasum": "" + }, + "require": { + "mikehaertl/php-shellcommand": "^1.6.3", + "mikehaertl/php-tmpfile": "^1.1.0", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": ">4.0 <9.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "mikehaertl\\pdftk\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Haertl", + "email": "haertl.mike@gmail.com" + } + ], + "description": "A PDF conversion and form utility based on pdftk.", + "keywords": [ + "pdf", + "pdftk" + ], + "support": { + "issues": "https://github.com/mikehaertl/php-pdftk/issues", + "source": "https://github.com/mikehaertl/php-pdftk/tree/0.13.1" + }, + "time": "2023-11-03T16:06:08+00:00" + }, + { + "name": "mikehaertl/php-shellcommand", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/mikehaertl/php-shellcommand.git", + "reference": "e79ea528be155ffdec6f3bf1a4a46307bb49e545" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mikehaertl/php-shellcommand/zipball/e79ea528be155ffdec6f3bf1a4a46307bb49e545", + "reference": "e79ea528be155ffdec6f3bf1a4a46307bb49e545", + "shasum": "" + }, + "require": { + "php": ">= 5.3.0" + }, + "require-dev": { + "phpunit/phpunit": ">4.0 <=9.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "mikehaertl\\shellcommand\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Härtl", + "email": "haertl.mike@gmail.com" + } + ], + "description": "An object oriented interface to shell commands", + "keywords": [ + "shell" + ], + "support": { + "issues": "https://github.com/mikehaertl/php-shellcommand/issues", + "source": "https://github.com/mikehaertl/php-shellcommand/tree/1.7.0" + }, + "time": "2023-04-19T08:25:22+00:00" + }, + { + "name": "mikehaertl/php-tmpfile", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/mikehaertl/php-tmpfile.git", + "reference": "a5392bed91f67e2849a7cb24075d346468e1b1a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mikehaertl/php-tmpfile/zipball/a5392bed91f67e2849a7cb24075d346468e1b1a8", + "reference": "a5392bed91f67e2849a7cb24075d346468e1b1a8", + "shasum": "" + }, + "require-dev": { + "php": ">=5.3.0", + "phpunit/phpunit": ">4.0 <=9.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "mikehaertl\\tmp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Härtl", + "email": "haertl.mike@gmail.com" + } + ], + "description": "A convenience class for temporary files", + "keywords": [ + "files" + ], + "support": { + "issues": "https://github.com/mikehaertl/php-tmpfile/issues", + "source": "https://github.com/mikehaertl/php-tmpfile/tree/1.3.0" + }, + "time": "2024-10-14T16:12:48+00:00" + }, + { + "name": "nette/schema", + "version": "v1.3.2", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "da801d52f0354f70a638673c4a0f04e16529431d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d", + "reference": "da801d52f0354f70a638673c4a0f04e16529431d", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0", + "php": "8.1 - 8.4" + }, + "require-dev": { + "nette/tester": "^2.5.2", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.3.2" + }, + "time": "2024-10-06T23:10:23+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.7", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "e67c4061eb40b9c113b218214e42cb5a0dda28f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/e67c4061eb40b9c113b218214e42cb5a0dda28f2", + "reference": "e67c4061eb40b9c113b218214e42cb5a0dda28f2", + "shasum": "" + }, + "require": { + "php": "8.0 - 8.4" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.7" + }, + "time": "2025-06-03T04:55:08+00:00" + }, + { + "name": "paragonie/constant_time_encoding", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/paragonie/constant_time_encoding.git", + "reference": "df1e7fde177501eee2037dd159cf04f5f301a512" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512", + "reference": "df1e7fde177501eee2037dd159cf04f5f301a512", + "shasum": "" + }, + "require": { + "php": "^8" + }, + "require-dev": { + "phpunit/phpunit": "^9", + "vimeo/psalm": "^4|^5" + }, + "type": "library", + "autoload": { + "psr-4": { + "ParagonIE\\ConstantTime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com", + "role": "Maintainer" + }, + { + "name": "Steve 'Sc00bz' Thomas", + "email": "steve@tobtu.com", + "homepage": "https://www.tobtu.com", + "role": "Original Developer" + } + ], + "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", + "keywords": [ + "base16", + "base32", + "base32_decode", + "base32_encode", + "base64", + "base64_decode", + "base64_encode", + "bin2hex", + "encoding", + "hex", + "hex2bin", + "rfc4648" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/constant_time_encoding/issues", + "source": "https://github.com/paragonie/constant_time_encoding" + }, + "time": "2024-05-08T12:36:18+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.100", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", + "shasum": "" + }, + "require": { + "php": ">= 7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, + "time": "2020-10-15T08:29:30+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "3.0.46", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "56483a7de62a6c2a6635e42e93b8a9e25d4f0ec6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/56483a7de62a6c2a6635e42e93b8a9e25d4f0ec6", + "reference": "56483a7de62a6c2a6635e42e93b8a9e25d4f0ec6", + "shasum": "" + }, + "require": { + "paragonie/constant_time_encoding": "^1|^2|^3", + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "php": ">=5.6.1" + }, + "require-dev": { + "phpunit/phpunit": "*" + }, + "suggest": { + "ext-dom": "Install the DOM extension to load XML formatted public keys.", + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib3\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "support": { + "issues": "https://github.com/phpseclib/phpseclib/issues", + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.46" + }, + "funding": [ + { + "url": "https://github.com/terrafrost", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpseclib", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", + "type": "tidelift" + } + ], + "time": "2025-06-26T16:29:55+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.32.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-01-02T08:10:11+00:00" + } + ], "packages-dev": [ { "name": "bamarni/composer-bin-plugin", @@ -337,30 +1313,29 @@ }, { "name": "nextcloud/ocp", - "version": "dev-master", + "version": "dev-stable32", "source": { "type": "git", "url": "https://github.com/nextcloud-deps/ocp.git", - "reference": "ba6108b934c18b629f78c48cca3fc038087f0dec" + "reference": "aa9d5a01d17cb9c19ca32532e08e999d693679fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/ba6108b934c18b629f78c48cca3fc038087f0dec", - "reference": "ba6108b934c18b629f78c48cca3fc038087f0dec", + "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/aa9d5a01d17cb9c19ca32532e08e999d693679fc", + "reference": "aa9d5a01d17cb9c19ca32532e08e999d693679fc", "shasum": "" }, "require": { - "php": "~8.1 || ~8.2 || ~8.3", + "php": "~8.1 || ~8.2 || ~8.3 || ~8.4", "psr/clock": "^1.0", "psr/container": "^2.0.2", "psr/event-dispatcher": "^1.0", "psr/log": "^3.0.2" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { - "dev-master": "31.0.0-dev" + "dev-stable32": "32.0.0-dev" } }, "notification-url": "https://packagist.org/downloads/", @@ -380,9 +1355,9 @@ "description": "Composer package containing Nextcloud's public OCP API and the unstable NCU API", "support": { "issues": "https://github.com/nextcloud-deps/ocp/issues", - "source": "https://github.com/nextcloud-deps/ocp/tree/master" + "source": "https://github.com/nextcloud-deps/ocp/tree/stable32" }, - "time": "2025-01-17T00:42:09+00:00" + "time": "2026-02-24T01:08:25+00:00" }, { "name": "nikic/php-parser", @@ -1036,16 +2011,16 @@ }, { "name": "psalm/phar", - "version": "5.26.1", + "version": "6.5.1", "source": { "type": "git", "url": "https://github.com/psalm/phar.git", - "reference": "8a38e7ad04499a0ccd2c506fd1da6fc01fff4547" + "reference": "f7ecaf8740f32d58695cee5ac11663e02b44b223" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/psalm/phar/zipball/8a38e7ad04499a0ccd2c506fd1da6fc01fff4547", - "reference": "8a38e7ad04499a0ccd2c506fd1da6fc01fff4547", + "url": "https://api.github.com/repos/psalm/phar/zipball/f7ecaf8740f32d58695cee5ac11663e02b44b223", + "reference": "f7ecaf8740f32d58695cee5ac11663e02b44b223", "shasum": "" }, "require": { @@ -1065,9 +2040,9 @@ "description": "Composer-based Psalm Phar", "support": { "issues": "https://github.com/psalm/phar/issues", - "source": "https://github.com/psalm/phar/tree/5.26.1" + "source": "https://github.com/psalm/phar/tree/6.5.1" }, - "time": "2024-09-09T16:22:43+00:00" + "time": "2025-02-10T10:05:10+00:00" }, { "name": "psr/clock", @@ -1170,56 +2145,6 @@ }, "time": "2021-11-05T16:47:00+00:00" }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, { "name": "psr/log", "version": "3.0.2", @@ -3124,5 +4049,5 @@ "platform-overrides": { "php": "8.1" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } diff --git a/composer/autoload.php b/composer/autoload.php index f2c62c505f..4995a7206d 100644 --- a/composer/autoload.php +++ b/composer/autoload.php @@ -1,25 +1,10 @@ =5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">4.0 <9.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "mikehaertl\\pdftk\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Haertl", - "email": "haertl.mike@gmail.com" - } - ], - "description": "A PDF conversion and form utility based on pdftk.", - "keywords": [ - "pdf", - "pdftk" - ], - "support": { - "issues": "https://github.com/mikehaertl/php-pdftk/issues", - "source": "https://github.com/mikehaertl/php-pdftk/tree/0.13.1" - }, - "time": "2023-11-03T16:06:08+00:00" - }, - { - "name": "mikehaertl/php-shellcommand", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/mikehaertl/php-shellcommand.git", - "reference": "e79ea528be155ffdec6f3bf1a4a46307bb49e545" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mikehaertl/php-shellcommand/zipball/e79ea528be155ffdec6f3bf1a4a46307bb49e545", - "reference": "e79ea528be155ffdec6f3bf1a4a46307bb49e545", - "shasum": "" - }, - "require": { - "php": ">= 5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">4.0 <=9.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "mikehaertl\\shellcommand\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Härtl", - "email": "haertl.mike@gmail.com" - } - ], - "description": "An object oriented interface to shell commands", - "keywords": [ - "shell" - ], - "support": { - "issues": "https://github.com/mikehaertl/php-shellcommand/issues", - "source": "https://github.com/mikehaertl/php-shellcommand/tree/1.7.0" - }, - "time": "2023-04-19T08:25:22+00:00" - }, - { - "name": "mikehaertl/php-tmpfile", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/mikehaertl/php-tmpfile.git", - "reference": "70a5b70b17bc0d9666388e6a551ecc93d0b40a10" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mikehaertl/php-tmpfile/zipball/70a5b70b17bc0d9666388e6a551ecc93d0b40a10", - "reference": "70a5b70b17bc0d9666388e6a551ecc93d0b40a10", - "shasum": "" - }, - "require-dev": { - "php": ">=5.3.0", - "phpunit/phpunit": ">4.0 <=9.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "mikehaertl\\tmp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Härtl", - "email": "haertl.mike@gmail.com" - } - ], - "description": "A convenience class for temporary files", - "keywords": [ - "files" - ], - "support": { - "issues": "https://github.com/mikehaertl/php-tmpfile/issues", - "source": "https://github.com/mikehaertl/php-tmpfile/tree/1.2.1" - }, - "time": "2021-03-01T18:26:25+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [], - "plugin-api-version": "2.6.0" -} diff --git a/composer/composer/ClassLoader.php b/composer/composer/ClassLoader.php deleted file mode 100644 index 7824d8f7ea..0000000000 --- a/composer/composer/ClassLoader.php +++ /dev/null @@ -1,579 +0,0 @@ - - * Jordi Boggiano - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Composer\Autoload; - -/** - * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. - * - * $loader = new \Composer\Autoload\ClassLoader(); - * - * // register classes with namespaces - * $loader->add('Symfony\Component', __DIR__.'/component'); - * $loader->add('Symfony', __DIR__.'/framework'); - * - * // activate the autoloader - * $loader->register(); - * - * // to enable searching the include path (eg. for PEAR packages) - * $loader->setUseIncludePath(true); - * - * In this example, if you try to use a class in the Symfony\Component - * namespace or one of its children (Symfony\Component\Console for instance), - * the autoloader will first look for the class under the component/ - * directory, and it will then fallback to the framework/ directory if not - * found before giving up. - * - * This class is loosely based on the Symfony UniversalClassLoader. - * - * @author Fabien Potencier - * @author Jordi Boggiano - * @see https://www.php-fig.org/psr/psr-0/ - * @see https://www.php-fig.org/psr/psr-4/ - */ -class ClassLoader -{ - /** @var \Closure(string):void */ - private static $includeFile; - - /** @var string|null */ - private $vendorDir; - - // PSR-4 - /** - * @var array> - */ - private $prefixLengthsPsr4 = array(); - /** - * @var array> - */ - private $prefixDirsPsr4 = array(); - /** - * @var list - */ - private $fallbackDirsPsr4 = array(); - - // PSR-0 - /** - * List of PSR-0 prefixes - * - * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2'))) - * - * @var array>> - */ - private $prefixesPsr0 = array(); - /** - * @var list - */ - private $fallbackDirsPsr0 = array(); - - /** @var bool */ - private $useIncludePath = false; - - /** - * @var array - */ - private $classMap = array(); - - /** @var bool */ - private $classMapAuthoritative = false; - - /** - * @var array - */ - private $missingClasses = array(); - - /** @var string|null */ - private $apcuPrefix; - - /** - * @var array - */ - private static $registeredLoaders = array(); - - /** - * @param string|null $vendorDir - */ - public function __construct($vendorDir = null) - { - $this->vendorDir = $vendorDir; - self::initializeIncludeClosure(); - } - - /** - * @return array> - */ - public function getPrefixes() - { - if (!empty($this->prefixesPsr0)) { - return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); - } - - return array(); - } - - /** - * @return array> - */ - public function getPrefixesPsr4() - { - return $this->prefixDirsPsr4; - } - - /** - * @return list - */ - public function getFallbackDirs() - { - return $this->fallbackDirsPsr0; - } - - /** - * @return list - */ - public function getFallbackDirsPsr4() - { - return $this->fallbackDirsPsr4; - } - - /** - * @return array Array of classname => path - */ - public function getClassMap() - { - return $this->classMap; - } - - /** - * @param array $classMap Class to filename map - * - * @return void - */ - public function addClassMap(array $classMap) - { - if ($this->classMap) { - $this->classMap = array_merge($this->classMap, $classMap); - } else { - $this->classMap = $classMap; - } - } - - /** - * Registers a set of PSR-0 directories for a given prefix, either - * appending or prepending to the ones previously set for this prefix. - * - * @param string $prefix The prefix - * @param list|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories - * - * @return void - */ - public function add($prefix, $paths, $prepend = false) - { - $paths = (array) $paths; - if (!$prefix) { - if ($prepend) { - $this->fallbackDirsPsr0 = array_merge( - $paths, - $this->fallbackDirsPsr0 - ); - } else { - $this->fallbackDirsPsr0 = array_merge( - $this->fallbackDirsPsr0, - $paths - ); - } - - return; - } - - $first = $prefix[0]; - if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = $paths; - - return; - } - if ($prepend) { - $this->prefixesPsr0[$first][$prefix] = array_merge( - $paths, - $this->prefixesPsr0[$first][$prefix] - ); - } else { - $this->prefixesPsr0[$first][$prefix] = array_merge( - $this->prefixesPsr0[$first][$prefix], - $paths - ); - } - } - - /** - * Registers a set of PSR-4 directories for a given namespace, either - * appending or prepending to the ones previously set for this namespace. - * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param list|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories - * - * @throws \InvalidArgumentException - * - * @return void - */ - public function addPsr4($prefix, $paths, $prepend = false) - { - $paths = (array) $paths; - if (!$prefix) { - // Register directories for the root namespace. - if ($prepend) { - $this->fallbackDirsPsr4 = array_merge( - $paths, - $this->fallbackDirsPsr4 - ); - } else { - $this->fallbackDirsPsr4 = array_merge( - $this->fallbackDirsPsr4, - $paths - ); - } - } elseif (!isset($this->prefixDirsPsr4[$prefix])) { - // Register directories for a new namespace. - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); - } - $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = $paths; - } elseif ($prepend) { - // Prepend directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - $paths, - $this->prefixDirsPsr4[$prefix] - ); - } else { - // Append directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - $this->prefixDirsPsr4[$prefix], - $paths - ); - } - } - - /** - * Registers a set of PSR-0 directories for a given prefix, - * replacing any others previously set for this prefix. - * - * @param string $prefix The prefix - * @param list|string $paths The PSR-0 base directories - * - * @return void - */ - public function set($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr0 = (array) $paths; - } else { - $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; - } - } - - /** - * Registers a set of PSR-4 directories for a given namespace, - * replacing any others previously set for this namespace. - * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param list|string $paths The PSR-4 base directories - * - * @throws \InvalidArgumentException - * - * @return void - */ - public function setPsr4($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr4 = (array) $paths; - } else { - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); - } - $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; - } - } - - /** - * Turns on searching the include path for class files. - * - * @param bool $useIncludePath - * - * @return void - */ - public function setUseIncludePath($useIncludePath) - { - $this->useIncludePath = $useIncludePath; - } - - /** - * Can be used to check if the autoloader uses the include path to check - * for classes. - * - * @return bool - */ - public function getUseIncludePath() - { - return $this->useIncludePath; - } - - /** - * Turns off searching the prefix and fallback directories for classes - * that have not been registered with the class map. - * - * @param bool $classMapAuthoritative - * - * @return void - */ - public function setClassMapAuthoritative($classMapAuthoritative) - { - $this->classMapAuthoritative = $classMapAuthoritative; - } - - /** - * Should class lookup fail if not found in the current class map? - * - * @return bool - */ - public function isClassMapAuthoritative() - { - return $this->classMapAuthoritative; - } - - /** - * APCu prefix to use to cache found/not-found classes, if the extension is enabled. - * - * @param string|null $apcuPrefix - * - * @return void - */ - public function setApcuPrefix($apcuPrefix) - { - $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; - } - - /** - * The APCu prefix in use, or null if APCu caching is not enabled. - * - * @return string|null - */ - public function getApcuPrefix() - { - return $this->apcuPrefix; - } - - /** - * Registers this instance as an autoloader. - * - * @param bool $prepend Whether to prepend the autoloader or not - * - * @return void - */ - public function register($prepend = false) - { - spl_autoload_register(array($this, 'loadClass'), true, $prepend); - - if (null === $this->vendorDir) { - return; - } - - if ($prepend) { - self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; - } else { - unset(self::$registeredLoaders[$this->vendorDir]); - self::$registeredLoaders[$this->vendorDir] = $this; - } - } - - /** - * Unregisters this instance as an autoloader. - * - * @return void - */ - public function unregister() - { - spl_autoload_unregister(array($this, 'loadClass')); - - if (null !== $this->vendorDir) { - unset(self::$registeredLoaders[$this->vendorDir]); - } - } - - /** - * Loads the given class or interface. - * - * @param string $class The name of the class - * @return true|null True if loaded, null otherwise - */ - public function loadClass($class) - { - if ($file = $this->findFile($class)) { - $includeFile = self::$includeFile; - $includeFile($file); - - return true; - } - - return null; - } - - /** - * Finds the path to the file where the class is defined. - * - * @param string $class The name of the class - * - * @return string|false The path if found, false otherwise - */ - public function findFile($class) - { - // class map lookup - if (isset($this->classMap[$class])) { - return $this->classMap[$class]; - } - if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { - return false; - } - if (null !== $this->apcuPrefix) { - $file = apcu_fetch($this->apcuPrefix.$class, $hit); - if ($hit) { - return $file; - } - } - - $file = $this->findFileWithExtension($class, '.php'); - - // Search for Hack files if we are running on HHVM - if (false === $file && defined('HHVM_VERSION')) { - $file = $this->findFileWithExtension($class, '.hh'); - } - - if (null !== $this->apcuPrefix) { - apcu_add($this->apcuPrefix.$class, $file); - } - - if (false === $file) { - // Remember that this class does not exist. - $this->missingClasses[$class] = true; - } - - return $file; - } - - /** - * Returns the currently registered loaders keyed by their corresponding vendor directories. - * - * @return array - */ - public static function getRegisteredLoaders() - { - return self::$registeredLoaders; - } - - /** - * @param string $class - * @param string $ext - * @return string|false - */ - private function findFileWithExtension($class, $ext) - { - // PSR-4 lookup - $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; - - $first = $class[0]; - if (isset($this->prefixLengthsPsr4[$first])) { - $subPath = $class; - while (false !== $lastPos = strrpos($subPath, '\\')) { - $subPath = substr($subPath, 0, $lastPos); - $search = $subPath . '\\'; - if (isset($this->prefixDirsPsr4[$search])) { - $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); - foreach ($this->prefixDirsPsr4[$search] as $dir) { - if (file_exists($file = $dir . $pathEnd)) { - return $file; - } - } - } - } - } - - // PSR-4 fallback dirs - foreach ($this->fallbackDirsPsr4 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { - return $file; - } - } - - // PSR-0 lookup - if (false !== $pos = strrpos($class, '\\')) { - // namespaced class name - $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) - . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); - } else { - // PEAR-like class name - $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; - } - - if (isset($this->prefixesPsr0[$first])) { - foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { - if (0 === strpos($class, $prefix)) { - foreach ($dirs as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - } - } - } - - // PSR-0 fallback dirs - foreach ($this->fallbackDirsPsr0 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - - // PSR-0 include paths. - if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { - return $file; - } - - return false; - } - - /** - * @return void - */ - private static function initializeIncludeClosure() - { - if (self::$includeFile !== null) { - return; - } - - /** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - * - * @param string $file - * @return void - */ - self::$includeFile = \Closure::bind(static function($file) { - include $file; - }, null, null); - } -} diff --git a/composer/composer/InstalledVersions.php b/composer/composer/InstalledVersions.php deleted file mode 100644 index 07b32ed6ef..0000000000 --- a/composer/composer/InstalledVersions.php +++ /dev/null @@ -1,362 +0,0 @@ - - * Jordi Boggiano - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Composer; - -use Composer\Autoload\ClassLoader; -use Composer\Semver\VersionParser; - -/** - * This class is copied in every Composer installed project and available to all - * - * See also https://getcomposer.org/doc/07-runtime.md#installed-versions - * - * To require its presence, you can require `composer-runtime-api ^2.0` - * - * @final - */ -class InstalledVersions -{ - /** - * @var mixed[]|null - * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null - */ - private static $installed; - - /** - * @var bool|null - */ - private static $canGetVendors; - - /** - * @var array[] - * @psalm-var array}> - */ - private static $installedByVendor = array(); - - /** - * Returns a list of all package names which are present, either by being installed, replaced or provided - * - * @return string[] - * @psalm-return list - */ - public static function getInstalledPackages() - { - $packages = array(); - foreach (self::getInstalled() as $installed) { - $packages[] = array_keys($installed['versions']); - } - - if (1 === \count($packages)) { - return $packages[0]; - } - - return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); - } - - /** - * Returns a list of all package names with a specific type e.g. 'library' - * - * @param string $type - * @return string[] - * @psalm-return list - */ - public static function getInstalledPackagesByType($type) - { - $packagesByType = array(); - - foreach (self::getInstalled() as $installed) { - foreach ($installed['versions'] as $name => $package) { - if (isset($package['type']) && $package['type'] === $type) { - $packagesByType[] = $name; - } - } - } - - return $packagesByType; - } - - /** - * Checks whether the given package is installed - * - * This also returns true if the package name is provided or replaced by another package - * - * @param string $packageName - * @param bool $includeDevRequirements - * @return bool - */ - public static function isInstalled($packageName, $includeDevRequirements = true) - { - foreach (self::getInstalled() as $installed) { - if (isset($installed['versions'][$packageName])) { - return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; - } - } - - return false; - } - - /** - * Checks whether the given package satisfies a version constraint - * - * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: - * - * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') - * - * @param VersionParser $parser Install composer/semver to have access to this class and functionality - * @param string $packageName - * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package - * @return bool - */ - public static function satisfies(VersionParser $parser, $packageName, $constraint) - { - $constraint = $parser->parseConstraints((string) $constraint); - $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); - - return $provided->matches($constraint); - } - - /** - * Returns a version constraint representing all the range(s) which are installed for a given package - * - * It is easier to use this via isInstalled() with the $constraint argument if you need to check - * whether a given version of a package is installed, and not just whether it exists - * - * @param string $packageName - * @return string Version constraint usable with composer/semver - */ - public static function getVersionRanges($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - $ranges = array(); - if (isset($installed['versions'][$packageName]['pretty_version'])) { - $ranges[] = $installed['versions'][$packageName]['pretty_version']; - } - if (array_key_exists('aliases', $installed['versions'][$packageName])) { - $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); - } - if (array_key_exists('replaced', $installed['versions'][$packageName])) { - $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); - } - if (array_key_exists('provided', $installed['versions'][$packageName])) { - $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); - } - - return implode(' || ', $ranges); - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present - */ - public static function getVersion($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - if (!isset($installed['versions'][$packageName]['version'])) { - return null; - } - - return $installed['versions'][$packageName]['version']; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present - */ - public static function getPrettyVersion($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - if (!isset($installed['versions'][$packageName]['pretty_version'])) { - return null; - } - - return $installed['versions'][$packageName]['pretty_version']; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference - */ - public static function getReference($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - if (!isset($installed['versions'][$packageName]['reference'])) { - return null; - } - - return $installed['versions'][$packageName]['reference']; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. - */ - public static function getInstallPath($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @return array - * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} - */ - public static function getRootPackage() - { - $installed = self::getInstalled(); - - return $installed[0]['root']; - } - - /** - * Returns the raw installed.php data for custom implementations - * - * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. - * @return array[] - * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} - */ - public static function getRawData() - { - @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); - - if (null === self::$installed) { - // only require the installed.php file if this file is loaded from its dumped location, - // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 - if (substr(__DIR__, -8, 1) !== 'C') { - self::$installed = include __DIR__ . '/installed.php'; - } else { - self::$installed = array(); - } - } - - return self::$installed; - } - - /** - * Returns the raw data of all installed.php which are currently loaded for custom implementations - * - * @return array[] - * @psalm-return list}> - */ - public static function getAllRawData() - { - return self::getInstalled(); - } - - /** - * Lets you reload the static array from another file - * - * This is only useful for complex integrations in which a project needs to use - * this class but then also needs to execute another project's autoloader in process, - * and wants to ensure both projects have access to their version of installed.php. - * - * A typical case would be PHPUnit, where it would need to make sure it reads all - * the data it needs from this class, then call reload() with - * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure - * the project in which it runs can then also use this class safely, without - * interference between PHPUnit's dependencies and the project's dependencies. - * - * @param array[] $data A vendor/composer/installed.php data set - * @return void - * - * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $data - */ - public static function reload($data) - { - self::$installed = $data; - self::$installedByVendor = array(); - } - - /** - * @return array[] - * @psalm-return list}> - */ - private static function getInstalled() - { - if (null === self::$canGetVendors) { - self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); - } - - $installed = array(); - $copiedLocalDir = false; - - if (self::$canGetVendors) { - foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { - if (isset(self::$installedByVendor[$vendorDir])) { - $installed[] = self::$installedByVendor[$vendorDir]; - } elseif (is_file($vendorDir.'/composer/installed.php')) { - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ - $required = require $vendorDir.'/composer/installed.php'; - self::$installedByVendor[$vendorDir] = $required; - $installed[] = $required; - if (strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { - self::$installed = $required; - $copiedLocalDir = true; - } - } - } - } - - if (null === self::$installed) { - // only require the installed.php file if this file is loaded from its dumped location, - // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 - if (substr(__DIR__, -8, 1) !== 'C') { - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ - $required = require __DIR__ . '/installed.php'; - self::$installed = $required; - } else { - self::$installed = array(); - } - } - - if (self::$installed !== array() && !$copiedLocalDir) { - $installed[] = self::$installed; - } - - return $installed; - } -} diff --git a/composer/composer/LICENSE b/composer/composer/LICENSE deleted file mode 100644 index f27399a042..0000000000 --- a/composer/composer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - -Copyright (c) Nils Adermann, Jordi Boggiano - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/composer/composer/autoload_classmap.php b/composer/composer/autoload_classmap.php deleted file mode 100644 index 361a322655..0000000000 --- a/composer/composer/autoload_classmap.php +++ /dev/null @@ -1,105 +0,0 @@ - $vendorDir . '/composer/InstalledVersions.php', - 'OCA\\Richdocuments\\AppConfig' => $baseDir . '/../lib/AppConfig.php', - 'OCA\\Richdocuments\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php', - 'OCA\\Richdocuments\\Backgroundjobs\\Cleanup' => $baseDir . '/../lib/Backgroundjobs/Cleanup.php', - 'OCA\\Richdocuments\\Backgroundjobs\\ObtainCapabilities' => $baseDir . '/../lib/Backgroundjobs/ObtainCapabilities.php', - 'OCA\\Richdocuments\\Capabilities' => $baseDir . '/../lib/Capabilities.php', - 'OCA\\Richdocuments\\Command\\ActivateConfig' => $baseDir . '/../lib/Command/ActivateConfig.php', - 'OCA\\Richdocuments\\Command\\ConvertToBigInt' => $baseDir . '/../lib/Command/ConvertToBigInt.php', - 'OCA\\Richdocuments\\Command\\InstallDefaultFonts' => $baseDir . '/../lib/Command/InstallDefaultFonts.php', - 'OCA\\Richdocuments\\Command\\UpdateEmptyTemplates' => $baseDir . '/../lib/Command/UpdateEmptyTemplates.php', - 'OCA\\Richdocuments\\Controller\\AssetsController' => $baseDir . '/../lib/Controller/AssetsController.php', - 'OCA\\Richdocuments\\Controller\\Attribute\\RestrictToWopiServer' => $baseDir . '/../lib/Controller/Attribute/RestrictToWopiServer.php', - 'OCA\\Richdocuments\\Controller\\DirectViewController' => $baseDir . '/../lib/Controller/DirectViewController.php', - 'OCA\\Richdocuments\\Controller\\DocumentAPIController' => $baseDir . '/../lib/Controller/DocumentAPIController.php', - 'OCA\\Richdocuments\\Controller\\DocumentController' => $baseDir . '/../lib/Controller/DocumentController.php', - 'OCA\\Richdocuments\\Controller\\DocumentTrait' => $baseDir . '/../lib/Controller/DocumentTrait.php', - 'OCA\\Richdocuments\\Controller\\FederationController' => $baseDir . '/../lib/Controller/FederationController.php', - 'OCA\\Richdocuments\\Controller\\MentionController' => $baseDir . '/../lib/Controller/MentionController.php', - 'OCA\\Richdocuments\\Controller\\OCSController' => $baseDir . '/../lib/Controller/OCSController.php', - 'OCA\\Richdocuments\\Controller\\SettingsController' => $baseDir . '/../lib/Controller/SettingsController.php', - 'OCA\\Richdocuments\\Controller\\TargetController' => $baseDir . '/../lib/Controller/TargetController.php', - 'OCA\\Richdocuments\\Controller\\TemplateFieldController' => $baseDir . '/../lib/Controller/TemplateFieldController.php', - 'OCA\\Richdocuments\\Controller\\TemplatesController' => $baseDir . '/../lib/Controller/TemplatesController.php', - 'OCA\\Richdocuments\\Controller\\WopiController' => $baseDir . '/../lib/Controller/WopiController.php', - 'OCA\\Richdocuments\\Db\\Asset' => $baseDir . '/../lib/Db/Asset.php', - 'OCA\\Richdocuments\\Db\\AssetMapper' => $baseDir . '/../lib/Db/AssetMapper.php', - 'OCA\\Richdocuments\\Db\\Direct' => $baseDir . '/../lib/Db/Direct.php', - 'OCA\\Richdocuments\\Db\\DirectMapper' => $baseDir . '/../lib/Db/DirectMapper.php', - 'OCA\\Richdocuments\\Db\\Wopi' => $baseDir . '/../lib/Db/Wopi.php', - 'OCA\\Richdocuments\\Db\\WopiMapper' => $baseDir . '/../lib/Db/WopiMapper.php', - 'OCA\\Richdocuments\\Events\\BeforeFederationRedirectEvent' => $baseDir . '/../lib/Events/BeforeFederationRedirectEvent.php', - 'OCA\\Richdocuments\\Events\\DocumentOpenedEvent' => $baseDir . '/../lib/Events/DocumentOpenedEvent.php', - 'OCA\\Richdocuments\\Exceptions\\ExpiredTokenException' => $baseDir . '/../lib/Exceptions/ExpiredTokenException.php', - 'OCA\\Richdocuments\\Exceptions\\UnknownTokenException' => $baseDir . '/../lib/Exceptions/UnknownTokenException.php', - 'OCA\\Richdocuments\\Helper' => $baseDir . '/../lib/Helper.php', - 'OCA\\Richdocuments\\Listener\\AddContentSecurityPolicyListener' => $baseDir . '/../lib/Listener/AddContentSecurityPolicyListener.php', - 'OCA\\Richdocuments\\Listener\\AddFeaturePolicyListener' => $baseDir . '/../lib/Listener/AddFeaturePolicyListener.php', - 'OCA\\Richdocuments\\Listener\\BeforeFetchPreviewListener' => $baseDir . '/../lib/Listener/BeforeFetchPreviewListener.php', - 'OCA\\Richdocuments\\Listener\\BeforeGetTemplatesListener' => $baseDir . '/../lib/Listener/BeforeGetTemplatesListener.php', - 'OCA\\Richdocuments\\Listener\\BeforeTemplateRenderedListener' => $baseDir . '/../lib/Listener/BeforeTemplateRenderedListener.php', - 'OCA\\Richdocuments\\Listener\\FileCreatedFromTemplateListener' => $baseDir . '/../lib/Listener/FileCreatedFromTemplateListener.php', - 'OCA\\Richdocuments\\Listener\\LoadAdditionalListener' => $baseDir . '/../lib/Listener/LoadAdditionalListener.php', - 'OCA\\Richdocuments\\Listener\\LoadViewerListener' => $baseDir . '/../lib/Listener/LoadViewerListener.php', - 'OCA\\Richdocuments\\Listener\\ReferenceListener' => $baseDir . '/../lib/Listener/ReferenceListener.php', - 'OCA\\Richdocuments\\Listener\\RegisterTemplateFileCreatorListener' => $baseDir . '/../lib/Listener/RegisterTemplateFileCreatorListener.php', - 'OCA\\Richdocuments\\Listener\\ShareLinkListener' => $baseDir . '/../lib/Listener/ShareLinkListener.php', - 'OCA\\Richdocuments\\Middleware\\WOPIMiddleware' => $baseDir . '/../lib/Middleware/WOPIMiddleware.php', - 'OCA\\Richdocuments\\Migration\\InstallDefaultFonts' => $baseDir . '/../lib/Migration/InstallDefaultFonts.php', - 'OCA\\Richdocuments\\Migration\\Version2060Date20200302131958' => $baseDir . '/../lib/Migration/Version2060Date20200302131958.php', - 'OCA\\Richdocuments\\Migration\\Version2060Date20200302132145' => $baseDir . '/../lib/Migration/Version2060Date20200302132145.php', - 'OCA\\Richdocuments\\Migration\\Version30704Date20200626072306' => $baseDir . '/../lib/Migration/Version30704Date20200626072306.php', - 'OCA\\Richdocuments\\Migration\\Version30709Date20201111104147' => $baseDir . '/../lib/Migration/Version30709Date20201111104147.php', - 'OCA\\Richdocuments\\Migration\\Version30717Date20210310164901' => $baseDir . '/../lib/Migration/Version30717Date20210310164901.php', - 'OCA\\Richdocuments\\Migration\\Version50200Date20211220212457' => $baseDir . '/../lib/Migration/Version50200Date20211220212457.php', - 'OCA\\Richdocuments\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php', - 'OCA\\Richdocuments\\PermissionManager' => $baseDir . '/../lib/PermissionManager.php', - 'OCA\\Richdocuments\\Preview\\EMF' => $baseDir . '/../lib/Preview/EMF.php', - 'OCA\\Richdocuments\\Preview\\MSExcel' => $baseDir . '/../lib/Preview/MSExcel.php', - 'OCA\\Richdocuments\\Preview\\MSWord' => $baseDir . '/../lib/Preview/MSWord.php', - 'OCA\\Richdocuments\\Preview\\OOXML' => $baseDir . '/../lib/Preview/OOXML.php', - 'OCA\\Richdocuments\\Preview\\Office' => $baseDir . '/../lib/Preview/Office.php', - 'OCA\\Richdocuments\\Preview\\OpenDocument' => $baseDir . '/../lib/Preview/OpenDocument.php', - 'OCA\\Richdocuments\\Preview\\Pdf' => $baseDir . '/../lib/Preview/Pdf.php', - 'OCA\\Richdocuments\\Reference\\OfficeTargetReferenceProvider' => $baseDir . '/../lib/Reference/OfficeTargetReferenceProvider.php', - 'OCA\\Richdocuments\\Service\\CachedRequestService' => $baseDir . '/../lib/Service/CachedRequestService.php', - 'OCA\\Richdocuments\\Service\\CapabilitiesService' => $baseDir . '/../lib/Service/CapabilitiesService.php', - 'OCA\\Richdocuments\\Service\\ConnectivityService' => $baseDir . '/../lib/Service/ConnectivityService.php', - 'OCA\\Richdocuments\\Service\\DemoService' => $baseDir . '/../lib/Service/DemoService.php', - 'OCA\\Richdocuments\\Service\\DiscoveryService' => $baseDir . '/../lib/Service/DiscoveryService.php', - 'OCA\\Richdocuments\\Service\\FederationService' => $baseDir . '/../lib/Service/FederationService.php', - 'OCA\\Richdocuments\\Service\\FileTargetService' => $baseDir . '/../lib/Service/FileTargetService.php', - 'OCA\\Richdocuments\\Service\\FontService' => $baseDir . '/../lib/Service/FontService.php', - 'OCA\\Richdocuments\\Service\\InitialStateService' => $baseDir . '/../lib/Service/InitialStateService.php', - 'OCA\\Richdocuments\\Service\\PdfService' => $baseDir . '/../lib/Service/PdfService.php', - 'OCA\\Richdocuments\\Service\\RemoteOptionsService' => $baseDir . '/../lib/Service/RemoteOptionsService.php', - 'OCA\\Richdocuments\\Service\\RemoteService' => $baseDir . '/../lib/Service/RemoteService.php', - 'OCA\\Richdocuments\\Service\\TemplateFieldService' => $baseDir . '/../lib/Service/TemplateFieldService.php', - 'OCA\\Richdocuments\\Service\\UserScopeService' => $baseDir . '/../lib/Service/UserScopeService.php', - 'OCA\\Richdocuments\\Settings\\Admin' => $baseDir . '/../lib/Settings/Admin.php', - 'OCA\\Richdocuments\\Settings\\Personal' => $baseDir . '/../lib/Settings/Personal.php', - 'OCA\\Richdocuments\\Settings\\Section' => $baseDir . '/../lib/Settings/Section.php', - 'OCA\\Richdocuments\\TaskProcessingManager' => $baseDir . '/../lib/TaskProcessingManager.php', - 'OCA\\Richdocuments\\TemplateManager' => $baseDir . '/../lib/TemplateManager.php', - 'OCA\\Richdocuments\\Template\\CollaboraTemplateProvider' => $baseDir . '/../lib/Template/CollaboraTemplateProvider.php', - 'OCA\\Richdocuments\\TokenManager' => $baseDir . '/../lib/TokenManager.php', - 'OCA\\Richdocuments\\UploadException' => $baseDir . '/../lib/UploadException.php', - 'OCA\\Richdocuments\\WOPI\\Parser' => $baseDir . '/../lib/WOPI/Parser.php', - 'mikehaertl\\pdftk\\Command' => $vendorDir . '/mikehaertl/php-pdftk/src/Command.php', - 'mikehaertl\\pdftk\\DataFields' => $vendorDir . '/mikehaertl/php-pdftk/src/DataFields.php', - 'mikehaertl\\pdftk\\FdfFile' => $vendorDir . '/mikehaertl/php-pdftk/src/FdfFile.php', - 'mikehaertl\\pdftk\\InfoFields' => $vendorDir . '/mikehaertl/php-pdftk/src/InfoFields.php', - 'mikehaertl\\pdftk\\InfoFile' => $vendorDir . '/mikehaertl/php-pdftk/src/InfoFile.php', - 'mikehaertl\\pdftk\\Pdf' => $vendorDir . '/mikehaertl/php-pdftk/src/Pdf.php', - 'mikehaertl\\pdftk\\XfdfFile' => $vendorDir . '/mikehaertl/php-pdftk/src/XfdfFile.php', - 'mikehaertl\\shellcommand\\Command' => $vendorDir . '/mikehaertl/php-shellcommand/src/Command.php', - 'mikehaertl\\tmp\\File' => $vendorDir . '/mikehaertl/php-tmpfile/src/File.php', -); diff --git a/composer/composer/autoload_namespaces.php b/composer/composer/autoload_namespaces.php deleted file mode 100644 index 3f5c929625..0000000000 --- a/composer/composer/autoload_namespaces.php +++ /dev/null @@ -1,9 +0,0 @@ - array($vendorDir . '/mikehaertl/php-tmpfile/src'), - 'mikehaertl\\shellcommand\\' => array($vendorDir . '/mikehaertl/php-shellcommand/src'), - 'mikehaertl\\pdftk\\' => array($vendorDir . '/mikehaertl/php-pdftk/src'), - 'OCA\\Richdocuments\\' => array($baseDir . '/../lib'), -); diff --git a/composer/composer/autoload_real.php b/composer/composer/autoload_real.php deleted file mode 100644 index b1646a59d0..0000000000 --- a/composer/composer/autoload_real.php +++ /dev/null @@ -1,38 +0,0 @@ -register(true); - - return $loader; - } -} diff --git a/composer/composer/autoload_static.php b/composer/composer/autoload_static.php deleted file mode 100644 index d773f0391e..0000000000 --- a/composer/composer/autoload_static.php +++ /dev/null @@ -1,149 +0,0 @@ - - array ( - 'mikehaertl\\tmp\\' => 15, - 'mikehaertl\\shellcommand\\' => 24, - 'mikehaertl\\pdftk\\' => 17, - ), - 'O' => - array ( - 'OCA\\Richdocuments\\' => 18, - ), - ); - - public static $prefixDirsPsr4 = array ( - 'mikehaertl\\tmp\\' => - array ( - 0 => __DIR__ . '/..' . '/mikehaertl/php-tmpfile/src', - ), - 'mikehaertl\\shellcommand\\' => - array ( - 0 => __DIR__ . '/..' . '/mikehaertl/php-shellcommand/src', - ), - 'mikehaertl\\pdftk\\' => - array ( - 0 => __DIR__ . '/..' . '/mikehaertl/php-pdftk/src', - ), - 'OCA\\Richdocuments\\' => - array ( - 0 => __DIR__ . '/..' . '/../lib', - ), - ); - - public static $classMap = array ( - 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', - 'OCA\\Richdocuments\\AppConfig' => __DIR__ . '/..' . '/../lib/AppConfig.php', - 'OCA\\Richdocuments\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php', - 'OCA\\Richdocuments\\Backgroundjobs\\Cleanup' => __DIR__ . '/..' . '/../lib/Backgroundjobs/Cleanup.php', - 'OCA\\Richdocuments\\Backgroundjobs\\ObtainCapabilities' => __DIR__ . '/..' . '/../lib/Backgroundjobs/ObtainCapabilities.php', - 'OCA\\Richdocuments\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php', - 'OCA\\Richdocuments\\Command\\ActivateConfig' => __DIR__ . '/..' . '/../lib/Command/ActivateConfig.php', - 'OCA\\Richdocuments\\Command\\ConvertToBigInt' => __DIR__ . '/..' . '/../lib/Command/ConvertToBigInt.php', - 'OCA\\Richdocuments\\Command\\InstallDefaultFonts' => __DIR__ . '/..' . '/../lib/Command/InstallDefaultFonts.php', - 'OCA\\Richdocuments\\Command\\UpdateEmptyTemplates' => __DIR__ . '/..' . '/../lib/Command/UpdateEmptyTemplates.php', - 'OCA\\Richdocuments\\Controller\\AssetsController' => __DIR__ . '/..' . '/../lib/Controller/AssetsController.php', - 'OCA\\Richdocuments\\Controller\\Attribute\\RestrictToWopiServer' => __DIR__ . '/..' . '/../lib/Controller/Attribute/RestrictToWopiServer.php', - 'OCA\\Richdocuments\\Controller\\DirectViewController' => __DIR__ . '/..' . '/../lib/Controller/DirectViewController.php', - 'OCA\\Richdocuments\\Controller\\DocumentAPIController' => __DIR__ . '/..' . '/../lib/Controller/DocumentAPIController.php', - 'OCA\\Richdocuments\\Controller\\DocumentController' => __DIR__ . '/..' . '/../lib/Controller/DocumentController.php', - 'OCA\\Richdocuments\\Controller\\DocumentTrait' => __DIR__ . '/..' . '/../lib/Controller/DocumentTrait.php', - 'OCA\\Richdocuments\\Controller\\FederationController' => __DIR__ . '/..' . '/../lib/Controller/FederationController.php', - 'OCA\\Richdocuments\\Controller\\MentionController' => __DIR__ . '/..' . '/../lib/Controller/MentionController.php', - 'OCA\\Richdocuments\\Controller\\OCSController' => __DIR__ . '/..' . '/../lib/Controller/OCSController.php', - 'OCA\\Richdocuments\\Controller\\SettingsController' => __DIR__ . '/..' . '/../lib/Controller/SettingsController.php', - 'OCA\\Richdocuments\\Controller\\TargetController' => __DIR__ . '/..' . '/../lib/Controller/TargetController.php', - 'OCA\\Richdocuments\\Controller\\TemplateFieldController' => __DIR__ . '/..' . '/../lib/Controller/TemplateFieldController.php', - 'OCA\\Richdocuments\\Controller\\TemplatesController' => __DIR__ . '/..' . '/../lib/Controller/TemplatesController.php', - 'OCA\\Richdocuments\\Controller\\WopiController' => __DIR__ . '/..' . '/../lib/Controller/WopiController.php', - 'OCA\\Richdocuments\\Db\\Asset' => __DIR__ . '/..' . '/../lib/Db/Asset.php', - 'OCA\\Richdocuments\\Db\\AssetMapper' => __DIR__ . '/..' . '/../lib/Db/AssetMapper.php', - 'OCA\\Richdocuments\\Db\\Direct' => __DIR__ . '/..' . '/../lib/Db/Direct.php', - 'OCA\\Richdocuments\\Db\\DirectMapper' => __DIR__ . '/..' . '/../lib/Db/DirectMapper.php', - 'OCA\\Richdocuments\\Db\\Wopi' => __DIR__ . '/..' . '/../lib/Db/Wopi.php', - 'OCA\\Richdocuments\\Db\\WopiMapper' => __DIR__ . '/..' . '/../lib/Db/WopiMapper.php', - 'OCA\\Richdocuments\\Events\\BeforeFederationRedirectEvent' => __DIR__ . '/..' . '/../lib/Events/BeforeFederationRedirectEvent.php', - 'OCA\\Richdocuments\\Events\\DocumentOpenedEvent' => __DIR__ . '/..' . '/../lib/Events/DocumentOpenedEvent.php', - 'OCA\\Richdocuments\\Exceptions\\ExpiredTokenException' => __DIR__ . '/..' . '/../lib/Exceptions/ExpiredTokenException.php', - 'OCA\\Richdocuments\\Exceptions\\UnknownTokenException' => __DIR__ . '/..' . '/../lib/Exceptions/UnknownTokenException.php', - 'OCA\\Richdocuments\\Helper' => __DIR__ . '/..' . '/../lib/Helper.php', - 'OCA\\Richdocuments\\Listener\\AddContentSecurityPolicyListener' => __DIR__ . '/..' . '/../lib/Listener/AddContentSecurityPolicyListener.php', - 'OCA\\Richdocuments\\Listener\\AddFeaturePolicyListener' => __DIR__ . '/..' . '/../lib/Listener/AddFeaturePolicyListener.php', - 'OCA\\Richdocuments\\Listener\\BeforeFetchPreviewListener' => __DIR__ . '/..' . '/../lib/Listener/BeforeFetchPreviewListener.php', - 'OCA\\Richdocuments\\Listener\\BeforeGetTemplatesListener' => __DIR__ . '/..' . '/../lib/Listener/BeforeGetTemplatesListener.php', - 'OCA\\Richdocuments\\Listener\\BeforeTemplateRenderedListener' => __DIR__ . '/..' . '/../lib/Listener/BeforeTemplateRenderedListener.php', - 'OCA\\Richdocuments\\Listener\\FileCreatedFromTemplateListener' => __DIR__ . '/..' . '/../lib/Listener/FileCreatedFromTemplateListener.php', - 'OCA\\Richdocuments\\Listener\\LoadAdditionalListener' => __DIR__ . '/..' . '/../lib/Listener/LoadAdditionalListener.php', - 'OCA\\Richdocuments\\Listener\\LoadViewerListener' => __DIR__ . '/..' . '/../lib/Listener/LoadViewerListener.php', - 'OCA\\Richdocuments\\Listener\\ReferenceListener' => __DIR__ . '/..' . '/../lib/Listener/ReferenceListener.php', - 'OCA\\Richdocuments\\Listener\\RegisterTemplateFileCreatorListener' => __DIR__ . '/..' . '/../lib/Listener/RegisterTemplateFileCreatorListener.php', - 'OCA\\Richdocuments\\Listener\\ShareLinkListener' => __DIR__ . '/..' . '/../lib/Listener/ShareLinkListener.php', - 'OCA\\Richdocuments\\Middleware\\WOPIMiddleware' => __DIR__ . '/..' . '/../lib/Middleware/WOPIMiddleware.php', - 'OCA\\Richdocuments\\Migration\\InstallDefaultFonts' => __DIR__ . '/..' . '/../lib/Migration/InstallDefaultFonts.php', - 'OCA\\Richdocuments\\Migration\\Version2060Date20200302131958' => __DIR__ . '/..' . '/../lib/Migration/Version2060Date20200302131958.php', - 'OCA\\Richdocuments\\Migration\\Version2060Date20200302132145' => __DIR__ . '/..' . '/../lib/Migration/Version2060Date20200302132145.php', - 'OCA\\Richdocuments\\Migration\\Version30704Date20200626072306' => __DIR__ . '/..' . '/../lib/Migration/Version30704Date20200626072306.php', - 'OCA\\Richdocuments\\Migration\\Version30709Date20201111104147' => __DIR__ . '/..' . '/../lib/Migration/Version30709Date20201111104147.php', - 'OCA\\Richdocuments\\Migration\\Version30717Date20210310164901' => __DIR__ . '/..' . '/../lib/Migration/Version30717Date20210310164901.php', - 'OCA\\Richdocuments\\Migration\\Version50200Date20211220212457' => __DIR__ . '/..' . '/../lib/Migration/Version50200Date20211220212457.php', - 'OCA\\Richdocuments\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php', - 'OCA\\Richdocuments\\PermissionManager' => __DIR__ . '/..' . '/../lib/PermissionManager.php', - 'OCA\\Richdocuments\\Preview\\EMF' => __DIR__ . '/..' . '/../lib/Preview/EMF.php', - 'OCA\\Richdocuments\\Preview\\MSExcel' => __DIR__ . '/..' . '/../lib/Preview/MSExcel.php', - 'OCA\\Richdocuments\\Preview\\MSWord' => __DIR__ . '/..' . '/../lib/Preview/MSWord.php', - 'OCA\\Richdocuments\\Preview\\OOXML' => __DIR__ . '/..' . '/../lib/Preview/OOXML.php', - 'OCA\\Richdocuments\\Preview\\Office' => __DIR__ . '/..' . '/../lib/Preview/Office.php', - 'OCA\\Richdocuments\\Preview\\OpenDocument' => __DIR__ . '/..' . '/../lib/Preview/OpenDocument.php', - 'OCA\\Richdocuments\\Preview\\Pdf' => __DIR__ . '/..' . '/../lib/Preview/Pdf.php', - 'OCA\\Richdocuments\\Reference\\OfficeTargetReferenceProvider' => __DIR__ . '/..' . '/../lib/Reference/OfficeTargetReferenceProvider.php', - 'OCA\\Richdocuments\\Service\\CachedRequestService' => __DIR__ . '/..' . '/../lib/Service/CachedRequestService.php', - 'OCA\\Richdocuments\\Service\\CapabilitiesService' => __DIR__ . '/..' . '/../lib/Service/CapabilitiesService.php', - 'OCA\\Richdocuments\\Service\\ConnectivityService' => __DIR__ . '/..' . '/../lib/Service/ConnectivityService.php', - 'OCA\\Richdocuments\\Service\\DemoService' => __DIR__ . '/..' . '/../lib/Service/DemoService.php', - 'OCA\\Richdocuments\\Service\\DiscoveryService' => __DIR__ . '/..' . '/../lib/Service/DiscoveryService.php', - 'OCA\\Richdocuments\\Service\\FederationService' => __DIR__ . '/..' . '/../lib/Service/FederationService.php', - 'OCA\\Richdocuments\\Service\\FileTargetService' => __DIR__ . '/..' . '/../lib/Service/FileTargetService.php', - 'OCA\\Richdocuments\\Service\\FontService' => __DIR__ . '/..' . '/../lib/Service/FontService.php', - 'OCA\\Richdocuments\\Service\\InitialStateService' => __DIR__ . '/..' . '/../lib/Service/InitialStateService.php', - 'OCA\\Richdocuments\\Service\\PdfService' => __DIR__ . '/..' . '/../lib/Service/PdfService.php', - 'OCA\\Richdocuments\\Service\\RemoteOptionsService' => __DIR__ . '/..' . '/../lib/Service/RemoteOptionsService.php', - 'OCA\\Richdocuments\\Service\\RemoteService' => __DIR__ . '/..' . '/../lib/Service/RemoteService.php', - 'OCA\\Richdocuments\\Service\\TemplateFieldService' => __DIR__ . '/..' . '/../lib/Service/TemplateFieldService.php', - 'OCA\\Richdocuments\\Service\\UserScopeService' => __DIR__ . '/..' . '/../lib/Service/UserScopeService.php', - 'OCA\\Richdocuments\\Settings\\Admin' => __DIR__ . '/..' . '/../lib/Settings/Admin.php', - 'OCA\\Richdocuments\\Settings\\Personal' => __DIR__ . '/..' . '/../lib/Settings/Personal.php', - 'OCA\\Richdocuments\\Settings\\Section' => __DIR__ . '/..' . '/../lib/Settings/Section.php', - 'OCA\\Richdocuments\\TaskProcessingManager' => __DIR__ . '/..' . '/../lib/TaskProcessingManager.php', - 'OCA\\Richdocuments\\TemplateManager' => __DIR__ . '/..' . '/../lib/TemplateManager.php', - 'OCA\\Richdocuments\\Template\\CollaboraTemplateProvider' => __DIR__ . '/..' . '/../lib/Template/CollaboraTemplateProvider.php', - 'OCA\\Richdocuments\\TokenManager' => __DIR__ . '/..' . '/../lib/TokenManager.php', - 'OCA\\Richdocuments\\UploadException' => __DIR__ . '/..' . '/../lib/UploadException.php', - 'OCA\\Richdocuments\\WOPI\\Parser' => __DIR__ . '/..' . '/../lib/WOPI/Parser.php', - 'mikehaertl\\pdftk\\Command' => __DIR__ . '/..' . '/mikehaertl/php-pdftk/src/Command.php', - 'mikehaertl\\pdftk\\DataFields' => __DIR__ . '/..' . '/mikehaertl/php-pdftk/src/DataFields.php', - 'mikehaertl\\pdftk\\FdfFile' => __DIR__ . '/..' . '/mikehaertl/php-pdftk/src/FdfFile.php', - 'mikehaertl\\pdftk\\InfoFields' => __DIR__ . '/..' . '/mikehaertl/php-pdftk/src/InfoFields.php', - 'mikehaertl\\pdftk\\InfoFile' => __DIR__ . '/..' . '/mikehaertl/php-pdftk/src/InfoFile.php', - 'mikehaertl\\pdftk\\Pdf' => __DIR__ . '/..' . '/mikehaertl/php-pdftk/src/Pdf.php', - 'mikehaertl\\pdftk\\XfdfFile' => __DIR__ . '/..' . '/mikehaertl/php-pdftk/src/XfdfFile.php', - 'mikehaertl\\shellcommand\\Command' => __DIR__ . '/..' . '/mikehaertl/php-shellcommand/src/Command.php', - 'mikehaertl\\tmp\\File' => __DIR__ . '/..' . '/mikehaertl/php-tmpfile/src/File.php', - ); - - public static function getInitializer(ClassLoader $loader) - { - return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInitRichdocuments::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInitRichdocuments::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInitRichdocuments::$classMap; - - }, null, ClassLoader::class); - } -} diff --git a/composer/composer/installed.json b/composer/composer/installed.json deleted file mode 100644 index d8976c6367..0000000000 --- a/composer/composer/installed.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "packages": [ - { - "name": "mikehaertl/php-pdftk", - "version": "0.13.1", - "version_normalized": "0.13.1.0", - "source": { - "type": "git", - "url": "https://github.com/mikehaertl/php-pdftk.git", - "reference": "3851b08c1027489e48387d7c14c27bc295d98239" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mikehaertl/php-pdftk/zipball/3851b08c1027489e48387d7c14c27bc295d98239", - "reference": "3851b08c1027489e48387d7c14c27bc295d98239", - "shasum": "" - }, - "require": { - "mikehaertl/php-shellcommand": "^1.6.3", - "mikehaertl/php-tmpfile": "^1.1.0", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">4.0 <9.4" - }, - "time": "2023-11-03T16:06:08+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "mikehaertl\\pdftk\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Haertl", - "email": "haertl.mike@gmail.com" - } - ], - "description": "A PDF conversion and form utility based on pdftk.", - "keywords": [ - "pdf", - "pdftk" - ], - "support": { - "issues": "https://github.com/mikehaertl/php-pdftk/issues", - "source": "https://github.com/mikehaertl/php-pdftk/tree/0.13.1" - }, - "install-path": "../mikehaertl/php-pdftk" - }, - { - "name": "mikehaertl/php-shellcommand", - "version": "1.7.0", - "version_normalized": "1.7.0.0", - "source": { - "type": "git", - "url": "https://github.com/mikehaertl/php-shellcommand.git", - "reference": "e79ea528be155ffdec6f3bf1a4a46307bb49e545" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mikehaertl/php-shellcommand/zipball/e79ea528be155ffdec6f3bf1a4a46307bb49e545", - "reference": "e79ea528be155ffdec6f3bf1a4a46307bb49e545", - "shasum": "" - }, - "require": { - "php": ">= 5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">4.0 <=9.4" - }, - "time": "2023-04-19T08:25:22+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "mikehaertl\\shellcommand\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Härtl", - "email": "haertl.mike@gmail.com" - } - ], - "description": "An object oriented interface to shell commands", - "keywords": [ - "shell" - ], - "support": { - "issues": "https://github.com/mikehaertl/php-shellcommand/issues", - "source": "https://github.com/mikehaertl/php-shellcommand/tree/1.7.0" - }, - "install-path": "../mikehaertl/php-shellcommand" - }, - { - "name": "mikehaertl/php-tmpfile", - "version": "1.2.1", - "version_normalized": "1.2.1.0", - "source": { - "type": "git", - "url": "https://github.com/mikehaertl/php-tmpfile.git", - "reference": "70a5b70b17bc0d9666388e6a551ecc93d0b40a10" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mikehaertl/php-tmpfile/zipball/70a5b70b17bc0d9666388e6a551ecc93d0b40a10", - "reference": "70a5b70b17bc0d9666388e6a551ecc93d0b40a10", - "shasum": "" - }, - "require-dev": { - "php": ">=5.3.0", - "phpunit/phpunit": ">4.0 <=9.4" - }, - "time": "2021-03-01T18:26:25+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "mikehaertl\\tmp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Härtl", - "email": "haertl.mike@gmail.com" - } - ], - "description": "A convenience class for temporary files", - "keywords": [ - "files" - ], - "support": { - "issues": "https://github.com/mikehaertl/php-tmpfile/issues", - "source": "https://github.com/mikehaertl/php-tmpfile/tree/1.2.1" - }, - "install-path": "../mikehaertl/php-tmpfile" - } - ], - "dev": true, - "dev-package-names": [] -} diff --git a/composer/composer/installed.json.license b/composer/composer/installed.json.license deleted file mode 100644 index 75a458e9c0..0000000000 --- a/composer/composer/installed.json.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/composer/composer/installed.php b/composer/composer/installed.php deleted file mode 100644 index 7feb7116b9..0000000000 --- a/composer/composer/installed.php +++ /dev/null @@ -1,50 +0,0 @@ - array( - 'name' => '__root__', - 'pretty_version' => 'dev-main', - 'version' => 'dev-main', - 'reference' => 'a020a8fa3bc95f7b2107173c1e1caa634a7c6671', - 'type' => 'library', - 'install_path' => __DIR__ . '/../', - 'aliases' => array(), - 'dev' => true, - ), - 'versions' => array( - '__root__' => array( - 'pretty_version' => 'dev-main', - 'version' => 'dev-main', - 'reference' => 'a020a8fa3bc95f7b2107173c1e1caa634a7c6671', - 'type' => 'library', - 'install_path' => __DIR__ . '/../', - 'aliases' => array(), - 'dev_requirement' => false, - ), - 'mikehaertl/php-pdftk' => array( - 'pretty_version' => '0.13.1', - 'version' => '0.13.1.0', - 'reference' => '3851b08c1027489e48387d7c14c27bc295d98239', - 'type' => 'library', - 'install_path' => __DIR__ . '/../mikehaertl/php-pdftk', - 'aliases' => array(), - 'dev_requirement' => false, - ), - 'mikehaertl/php-shellcommand' => array( - 'pretty_version' => '1.7.0', - 'version' => '1.7.0.0', - 'reference' => 'e79ea528be155ffdec6f3bf1a4a46307bb49e545', - 'type' => 'library', - 'install_path' => __DIR__ . '/../mikehaertl/php-shellcommand', - 'aliases' => array(), - 'dev_requirement' => false, - ), - 'mikehaertl/php-tmpfile' => array( - 'pretty_version' => '1.2.1', - 'version' => '1.2.1.0', - 'reference' => '70a5b70b17bc0d9666388e6a551ecc93d0b40a10', - 'type' => 'library', - 'install_path' => __DIR__ . '/../mikehaertl/php-tmpfile', - 'aliases' => array(), - 'dev_requirement' => false, - ), - ), -); diff --git a/composer/composer/platform_check.php b/composer/composer/platform_check.php deleted file mode 100644 index 7621d4ff97..0000000000 --- a/composer/composer/platform_check.php +++ /dev/null @@ -1,26 +0,0 @@ -= 50300)) { - $issues[] = 'Your Composer dependencies require a PHP version ">= 5.3.0". You are running ' . PHP_VERSION . '.'; -} - -if ($issues) { - if (!headers_sent()) { - header('HTTP/1.1 500 Internal Server Error'); - } - if (!ini_get('display_errors')) { - if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { - fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); - } elseif (!headers_sent()) { - echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; - } - } - trigger_error( - 'Composer detected issues in your platform: ' . implode(' ', $issues), - E_USER_ERROR - ); -} diff --git a/composer/mikehaertl/php-pdftk/.github/workflows/tests.yml b/composer/mikehaertl/php-pdftk/.github/workflows/tests.yml deleted file mode 100644 index b17b83cfd1..0000000000 --- a/composer/mikehaertl/php-pdftk/.github/workflows/tests.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Tests -on: pull_request -jobs: - phpunit: - name: PHP ${{ matrix.php }} - runs-on: ubuntu-latest - strategy: - matrix: - php: - - "5.3" - - "5.4" - - "5.5" - - "5.6" - - "7.0" - - "7.1" - - "7.2" - - "7.3" - - "7.4" - - "8.0" - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Install pdftk - run: | - cd /tmp - sudo wget http://mirrors.kernel.org/ubuntu/pool/universe/p/pdftk-java/pdftk-java_3.0.9-1_all.deb - sudo apt install -y -q ./pdftk-java_3.0.9-1_all.deb - pdftk --version - - - name: Install PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - tools: composer:v2 - - - name: Update composer - run: composer self-update - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Cache composer cache - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - restore-keys: ${{ runner.os }}-composer- - - - name: Install composer packages - run: composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi - - - name: Run phpunit - run: vendor/bin/phpunit --color=always diff --git a/composer/mikehaertl/php-pdftk/LICENSE b/composer/mikehaertl/php-pdftk/LICENSE deleted file mode 100644 index 28dbb2a292..0000000000 --- a/composer/mikehaertl/php-pdftk/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Michael Härtl - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/composer/mikehaertl/php-pdftk/README.md b/composer/mikehaertl/php-pdftk/README.md deleted file mode 100644 index ba99281d49..0000000000 --- a/composer/mikehaertl/php-pdftk/README.md +++ /dev/null @@ -1,501 +0,0 @@ -php-pdftk -========= - -[![GitHub Tests](https://github.com/mikehaertl/php-pdftk/workflows/Tests/badge.svg)](https://github.com/mikehaertl/php-pdftk/actions) -[![Packagist Version](https://img.shields.io/packagist/v/mikehaertl/php-pdftk?label=version)](https://packagist.org/packages/mikehaertl/php-pdftk) -[![Packagist Downloads](https://img.shields.io/packagist/dt/mikehaertl/php-pdftk)](https://packagist.org/packages/mikehaertl/php-pdftk) -[![GitHub license](https://img.shields.io/github/license/mikehaertl/php-pdftk)](https://github.com/mikehaertl/php-pdftk/blob/master/LICENSE) -[![Packagist PHP Version Support](https://img.shields.io/packagist/php-v/mikehaertl/php-pdftk)](https://packagist.org/packages/mikehaertl/php-pdftk) - -A PDF conversion and form utility based on pdftk. - -## Features - -*php-pdftk* brings the full power of `pdftk` to PHP - and more. - - * Fill forms, either from a XFDF/FDF file or from a data array (UTF-8 safe for unflattened forms, requires pdftk 2.x !) - * Create XFDF or FDF files from PHP arrays (UTF-8 safe!) - * Create FDF files from filled PDF forms - * Combine pages from several PDF files into a new PDF file - * Split a PDF into one file per page - * Add background or overlay PDFs - * Read out meta data about PDF and form fields - * Set passwords and permissions - * Remove passwords - -## Requirements - - * The `pdftk` command must be installed and working on your system - * This library is written for pdftk 2.x versions. You should be able to use it with pdftk 1.x but not all methods will work there. - For details consult the man page of pdftk on your system. - * There is a [known issue](https://github.com/mikehaertl/php-pdftk/issues/150) - on Ubuntu if you installed the `pdftk` package from snap. This version has - no permission to write to the `/tmp` directory. You can either set another - temporay directory as described below or use another package. For Ubuntu - 18.10 there's also a `pdftk-java` package available via apt which should work - fine. You can also install this package on Ubuntu 18.04 if you download it - manually. Also check [this answer](https://askubuntu.com/a/1028983/175814) - on askubuntu. - -> **Note:** The pdftk version from the alternative PPA `ppa:malteworld/ppa` is -> no longer available. The author instead now points to his answer on askubuntu -> linked above. - -## Installation - -You should use [composer](https://getcomposer.org/) to install this library. - -``` -composer require mikehaertl/php-pdftk -``` - -## Examples - -### Create instance for PDF files - -There are several ways to tell the `Pdf` instance which file(s) it should use. -Some files may also require a password or need an alias to be used as a handle -in some operations (e.g. cat or shuffle). - -> **Note:** In version 2.x of pdftk a handle can be one or more upper case letters. - -```php -// Create an instance for a single file -$pdf = new Pdf('/path/to/form.pdf'); - -// Alternatively add files later. Handles are autogenerated in this case. -$pdf = new Pdf(); -$pdf->addFile('/path/to/file1.pdf'); -$pdf->addFile('/path/to/file2.pdf'); - -// Add files with own handle -$pdf = new Pdf(); -$pdf->addFile('/path/to/file1.pdf', 'A'); -$pdf->addFile('/path/to/file2.pdf', 'B'); -// Add file with handle and password -$pdf->addFile('/path/to/file3.pdf', 'C', 'secret*password'); - -// Shortcut to pass all files to the constructor -$pdf = new Pdf([ - 'A' => ['/path/to/file1.pdf', 'secret*password1'], - 'B' => ['/path/to/file2.pdf', 'secret*password2'], -]); -``` - -### Operations - -Please consult the `pdftk` man page for each operation to find out how each operation works -in detail and which options are available. - -For all operations you can either save the PDF locally through `saveAs($name)` or send it to the -browser with `send()`. If you pass a filename to `send($name)` the client browser will open a download -dialogue whereas without a filename it will usually display the PDF inline. - -**IMPORTANT: You can always only perform *one* of the following operations on a single PDF instance. -Below you can find a workaround if you need multiple operations.** - -#### Fill Form - -Fill a PDF form with data from a PHP array or an XFDF/FDF file. - -```php -use mikehaertl\pdftk\Pdf; - -// Fill form with data array -$pdf = new Pdf('/full/path/to/form.pdf'); -$result = $pdf->fillForm([ - 'name'=>'ÄÜÖ äüö мирано čárka', - 'nested.name' => 'valX', - ]) - ->needAppearances() - ->saveAs('filled.pdf'); - -// Always check for errors -if ($result === false) { - $error = $pdf->getError(); -} - -// Fill form from FDF -$pdf = new Pdf('form.pdf'); -$result = $pdf->fillForm('data.xfdf') - ->saveAs('filled.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} -``` - -**Note:** When filling in UTF-8 data, you should always add the `needAppearances()` option. -This will make sure, that the PDF reader takes care of using the right fonts for rendering, -something that pdftk can't do for you. Also note that `flatten()` doesn't really work well -if you have special characters in your data. - -If you use `pdftk-java` >= 3.3.0 and the embedded font does not support UTF-8 -characters you can also replace it with a local font: - -```php -use mikehaertl\pdftk\Pdf; - -// Fill form with data array -$pdf = new Pdf('/full/path/to/form.pdf'); -$result = $pdf->fillForm($data) - ->replacementFont('/usr/share/fonts/dejavu/DejaVuSans.ttf') - ->saveAs('filled.pdf'); -``` - -#### Create a XFDF/FDF file from a PHP array - -This is a bonus feature that is not available from `pdftk`. - -```php -use mikehaertl\pdftk\XfdfFile; -use mikehaertl\pdftk\FdfFile; - -$xfdf = new XfdfFile(['name' => 'Jürgen мирано']); -$xfdf->saveAs('/path/to/data.xfdf'); - -$fdf = new FdfFile(['name' => 'Jürgen мирано']); -$fdf->saveAs('/path/to/data.fdf'); -``` - -#### Cat - -Assemble a PDF from pages from one or more PDF files. - -```php -use mikehaertl\pdftk\Pdf; - -// Extract pages 1-5 and 7,4,9 into a new file -$pdf = new Pdf('/path/to/my.pdf'); -$result = $pdf->cat(1, 5) - ->cat([7, 4, 9]) - ->saveAs('/path/to/new.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} - -// Combine pages from several files -$pdf = new Pdf([ - 'A' => '/path/file1.pdf', // A is alias for file1.pdf - 'B' => ['/path/file2.pdf','pass**word'], // B is alias for file2.pdf - 'C' => ['/path/file3.pdf','secret**pw'], // C is alias for file3.pdf -]); -$result = $pdf->cat(1, 5, 'A') // pages 1-5 from A - ->cat(3, null, 'B') // page 3 from B - ->cat(7, 'end', 'B', null, 'east') // pages 7-end from B, rotated East - ->cat('end',3,'A','even') // even pages 3-end in reverse order from A - ->cat([2,3,7], 'C') // pages 2,3 and 7 from C - ->saveAs('/path/new.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} -``` - -#### Shuffle - -Like `cat()` but create "*streams*" and fill the new PDF with one page from each -stream at a time. - -```php -use mikehaertl\pdftk\Pdf; - -$pdf = new Pdf([ - 'A' => '/path/file1.pdf', // A is alias for file1.pdf - 'B' => '/path/file2.pdf', // B is alias for file2.pdf -]); - -// new.pdf will have pages A1, B3, A2, B4, A3, B5, ... -$result = $pdf->shuffle(1, 5, 'A') // pages 1-5 from A - ->shuffle(3, 8, 'B') // pages 3-8 from B - ->saveAs('/path/new.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} -``` - -#### Burst - -Split a PDF file into one file per page. - -```php -use mikehaertl\pdftk\Pdf; - -$pdf = new Pdf('/path/my.pdf'); -$result = $pdf->burst('/path/page_%d.pdf'); // Supply a printf() pattern -if ($result === false) { - $error = $pdf->getError(); -} -``` - -#### Add background PDF - -Add another PDF file as background. - -```php -use mikehaertl\pdftk\Pdf; - -// Set background from another PDF (first page repeated) -$pdf = new Pdf('/path/my.pdf'); -$result = $pdf->background('/path/back.pdf') - ->saveAs('/path/watermarked.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} - -// Set background from another PDF (one page each) -$pdf = new Pdf('/path/my.pdf'); -$result = $pdf->multiBackground('/path/back_pages.pdf') - ->saveAs('/path/watermarked.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} -``` - -#### Add overlay PDF - -Add another PDF file as overlay. - -```php -use mikehaertl\pdftk\Pdf; - -// Stamp with another PDF (first page repeated) -$pdf = new Pdf('/path/my.pdf'); -$result = $pdf->stamp('/path/overlay.pdf') - ->saveAs('/path/stamped.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} - -// Stamp with another PDF (one page each) -$pdf = new Pdf('/path/my.pdf'); -$result = $pdf->multiStamp('/path/overlay_pages.pdf') - ->saveAs('/path/stamped.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} -``` - -#### Attach Files - -Add file attachments to the document or to a specific page. - -```php -use mikehaertl\pdftk\Pdf; - -$files = [ - '/path/to/file1', - '/path/to/file2', -] - -// Add files at the document level -$pdf = new Pdf('/path/my.pdf'); -$result = $pdf->attachFiles($files) - ->saveAs('/path/withfiles.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} - -// Add files to a specific page -$pdf = new Pdf('/path/my.pdf'); -$page = 7; -$result = $pdf->attachFiles($files, $page) - ->saveAs('/path/withfiles.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} -``` -#### Unpack Files - -Copy file attachments from a PDF to the given directory. - -```php -use mikehaertl\pdftk\Pdf; - -$pdf = new Pdf('/path/my.pdf'); -$result = $pdf->unpackFiles('/path/to/dir'); -if ($result === false) { - $error = $pdf->getError(); -} -``` - -#### Generate FDF - -Create a FDF file from a given filled PDF form. - -```php -use mikehaertl\pdftk\Pdf; - -// Create FDF from PDF -$pdf = new Pdf('/path/form.pdf'); -$result = $pdf->generateFdfFile('/path/data.fdf'); -if ($result === false) { - $error = $pdf->getError(); -} -``` - -#### Get PDF data - -Read out metadata or form field information from a PDF file. - -```php -use mikehaertl\pdftk\Pdf; - -// Get data -$pdf = new Pdf('/path/my.pdf'); -$data = $pdf->getData(); -if ($data === false) { - $error = $pdf->getError(); -} - -// Get form data fields -$pdf = new Pdf('/path/my.pdf'); -$data = $pdf->getDataFields(); -if ($data === false) { - $error = $pdf->getError(); -} - -// Get data as string -echo $data; -$txt = (string) $data; -$txt = $data->__toString(); - -// Get data as array -$arr = (array) $data; -$arr = $data->__toArray(); -$field1 = $data[0]['Field1']; -``` - -#### How to perform more than one operation on a PDF - -As stated above, you can only perform one of the preceeding operations on a single PDF instance. -If you need more than one operation you can feed one `Pdf` instance into another: - -```php -use mikehaertl\pdftk\Pdf; - -// Extract pages 1-5 and 7,4,9 into a new file -$pdf = new Pdf('/path/my.pdf'); -$pdf->cat(1, 5) - ->cat([7, 4, 9]); - -// We now use the above PDF as source file for a new PDF -$pdf2 = new Pdf($pdf); -$result = $pdf2->fillForm(['name' => 'ÄÜÖ äüö мирано čárka']) - ->needAppearances() - ->saveAs('/path/filled.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} -``` - -### Options - -You can combine the above operations with one or more of the following options. - -```php -use mikehaertl\pdftk\Pdf; - -$pdf = new Pdf('/path/my.pdf'); - -$result = $pdf->allow('AllFeatures') // Change permissions - ->flatten() // Merge form data into document (doesn't work well with UTF-8!) - ->compress($value) // Compress/Uncompress - ->keepId('first') // Keep first/last Id of combined files - ->dropXfa() // Drop newer XFA form from PDF - ->dropXmp() // Drop newer XMP data from PDF - ->needAppearances() // Make clients create appearance for form fields - ->setPassword($pw) // Set owner password - ->setUserPassword($pw) // Set user password - ->passwordEncryption(128) // Set password encryption strength - ->saveAs('new.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} - -// Example: Fill PDF form and merge form data into PDF -// Fill form with data array -$result = $pdf = new Pdf('/path/form.pdf'); -$pdf->fillForm(['name' => 'My Name']) - ->flatten() - ->saveAs('/path/filled.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} - -// Example: Remove password from a PDF -$pdf = new Pdf; -$result = $pdf->addFile('/path/my.pdf', null, 'some**password') - ->saveAs('/path/new.pdf'); -if ($result === false) { - $error = $pdf->getError(); -} -``` - -### Shell Command - -The class uses [php-shellcommand](https://github.com/mikehaertl/php-shellcommand) to execute -`pdftk`. You can pass `$options` for its `Command` class as second argument to the constructor: - -```php -use mikehaertl\pdftk\Pdf; - -$pdf = new Pdf('/path/my.pdf', [ - 'command' => '/some/other/path/to/pdftk', - // or on most Windows systems: - // 'command' => 'C:\Program Files (x86)\PDFtk\bin\pdftk.exe', - 'useExec' => true, // May help on Windows systems if execution fails -]); -``` - -#### Solve issues with UTF-8 characters in filenames or infofile content - -If you have files with UTF-8 encoded characters in their filename or if you -pass an infofile with such characters to `updateInfo()` you should supply the -correct locale when excuting `pdftk`. You can therefore add these options: - -```php -$pdf = new Pdf($file, [ - 'locale' => 'en_US.utf8', - 'procEnv' => [ - 'LANG' => 'en_US.utf-8', - ], -]); -``` - -> **Note:** You need to ensure that the locale you set here is available on -> your system. On Linux you can check with `locale -a` which locales are -> installed. [This article](https://wiki.archlinux.org/title/locale) explains -> the concept in more detail. - - - -### Temporary File - -Internally a temporary file is created via [php-tmpfile](https://github.com/mikehaertl/php-tmpfile). -You can also access that file directly, e.g. if you neither want to send or save the -file but only need the binary PDF content: - -```php -use mikehaertl\pdftk\Pdf; - -$pdf = new Pdf('/path/my.pdf'); -$result = $pdf->fillForm(['name' => 'My Name']) - ->execute(); -if ($result === false) { - $error = $pdf->getError(); -} -$content = file_get_contents( (string) $pdf->getTmpFile() ); -``` - -If you have permission issues you may have to set a directory where your -`pdftk` command can write to: - -```php -use mikehaertl\pdftk\Pdf; - -$pdf = new Pdf('/path/my.pdf'); -$pdf->tempDir = '/home/john/temp'; -``` - -## API - -Please consult the source files for a full documentation of each method. diff --git a/composer/mikehaertl/php-pdftk/composer.json b/composer/mikehaertl/php-pdftk/composer.json deleted file mode 100644 index 155ba17279..0000000000 --- a/composer/mikehaertl/php-pdftk/composer.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "mikehaertl/php-pdftk", - "description": "A PDF conversion and form utility based on pdftk.", - "keywords": ["pdf", "pdftk"], - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Michael Haertl", - "email": "haertl.mike@gmail.com" - } - ], - "require": { - "php": ">=5.3.0", - "mikehaertl/php-shellcommand": "^1.6.3", - "mikehaertl/php-tmpfile": "^1.1.0" - }, - "require-dev": { - "phpunit/phpunit": ">4.0 <9.4" - }, - "autoload": { - "psr-4": { - "mikehaertl\\pdftk\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "tests\\": "tests" - } - } -} diff --git a/composer/mikehaertl/php-pdftk/src/Command.php b/composer/mikehaertl/php-pdftk/src/Command.php deleted file mode 100644 index 0919e6b886..0000000000 --- a/composer/mikehaertl/php-pdftk/src/Command.php +++ /dev/null @@ -1,249 +0,0 @@ - - * @license http://www.opensource.org/licenses/MIT - */ -class Command extends BaseCommand -{ - /** - * @var string the pdftk binary - */ - protected $_command = 'pdftk'; - - /** - * @var array list of input files to process as array('name' => $filename, - * 'password' => $pw) indexed by handle - */ - protected $_files = array(); - - /** - * @var array list of command options, either strings or array with - * arguments to addArg() - */ - protected $_options = array(); - - /** - * @var string the operation to perform - */ - protected $_operation; - - /** - * @var string|array operation arguments, e.g. a list of page ranges or a - * filename or tmp file instance - */ - protected $_operationArgument = array(); - - /** - * @var bool whether to force escaping of the operation argument e.g. for - * filenames - */ - protected $_escapeOperationArgument = false; - - /** - * @param string $name the PDF file to add for processing - * @param string $handle one or more uppercase letters A..Z to reference - * this file later. - * @param string|null $password the owner (or user) password if any - * @return Command the command instance for method chaining - * @throws \Exception - */ - public function addFile($name, $handle, $password = null) - { - $this->checkExecutionStatus(); - $file = array( - 'name' => $name, - 'password' => $password, - ); - $this->_files[$handle] = $file; - return $this; - } - - /** - * @param string $option the pdftk option to add - * @param string|File|null $argument the argument to add, either string, - * File instance or null if none - * @param null|bool whether to escape the option. Default is null meaning - * use Command default setting. - * @return Command the command instance for method chaining - */ - public function addOption($option, $argument = null, $escape = null) - { - $this->_options[] = $argument === null ? $option : array($option, $argument, $escape); - return $this; - } - - /** - * @param string $operation the operation to perform - * @return Command the command instance for method chaining - */ - public function setOperation($operation) - { - $this->checkExecutionStatus(); - $this->_operation = $operation; - return $this; - } - - /** - * @return string|null the current operation or null if none set - */ - public function getOperation() - { - return $this->_operation; - } - - /** - * @param string $value the operation argument - * @param bool $escape whether to escape the operation argument - * @return Command the command instance for method chaining - */ - public function setOperationArgument($value, $escape = false) - { - $this->checkExecutionStatus(); - $this->_operationArgument = $value; - $this->_escapeOperationArgument = $escape; - return $this; - } - - /** - * @return string|array|null the current operation argument as string or - * array or null if none set - */ - public function getOperationArgument() - { - // Typecast to string in case we have a File instance as argument - return is_array($this->_operationArgument) ? $this->_operationArgument : (string) $this->_operationArgument; - } - - /** - * @return int the number of files added to the command - */ - public function getFileCount() - { - return count($this->_files); - } - - /** - * Add a page range as used by some operations - * - * @param int|string|array $start the start page number or an array of page - * numbers. If an array, the other arguments will be ignored. $start can - * also be bigger than $end for pages in reverse order. - * @param int|string|null $end the end page number or null for single page - * (or list if $start is an array) - * @param string|null $handle the handle of the file to use. Can be null if - * only a single file was added. - * @param string|null $qualifier the page number qualifier, either 'even' - * or 'odd' or null for none - * @param string $rotation the rotation to apply to the pages. - * @return Command the command instance for method chaining - */ - public function addPageRange($start, $end = null, $handle = null, $qualifier = null, $rotation = null) - { - $this->checkExecutionStatus(); - if (is_array($start)) { - if ($handle !== null) { - $start = array_map(function ($p) use ($handle) { - return $handle . $p; - }, $start); - } - $range = implode(' ', $start); - } else { - $range = $handle . $start; - if ($end) { - $range .= '-' . $end; - } - $range .= $qualifier . $rotation; - } - $this->_operationArgument[] = $range; - return $this; - } - - /** - * @param string|null $filename the filename to add as 'output' option or - * null if none - * @return bool whether the command was executed successfully - */ - public function execute($filename = null) - { - $this->checkExecutionStatus(); - $this->processInputFiles(); - $this->processOperation(); - $this->processOptions($filename); - return parent::execute(); - } - - /** - * Process input PDF files and create respective command arguments - */ - protected function processInputFiles() - { - $passwords = array(); - foreach ($this->_files as $handle => $file) { - $this->addArg($handle . '=', $file['name']); - if ($file['password'] !== null) { - $passwords[$handle] = $file['password']; - } - } - if ($passwords !== array()) { - $this->addArg('input_pw'); - foreach ($passwords as $handle => $password) { - $this->addArg($handle . '=', $password); - } - } - } - - /** - * Process options and create respective command arguments - * @param string|null $filename if provided an 'output' option will be - * added - */ - protected function processOptions($filename = null) - { - // output must be first option after operation - if ($filename !== null) { - $this->addArg('output', $filename, true); - } - foreach ($this->_options as $option) { - if (is_array($option)) { - $this->addArg($option[0], $option[1], $option[2]); - } else { - $this->addArg($option); - } - } - } - - /** - * Process opearation and create respective command arguments - */ - protected function processOperation() - { - if ($this->_operation !== null) { - $value = $this->_operationArgument ? $this->_operationArgument : null; - if ($value instanceof TmpFile) { - $value = (string) $value; - } - $this->addArg($this->_operation, $value, $this->_escapeOperationArgument); - } - } - - /** - * Ensure that the command was not exectued yet. Throws exception - * otherwise. - * @throws \Exception - */ - protected function checkExecutionStatus() - { - if ($this->getExecuted()) { - throw new \Exception('Operation was already executed'); - } - } -} diff --git a/composer/mikehaertl/php-pdftk/src/DataFields.php b/composer/mikehaertl/php-pdftk/src/DataFields.php deleted file mode 100644 index a5b40f74e0..0000000000 --- a/composer/mikehaertl/php-pdftk/src/DataFields.php +++ /dev/null @@ -1,166 +0,0 @@ - - * @author Michael Härtl - * @license http://www.opensource.org/licenses/MIT - */ -class DataFields extends ArrayObject -{ - private $_string; - private $_array; - - /** - * DataFields constructor. - * - * @param string $input - * @param int $flags - * @param string $iterator_class - */ - public function __construct($input = null, $flags = 0, $iterator_class = "ArrayIterator") - { - $this->_string = $input ?: ''; - $this->_array = self::parse($this->_string); - - return parent::__construct($this->_array, $flags, $iterator_class); - } - - /** - * @return string - */ - public function __toString() - { - return $this->_string; - } - - /** - * @return array - */ - public function __toArray() - { - return $this->_array; - } - - /** - * Parse the output of dump_data_fields into an array. - * - * The string to parse can either be a single block of `Xyz:value` lines - * or a set of such blocks, separated by and starting with `---`. - * - * - * Here's an example: - * - * ``` - * --- - * FieldType: Text - * FieldName: Text1 - * FieldFlags: 0 - * FieldValue: University of Missouri : Ray-Holland - * extended line value - * FieldValueDefault: University of Missouri : Ray-Holland - * extended line2 value - * FieldJustification: Left - * FieldMaxLength: 99 - * --- - * FieldType: Text - * FieldName: Text2 - * ... - * ... - * ``` - * - * @param $input the string to parse - * @return array the parsed result - */ - public static function parse($input) - { - if (strncmp('---', $input, 3) === 0) { - // Split blocks only if '---' is followed by 'FieldType' - $blocks = preg_split( - '/^---(\r\n|\n|\r)(?=FieldType:)/m', - substr($input, 3) - ); - return array_map('\mikehaertl\pdftk\DataFields::parseBlock', $blocks); - } else { - return self::parseBlock($input); - } - } - - /** - * Parses a block of this form: - * - * ``` - * Name1: Value1 - * Name2: Value2 - * Name3: Value3 - * ... - * ``` - * - * @param string $block the block to parse - * @return array the parsed block values indexed by respective names - */ - public static function parseBlock($block) - { - $data = array(); - $lines = preg_split("/(\r\n|\n|\r)/", trim($block)); - $continueKey = null; - foreach ($lines as $n => $line) { - if ($continueKey !== null) { - $data[$continueKey] .= "\n" . $line; - if (!self::lineContinues($lines, $n, $continueKey)) { - $continueKey = null; - } - } elseif (preg_match('/([^:]*): ?(.*)/', $line, $match)) { - $key = $match[1]; - $value = $match[2]; - // Convert multiple keys like 'FieldStateOption' or 'FieldValue' - // from Choice fields to array - if (isset($data[$key])) { - $data[$key] = (array) $data[$key]; - $data[$key][] = $value; - } else { - $data[$key] = $value; - } - if (self::lineContinues($lines, $n, $key)) { - $continueKey = $key; - } - } - } - return $data; - } - - /** - * Checks whether the value for the given line number continues on the next - * line, i.e. is a multiline string. - * - * This can be the case for 'FieldValue' and 'FieldValueDefault' keys. To - * find the end of the string we don't simply test for /^Field/, as this - * would also match multiline strings where a line starts with 'Field'. - * - * Instead we assume that the string is always followed by one of these - * keys: - * - * - 'FieldValue:' - * - 'FieldValueDefault:' - * - 'FieldJustification:' - * - * @param array $lines all lines of the block - * @param int $n the 0-based index of the current line - * @param string the key for the value. Only 'FieldValue' and - * 'FieldValueDefault' can span multiple lines - * @return bool whether the value continues in line n + 1 - */ - protected static function lineContinues($lines, $n, $key) - { - return - in_array($key, array('FieldValue', 'FieldValueDefault')) && - array_key_exists($n + 1, $lines) && - !preg_match('/^Field(Value|ValueDefault|Justification):/', $lines[$n + 1]); - } -} diff --git a/composer/mikehaertl/php-pdftk/src/FdfFile.php b/composer/mikehaertl/php-pdftk/src/FdfFile.php deleted file mode 100644 index 269ec0a8e1..0000000000 --- a/composer/mikehaertl/php-pdftk/src/FdfFile.php +++ /dev/null @@ -1,84 +0,0 @@ - - * @license http://www.opensource.org/licenses/MIT - */ -class FdfFile extends File -{ - // FDF file header - const FDF_HEADER = <<> >> -endobj -trailer -<> -%%EOF -FDF; - - /** - * Constructor - * - * @param array $data the form data as name => value - * @param string|null $suffix the optional suffix for the tmp file - * @param string|null $suffix the optional prefix for the tmp file. If null - * 'php_tmpfile_' is used. - * @param string|null $directory directory where the file should be - * created. Autodetected if not provided. - * @param string|null $encoding of the data. Default is 'UTF-8'. - */ - public function __construct($data, $suffix = null, $prefix = null, $directory = null, $encoding = 'UTF-8') - { - if ($directory === null) { - $directory = self::getTempDir(); - } - $suffix = '.fdf'; - $prefix = 'php_pdftk_fdf_'; - - $this->_fileName = tempnam($directory, $prefix); - $newName = $this->_fileName . $suffix; - rename($this->_fileName, $newName); - $this->_fileName = $newName; - - if (!function_exists('mb_convert_encoding')) { - throw new \Exception('MB extension required.'); - } - - $fields = ''; - foreach ($data as $key => $value) { - // Create UTF-16BE string encode as ASCII hex - // See http://blog.tremily.us/posts/PDF_forms/ - $utf16Value = mb_convert_encoding($value, 'UTF-16BE', $encoding); - - /* Also create UTF-16BE encoded key, this allows field names containing - * german umlauts and most likely many other "special" characters. - * See issue #17 (https://github.com/mikehaertl/php-pdftk/issues/17) - */ - $utf16Key = mb_convert_encoding($key, 'UTF-16BE', $encoding); - - // Escape parenthesis - $utf16Value = strtr($utf16Value, array('(' => '\\(', ')' => '\\)')); - $fields .= "<>\n"; - } - - // Use fwrite, since file_put_contents() messes around with character encoding - $fp = fopen($this->_fileName, 'w'); - fwrite($fp, self::FDF_HEADER); - fwrite($fp, $fields); - fwrite($fp, self::FDF_FOOTER); - fclose($fp); - } -} diff --git a/composer/mikehaertl/php-pdftk/src/InfoFields.php b/composer/mikehaertl/php-pdftk/src/InfoFields.php deleted file mode 100644 index 09f46556ee..0000000000 --- a/composer/mikehaertl/php-pdftk/src/InfoFields.php +++ /dev/null @@ -1,139 +0,0 @@ - - * @license http://www.opensource.org/licenses/MIT - */ -class InfoFields extends ArrayObject -{ - private $_string; - - private $_array; - - /** - * InfoFields constructor. - * - * @param string $input - * @param int $flags - * @param string $iterator_class - */ - public function __construct($input = null, $flags = 0, $iterator_class = "ArrayIterator") - { - $this->_string = $input ?: ''; - $this->_array = $this->parseData($this->_string); - - return parent::__construct($this->_array, $flags, $iterator_class); - } - - /** - * @return string - */ - public function __toString() - { - return $this->_string; - } - - /** - * @return array - */ - public function __toArray() - { - return $this->_array; - } - - /** - * Parse the output of dump_data into something usable. - * - * The expected string looks similar to this: - * - * InfoBegin - * InfoKey: Creator - * InfoValue: Adobe Acrobat Pro DC 15.0 - * InfoBegin - * InfoKey: Producer - * InfoValue: XYZ - * PdfID0: 1fdce9ed1153ab4c973334b512a67997 - * PdfID1: c7acc878cda02ad7bb401fa8080a8929 - * NumberOfPages: 11 - * BookmarkBegin - * BookmarkTitle: First bookmark - * BookmarkLevel: 1 - * BookmarkPageNumber: 1 - * BookmarkBegin - * BookmarkTitle: Second bookmark - * BookmarkLevel: 1 - * BookmarkPageNumber: 2 - * - * @param $dataString - * @return array - */ - private function parseData($dataString) - { - $output = array(); - foreach (explode(PHP_EOL, $dataString) as $line) { - $trimmedLine = trim($line); - // Parse blocks of the form: - // AbcBegin - // AbcData1: Value1 - // AbcData2: Value2 - // AbcBegin - // AbcData1: Value3 - // AbcData2: Value4 - // ... - if (preg_match('/^(\w+)Begin$/', $trimmedLine, $matches)) { - // Previous group ended - if any - so add it to output - if (!empty($group) && !empty($groupData)) { - $output[$group][] = $groupData; - } - // Now start next group - $group = $matches[1]; // Info, PageMedia, ... - if (!isset($output[$group])) { - $output[$group] = array(); - } - $groupData = array(); - continue; - } - if (!empty($group)) { - // Check for AbcData1: Value1 - if (preg_match("/^$group(\w+): ?(.*)$/", $trimmedLine, $matches)) { - $groupData[$matches[1]] = $matches[2]; - continue; - } else { - // Something else, so group ended - if (!empty($groupData)) { - $output[$group][] = $groupData; - $groupData = array(); - } - $group = null; - } - } - if (preg_match('/([^:]*): ?(.*)/', $trimmedLine, $matches)) { - $output[$matches[1]] = $matches[2]; - } - } - // There could be a final group left if it was not followed by another - // line in the loop - if (!empty($group) && !empty($groupData)) { - $output[$group][] = $groupData; - } - - // Info group is a list of ['Key' => 'x', 'Value' => 'y'], so - // convert it to ['x' => 'y', ...] - if (isset($output['Info'])) { - $data = array(); - foreach ($output['Info'] as $infoGroup) { - if (isset($infoGroup['Key'], $infoGroup['Value'])) { - $data[$infoGroup['Key']] = $infoGroup['Value']; - } - } - $output['Info'] = $data; - } - return $output; - } -} diff --git a/composer/mikehaertl/php-pdftk/src/InfoFile.php b/composer/mikehaertl/php-pdftk/src/InfoFile.php deleted file mode 100644 index 0325dfa817..0000000000 --- a/composer/mikehaertl/php-pdftk/src/InfoFile.php +++ /dev/null @@ -1,190 +0,0 @@ - - * @license http://www.opensource.org/licenses/MIT - */ -class InfoFile extends File -{ - /** - * @var string[] list of valid keys for the document information directory of - * the PDF. These will be converted into `InfoBegin... InfoKey... InvoValue` - * blocks on the output. - * - * See section 14.3.3 in https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf - */ - public static $documentInfoFields = array( - 'Title', - 'Author', - 'Subject', - 'Keywords', - 'Creator', - 'Producer', - 'CreationDate', - 'ModDate', - 'Trapped', - ); - - /** - * Constructor - * - * @param array|InfoFields $data the data in this format: - * ``` - * [ - * 'Info' => [ - * 'Title' => '...', - * 'Author' => '...', - * 'Subject' => '...', - * 'Keywords' => '...', - * 'Creator' => '...', - * 'Producer' => '...', - * 'CreationDate' => '...', - * 'ModDate' => '...', - * 'Trapped' => '...', - * ], - * 'Bookmark' => [ - * [ - * 'Title' => '...', - * 'Level' => ..., - * 'PageNumber' => ..., - * ], - * ], - * 'PageMedia' => [ ... ], - * 'PageLabel' => [ ... ], - * // ... - * ] - * ``` - * This is the same format as the InfoFields object that is returned - * by `getData()` if you cast it to an array. You can also pass such an - * (optionally modified) object as input. Some fields like 'NumberOfPages' - * or 'PdfID0' are ignored as those are not part of the PDF's metadata. - * All array elements are optional. - * @param string|null $suffix the optional suffix for the tmp file - * @param string|null $suffix the optional prefix for the tmp file. If null - * 'php_tmpfile_' is used. - * @param string|null $directory directory where the file should be - * created. Autodetected if not provided. - * @param string|null $encoding of the data. Default is 'UTF-8'. If the - * data has another encoding it will be converted to UTF-8. This requires - * the mbstring extension to be installed. - * @throws Exception on invalid data format or if mbstring extension is - * missing and data must be converted - */ - public function __construct($data, $suffix = null, $prefix = null, $directory = null, $encoding = 'UTF-8') - { - if ($suffix === null) { - $suffix = '.txt'; - } - if ($prefix === null) { - $prefix = 'php_pdftk_info_'; - } - if ($directory === null) { - $directory = self::getTempDir(); - } - - $tempName = tempnam($directory, $prefix); - $newName = $tempName . $suffix; - rename($tempName, $newName); - $this->_fileName = $newName; - - if ($encoding !== 'UTF-8' && !function_exists('mb_convert_encoding')) { - throw new Exception('mbstring extension required.'); - } - - $fields = ''; - $normalizedData = self::normalize($data); - - foreach ($normalizedData as $block => $items) { - $fields .= self::renderBlock($block, $items, $encoding); - } - - // Use fwrite, since file_put_contents() messes around with character encoding - $fp = fopen($this->_fileName, 'w'); - fwrite($fp, $fields); - fclose($fp); - } - - /** - * Normalize the input data - * - * This also converts data from the legacy format (<0.13.0) to the new - * input format described in the constructor. - * - * @param array $data the data to normalize - * @return array a normalized array in the format described in the constructor - */ - private static function normalize($data) - { - $normalized = array(); - foreach ($data as $key => $value) { - if (in_array($key, self::$documentInfoFields)) { - $normalized['Info'][$key] = $value; - } elseif (is_array($value)) { - if (!isset($normalized[$key])) { - $normalized[$key] = array(); - } - $normalized[$key] = array_merge($normalized[$key], $value); - } - } - return $normalized; - } - - /** - * Render a set of block fields - * - * @param string $block like 'Info', 'Bookmark', etc. - * @param array $items the field items to render - * @param string $encoding the encoding of the item data - * @return string the rendered fields - */ - private static function renderBlock($block, $items, $encoding) - { - $fields = ''; - foreach ($items as $key => $value) { - if ($block === 'Info') { - $fields .= self::renderField($block, $key, $value, $encoding, true); - } else { - $fields .= "{$block}Begin\n"; - foreach ($value as $subKey => $subValue) { - $fields .= self::renderField($block, $subKey, $subValue, $encoding, false); - } - } - } - return $fields; - } - - /** - * Render a field in a given input block - * - * @param string $prefix the prefix to use for the field - * @param string $key the field key - * @param string $value the field value - * @param string $encoding the endoding of key and value - * @param bool $isInfo whether it's an 'Info' field - * @return string the rendered field - */ - private static function renderField($prefix, $key, $value, $encoding, $isInfo) - { - if ($encoding !== 'UTF-8') { - $value = mb_convert_encoding($value, 'UTF-8', $encoding); - $key = mb_convert_encoding($key, 'UTF-8', $encoding); - $value = defined('ENT_XML1') ? htmlspecialchars($key, ENT_XML1, 'UTF-8') : htmlspecialchars($key); - $key = defined('ENT_XML1') ? htmlspecialchars($value, ENT_XML1, 'UTF-8') : htmlspecialchars($value); - } - if ($isInfo) { - return "InfoBegin\nInfoKey: $key\nInfoValue: $value\n"; - } else { - return "{$prefix}{$key}: $value\n"; - } - - } -} diff --git a/composer/mikehaertl/php-pdftk/src/Pdf.php b/composer/mikehaertl/php-pdftk/src/Pdf.php deleted file mode 100644 index f50ed8a6b7..0000000000 --- a/composer/mikehaertl/php-pdftk/src/Pdf.php +++ /dev/null @@ -1,749 +0,0 @@ - - * @license http://www.opensource.org/licenses/MIT - */ -class Pdf -{ - // The prefix for temporary files - const TMP_PREFIX = 'tmp_php_pdftk_'; - - /** - * @var bool whether to ignore any errors if some non-empty output file was - * still created. Default is false. - */ - public $ignoreWarnings = false; - - /** - * @var null|string an optional directory where temporary files should be - * created. If left empty the directory is autodetected. - */ - public $tempDir; - - /** - * @var File the temporary output file - */ - protected $_tmpFile; - - /** - * @var string the content type of the tmp output - */ - protected $_tmpOutputContentType = 'application/pdf'; - - /** - * @var Command the command instance that executes pdftk - */ - protected $_command; - - /** - * @var int a counter for autogenerated handles - */ - protected $_handle = 0; - - /** - * @var string the error message - */ - protected $_error = ''; - - /** - * @var string|null the output filename. If null (default) a tmp file is - * used as output. If false, no output option is added at all. - */ - protected $_output; - - /** - * @var string the PDF data as returned from getData() - */ - protected $_data; - protected $_data_utf8; - - /** - * @var DataFields the PDF form field data as returned from getDataFields() - */ - protected $_dataFields; - protected $_dataFields_utf8; - - /** - * @var Pdf[]|null if the input was an instance, we keep a reference here, - * so that it won't get unlinked before this object gets destroyed - */ - protected $_pdfs; - - /** - * @param string|Pdf|array $pdf a pdf filename or Pdf instance or an array - * of filenames/instances indexed by a handle. The array values can also - * be arrays of the form array($filename, $password) if some files are - * password protected. - * @param array $options Options to pass to set on the Command instance, - * e.g. the pdftk binary path - */ - public function __construct($pdf = null, $options = array()) - { - $command = $this->getCommand(); - if ($options !== array()) { - $command->setOptions($options); - } - if (is_string($pdf) || $pdf instanceof Pdf) { - $this->addFile($pdf); - } elseif (is_array($pdf)) { - foreach ($pdf as $handle => $file) { - if (is_array($file)) { - $this->addFile($file[0], $handle, $file[1]); - } else { - $this->addFile($file, $handle); - } - } - } - } - - /** - * @param string|Pdf $name the PDF filename or Pdf instance to add for - * processing - * @param string|null $handle one or more uppercase letters A..Z to - * reference this file later. If no handle is provided, an internal handle - * is autocreated, consuming the range Z..A - * @param string|null $password the owner (or user) password if any - * @return Pdf the pdf instance for method chaining - */ - public function addFile($name, $handle = null, $password = null) - { - if ($handle === null || is_numeric($handle)) { - $handle = $this->nextHandle(); - } - if ($name instanceof Pdf) { - // Keep a reference to the object to prevent unlinking - $this->_pdfs[] = $name; - if (!$name->getCommand()->getExecuted()) { - // @todo: Catch errors! - $name->execute(); - } - $name = (string) $name->getTmpFile(); - } - $this->getCommand()->addFile($name, $handle, $password); - return $this; - } - - /** - * Assemble (catenate) pages from the input files. - * - * Values for rotation are (in degrees): north: 0, east: 90, south: 180, - * west: 270, left: -90, right: +90, down: +180. left, right and down make - * relative adjustments to a page's rotation. Note: Older pdftk versions - * use N, E, S, W, L, R, and D instead. - * - * Example: - * - * $pdf = new Pdf; - * $pdf->addFile('file1.pdf', 'A') - * ->addFile('file2.pdf', 'B') - * ->cat(array(1,3),'B')) // pages 1 and 3 of file B - * ->cat(1, 5, 'A', 'odd') // pages 1, 3, 5 of file A - * ->cat('end', 5, 'B') // pages 5 to end of file B in reverse order - * ->cat(null, null, 'B', 'east') // All pages from file B rotated by 90 degree - * ->saveAs('out.pdf'); - * or - * $files = ['file1.pdf', 'file2.pdf', 'file3.pdf']; - * $pdf = new Pdf($files); - * $pdf->cat() // all files, all pages - * ->saveAs('out.pdf'); - * - * @param int|string|array|null $start the start page number or an array of page - * numbers. If an array, the other arguments will be ignored. $start can - * also be bigger than $end for pages in reverse order. If $start is null all - * pages of all files will be added. - * @param int|string|null $end the end page number or null for single page - * (or list if $start is an array) - * @param string|null $handle the handle of the file to use. Can be null if - * only a single file was added. - * @param string|null $qualifier the page number qualifier, either 'even' - * or 'odd' or null for none - * @param string $rotation the rotation to apply to the pages. - * @return Pdf the pdf instance for method chaining - */ - public function cat($start = null, $end = null, $handle = null, $qualifier = null, $rotation = null) - { - $this->getCommand() - ->setOperation('cat') - ->addPageRange($start, $end, $handle, $qualifier, $rotation); - return $this; - } - - /** - * Shuffle pages from the input files. - * - * This works the same as cat(), but each call to this method creates a - * "stream" of pages. The outfile will be assembled by adding one page from - * each stream at a time. - * - * Example: - * - * $pdf = new Pdf; - * $pdf1 = $pdf->addFile('file1.pdf'); - * $pdf->shuffle($pdf1, array(1,3,2)) - * ->shuffle($pdf1, array(4,5,9) - * ->saveAs('out.pdf'); - * - * This will give the page order 1, 4, 3, 5, 2, 9 in the out.pdf - * - * @param string $handle the handle of the input file to use - * @param int|array $start the start page number or an array of page - * numbers. - * @param int|null $end the end page number or null for single page (or - * list if $start is an array) - * @param string|null $qualifier the page number qualifier, either 'even' - * or 'odd' or null for none - * @param string $rotation the rotation to apply to the pages. See cat() - * for more details. - * @return Pdf the pdf instance for method chaining - */ - public function shuffle($start, $end = null, $handle = null, $qualifier = null, $rotation = null) - { - $this->getCommand() - ->setOperation('shuffle') - ->addPageRange($start, $end, $handle, $qualifier, $rotation); - return $this; - } - - /** - * Split the PDF document into pages - * - * @param string|null $filepattern the output name in sprintf format or - * null for default 'pg_%04d.pdf' - * @return bool whether the burst operation was successful - */ - public function burst($filepattern = null) - { - $this->constrainSingleFile(); - $this->getCommand()->setOperation('burst'); - $this->_output = $filepattern === null ? 'pg_%04d.pdf' : $filepattern; - return $this->execute(); - } - - /** - * Attach files to the PDF - * - * @param array $files the list of full paths to the files to attach - * @param string $toPage the page to add the attachment to. If omitted the - * files are attached at the document level. - * @return bool whether the operation was successful - */ - public function attachFiles($files, $toPage = null) - { - $this->constrainSingleFile(); - if ($toPage !== null) { - $files[] = 'to_page'; - $files[] = $toPage; - } - $this->getCommand() - ->setOperation('attach_files') - ->setOperationArgument($files, true); - return $this; - } - - /** - * Copy all attachments from the PDF to the given directory - * - * @param string|null $dir the output directory - * @return bool whether the operation was successful - */ - public function unpackFiles($dir = null) - { - $this->constrainSingleFile(); - $this->getCommand()->setOperation('unpack_files'); - $this->_output = $dir; - return $this->execute(); - } - - /** - * Generate the FDF file for a single PDF file. - * - * @param string $name name of the FDF file - * @return bool whether the pdf is generated successful - */ - public function generateFdfFile($name) - { - $this->constrainSingleFile(); - $this->getCommand()->setOperation('generate_fdf'); - $this->_output = $name; - return $this->execute(); - } - - /** - * Fill a PDF form - * - * @param string|array $data either a XFDF/FDF filename or an array with - * form field data (name => value) - * @param string $encoding the encoding of the data. Default is 'UTF-8'. - * @param bool $dropXfa whether to drop XFA forms (see dropXfa()). Default - * is true. - * @param string $format the file format to use for form filling when - * passing an array in `$data`. This can be `xfdf` or `fdf`. `xfdf` should - * give best results so you should not have to change the default. - * @return Pdf the pdf instance for method chaining - */ - public function fillForm($data, $encoding = 'UTF-8', $dropXfa = true, $format = 'xfdf') - { - $this->constrainSingleFile(); - if (is_array($data)) { - $className = '\mikehaertl\pdftk\\' . ($format === 'xfdf' ? 'XfdfFile' : 'FdfFile'); - $data = new $className($data, null, null, $this->tempDir, $encoding); - } - $this->getCommand() - ->setOperation('fill_form') - ->setOperationArgument($data, true); - - if ($dropXfa) { - $this->dropXfa(); - } - return $this; - } - - /** - * Update meta data of PDF - * - * @param string|array $data either a InfoFile filename or an array with - * form field data (name => value) - * @param string the encoding of the data. Default is 'UTF-8'. - * @return Pdf the pdf instance for method chaining - */ - public function updateInfo($data, $encoding = 'UTF-8') - { - $this->constrainSingleFile(); - if (is_array($data) || $data instanceof InfoFields) { - $data = new InfoFile($data, null, null, $this->tempDir, $encoding); - } - $this->getCommand() - ->setOperation($encoding == 'UTF-8' ? 'update_info_utf8' : 'update_info') - ->setOperationArgument($data, true); - - return $this; - } - - /** - * Apply a PDF as watermark to the background of a single PDF file. - * - * The PDF file must have a transparent background for the watermark to be - * visible. - * - * @param string $file name of the background PDF file. Only the first page - * is used. - * @return Pdf the pdf instance for method chaining - */ - public function background($file) - { - $this->constrainSingleFile(); - $this->getCommand() - ->setOperation('background') - ->setOperationArgument($file, true); - return $this; - } - - /** - * Apply multiple PDF pages as watermark to the corresponding pages of a - * single PDF file. - * - * If $file has fewer pages than the PDF file then the last page is - * repeated as background. - * - * @param string $file name of the background PDF file. - * @return Pdf the pdf instance for method chaining - */ - public function multiBackground($file) - { - $this->getCommand() - ->setOperation('multibackground') - ->setOperationArgument($file, true); - return $this; - } - - /** - * Add $file as overlay to a single PDF file. - * - * The $file should have a transparent background. - * - * @param string $file name of the PDF file to add as overlay. Only the - * first page is used. - * @return Pdf the pdf instance for method chaining - */ - public function stamp($file) - { - $this->constrainSingleFile(); - $this->getCommand() - ->setOperation('stamp') - ->setOperationArgument($file, true); - return $this; - } - - /** - * Add multiple pages from $file as overlay to the corresponding pages of a - * single PDF file. - * - * If $file has fewer pages than the PDF file then the last page is - * repeated as overlay. - * - * @param string $file name of the PDF file to add as overlay - * @return Pdf the pdf instance for method chaining - */ - public function multiStamp($file) - { - $this->getCommand() - ->setOperation('multistamp') - ->setOperationArgument($file, true); - return $this; - } - - /** - * @param bool $utf8 whether to dump the data UTF-8 encoded. Default is - * true. - * @return InfoFields|bool meta data about the PDF or false on failure - */ - public function getData($utf8 = true) - { - $property = $utf8 ? '_data_utf8' : '_data'; - if ($this->$property === null) { - $command = $this->getCommand(); - $command->setOperation($utf8 ? 'dump_data_utf8' : 'dump_data'); - if (!$command->execute()) { - $this->_error = $command->getError(); - return false; - } else { - $this->$property = new InfoFields(trim($command->getOutput())); - } - } - return $this->$property; - } - - /** - * @param bool $utf8 whether to dump the data UTF-8 encoded. Default is - * true. - * @return DataFields|bool data about the PDF form fields or false on - * failure - */ - public function getDataFields($utf8 = true) - { - $property = $utf8 ? '_dataFields_utf8' : '_dataFields'; - if ($this->$property === null) { - $command = $this->getCommand(); - $command->setOperation($utf8 ? 'dump_data_fields_utf8' : 'dump_data_fields'); - if (!$command->execute()) { - $this->_error = $command->getError(); - return false; - } else { - $this->$property = new DataFields(trim($command->getOutput())); - } - } - return $this->$property; - } - - /** - * Set PDF permissions - * - * - * @param string|null $permissions list of space separated permissions or - * null for none. The available permissions are Printing, DegradedPrinting, - * ModifyContents, Assembly, CopyContents, ScreenReaders, - * ModifyAnnotations, FillIn, AllFeatures. - * @return Pdf the pdf instance for method chaining - */ - public function allow($permissions = null) - { - $this->getCommand() - ->addOption('allow', $permissions, false); - return $this; - } - - /** - * Flatten the PDF form fields values into a single PDF file. - * - * @return Pdf the pdf instance for method chaining - */ - public function flatten() - { - $this->getCommand() - ->addOption('flatten'); - return $this; - } - - /** - * Restore/remove compression - * - * @param bool $compress whether to restore (default) or remove the - * compression - * @return Pdf the pdf instance for method chaining - */ - public function compress($compress = true) - { - $this->getCommand() - ->addOption($compress ? 'compress' : 'uncompress'); - return $this; - } - - /** - * When combining multiple PDFs, use either the first or last ID in the - * output. If not called, a new ID is created. - * - * @param string $id, either 'first' (default) or 'last' - * @return Pdf the pdf instance for method chaining - */ - public function keepId($id = 'first') - { - $this->getCommand() - ->addOption($id === 'first' ? 'keep_first_id' : 'keep_final_id'); - return $this; - } - - /** - * Set need_appearances flag in PDF - * - * This flag makes sure, that a PDF reader takes care of rendering form - * field content, even if it contains non ASCII characters. You should - * always use this option if you fill in forms e.g. with Unicode - * characters. You can't combine this option with flatten() though! - * - * @return Pdf the pdf instance for method chaining - */ - public function needAppearances() - { - $this->getCommand() - ->addOption('need_appearances'); - return $this; - } - - /** - * Drop XFA data from forms created with newer Acrobat. - * - * Newer PDF forms contain both, the newer XFA and the older AcroForm form - * fields. PDF readers can use both, but will prefer XFA if present. Since - * pdftk can only fill in AcroForm data you should always add this option - * when filling in forms with pdftk. - * - * @return Pdf the pdf instance for method chaining - */ - public function dropXfa() - { - $this->getCommand() - ->addOption('drop_xfa'); - return $this; - } - - /** - * Drop XMP meta data - * - * Newer PDFs can contain both, new style XMP data and old style info - * directory. PDF readers can use both, but will prefer XMP if present. - * Since pdftk can only update the info directory you should always add - * this option when updating PDF info. - * - * @return Pdf the pdf instance for method chaining - */ - public function dropXmp() - { - $this->getCommand() - ->addOption('drop_xmp'); - return $this; - } - - /** - * @param string $password the owner password to set on the output PDF - * @return Pdf the pdf instance for method chaining - */ - public function setPassword($password) - { - $this->getCommand() - ->addOption('owner_pw', $password, true); - return $this; - } - - /** - * @param string $password the user password to set on the output PDF - * @return Pdf the pdf instance for method chaining - */ - public function setUserPassword($password) - { - $this->getCommand() - ->addOption('user_pw', $password, true); - return $this; - } - - /** - * @param int $strength the password encryption strength. Default is 128 - * @return Pdf the pdf instance for method chaining - */ - public function passwordEncryption($strength = 128) - { - $this->getCommand() - ->addOption($strength == 128 ? 'encrypt_128bit' : 'encrypt_40bit'); - return $this; - } - - /** - * Replace embedded font with a local font when filling a form. - * - * This option is only available for pdftk-java >= 3.3.0. It is useful when - * filling a form with non-ASCII text that is not supported by the fonts - * included in the input PDF. - * - * @param string $fontName the path to the font or the name of a font family. - * @return Pdf the pdf instance for method chaining - */ - public function replacementFont($path) - { - $this->getCommand() - ->addOption('replacement_font', $path); - return $this; - } - - /** - * Execute the operation and save the output file - * - * @param string $name of output file - * @return bool whether the PDF could be processed and saved - */ - public function saveAs($name) - { - if (!$this->getCommand()->getExecuted() && !$this->execute()) { - return false; - } - $tmpFile = (string) $this->getTmpFile(); - if (!copy($tmpFile, $name)) { - $this->_error = "Could not copy PDF from tmp location '$tmpFile' to '$name'"; - return false; - } - return true; - } - - /** - * Send PDF to client, either inline or as download (triggers PDF creation) - * - * @param string|null $filename the filename to send. If empty, the PDF is - * streamed inline. - * @param bool $inline whether to force inline display of the PDF, even if - * filename is present. - * @param array $headers a list of additional HTTP headers to send in the - * response as an array. The array keys are the header names like - * 'Cache-Control' and the array values the header value strings to send. - * Each array value can also be another array of strings if the same header - * should be sent multiple times. This can also be used to override - * automatically created headers like 'Expires' or 'Content-Length'. To suppress - * automatically created headers, `false` can also be used as header value. - * @return bool whether PDF was created successfully - */ - public function send($filename = null, $inline = false, $headers = array()) - { - if (!$this->getCommand()->getExecuted() && !$this->execute()) { - return false; - } - $this->getTmpFile()->send($filename, $this->_tmpOutputContentType, $inline, $headers); - return true; - } - - /** - * Get the raw PDF contents (triggers PDF creation). - * - * @return string|bool the PDF content as a string or `false` if the PDF - * wasn't created successfully. - */ - public function toString() - { - if (!$this->getCommand()->getExecuted() && !$this->execute()) { - return false; - } - return file_get_contents($this->getTmpFile()->getFileName()); - } - - /** - * @return Command the command instance that executes pdftk - */ - public function getCommand() - { - if ($this->_command === null) { - $this->_command = new Command; - } - return $this->_command; - } - - /** - * @return File the temporary output file instance - */ - public function getTmpFile() - { - if ($this->_tmpFile === null) { - $this->_tmpFile = new File('', '.pdf', self::TMP_PREFIX, $this->tempDir); - } - return $this->_tmpFile; - } - - /** - * @return string the error message or an empty string if none - */ - public function getError() - { - return $this->_error; - } - - /** - * Execute the pdftk command and store the output file to a temporary - * location or $this->_output if set. You should probably never call this - * method unless you only need a temporary PDF file as result. - * - * @return bool whether the command was executed successfully - */ - public function execute() - { - $command = $this->getCommand(); - if ($command->getExecuted()) { - return false; - } - - if ($this->_output === false) { - $filename = null; - } else { - $filename = $this->_output ? $this->_output : (string) $this->getTmpFile(); - } - if (!$command->execute($filename)) { - $this->_error = $command->getError(); - if ($filename && !(file_exists($filename) && filesize($filename) !== 0 && $this->ignoreWarnings)) { - return false; - } - } - return true; - } - - /** - * Make sure, that only one file is present - */ - protected function constrainSingleFile() - { - if ($this->getCommand()->getFileCount() > 1) { - throw new \Exception('This operation can only process single files'); - } - } - - /** - * @return string the next handle in the series A, B, C, ... Z, AA, AB... - */ - protected function nextHandle() - { - // N.B. Multi-character handles are only available in pdftk 1.45+ - - $i = $this->_handle++; - $char = 'A'; - while ($i-- > 0) { - $char++; - } - - return $char; - } -} diff --git a/composer/mikehaertl/php-pdftk/src/XfdfFile.php b/composer/mikehaertl/php-pdftk/src/XfdfFile.php deleted file mode 100644 index c1be2d947b..0000000000 --- a/composer/mikehaertl/php-pdftk/src/XfdfFile.php +++ /dev/null @@ -1,233 +0,0 @@ - field value - * 'Firstname' => 'John', - * - * // Hierarchical/nested fields in dot notation - * 'Address.Street' => 'Some Street', - * 'Address.City' => 'Any City', - * - * // Multi value fields - * 'Pets' => ['Cat', 'Mouse'], - * ] - * ``` - * - * This will result in the following XML structure (header/footer omitted): - * - * ``` - * - * John - * - * - * - * Some Street - * - * - * Any City - * - * - * - * Cat - * Mouse - * - * ``` - * - * @author Tomas Holy - * @author Michael Härtl - * @license http://www.opensource.org/licenses/MIT - */ -class XfdfFile extends File -{ - // XFDF file header - const XFDF_HEADER = << - - - -FDF; - - // XFDF file footer - const XFDF_FOOTER = << - - -FDF; - - /** - * Constructor - * - * - * @param array $data the form data as name => value - * @param string|null $suffix the optional suffix for the tmp file - * @param string|null $prefix the optional prefix for the tmp file. If null - * 'php_tmpfile_' is used. - * @param string|null $directory directory where the file should be - * created. Autodetected if not provided. - * @param string|null $encoding of the data. Default is 'UTF-8'. - */ - public function __construct($data, $suffix = null, $prefix = null, $directory = null, $encoding = 'UTF-8') - { - if ($directory === null) { - $directory = self::getTempDir(); - } - if ($suffix === null) { - $suffix = '.xfdf'; - } - if ($prefix === null) { - $prefix = 'php_pdftk_xfdf_'; - } - - $tempfile = tempnam($directory, $prefix); - $this->_fileName = $tempfile . $suffix; - rename($tempfile, $this->_fileName); - - $fields = $this->parseData($data, $encoding); - $this->writeXml($fields); - } - - /** - * Parses an array of key/value data into a nested array structure. - * - * The data may use keys in dot notation (#55). Values can also be arrays in - * case of multi value fields (#148). To make both distinguishable in the - * result array keys that represent field names are prefixed with `_`. This - * also allows for numeric field names (#260). - * - * For example an array like this: - * - * ``` - * [ - * 'a' => 'value a', - * 'b.x' => 'value b.x', - * 'b.y' => 'value b.y', - * - * 'c.0' => 'val c.0', - * 'c.1' => 'val c.1', - * - * 'd' => ['m1', 'm2'], - * ] - * ``` - * - * Will become: - * - * ``` - * [ - * '_a' => 'value a', - * '_b' => [ - * '_x' => 'value b.x', - * '_y' => 'value b.y', - * ], - * '_c' => [ - * '_0' => 'value c.0', - * '_1' => 'value c.1', - * ], - * '_d' => [ - * // notice the missing underscore in the keys - * 0 => 'm1', - * 1 => 'm2', - * ], - * ] - * - * - * @param mixed $data the data to parse - * @param string the encoding of the data - * @return array the result array in UTF-8 encoding with dot keys converted - * to nested arrays - */ - protected function parseData($data, $encoding) - { - $result = array(); - foreach ($data as $key => $value) { - if ($encoding !== 'UTF-8' && function_exists('mb_convert_encoding')) { - $key = mb_convert_encoding($key, 'UTF-8', $encoding); - $value = mb_convert_encoding($value, 'UTF-8', $encoding); - } - if (strpos($key, '.') === false) { - $result['_' . $key] = $value; - } else { - $target = &$result; - $keyParts = explode('.', $key); - $lastPart = array_pop($keyParts); - foreach ($keyParts as $part) { - if (!isset($target['_' . $part])) { - $target['_' . $part] = array(); - } - $target = &$target['_' . $part]; - } - $target['_' . $lastPart] = $value; - } - } - return $result; - } - - /** - * Write the given fields to an XML file - * - * @param array $fields the fields in a nested array structure - */ - protected function writeXml($fields) - { - // Use fwrite, since file_put_contents() messes around with character encoding - $fp = fopen($this->_fileName, 'w'); - fwrite($fp, self::XFDF_HEADER); - $this->writeFields($fp, $fields); - fwrite($fp, self::XFDF_FOOTER); - fclose($fp); - } - - /** - * Write the fields to the given filepointer - * - * @param int $fp - * @param mixed[] $fields an array of field values as returned by - * `parseData()`. - */ - protected function writeFields($fp, $fields) - { - foreach ($fields as $key => $value) { - $key = $this->xmlEncode(substr($key,1)); - fwrite($fp, "\n"); - if (!is_array($value)) { - $value = array($value); - } - if (array_key_exists(0, $value)) { - // Numeric keys: single or multi-value field - foreach($value as $val) { - $val = $this->xmlEncode($val); - fwrite($fp, "$val\n"); - } - } else { - // String keys: nested/hierarchical fields - $this->writeFields($fp, $value); - } - fwrite($fp, "\n"); - } - } - - /** - * @param string|null $value the value to encode - * @return string|null the value correctly encoded for use in a XML document - */ - protected function xmlEncode($value) - { - if ($value === null) { - return null; - } - return defined('ENT_XML1') ? - htmlspecialchars($value, ENT_XML1, 'UTF-8') : - htmlspecialchars($value); - } -} diff --git a/composer/mikehaertl/php-shellcommand/.github/workflows/tests.yml b/composer/mikehaertl/php-shellcommand/.github/workflows/tests.yml deleted file mode 100644 index 94c02ab72e..0000000000 --- a/composer/mikehaertl/php-shellcommand/.github/workflows/tests.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Tests -on: pull_request -jobs: - phpunit: - name: PHP ${{ matrix.php }} - runs-on: ubuntu-latest - strategy: - matrix: - php: - - "5.3" - - "5.4" - - "5.5" - - "5.6" - - "7.0" - - "7.1" - - "7.2" - - "7.3" - - "7.4" - - "8.0" - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Install PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - tools: composer:v2 - - - name: Update composer - run: composer self-update - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Cache dependencies - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - restore-keys: ${{ runner.os }}-composer- - - - name: Install composer packages - run: composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi - - - name: Run phpunit - run: vendor/bin/phpunit --color=always diff --git a/composer/mikehaertl/php-shellcommand/CHANGELOG.md b/composer/mikehaertl/php-shellcommand/CHANGELOG.md deleted file mode 100644 index c7c13e0008..0000000000 --- a/composer/mikehaertl/php-shellcommand/CHANGELOG.md +++ /dev/null @@ -1,102 +0,0 @@ -# CHANGELOG - -## 1.6.4 - - * Let getExecCommand() not cache the created command string - -## 1.6.3 - - * Include PHP 5.3 in version requirements - -## 1.6.2 - - * Add .gitattributes to reduce package size - -## 1.6.1 - - * Issue #44 Fix potential security issue with escaping shell args (@Kirill89 / https://snyk.io/) - -## 1.6.0 - - * Issue #24 Implement timeout feature - -## 1.5.0 - - * Issue #20 Refactor handling of stdin/stdou/sterr streams with proc_open(). - By default these streams now operate in non-blocking mode which should fix - many hanging issues that were caused when the command received/sent a lot of - input/output. This is the new default on Non-Windows systems (it's not - supported on Windows, though). To get the old behavior the nonBlockingMode - option can be set to false. - -## 1.4.1 - - * Allow command names with spaces on Windows (@Robindfuller ) - -## 1.4.0 - - * Allow stdin to be a stream or a file handle (@Arzaroth) - -## 1.3.0 - - * Add setStdIn() which allows to pipe an input string to the command (@martinqvistgard) - -## 1.2.5 - - * Issue #22 Fix execution of relative file paths on windows - -## 1.2.4 - - * Reverted changes for Issue #20 as this introduced BC breaking problems - -## 1.2.3 - - * Issue #20: Read stderr before stdout to avoid hanging processes - -## 1.2.2 - - * Issue #16: Command on different drive didn't work on windows - -## 1.2.1 - - * Issue #1: Command with spaces didn't work on windows - -## 1.2.0 - - * Add option to return untrimmed output and error - -## 1.1.0 - - * Issue #7: UTF-8 encoded arguments where truncated - -## 1.0.7 - - * Issue #6: Solve `proc_open()` pipe configuration for both, Windows / Linux - -## 1.0.6 - - * Undid `proc_open()` changes as it broke error capturing - -## 1.0.5 - - * Improve `proc_open()` pipe configuration - -## 1.0.4 - - * Add `$useExec` option to fix Windows issues (#3) - -## 1.0.3 - - * Add `getExecuted()` to find out execution status of the command - -## 1.0.2 - - * Add `$escape` parameter to `addArg()` to override escaping settings per call - -## 1.0.1 - - * Minor fixes - -## 1.0.0 - - * Initial release diff --git a/composer/mikehaertl/php-shellcommand/LICENSE b/composer/mikehaertl/php-shellcommand/LICENSE deleted file mode 100644 index c60edfb5a1..0000000000 --- a/composer/mikehaertl/php-shellcommand/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Michael Härtl - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/composer/mikehaertl/php-shellcommand/README.md b/composer/mikehaertl/php-shellcommand/README.md deleted file mode 100644 index eaa4039585..0000000000 --- a/composer/mikehaertl/php-shellcommand/README.md +++ /dev/null @@ -1,204 +0,0 @@ -php-shellcommand -================ - -[![GitHub Tests](https://github.com/mikehaertl/php-shellcommand/workflows/Tests/badge.svg)](https://github.com/mikehaertl/php-shellcommand/actions) -[![Packagist Version](https://img.shields.io/packagist/v/mikehaertl/php-shellcommand?label=version)](https://packagist.org/packages/mikehaertl/php-shellcommand) -[![Packagist Downloads](https://img.shields.io/packagist/dt/mikehaertl/php-shellcommand)](https://packagist.org/packages/mikehaertl/php-shellcommand) -[![GitHub license](https://img.shields.io/github/license/mikehaertl/php-shellcommand)](https://github.com/mikehaertl/php-shellcommand/blob/master/LICENSE) -[![Packagist PHP Version Support](https://img.shields.io/packagist/php-v/mikehaertl/php-shellcommand)](https://packagist.org/packages/mikehaertl/php-shellcommand) - -php-shellcommand provides a simple object oriented interface to execute shell commands. - -## Installing - -### Prerequisites - -Your php version must be `5.4` or later. - -### Installing with composer - -This package can be installed easily using composer. - -``` -composer require mikehaertl/php-shellcommand -``` - -## Features - - * Catches `stdOut`, `stdErr` and `exitCode` - * Handle argument escaping - * Pass environment vars and other options to `proc_open()` - * Pipe resources like files or streams into the command - * Timeout for execution - -## Examples - -### Basic Example - -```php -execute()) { - echo $command->getOutput(); -} else { - echo $command->getError(); - $exitCode = $command->getExitCode(); -} -``` - -### Advanced Features - -#### Add Arguments -```php -addArg('--name=', "d'Artagnan"); - -// Add argument with several values -// results in --keys key1 key2 -$command->addArg('--keys', ['key1','key2']); -``` - -### Pipe Input Into Command - -From string: -```php -setStdIn('{"foo": 0}'); -if (!$command->execute()) { - echo $command->getError(); -} else { - echo $command->getOutput(); -} -// Output: -// { -// "foo": 0 -// } -``` - -From file: -```php -setStdIn($fh); -if (!$command->execute()) { - echo $command->getError(); -} else { - echo $command->getOutput(); -} -fclose($fh); -``` -From URL: -```php -setStdIn($fh); -if (!$command->execute()) { - echo $command->getError(); -} else { - echo $command->getOutput(); -} -fclose($fh); -``` - -#### Set Command Instance Options -```php - '/usr/local/bin/mycommand', - - // Will be passed as environment variables to the command - 'procEnv' => [ - 'DEMOVAR' => 'demovalue' - ], - - // Will be passed as options to proc_open() - 'procOptions' => [ - 'bypass_shell' => true, - ], -]); -``` - -## API - -### Properties - - * `$escapeArgs`: Whether to escape any argument passed through `addArg()`. Default is `true`. - * `$escapeCommand`: Whether to escape the command passed to `setCommand()` or the constructor. - This is only useful if `$escapeArgs` is `false`. Default is `false`. - * `$useExec`: Whether to use `exec()` instead of `proc_open()`. This is a workaround for OS which - have problems with `proc_open()`. Default is `false`. - * `$captureStdErr`: Whether to capture stderr when `useExec` is set. This will try to redirect - the otherwhise unavailable `stderr` to `stdout`, so that both have the same content on error. - Default is `true`. - * `$procCwd`: The initial working dir passed to `proc_open()`. Default is `null` for current - PHP working dir. - * `$procEnv`: An array with environment variables to pass to `proc_open()`. Default is `null` for none. - * `$procOptions`: An array of `other_options` for `proc_open()`. Default is `null` for none. - * `$nonBlockingMode`: Whether to set the stdin/stdout/stderr streams to non-blocking - mode when `proc_open()` is used. This allows to have huge inputs/outputs - without making the process hang. The default is `null` which will enable - the feature on Non-Windows systems. Set it to `true` or `false` to manually - enable/disable it. Note that it doesn't work on Windows. - * `$timeout`: The time in seconds after which the command should be - terminated. This only works in non-blocking mode. Default is `null` which - means the process is never terminated. - * `$locale`: The locale to (temporarily) set with `setlocale()` before running the command. - This can be set to e.g. `en_US.UTF-8` if you have issues with UTF-8 encoded arguments. - -You can configure all these properties via an array that you pass in the constructor. You can also -pass `command`, `execCommand` and `args` as options. This will call the respective setter (`setCommand()`, -`setExecCommand()`, etc.). - -### Methods - - * `__construct($options = null)` - * `$options`: either a command string or an options array (see `setOptions()`) - * `__toString()`: The result from `getExecCommand()` - * `setOptions($options)`: Set command options - * `$options`: array of name => value options that should be applied to the object. - You can also pass options that use a setter, e.g. you can pass a `command` option which - will be passed to `setCommand().` - * `setCommand($command)`: Set command - * `$command`: The command or full command string to execute, like `gzip` or `gzip -d`. - You can still call `addArg()` to add more arguments to the command. If `$escapeCommand` was - set to `true`, the command gets escaped through `escapeshellcmd()`. - * `getCommand()`: The command that was set through `setCommand()` or passed to the constructor. - * `getExecCommand()`: The full command string to execute. - * `setArgs($args)`: Set argument as string - * `$args`: The command arguments as string. Note, that these will not get escaped. This - will overwrite the args added with `addArgs()`. - * `getArgs()`: The command arguments that where set through `setArgs()` or `addArg()`, as string - * `addArg($key, $value=null, $escape=null)`: Add argument with correct escaping - * `$key`: The argument key to add e.g. `--feature` or `--name=`. If the key does not end with - and `=`, the (optional) `$value` will be separated by a space. The key will get - escaped if `$escapeArgs` is `true`. - * `$value`: The optional argument value which will get escaped if `$escapeArgs` is `true`. - An array can be passed to add more than one value for a key, e.g. `addArg('--exclude', ['val1','val2'])` - which will create the option "--exclude 'val1' 'val2'". - * `$escape`: If set, this overrides the `$escapeArgs` setting and enforces escaping/no escaping - * `setStdIn()`: String or resource to supply to command via standard input. - This enables the same functionality as piping on the command line. It can - also be a resource like a file handle or a stream in which case its content - will be piped into the command like an input redirection. - * `getOutput()`: The command output as string. Empty if none. - * `getError()`: The error message, either stderr or internal message. Empty if no error. - * `getStdErr()`: The stderr output. Empty if none. - * `getExitCode()`: The exit code or `null` if command was not executed. - * `getExecuted()`: Whether the command was successfully executed. - * `getIsWindows()`: Whether we are on a Windows Owe are on a Windows OS - * `execute()`: Executes the command and returns `true` on success, `false` otherwhise. - -> **Note:** `getError()`, `getStdErr()` and `getOutput()` return the trimmed output. -> You can pass `false` to these methods if you need any possible line breaks at the end. diff --git a/composer/mikehaertl/php-shellcommand/composer.json b/composer/mikehaertl/php-shellcommand/composer.json deleted file mode 100644 index a638fca654..0000000000 --- a/composer/mikehaertl/php-shellcommand/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "mikehaertl/php-shellcommand", - "description": "An object oriented interface to shell commands", - "keywords": ["shell"], - "license": "MIT", - "authors": [ - { - "name": "Michael Härtl", - "email": "haertl.mike@gmail.com" - } - ], - "require": { - "php": ">= 5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">4.0 <=9.4" - }, - "autoload": { - "psr-4": { - "mikehaertl\\shellcommand\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "tests\\": "tests" - } - } -} diff --git a/composer/mikehaertl/php-shellcommand/src/Command.php b/composer/mikehaertl/php-shellcommand/src/Command.php deleted file mode 100644 index 963ced9689..0000000000 --- a/composer/mikehaertl/php-shellcommand/src/Command.php +++ /dev/null @@ -1,568 +0,0 @@ -addArg('--name=', "d'Artagnan"); - * if ($command->execute()) { - * echo $command->getOutput(); - * } else { - * echo $command->getError(); - * $exitCode = $command->getExitCode(); - * } - * ``` - * - * @author Michael Härtl - * @license http://www.opensource.org/licenses/MIT - */ -class Command -{ - /** - * @var bool whether to escape any argument passed through `addArg()`. - * Default is `true`. - */ - public $escapeArgs = true; - - /** - * @var bool whether to escape the command passed to `setCommand()` or the - * constructor. This is only useful if `$escapeArgs` is `false`. Default - * is `false`. - */ - public $escapeCommand = false; - - /** - * @var bool whether to use `exec()` instead of `proc_open()`. This can be - * used on Windows system to workaround some quirks there. Note, that any - * errors from your command will be output directly to the PHP output - * stream. `getStdErr()` will also not work anymore and thus you also won't - * get the error output from `getError()` in this case. You also can't pass - * any environment variables to the command if this is enabled. Default is - * `false`. - */ - public $useExec = false; - - /** - * @var bool whether to capture stderr (2>&1) when `useExec` is true. This - * will try to redirect the stderr to stdout and provide the complete - * output of both in `getStdErr()` and `getError()`. Default is `true`. - */ - public $captureStdErr = true; - - /** - * @var string|null the initial working dir for `proc_open()`. Default is - * `null` for current PHP working dir. - */ - public $procCwd; - - /** - * @var array|null an array with environment variables to pass to - * `proc_open()`. Default is `null` for none. - */ - public $procEnv; - - /** - * @var array|null an array of other_options for `proc_open()`. Default is - * `null` for none. - */ - public $procOptions; - - /** - * @var bool|null whether to set the stdin/stdout/stderr streams to - * non-blocking mode when `proc_open()` is used. This allows to have huge - * inputs/outputs without making the process hang. The default is `null` - * which will enable the feature on Non-Windows systems. Set it to `true` - * or `false` to manually enable/disable it. It does not work on Windows. - */ - public $nonBlockingMode; - - /** - * @var int the time in seconds after which a command should be terminated. - * This only works in non-blocking mode. Default is `null` which means the - * process is never terminated. - */ - public $timeout; - - /** - * @var null|string the locale to temporarily set before calling - * `escapeshellargs()`. Default is `null` for none. - */ - public $locale; - - /** - * @var null|string|resource to pipe to standard input - */ - protected $_stdIn; - - /** - * @var string the command to execute - */ - protected $_command; - - /** - * @var array the list of command arguments - */ - protected $_args = array(); - - /** - * @var string the stdout output - */ - protected $_stdOut = ''; - - /** - * @var string the stderr output - */ - protected $_stdErr = ''; - - /** - * @var int the exit code - */ - protected $_exitCode; - - /** - * @var string the error message - */ - protected $_error = ''; - - /** - * @var bool whether the command was successfully executed - */ - protected $_executed = false; - - /** - * @param string|array $options either a command string or an options array - * @see setOptions - */ - public function __construct($options = null) - { - if (is_array($options)) { - $this->setOptions($options); - } elseif (is_string($options)) { - $this->setCommand($options); - } - } - - /** - * @param array $options array of name => value options (i.e. public - * properties) that should be applied to this object. You can also pass - * options that use a setter, e.g. you can pass a `fileName` option which - * will be passed to `setFileName()`. - * @throws \Exception on unknown option keys - * @return static for method chaining - */ - public function setOptions($options) - { - foreach ($options as $key => $value) { - if (property_exists($this, $key)) { - $this->$key = $value; - } else { - $method = 'set'.ucfirst($key); - if (method_exists($this, $method)) { - call_user_func(array($this,$method), $value); - } else { - throw new \Exception("Unknown configuration option '$key'"); - } - } - } - return $this; - } - - /** - * @param string $command the command or full command string to execute, - * like 'gzip' or 'gzip -d'. You can still call addArg() to add more - * arguments to the command. If `$escapeCommand` was set to true, the command - * gets escaped with `escapeshellcmd()`. - * @return static for method chaining - */ - public function setCommand($command) - { - if ($this->escapeCommand) { - $command = escapeshellcmd($command); - } - if ($this->getIsWindows()) { - // Make sure to switch to correct drive like "E:" first if we have - // a full path in command - if (isset($command[1]) && $command[1] === ':') { - $position = 1; - // Could be a quoted absolute path because of spaces. - // i.e. "C:\Program Files (x86)\file.exe" - } elseif (isset($command[2]) && $command[2] === ':') { - $position = 2; - } else { - $position = false; - } - - // Absolute path. If it's a relative path, let it slide. - if ($position) { - $command = sprintf( - $command[$position - 1] . ': && cd %s && %s', - escapeshellarg(dirname($command)), - escapeshellarg(basename($command)) - ); - } - } - $this->_command = $command; - return $this; - } - - /** - * @param string|resource $stdIn If set, the string will be piped to the - * command via standard input. This enables the same functionality as - * piping on the command line. It can also be a resource like a file - * handle or a stream in which case its content will be piped into the - * command like an input redirection. - * @return static for method chaining - */ - public function setStdIn($stdIn) { - $this->_stdIn = $stdIn; - return $this; - } - - /** - * @return string|null the command that was set through `setCommand()` or - * passed to the constructor. `null` if none. - */ - public function getCommand() - { - return $this->_command; - } - - /** - * @return string|bool the full command string to execute. If no command - * was set with `setCommand()` or passed to the constructor it will return - * `false`. - */ - public function getExecCommand() - { - $command = $this->getCommand(); - if (!$command) { - $this->_error = 'Could not locate any executable command'; - return false; - } - - $args = $this->getArgs(); - return $args ? $command.' '.$args : $command; - } - - /** - * @param string $args the command arguments as string like `'--arg1=value1 - * --arg2=value2'`. Note that this string will not get escaped. This will - * overwrite the args added with `addArgs()`. - * @return static for method chaining - */ - public function setArgs($args) - { - $this->_args = array($args); - return $this; - } - - /** - * @return string the command args that where set with `setArgs()` or added - * with `addArg()` separated by spaces. - */ - public function getArgs() - { - return implode(' ', $this->_args); - } - - /** - * @param string $key the argument key to add e.g. `--feature` or - * `--name=`. If the key does not end with `=`, the (optional) $value will - * be separated by a space. The key will get escaped if `$escapeArgs` is `true`. - * @param string|array|null $value the optional argument value which will - * get escaped if $escapeArgs is true. An array can be passed to add more - * than one value for a key, e.g. - * `addArg('--exclude', array('val1','val2'))` - * which will create the option - * `'--exclude' 'val1' 'val2'`. - * @param bool|null $escape if set, this overrides the `$escapeArgs` setting - * and enforces escaping/no escaping of keys and values - * @return static for method chaining - */ - public function addArg($key, $value = null, $escape = null) - { - $doEscape = $escape !== null ? $escape : $this->escapeArgs; - $useLocale = $doEscape && $this->locale !== null; - - if ($useLocale) { - $locale = setlocale(LC_CTYPE, 0); // Returns current locale setting - setlocale(LC_CTYPE, $this->locale); - } - if ($value === null) { - $this->_args[] = $doEscape ? escapeshellarg($key) : $key; - } else { - if (substr($key, -1) === '=') { - $separator = '='; - $argKey = substr($key, 0, -1); - } else { - $separator = ' '; - $argKey = $key; - } - $argKey = $doEscape ? escapeshellarg($argKey) : $argKey; - - if (is_array($value)) { - $params = array(); - foreach ($value as $v) { - $params[] = $doEscape ? escapeshellarg($v) : $v; - } - $this->_args[] = $argKey . $separator . implode(' ', $params); - } else { - $this->_args[] = $argKey . $separator . - ($doEscape ? escapeshellarg($value) : $value); - } - } - if ($useLocale) { - setlocale(LC_CTYPE, $locale); - } - - return $this; - } - - /** - * @param bool $trim whether to `trim()` the return value. The default is `true`. - * @param string $characters the list of characters to trim. The default - * is ` \t\n\r\0\v\f`. - * @return string the command output (stdout). Empty if none. - */ - public function getOutput($trim = true, $characters = " \t\n\r\0\v\f") - { - return $trim ? trim($this->_stdOut, $characters) : $this->_stdOut; - } - - /** - * @param bool $trim whether to `trim()` the return value. The default is `true`. - * @param string $characters the list of characters to trim. The default - * is ` \t\n\r\0\v\f`. - * @return string the error message, either stderr or an internal message. - * Empty string if none. - */ - public function getError($trim = true, $characters = " \t\n\r\0\v\f") - { - return $trim ? trim($this->_error, $characters) : $this->_error; - } - - /** - * @param bool $trim whether to `trim()` the return value. The default is `true`. - * @param string $characters the list of characters to trim. The default - * is ` \t\n\r\0\v\f`. - * @return string the stderr output. Empty if none. - */ - public function getStdErr($trim = true, $characters = " \t\n\r\0\v\f") - { - return $trim ? trim($this->_stdErr, $characters) : $this->_stdErr; - } - - /** - * @return int|null the exit code or null if command was not executed yet - */ - public function getExitCode() - { - return $this->_exitCode; - } - - /** - * @return string whether the command was successfully executed - */ - public function getExecuted() - { - return $this->_executed; - } - - /** - * Execute the command - * - * @return bool whether execution was successful. If `false`, error details - * can be obtained from `getError()`, `getStdErr()` and `getExitCode()`. - */ - public function execute() - { - $command = $this->getExecCommand(); - - if (!$command) { - return false; - } - - if ($this->useExec) { - $execCommand = $this->captureStdErr ? "$command 2>&1" : $command; - exec($execCommand, $output, $this->_exitCode); - $this->_stdOut = implode("\n", $output); - if ($this->_exitCode !== 0) { - $this->_stdErr = $this->_stdOut; - $this->_error = empty($this->_stdErr) ? 'Command failed' : $this->_stdErr; - return false; - } - } else { - $isInputStream = $this->_stdIn !== null && - is_resource($this->_stdIn) && - in_array(get_resource_type($this->_stdIn), array('file', 'stream')); - $isInputString = is_string($this->_stdIn); - $hasInput = $isInputStream || $isInputString; - $hasTimeout = $this->timeout !== null && $this->timeout > 0; - - $descriptors = array( - 1 => array('pipe','w'), - 2 => array('pipe', $this->getIsWindows() ? 'a' : 'w'), - ); - if ($hasInput) { - $descriptors[0] = array('pipe', 'r'); - } - - - // Issue #20 Set non-blocking mode to fix hanging processes - $nonBlocking = $this->nonBlockingMode === null ? - !$this->getIsWindows() : $this->nonBlockingMode; - - $startTime = $hasTimeout ? time() : 0; - $process = proc_open($command, $descriptors, $pipes, $this->procCwd, $this->procEnv, $this->procOptions); - - if (is_resource($process)) { - - if ($nonBlocking) { - stream_set_blocking($pipes[1], false); - stream_set_blocking($pipes[2], false); - if ($hasInput) { - $writtenBytes = 0; - $isInputOpen = true; - stream_set_blocking($pipes[0], false); - if ($isInputStream) { - stream_set_blocking($this->_stdIn, false); - } - } - - // Due to the non-blocking streams we now have to check in - // a loop if the process is still running. We also need to - // ensure that all the pipes are written/read alternately - // until there's nothing left to write/read. - $isRunning = true; - while ($isRunning) { - $status = proc_get_status($process); - $isRunning = $status['running']; - - // We first write to stdIn if we have an input. For big - // inputs it will only write until the input buffer of - // the command is full (the command may now wait that - // we read the output buffers - see below). So we may - // have to continue writing in another cycle. - // - // After everything is written it's safe to close the - // input pipe. - if ($isRunning && $hasInput && $isInputOpen) { - if ($isInputStream) { - $written = stream_copy_to_stream($this->_stdIn, $pipes[0], 16 * 1024, $writtenBytes); - if ($written === false || $written === 0) { - $isInputOpen = false; - fclose($pipes[0]); - } else { - $writtenBytes += $written; - } - } else { - if ($writtenBytes < strlen($this->_stdIn)) { - $writtenBytes += fwrite($pipes[0], substr($this->_stdIn, $writtenBytes)); - } else { - $isInputOpen = false; - fclose($pipes[0]); - } - } - } - - // Read out the output buffers because if they are full - // the command may block execution. We do this even if - // $isRunning is `false`, because there could be output - // left in the buffers. - // - // The latter is only an assumption and needs to be - // verified - but it does not hurt either and works as - // expected. - // - while (($out = fgets($pipes[1])) !== false) { - $this->_stdOut .= $out; - } - while (($err = fgets($pipes[2])) !== false) { - $this->_stdErr .= $err; - } - - $runTime = $hasTimeout ? time() - $startTime : 0; - if ($isRunning && $hasTimeout && $runTime >= $this->timeout) { - // Only send a SIGTERM and handle status in the next cycle - proc_terminate($process); - } - - if (!$isRunning) { - $this->_exitCode = $status['exitcode']; - if ($this->_exitCode !== 0 && empty($this->_stdErr)) { - if ($status['stopped']) { - $signal = $status['stopsig']; - $this->_stdErr = "Command stopped by signal $signal"; - } elseif ($status['signaled']) { - $signal = $status['termsig']; - $this->_stdErr = "Command terminated by signal $signal"; - } else { - $this->_stdErr = 'Command unexpectedly terminated without error message'; - } - } - fclose($pipes[1]); - fclose($pipes[2]); - proc_close($process); - } else { - // The command is still running. Let's wait some - // time before we start the next cycle. - usleep(10000); - } - } - } else { - if ($hasInput) { - if ($isInputStream) { - stream_copy_to_stream($this->_stdIn, $pipes[0]); - } elseif ($isInputString) { - fwrite($pipes[0], $this->_stdIn); - } - fclose($pipes[0]); - } - $this->_stdOut = stream_get_contents($pipes[1]); - $this->_stdErr = stream_get_contents($pipes[2]); - fclose($pipes[1]); - fclose($pipes[2]); - $this->_exitCode = proc_close($process); - } - - if ($this->_exitCode !== 0) { - $this->_error = $this->_stdErr ? - $this->_stdErr : - "Failed without error message: $command (Exit code: {$this->_exitCode})"; - return false; - } - } else { - $this->_error = "Could not run command $command"; - return false; - } - } - - $this->_executed = true; - - return true; - } - - /** - * @return bool whether we are on a Windows OS - */ - public function getIsWindows() - { - return strncasecmp(PHP_OS, 'WIN', 3)===0; - } - - /** - * @return string the current command string to execute - */ - public function __toString() - { - return (string) $this->getExecCommand(); - } -} diff --git a/composer/mikehaertl/php-tmpfile/.github/workflows/tests.yml b/composer/mikehaertl/php-tmpfile/.github/workflows/tests.yml deleted file mode 100644 index 94c02ab72e..0000000000 --- a/composer/mikehaertl/php-tmpfile/.github/workflows/tests.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Tests -on: pull_request -jobs: - phpunit: - name: PHP ${{ matrix.php }} - runs-on: ubuntu-latest - strategy: - matrix: - php: - - "5.3" - - "5.4" - - "5.5" - - "5.6" - - "7.0" - - "7.1" - - "7.2" - - "7.3" - - "7.4" - - "8.0" - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Install PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - tools: composer:v2 - - - name: Update composer - run: composer self-update - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Cache dependencies - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - restore-keys: ${{ runner.os }}-composer- - - - name: Install composer packages - run: composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi - - - name: Run phpunit - run: vendor/bin/phpunit --color=always diff --git a/composer/mikehaertl/php-tmpfile/LICENSE b/composer/mikehaertl/php-tmpfile/LICENSE deleted file mode 100644 index 28dbb2a292..0000000000 --- a/composer/mikehaertl/php-tmpfile/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Michael Härtl - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/composer/mikehaertl/php-tmpfile/README.md b/composer/mikehaertl/php-tmpfile/README.md deleted file mode 100644 index 86d7b4a56b..0000000000 --- a/composer/mikehaertl/php-tmpfile/README.md +++ /dev/null @@ -1,64 +0,0 @@ -php-tmpfile -=========== - -[![GitHub Tests](https://github.com/mikehaertl/php-tmpfile/workflows/Tests/badge.svg)](https://github.com/mikehaertl/php-tmpfile/actions) -[![Packagist Version](https://img.shields.io/packagist/v/mikehaertl/php-tmpfile?label=version)](https://packagist.org/packages/mikehaertl/php-tmpfile) -[![Packagist Downloads](https://img.shields.io/packagist/dt/mikehaertl/php-tmpfile)](https://packagist.org/packages/mikehaertl/php-tmpfile) -[![GitHub license](https://img.shields.io/github/license/mikehaertl/php-tmpfile)](https://github.com/mikehaertl/php-tmpfile/blob/master/LICENSE) - -A convenience class for temporary files. - -## Features - - * Create temporary file with arbitrary content - * Delete file after use (can be disabled) - * Send file to client, either inline or with save dialog, optionally with custom HTTP headers - * Save file locally - -## Examples - -```php -send('home.html'); -// ... with custom content type (autodetected otherwhise) -$file->send('home.html', 'application/pdf'); -// ... for inline display (download dialog otherwhise) -$file->send('home.html', 'application/pdf', true); -// ... with custom headers -$file->send('home.html', 'application/pdf', true, [ - 'X-Header' => 'Example', -]); - -// save to disk -$file->saveAs('/dir/test.html'); - -// Access file name and directory -echo $file->getFileName(); -echo $file->getTempDir(); -``` - -If you want to keep the temporary file, e.g. for debugging, you can set the `$delete` property to false: - -```php -delete = false; -``` - -Default HTTP headers can also be added: -```php -send('home.html'); -``` diff --git a/composer/mikehaertl/php-tmpfile/composer.json b/composer/mikehaertl/php-tmpfile/composer.json deleted file mode 100644 index c28c46a3ec..0000000000 --- a/composer/mikehaertl/php-tmpfile/composer.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "mikehaertl/php-tmpfile", - "description": "A convenience class for temporary files", - "keywords": ["files"], - "license": "MIT", - "authors": [ - { - "name": "Michael Härtl", - "email": "haertl.mike@gmail.com" - } - ], - "require-dev": { - "php": ">=5.3.0", - "phpunit/phpunit": ">4.0 <=9.4" - }, - "autoload": { - "psr-4": { - "mikehaertl\\tmp\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "tests\\": "tests" - } - } -} diff --git a/composer/mikehaertl/php-tmpfile/src/File.php b/composer/mikehaertl/php-tmpfile/src/File.php deleted file mode 100644 index 2271260195..0000000000 --- a/composer/mikehaertl/php-tmpfile/src/File.php +++ /dev/null @@ -1,197 +0,0 @@ - - * @license http://www.opensource.org/licenses/MIT - */ -class File -{ - const DEFAULT_CONTENT_TYPE = 'application/octet-stream'; - - /** - * @var bool whether to delete the tmp file when it's no longer referenced - * or when the request ends. Default is `true`. - */ - public $delete = true; - - /** - * @var array the list of static default headers to send when `send()` is - * called as key/value pairs. - */ - public static $defaultHeaders = array( - 'Pragma' => 'public', - 'Expires' => 0, - 'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0', - 'Content-Transfer-Encoding' => 'binary', - ); - - /** - * @var string the name of this file - */ - protected $_fileName; - - /** - * Constructor - * - * @param string $content the tmp file content - * @param string|null $suffix the optional suffix for the tmp file - * @param string|null $prefix the optional prefix for the tmp file. If null - * 'php_tmpfile_' is used. - * @param string|null $directory directory where the file should be - * created. Autodetected if not provided. - */ - public function __construct($content, $suffix = null, $prefix = null, $directory = null) - { - if ($directory === null) { - $directory = self::getTempDir(); - } - - if ($prefix === null) { - $prefix = 'php_tmpfile_'; - } - - $this->_fileName = tempnam($directory,$prefix); - if ($suffix !== null) { - $newName = $this->_fileName . $suffix; - rename($this->_fileName, $newName); - $this->_fileName = $newName; - } - file_put_contents($this->_fileName, $content); - } - - /** - * Delete tmp file on shutdown if `$delete` is `true` - */ - public function __destruct() - { - if ($this->delete && file_exists($this->_fileName)) { - unlink($this->_fileName); - } - } - - /** - * Send tmp file to client, either inline or as download - * - * @param string|null $filename the filename to send. If empty, the file is - * streamed inline. - * @param string|null $contentType the Content-Type header to send. If - * `null` the type is auto-detected and if that fails - * 'application/octet-stream' is used. - * @param bool $inline whether to force inline display of the file, even if - * filename is present. - * @param array $headers a list of additional HTTP headers to send in the - * response as an array. The array keys are the header names like - * 'Cache-Control' and the array values the header value strings to send. - * Each array value can also be another array of strings if the same header - * should be sent multiple times. This can also be used to override - * automatically created headers like 'Expires' or 'Content-Length'. To suppress - * automatically created headers, `false` can also be used as header value. - */ - public function send($filename = null, $contentType = null, $inline = false, $headers = array()) - { - $headers = array_merge(self::$defaultHeaders, $headers); - - if ($contentType !== null) { - $headers['Content-Type'] = $contentType; - } elseif (!isset($headers['Content-Type'])) { - $contentType = @mime_content_type($this->_filename); - if ($contentType === false) { - $contentType = self::DEFAULT_CONTENT_TYPE; - } - $headers['Content-Type'] = $contentType; - } - - if (!isset($headers['Content-Length'])) { - // #11 Undefined index: HTTP_USER_AGENT - $userAgent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; - - // #84: Content-Length leads to "network connection was lost" on iOS - $isIOS = preg_match('/i(phone|pad|pod)/i', $userAgent); - if (!$isIOS) { - $headers['Content-Length'] = filesize($this->_fileName); - } - } - - if (($filename !== null || $inline) && !isset($headers['Content-Disposition'])) { - $disposition = $inline ? 'inline' : 'attachment'; - $encodedFilename = rawurlencode($filename); - $headers['Content-Disposition'] = "$disposition; " . - "filename=\"$filename\"; " . - "filename*=UTF-8''$encodedFilename"; - } - - $this->sendHeaders($headers); - readfile($this->_fileName); - } - - /** - * @param string $name the name to save the file as - * @return bool whether the file could be saved - */ - public function saveAs($name) - { - return copy($this->_fileName, $name); - } - - /** - * @return string the full file name - */ - public function getFileName() - { - return $this->_fileName; - } - - /** - * @return string the path to the temp directory - */ - public static function getTempDir() - { - if (function_exists('sys_get_temp_dir')) { - return sys_get_temp_dir(); - } elseif ( - ($tmp = getenv('TMP')) || - ($tmp = getenv('TEMP')) || - ($tmp = getenv('TMPDIR')) - ) { - return realpath($tmp); - } else { - return '/tmp'; - } - } - - /** - * @return string the full file name - */ - public function __toString() - { - return $this->_fileName; - } - - /** - * Send the given list of headers - * - * @param array $headers the list of headers to send as key/value pairs. - * Value can either be a string or an array of strings to send the same - * header multiple times. - */ - protected function sendHeaders($headers) - { - foreach ($headers as $name => $value) { - if ($value === false) { - continue; - } - if (is_array($value)) { - foreach ($value as $v) { - header("$name: $v"); - } - } else { - header("$name: $value"); - } - } - } -} diff --git a/css/files.scss b/css/files.scss index c6262286bb..01bab08748 100644 --- a/css/files.scss +++ b/css/files.scss @@ -134,5 +134,3 @@ margin-left: 12px; } } - -@import 'templatePicker'; diff --git a/css/templatePicker.scss b/css/templatePicker.scss deleted file mode 100644 index 540deb2bb5..0000000000 --- a/css/templatePicker.scss +++ /dev/null @@ -1,45 +0,0 @@ -/** - * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors - * SPDX-License-Identifier: AGPL-3.0-or-later - */ -@use 'sass:math'; - -#template-picker { - .template-container:not(.hidden) { - display: flex; - flex-wrap: wrap; - a { - $size: 170px; - $sizeY: math.div($size, 210) * 297; - $space: 10px; - border-radius: var(--border-radius); - border: 1px solid var(--color-border); - margin: $space; - position: relative; - - &:hover, - &:focus { - border-color: var(--color-primary-element); - } - - > span { - display: flex; - flex-direction: column; - width: $size; - margin: $space; - cursor: pointer; - > img, - > span { - width: $size; - height: $sizeY; - background-color: var(--color-background-dark); - background-size: 24px; - } - > h2 { - margin-top: $space; - font-size: inherit; - } - } - } - } -} diff --git a/cypress.config.ts b/cypress.config.ts index de3d55a488..fc54da5c1b 100644 --- a/cypress.config.ts +++ b/cypress.config.ts @@ -5,7 +5,9 @@ import { defineConfig } from 'cypress' export default defineConfig({ - collaboraUrl: 'https://localhost:9980/', + env: { + collaboraUrl: process.env.CYPRESS_collaboraUrl ?? 'https://localhost:9980/', + }, projectId: 'fef71b', viewportWidth: 1280, viewportHeight: 720, diff --git a/cypress/e2e/direct.spec.js b/cypress/e2e/direct.spec.js index 66bf0c6ba7..6befc16654 100644 --- a/cypress/e2e/direct.spec.js +++ b/cypress/e2e/direct.spec.js @@ -2,10 +2,12 @@ * SPDX-FileCopyrightText: 2023 Julius Härtl * SPDX-License-Identifier: AGPL-3.0-or-later */ +const baseUrl = Cypress.config('baseUrl').replace(/\/index.php\/?$/g, '') + const getTemplates = (user, type) => { return cy.request({ method: 'GET', - url: `${Cypress.env('baseUrl')}/ocs/v2.php/apps/richdocuments/api/v1/templates/${type}?format=json`, + url: `${baseUrl}/ocs/v2.php/apps/richdocuments/api/v1/templates/${type}?format=json`, auth: { user: user.userId, pass: user.password }, headers: { 'OCS-ApiRequest': 'true', @@ -22,7 +24,7 @@ const createDirectEditingLink = (user, fileId) => { cy.login(user) return cy.request({ method: 'POST', - url: `${Cypress.env('baseUrl')}/ocs/v2.php/apps/richdocuments/api/v1/document?format=json`, + url: `${baseUrl}/ocs/v2.php/apps/richdocuments/api/v1/document?format=json`, form: true, body: { fileId, @@ -44,7 +46,7 @@ const createNewFileDirectEditingLink = (user, path, template) => { cy.login(user) return cy.request({ method: 'POST', - url: `${Cypress.env('baseUrl')}/ocs/v2.php/apps/richdocuments/api/v1/templates/new?format=json`, + url: `${baseUrl}/ocs/v2.php/apps/richdocuments/api/v1/templates/new?format=json`, form: true, body: { path, template, @@ -66,7 +68,7 @@ const createDirectEditingLinkForShareToken = (shareToken, host = undefined, path cy.logout() return cy.request({ method: 'POST', - url: `${Cypress.env('baseUrl')}/ocs/v2.php/apps/richdocuments/api/v1/share?format=json`, + url: `${baseUrl}/ocs/v2.php/apps/richdocuments/api/v1/share?format=json`, form: true, body: { shareToken, @@ -161,4 +163,36 @@ describe('Direct editing (legacy)', function() { }) }) + it('Save as', function() { + createDirectEditingLink(randUser, fileId) + .then((token) => { + cy.nextcloudTestingAppConfigSet('richdocuments', 'uiDefaults-UIMode', 'tabbed') + cy.logout() + cy.visit(token) + cy.waitForCollabora(false) + + cy.get('@loleafletframe').within(() => { + cy.get('.notebookbar-tabs-container', { timeout: 30_000 }) + .should('be.visible') + + cy.get('button[aria-label="File"]').click() + cy.get('button[aria-label="Save As"]').click() + + cy.get('#saveas-entries #saveas-entry-1').click() + }) + + cy.get('.saveas-dialog') + .should('be.visible') + cy.get('.saveas-dialog input[type=text]') + .should('be.visible') + .should('have.value', 'document.rtf') + + cy.get('.saveas-dialog button.button-vue--vue-primary').click() + + cy.get('@loleafletframe').within(() => { + cy.verifyOpen('document.rtf') + }) + }) + }) + }) diff --git a/cypress/e2e/integration.spec.js b/cypress/e2e/integration.spec.js index 4214f90f6f..350c057508 100644 --- a/cypress/e2e/integration.spec.js +++ b/cypress/e2e/integration.spec.js @@ -32,8 +32,11 @@ describe('Nextcloud integration', function() { it('Sharing sidebar', function() { cy.get('@loleafletframe').within(() => { - cy.get('#File-tab-label').click() - cy.get('#ShareAs-button').click() + cy.get('.notebookbar-tabs-container', { timeout: 30_000 }) + .should('be.visible') + + cy.get('button[aria-label="File"]').click() + cy.get('button#ShareAs-button').click() }) cy.get('#app-sidebar-vue') @@ -47,8 +50,11 @@ describe('Nextcloud integration', function() { it('Versions sidebar', function() { cy.get('@loleafletframe').within(() => { - cy.get('#File-tab-label').click() - cy.get('#Rev-History-button').click() + cy.get('.notebookbar-tabs-container', { timeout: 30_000 }) + .should('be.visible') + + cy.get('button[aria-label="File"]').click() + cy.get('button[aria-label="See history"]').click() }) cy.get('#app-sidebar-vue') @@ -65,32 +71,49 @@ describe('Nextcloud integration', function() { it('Save as', function() { const exportFilename = 'document.rtf' cy.get('@loleafletframe').within(() => { - cy.get('#File-tab-label').click() - cy.get('#saveas').click() - cy.get('#saveas-entries #saveas-entry-1').click() + cy.get('.notebookbar-tabs-container', { timeout: 30_000 }) + .should('be.visible') + + cy.get('button[aria-label="File"]').click() + cy.get('button[aria-label="Save As"]') + .should('be.visible', { timeout: 10_000 }) + .click() + + cy.get('#saveas-entries > div') + .contains('Rich Text (.rtf)') + .should('be.visible') + .click() }) - cy.get('.saveas-dialog').should('be.visible') - cy.get('.saveas-dialog input[type=text]') - .should('be.visible') - .should('have.value', `/${exportFilename}`) - cy.get('.saveas-dialog button.button-vue--vue-primary').click() + cy.get('.saveas-dialog').should('be.visible') + cy.get('.saveas-dialog input[type=text]') + .should('be.visible') + .should('have.value', `/${exportFilename}`) + + cy.get('.saveas-dialog button.button-vue--vue-primary').click() + + // Wait for confirmation from Collabora that the file was saved + cy.waitForPostMessage('Action_Save_Resp', { success: true, fileName: exportFilename }) cy.get('@loleafletframe').within(() => { - cy.get('#closebutton').click() - cy.waitForViewerClose() + cy.get('#closebutton').click() + cy.waitForViewerClose() }) - // FIXME: We should not need to reload - cy.get('.breadcrumb__crumbs a').eq(0).click({ force: true }) - cy.openFile(exportFilename) }) it('Open locally', function() { cy.get('@loleafletframe').within(() => { - cy.get('#Open_Local_Editor').click() + cy.get('.notebookbar-shortcuts-bar', { timeout: 30_000 }) + .as('shortcuts-bar') + + cy.get('@shortcuts-bar').should('be.visible') + + cy.get('@shortcuts-bar') + .find('button[aria-label="Open in local editor"]') + .click() }) cy.get('.confirmation-dialog').should('be.visible') @@ -112,11 +135,24 @@ describe('Nextcloud integration', function() { cy.get('@open').its('firstCall.args.0').should('contain', 'nc://open/' + randUser.userId + '@' + nextcloudHost + '/document.odt') }) - it('Insert image', function() { + // TODO: Unskip once there is a viable nightly Docker container + // available to the workflows + it.skip('Insert image', function() { cy.get('@loleafletframe').within(() => { - cy.get('#Insert-tab-label').click() - cy.get('#insert-insert-graphic-button').click() - cy.get('#insert-insert-graphic-entries #insert-insert-graphic-entry-1').click() + cy.get('.notebookbar-tabs-container') + .get('button[aria-label="Insert"]') + .filter('[role="tab"]') + .click() + + cy.get('#overflow-button-insert-illustrations') + .find('button[aria-label="Open Illustrations"]') + .click() + + cy.get('#insert-insert-graphic') + .find('button[aria-label="Image"]') + .click() + + cy.get('#insert-insert-graphic-entry-1').click() }) cy.get('.modal-container__content').should('be.visible') }) @@ -150,17 +186,17 @@ describe('Nextcloud integration', function() { cy.pickFile('document.odt') }) - it('Can link to heading', function() { + it.skip('Can link to heading', function() { cy.get('[data-cy-section-label="Headings"]').children().first().click() cy.get('[data-cy-link-to-section=""]').click() }) - it('Can link to section', function() { + it.skip('Can link to section', function() { cy.get('[data-cy-section-label="Sections"]').children().first().click() cy.get('[data-cy-link-to-section=""]').click() }) - it('Can link to image', function() { + it.skip('Can link to image', function() { cy.get('[data-cy-section-label="Images"]').children().first().click() cy.get('[data-cy-link-to-section=""]').click() }) diff --git a/cypress/e2e/new.spec.js b/cypress/e2e/new.spec.js index f68ba52ffb..b6b50a0d62 100644 --- a/cypress/e2e/new.spec.js +++ b/cypress/e2e/new.spec.js @@ -2,8 +2,8 @@ * SPDX-FileCopyrightText: 2023 Julius Härtl * SPDX-License-Identifier: AGPL-3.0-or-later */ -// FIXME: Re-renable once 28 has file creation again working -describe.skip('Create new office files', function() { + +describe('New file menu', function() { let randUser before(function() { @@ -18,51 +18,34 @@ describe.skip('Create new office files', function() { }) it('Shows create file entries', function() { - cy.get('.files-controls .button.new') + cy.get('form[data-cy-upload-picker=""]') .should('be.visible') .click() - cy.get('.newFileMenu', { timeout: 10000 }) - .should('be.visible') - .contains('.menuitem', 'New document') + cy.get('button[role="menuitem"]') + .contains('New document') .should('be.visible') - .find('.icon') - .should('have.css', 'background-image') - cy.get('.files-controls .button.new') + cy.get('form[data-cy-upload-picker=""]') .click() - cy.get('.newFileMenu', { timeout: 10000 }) + cy.get('li[data-cy-upload-picker-menu-entry="upload-file"]') .should('not.be.visible') }) - const newFileTypeLabels = [ - 'document', 'spreadsheet', 'presentation', 'diagram', - ] - newFileTypeLabels.forEach((filetype) => { - it('Create empty ' + filetype + ' file', function() { - cy.get('.files-controls .button.new') - .should('be.visible') - .click() - - cy.get('.newFileMenu', { timeout: 10000 }) - .should('be.visible') - .contains('.menuitem', 'New ' + filetype) - .as('menuitem') - .should('be.visible') - .click() - - cy.get('@menuitem').find('.filenameform input[type=text]').type('MyNewFile') - cy.get('@menuitem').find('.filenameform .icon-confirm').click() - - cy.waitForViewer() - cy.waitForCollabora() + describe('Creates a new file', function() { + const newFileTypeLabels = [ + 'document', 'spreadsheet', 'presentation', 'diagram', + ] + newFileTypeLabels.forEach((filetype) => { + it('Create empty ' + filetype + ' file', function() { + cy.newFileFromMenu(filetype, 'MyNewFile') + cy.waitForViewer() + cy.waitForCollabora() - cy.screenshot('new-file-' + filetype) + cy.screenshot('new-file-' + filetype) - cy.get('@loleafletframe').within(() => { - cy.get('#closebutton').click() - cy.waitForViewerClose() + cy.closeDocument() }) }) }) diff --git a/cypress/e2e/open.spec.js b/cypress/e2e/open.spec.js index 4bfd1e0e33..3df730fe61 100644 --- a/cypress/e2e/open.spec.js +++ b/cypress/e2e/open.spec.js @@ -38,13 +38,16 @@ describe('Open existing office files', function() { cy.waitForPostMessage('App_LoadingStatus', { Status: 'Document_Loaded' }) + cy.get('#viewer .modal-header') + .should('exist') + .and('not.be.visible') + .and('have.css', 'display', 'none') + // Share action cy.wait(2000) cy.get('@loleafletframe').within(() => { - cy.get('#main-menu #menu-file > a').click() - cy.get('#main-menu #menu-shareas > a').should('be.visible').click() + cy.verifyOpen(filename) }) - cy.verifyOpen(filename) // FIXME: wait for sidebar tab content // FIXME: validate sharing tab @@ -67,11 +70,15 @@ describe('Open existing office files', function() { cy.waitForViewer() cy.waitForCollabora() + cy.get('#viewer .modal-header') + .should('exist') + .and('not.be.visible') + .and('have.css', 'display', 'none') + cy.screenshot('open-file_' + filename) cy.get('@loleafletframe').within(() => { - cy.get('button.icon-nextcloud-sidebar').click() + cy.verifyOpen(filename) }) - cy.verifyOpen(filename) // FIXME: wait for sidebar tab content // FIXME: validate sharing tab cy.screenshot('share-sidebar_' + filename) @@ -133,9 +140,8 @@ describe('Open PDF with richdocuments', () => { // Verify that the correct file is open cy.get('@loleafletframe').within(() => { - cy.get('button.icon-nextcloud-sidebar').click() + cy.verifyOpen('document.pdf') }) - cy.verifyOpen('document.pdf') // Make sure we can close the document cy.closeDocument() diff --git a/cypress/e2e/settings.spec.js b/cypress/e2e/settings.spec.js index 9ad953276b..3b01fdda26 100644 --- a/cypress/e2e/settings.spec.js +++ b/cypress/e2e/settings.spec.js @@ -2,9 +2,9 @@ * SPDX-FileCopyrightText: 2023 Julius Härtl * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { User } from '@nextcloud/cypress' +import { User } from '@nextcloud/e2e-test-server/cypress' -const usesHttps = Cypress.env('baseUrl').substr(0, 5) === 'https' +const usesHttps = Cypress.config('baseUrl').startsWith('https') const collaboraUrl = Cypress.env('collaboraUrl') const defaultFonts = ['AmaticSC-Regular.ttf'] diff --git a/cypress/e2e/share-federated.spec.js b/cypress/e2e/share-federated.spec.js index 9bdfa146fb..b9bcd27cfc 100644 --- a/cypress/e2e/share-federated.spec.js +++ b/cypress/e2e/share-federated.spec.js @@ -2,7 +2,7 @@ * SPDX-FileCopyrightText: 2023 Julius Härtl * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { User } from '@nextcloud/cypress' +import { User } from '@nextcloud/e2e-test-server/cypress' import { randHash } from '../utils/index.js' const shareOwner = new User(randHash(), randHash()) const shareRecipient = new User(randHash(), randHash()) @@ -39,7 +39,7 @@ describe('Federated sharing of office documents', function() { }) }) - it('Open a remotely shared file as a link', function() { + it.skip('Open a remotely shared file as a link', function() { cy.login(shareOwner) cy.shareFileToRemoteUser(shareOwner, '/document-reshare.odt', shareRecipient) @@ -57,4 +57,33 @@ describe('Federated sharing of office documents', function() { cy.waitForCollabora(true, true) }) }) + + describe('Open files with symbols in their names', () => { + const symbols = ['%', '&'] + + symbols.forEach((symbol) => { + const filename = `next ${symbol} cloud.odt` + + it(`${symbol} in file name`, () => { + cy.uploadFile(shareOwner, filename, 'application/vnd.oasis.opendocument.text', `/${filename}`) + + cy.login(shareOwner) + cy.shareFileToRemoteUser(shareOwner, filename, shareRecipient) + + cy.login(shareRecipient) + cy.visit('/apps/files', { + onBeforeLoad(win) { + cy.spy(win, 'postMessage').as('postMessage') + }, + }) + + cy.openFile(filename) + cy.waitForViewer() + cy.waitForCollabora(true, true).within(() => { + cy.get('#closebutton').click() + cy.waitForViewerClose() + }) + }) + }) + }) }) diff --git a/cypress/e2e/share-internal.spec.js b/cypress/e2e/share-internal.spec.js index e66572e881..758ffc9372 100644 --- a/cypress/e2e/share-internal.spec.js +++ b/cypress/e2e/share-internal.spec.js @@ -2,7 +2,7 @@ * SPDX-FileCopyrightText: 2023 Julius Härtl * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { User } from '@nextcloud/cypress' +import { User } from '@nextcloud/e2e-test-server/cypress' import { randHash } from '../utils/index.js' const shareOwner = new User(randHash(), randHash()) const shareRecipient = new User(randHash(), randHash()) diff --git a/cypress/e2e/share-link.js b/cypress/e2e/share-link.js index 873ae950f1..5cb9bb9dca 100644 --- a/cypress/e2e/share-link.js +++ b/cypress/e2e/share-link.js @@ -2,7 +2,7 @@ * SPDX-FileCopyrightText: 2023 Julius Härtl * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { User } from '@nextcloud/cypress' +import { User } from '@nextcloud/e2e-test-server/cypress' import { randHash } from '../utils/index.js' const shareOwner = new User(randHash(), randHash()) @@ -10,6 +10,7 @@ const otherUser = new User(randHash(), randHash()) describe('Public sharing of office documents', () => { before(function() { + cy.nextcloudTestingAppConfigSet('richdocuments', 'doc_format', '') cy.createUser(shareOwner) cy.createUser(otherUser) @@ -104,6 +105,37 @@ describe('Public sharing of office documents', () => { }) }) }) + + describe('New file', () => { + before(() => { + cy.createFolder(shareOwner, '/Shared-Folder') + cy.createFolder(shareOwner, '/Shared-Folder/Subfolder') + }) + + it('Creates a new file in a public share as a guest', () => { + cy.shareLink(shareOwner, '/Shared-Folder', { permissions: 13 }).then((token) => { + cy.logout() + + cy.visit(`/s/${token}`, { + onBeforeLoad(win) { + cy.spy(win, 'postMessage').as('postMessage') + }, + }) + + cy.get('tr[data-cy-files-list-row-name="Subfolder"]') + .should('be.visible') + .click() + + cy.newFileFromMenu('document', 'MyNewFile') + waitForCollabora() + + // Make sure the document is still in the correct subfolder + cy.reload() + cy.get('tr[data-cy-files-list-row-name="MyNewFile.odt"]') + .should('be.visible') + }) + }) + }) }) }) diff --git a/cypress/e2e/talk.spec.js b/cypress/e2e/talk.spec.js new file mode 100644 index 0000000000..7cac42a9d5 --- /dev/null +++ b/cypress/e2e/talk.spec.js @@ -0,0 +1,111 @@ +/** + * SPDX-FileCopyrightText: 2023 Julius Härtl + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +describe('Talk integraiton integration', function() { + let randUser + + const resetConfig = () => { + cy.nextcloudTestingAppConfigSet('files', 'watermark_enabled', 'no') + cy.nextcloudTestingAppConfigSet('files', 'watermark_text', '{userId}') + cy.nextcloudTestingAppConfigSet('files', 'watermark_shareTalkPublic', 'no') + cy.nextcloudTestingAppConfigSet('richdocuments', 'uiDefaults-UIMode', 'notebookbar') + cy.nextcloudTestingAppConfigSet('richdocuments', 'doc_format', '') + } + + before(function() { + resetConfig() + cy.createRandomUser().then(user => { + randUser = user + cy.login(user) + cy.uploadFile(user, 'document.odt', 'application/vnd.oasis.opendocument.text', '/document.odt') + }) + }) + + afterEach(() => { + resetConfig() + }) + + const filename = 'document.odt' + + beforeEach(function() { + cy.login(randUser) + }) + + it('Can share a file to a talk room and open it', function() { + cy.createTalkRoom(randUser, { + roomName: 'Test room', + }).then(room => { + cy.log(`Created talk room "${room.name}"`, room) + cy.shareFileToTalkRoom(randUser, filename, room.token) + cy.visit(`/call/${room.token}`) + cy.get('.file-preview') + .should('be.visible') + .should('contain.text', filename) + .click() + + cy.waitForViewer() + cy.waitForCollabora() + }) + }) + + it.skip('See that the file is shared without download', function() { + cy.nextcloudTestingAppConfigSet('files', 'watermark_enabled', 'yes') + cy.nextcloudTestingAppConfigSet('files', 'watermark_shareTalkPublic', 'yes') + cy.nextcloudTestingAppConfigSet('files', 'watermark_text', 'TestingWatermark') + + cy.createTalkRoom(randUser, { + roomName: 'Secure room', + }).then(room => { + cy.log(`Created talk room "${room.name}"`, room) + cy.shareFileToTalkRoom(randUser, filename, room.token, { permission: 1 }) + cy.makeTalkRoomPublic(randUser, room.token) + + cy.logout() + cy.clearAllLocalStorage() + cy.visit(`/call/${room.token}`) + cy.get('.username-form__input input[type="text"]') + .should('be.visible') + .type('Test user{enter}') + + // Assert that the download button is hidden in talk + cy.get('.messages:contains("document.odt")') + .trigger('mouseover') + + cy.get('.file-preview') + .closest('.message') + .find('button[aria-label="Actions"]') + .should('be.visible') + .click() + + cy.get('.action:contains("Download")') + .should('not.exist') + + // Assert the file is still opening + cy.get('.file-preview') + .should('be.visible') + .should('contain.text', filename) + // We need to get the href to work around how cypress works with windows + .invoke('attr', 'href') + .then((href) => { + cy.visit(href) + + cy.get('[data-cy="guestNameModal"]').should('be.visible') + cy.inputCollaboraGuestName('A guest') + + cy.waitForCollabora() + + cy.url().then(url => { + const baseUrl = url.split('?')[0] + cy.request({ + url: baseUrl + '/download', + failOnStatusCode: false, + }).then((response) => { + expect(response.status).to.eq(403) + }) + }) + }) + }) + }) +}) diff --git a/cypress/e2e/templates.spec.js b/cypress/e2e/templates.spec.js index f4c54d1ec8..e8da9e890f 100644 --- a/cypress/e2e/templates.spec.js +++ b/cypress/e2e/templates.spec.js @@ -3,12 +3,13 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ -import {User} from "@nextcloud/cypress"; +import {User} from "@nextcloud/e2e-test-server/cypress"; describe('Global templates', function() { let randUser before(function() { + cy.nextcloudTestingAppConfigSet('richdocuments', 'doc_format', '') cy.createRandomUser().then(user => { randUser = user cy.createFolder(randUser, 'Templates-user') @@ -93,10 +94,13 @@ describe('Global templates', function() { cy.waitForCollabora() }) - // FIXME: Unskip once server API for new menu entries works on public shares - // https://github.com/nextcloud/richdocuments/issues/3170 it.skip('Create a file from a system template as guest', () => { - cy.uploadSystemTemplate() + cy.uploadSystemTemplate({ + fixturePath: 'templates/presentation.otp', + fileName: 'myslides.otp', + mimeType: 'application/vnd.oasis.opendocument.presentation-template', + }) + cy.createFolder(randUser, '/my-share') cy.shareLink(randUser, '/my-share', { permissions: 31 }).then((token) => { @@ -110,25 +114,22 @@ describe('Global templates', function() { .should('be.visible') .click() - cy.get('.newFileMenu', { timeout: 10000 }) + cy.get('button[role="menuitem"]') + .contains('New presentation') .should('be.visible') - .contains('.menuitem', 'New presentation') - .as('menuitem') + .click() + cy.get('.input-field__input') + .type('FileFromTemplate') + cy.get('.template:contains("myslides")') + .scrollIntoView() .should('be.visible') .click() - cy.get('@menuitem').find('.filenameform input[type=text]').type('FileFromTemplate') - cy.get('@menuitem').find('.filenameform .icon-confirm').click() - - cy.get('#template-picker') - .as('form') - .should('be.visible') - .contains('h2', 'systemtemplate') + cy.get('button:contains("Create")') + .scrollIntoView() .should('be.visible') .click() - cy.get('.oc-dialog').find('button.primary').click() - cy.waitForViewer() cy.waitForCollabora() }) @@ -182,13 +183,33 @@ describe('User templates', function() { }) }) - it('Create a document from a template with fields', () => { + it.skip('Create a document from a template with fields', () => { const fields = [ - { type: 'rich-text', alias: 'Name', content: 'Nextcloud' }, - { type: 'rich-text', alias: 'Favorite app', content: 'richdocuments' }, - { type: 'checkbox', alias: 'Uses Nextcloud at home', checked: true }, + { index: 'ContentControls.ByIndex.0', type: 'rich-text', alias: 'Name', content: 'Nextcloud' }, + { index: 'ContentControls.ByIndex.1', type: 'rich-text', alias: 'Favorite app', content: 'richdocuments' }, + { index: 'ContentControls.ByIndex.2', type: 'checkbox', alias: 'Uses Nextcloud at home', checked: true }, + + { index: 'ContentControls.ByIndex.3', type: 'rich-text', alias: '', content: '' }, + { index: 'ContentControls.ByIndex.4', type: 'checkbox', alias: '', checked: false }, ] + // Intercept the initial templates request to ensure it does not get the fields yet + cy.intercept( + 'GET', + '**/apps/files/api/v1/templates', + (req) => req.continue(), + ).as('templatesRequest') + + // Intercept the POST request to verify the correct fields are submitted + cy.intercept('POST', '**/templates/create', (req) => { + const templateFields = Object.values(req.body.templateFields) + + expect(templateFields[0].content).to.equal(fields[0].content) + expect(templateFields[1].content).to.equal(fields[1].content) + + req.continue() + }).as('reqFillFields') + cy.visit('/apps/files') // Create a new document @@ -202,21 +223,19 @@ describe('User templates', function() { cy.get('input[data-cy-files-new-node-dialog-input=""]').type('FileFromTemplateWithFields') cy.get('button[data-cy-files-new-node-dialog-submit=""]').click() + // Ensure the template fields array is of length 0, meaning no fields were fetched + cy.wait('@templatesRequest').then(({ response }) => { + const templates = response.body.ocs.data + const template = templates[1].templates[0] + + expect(template.fields.length).to.equal(0) + }) + // Choose the document template cy.get('form.templates-picker__form').as('templatePicker') cy.get('@templatePicker').contains('document').click() cy.get('@templatePicker').find('input[type="submit"]').click() - // Intercept the POST request to verify the correct fields are submitted - cy.intercept('POST', '**/templates/create', (req) => { - const templateFields = Object.values(req.body.templateFields) - - expect(templateFields[0].content).to.equal(fields[0].content) - expect(templateFields[1].content).to.equal(fields[1].content) - - req.continue() - }).as('reqFillFields') - cy.submitTemplateFields(fields) // Wait for the response and collect the file ID of the created file diff --git a/cypress/fixtures/next % cloud.odt b/cypress/fixtures/next % cloud.odt new file mode 100644 index 0000000000..ca295b6da6 Binary files /dev/null and b/cypress/fixtures/next % cloud.odt differ diff --git a/cypress/fixtures/next & cloud.odt b/cypress/fixtures/next & cloud.odt new file mode 100644 index 0000000000..ddc23d670d Binary files /dev/null and b/cypress/fixtures/next & cloud.odt differ diff --git a/cypress/fixtures/templates/document_template_with_fields.odt b/cypress/fixtures/templates/document_template_with_fields.odt index 5083b1b649..1606fab51f 100644 Binary files a/cypress/fixtures/templates/document_template_with_fields.odt and b/cypress/fixtures/templates/document_template_with_fields.odt differ diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js index 9507c55835..c59c99b458 100644 --- a/cypress/plugins/index.js +++ b/cypress/plugins/index.js @@ -16,15 +16,12 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ const cypressSplit = require('cypress-split') -const browserify = require('@cypress/browserify-preprocessor') -const webpack = require('@cypress/webpack-preprocessor') -const webpackOptions = require('@nextcloud/webpack-vue-config') +const webpackPreprocessor = require('@cypress/webpack-batteries-included-preprocessor') module.exports = (on, config) => { cypressSplit(on, config) - on('file:preprocessor', browserify()) - on('file:preprocessor', webpack({ webpackOptions })) + on('file:preprocessor', webpackPreprocessor()) return config } diff --git a/cypress/support/commands.js b/cypress/support/commands.js index fe613859a5..107b0eb39e 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -4,12 +4,11 @@ */ import { basename } from 'path' import axios from '@nextcloud/axios' -import { User, addCommands } from '@nextcloud/cypress' +import { User, addCommands } from '@nextcloud/e2e-test-server/cypress' addCommands() const url = Cypress.config('baseUrl').replace(/\/index.php\/?$/g, '') -Cypress.env('baseUrl', url) Cypress.Commands.add('logout', (route = '/') => { cy.session('_guest', function() { @@ -18,7 +17,7 @@ Cypress.Commands.add('logout', (route = '/') => { Cypress.Commands.add('createFolder', (user, target) => { cy.login(user) - const rootPath = `${Cypress.env('baseUrl')}/remote.php/dav/files/${encodeURIComponent(user.userId)}` + const rootPath = `${url}/remote.php/dav/files/${encodeURIComponent(user.userId)}` const dirPath = target.split('/').map(encodeURIComponent).join('/') return cy.request('/csrftoken') @@ -52,7 +51,7 @@ Cypress.Commands.add('uploadFile', (user, fixture, mimeType, target = `/${fixtur const blob = Cypress.Blob.base64StringToBlob(file, mimeType) // Process paths - const rootPath = `${Cypress.env('baseUrl')}/remote.php/dav/files/${encodeURIComponent(user.userId)}` + const rootPath = `${url}/remote.php/dav/files/${encodeURIComponent(user.userId)}` const filePath = target.split('/').map(encodeURIComponent).join('/') try { const file = new File([blob], fileName, { type: mimeType }) @@ -82,7 +81,7 @@ Cypress.Commands.add('uploadFile', (user, fixture, mimeType, target = `/${fixtur }) Cypress.Commands.add('ocsRequest', (user, options) => { - const auth = { user: user.userId, password: user.password } + const auth = user ? { user: user.userId, password: user.password } : null return cy.request({ form: true, auth, @@ -109,6 +108,22 @@ Cypress.Commands.add('shareFileToUser', (user, path, targetUser, shareData = {}) }) }) +Cypress.Commands.add('shareFileToTalkRoom', (user, path, roomId, shareData = {}) => { + cy.login(user) + cy.ocsRequest(user, { + method: 'POST', + url: `${url}/ocs/v2.php/apps/files_sharing/api/v1/shares?format=json`, + body: { + path, + shareType: 10, + shareWith: roomId, + ...shareData, + }, + }).then(response => { + cy.log(`${user.userId} shared ${path} with talk room ${roomId}`, response.status) + }) +}) + Cypress.Commands.add('shareFileToRemoteUser', (user, path, targetUser, shareData = {}) => { cy.login(user) const federatedId = `${targetUser.userId}@${url}` @@ -173,7 +188,7 @@ Cypress.Commands.add('nextcloudEnableApp', (appId) => { cy.login(new User('admin', 'admin')) cy.request({ method: 'POST', - url: `${Cypress.env('baseUrl')}/ocs/v1.php/cloud/apps/${appId}?format=json`, + url: `${url}/ocs/v1.php/cloud/apps/${appId}?format=json`, form: true, auth: { user: 'admin', pass: 'admin' }, headers: { @@ -193,7 +208,7 @@ Cypress.Commands.add('setPersonalTemplateFolder', (user, templateFolder) => { .then(({ body }) => body.token) .then(requesttoken => { return cy.request({ - url: `${Cypress.env('baseUrl')}/index.php/apps/richdocuments/ajax/personal.php`, + url: `${url}/index.php/apps/richdocuments/ajax/personal.php`, method: 'POST', headers: { requesttoken, @@ -208,7 +223,7 @@ Cypress.Commands.add('nextcloudTestingAppConfigSet', (appId, configKey, configVa cy.login(new User('admin', 'admin')) cy.request({ method: 'POST', - url: `${Cypress.env('baseUrl')}/ocs/v1.php/apps/testing/api/v1/app/${appId}/${configKey}?format=json`, + url: `${url}/ocs/v1.php/apps/testing/api/v1/app/${appId}/${configKey}?format=json`, auth: { user: 'admin', pass: 'admin' }, headers: { 'OCS-ApiRequest': 'true', @@ -223,7 +238,7 @@ Cypress.Commands.add('nextcloudTestingAppConfigSet', (appId, configKey, configVa }) Cypress.Commands.add('waitForViewer', () => { - cy.get('#viewer', { timeout: 30000 }) + cy.get('#viewer', { timeout: 50000 }) .should('be.visible') .and('have.class', 'modal-mask') .and('not.have.class', 'icon-loading') @@ -261,18 +276,41 @@ Cypress.Commands.add('waitForCollabora', (wrapped = false, federated = false) => return cy.get('@loleafletframe') }) -Cypress.Commands.add('waitForPostMessage', (messageId, values = undefined) => { +Cypress.Commands.add('waitForPostMessage', (messageId, expectedValues = undefined) => { + const checkExpectedValues = (message, values) => { + for (const [key, value] of Object.entries(values)) { + if (!message.Values[key] || message.Values[key] !== value) { + return false + } + } + + return true + } + cy.get('@postMessage', { timeout: 20000 }).should(spy => { const calls = spy.getCalls() - const findMatchingCall = calls.find(call => call.args[0].indexOf('"MessageId":"' + messageId + '"') !== -1) - if (!findMatchingCall) { - return expect(findMatchingCall).to.not.be.undefined + const messagesMatchingId = [] + + // Find all messages matching the given ID + // We do it this way to avoid the shallow copy of Array.filter() + for (const call of calls) { + if (call.args[0].includes(`"MessageId":"${messageId}"`)) { + messagesMatchingId.push(JSON.parse(call.args[0])) + } } - if (!values) { - const object = JSON.parse(findMatchingCall.args[0]) - values.forEach(value => { - expect(object.Values).to.have.property(value, values[value]) - }) + + expect(messagesMatchingId.length).to.be.greaterThan(0) + + if (expectedValues) { + const messagesMatchingValues = [] + + for (const message of messagesMatchingId) { + if (checkExpectedValues(message, expectedValues)) { + messagesMatchingValues.push(message) + } + } + + expect(messagesMatchingValues.length).to.be.greaterThan(0) } }) }) @@ -292,11 +330,9 @@ Cypress.Commands.add('closeDocument', () => { }) Cypress.Commands.add('verifyOpen', (filename) => { - cy.get('#app-sidebar-vue') - .should('be.visible') - cy.get('.app-sidebar-header__mainname') - .should('be.visible') - .should('contain.text', filename) + cy.get('input#document-name-input').should(($docName) => { + expect($docName.val()).to.equal(filename) + }) }) Cypress.Commands.add('uploadSystemTemplate', ({ fixturePath, fileName, mimeType }) => { @@ -321,19 +357,35 @@ Cypress.Commands.add('submitTemplateFields', (fields) => { for (const field of fields) { switch (field.type) { + case 'rich-text': - cy.get('@templateFiller') - .find(`input[placeholder="${field.alias}"]`) - .type(field.content) + if (!field.alias) { + cy.get('@templateFiller') + .find(`label[for="text-field${field.index}"]`) + .should('not.exist') + } else { + cy.get('@templateFiller') + .find(`input[placeholder="${field.alias}"]`) + .type(field.content) + } + break + case 'checkbox': - cy.get('@templateFiller') - .find('span.checkbox-radio-switch__text').contains(field.alias) - .click() + if (!field.alias) { + cy.get('@templateFiller') + .find(`input[id="checkbox-field${field.index}`) + .should('not.exist') + } else { + cy.get('@templateFiller') + .find('span.checkbox-radio-switch__text').contains(field.alias) + .click() + } + break + default: expect.fail('Using a field type not yet supported') - break } } @@ -351,7 +403,7 @@ Cypress.Commands.add('verifyTemplateFields', (fields, fileId) => { cy.get('@requestToken').then(requesttoken => { cy.request({ method: 'GET', - url: Cypress.env('baseUrl') + apiEndpoint + fileId + '?format=json', + url: url + apiEndpoint + fileId + '?format=json', headers: { requesttoken, }, @@ -359,6 +411,12 @@ Cypress.Commands.add('verifyTemplateFields', (fields, fileId) => { for (const index in body.ocs.data) { const field = body.ocs.data[index] + // If a field has no name or alias, we don't need + // to check it because it is not shown in the template filler + if (!field.alias) { + continue; + } + switch (field.type) { case 'rich-text': expect(field.content).to.equal(fields[index].content) @@ -368,7 +426,6 @@ Cypress.Commands.add('verifyTemplateFields', (fields, fileId) => { break default: expect.fail('Using a field type not yet supported') - break } } }) @@ -376,10 +433,60 @@ Cypress.Commands.add('verifyTemplateFields', (fields, fileId) => { }) Cypress.Commands.add('pickFile', (filename) => { - cy.get('.office-target-picker') - .find(`tr[data-filename="${filename}"]`) - .click() - cy.get('.office-target-picker') - .find('button[aria-label="Select file"]') - .click() + cy.get('.office-target-picker') + .find(`tr[data-filename="${filename}"]`) + .click() + cy.get('.office-target-picker') + .find('button[aria-label="Select file"]') + .click() +}) + +Cypress.Commands.add('createTalkRoom', (user, options = {}) => { + cy.login(user) + return cy.ocsRequest(user, { + method: 'POST', + url: `${url}/ocs/v2.php/apps/spreed/api/v4/room?format=json`, + body: { + roomType: options.roomType || 3, // Default to group conversation + roomName: options.roomName, + invite: options.invite || '', + source: options.source || '', + objectType: options.objectType || '', + objectId: options.objectId || '', + password: options.password || '', + } + }).then(response => { + cy.log(`Created talk room "${options.roomName}"`, response.status) + return cy.wrap(response.body.ocs.data) + }) +}) + +Cypress.Commands.add('makeTalkRoomPublic', (user, token, password = '') => { + cy.login(user) + return cy.ocsRequest(user, { + method: 'POST', + url: `${url}/ocs/v2.php/apps/spreed/api/v4/room/${token}/public?format=json`, + body: { + password: password, + } + }).then(response => { + cy.log(`Made talk room public`, response.status) + return cy.wrap(response.body.ocs.data) + }) +}) + +Cypress.Commands.add('newFileFromMenu', (fileType = 'document', fileName = 'MyNewFile') => { + cy.get('div[data-cy-files-content-breadcrumbs=""]') + .find('form[data-cy-upload-picker=""]') + .should('be.visible') + .click() + + cy.get('button[role="menuitem"]') + .contains('New ' + fileType) + .should('be.visible') + .click() + + cy.get('input[data-cy-files-new-node-dialog-input=""]') + .should('be.visible') + .type(fileName + '{enter}') }) diff --git a/docs/ai.md b/docs/ai.md new file mode 100644 index 0000000000..dcde57cca8 --- /dev/null +++ b/docs/ai.md @@ -0,0 +1,31 @@ + +# AI document generation + +This app implements task processing providers to generate office documents from a user prompt. You can disable these providers +in the "Artificial intelligence" admin settings section. + +This feature is accessible in the Assistant app. +These providers require to setup multiple background job workers because each task schedules an extra one +to actually generate the document content with a TextToText provider. + +You need a provider for the TextToText task type for this document generation feature to work. +You can find the apps that implement such provider in +[the overview of AI features](https://docs.nextcloud.com/server/latest/admin_manual/ai/overview.html#overview-of-ai-features). +Look for the "Text processing using LLMs" feature in the app table. + +See how to set up background job workers in the +[related page of the Nextcloud admin documentation](https://docs.nextcloud.com/server/latest/admin_manual/ai/overview.html#ai-overview-improve-ai-task-pickup-speed). + +## Office text document generation + +You can generate docx/odt/pdf documents from a prompt with the "Generate Office text document" task type in the Assistant. +This feature actually first generates markdown from the prompt, then converts it to HTML and then asks Collabora +to convert it into a document. + +## Spreadsheet document generation + +You can generate xlsx/ods documents from a prompt with the "Generate Office spreadsheet document" task type in the Assistant. +This feature first generates CSV content from the prompt and asks Collabora to convert it into a document. diff --git a/docs/app_settings.md b/docs/app_settings.md index 699effde41..562a1f2975 100644 --- a/docs/app_settings.md +++ b/docs/app_settings.md @@ -25,8 +25,36 @@ token. These credentials then can be used by the 3rd party application to make c ### Canonical webroot Canonical webroot, in case there are multiple, for Collabora Online to use. Provide the one with least restrictions. E.g.: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance. +### Theme + +By default Nextcloud Office comes with Nextcloud theme (monochrome icons following Nextcloud style), to change to a more traditional office look: + + occ config:app:set richdocuments theme --value="collabora" + +To go back to default theme: + + occ config:app:set richdocuments theme --value="nextcloud" + +### Previews + +By default Nextcloud will generate previews of Office files using the Collabora file conversion endpoint. This can be turned off through + + occ config:app:set richdocuments preview_generation --type boolean --lazy --value true + ### Electronic signature From a shell running in the Nextcloud root directory, run the following `occ` command to configure a non-default base URL for eID Easy. For example: - ./occ config:app:set --value https://test.eideasy.com richdocuments esignature_base_url + occ config:app:set richdocuments esignature_base_url --type string --value https://test.eideasy.com + +### UI mode + +Switching between classic and tabbed view is possible as a default, however users can still change this while using Office: + + occ config:app:set richdocuments uiDefaults-UIMode --type string --value classic + +### Disable local editing + +In case no desktop client is used on an instance you may disable the local editing button within office with: + + occ config:app:set richdocuments open_local_editor --type string --value no diff --git a/docs/issues.md b/docs/issues.md index e52d81a345..8167321c50 100644 --- a/docs/issues.md +++ b/docs/issues.md @@ -14,8 +14,11 @@ This is most likely caused by the Documents app being enabled. Disable it and yo Be sure to check the error log from docker (docker logs id-of-your-instance). If the logs note something like: -No acceptable WOPI hosts found matching the target host [YOUR NEXTCLOUD DOMAIN] in config. -Unauthorized WOPI host. Please try again later and report to your administrator if the issue persists. + +> No acceptable WOPI hosts found matching the target host [YOUR NEXTCLOUD DOMAIN] in config. + +> Unauthorized WOPI host. Please try again later and report to your administrator if the issue persists. + you might have started the docker container with the wrong URL. Be sure to triplecheck that you start it with the URL of your Nextcloud server, not the server where Collabora Online runs on. ### Connection is not allowed errors. diff --git a/docs/templates.md b/docs/templates.md index fcf9ba3b63..81b0151b9d 100644 --- a/docs/templates.md +++ b/docs/templates.md @@ -40,3 +40,5 @@ folders among each other. ### Replacing empty templates Empty template files can be replaced the existing files in `appdata_[instanceid]/richdocuments/empty_templates/`. The files can be reverted to the templates shipped with the release by running the `occ richdocuments:update-empty-templates` command. + +As of Nextcloud 32, empty templates default to document templates based closely on MS Word desktop's current default. In order to regenerate them, you need to run the `occ` command above, which will wipe any custom empty templates you have so be sure to back them up. diff --git a/emptyTemplates/ai/pitch.odp b/emptyTemplates/ai/pitch.odp new file mode 100644 index 0000000000..7cd8270ddd Binary files /dev/null and b/emptyTemplates/ai/pitch.odp differ diff --git a/emptyTemplates/ai/security.odp b/emptyTemplates/ai/security.odp new file mode 100644 index 0000000000..43bea9254f Binary files /dev/null and b/emptyTemplates/ai/security.odp differ diff --git a/emptyTemplates/ai/triangle.odp b/emptyTemplates/ai/triangle.odp new file mode 100644 index 0000000000..69df3e0012 Binary files /dev/null and b/emptyTemplates/ai/triangle.odp differ diff --git a/emptyTemplates/document.ott b/emptyTemplates/document.ott index 176185538c..a0a5677a0a 100644 Binary files a/emptyTemplates/document.ott and b/emptyTemplates/document.ott differ diff --git a/assets/fonts/.gitkeep b/fonts/.gitkeep similarity index 100% rename from assets/fonts/.gitkeep rename to fonts/.gitkeep diff --git a/assets/fonts/AmaticSC-Regular.ttf b/fonts/AmaticSC-Regular.ttf similarity index 100% rename from assets/fonts/AmaticSC-Regular.ttf rename to fonts/AmaticSC-Regular.ttf diff --git a/assets/fonts/AmaticSC-Regular.ttf.license b/fonts/AmaticSC-Regular.ttf.license similarity index 100% rename from assets/fonts/AmaticSC-Regular.ttf.license rename to fonts/AmaticSC-Regular.ttf.license diff --git a/krankerl.toml b/krankerl.toml index 39210c65c8..e18bbcc4ec 100644 --- a/krankerl.toml +++ b/krankerl.toml @@ -1,7 +1,7 @@ [package] before_cmds = [ - "composer install --working-dir=composer/", - "composer dump --working-dir=composer/", + "composer install --no-dev", + "composer dump", "bash ./build/download-fonts.sh", "npm ci", "npm run build" diff --git a/l10n/af.js b/l10n/af.js index e22bea85b6..8599d5b85a 100644 --- a/l10n/af.js +++ b/l10n/af.js @@ -19,6 +19,7 @@ OC.L10N.register( "Save" : "Stoor", "Confirm" : "Bevestig", "Cancel" : "Kanselleer", + "Create" : "Skep", "Submit" : "Dien in", "Description" : "Beskrywing", "Close" : "Sluit", @@ -27,7 +28,6 @@ OC.L10N.register( "Details" : "Besonderhede", "Download" : "Laai af", "Guest" : "Gas", - "Create" : "Skep", "Error" : "Fout", "An error occurred" : "'n Fout het voorgekom", "Nickname" : "Bynaam", diff --git a/l10n/af.json b/l10n/af.json index 74b02365c9..b370482c1c 100644 --- a/l10n/af.json +++ b/l10n/af.json @@ -17,6 +17,7 @@ "Save" : "Stoor", "Confirm" : "Bevestig", "Cancel" : "Kanselleer", + "Create" : "Skep", "Submit" : "Dien in", "Description" : "Beskrywing", "Close" : "Sluit", @@ -25,7 +26,6 @@ "Details" : "Besonderhede", "Download" : "Laai af", "Guest" : "Gas", - "Create" : "Skep", "Error" : "Fout", "An error occurred" : "'n Fout het voorgekom", "Nickname" : "Bynaam", diff --git a/l10n/an.js b/l10n/an.js index c57c0834db..5621459fbb 100644 --- a/l10n/an.js +++ b/l10n/an.js @@ -3,20 +3,20 @@ OC.L10N.register( { "The file was uploaded" : "O fichero estió puyato", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O fichero puyato sobrexe a directiva upload_max_filesize en php.ini", - "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'espezificó en o formulario HTML", - "The file was only partially uploaded" : "O fichero nomás s'ha cargau parzialmén", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'especificó en o formulario HTML", + "The file was only partially uploaded" : "O fichero nomás s'ha cargau parcialment", "No file was uploaded" : "No s'ha cargau garra fichero", "Missing a temporary folder" : "Falta una carpeta temporal", "Could not write file to disk" : "No se podió escribir o fichero en o disco", "A PHP extension stopped the file upload" : "Una estensión de PHP aturó a carga de fichers", "File is too big" : "O fichero ye masiau gran", - "Invalid file provided" : "Fichero proporzionau no valiu", + "Invalid file provided" : "Fichero proporcionau no valiu", "New" : "Nuevo", - "Cancel" : "Canzelar", + "Cancel" : "Cancelar", + "Create" : "Crear", "Close" : "Zarrar", "Details" : "Detalles", "Download" : "Escargar", - "Create" : "Crear", "Error" : "Error" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/an.json b/l10n/an.json index af9789f974..95460a775c 100644 --- a/l10n/an.json +++ b/l10n/an.json @@ -1,20 +1,20 @@ { "translations": { "The file was uploaded" : "O fichero estió puyato", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O fichero puyato sobrexe a directiva upload_max_filesize en php.ini", - "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'espezificó en o formulario HTML", - "The file was only partially uploaded" : "O fichero nomás s'ha cargau parzialmén", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'especificó en o formulario HTML", + "The file was only partially uploaded" : "O fichero nomás s'ha cargau parcialment", "No file was uploaded" : "No s'ha cargau garra fichero", "Missing a temporary folder" : "Falta una carpeta temporal", "Could not write file to disk" : "No se podió escribir o fichero en o disco", "A PHP extension stopped the file upload" : "Una estensión de PHP aturó a carga de fichers", "File is too big" : "O fichero ye masiau gran", - "Invalid file provided" : "Fichero proporzionau no valiu", + "Invalid file provided" : "Fichero proporcionau no valiu", "New" : "Nuevo", - "Cancel" : "Canzelar", + "Cancel" : "Cancelar", + "Create" : "Crear", "Close" : "Zarrar", "Details" : "Detalles", "Download" : "Escargar", - "Create" : "Crear", "Error" : "Error" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/ar.js b/l10n/ar.js index 54ca3ae29b..c3f3b18fb1 100644 --- a/l10n/ar.js +++ b/l10n/ar.js @@ -28,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "يمكن تحميل ملفات القوالب template فقط", "Invalid file provided" : "تمّ تقديم ملف غير صالح", "Template not found" : "القالب template غير موجود", + "Unable to determine the proper file extension for %1$s" : "يتعذّر تحديد الامتداد المناسب للملف %1$s", + "Unable to fetch information on %1$s" : "يتعذّر جلب معلومات عن %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "صورة (.png)", + "Image (.svg)" : "صورة (.svg)", + "Text (.rtf)" : "نصِّي (.rtf)", + "Text (.txt)" : "نصِّي (.txt)", + "Word Document (.docx)" : "مُستند \"وورد\" (.docx)", + "OpenDocument Text (.odt)" : "مستند \"أوبن أوفيس وورد\" (.odt)", + "Excel Workbook (.xlsx)" : "جدول عمل \"إكسل\" (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "جدول عمل \"أوبن أوفيس\" (.ods)", + "PowerPoint Presentation (.pptx)" : "عرض \"باور بوينت\" (.pptx)", + "OpenDocument Presentation (.odp)" : "عرض \"أوبن أوفيس\" (.odp)", "New document" : "مستند جديد", "New spreadsheet" : "جدول بيانات جديد", "New presentation" : "عرض تقديمي جديد", @@ -41,17 +54,22 @@ OC.L10N.register( "Sheets" : "الأوراق sheets", "Slides" : "شرائح", "Office" : "المكتب", + "Instructions" : "تعليمات", "Empty" : "فارغ", "Anonymous guest" : "ضيف مجهول", "%s (Guest)" : "%s(ضيف)", "Edit office documents directly in your browser." : "حرّر مستندات المكتب مباشرةً في مُتصفّحِك.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "يُمكن لهذا التطبيق الاتصال بخادم Collabora Online (أو غيره) (من عملاء WOPI). نكست كلاود هو مُضيف host ـ WOPI. يُرجى قراءة الوثائق لمعرفة المزيد.\n\nيمكنك أيضًا تعديل مستنداتك دون اتصال بالإنترنت باستخدام تطبيق Collabora Office من: \n** متجر [أندرويد] (https://play.google.com/store/apps/details?id=com.collabora.libreoffice) \n** أو من متجر [نظام تشغيل آي أو إس] (https://apps.apple.com/us/app/collabora-office/id1440482071) **.", - "Global Templates" : "قالب عمومي", - "New" : "جديد", "Uploaded template \"{name}\"" : "قالب مُحمَّل \"{name}\"", "Template \"{name}\" already exists" : "القالب \"{name}\" موجود مسبقاً", "Unable to delete template" : "تعذّر حذف القالب", "Deleted template" : "قالب محذوف", + "Global Templates" : "قالب عمومي", + "New" : "جديد", + "Contact {0} to get an own installation." : "اتصل بـ {0} للحصول على التنصيب الخاص بك.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "تأكد من تعيين عنوان URL هذا: {url}  في ملف coolwsd.xml الخاص بخادوم Collabora Online الخاص بك لضمان تحميل الخطوط المضافة تلقائياً. يُرجى ملاحظة أن http:// سيعمل فقط مع إصدارات تنقيح أخطاء Collabora Online. في مرحلة الإنتاج، يجب عليك استخدام https:// لتهيئة الخطوط عن بُعد.", + "Failed to save settings" : "تعذّر حفظ الإعدادات", + "Font format not supported ({mime})" : "تنسيق الخط ({mime}) غير مدعوم", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "تطبيق \"المكتب\" Office لنكست كلاود هو مجموعة مكتبية قوية على الإنترنت تعتمد على Collabora online وتدعم التحرير التعاوني للمستندات، و هو يدعم جميع تنسيقات المستندات الرئيسية وجداول البيانات و ملفات العروض التقديمية؛ ويعمل على جميع المتصفحات الحديثة.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online هي مجموعة مكتبية قوية على الإنترنت قائمة على حزمة \"ليبر أوفيس\" ‏LibreOffice و تدعم التحرير التعاوني, و هي تدعم جميع تنسيقات المستندات الرئيسية وجداول البيانات و ملفات العروض التقديمية؛ وتعمل على جميع المتصفحات الحديثة.", "Could not establish connection to the Collabora Online server." : "تعذّر إنشاء اتصال بخادم Collabora Online.", @@ -109,59 +127,50 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroot، في حالة تعدد ما تستعملهم Collabora. إستعمل واحداً بأقل القيود. على سبيل المثال: استخدم non-shibbolized webroot إذا كان الوصول إلى هذا الخادم يكون أحياناً من shibbolized webroots و من non-shibbolized webroots في أحيانٍ أخرى. يمكنك تجاهل هذا الإعداد إذا تمّ استخدام webroot واحد فقط للوصول إلى هذا الخادم.", "Enable access for external apps" : "تمكين الوصول للتطبيقات الخارجية", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "قائمة عناوين IPV4 و IPV6 IP والشبكات الفرعية المسموح لها بتنفيذ طلبات النقاط الحدّيّة endpoints لـ WOPI. إذا لم يتم تحديد قائمة السماح allow list، فسيتم السماح لجميع المُضيفِين hosts. على سبيل المثال 10.0.0.20،10.0.4.0/24", - "Extra fonts" : "خطوط إضافية", - "Upload extra font file" : "قُم برفع ملف الخطوط الإضافية", + "Custom Fonts" : "خطوط مخصصة", + "Upload font file" : "تحميل ملف خطوط", "Upload a font file" : "إرفَع ملف خطوط", "Available fonts" : "الخطوط المُتاحة", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "للحصول على توافق مثالي للمستندات، نوصيك بتثبيت الخطوط شائعة الاستخدام. إذا كان المستخدمون لديك يعملون على مايكروسوف أوفيس، فيمكن تثبيت الخطوط التي اعتادوا استعمالها بالكيفية الموضحة في الوثائق.", "Custom fonts documentation" : "توثيق للخطوط المخصصة", - "Secure view settings" : "إعدادات العرض الآمن", - "Secure view enables you to secure documents by embedding a watermark" : "يتيح لك العرض الآمن تأمين المستندات عن طريق إدراج علامة مائية", + "Secure View" : "منظور آمن", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "تنطبق الإعدادات فقط على ملفات المكتب office files المتوافقة التي يتم فتحها في Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "سيتم تعطيل الخيارات التالية في Nextcloud Office: النسخ ، و التنزيل ، و التصدير ، و الطباعة", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "قد تظل الملفات قابلة للتنزيل من خلال نكست كلاود ما لم يتم تقييدها بخلاف ذلك من خلال إعدادات التحكم في المشاركة أو الوصول", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "قد تظل الملفات قابلة للتنزيل عبر طلبات WOPI إذا لم يتم تكوين إعدادات WOPI بشكل صحيح", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "سيتم حظر معاينة المستندات التي تحمل علامة مائية لمنع تسريب الصفحة الأولى من المستند", - "Enable watermarking" : "تمكين العلامة المائية", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "العناصر النائبة placeholders المدعومة: {userId}، {userDisplayName}، {email}، {date} ، {themingName}", - "Show watermark on tagged files" : "إظهار العلامة المائية على الملفات الموسومة", "Select tags to enforce watermarking" : "حدد الوسوم لفرض العلامة المائية", - "Show watermark for users of groups" : "إظهار العلامة المائية لمستخدمي المجموعات", - "Show watermark for all shares" : "إظهار العلامة المائية لجميع المشاركات", - "Show watermark for read only shares" : "إظهار العلامة المائية لمشاركات القراءة فقط ", - "Show watermark for shares without download permission" : "إظهار العلامة المائية للمشاركات بدون إذن التنزيل", - "Show watermark for all link shares" : "إظهار العلامة المائية لجميع روابط المشاركات ", - "Show watermark for download hidden shares" : "إظهار العلامة المائية لتنزيلات المشاركات المخفية", - "Show watermark for read only link shares" : "إظهار العلامة المائية لروابط مشاركات القراءة فقط ", - "Show watermark on link shares with specific system tags" : "إظهار العلامة المائية لروابط المشاركات التي عليها وسوم نظام محددة", - "Electronic signature settings" : "إعدادات التوقيع الالكتروني", + "Electronic Signature" : "التوقيع الالكتروني", "Client ID for the electronic signature API" : "مُعرِّف العميل client ID لواجهة تطبيق التوقيع الإلكتروني ", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "قم بملء نموذج التسجيل في https://eideasy.com/signup  للحصول على مُعرِّف و سر العميل.", "Secret for the electronic signature API" : "سر واجهة تطبيق التوقيع الالكتروني", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "يُمكن تنزيل السر عبر طلبات WOPI إذا لم يتم تكوين قائمة السماح الخاصة بـ WOPI بالشكل الصحيح.", - "Contact {0} to get an own installation." : "اتصل بـ {0} للحصول على التنصيب الخاص بك.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "تأكد من تعيين عنوان URL هذا: {url}  في ملف coolwsd.xml الخاص بخادوم Collabora Online الخاص بك لضمان تحميل الخطوط المضافة تلقائياً. يُرجى ملاحظة أن http:// سيعمل فقط مع إصدارات تنقيح أخطاء Collabora Online. في مرحلة الإنتاج، يجب عليك استخدام https:// لتهيئة الخطوط عن بُعد.", - "Failed to save settings" : "تعذّر حفظ الإعدادات", - "Font format not supported ({mime})" : "تنسيق الخط ({mime}) غير مدعوم", "Save" : "حفظ", "Remove" : "حذف", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "الرجاء إدخال اسم الضيف الذي ترغب في استخدامه قبل المتابعة إلى المستند. إذا لم تقم بتعيين واحد، فسيتم استخدام الإعداد الافتراضي.", "Guest name" : "اسم الضيف", "Submit name" : "إرسال الاسم", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "الرجاء إدخال اسم الضيف الذي ترغب في استخدامه قبل المتابعة إلى المستند. إذا لم تقم بتعيين واحد، فسيتم استخدام الإعداد الافتراضي.", "Confirm" : "تأكيد", "Cancel" : "إلغاء", + "Save As" : "حفظ باسم", "Save as" : "حفظ باسم", "Path to save" : "مسار الحفظ", - "Save As" : "حفظ باسم", + "Invalid file name" : "اسم الملف غير صحيح", + "Select template" : "إختَر قالباً", + "File name" : "اسم الملف", + "Create" : "إنشاء", + "Failed to set Zotero API key" : "تعذّر تعيين مفتاح واجهة برمجة تطبيقات Zotero API", "Link to your Zotero library" : "رابط إلى مكتبتك على Zotero", "Connect your Zotero account to make use of references within Office." : "قم بربط حسابك على Zotero للاستفادة من المراجع داخل Office.", "You can generate an account key here:" : "يُمكنك توليد مفتاح للحساب هنا:", "Zotero account settings" : "إعدادات حساب Zotero", "Zotero API key" : "مفتاح واجهة برمجة تطبيقات Zotero API", "Submit" : "إرسال ", - "Failed to set Zotero API key" : "تعذّر تعيين مفتاح واجهة برمجة تطبيقات Zotero API", - "Select a template directory" : "إختَر دليلاً للقوالب", "Select a personal template folder" : "حدّد مجلدَ قالبٍ شخصيٍ", + "Settings saved successfully." : "تمّ حفظ الإعدادات بنجاحٍ.", + "Failed to save settings." : "تعذّر حفظ الإعدادات.", + "Unexpected error occurred." : "حدث خطأ غير متوقع.", + "Personal Settings for Nextcloud Office" : "الإعدادات الشخصية لـ\"نكست كلاود أوفيس\"", + "Select a template directory" : "إختَر دليلاً للقوالب", "Remove personal template folder" : "قم بإزالة مجلد القالب الشخصي", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "ستتم إضافة القوالب الموجودة داخل هذا الدليل إلى مُحدِّد القوالب template selector في Nextcloud Office.", "Zotero" : "Zotero", @@ -181,22 +190,22 @@ OC.L10N.register( "No font overview" : "لا يمكن معاينة الخط", "Delete this font" : "حذف هذا الخط", "No results" : "لا نتائج", + "Select file" : "إختَر ملفّاً", "Select file or folder to link to" : "إختَر ملفّاً أو مُجلّداً للربط معه", "Could not find any section in the document" : "تعذر العثور على أي قسم في المستند", - "Select file" : "إختَر ملفّاً", + "{productName} is not configured" : "{productName} لم تتم تهيئته", + "Starting the built-in CODE server failed" : "فشل بدء تشغيل خادم CODE المُدمَج", + "Loading {filename} …" : "تحميل {filename} …", + "Failed to load {productName} - please try again later" : "فشل تحميل {productName} - يرجى المحاولة مرة أخرى لاحقًا", + "Open in local editor" : "فتح في محرّر محلي", + "Cluster is scaling …" : "العنقود يتمدد Cluster is scaling ...", + "The collaborative editing was terminated by another user" : "تمّ إنهاء التحرير التعاوني من قِبل مستخدِم آخر", "Document loading failed" : "تعذّر تحميل المستند", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "لمزيد التفاصل، يٌرجى مراجعة سجل الأنشطة في كولّابورا Collabora. كما يرجى التأكد من إمكانية الوصول إلى نكست كلاود من هنالك.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "تم إغلاق \"مقبس التوصيل\" socket connection بشكل غير متوقع. ربما تمّ تكوين الوكيل العكسي reverse proxy بشكل خاطئ. يرجى الاتصال بمسؤول النظام.", "More information can be found in the reverse proxy documentation" : "مزيد من المعلومات تجدها في توثيق \"الوكيل العكسي\" reverse proxy.", "Close" : "إغلاق", "Edit" : "تحرير", - "Starting the built-in CODE server failed" : "فشل بدء تشغيل خادم CODE المُدمَج", - "Loading {filename} …" : "تحميل {filename} …", - "Open in local editor" : "فتح في محرّر محلي", - "Cluster is scaling …" : "العنقود يتمدد Cluster is scaling ...", - "The collaborative editing was terminated by another user" : "تمّ إنهاء التحرير التعاوني من قِبل مستخدِم آخر", - "Failed to load {productName} - please try again later" : "فشل تحميل {productName} - يرجى المحاولة مرة أخرى لاحقًا", - "{productName} is not configured" : "{productName} لم تتم تهيئته", "Built-in CODE Server is starting up shortly, please wait." : "خادم CODE المُدمَج سيدأ العمل حالاً ، يرجى الانتظار.", "Built-in CODE Server is restarting, please wait." : "تجري الآن إعادة تشغيل خادم CODE المدمج ، الرجاء الانتظار.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "خطأ: لم يمكن العثور على AppImage. يُرجى إعادة تثبيت خادوم Collabora Online المُدمَج.", @@ -230,15 +239,23 @@ OC.L10N.register( "Follow current editor" : "إتبَعِ المُحرّر الحالي", "New file" : "ملف جديد", "Please enter the filename for the new file" : "رجاءً، أدخِل اسماً للملف الجديد", - "Create" : "إنشاء", - "New drawing" : "شكلُ توضيحيٌّ جديد", "Could not create file" : "تعذّر إنشاء الملف", - "Select template" : "إختَر قالباً", "Saved with error: Collabora Online should use the same protocol as the server installation." : "تمّ الحفظ مع وجود خطأ: يجب على Collabora Online أن تستعمل نفس بروتوكول تنصيب الخادم.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "تعذر إنشاء اتصال بخادوم Collabora Online. قد يكون هذا بسبب التكوين المفقود لخادم الويب الخاص بك. لمزيد من المعلومات، يرجى زيارة:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "يتطلب Nextcloud Office خادمًا منفصلاً يقوم بتشغيل Collabora Online لتوفير إمكانات التحرير.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "يتطلب Collabora Online خادمًا منفصلاً يعمل كعميل مماثل لـ WOPI لتوفير إمكانات التحرير.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "يُمكن لجميع المستخدمين تحرير المستندات باستخدام {productName} افتراضيًا. عندما يكون هذا الإعداد نشطًا، يمكن فقط لأعضاء المجموعات المحددة التعديل بينما يمكن للآخرين عرض المستندات فقط.", + "Secure view settings" : "إعدادات العرض الآمن", + "Secure view enables you to secure documents by embedding a watermark" : "يتيح لك العرض الآمن تأمين المستندات عن طريق إدراج علامة مائية", + "Enable watermarking" : "تمكين العلامة المائية", + "Show watermark on tagged files" : "إظهار العلامة المائية على الملفات الموسومة", + "Show watermark for users of groups" : "إظهار العلامة المائية لمستخدمي المجموعات", + "Show watermark for all shares" : "إظهار العلامة المائية لجميع المشاركات", + "Show watermark for read only shares" : "إظهار العلامة المائية لمشاركات القراءة فقط ", + "Show watermark for all link shares" : "إظهار العلامة المائية لجميع روابط المشاركات ", + "Show watermark for download hidden shares" : "إظهار العلامة المائية لتنزيلات المشاركات المخفية", + "Show watermark for read only link shares" : "إظهار العلامة المائية لروابط مشاركات القراءة فقط ", + "Show watermark on link shares with specific system tags" : "إظهار العلامة المائية لروابط المشاركات التي عليها وسوم نظام محددة", "Error" : "خطأ", "An error occurred" : "حدث خطأ", "Please choose your nickname to continue as guest user." : "الرجاء اختيار كُنيَةٍ لك للاستمرار كمستخدِم ضيف.", @@ -259,6 +276,10 @@ OC.L10N.register( "No templates defined." : "لم يتم تعريف أيّ قوالب.", "Add a new one?" : "إضافة واحدة أخري جديدة؟", "template preview" : "معاينة القالب", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "قد تظل الملفات قابلة للتنزيل من خلال نكست كلاود ما لم يتم تقييدها بخلاف ذلك من خلال إعدادات التحكم في المشاركة أو الوصول", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "سيتم حظر معاينة المستندات التي تحمل علامة مائية لمنع تسريب الصفحة الأولى من المستند", + "Show watermark for shares without download permission" : "إظهار العلامة المائية للمشاركات بدون إذن التنزيل", + "New drawing" : "شكلُ توضيحيٌّ جديد", "Collabora Online" : "Collabora Online", "Document already exists" : "المستند موجود بالفعل", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "يتم تمكين Collabora Online لجميع المستخدمين افتراضيًا. عندما يكون هذا الإعداد نشطًا، يمكن فقط لأعضاء المجموعات المحدّدة استخدامه.", diff --git a/l10n/ar.json b/l10n/ar.json index fb03a0de56..4a81a393e1 100644 --- a/l10n/ar.json +++ b/l10n/ar.json @@ -26,6 +26,19 @@ "Only template files can be uploaded" : "يمكن تحميل ملفات القوالب template فقط", "Invalid file provided" : "تمّ تقديم ملف غير صالح", "Template not found" : "القالب template غير موجود", + "Unable to determine the proper file extension for %1$s" : "يتعذّر تحديد الامتداد المناسب للملف %1$s", + "Unable to fetch information on %1$s" : "يتعذّر جلب معلومات عن %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "صورة (.png)", + "Image (.svg)" : "صورة (.svg)", + "Text (.rtf)" : "نصِّي (.rtf)", + "Text (.txt)" : "نصِّي (.txt)", + "Word Document (.docx)" : "مُستند \"وورد\" (.docx)", + "OpenDocument Text (.odt)" : "مستند \"أوبن أوفيس وورد\" (.odt)", + "Excel Workbook (.xlsx)" : "جدول عمل \"إكسل\" (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "جدول عمل \"أوبن أوفيس\" (.ods)", + "PowerPoint Presentation (.pptx)" : "عرض \"باور بوينت\" (.pptx)", + "OpenDocument Presentation (.odp)" : "عرض \"أوبن أوفيس\" (.odp)", "New document" : "مستند جديد", "New spreadsheet" : "جدول بيانات جديد", "New presentation" : "عرض تقديمي جديد", @@ -39,17 +52,22 @@ "Sheets" : "الأوراق sheets", "Slides" : "شرائح", "Office" : "المكتب", + "Instructions" : "تعليمات", "Empty" : "فارغ", "Anonymous guest" : "ضيف مجهول", "%s (Guest)" : "%s(ضيف)", "Edit office documents directly in your browser." : "حرّر مستندات المكتب مباشرةً في مُتصفّحِك.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "يُمكن لهذا التطبيق الاتصال بخادم Collabora Online (أو غيره) (من عملاء WOPI). نكست كلاود هو مُضيف host ـ WOPI. يُرجى قراءة الوثائق لمعرفة المزيد.\n\nيمكنك أيضًا تعديل مستنداتك دون اتصال بالإنترنت باستخدام تطبيق Collabora Office من: \n** متجر [أندرويد] (https://play.google.com/store/apps/details?id=com.collabora.libreoffice) \n** أو من متجر [نظام تشغيل آي أو إس] (https://apps.apple.com/us/app/collabora-office/id1440482071) **.", - "Global Templates" : "قالب عمومي", - "New" : "جديد", "Uploaded template \"{name}\"" : "قالب مُحمَّل \"{name}\"", "Template \"{name}\" already exists" : "القالب \"{name}\" موجود مسبقاً", "Unable to delete template" : "تعذّر حذف القالب", "Deleted template" : "قالب محذوف", + "Global Templates" : "قالب عمومي", + "New" : "جديد", + "Contact {0} to get an own installation." : "اتصل بـ {0} للحصول على التنصيب الخاص بك.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "تأكد من تعيين عنوان URL هذا: {url}  في ملف coolwsd.xml الخاص بخادوم Collabora Online الخاص بك لضمان تحميل الخطوط المضافة تلقائياً. يُرجى ملاحظة أن http:// سيعمل فقط مع إصدارات تنقيح أخطاء Collabora Online. في مرحلة الإنتاج، يجب عليك استخدام https:// لتهيئة الخطوط عن بُعد.", + "Failed to save settings" : "تعذّر حفظ الإعدادات", + "Font format not supported ({mime})" : "تنسيق الخط ({mime}) غير مدعوم", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "تطبيق \"المكتب\" Office لنكست كلاود هو مجموعة مكتبية قوية على الإنترنت تعتمد على Collabora online وتدعم التحرير التعاوني للمستندات، و هو يدعم جميع تنسيقات المستندات الرئيسية وجداول البيانات و ملفات العروض التقديمية؛ ويعمل على جميع المتصفحات الحديثة.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online هي مجموعة مكتبية قوية على الإنترنت قائمة على حزمة \"ليبر أوفيس\" ‏LibreOffice و تدعم التحرير التعاوني, و هي تدعم جميع تنسيقات المستندات الرئيسية وجداول البيانات و ملفات العروض التقديمية؛ وتعمل على جميع المتصفحات الحديثة.", "Could not establish connection to the Collabora Online server." : "تعذّر إنشاء اتصال بخادم Collabora Online.", @@ -107,59 +125,50 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroot، في حالة تعدد ما تستعملهم Collabora. إستعمل واحداً بأقل القيود. على سبيل المثال: استخدم non-shibbolized webroot إذا كان الوصول إلى هذا الخادم يكون أحياناً من shibbolized webroots و من non-shibbolized webroots في أحيانٍ أخرى. يمكنك تجاهل هذا الإعداد إذا تمّ استخدام webroot واحد فقط للوصول إلى هذا الخادم.", "Enable access for external apps" : "تمكين الوصول للتطبيقات الخارجية", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "قائمة عناوين IPV4 و IPV6 IP والشبكات الفرعية المسموح لها بتنفيذ طلبات النقاط الحدّيّة endpoints لـ WOPI. إذا لم يتم تحديد قائمة السماح allow list، فسيتم السماح لجميع المُضيفِين hosts. على سبيل المثال 10.0.0.20،10.0.4.0/24", - "Extra fonts" : "خطوط إضافية", - "Upload extra font file" : "قُم برفع ملف الخطوط الإضافية", + "Custom Fonts" : "خطوط مخصصة", + "Upload font file" : "تحميل ملف خطوط", "Upload a font file" : "إرفَع ملف خطوط", "Available fonts" : "الخطوط المُتاحة", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "للحصول على توافق مثالي للمستندات، نوصيك بتثبيت الخطوط شائعة الاستخدام. إذا كان المستخدمون لديك يعملون على مايكروسوف أوفيس، فيمكن تثبيت الخطوط التي اعتادوا استعمالها بالكيفية الموضحة في الوثائق.", "Custom fonts documentation" : "توثيق للخطوط المخصصة", - "Secure view settings" : "إعدادات العرض الآمن", - "Secure view enables you to secure documents by embedding a watermark" : "يتيح لك العرض الآمن تأمين المستندات عن طريق إدراج علامة مائية", + "Secure View" : "منظور آمن", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "تنطبق الإعدادات فقط على ملفات المكتب office files المتوافقة التي يتم فتحها في Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "سيتم تعطيل الخيارات التالية في Nextcloud Office: النسخ ، و التنزيل ، و التصدير ، و الطباعة", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "قد تظل الملفات قابلة للتنزيل من خلال نكست كلاود ما لم يتم تقييدها بخلاف ذلك من خلال إعدادات التحكم في المشاركة أو الوصول", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "قد تظل الملفات قابلة للتنزيل عبر طلبات WOPI إذا لم يتم تكوين إعدادات WOPI بشكل صحيح", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "سيتم حظر معاينة المستندات التي تحمل علامة مائية لمنع تسريب الصفحة الأولى من المستند", - "Enable watermarking" : "تمكين العلامة المائية", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "العناصر النائبة placeholders المدعومة: {userId}، {userDisplayName}، {email}، {date} ، {themingName}", - "Show watermark on tagged files" : "إظهار العلامة المائية على الملفات الموسومة", "Select tags to enforce watermarking" : "حدد الوسوم لفرض العلامة المائية", - "Show watermark for users of groups" : "إظهار العلامة المائية لمستخدمي المجموعات", - "Show watermark for all shares" : "إظهار العلامة المائية لجميع المشاركات", - "Show watermark for read only shares" : "إظهار العلامة المائية لمشاركات القراءة فقط ", - "Show watermark for shares without download permission" : "إظهار العلامة المائية للمشاركات بدون إذن التنزيل", - "Show watermark for all link shares" : "إظهار العلامة المائية لجميع روابط المشاركات ", - "Show watermark for download hidden shares" : "إظهار العلامة المائية لتنزيلات المشاركات المخفية", - "Show watermark for read only link shares" : "إظهار العلامة المائية لروابط مشاركات القراءة فقط ", - "Show watermark on link shares with specific system tags" : "إظهار العلامة المائية لروابط المشاركات التي عليها وسوم نظام محددة", - "Electronic signature settings" : "إعدادات التوقيع الالكتروني", + "Electronic Signature" : "التوقيع الالكتروني", "Client ID for the electronic signature API" : "مُعرِّف العميل client ID لواجهة تطبيق التوقيع الإلكتروني ", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "قم بملء نموذج التسجيل في https://eideasy.com/signup  للحصول على مُعرِّف و سر العميل.", "Secret for the electronic signature API" : "سر واجهة تطبيق التوقيع الالكتروني", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "يُمكن تنزيل السر عبر طلبات WOPI إذا لم يتم تكوين قائمة السماح الخاصة بـ WOPI بالشكل الصحيح.", - "Contact {0} to get an own installation." : "اتصل بـ {0} للحصول على التنصيب الخاص بك.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "تأكد من تعيين عنوان URL هذا: {url}  في ملف coolwsd.xml الخاص بخادوم Collabora Online الخاص بك لضمان تحميل الخطوط المضافة تلقائياً. يُرجى ملاحظة أن http:// سيعمل فقط مع إصدارات تنقيح أخطاء Collabora Online. في مرحلة الإنتاج، يجب عليك استخدام https:// لتهيئة الخطوط عن بُعد.", - "Failed to save settings" : "تعذّر حفظ الإعدادات", - "Font format not supported ({mime})" : "تنسيق الخط ({mime}) غير مدعوم", "Save" : "حفظ", "Remove" : "حذف", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "الرجاء إدخال اسم الضيف الذي ترغب في استخدامه قبل المتابعة إلى المستند. إذا لم تقم بتعيين واحد، فسيتم استخدام الإعداد الافتراضي.", "Guest name" : "اسم الضيف", "Submit name" : "إرسال الاسم", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "الرجاء إدخال اسم الضيف الذي ترغب في استخدامه قبل المتابعة إلى المستند. إذا لم تقم بتعيين واحد، فسيتم استخدام الإعداد الافتراضي.", "Confirm" : "تأكيد", "Cancel" : "إلغاء", + "Save As" : "حفظ باسم", "Save as" : "حفظ باسم", "Path to save" : "مسار الحفظ", - "Save As" : "حفظ باسم", + "Invalid file name" : "اسم الملف غير صحيح", + "Select template" : "إختَر قالباً", + "File name" : "اسم الملف", + "Create" : "إنشاء", + "Failed to set Zotero API key" : "تعذّر تعيين مفتاح واجهة برمجة تطبيقات Zotero API", "Link to your Zotero library" : "رابط إلى مكتبتك على Zotero", "Connect your Zotero account to make use of references within Office." : "قم بربط حسابك على Zotero للاستفادة من المراجع داخل Office.", "You can generate an account key here:" : "يُمكنك توليد مفتاح للحساب هنا:", "Zotero account settings" : "إعدادات حساب Zotero", "Zotero API key" : "مفتاح واجهة برمجة تطبيقات Zotero API", "Submit" : "إرسال ", - "Failed to set Zotero API key" : "تعذّر تعيين مفتاح واجهة برمجة تطبيقات Zotero API", - "Select a template directory" : "إختَر دليلاً للقوالب", "Select a personal template folder" : "حدّد مجلدَ قالبٍ شخصيٍ", + "Settings saved successfully." : "تمّ حفظ الإعدادات بنجاحٍ.", + "Failed to save settings." : "تعذّر حفظ الإعدادات.", + "Unexpected error occurred." : "حدث خطأ غير متوقع.", + "Personal Settings for Nextcloud Office" : "الإعدادات الشخصية لـ\"نكست كلاود أوفيس\"", + "Select a template directory" : "إختَر دليلاً للقوالب", "Remove personal template folder" : "قم بإزالة مجلد القالب الشخصي", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "ستتم إضافة القوالب الموجودة داخل هذا الدليل إلى مُحدِّد القوالب template selector في Nextcloud Office.", "Zotero" : "Zotero", @@ -179,22 +188,22 @@ "No font overview" : "لا يمكن معاينة الخط", "Delete this font" : "حذف هذا الخط", "No results" : "لا نتائج", + "Select file" : "إختَر ملفّاً", "Select file or folder to link to" : "إختَر ملفّاً أو مُجلّداً للربط معه", "Could not find any section in the document" : "تعذر العثور على أي قسم في المستند", - "Select file" : "إختَر ملفّاً", + "{productName} is not configured" : "{productName} لم تتم تهيئته", + "Starting the built-in CODE server failed" : "فشل بدء تشغيل خادم CODE المُدمَج", + "Loading {filename} …" : "تحميل {filename} …", + "Failed to load {productName} - please try again later" : "فشل تحميل {productName} - يرجى المحاولة مرة أخرى لاحقًا", + "Open in local editor" : "فتح في محرّر محلي", + "Cluster is scaling …" : "العنقود يتمدد Cluster is scaling ...", + "The collaborative editing was terminated by another user" : "تمّ إنهاء التحرير التعاوني من قِبل مستخدِم آخر", "Document loading failed" : "تعذّر تحميل المستند", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "لمزيد التفاصل، يٌرجى مراجعة سجل الأنشطة في كولّابورا Collabora. كما يرجى التأكد من إمكانية الوصول إلى نكست كلاود من هنالك.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "تم إغلاق \"مقبس التوصيل\" socket connection بشكل غير متوقع. ربما تمّ تكوين الوكيل العكسي reverse proxy بشكل خاطئ. يرجى الاتصال بمسؤول النظام.", "More information can be found in the reverse proxy documentation" : "مزيد من المعلومات تجدها في توثيق \"الوكيل العكسي\" reverse proxy.", "Close" : "إغلاق", "Edit" : "تحرير", - "Starting the built-in CODE server failed" : "فشل بدء تشغيل خادم CODE المُدمَج", - "Loading {filename} …" : "تحميل {filename} …", - "Open in local editor" : "فتح في محرّر محلي", - "Cluster is scaling …" : "العنقود يتمدد Cluster is scaling ...", - "The collaborative editing was terminated by another user" : "تمّ إنهاء التحرير التعاوني من قِبل مستخدِم آخر", - "Failed to load {productName} - please try again later" : "فشل تحميل {productName} - يرجى المحاولة مرة أخرى لاحقًا", - "{productName} is not configured" : "{productName} لم تتم تهيئته", "Built-in CODE Server is starting up shortly, please wait." : "خادم CODE المُدمَج سيدأ العمل حالاً ، يرجى الانتظار.", "Built-in CODE Server is restarting, please wait." : "تجري الآن إعادة تشغيل خادم CODE المدمج ، الرجاء الانتظار.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "خطأ: لم يمكن العثور على AppImage. يُرجى إعادة تثبيت خادوم Collabora Online المُدمَج.", @@ -228,15 +237,23 @@ "Follow current editor" : "إتبَعِ المُحرّر الحالي", "New file" : "ملف جديد", "Please enter the filename for the new file" : "رجاءً، أدخِل اسماً للملف الجديد", - "Create" : "إنشاء", - "New drawing" : "شكلُ توضيحيٌّ جديد", "Could not create file" : "تعذّر إنشاء الملف", - "Select template" : "إختَر قالباً", "Saved with error: Collabora Online should use the same protocol as the server installation." : "تمّ الحفظ مع وجود خطأ: يجب على Collabora Online أن تستعمل نفس بروتوكول تنصيب الخادم.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "تعذر إنشاء اتصال بخادوم Collabora Online. قد يكون هذا بسبب التكوين المفقود لخادم الويب الخاص بك. لمزيد من المعلومات، يرجى زيارة:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "يتطلب Nextcloud Office خادمًا منفصلاً يقوم بتشغيل Collabora Online لتوفير إمكانات التحرير.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "يتطلب Collabora Online خادمًا منفصلاً يعمل كعميل مماثل لـ WOPI لتوفير إمكانات التحرير.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "يُمكن لجميع المستخدمين تحرير المستندات باستخدام {productName} افتراضيًا. عندما يكون هذا الإعداد نشطًا، يمكن فقط لأعضاء المجموعات المحددة التعديل بينما يمكن للآخرين عرض المستندات فقط.", + "Secure view settings" : "إعدادات العرض الآمن", + "Secure view enables you to secure documents by embedding a watermark" : "يتيح لك العرض الآمن تأمين المستندات عن طريق إدراج علامة مائية", + "Enable watermarking" : "تمكين العلامة المائية", + "Show watermark on tagged files" : "إظهار العلامة المائية على الملفات الموسومة", + "Show watermark for users of groups" : "إظهار العلامة المائية لمستخدمي المجموعات", + "Show watermark for all shares" : "إظهار العلامة المائية لجميع المشاركات", + "Show watermark for read only shares" : "إظهار العلامة المائية لمشاركات القراءة فقط ", + "Show watermark for all link shares" : "إظهار العلامة المائية لجميع روابط المشاركات ", + "Show watermark for download hidden shares" : "إظهار العلامة المائية لتنزيلات المشاركات المخفية", + "Show watermark for read only link shares" : "إظهار العلامة المائية لروابط مشاركات القراءة فقط ", + "Show watermark on link shares with specific system tags" : "إظهار العلامة المائية لروابط المشاركات التي عليها وسوم نظام محددة", "Error" : "خطأ", "An error occurred" : "حدث خطأ", "Please choose your nickname to continue as guest user." : "الرجاء اختيار كُنيَةٍ لك للاستمرار كمستخدِم ضيف.", @@ -257,6 +274,10 @@ "No templates defined." : "لم يتم تعريف أيّ قوالب.", "Add a new one?" : "إضافة واحدة أخري جديدة؟", "template preview" : "معاينة القالب", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "قد تظل الملفات قابلة للتنزيل من خلال نكست كلاود ما لم يتم تقييدها بخلاف ذلك من خلال إعدادات التحكم في المشاركة أو الوصول", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "سيتم حظر معاينة المستندات التي تحمل علامة مائية لمنع تسريب الصفحة الأولى من المستند", + "Show watermark for shares without download permission" : "إظهار العلامة المائية للمشاركات بدون إذن التنزيل", + "New drawing" : "شكلُ توضيحيٌّ جديد", "Collabora Online" : "Collabora Online", "Document already exists" : "المستند موجود بالفعل", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "يتم تمكين Collabora Online لجميع المستخدمين افتراضيًا. عندما يكون هذا الإعداد نشطًا، يمكن فقط لأعضاء المجموعات المحدّدة استخدامه.", diff --git a/l10n/ast.js b/l10n/ast.js index e8f72ed784..ab29c38182 100644 --- a/l10n/ast.js +++ b/l10n/ast.js @@ -34,28 +34,32 @@ OC.L10N.register( "Images" : "Imáxenes", "Sheets" : "Fueyes", "Office" : "Oficina", + "Instructions" : "Instrucciones", "Anonymous guest" : "Convidáu anónimu", "%s (Guest)" : "%s (convidáut)", "New" : "Nuevu", + "Failed to save settings" : "Nun se pue guardar la configuración", "Your browser has been unable to connect to the Collabora server:" : "El restolador nun foi a conectase al sirvidor de Collabora:", "Advanced settings" : "Configuración avanzada", "Select groups" : "Seleicionar grupos", - "Failed to save settings" : "Nun se pue guardar la configuración", "Save" : "Guardar", "Remove" : "Quitar", "Confirm" : "Confirmar", "Cancel" : "Encaboxar", "Save as" : "Guardar como", + "Invalid file name" : "El nome del ficheru ye inválidu", + "File name" : "Nome del ficheru", + "Create" : "Crear", "Submit" : "Unviar", "Zotero" : "Zotero", "Description" : "Descripción", "No results" : "Nun hai nengún resultáu", "Select file or folder to link to" : "Seleicionar un ficheru o una carpeta a la qu'enllaciar", - "Close" : "Zarrar", - "Edit" : "Editar", "Loading {filename} …" : "Cargando «{filename}»…", "Open in local editor" : "Abrir nel editor llocaul", "The collaborative editing was terminated by another user" : "Otru usuariu terminó la edición collaborativa", + "Close" : "Zarrar", + "Edit" : "Editar", "Error: Unable to make the AppImage executable, please setup a standalone server." : "Error: nun ye posible facer que'l ficheru AppImage seya executable. Configura un sirvidor independiente.", "Open locally" : "Abrir llocalmente", "Continue editing online" : "Siguir cola edición en llinia", @@ -67,8 +71,6 @@ OC.L10N.register( "Guest" : "Convidáu", "Follow current editor" : "Siguir l'editor actual", "New file" : "Ficheru nuevu", - "Create" : "Crear", - "New drawing" : "Dibuxu nuevu", "Could not create file" : "Nun se pudo crear el ficheru", "Error" : "Error", "An error occurred" : "Prodúxose un error", @@ -77,6 +79,7 @@ OC.L10N.register( "Saving…" : "Guardando…", "Global templates" : "Plantíes globales", "No templates defined." : "Nun se definió nenguna plantía.", + "New drawing" : "Dibuxu nuevu", "Collabora Online" : "Collabora Online", "Document already exists" : "El documentu yá esiste" }, diff --git a/l10n/ast.json b/l10n/ast.json index e75eb1605d..3910a2c31c 100644 --- a/l10n/ast.json +++ b/l10n/ast.json @@ -32,28 +32,32 @@ "Images" : "Imáxenes", "Sheets" : "Fueyes", "Office" : "Oficina", + "Instructions" : "Instrucciones", "Anonymous guest" : "Convidáu anónimu", "%s (Guest)" : "%s (convidáut)", "New" : "Nuevu", + "Failed to save settings" : "Nun se pue guardar la configuración", "Your browser has been unable to connect to the Collabora server:" : "El restolador nun foi a conectase al sirvidor de Collabora:", "Advanced settings" : "Configuración avanzada", "Select groups" : "Seleicionar grupos", - "Failed to save settings" : "Nun se pue guardar la configuración", "Save" : "Guardar", "Remove" : "Quitar", "Confirm" : "Confirmar", "Cancel" : "Encaboxar", "Save as" : "Guardar como", + "Invalid file name" : "El nome del ficheru ye inválidu", + "File name" : "Nome del ficheru", + "Create" : "Crear", "Submit" : "Unviar", "Zotero" : "Zotero", "Description" : "Descripción", "No results" : "Nun hai nengún resultáu", "Select file or folder to link to" : "Seleicionar un ficheru o una carpeta a la qu'enllaciar", - "Close" : "Zarrar", - "Edit" : "Editar", "Loading {filename} …" : "Cargando «{filename}»…", "Open in local editor" : "Abrir nel editor llocaul", "The collaborative editing was terminated by another user" : "Otru usuariu terminó la edición collaborativa", + "Close" : "Zarrar", + "Edit" : "Editar", "Error: Unable to make the AppImage executable, please setup a standalone server." : "Error: nun ye posible facer que'l ficheru AppImage seya executable. Configura un sirvidor independiente.", "Open locally" : "Abrir llocalmente", "Continue editing online" : "Siguir cola edición en llinia", @@ -65,8 +69,6 @@ "Guest" : "Convidáu", "Follow current editor" : "Siguir l'editor actual", "New file" : "Ficheru nuevu", - "Create" : "Crear", - "New drawing" : "Dibuxu nuevu", "Could not create file" : "Nun se pudo crear el ficheru", "Error" : "Error", "An error occurred" : "Prodúxose un error", @@ -75,6 +77,7 @@ "Saving…" : "Guardando…", "Global templates" : "Plantíes globales", "No templates defined." : "Nun se definió nenguna plantía.", + "New drawing" : "Dibuxu nuevu", "Collabora Online" : "Collabora Online", "Document already exists" : "El documentu yá esiste" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/az.js b/l10n/az.js index 60b05ca75a..ee5b71edbd 100644 --- a/l10n/az.js +++ b/l10n/az.js @@ -18,6 +18,7 @@ OC.L10N.register( "Save" : "Saxla", "Confirm" : "Təsdiq edin", "Cancel" : "Dayandır", + "Create" : "Yarat", "Description" : "Açıqlanma", "No results" : "Nəticə yoxdur", "Close" : "Bağla", @@ -26,7 +27,6 @@ OC.L10N.register( "Add to favorites" : "Add to favorites", "Details" : "Detallar", "Download" : "Yüklə", - "Create" : "Yarat", "Could not create file" : "Faylı yaratmaq olmur", "Error" : "Səhv" }, diff --git a/l10n/az.json b/l10n/az.json index 1b49382001..70ecf3c9cf 100644 --- a/l10n/az.json +++ b/l10n/az.json @@ -16,6 +16,7 @@ "Save" : "Saxla", "Confirm" : "Təsdiq edin", "Cancel" : "Dayandır", + "Create" : "Yarat", "Description" : "Açıqlanma", "No results" : "Nəticə yoxdur", "Close" : "Bağla", @@ -24,7 +25,6 @@ "Add to favorites" : "Add to favorites", "Details" : "Detallar", "Download" : "Yüklə", - "Create" : "Yarat", "Could not create file" : "Faylı yaratmaq olmur", "Error" : "Səhv" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/be.js b/l10n/be.js new file mode 100644 index 0000000000..327e23ff19 --- /dev/null +++ b/l10n/be.js @@ -0,0 +1,34 @@ +OC.L10N.register( + "richdocuments", + { + "Saved" : "Захавана", + "Missing a temporary folder" : "Адсутнічае часовая папка", + "Could not write file to disk" : "Не ўдалося запісаць файл на дыск", + "A PHP extension stopped the file upload" : "Пашырэнне PHP спыніла запампоўванне файла", + "File is too big" : "Файл занадта вялікі", + "Invalid file provided" : "Прапанаваны файл некарэктны", + "Word Document (.docx)" : "Дакумент Word (.docx)", + "Images" : "Відарысы", + "New" : "Новы", + "Advanced settings" : "Пашыраныя налады", + "Save" : "Захаваць", + "Remove" : "Выдаліць", + "Confirm" : "Пацвердзіць", + "Cancel" : "Скасаваць", + "Save as" : "Захаваць як", + "Create" : "Стварыць", + "Description" : "Апісанне", + "No results" : "Няма вынікаў", + "Close" : "Закрыць", + "Edit" : "Рэдагаваць", + "Open file locally" : "Адкрыць файл лакальна", + "Open locally" : "Адкрыць лакальна", + "Remove from favorites" : "Выдаліць з абранага", + "Add to favorites" : "У абранае", + "Download" : "Спампаваць", + "Guest" : "Госць", + "Error" : "Памылка", + "An error occurred" : "Узнікла памылка", + "Last saved version" : "Апошняя захаваная версія" +}, +"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/l10n/be.json b/l10n/be.json new file mode 100644 index 0000000000..3f1177d0e0 --- /dev/null +++ b/l10n/be.json @@ -0,0 +1,32 @@ +{ "translations": { + "Saved" : "Захавана", + "Missing a temporary folder" : "Адсутнічае часовая папка", + "Could not write file to disk" : "Не ўдалося запісаць файл на дыск", + "A PHP extension stopped the file upload" : "Пашырэнне PHP спыніла запампоўванне файла", + "File is too big" : "Файл занадта вялікі", + "Invalid file provided" : "Прапанаваны файл некарэктны", + "Word Document (.docx)" : "Дакумент Word (.docx)", + "Images" : "Відарысы", + "New" : "Новы", + "Advanced settings" : "Пашыраныя налады", + "Save" : "Захаваць", + "Remove" : "Выдаліць", + "Confirm" : "Пацвердзіць", + "Cancel" : "Скасаваць", + "Save as" : "Захаваць як", + "Create" : "Стварыць", + "Description" : "Апісанне", + "No results" : "Няма вынікаў", + "Close" : "Закрыць", + "Edit" : "Рэдагаваць", + "Open file locally" : "Адкрыць файл лакальна", + "Open locally" : "Адкрыць лакальна", + "Remove from favorites" : "Выдаліць з абранага", + "Add to favorites" : "У абранае", + "Download" : "Спампаваць", + "Guest" : "Госць", + "Error" : "Памылка", + "An error occurred" : "Узнікла памылка", + "Last saved version" : "Апошняя захаваная версія" +},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" +} \ No newline at end of file diff --git a/l10n/bg.js b/l10n/bg.js index f6464a8cd0..1b5577674b 100644 --- a/l10n/bg.js +++ b/l10n/bg.js @@ -35,12 +35,16 @@ OC.L10N.register( "Headings" : "Заглавия", "Images" : "Изображения", "Office" : "Офис", + "Instructions" : "Инструкции", "Empty" : "Празно", "Anonymous guest" : "Анонимен гост", "%s (Guest)" : "%s (Гост)", "Edit office documents directly in your browser." : "Редактирайте офис документи директно във вашия браузър.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Това приложение може да се свърже към Collabora Online (или друг) сървър (клиент, подобен на WOPI). Nextcloud е хостът на WOPI. Моля, прочетете документацията, за да научите повече за това.\n\nМожете също да редактирате документите си офлайн с приложението Collabora Office от **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** и **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", "New" : "Нов", + "Contact {0} to get an own installation." : "Свържете се с {0}, за да получите собствена инсталация.", + "Failed to save settings" : "Неуспешно запазване на настройките", + "Font format not supported ({mime})" : "Форматът на шрифта не се поддържа ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office е мощен онлайн офис пакет, базиран на Collabora Online, със съвместно редактиране, който поддържа всички основни документи, електронни таблици и файлови формати за презентации и работи заедно с всички съвременни браузъри.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online е мощен онлайн офис пакет, базиран на LibreOffice със съвместно редактиране, който поддържа всички основни документи, електронни таблици и файлови формати за презентации и работи заедно с всички съвременни браузъри.", "Could not establish connection to the Collabora Online server." : "Не можа да се установи връзка със сървъра на Collabora Online.", @@ -92,47 +96,32 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Канонична главна директория, в случай че има няколко, за използване от Collabora. Осигурете тази с най-малко ограничения. Например: Използвайте non-shibbolized главна директория ако този екземпляр е достъпен както от shibbolized и non-shibbolized главни директории. Можете да игнорирате тази настройка, ако за достъп до този екземпляр се използва само една главна директория.", "Enable access for external apps" : "Активирайте достъп за външни приложения", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Списък на IPV4 и IPV6 IP-адреси и подмрежи, на които е разрешено да изпълняват заявки от крайните точки на WOPI. Ако не е посочен списък с разрешения, всички хостове ще бъдат разрешени. напр. 10.0.0.20, 10.0.4.0/24 ", - "Extra fonts" : "Допълнителни шрифтове", - "Upload extra font file" : "Качване на файл с допълнителни шрифтове", "Upload a font file" : "Качване на файл с шрифтове", "Available fonts" : "Налични шрифтове", - "Secure view settings" : "Настройки за защитен изглед", - "Secure view enables you to secure documents by embedding a watermark" : "Сигурният изглед ви позволява да защитите документите, чрез вграждане на воден знак", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Настройките важат само за съвместими офис файлове, които са отварени в Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Следните опции в Nextcloud Office ще бъдат деактивирани: Копиране, Изтегляне, Експорт, Печат", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файловете все още ще могат да се изтеглят чрез Nextcloud, освен ако не са ограничени по друг начин чрез споделяне или настройки за контрол на достъпа", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Дори ако настройките на WOPI не са правилно конфигурирани, файловете все още ще могат да се изтеглят чрез WOPI заявки", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Ще бъдат блокирани прегледите на файлове с водни знаци, за да не изтече първата страница на документите", - "Enable watermarking" : "Активиране на воден знак", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Поддържани заместители: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Показване на воден знак върху маркирани файлове", "Select tags to enforce watermarking" : "Изберете етикети, за да наложите воден знак", - "Show watermark for users of groups" : "Показване на воден знак за потребители на групи", - "Show watermark for all shares" : "Показване на воден знак за всички споделяния", - "Show watermark for read only shares" : "Показване на воден знак за споделяния само за четене", - "Show watermark for shares without download permission" : "Показване на воден знак за споделяния без право за изтегляне", - "Show watermark for all link shares" : "Показване на воден знак за всички споделяния на връзки", - "Show watermark for download hidden shares" : "Показване на воден знак за изтегляне на скрити споделяния", - "Show watermark for read only link shares" : "Показване на воден знак за споделяне на връзки само за четене", - "Show watermark on link shares with specific system tags" : "Показване на воден знак върху споделени връзки с конкретни системни етикети", - "Contact {0} to get an own installation." : "Свържете се с {0}, за да получите собствена инсталация.", - "Failed to save settings" : "Неуспешно запазване на настройките", - "Font format not supported ({mime})" : "Форматът на шрифта не се поддържа ({mime})", "Save" : "Запазване", "Remove" : "Премахване", "Confirm" : "Потвърдете", "Cancel" : "Отказ", - "Save as" : "Запиши като", "Save As" : "Запиши като", + "Save as" : "Запиши като", + "Select template" : "Избор на шаблон", + "File name" : "Име на файл", + "Create" : "Създай", + "Failed to set Zotero API key" : "Неуспешно задаване на API ключ на Zotero", "Link to your Zotero library" : "Връзка към вашата библиотека Zotero", "Connect your Zotero account to make use of references within Office." : "Свържете вашият профил в Zotero, за да използвате препратките в Office.", "You can generate an account key here:" : "Можете да генерирате ключ за профил тук:", "Zotero account settings" : "Настройки на профил в Zotero", "Zotero API key" : "API ключ на Zotero", "Submit" : "Изпращане", - "Failed to set Zotero API key" : "Неуспешно задаване на API ключ на Zotero", - "Select a template directory" : "Изберете директория за шаблоните", "Select a personal template folder" : "Изберете лична папка с шаблони", + "Personal Settings for Nextcloud Office" : "Лични настройки за Nextcloud Office", + "Select a template directory" : "Изберете директория за шаблоните", "Remove personal template folder" : "Премахване на личната папка с шаблони", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблоните в тази директория ще бъдат добавени към селектора на шаблони на Nextcloud Office.", "Zotero" : "Zotero /безплатен софтуер с отворен код, за управление на цитирания и организиране на библиографски данни, както и на свързаните с тях материали/", @@ -146,16 +135,16 @@ OC.L10N.register( "No font overview" : "Няма преглед на шрифта", "Delete this font" : "Изтриване на този шрифт", "No results" : "Няма резултати", - "Select file or folder to link to" : "Избор на файл или папка, към които да поставите връзка", "Select file" : "Избор на файл", - "Document loading failed" : "Зареждането на документа не беше успешно", - "Close" : "Затваряне", - "Edit" : "Редактиране", + "Select file or folder to link to" : "Избор на файл или папка, към които да поставите връзка", + "{productName} is not configured" : "{productName} не е конфигуриран", "Starting the built-in CODE server failed" : "Стартирането на вградения CODE сървър не беше успешно", "Loading {filename} …" : "Зареждане на {filename}…", - "Open in local editor" : "Отваряне в локален редактор", "Failed to load {productName} - please try again later" : "Зареждането на {productName} не бе успешно – моля, опитайте отново по-късно", - "{productName} is not configured" : "{productName} не е конфигуриран", + "Open in local editor" : "Отваряне в локален редактор", + "Document loading failed" : "Зареждането на документа не беше успешно", + "Close" : "Затваряне", + "Edit" : "Редактиране", "Built-in CODE Server is starting up shortly, please wait." : "Вграденият КОД сървър се стартира скоро, моля, изчакайте.", "Built-in CODE Server is restarting, please wait." : "Вграденият КОД сървър се рестартира, моля, изчакайте.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Грешка: Не може да се намери AppImage, моля, инсталирайте отново вградения сървър на Collabora Online.", @@ -182,15 +171,23 @@ OC.L10N.register( "Guest" : "Гост", "Follow current editor" : "Следване на текущия редактор", "New file" : "Нов файл", - "Create" : "Създай", - "New drawing" : "Нов чертеж", "Could not create file" : "Несупешно създаване на файла.", - "Select template" : "Избор на шаблон", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Запазено с грешка: Collabora Online трябва да използва същия протокол, като инсталацията на сървъра.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Не можа да се установи връзка със сървъра на Collabora Online. Това може да се дължи на липсваща конфигурация на вашия уеб сървър. За повече информация, моля, посетете:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office изисква отделен сървър, работещ с Collabora Online, за да предостави възможности за редактиране.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online изисква отделен сървър, действащ като WOPI-подобен клиент, за да предостави възможности за редактиране.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Всички потребители могат да редактират документи с {productName} по подразбиране. Когато тази настройка е активна, само членовете на посочените групи могат да редактират, а останалите могат само да преглеждат документи.", + "Secure view settings" : "Настройки за защитен изглед", + "Secure view enables you to secure documents by embedding a watermark" : "Сигурният изглед ви позволява да защитите документите, чрез вграждане на воден знак", + "Enable watermarking" : "Активиране на воден знак", + "Show watermark on tagged files" : "Показване на воден знак върху маркирани файлове", + "Show watermark for users of groups" : "Показване на воден знак за потребители на групи", + "Show watermark for all shares" : "Показване на воден знак за всички споделяния", + "Show watermark for read only shares" : "Показване на воден знак за споделяния само за четене", + "Show watermark for all link shares" : "Показване на воден знак за всички споделяния на връзки", + "Show watermark for download hidden shares" : "Показване на воден знак за изтегляне на скрити споделяния", + "Show watermark for read only link shares" : "Показване на воден знак за споделяне на връзки само за четене", + "Show watermark on link shares with specific system tags" : "Показване на воден знак върху споделени връзки с конкретни системни етикети", "Error" : "Грешка", "An error occurred" : "Възникна грешка", "Please choose your nickname to continue as guest user." : "Моля, изберете си псевдоним, за да продължите като гост потребител.", @@ -211,6 +208,10 @@ OC.L10N.register( "No templates defined." : "Няма дефинирани шаблони.", "Add a new one?" : "Добавяне на нов шаблон?", "template preview" : "преглед на шаблона", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файловете все още ще могат да се изтеглят чрез Nextcloud, освен ако не са ограничени по друг начин чрез споделяне или настройки за контрол на достъпа", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Ще бъдат блокирани прегледите на файлове с водни знаци, за да не изтече първата страница на документите", + "Show watermark for shares without download permission" : "Показване на воден знак за споделяния без право за изтегляне", + "New drawing" : "Нов чертеж", "Collabora Online" : "Collabora Online", "Document already exists" : "Документът вече съществува", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online е активирана за всички потребители по подразбиране. Когато тази настройка е активна, само членовете на посочените групи могат да я използват.", diff --git a/l10n/bg.json b/l10n/bg.json index 14677cbc19..2c00b02abe 100644 --- a/l10n/bg.json +++ b/l10n/bg.json @@ -33,12 +33,16 @@ "Headings" : "Заглавия", "Images" : "Изображения", "Office" : "Офис", + "Instructions" : "Инструкции", "Empty" : "Празно", "Anonymous guest" : "Анонимен гост", "%s (Guest)" : "%s (Гост)", "Edit office documents directly in your browser." : "Редактирайте офис документи директно във вашия браузър.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Това приложение може да се свърже към Collabora Online (или друг) сървър (клиент, подобен на WOPI). Nextcloud е хостът на WOPI. Моля, прочетете документацията, за да научите повече за това.\n\nМожете също да редактирате документите си офлайн с приложението Collabora Office от **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** и **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", "New" : "Нов", + "Contact {0} to get an own installation." : "Свържете се с {0}, за да получите собствена инсталация.", + "Failed to save settings" : "Неуспешно запазване на настройките", + "Font format not supported ({mime})" : "Форматът на шрифта не се поддържа ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office е мощен онлайн офис пакет, базиран на Collabora Online, със съвместно редактиране, който поддържа всички основни документи, електронни таблици и файлови формати за презентации и работи заедно с всички съвременни браузъри.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online е мощен онлайн офис пакет, базиран на LibreOffice със съвместно редактиране, който поддържа всички основни документи, електронни таблици и файлови формати за презентации и работи заедно с всички съвременни браузъри.", "Could not establish connection to the Collabora Online server." : "Не можа да се установи връзка със сървъра на Collabora Online.", @@ -90,47 +94,32 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Канонична главна директория, в случай че има няколко, за използване от Collabora. Осигурете тази с най-малко ограничения. Например: Използвайте non-shibbolized главна директория ако този екземпляр е достъпен както от shibbolized и non-shibbolized главни директории. Можете да игнорирате тази настройка, ако за достъп до този екземпляр се използва само една главна директория.", "Enable access for external apps" : "Активирайте достъп за външни приложения", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Списък на IPV4 и IPV6 IP-адреси и подмрежи, на които е разрешено да изпълняват заявки от крайните точки на WOPI. Ако не е посочен списък с разрешения, всички хостове ще бъдат разрешени. напр. 10.0.0.20, 10.0.4.0/24 ", - "Extra fonts" : "Допълнителни шрифтове", - "Upload extra font file" : "Качване на файл с допълнителни шрифтове", "Upload a font file" : "Качване на файл с шрифтове", "Available fonts" : "Налични шрифтове", - "Secure view settings" : "Настройки за защитен изглед", - "Secure view enables you to secure documents by embedding a watermark" : "Сигурният изглед ви позволява да защитите документите, чрез вграждане на воден знак", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Настройките важат само за съвместими офис файлове, които са отварени в Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Следните опции в Nextcloud Office ще бъдат деактивирани: Копиране, Изтегляне, Експорт, Печат", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файловете все още ще могат да се изтеглят чрез Nextcloud, освен ако не са ограничени по друг начин чрез споделяне или настройки за контрол на достъпа", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Дори ако настройките на WOPI не са правилно конфигурирани, файловете все още ще могат да се изтеглят чрез WOPI заявки", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Ще бъдат блокирани прегледите на файлове с водни знаци, за да не изтече първата страница на документите", - "Enable watermarking" : "Активиране на воден знак", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Поддържани заместители: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Показване на воден знак върху маркирани файлове", "Select tags to enforce watermarking" : "Изберете етикети, за да наложите воден знак", - "Show watermark for users of groups" : "Показване на воден знак за потребители на групи", - "Show watermark for all shares" : "Показване на воден знак за всички споделяния", - "Show watermark for read only shares" : "Показване на воден знак за споделяния само за четене", - "Show watermark for shares without download permission" : "Показване на воден знак за споделяния без право за изтегляне", - "Show watermark for all link shares" : "Показване на воден знак за всички споделяния на връзки", - "Show watermark for download hidden shares" : "Показване на воден знак за изтегляне на скрити споделяния", - "Show watermark for read only link shares" : "Показване на воден знак за споделяне на връзки само за четене", - "Show watermark on link shares with specific system tags" : "Показване на воден знак върху споделени връзки с конкретни системни етикети", - "Contact {0} to get an own installation." : "Свържете се с {0}, за да получите собствена инсталация.", - "Failed to save settings" : "Неуспешно запазване на настройките", - "Font format not supported ({mime})" : "Форматът на шрифта не се поддържа ({mime})", "Save" : "Запазване", "Remove" : "Премахване", "Confirm" : "Потвърдете", "Cancel" : "Отказ", - "Save as" : "Запиши като", "Save As" : "Запиши като", + "Save as" : "Запиши като", + "Select template" : "Избор на шаблон", + "File name" : "Име на файл", + "Create" : "Създай", + "Failed to set Zotero API key" : "Неуспешно задаване на API ключ на Zotero", "Link to your Zotero library" : "Връзка към вашата библиотека Zotero", "Connect your Zotero account to make use of references within Office." : "Свържете вашият профил в Zotero, за да използвате препратките в Office.", "You can generate an account key here:" : "Можете да генерирате ключ за профил тук:", "Zotero account settings" : "Настройки на профил в Zotero", "Zotero API key" : "API ключ на Zotero", "Submit" : "Изпращане", - "Failed to set Zotero API key" : "Неуспешно задаване на API ключ на Zotero", - "Select a template directory" : "Изберете директория за шаблоните", "Select a personal template folder" : "Изберете лична папка с шаблони", + "Personal Settings for Nextcloud Office" : "Лични настройки за Nextcloud Office", + "Select a template directory" : "Изберете директория за шаблоните", "Remove personal template folder" : "Премахване на личната папка с шаблони", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблоните в тази директория ще бъдат добавени към селектора на шаблони на Nextcloud Office.", "Zotero" : "Zotero /безплатен софтуер с отворен код, за управление на цитирания и организиране на библиографски данни, както и на свързаните с тях материали/", @@ -144,16 +133,16 @@ "No font overview" : "Няма преглед на шрифта", "Delete this font" : "Изтриване на този шрифт", "No results" : "Няма резултати", - "Select file or folder to link to" : "Избор на файл или папка, към които да поставите връзка", "Select file" : "Избор на файл", - "Document loading failed" : "Зареждането на документа не беше успешно", - "Close" : "Затваряне", - "Edit" : "Редактиране", + "Select file or folder to link to" : "Избор на файл или папка, към които да поставите връзка", + "{productName} is not configured" : "{productName} не е конфигуриран", "Starting the built-in CODE server failed" : "Стартирането на вградения CODE сървър не беше успешно", "Loading {filename} …" : "Зареждане на {filename}…", - "Open in local editor" : "Отваряне в локален редактор", "Failed to load {productName} - please try again later" : "Зареждането на {productName} не бе успешно – моля, опитайте отново по-късно", - "{productName} is not configured" : "{productName} не е конфигуриран", + "Open in local editor" : "Отваряне в локален редактор", + "Document loading failed" : "Зареждането на документа не беше успешно", + "Close" : "Затваряне", + "Edit" : "Редактиране", "Built-in CODE Server is starting up shortly, please wait." : "Вграденият КОД сървър се стартира скоро, моля, изчакайте.", "Built-in CODE Server is restarting, please wait." : "Вграденият КОД сървър се рестартира, моля, изчакайте.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Грешка: Не може да се намери AppImage, моля, инсталирайте отново вградения сървър на Collabora Online.", @@ -180,15 +169,23 @@ "Guest" : "Гост", "Follow current editor" : "Следване на текущия редактор", "New file" : "Нов файл", - "Create" : "Създай", - "New drawing" : "Нов чертеж", "Could not create file" : "Несупешно създаване на файла.", - "Select template" : "Избор на шаблон", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Запазено с грешка: Collabora Online трябва да използва същия протокол, като инсталацията на сървъра.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Не можа да се установи връзка със сървъра на Collabora Online. Това може да се дължи на липсваща конфигурация на вашия уеб сървър. За повече информация, моля, посетете:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office изисква отделен сървър, работещ с Collabora Online, за да предостави възможности за редактиране.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online изисква отделен сървър, действащ като WOPI-подобен клиент, за да предостави възможности за редактиране.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Всички потребители могат да редактират документи с {productName} по подразбиране. Когато тази настройка е активна, само членовете на посочените групи могат да редактират, а останалите могат само да преглеждат документи.", + "Secure view settings" : "Настройки за защитен изглед", + "Secure view enables you to secure documents by embedding a watermark" : "Сигурният изглед ви позволява да защитите документите, чрез вграждане на воден знак", + "Enable watermarking" : "Активиране на воден знак", + "Show watermark on tagged files" : "Показване на воден знак върху маркирани файлове", + "Show watermark for users of groups" : "Показване на воден знак за потребители на групи", + "Show watermark for all shares" : "Показване на воден знак за всички споделяния", + "Show watermark for read only shares" : "Показване на воден знак за споделяния само за четене", + "Show watermark for all link shares" : "Показване на воден знак за всички споделяния на връзки", + "Show watermark for download hidden shares" : "Показване на воден знак за изтегляне на скрити споделяния", + "Show watermark for read only link shares" : "Показване на воден знак за споделяне на връзки само за четене", + "Show watermark on link shares with specific system tags" : "Показване на воден знак върху споделени връзки с конкретни системни етикети", "Error" : "Грешка", "An error occurred" : "Възникна грешка", "Please choose your nickname to continue as guest user." : "Моля, изберете си псевдоним, за да продължите като гост потребител.", @@ -209,6 +206,10 @@ "No templates defined." : "Няма дефинирани шаблони.", "Add a new one?" : "Добавяне на нов шаблон?", "template preview" : "преглед на шаблона", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файловете все още ще могат да се изтеглят чрез Nextcloud, освен ако не са ограничени по друг начин чрез споделяне или настройки за контрол на достъпа", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Ще бъдат блокирани прегледите на файлове с водни знаци, за да не изтече първата страница на документите", + "Show watermark for shares without download permission" : "Показване на воден знак за споделяния без право за изтегляне", + "New drawing" : "Нов чертеж", "Collabora Online" : "Collabora Online", "Document already exists" : "Документът вече съществува", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online е активирана за всички потребители по подразбиране. Когато тази настройка е активна, само членовете на посочените групи могат да я използват.", diff --git a/l10n/bn_BD.js b/l10n/bn_BD.js index 2740d2df2a..496335dddd 100644 --- a/l10n/bn_BD.js +++ b/l10n/bn_BD.js @@ -10,6 +10,7 @@ OC.L10N.register( "Select groups" : "গ্রুপ নির্ধারণ", "Save" : "সংরক্ষণ", "Cancel" : "বাতির", + "Create" : "তৈরী কর", "Description" : "বিবরণ", "Close" : "বন্ধ", "Edit" : "সম্পাদনা", @@ -17,7 +18,6 @@ OC.L10N.register( "Add to favorites" : "Add to favorites", "Details" : "বিসতারিত", "Download" : "ডাউনলোড", - "Create" : "তৈরী কর", "Error" : "সমস্যা", "Nickname" : "ছদ্মনাম" }, diff --git a/l10n/bn_BD.json b/l10n/bn_BD.json index 6bb84ca26b..fff7138737 100644 --- a/l10n/bn_BD.json +++ b/l10n/bn_BD.json @@ -8,6 +8,7 @@ "Select groups" : "গ্রুপ নির্ধারণ", "Save" : "সংরক্ষণ", "Cancel" : "বাতির", + "Create" : "তৈরী কর", "Description" : "বিবরণ", "Close" : "বন্ধ", "Edit" : "সম্পাদনা", @@ -15,7 +16,6 @@ "Add to favorites" : "Add to favorites", "Details" : "বিসতারিত", "Download" : "ডাউনলোড", - "Create" : "তৈরী কর", "Error" : "সমস্যা", "Nickname" : "ছদ্মনাম" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/br.js b/l10n/br.js index 398dd7718b..a1eb7014d5 100644 --- a/l10n/br.js +++ b/l10n/br.js @@ -15,7 +15,9 @@ OC.L10N.register( "Select groups" : "Choaz ar strolladoù", "Save" : "Enrollañ", "Confirm" : "Kadarnañ", - "Cancel" : "Arrest", + "Cancel" : "Nullañ", + "Select template" : "Choaz ur stumm skouer", + "Create" : "Krouiñ", "Submit" : "Kinnig", "Description" : "Diskrivadur", "No results" : "Disoc'h ebet", @@ -27,8 +29,6 @@ OC.L10N.register( "Download" : "Pellgargañ", "Guest" : "Kouviad", "New file" : "Restr nevez", - "Create" : "Krouiñ", - "Select template" : "Choaz ur stumm skouer", "Error" : "Fazi" }, "nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"); diff --git a/l10n/br.json b/l10n/br.json index 07ccf467e5..b1fa5269aa 100644 --- a/l10n/br.json +++ b/l10n/br.json @@ -13,7 +13,9 @@ "Select groups" : "Choaz ar strolladoù", "Save" : "Enrollañ", "Confirm" : "Kadarnañ", - "Cancel" : "Arrest", + "Cancel" : "Nullañ", + "Select template" : "Choaz ur stumm skouer", + "Create" : "Krouiñ", "Submit" : "Kinnig", "Description" : "Diskrivadur", "No results" : "Disoc'h ebet", @@ -25,8 +27,6 @@ "Download" : "Pellgargañ", "Guest" : "Kouviad", "New file" : "Restr nevez", - "Create" : "Krouiñ", - "Select template" : "Choaz ur stumm skouer", "Error" : "Fazi" },"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);" } \ No newline at end of file diff --git a/l10n/bs.js b/l10n/bs.js index 4bc5278ab9..350785862b 100644 --- a/l10n/bs.js +++ b/l10n/bs.js @@ -8,13 +8,13 @@ OC.L10N.register( "New" : "Novo", "Save" : "Spremi", "Cancel" : "Otkaži", + "Create" : "Ustvari", "Description" : "Opis", "Close" : "Zatvori", "Edit" : "Izmjeni", "Remove from favorites" : "Remove from favorites", "Add to favorites" : "Add to favorites", "Download" : "Preuzmi", - "Create" : "Ustvari", "Could not create file" : "Datoteku nije moguće kreirati", "Error" : "Greška", "Nickname" : "Nadimak" diff --git a/l10n/bs.json b/l10n/bs.json index c6361b293c..6b9c490294 100644 --- a/l10n/bs.json +++ b/l10n/bs.json @@ -6,13 +6,13 @@ "New" : "Novo", "Save" : "Spremi", "Cancel" : "Otkaži", + "Create" : "Ustvari", "Description" : "Opis", "Close" : "Zatvori", "Edit" : "Izmjeni", "Remove from favorites" : "Remove from favorites", "Add to favorites" : "Add to favorites", "Download" : "Preuzmi", - "Create" : "Ustvari", "Could not create file" : "Datoteku nije moguće kreirati", "Error" : "Greška", "Nickname" : "Nadimak" diff --git a/l10n/ca.js b/l10n/ca.js index 78dacc66e0..65a5e5ac1e 100644 --- a/l10n/ca.js +++ b/l10n/ca.js @@ -1,6 +1,7 @@ OC.L10N.register( "richdocuments", { + "No files found for this task." : "No s'han trobat fitxers per a aquesta tasca.", "Cannot create document" : "No s'ha pogut crear el document", "New Document.odt" : "Nou Document.odt", "New Spreadsheet.ods" : "Nou Full de Càlcul.ods", @@ -27,10 +28,24 @@ OC.L10N.register( "Only template files can be uploaded" : "Només es poden carregar fitxers de plantilles", "Invalid file provided" : "El fitxer proporcionat no és vàlid", "Template not found" : "No s'ha trobat la plantilla", + "Unable to determine the proper file extension for %1$s" : "No es pot determinar l'extensió de fitxer adequada per a %1$s", + "Unable to fetch information on %1$s" : "No es pot obtenir informació a %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Imatge (.png)", + "Image (.svg)" : "Imatge (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Document de Word (.docx)", + "OpenDocument Text (.odt)" : "Text d'OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Llibre de treball d'Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Full de càlcul d'OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Presentació de PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Presentació OpenDocument (.odp)", "New document" : "Nou document de text", "New spreadsheet" : "Nou full de càlcul", "New presentation" : "Nova presentació", "New diagram" : "Nou diagrama", + "{user} has mentioned you in {node}" : "{user} t'ha mencionat a {node}", "Link to office document section" : "Enllaç a la secció de documents d'oficina", "Nextcloud Office" : "Oficina Nextcloud", "Headings" : "Títols", @@ -39,16 +54,22 @@ OC.L10N.register( "Sheets" : "Fulls", "Slides" : "Diapositives", "Office" : "Oficina", + "Instructions" : "Instruccions", "Empty" : "Buit", "Anonymous guest" : "Convidat anònim", "%s (Guest)" : "%s (Convidat)", "Edit office documents directly in your browser." : "Edició de documents d'ofimàtica directament des del vostre navegador.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Aquesta aplicació es pot connectar a un servidor Collabora Online (o un altre) (Client WOPI). Nextcloud és l'amfitrió WOPI. Si us plau, llegiu la documentació per obtenir més informació sobre això.\n\nTambé podeu editar els documents fora de línia amb l'aplicació Collabora Office des de l'aplicació **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** i botiga **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", - "Global Templates" : "Plantilles globals", - "New" : "Crea", + "Uploaded template \"{name}\"" : "Plantilla pujada \"{name}\"", "Template \"{name}\" already exists" : "La plantilla \"{name}\" ja existeix", "Unable to delete template" : "No s'ha pogut esborrar la plantilla", "Deleted template" : "S'ha esborrat la plantilla", + "Global Templates" : "Plantilles globals", + "New" : "Crea", + "Contact {0} to get an own installation." : "Contactar {0} per obtenir una instal·lació pròpia.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Assegureu-vos d'establir aquest URL: {url} al fitxer coolwsd.xml del vostre servidor de Collabora Online per assegurar-vos que els tipus de lletra afegits es carreguen automàticament. Tingueu en compte que http:// només funcionarà per a les compilacions de depuració de Collabora Online. En producció, heu d'utilitzar https:// per a la configuració remota del tipus de lletra.", + "Failed to save settings" : "Ha fallat desar els paràmetres", + "Font format not supported ({mime})" : "Format de tipus de lletra no suportat ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Oficina Nextcloud és una potent suite ofimàtica en línia basada en Collabora Online amb edició col·laborativa, que admet tots els formats principals de documents, fulls de càlcul i fitxers de presentació i funciona juntament amb tots els navegadors moderns.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online és un potent conjunt de productes d'ofimàtica basat en LibreOffice amb edició col·laborativa, que admet tots els documents principals, fulls de càlcul i formats de fitxers de presentació i funciona juntament amb tots els navegadors moderns.", "Could not establish connection to the Collabora Online server." : "No s' ha pogut establir la connexió amb el servidor Collabora Online.", @@ -106,47 +127,50 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Webroot canònic, en cas que hi hagi múltiples opcions per utilitzar Collabora. Proporcioneu el que tingui menys restriccions. Per exemple: feu servir un webroot no shibbolitzat si s'accedeix a aquesta instància ja sigui per webroots shibbolitzats o no shibbolitzats. Podeu ignorar aquest paràmetre si només es fa servir un webroot per accedir a aquesta instància.", "Enable access for external apps" : "Activa l'accés a les aplicacions externes", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Llista d'adreces IP i subxarxes IPV4 i IPV6 que poden realitzar sol·licituds dels punts finals WOPI. Si no s'especifica cap llista de permisos, es permetran tots els amfitrions. Per exemple. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Tipus de lletra extra", - "Upload extra font file" : "Pujada un fitxer de tipus de lletra extra", + "Custom Fonts" : "Tipus de lletra personalitzats", + "Upload font file" : "Puja el fitxer de tipus de lletra", "Upload a font file" : "Pujada d'un fitxer de tipus de lletra", "Available fonts" : "Tipus de lletra disponibles", - "Secure view settings" : "Paràmetres de la visualització segura", - "Secure view enables you to secure documents by embedding a watermark" : "La vista segura us permet protegir documents incrustant-hi una marca d'aigua", + "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Per a una compatibilitat ideal dels documents, us recomanem que instal·leu els tipus de lletra d'ús habitual. Si els vostres usuaris treballen amb Microsoft Office, la instal·lació dels seus tipus de lletra propietaris es pot fer seguint la documentació.", + "Custom fonts documentation" : "Documentació de fonts personalitzades", + "Secure View" : "Vista segura", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Els paràmetres només apliquen a fitxers d'Office compatibles que s'obrin a Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Les següents opcions de Nextcloud Office s'inhabilitaran: Copia, Baixada, Exporta, Imprimeix", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Els fitxers encara es poden baixar amb Nextcloud tret que es digui el contrari als paràmetres de control d'accés o compartició", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Els fitxers encara es poden baixar mitjançant sol·licituds WOPI si la configuració de WOPI no està correctament configurada", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Les visualitzacions prèvies es bloquen per als fitxers amb filigrana per no filtrar la primera pàgina dels documents", - "Enable watermarking" : "Habilita la marca d'aigua", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Marcadors de posició admesos: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mostra la marca d’aigua als fitxers etiquetats", "Select tags to enforce watermarking" : "Seleccioneu etiquetes per forçar l'aparició de la marca d'aigua", - "Show watermark for users of groups" : "Mostra la marca d’aigua per als usuaris dels grups", - "Show watermark for all shares" : "Mostra la marca d’aigua per a totes les comparticions", - "Show watermark for read only shares" : "Mostra la marca d’aigua per elements compartits de només lectura", - "Show watermark for shares without download permission" : "Mostra la marca d'aigua per elements compartits sense permisos de baixada", - "Show watermark for all link shares" : "Mostra la marca d’aigua per a tots els enllaços de elements compartits", - "Show watermark for download hidden shares" : "Mostra la marca d’aigua per baixar els elements compartits ocultes", - "Show watermark for read only link shares" : "Mostra la marca d’aigua per als enllaços de elements compartits només de lectura", - "Show watermark on link shares with specific system tags" : "Mostra la marca d’aigua en els enllaços d'elements compartits amb etiquetes específiques del sistema", - "Contact {0} to get an own installation." : "Contactar {0} per obtenir una instal·lació pròpia.", - "Failed to save settings" : "Ha fallat desar els paràmetres", - "Font format not supported ({mime})" : "Format de tipus de lletra no suportat ({mime})", + "Electronic Signature" : "Signatura electrònica", + "Client ID for the electronic signature API" : "ID de client per a l'API de signatura electrònica", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Ompliu el formulari de registre a https://eideasy.com/signup per obtenir un ID de client i un secret.", + "Secret for the electronic signature API" : "Secret per a l'API de signatura electrònica", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "El secret es pot descarregar mitjançant sol·licituds WOPI si la llista d'autoritzacions WOPI no està configurada correctament.", "Save" : "Desa", "Remove" : "Suprimir", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Introduïu el nom del convidat que voleu utilitzar abans de continuar amb el document. Si no en proporcioneu cap, s'utilitzarà el valor predeterminat.", + "Guest name" : "Nom del convidat", + "Submit name" : "Envia el nom", "Confirm" : "Confirma", "Cancel" : "Cancel·la", - "Save as" : "Anomena i desa", "Save As" : "Anomena i desa", + "Save as" : "Anomena i desa", + "Path to save" : "Camí per desar", + "Invalid file name" : "El nom del fitxer no és vàlid", + "Select template" : "Selecciona plantilla", + "File name" : "Nom del fitxer", + "Create" : "Crea", + "Failed to set Zotero API key" : "No s'ha pogut establir la clau de l'API de Zotero", "Link to your Zotero library" : "Enllaç a la teva biblioteca de Zotero", "Connect your Zotero account to make use of references within Office." : "Connecteu el vostre compte de Zotero per fer ús de les referències a Office.", "You can generate an account key here:" : "Podeu generar una clau de compte aquí:", "Zotero account settings" : "Paràmetres del compte de Zotero", "Zotero API key" : "Clau de l'API de Zotero", "Submit" : "Envia", - "Failed to set Zotero API key" : "No s'ha pogut establir la clau de l'API de Zotero", - "Select a template directory" : "Selecciona un directori de plantilles", "Select a personal template folder" : "Seleccioneu una carpeta de plantilla personal", + "Settings saved successfully." : "Paràmetres desats correctament.", + "Failed to save settings." : "No s'ha pogut desar els paràmetres.", + "Unexpected error occurred." : "S'ha produït un error inesperat.", + "Personal Settings for Nextcloud Office" : "Configuració personal per a l'Oficina Nextcloud", + "Select a template directory" : "Selecciona un directori de plantilles", "Remove personal template folder" : "Suprimir la carpeta de plantilles personals", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Les plantilles d'aquest directori s'afegiran al selector de plantilles de Nextcloud Office.", "Zotero" : "Zotero", @@ -155,22 +179,33 @@ OC.L10N.register( "To use Zotero specify your API key here. You can create your API key in your" : "Per utilitzar Zotero, especifiqueu la vostra clau de l'API aquí. Podeu crear la vostra clau de l'API al vostre", "Zotero account API settings." : "Paràmetres de l'API del compte de Zotero.", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Aquesta instància no és compatible amb Zotero, perquè la funció falta o està desactivada. Si us plau, poseu-vos en contacte amb l'administració.", + "Document signing" : "Signatura de documents", + "Enter document signing cert (in PEM format)" : "Introduïu el certificat de signatura del document (en format PEM)", + "Enter document signing key" : "Introduïu la clau de signatura del document", + "Enter document signing CA chain" : "Introduïu la cadena de CA de signatura de documents", + "To use document signing, specify your signing certificate, key and CA chain here." : "Per utilitzar la signatura de documents, especifiqueu aquí el vostre certificat de signatura, clau i cadena de CA.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Aquesta instància no admet la signatura de documents perquè falta la funció o està desactivada. Poseu-vos en contacte amb l'administrador.", "Description" : "Descripció", "Add new token" : "Afegeix un testimoni nou", "No font overview" : "Sense visió general del tipus de lletra", "Delete this font" : "Suprimir aquest tipus de lletra", "No results" : "Sense resultats", + "Select file" : "Selecciona un fitxer", "Select file or folder to link to" : "Seleccioneu el fitxer o la carpeta que voleu enllaçar", "Could not find any section in the document" : "No s'ha pogut trobar cap secció del document", - "Select file" : "Selecciona un fitxer", - "Document loading failed" : "Ha fallat la càrrega del document", - "Close" : "Tanca", - "Edit" : "Edició", + "{productName} is not configured" : "No s'ha configurat {productName}", "Starting the built-in CODE server failed" : "No s'ha pogut iniciar el servidor CODE integrat", "Loading {filename} …" : "S'està carregant {filename} …", - "Open in local editor" : "Obre a l'editor local", "Failed to load {productName} - please try again later" : "No s'ha pogut carregar {productName} - si us plau, torneu-ho a provar més tard", - "{productName} is not configured" : "No s'ha configurat {productName}", + "Open in local editor" : "Obre a l'editor local", + "Cluster is scaling …" : "El clúster s'està escalant …", + "The collaborative editing was terminated by another user" : "L'edició col·laborativa va ser finalitzada per un altre usuari", + "Document loading failed" : "Ha fallat la càrrega del document", + "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Si us plau, consulteu el registre del servidor de Collabora Online per obtenir més detalls i assegureu-vos que es pugui contactar amb Nextcloud des d'allà.", + "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "La connexió del sòcol s'ha tancat de manera inesperada. El servidor intermediari invers pot estar mal configurat, poseu-vos en contacte amb l'administrador.", + "More information can be found in the reverse proxy documentation" : "Es pot trobar més informació a la documentació del proxy invers", + "Close" : "Tanca", + "Edit" : "Edició", "Built-in CODE Server is starting up shortly, please wait." : "El servidor de CODE integrat s'està començant en breu, si us plau esperi.", "Built-in CODE Server is restarting, please wait." : "El servidor de CODI integrat s'està reiniciant, si us plau esperi.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: no es troba l'AppImage, torneu a instal·lar el servidor integrat Collabora Online.", @@ -182,14 +217,18 @@ OC.L10N.register( "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Error: No es pot iniciar el servidor integrat de Collabora Online, configureu-ne un de independent.", "Close version preview" : "Tanca la vista prèvia de la versió", "Edit with {productName}" : "Edita amb {productName}", + "Insert into document" : "Insereix al document", "Open file locally" : "Obre el fitxer en local", "When opening a file locally, the document will close for all users currently viewing the document." : "Quan s'obre un fitxer en local, el document es tancarà per tots els usuaris que l'estiguin visualitzant en aquest moment.", "Open locally" : "Obre en local", "Continue editing online" : "Continuar editant en línia", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Ara el fitxer hauria d'obrir-se localment. Si no veieu que això passa, assegureu-vos que el client d'escriptori estigui instal·lat al vostre sistema.", "Retry to open locally" : "Torna a provar d'obrir localment", + "Save a copy of the file under a new name and continue editing the new file" : "Deseu una còpia del fitxer amb un nom nou i continueu editant el fitxer nou", "Failed to revert the document to older version" : "No s'ha pogut tornar el document a la versió anterior", "Built-in CODE server failed to start" : "El servidor CODE integrat no s'ha pogut iniciar", + "Insert file from {name}" : "Insereix fitxer de {name}", + "Insert file" : "Insereix el fitxer", "Remove from favorites" : "Suprimeix de preferits", "Add to favorites" : "Afegeix a preferits", "Details" : "Detalls", @@ -199,15 +238,24 @@ OC.L10N.register( "Guest" : "Convidat", "Follow current editor" : "Segueix l'editor actual", "New file" : "Nou fitxer", - "Create" : "Crea", - "New drawing" : "Nou dibuix", + "Please enter the filename for the new file" : "Introduïu el nom del fitxer nou", "Could not create file" : "No s'ha pogut crear el fitxer", - "Select template" : "Selecciona plantilla", "Saved with error: Collabora Online should use the same protocol as the server installation." : "S'ha desat amb error: Collabora Online hauria de fer servir el mateix protocol que la instal·lació del servidor.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "No s' ha pogut establir la connexió amb el servidor Collabora Online. Això pot ser degut a una configuració que falta del servidor web. Per a més informació, visiteu: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Oficina Nextcloud requereix un servidor independent que executi Collabora Online per oferir capacitats d'edició.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online requereix un servidor separat que actuï com a client de WOPI per proporcionar funcions d’edició.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Per defecte, tots els usuaris poden editar documents amb {productName}. Quan aquest paràmetre està actiu, només els membres dels grups especificats poden editar, i els altres només poden veure documents.", + "Secure view settings" : "Paràmetres de la visualització segura", + "Secure view enables you to secure documents by embedding a watermark" : "La vista segura us permet protegir documents incrustant-hi una marca d'aigua", + "Enable watermarking" : "Habilita la marca d'aigua", + "Show watermark on tagged files" : "Mostra la marca d’aigua als fitxers etiquetats", + "Show watermark for users of groups" : "Mostra la marca d’aigua per als usuaris dels grups", + "Show watermark for all shares" : "Mostra la marca d’aigua per a totes les comparticions", + "Show watermark for read only shares" : "Mostra la marca d’aigua per elements compartits de només lectura", + "Show watermark for all link shares" : "Mostra la marca d’aigua per a tots els enllaços de elements compartits", + "Show watermark for download hidden shares" : "Mostra la marca d’aigua per baixar els elements compartits ocultes", + "Show watermark for read only link shares" : "Mostra la marca d’aigua per als enllaços de elements compartits només de lectura", + "Show watermark on link shares with specific system tags" : "Mostra la marca d’aigua en els enllaços d'elements compartits amb etiquetes específiques del sistema", "Error" : "Error", "An error occurred" : "S'ha produït un error", "Please choose your nickname to continue as guest user." : "Trieu el vostre sobrenom per continuar com a usuari convidat.", @@ -228,6 +276,10 @@ OC.L10N.register( "No templates defined." : "No s'ha definit cap plantilla.", "Add a new one?" : "En voleu afegir una?", "template preview" : "visualització prèvia de la plantilla", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Els fitxers encara es poden baixar amb Nextcloud tret que es digui el contrari als paràmetres de control d'accés o compartició", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Les visualitzacions prèvies es bloquen per als fitxers amb filigrana per no filtrar la primera pàgina dels documents", + "Show watermark for shares without download permission" : "Mostra la marca d'aigua per elements compartits sense permisos de baixada", + "New drawing" : "Nou dibuix", "Collabora Online" : "Collabora Online", "Document already exists" : "El document ja existeix", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online està habilitat per defecte per a tots els usuaris. Quan aquest paràmetre està actiu, només els membres dels grups especificats poden utilitzar-lo.", diff --git a/l10n/ca.json b/l10n/ca.json index 61136b9152..66014828e4 100644 --- a/l10n/ca.json +++ b/l10n/ca.json @@ -1,4 +1,5 @@ { "translations": { + "No files found for this task." : "No s'han trobat fitxers per a aquesta tasca.", "Cannot create document" : "No s'ha pogut crear el document", "New Document.odt" : "Nou Document.odt", "New Spreadsheet.ods" : "Nou Full de Càlcul.ods", @@ -25,10 +26,24 @@ "Only template files can be uploaded" : "Només es poden carregar fitxers de plantilles", "Invalid file provided" : "El fitxer proporcionat no és vàlid", "Template not found" : "No s'ha trobat la plantilla", + "Unable to determine the proper file extension for %1$s" : "No es pot determinar l'extensió de fitxer adequada per a %1$s", + "Unable to fetch information on %1$s" : "No es pot obtenir informació a %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Imatge (.png)", + "Image (.svg)" : "Imatge (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Document de Word (.docx)", + "OpenDocument Text (.odt)" : "Text d'OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Llibre de treball d'Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Full de càlcul d'OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Presentació de PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Presentació OpenDocument (.odp)", "New document" : "Nou document de text", "New spreadsheet" : "Nou full de càlcul", "New presentation" : "Nova presentació", "New diagram" : "Nou diagrama", + "{user} has mentioned you in {node}" : "{user} t'ha mencionat a {node}", "Link to office document section" : "Enllaç a la secció de documents d'oficina", "Nextcloud Office" : "Oficina Nextcloud", "Headings" : "Títols", @@ -37,16 +52,22 @@ "Sheets" : "Fulls", "Slides" : "Diapositives", "Office" : "Oficina", + "Instructions" : "Instruccions", "Empty" : "Buit", "Anonymous guest" : "Convidat anònim", "%s (Guest)" : "%s (Convidat)", "Edit office documents directly in your browser." : "Edició de documents d'ofimàtica directament des del vostre navegador.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Aquesta aplicació es pot connectar a un servidor Collabora Online (o un altre) (Client WOPI). Nextcloud és l'amfitrió WOPI. Si us plau, llegiu la documentació per obtenir més informació sobre això.\n\nTambé podeu editar els documents fora de línia amb l'aplicació Collabora Office des de l'aplicació **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** i botiga **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", - "Global Templates" : "Plantilles globals", - "New" : "Crea", + "Uploaded template \"{name}\"" : "Plantilla pujada \"{name}\"", "Template \"{name}\" already exists" : "La plantilla \"{name}\" ja existeix", "Unable to delete template" : "No s'ha pogut esborrar la plantilla", "Deleted template" : "S'ha esborrat la plantilla", + "Global Templates" : "Plantilles globals", + "New" : "Crea", + "Contact {0} to get an own installation." : "Contactar {0} per obtenir una instal·lació pròpia.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Assegureu-vos d'establir aquest URL: {url} al fitxer coolwsd.xml del vostre servidor de Collabora Online per assegurar-vos que els tipus de lletra afegits es carreguen automàticament. Tingueu en compte que http:// només funcionarà per a les compilacions de depuració de Collabora Online. En producció, heu d'utilitzar https:// per a la configuració remota del tipus de lletra.", + "Failed to save settings" : "Ha fallat desar els paràmetres", + "Font format not supported ({mime})" : "Format de tipus de lletra no suportat ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Oficina Nextcloud és una potent suite ofimàtica en línia basada en Collabora Online amb edició col·laborativa, que admet tots els formats principals de documents, fulls de càlcul i fitxers de presentació i funciona juntament amb tots els navegadors moderns.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online és un potent conjunt de productes d'ofimàtica basat en LibreOffice amb edició col·laborativa, que admet tots els documents principals, fulls de càlcul i formats de fitxers de presentació i funciona juntament amb tots els navegadors moderns.", "Could not establish connection to the Collabora Online server." : "No s' ha pogut establir la connexió amb el servidor Collabora Online.", @@ -104,47 +125,50 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Webroot canònic, en cas que hi hagi múltiples opcions per utilitzar Collabora. Proporcioneu el que tingui menys restriccions. Per exemple: feu servir un webroot no shibbolitzat si s'accedeix a aquesta instància ja sigui per webroots shibbolitzats o no shibbolitzats. Podeu ignorar aquest paràmetre si només es fa servir un webroot per accedir a aquesta instància.", "Enable access for external apps" : "Activa l'accés a les aplicacions externes", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Llista d'adreces IP i subxarxes IPV4 i IPV6 que poden realitzar sol·licituds dels punts finals WOPI. Si no s'especifica cap llista de permisos, es permetran tots els amfitrions. Per exemple. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Tipus de lletra extra", - "Upload extra font file" : "Pujada un fitxer de tipus de lletra extra", + "Custom Fonts" : "Tipus de lletra personalitzats", + "Upload font file" : "Puja el fitxer de tipus de lletra", "Upload a font file" : "Pujada d'un fitxer de tipus de lletra", "Available fonts" : "Tipus de lletra disponibles", - "Secure view settings" : "Paràmetres de la visualització segura", - "Secure view enables you to secure documents by embedding a watermark" : "La vista segura us permet protegir documents incrustant-hi una marca d'aigua", + "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Per a una compatibilitat ideal dels documents, us recomanem que instal·leu els tipus de lletra d'ús habitual. Si els vostres usuaris treballen amb Microsoft Office, la instal·lació dels seus tipus de lletra propietaris es pot fer seguint la documentació.", + "Custom fonts documentation" : "Documentació de fonts personalitzades", + "Secure View" : "Vista segura", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Els paràmetres només apliquen a fitxers d'Office compatibles que s'obrin a Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Les següents opcions de Nextcloud Office s'inhabilitaran: Copia, Baixada, Exporta, Imprimeix", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Els fitxers encara es poden baixar amb Nextcloud tret que es digui el contrari als paràmetres de control d'accés o compartició", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Els fitxers encara es poden baixar mitjançant sol·licituds WOPI si la configuració de WOPI no està correctament configurada", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Les visualitzacions prèvies es bloquen per als fitxers amb filigrana per no filtrar la primera pàgina dels documents", - "Enable watermarking" : "Habilita la marca d'aigua", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Marcadors de posició admesos: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mostra la marca d’aigua als fitxers etiquetats", "Select tags to enforce watermarking" : "Seleccioneu etiquetes per forçar l'aparició de la marca d'aigua", - "Show watermark for users of groups" : "Mostra la marca d’aigua per als usuaris dels grups", - "Show watermark for all shares" : "Mostra la marca d’aigua per a totes les comparticions", - "Show watermark for read only shares" : "Mostra la marca d’aigua per elements compartits de només lectura", - "Show watermark for shares without download permission" : "Mostra la marca d'aigua per elements compartits sense permisos de baixada", - "Show watermark for all link shares" : "Mostra la marca d’aigua per a tots els enllaços de elements compartits", - "Show watermark for download hidden shares" : "Mostra la marca d’aigua per baixar els elements compartits ocultes", - "Show watermark for read only link shares" : "Mostra la marca d’aigua per als enllaços de elements compartits només de lectura", - "Show watermark on link shares with specific system tags" : "Mostra la marca d’aigua en els enllaços d'elements compartits amb etiquetes específiques del sistema", - "Contact {0} to get an own installation." : "Contactar {0} per obtenir una instal·lació pròpia.", - "Failed to save settings" : "Ha fallat desar els paràmetres", - "Font format not supported ({mime})" : "Format de tipus de lletra no suportat ({mime})", + "Electronic Signature" : "Signatura electrònica", + "Client ID for the electronic signature API" : "ID de client per a l'API de signatura electrònica", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Ompliu el formulari de registre a https://eideasy.com/signup per obtenir un ID de client i un secret.", + "Secret for the electronic signature API" : "Secret per a l'API de signatura electrònica", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "El secret es pot descarregar mitjançant sol·licituds WOPI si la llista d'autoritzacions WOPI no està configurada correctament.", "Save" : "Desa", "Remove" : "Suprimir", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Introduïu el nom del convidat que voleu utilitzar abans de continuar amb el document. Si no en proporcioneu cap, s'utilitzarà el valor predeterminat.", + "Guest name" : "Nom del convidat", + "Submit name" : "Envia el nom", "Confirm" : "Confirma", "Cancel" : "Cancel·la", - "Save as" : "Anomena i desa", "Save As" : "Anomena i desa", + "Save as" : "Anomena i desa", + "Path to save" : "Camí per desar", + "Invalid file name" : "El nom del fitxer no és vàlid", + "Select template" : "Selecciona plantilla", + "File name" : "Nom del fitxer", + "Create" : "Crea", + "Failed to set Zotero API key" : "No s'ha pogut establir la clau de l'API de Zotero", "Link to your Zotero library" : "Enllaç a la teva biblioteca de Zotero", "Connect your Zotero account to make use of references within Office." : "Connecteu el vostre compte de Zotero per fer ús de les referències a Office.", "You can generate an account key here:" : "Podeu generar una clau de compte aquí:", "Zotero account settings" : "Paràmetres del compte de Zotero", "Zotero API key" : "Clau de l'API de Zotero", "Submit" : "Envia", - "Failed to set Zotero API key" : "No s'ha pogut establir la clau de l'API de Zotero", - "Select a template directory" : "Selecciona un directori de plantilles", "Select a personal template folder" : "Seleccioneu una carpeta de plantilla personal", + "Settings saved successfully." : "Paràmetres desats correctament.", + "Failed to save settings." : "No s'ha pogut desar els paràmetres.", + "Unexpected error occurred." : "S'ha produït un error inesperat.", + "Personal Settings for Nextcloud Office" : "Configuració personal per a l'Oficina Nextcloud", + "Select a template directory" : "Selecciona un directori de plantilles", "Remove personal template folder" : "Suprimir la carpeta de plantilles personals", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Les plantilles d'aquest directori s'afegiran al selector de plantilles de Nextcloud Office.", "Zotero" : "Zotero", @@ -153,22 +177,33 @@ "To use Zotero specify your API key here. You can create your API key in your" : "Per utilitzar Zotero, especifiqueu la vostra clau de l'API aquí. Podeu crear la vostra clau de l'API al vostre", "Zotero account API settings." : "Paràmetres de l'API del compte de Zotero.", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Aquesta instància no és compatible amb Zotero, perquè la funció falta o està desactivada. Si us plau, poseu-vos en contacte amb l'administració.", + "Document signing" : "Signatura de documents", + "Enter document signing cert (in PEM format)" : "Introduïu el certificat de signatura del document (en format PEM)", + "Enter document signing key" : "Introduïu la clau de signatura del document", + "Enter document signing CA chain" : "Introduïu la cadena de CA de signatura de documents", + "To use document signing, specify your signing certificate, key and CA chain here." : "Per utilitzar la signatura de documents, especifiqueu aquí el vostre certificat de signatura, clau i cadena de CA.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Aquesta instància no admet la signatura de documents perquè falta la funció o està desactivada. Poseu-vos en contacte amb l'administrador.", "Description" : "Descripció", "Add new token" : "Afegeix un testimoni nou", "No font overview" : "Sense visió general del tipus de lletra", "Delete this font" : "Suprimir aquest tipus de lletra", "No results" : "Sense resultats", + "Select file" : "Selecciona un fitxer", "Select file or folder to link to" : "Seleccioneu el fitxer o la carpeta que voleu enllaçar", "Could not find any section in the document" : "No s'ha pogut trobar cap secció del document", - "Select file" : "Selecciona un fitxer", - "Document loading failed" : "Ha fallat la càrrega del document", - "Close" : "Tanca", - "Edit" : "Edició", + "{productName} is not configured" : "No s'ha configurat {productName}", "Starting the built-in CODE server failed" : "No s'ha pogut iniciar el servidor CODE integrat", "Loading {filename} …" : "S'està carregant {filename} …", - "Open in local editor" : "Obre a l'editor local", "Failed to load {productName} - please try again later" : "No s'ha pogut carregar {productName} - si us plau, torneu-ho a provar més tard", - "{productName} is not configured" : "No s'ha configurat {productName}", + "Open in local editor" : "Obre a l'editor local", + "Cluster is scaling …" : "El clúster s'està escalant …", + "The collaborative editing was terminated by another user" : "L'edició col·laborativa va ser finalitzada per un altre usuari", + "Document loading failed" : "Ha fallat la càrrega del document", + "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Si us plau, consulteu el registre del servidor de Collabora Online per obtenir més detalls i assegureu-vos que es pugui contactar amb Nextcloud des d'allà.", + "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "La connexió del sòcol s'ha tancat de manera inesperada. El servidor intermediari invers pot estar mal configurat, poseu-vos en contacte amb l'administrador.", + "More information can be found in the reverse proxy documentation" : "Es pot trobar més informació a la documentació del proxy invers", + "Close" : "Tanca", + "Edit" : "Edició", "Built-in CODE Server is starting up shortly, please wait." : "El servidor de CODE integrat s'està començant en breu, si us plau esperi.", "Built-in CODE Server is restarting, please wait." : "El servidor de CODI integrat s'està reiniciant, si us plau esperi.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: no es troba l'AppImage, torneu a instal·lar el servidor integrat Collabora Online.", @@ -180,14 +215,18 @@ "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Error: No es pot iniciar el servidor integrat de Collabora Online, configureu-ne un de independent.", "Close version preview" : "Tanca la vista prèvia de la versió", "Edit with {productName}" : "Edita amb {productName}", + "Insert into document" : "Insereix al document", "Open file locally" : "Obre el fitxer en local", "When opening a file locally, the document will close for all users currently viewing the document." : "Quan s'obre un fitxer en local, el document es tancarà per tots els usuaris que l'estiguin visualitzant en aquest moment.", "Open locally" : "Obre en local", "Continue editing online" : "Continuar editant en línia", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Ara el fitxer hauria d'obrir-se localment. Si no veieu que això passa, assegureu-vos que el client d'escriptori estigui instal·lat al vostre sistema.", "Retry to open locally" : "Torna a provar d'obrir localment", + "Save a copy of the file under a new name and continue editing the new file" : "Deseu una còpia del fitxer amb un nom nou i continueu editant el fitxer nou", "Failed to revert the document to older version" : "No s'ha pogut tornar el document a la versió anterior", "Built-in CODE server failed to start" : "El servidor CODE integrat no s'ha pogut iniciar", + "Insert file from {name}" : "Insereix fitxer de {name}", + "Insert file" : "Insereix el fitxer", "Remove from favorites" : "Suprimeix de preferits", "Add to favorites" : "Afegeix a preferits", "Details" : "Detalls", @@ -197,15 +236,24 @@ "Guest" : "Convidat", "Follow current editor" : "Segueix l'editor actual", "New file" : "Nou fitxer", - "Create" : "Crea", - "New drawing" : "Nou dibuix", + "Please enter the filename for the new file" : "Introduïu el nom del fitxer nou", "Could not create file" : "No s'ha pogut crear el fitxer", - "Select template" : "Selecciona plantilla", "Saved with error: Collabora Online should use the same protocol as the server installation." : "S'ha desat amb error: Collabora Online hauria de fer servir el mateix protocol que la instal·lació del servidor.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "No s' ha pogut establir la connexió amb el servidor Collabora Online. Això pot ser degut a una configuració que falta del servidor web. Per a més informació, visiteu: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Oficina Nextcloud requereix un servidor independent que executi Collabora Online per oferir capacitats d'edició.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online requereix un servidor separat que actuï com a client de WOPI per proporcionar funcions d’edició.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Per defecte, tots els usuaris poden editar documents amb {productName}. Quan aquest paràmetre està actiu, només els membres dels grups especificats poden editar, i els altres només poden veure documents.", + "Secure view settings" : "Paràmetres de la visualització segura", + "Secure view enables you to secure documents by embedding a watermark" : "La vista segura us permet protegir documents incrustant-hi una marca d'aigua", + "Enable watermarking" : "Habilita la marca d'aigua", + "Show watermark on tagged files" : "Mostra la marca d’aigua als fitxers etiquetats", + "Show watermark for users of groups" : "Mostra la marca d’aigua per als usuaris dels grups", + "Show watermark for all shares" : "Mostra la marca d’aigua per a totes les comparticions", + "Show watermark for read only shares" : "Mostra la marca d’aigua per elements compartits de només lectura", + "Show watermark for all link shares" : "Mostra la marca d’aigua per a tots els enllaços de elements compartits", + "Show watermark for download hidden shares" : "Mostra la marca d’aigua per baixar els elements compartits ocultes", + "Show watermark for read only link shares" : "Mostra la marca d’aigua per als enllaços de elements compartits només de lectura", + "Show watermark on link shares with specific system tags" : "Mostra la marca d’aigua en els enllaços d'elements compartits amb etiquetes específiques del sistema", "Error" : "Error", "An error occurred" : "S'ha produït un error", "Please choose your nickname to continue as guest user." : "Trieu el vostre sobrenom per continuar com a usuari convidat.", @@ -226,6 +274,10 @@ "No templates defined." : "No s'ha definit cap plantilla.", "Add a new one?" : "En voleu afegir una?", "template preview" : "visualització prèvia de la plantilla", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Els fitxers encara es poden baixar amb Nextcloud tret que es digui el contrari als paràmetres de control d'accés o compartició", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Les visualitzacions prèvies es bloquen per als fitxers amb filigrana per no filtrar la primera pàgina dels documents", + "Show watermark for shares without download permission" : "Mostra la marca d'aigua per elements compartits sense permisos de baixada", + "New drawing" : "Nou dibuix", "Collabora Online" : "Collabora Online", "Document already exists" : "El document ja existeix", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online està habilitat per defecte per a tots els usuaris. Quan aquest paràmetre està actiu, només els membres dels grups especificats poden utilitzar-lo.", diff --git a/l10n/cs.js b/l10n/cs.js index ef8369eaf4..67d4772ac2 100644 --- a/l10n/cs.js +++ b/l10n/cs.js @@ -28,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "Je možné nahrávat pouze soubory obsahující šablony", "Invalid file provided" : "Poskytnut neplatný soubor", "Template not found" : "Šablona nenalezena", + "Unable to determine the proper file extension for %1$s" : "Nebylo možné zjistit správnou příponu souboru pro %1$s", + "Unable to fetch information on %1$s" : "Nedaří se získat informaci o %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Obrázek (.png)", + "Image (.svg)" : "Obrázek (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Dokument Word (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument text (.odt)", + "Excel Workbook (.xlsx)" : "Sešit Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Sešit OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint prezentace (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument prezentace (.odp)", "New document" : "Nový dokument", "New spreadsheet" : "Nová tabulka", "New presentation" : "Nová prezentace", @@ -41,17 +54,46 @@ OC.L10N.register( "Sheets" : "Listy", "Slides" : "Stránky prezentace", "Office" : "Kancelář", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud Asistent nástroj pro vytváření prezentací", + "Generate Slide Deck" : "Vytvořit prezentaci", + "Generate a slide deck from a presentation script" : "Vytvořit snímky ze scénáře prezentace", + "Presentation script" : "Skript prezentace", + "Write the text for your presentation here" : "Text pro svou prezentaci napište sem", + "Generated slide deck" : "Vytvořená prezentace", + "The slide deck generated" : "Prezentace vytvořena", + "Nextcloud Office text document generator" : "Nástroj pro vytváření Nextcloud Office textových dokumentů", + "Document format" : "Formát dokumentu", + "The format of the generated document" : "Formát generovaného dokumentu", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Přenositelný formát dokumentů (pdf)", + "Generate Office text document" : "Vytvořit textový dokument office", + "Generate an Office text document from a prompt" : "Vytvořit textový dokument Office z promptu", + "Instructions" : "Pokyny", + "Describe the document you want the assistant to generate" : "Popište dokument, který chcete, aby asistent vytvořil", + "Generated Office document" : "Vytvořený dokument office", + "The Office document that was generated from the description" : "Dokument Office, který byl vytvořen z popisu", + "Nextcloud Office spreadsheet generator" : "Nástroj pro vytváření Nextcloud Office tabulek", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Vytvořit dokument tabulky office", + "Generate an Office spreadsheet document from a prompt" : "Vytvořit tabulku Office z promptu", "Empty" : "Prázdná", "Anonymous guest" : "Anonymní host", "%s (Guest)" : "%s (host)", "Edit office documents directly in your browser." : "Upravujte dokumenty přímo ve webovém prohlížeči.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Tato aplikace se může připojit ke Collabora Online (nebo jinému) serveru (klient WOPI). Nextcloud je WOPI hostitel. Další informace naleznete v dokumentaci.\n\nSvé dokumenty můžete upravovat i bez připojení k Intenetu v aplikaci Collabora Office z **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** a **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** katalogu aplikací.", - "Global Templates" : "Globální šablony", - "New" : "Nové", + "Accepted file types: {accepts}" : "Přijímané typy souborů: {accepts}.", "Uploaded template \"{name}\"" : "Nahrána šablona „{name}“", "Template \"{name}\" already exists" : "Šablona „{name}“ už existuje", "Unable to delete template" : "Šablonu se nedaří smazat", "Deleted template" : "Smazána šablona", + "Global Templates" : "Globální šablony", + "New" : "Nové", + "Contact {0} to get an own installation." : "Pro získání vlastní instalace se obraťte na {0}.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Zajistěte nastavení této URL: {url} v souboru coolwsd.xml na vámi využívaném Collabora Online serveru, aby se přidaná písma automaticky načítala. Mějte na vědomí, že http:// bude fungovat pouze v případě sestavení Collabora Online, určených pro ladění. V produkci je třeba pro nastavování vzdálených písem použít https://.", + "Failed to save settings" : "Nastavení se nepodařilo uložit", + "Font format not supported ({mime})" : "Formát písma není podporován ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Kancelář je všestranný online kancelářský balík pro spolupráci více uživatelů, založený na Collabora Online. Podporuje všechny hlavní souborové formáty dokumentů, tabulek a prezentací a funguje ve všech moderních webových prohlížečích.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online je všestranný online kancelářský balík pro spolupráci více uživatelů, založený na Libre Office. Podporuje všechny hlavní souborové formáty dokumentů, tabulek a prezentací a funguje ve všech moderních webových prohlížečích.", "Could not establish connection to the Collabora Online server." : "Nedaří se navázat spojení s Collabora Online serverem.", @@ -109,59 +151,66 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Úplný popis umístění kořene webu, kterou má Collabora použít v případě, že je jich více. Použijte tu s nejméně omezeními. Např. použijte popis umístění kořene bez podpory Shibboleth pokud tato instance podporuje oba přístupy. Tuto volbu můžete ignorovat v případě, že existuje pouze jedna kořenová složka pro přístup.", "Enable access for external apps" : "Umožnit přístup pro externí aplikace", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Seznam IPV4 a IPV6 adres a podsítí, ze kterých umožníte provádět požadavky WOPI koncových bodů. Pokud není zadán seznam povolených, budou umožněni všichni hostitelé. Např. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Další písma", - "Upload extra font file" : "Nahřát soubor s dalším písmem", + "Custom Fonts" : "Uživatelsky určená písma", + "Upload font file" : "Nahrát soubor s písmem", "Upload a font file" : "Nahrát soubor s písmem", "Available fonts" : "Písma k dispozici", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Pro lepší kompatibilitu dokumentů doporučujeme nainstalovat nejběžněji používaná písma. Pokud uživatelé pracují s Microsoft Office, instalaci proprietárních písem z nich je možné provést pomocí dokumentace.", "Custom fonts documentation" : "Dokumentace k uživatelsky určeným písmům", - "Secure view settings" : "Nastavení zabezpečeného zobrazení", - "Secure view enables you to secure documents by embedding a watermark" : "Zabezpečené zobrazení umožňuje zabezpečit dokumenty vložením vodoznaku", + "Secure View" : "Zabezpečené zobrazení", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Zabezpečené zobrazení vám umožňuje zabezpečit kancelářské dokumenty tak, že zablokuje stahování, plnohodnotné náhledy a přidáním vodoznaku.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Nastavení budou uplatňována pouze na kompatibilní soubory kancelářských aplikací, které jsou otevírány v Nextcloud Office", + "Downloading the file through WebDAV will be blocked" : "Stahování souboru přes WebDAV bude zakázáno", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Budou vypnuty následující možnosti v Nextcloud Office: Zkopírovat, Stáhnout, Exportovat, Tisk", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Soubory může být i tak možné si stáhnout prostřednictvím Nextcloud pokud není jinak omezeno prostřednictvím sdílení nebo nastavení řízení přístupu", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Pokud nastavení pro WOPI nejsou správně, je i tak možné soubory přes WOPI požadavky stahovat", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Náhledy budou blokovány pro soubory, označené vodotiskem, aby se zabránilo únikům první stránky dokumentů", - "Enable watermarking" : "Zapnout opatřování vodoznaky", + "Previews will be blocked" : "Náhledy budou zakázány", + "Enable secure view" : "Povolit zabezpečené zobrazení", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Podporované výplně: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Zobrazovat vodoznaky na souborech, označených štítky", + "Enforce secure view on tagged files" : "Vynutit zabezpečené zobrazení na souborech označených štítkem", "Select tags to enforce watermarking" : "Vyberte štítky, pro které vynucovat vodoznaky", - "Show watermark for users of groups" : "Zobrazovat vodoznak pro uživatele skupin", - "Show watermark for all shares" : "Zobrazovat vodoznak pro všechna sdílení", - "Show watermark for read only shares" : "Zobrazovat vodoznak pro sdílení, která jsou pouze pro čtení", - "Show watermark for shares without download permission" : "Zobrazit vodoznak pro sdílení bez oprávnění ke stahování", - "Show watermark for all link shares" : "Zobrazovat vodoznak pro všechna sdílení odkazem", - "Show watermark for download hidden shares" : "Zobrazovat vodoznak pro stahování ze skrytých sdílení", - "Show watermark for read only link shares" : "Zobrazovat vodoznak pro sdílení odkazem, která jsou pouze pro čtení", - "Show watermark on link shares with specific system tags" : "Zobrazovat vodoznak na sdíleních odkazem, která jsou opatřena konkrétními systémovými štítky", - "Electronic signature settings" : "Nastavení pro elektronický podpis", + "Enforce secure view for users of groups" : "Vynutit zabezpečené zobrazení pro uživatele ve skupinách", + "Enforce secure view for all shares" : "Vynutit zabezpečené zobrazení pro všechna sdílení", + "Enforce secure view for read only shares" : "Vynutit zabezpečené zobrazení pro všechna sdílení, která jsou pouze pro čtení", + "Enforce secure view for all public Talk shares" : "Vynutit zabezpečené zobrazení pro všechna veřejná sdílení z Talk", + "Enforce secure view for shares without download permission" : "Vynutit zabezpečené zobrazení pro sdílení, která nelze stahovat", + "Enforce secure view for all link shares" : "Vynutit zabezpečené zobrazení pro všechna sdílení přes odkaz", + "Enforce secure view for download hidden shares" : "Vynutit zabezpečené zobrazení pro stažená skrytá sdílení", + "Enforce secure view for read only link shares" : "Vynutit zabezpečené zobrazení pro sdílení odkazem v režimu pouze pro čtení", + "Enforce secure view on link shares with specific system tags" : "Vynutit zabezpečené zobrazení pro sdílení odkazem, který má specifické systémové štítky", + "Select tags to enforce secure view" : "Vyberte štítky pro vynucování zabezpečeného zobrazení", + "Electronic Signature" : "Elektronický podpis", "Client ID for the electronic signature API" : "Identif. klienta pro API rozhraní pro elektronický podpis", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Identif. klienta a tajemství získáte vyplněním registračního formuláře na https://eideasy.com/signup", "Secret for the electronic signature API" : "Tajemství pro API rozhraní pro elektronický podpis", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Pokud WOPI seznam umožněných není nastavený správně, je i tak možné že tajemství mohou být k dispozici pro stažení prostřednictvím WOPI požadavků.", - "Contact {0} to get an own installation." : "Pro získání vlastní instalace se obraťte na {0}.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Zajistěte nastavení této URL: {url} v souboru coolwsd.xml na vámi využívaném Collabora Online serveru, aby se přidaná písma automaticky načítala. Mějte na vědomí, že http:// bude fungovat pouze v případě sestavení Collabora Online, určených pro ladění. V produkci je třeba pro nastavování vzdálených písem použít https://.", - "Failed to save settings" : "Nastavení se nepodařilo uložit", - "Font format not supported ({mime})" : "Formát písma není podporován ({mime})", "Save" : "Uložit", "Remove" : "Odebrat", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Před pokračováním k dokumentu zadejte jméno hosta které chcete použít. Pokud žádné nezadáte, bude použito výchozí.", "Guest name" : "Jméno hosta", "Submit name" : "Odeslat jméno", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Před pokračováním k dokumentu zadejte jméno hosta které chcete použít. Pokud žádné nezadáte, bude použito výchozí.", "Confirm" : "Potvrdit", "Cancel" : "Storno", + "Save As" : "Uložit jako", "Save as" : "Uložit jako", "Path to save" : "Umístění do kterého uložit", - "Save As" : "Uložit jako", + "Invalid file name" : "Neplatný název souboru", + "File name already exists" : "Takto nazvaný souboru už existuje", + "Select template" : "Vybrat šablonu", + "File name" : "Název souboru", + "Create" : "Vytvořit", + "Failed to set Zotero API key" : "Nepodařilo se nastavit klíč k Zotero API", "Link to your Zotero library" : "Odkaz na vaši Zotero knihovnu", "Connect your Zotero account to make use of references within Office." : "Připojte svůj Zotero účet a používejte ho pro reference v rámci Office", "You can generate an account key here:" : "Klíč k účtu je možné vytvořit zde:", "Zotero account settings" : "Nastavení pro Zotero účet", "Zotero API key" : "Klíč k Zotero API", "Submit" : "Odeslat", - "Failed to set Zotero API key" : "Nepodařilo se nastavit klíč k Zotero API", - "Select a template directory" : "Vyberte složku se šablonami", "Select a personal template folder" : "Vyberte složku s osobní šablonou", + "Settings saved successfully." : "Nastavení úspěšně uložena.", + "Failed to save settings." : "Nastavení se nepodařilo uložit.", + "Unexpected error occurred." : "Došlo k neočekávané chybě.", + "Personal Settings for Nextcloud Office" : "Osobní nastavení pro Nextcloud Office", + "Select a template directory" : "Vyberte složku se šablonami", "Remove personal template folder" : "Odebrat složku s osobní šablonou", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Šablony nacházející se v této složce budou přidány do výběru šablon v Nextcloud Office.", "Zotero" : "Zotero", @@ -181,22 +230,22 @@ OC.L10N.register( "No font overview" : "Žádný přehled písma", "Delete this font" : "Smazat toto písmo", "No results" : "Žádné výsledky", + "Select file" : "Vybrat soubor", "Select file or folder to link to" : "Vyberte soubor nebo složku na kterou odkazovat", "Could not find any section in the document" : "V dokumentu se nepodařilo nalézt žádnou sekci", - "Select file" : "Vybrat soubor", + "{productName} is not configured" : "{productName} není nastaveno", + "Starting the built-in CODE server failed" : "Spouštění vestavěného CODE serveru se nezdařilo", + "Loading {filename} …" : "Načítání {filename}…", + "Failed to load {productName} - please try again later" : "Nepodařilo se načíst {productName} – zkuste to prosím znovu později.", + "Open in local editor" : "Otevřít v lokálním editoru", + "Cluster is scaling …" : "Škálování clusteru…", + "The collaborative editing was terminated by another user" : "Společné upravování bylo ukončeno jiným uživatelem", "Document loading failed" : "Načítání dokumentu se nezdařilo", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Ohledně bližších podrobností se podívejte do záznamu událostí (log) Collabora Online serveru a ověřte, že je z jeho strany Nextcloud dosažitelný.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Spojení soketu neočekávaně ukončeno. Je možné, že je nesprávně nastavená reverzní proxy – obraťte se na správce.", "More information can be found in the reverse proxy documentation" : "Další informace je možné nalézt v dokumentaci k reverzní proxy", "Close" : "Zavřít", "Edit" : "Upravit", - "Starting the built-in CODE server failed" : "Spouštění vestavěného CODE serveru se nezdařilo", - "Loading {filename} …" : "Načítání {filename}…", - "Open in local editor" : "Otevřít v lokálním editoru", - "Cluster is scaling …" : "Škálování clusteru…", - "The collaborative editing was terminated by another user" : "Společné upravování bylo ukončeno jiným uživatelem", - "Failed to load {productName} - please try again later" : "Nepodařilo se načíst {productName} – zkuste to prosím znovu později.", - "{productName} is not configured" : "{productName} není nastaveno", "Built-in CODE Server is starting up shortly, please wait." : "Vestavěný CODE server bude zakrátko spuštěn – vyčkejte", "Built-in CODE Server is restarting, please wait." : "Vestavěný CODE server se restartuje – vyčkejte.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Chyba: Nedaří se nalézt AppImage – prosíme přeinstalujte vestavěný server Collabora Online.", @@ -230,15 +279,24 @@ OC.L10N.register( "Follow current editor" : "Následovat stávající editor", "New file" : "Nový soubor", "Please enter the filename for the new file" : "Zadejte název pro nový soubor", - "Create" : "Vytvořit", - "New drawing" : "Nová kresba", "Could not create file" : "Nepodařilo se vytvořit soubor", - "Select template" : "Vybrat šablonu", + "Could not load templates" : "Nebylo možné načíst šablony", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Uloženo s chybou: Collabora Online by mělo používat stejný protokol jako nainstalovaný server.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Nedaří se navázat spojení s Collabora Online serverem. To může být kvůli chybějícímu nastavení na vašem webovém serveru. Podobnosti naleznete na:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Kancelář vyžaduje oddělený server, na kterém jsou spuštěné Collabora Online, poskytující možnost upravování.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online potřebuje zvlášť server sloužící jako WOPI klient, poskytující možnosti upravování.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Ve výchozím stavu mohou v {productName} upravovat dokumenty všichni uživatelé. Pokud je toto nastavení aktivní, pouze členové zadaných skupiny mohou upravovat a ostatní mohou dokumenty pouze prohlížet.", + "Secure view settings" : "Nastavení zabezpečeného zobrazení", + "Secure view enables you to secure documents by embedding a watermark" : "Zabezpečené zobrazení umožňuje zabezpečit dokumenty vložením vodoznaku", + "Enable watermarking" : "Zapnout opatřování vodoznaky", + "Show watermark on tagged files" : "Zobrazovat vodoznaky na souborech, označených štítky", + "Show watermark for users of groups" : "Zobrazovat vodoznak pro uživatele skupin", + "Show watermark for all shares" : "Zobrazovat vodoznak pro všechna sdílení", + "Show watermark for read only shares" : "Zobrazovat vodoznak pro sdílení, která jsou pouze pro čtení", + "Show watermark for all link shares" : "Zobrazovat vodoznak pro všechna sdílení odkazem", + "Show watermark for download hidden shares" : "Zobrazovat vodoznak pro stahování ze skrytých sdílení", + "Show watermark for read only link shares" : "Zobrazovat vodoznak pro sdílení odkazem, která jsou pouze pro čtení", + "Show watermark on link shares with specific system tags" : "Zobrazovat vodoznak na sdíleních odkazem, která jsou opatřena konkrétními systémovými štítky", "Error" : "Chyba", "An error occurred" : "Došlo k chybě", "Please choose your nickname to continue as guest user." : "Zvolte si svou přezdívku a pokračujte jako host.", @@ -246,6 +304,8 @@ OC.L10N.register( "Set" : "Nastavit", "Please enter the filename to store the document as." : "Zadejte název souboru ve kterém dokument uchovávat.", "New filename" : "Název souboru", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online zatím ještě není nastavena. Obraťte se na svého správce systému.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Otevírání souborů není podporováno, protože přihlašovací údaje pro externí úložiště nejsou bez relace k dispozici", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Nepodařilo se připojit k {productName}. Zkuste to prosím znovu později nebo se obraťte na správce serveru.", "Saving…" : "Ukládání…", "Insert from {name}" : "Vložit z {name}", @@ -259,6 +319,10 @@ OC.L10N.register( "No templates defined." : "Nebyla určena žádná šablona.", "Add a new one?" : "Přidat novou?", "template preview" : "náhled šablony", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Soubory může být i tak možné si stáhnout prostřednictvím Nextcloud pokud není jinak omezeno prostřednictvím sdílení nebo nastavení řízení přístupu", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Náhledy budou blokovány pro soubory, označené vodotiskem, aby se zabránilo únikům první stránky dokumentů", + "Show watermark for shares without download permission" : "Zobrazit vodoznak pro sdílení bez oprávnění ke stahování", + "New drawing" : "Nová kresba", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument už existuje", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Ve výchozím stavu je Collabora Online zapnuté pro všechny uživatele. Pokud je toto nastavení aktivní, mohou Collabora Online používat jen členové zadaných skupin.", diff --git a/l10n/cs.json b/l10n/cs.json index 195636076c..f2c1b291fc 100644 --- a/l10n/cs.json +++ b/l10n/cs.json @@ -26,6 +26,19 @@ "Only template files can be uploaded" : "Je možné nahrávat pouze soubory obsahující šablony", "Invalid file provided" : "Poskytnut neplatný soubor", "Template not found" : "Šablona nenalezena", + "Unable to determine the proper file extension for %1$s" : "Nebylo možné zjistit správnou příponu souboru pro %1$s", + "Unable to fetch information on %1$s" : "Nedaří se získat informaci o %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Obrázek (.png)", + "Image (.svg)" : "Obrázek (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Dokument Word (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument text (.odt)", + "Excel Workbook (.xlsx)" : "Sešit Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Sešit OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint prezentace (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument prezentace (.odp)", "New document" : "Nový dokument", "New spreadsheet" : "Nová tabulka", "New presentation" : "Nová prezentace", @@ -39,17 +52,46 @@ "Sheets" : "Listy", "Slides" : "Stránky prezentace", "Office" : "Kancelář", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud Asistent nástroj pro vytváření prezentací", + "Generate Slide Deck" : "Vytvořit prezentaci", + "Generate a slide deck from a presentation script" : "Vytvořit snímky ze scénáře prezentace", + "Presentation script" : "Skript prezentace", + "Write the text for your presentation here" : "Text pro svou prezentaci napište sem", + "Generated slide deck" : "Vytvořená prezentace", + "The slide deck generated" : "Prezentace vytvořena", + "Nextcloud Office text document generator" : "Nástroj pro vytváření Nextcloud Office textových dokumentů", + "Document format" : "Formát dokumentu", + "The format of the generated document" : "Formát generovaného dokumentu", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Přenositelný formát dokumentů (pdf)", + "Generate Office text document" : "Vytvořit textový dokument office", + "Generate an Office text document from a prompt" : "Vytvořit textový dokument Office z promptu", + "Instructions" : "Pokyny", + "Describe the document you want the assistant to generate" : "Popište dokument, který chcete, aby asistent vytvořil", + "Generated Office document" : "Vytvořený dokument office", + "The Office document that was generated from the description" : "Dokument Office, který byl vytvořen z popisu", + "Nextcloud Office spreadsheet generator" : "Nástroj pro vytváření Nextcloud Office tabulek", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Vytvořit dokument tabulky office", + "Generate an Office spreadsheet document from a prompt" : "Vytvořit tabulku Office z promptu", "Empty" : "Prázdná", "Anonymous guest" : "Anonymní host", "%s (Guest)" : "%s (host)", "Edit office documents directly in your browser." : "Upravujte dokumenty přímo ve webovém prohlížeči.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Tato aplikace se může připojit ke Collabora Online (nebo jinému) serveru (klient WOPI). Nextcloud je WOPI hostitel. Další informace naleznete v dokumentaci.\n\nSvé dokumenty můžete upravovat i bez připojení k Intenetu v aplikaci Collabora Office z **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** a **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** katalogu aplikací.", - "Global Templates" : "Globální šablony", - "New" : "Nové", + "Accepted file types: {accepts}" : "Přijímané typy souborů: {accepts}.", "Uploaded template \"{name}\"" : "Nahrána šablona „{name}“", "Template \"{name}\" already exists" : "Šablona „{name}“ už existuje", "Unable to delete template" : "Šablonu se nedaří smazat", "Deleted template" : "Smazána šablona", + "Global Templates" : "Globální šablony", + "New" : "Nové", + "Contact {0} to get an own installation." : "Pro získání vlastní instalace se obraťte na {0}.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Zajistěte nastavení této URL: {url} v souboru coolwsd.xml na vámi využívaném Collabora Online serveru, aby se přidaná písma automaticky načítala. Mějte na vědomí, že http:// bude fungovat pouze v případě sestavení Collabora Online, určených pro ladění. V produkci je třeba pro nastavování vzdálených písem použít https://.", + "Failed to save settings" : "Nastavení se nepodařilo uložit", + "Font format not supported ({mime})" : "Formát písma není podporován ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Kancelář je všestranný online kancelářský balík pro spolupráci více uživatelů, založený na Collabora Online. Podporuje všechny hlavní souborové formáty dokumentů, tabulek a prezentací a funguje ve všech moderních webových prohlížečích.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online je všestranný online kancelářský balík pro spolupráci více uživatelů, založený na Libre Office. Podporuje všechny hlavní souborové formáty dokumentů, tabulek a prezentací a funguje ve všech moderních webových prohlížečích.", "Could not establish connection to the Collabora Online server." : "Nedaří se navázat spojení s Collabora Online serverem.", @@ -107,59 +149,66 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Úplný popis umístění kořene webu, kterou má Collabora použít v případě, že je jich více. Použijte tu s nejméně omezeními. Např. použijte popis umístění kořene bez podpory Shibboleth pokud tato instance podporuje oba přístupy. Tuto volbu můžete ignorovat v případě, že existuje pouze jedna kořenová složka pro přístup.", "Enable access for external apps" : "Umožnit přístup pro externí aplikace", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Seznam IPV4 a IPV6 adres a podsítí, ze kterých umožníte provádět požadavky WOPI koncových bodů. Pokud není zadán seznam povolených, budou umožněni všichni hostitelé. Např. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Další písma", - "Upload extra font file" : "Nahřát soubor s dalším písmem", + "Custom Fonts" : "Uživatelsky určená písma", + "Upload font file" : "Nahrát soubor s písmem", "Upload a font file" : "Nahrát soubor s písmem", "Available fonts" : "Písma k dispozici", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Pro lepší kompatibilitu dokumentů doporučujeme nainstalovat nejběžněji používaná písma. Pokud uživatelé pracují s Microsoft Office, instalaci proprietárních písem z nich je možné provést pomocí dokumentace.", "Custom fonts documentation" : "Dokumentace k uživatelsky určeným písmům", - "Secure view settings" : "Nastavení zabezpečeného zobrazení", - "Secure view enables you to secure documents by embedding a watermark" : "Zabezpečené zobrazení umožňuje zabezpečit dokumenty vložením vodoznaku", + "Secure View" : "Zabezpečené zobrazení", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Zabezpečené zobrazení vám umožňuje zabezpečit kancelářské dokumenty tak, že zablokuje stahování, plnohodnotné náhledy a přidáním vodoznaku.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Nastavení budou uplatňována pouze na kompatibilní soubory kancelářských aplikací, které jsou otevírány v Nextcloud Office", + "Downloading the file through WebDAV will be blocked" : "Stahování souboru přes WebDAV bude zakázáno", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Budou vypnuty následující možnosti v Nextcloud Office: Zkopírovat, Stáhnout, Exportovat, Tisk", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Soubory může být i tak možné si stáhnout prostřednictvím Nextcloud pokud není jinak omezeno prostřednictvím sdílení nebo nastavení řízení přístupu", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Pokud nastavení pro WOPI nejsou správně, je i tak možné soubory přes WOPI požadavky stahovat", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Náhledy budou blokovány pro soubory, označené vodotiskem, aby se zabránilo únikům první stránky dokumentů", - "Enable watermarking" : "Zapnout opatřování vodoznaky", + "Previews will be blocked" : "Náhledy budou zakázány", + "Enable secure view" : "Povolit zabezpečené zobrazení", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Podporované výplně: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Zobrazovat vodoznaky na souborech, označených štítky", + "Enforce secure view on tagged files" : "Vynutit zabezpečené zobrazení na souborech označených štítkem", "Select tags to enforce watermarking" : "Vyberte štítky, pro které vynucovat vodoznaky", - "Show watermark for users of groups" : "Zobrazovat vodoznak pro uživatele skupin", - "Show watermark for all shares" : "Zobrazovat vodoznak pro všechna sdílení", - "Show watermark for read only shares" : "Zobrazovat vodoznak pro sdílení, která jsou pouze pro čtení", - "Show watermark for shares without download permission" : "Zobrazit vodoznak pro sdílení bez oprávnění ke stahování", - "Show watermark for all link shares" : "Zobrazovat vodoznak pro všechna sdílení odkazem", - "Show watermark for download hidden shares" : "Zobrazovat vodoznak pro stahování ze skrytých sdílení", - "Show watermark for read only link shares" : "Zobrazovat vodoznak pro sdílení odkazem, která jsou pouze pro čtení", - "Show watermark on link shares with specific system tags" : "Zobrazovat vodoznak na sdíleních odkazem, která jsou opatřena konkrétními systémovými štítky", - "Electronic signature settings" : "Nastavení pro elektronický podpis", + "Enforce secure view for users of groups" : "Vynutit zabezpečené zobrazení pro uživatele ve skupinách", + "Enforce secure view for all shares" : "Vynutit zabezpečené zobrazení pro všechna sdílení", + "Enforce secure view for read only shares" : "Vynutit zabezpečené zobrazení pro všechna sdílení, která jsou pouze pro čtení", + "Enforce secure view for all public Talk shares" : "Vynutit zabezpečené zobrazení pro všechna veřejná sdílení z Talk", + "Enforce secure view for shares without download permission" : "Vynutit zabezpečené zobrazení pro sdílení, která nelze stahovat", + "Enforce secure view for all link shares" : "Vynutit zabezpečené zobrazení pro všechna sdílení přes odkaz", + "Enforce secure view for download hidden shares" : "Vynutit zabezpečené zobrazení pro stažená skrytá sdílení", + "Enforce secure view for read only link shares" : "Vynutit zabezpečené zobrazení pro sdílení odkazem v režimu pouze pro čtení", + "Enforce secure view on link shares with specific system tags" : "Vynutit zabezpečené zobrazení pro sdílení odkazem, který má specifické systémové štítky", + "Select tags to enforce secure view" : "Vyberte štítky pro vynucování zabezpečeného zobrazení", + "Electronic Signature" : "Elektronický podpis", "Client ID for the electronic signature API" : "Identif. klienta pro API rozhraní pro elektronický podpis", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Identif. klienta a tajemství získáte vyplněním registračního formuláře na https://eideasy.com/signup", "Secret for the electronic signature API" : "Tajemství pro API rozhraní pro elektronický podpis", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Pokud WOPI seznam umožněných není nastavený správně, je i tak možné že tajemství mohou být k dispozici pro stažení prostřednictvím WOPI požadavků.", - "Contact {0} to get an own installation." : "Pro získání vlastní instalace se obraťte na {0}.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Zajistěte nastavení této URL: {url} v souboru coolwsd.xml na vámi využívaném Collabora Online serveru, aby se přidaná písma automaticky načítala. Mějte na vědomí, že http:// bude fungovat pouze v případě sestavení Collabora Online, určených pro ladění. V produkci je třeba pro nastavování vzdálených písem použít https://.", - "Failed to save settings" : "Nastavení se nepodařilo uložit", - "Font format not supported ({mime})" : "Formát písma není podporován ({mime})", "Save" : "Uložit", "Remove" : "Odebrat", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Před pokračováním k dokumentu zadejte jméno hosta které chcete použít. Pokud žádné nezadáte, bude použito výchozí.", "Guest name" : "Jméno hosta", "Submit name" : "Odeslat jméno", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Před pokračováním k dokumentu zadejte jméno hosta které chcete použít. Pokud žádné nezadáte, bude použito výchozí.", "Confirm" : "Potvrdit", "Cancel" : "Storno", + "Save As" : "Uložit jako", "Save as" : "Uložit jako", "Path to save" : "Umístění do kterého uložit", - "Save As" : "Uložit jako", + "Invalid file name" : "Neplatný název souboru", + "File name already exists" : "Takto nazvaný souboru už existuje", + "Select template" : "Vybrat šablonu", + "File name" : "Název souboru", + "Create" : "Vytvořit", + "Failed to set Zotero API key" : "Nepodařilo se nastavit klíč k Zotero API", "Link to your Zotero library" : "Odkaz na vaši Zotero knihovnu", "Connect your Zotero account to make use of references within Office." : "Připojte svůj Zotero účet a používejte ho pro reference v rámci Office", "You can generate an account key here:" : "Klíč k účtu je možné vytvořit zde:", "Zotero account settings" : "Nastavení pro Zotero účet", "Zotero API key" : "Klíč k Zotero API", "Submit" : "Odeslat", - "Failed to set Zotero API key" : "Nepodařilo se nastavit klíč k Zotero API", - "Select a template directory" : "Vyberte složku se šablonami", "Select a personal template folder" : "Vyberte složku s osobní šablonou", + "Settings saved successfully." : "Nastavení úspěšně uložena.", + "Failed to save settings." : "Nastavení se nepodařilo uložit.", + "Unexpected error occurred." : "Došlo k neočekávané chybě.", + "Personal Settings for Nextcloud Office" : "Osobní nastavení pro Nextcloud Office", + "Select a template directory" : "Vyberte složku se šablonami", "Remove personal template folder" : "Odebrat složku s osobní šablonou", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Šablony nacházející se v této složce budou přidány do výběru šablon v Nextcloud Office.", "Zotero" : "Zotero", @@ -179,22 +228,22 @@ "No font overview" : "Žádný přehled písma", "Delete this font" : "Smazat toto písmo", "No results" : "Žádné výsledky", + "Select file" : "Vybrat soubor", "Select file or folder to link to" : "Vyberte soubor nebo složku na kterou odkazovat", "Could not find any section in the document" : "V dokumentu se nepodařilo nalézt žádnou sekci", - "Select file" : "Vybrat soubor", + "{productName} is not configured" : "{productName} není nastaveno", + "Starting the built-in CODE server failed" : "Spouštění vestavěného CODE serveru se nezdařilo", + "Loading {filename} …" : "Načítání {filename}…", + "Failed to load {productName} - please try again later" : "Nepodařilo se načíst {productName} – zkuste to prosím znovu později.", + "Open in local editor" : "Otevřít v lokálním editoru", + "Cluster is scaling …" : "Škálování clusteru…", + "The collaborative editing was terminated by another user" : "Společné upravování bylo ukončeno jiným uživatelem", "Document loading failed" : "Načítání dokumentu se nezdařilo", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Ohledně bližších podrobností se podívejte do záznamu událostí (log) Collabora Online serveru a ověřte, že je z jeho strany Nextcloud dosažitelný.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Spojení soketu neočekávaně ukončeno. Je možné, že je nesprávně nastavená reverzní proxy – obraťte se na správce.", "More information can be found in the reverse proxy documentation" : "Další informace je možné nalézt v dokumentaci k reverzní proxy", "Close" : "Zavřít", "Edit" : "Upravit", - "Starting the built-in CODE server failed" : "Spouštění vestavěného CODE serveru se nezdařilo", - "Loading {filename} …" : "Načítání {filename}…", - "Open in local editor" : "Otevřít v lokálním editoru", - "Cluster is scaling …" : "Škálování clusteru…", - "The collaborative editing was terminated by another user" : "Společné upravování bylo ukončeno jiným uživatelem", - "Failed to load {productName} - please try again later" : "Nepodařilo se načíst {productName} – zkuste to prosím znovu později.", - "{productName} is not configured" : "{productName} není nastaveno", "Built-in CODE Server is starting up shortly, please wait." : "Vestavěný CODE server bude zakrátko spuštěn – vyčkejte", "Built-in CODE Server is restarting, please wait." : "Vestavěný CODE server se restartuje – vyčkejte.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Chyba: Nedaří se nalézt AppImage – prosíme přeinstalujte vestavěný server Collabora Online.", @@ -228,15 +277,24 @@ "Follow current editor" : "Následovat stávající editor", "New file" : "Nový soubor", "Please enter the filename for the new file" : "Zadejte název pro nový soubor", - "Create" : "Vytvořit", - "New drawing" : "Nová kresba", "Could not create file" : "Nepodařilo se vytvořit soubor", - "Select template" : "Vybrat šablonu", + "Could not load templates" : "Nebylo možné načíst šablony", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Uloženo s chybou: Collabora Online by mělo používat stejný protokol jako nainstalovaný server.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Nedaří se navázat spojení s Collabora Online serverem. To může být kvůli chybějícímu nastavení na vašem webovém serveru. Podobnosti naleznete na:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Kancelář vyžaduje oddělený server, na kterém jsou spuštěné Collabora Online, poskytující možnost upravování.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online potřebuje zvlášť server sloužící jako WOPI klient, poskytující možnosti upravování.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Ve výchozím stavu mohou v {productName} upravovat dokumenty všichni uživatelé. Pokud je toto nastavení aktivní, pouze členové zadaných skupiny mohou upravovat a ostatní mohou dokumenty pouze prohlížet.", + "Secure view settings" : "Nastavení zabezpečeného zobrazení", + "Secure view enables you to secure documents by embedding a watermark" : "Zabezpečené zobrazení umožňuje zabezpečit dokumenty vložením vodoznaku", + "Enable watermarking" : "Zapnout opatřování vodoznaky", + "Show watermark on tagged files" : "Zobrazovat vodoznaky na souborech, označených štítky", + "Show watermark for users of groups" : "Zobrazovat vodoznak pro uživatele skupin", + "Show watermark for all shares" : "Zobrazovat vodoznak pro všechna sdílení", + "Show watermark for read only shares" : "Zobrazovat vodoznak pro sdílení, která jsou pouze pro čtení", + "Show watermark for all link shares" : "Zobrazovat vodoznak pro všechna sdílení odkazem", + "Show watermark for download hidden shares" : "Zobrazovat vodoznak pro stahování ze skrytých sdílení", + "Show watermark for read only link shares" : "Zobrazovat vodoznak pro sdílení odkazem, která jsou pouze pro čtení", + "Show watermark on link shares with specific system tags" : "Zobrazovat vodoznak na sdíleních odkazem, která jsou opatřena konkrétními systémovými štítky", "Error" : "Chyba", "An error occurred" : "Došlo k chybě", "Please choose your nickname to continue as guest user." : "Zvolte si svou přezdívku a pokračujte jako host.", @@ -244,6 +302,8 @@ "Set" : "Nastavit", "Please enter the filename to store the document as." : "Zadejte název souboru ve kterém dokument uchovávat.", "New filename" : "Název souboru", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online zatím ještě není nastavena. Obraťte se na svého správce systému.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Otevírání souborů není podporováno, protože přihlašovací údaje pro externí úložiště nejsou bez relace k dispozici", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Nepodařilo se připojit k {productName}. Zkuste to prosím znovu později nebo se obraťte na správce serveru.", "Saving…" : "Ukládání…", "Insert from {name}" : "Vložit z {name}", @@ -257,6 +317,10 @@ "No templates defined." : "Nebyla určena žádná šablona.", "Add a new one?" : "Přidat novou?", "template preview" : "náhled šablony", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Soubory může být i tak možné si stáhnout prostřednictvím Nextcloud pokud není jinak omezeno prostřednictvím sdílení nebo nastavení řízení přístupu", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Náhledy budou blokovány pro soubory, označené vodotiskem, aby se zabránilo únikům první stránky dokumentů", + "Show watermark for shares without download permission" : "Zobrazit vodoznak pro sdílení bez oprávnění ke stahování", + "New drawing" : "Nová kresba", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument už existuje", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Ve výchozím stavu je Collabora Online zapnuté pro všechny uživatele. Pokud je toto nastavení aktivní, mohou Collabora Online používat jen členové zadaných skupin.", diff --git a/l10n/cy_GB.js b/l10n/cy_GB.js index a69da7a8b7..8031a42369 100644 --- a/l10n/cy_GB.js +++ b/l10n/cy_GB.js @@ -10,6 +10,7 @@ OC.L10N.register( "Save" : "Cadw", "Confirm" : "Cadarnhau", "Cancel" : "Diddymu", + "Create" : "Creu", "Description" : "Disgrifiad", "No results" : "Dim canlyniadau", "Close" : "Cau", @@ -19,7 +20,6 @@ OC.L10N.register( "Details" : "Manylion", "Download" : "Llwytho i lawr", "New file" : "Ffeil newydd", - "Create" : "Creu", "Error" : "Gwall", "An error occurred" : "Digwyddodd gwall", "Nickname" : "Llysenw" diff --git a/l10n/cy_GB.json b/l10n/cy_GB.json index c944afcf7b..213e259e07 100644 --- a/l10n/cy_GB.json +++ b/l10n/cy_GB.json @@ -8,6 +8,7 @@ "Save" : "Cadw", "Confirm" : "Cadarnhau", "Cancel" : "Diddymu", + "Create" : "Creu", "Description" : "Disgrifiad", "No results" : "Dim canlyniadau", "Close" : "Cau", @@ -17,7 +18,6 @@ "Details" : "Manylion", "Download" : "Llwytho i lawr", "New file" : "Ffeil newydd", - "Create" : "Creu", "Error" : "Gwall", "An error occurred" : "Digwyddodd gwall", "Nickname" : "Llysenw" diff --git a/l10n/da.js b/l10n/da.js index c194adf34a..d96877ddcb 100644 --- a/l10n/da.js +++ b/l10n/da.js @@ -6,7 +6,7 @@ OC.L10N.register( "New Presentation.odp" : "Ny præsentation.odp", "New Document.docx" : "Nyt dokument.docx", "New Spreadsheet.xlsx" : "Nyt regneark.xlsx", - "New Presentation.pptx" : "Nyt præsentation.pptx", + "New Presentation.pptx" : "Ny præsentation.pptx", "File already exists" : "Filen findes allerede", "Saved" : "Gemt", "The file was uploaded" : "Filen blev uploadet", @@ -17,37 +17,56 @@ OC.L10N.register( "Missing a temporary folder" : "Mangler en midlertidig mappe", "Could not write file to disk" : "Kunne ikke skrive fil til disk", "A PHP extension stopped the file upload" : "En PHP-udvidelse stoppede filoverførslen", - "No file uploaded or file size exceeds maximum of %s" : "Ingen fil blev uploadet eller fil størrelsen er større end det maksimale: %s.", + "No file uploaded or file size exceeds maximum of %s" : "Ingen fil blev uploadet eller filstørrelsen er større end maksimum: %s.", "File is too big" : "Filen er for stor", "Invalid file provided" : "Der er angivet en ugyldig fil", - "New document" : "Nyt Dokument", - "New spreadsheet" : "Nyt Regneark", - "New presentation" : "Ny Præsentation", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Foto (.png)", + "Image (.svg)" : "Foto (.svg)", + "Text (.rtf)" : "Tekst (.rtf)", + "Text (.txt)" : "Tekst (.txt)", + "Word Document (.docx)" : "Word dokument (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument tekst (.odt)", + "Excel Workbook (.xlsx)" : "Excel regneark (.xlsx)", + "New document" : "Nyt dokument", + "New spreadsheet" : "Nyt regneark", + "New presentation" : "Ny præsentation", "New diagram" : "Nyt diagram", "Headings" : "Overskrifter", "Images" : "Billeder", "Office" : "Kontor", + "Instructions" : "Instruktioner", "Empty" : "Tom", "New" : "Ny", + "Failed to save settings" : "Kunne ikke gemme indstillinger", "Click here for more info" : "Klik her for mere info", "Advanced settings" : "Avancerede indstillinger", "Restrict usage to specific groups" : "Brugen begrænset til bestemte grupper", "Select groups" : "Vælg grupper", "Restrict edit to specific groups" : "Redigering begrænset til bestemte grupper", "Enable access for external apps" : "Tillad tilgang fra eksterne apps", - "Failed to save settings" : "Kunne ikke gemme indstillinger", + "Custom Fonts" : "Brugerdefineret skrifttype", + "Upload font file" : "Upload skrifttypefil", "Save" : "Gem", "Remove" : "Fjern", + "Submit name" : "Angiv navn", "Confirm" : "Bekræft", "Cancel" : "Annuller", "Save As" : "Gem som", + "Save as" : "Gem som", + "Invalid file name" : "Ugyldigt filnavn", + "Select template" : "Vælg skabelon", + "File name" : "Filnavn", + "Create" : "Opret", "Submit" : "Tilføj", "Description" : "Beskrivelse", "No results" : "Ingen resultater", - "Select file or folder to link to" : "Link til fil eller mappe", "Select file" : "Vælg fil", + "Select file or folder to link to" : "Link til fil eller mappe", "Close" : "Luk", - "Edit" : "Redigér", + "Edit" : "Rediger", + "Open file locally" : "Åben fil lokalt", + "Open locally" : "Åben lokalt", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Filen skulle nu åbne lokalt. Hvis dette ikke sker, så vær sikker på at desktopklienten er installeret på dit system.", "Failed to revert the document to older version" : "Det lykkedes ikke at gendanne dokumentet, til en ældre version", "Remove from favorites" : "Fjernet fra favoritter", @@ -56,17 +75,17 @@ OC.L10N.register( "Download" : "Download", "Guest" : "Gæst", "New file" : "Ny fil", - "Create" : "Opret", "Could not create file" : "Kunne ikke oprette fil", - "Select template" : "Vælg model", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Gemt med fejl: Collabora Online skal bruge samme protokol som server installationen.", "Error" : "Fejl", - "An error occurred" : "Der var en fejl", + "An error occurred" : "Der opstod en fejl", "Nickname" : "Kaldenavn", "Set" : "Sæt", "New filename" : "Nyt filnavn", "Saving…" : "Gemmer...", "Create a new document" : "Opret nyt dokument", + "Add a new template" : "Opret en ny skabelon", + "Add a new one?" : "Tilføj en ny?", "Collabora Online" : "Collabora Online" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/da.json b/l10n/da.json index f628b69926..7bc78b2552 100644 --- a/l10n/da.json +++ b/l10n/da.json @@ -4,7 +4,7 @@ "New Presentation.odp" : "Ny præsentation.odp", "New Document.docx" : "Nyt dokument.docx", "New Spreadsheet.xlsx" : "Nyt regneark.xlsx", - "New Presentation.pptx" : "Nyt præsentation.pptx", + "New Presentation.pptx" : "Ny præsentation.pptx", "File already exists" : "Filen findes allerede", "Saved" : "Gemt", "The file was uploaded" : "Filen blev uploadet", @@ -15,37 +15,56 @@ "Missing a temporary folder" : "Mangler en midlertidig mappe", "Could not write file to disk" : "Kunne ikke skrive fil til disk", "A PHP extension stopped the file upload" : "En PHP-udvidelse stoppede filoverførslen", - "No file uploaded or file size exceeds maximum of %s" : "Ingen fil blev uploadet eller fil størrelsen er større end det maksimale: %s.", + "No file uploaded or file size exceeds maximum of %s" : "Ingen fil blev uploadet eller filstørrelsen er større end maksimum: %s.", "File is too big" : "Filen er for stor", "Invalid file provided" : "Der er angivet en ugyldig fil", - "New document" : "Nyt Dokument", - "New spreadsheet" : "Nyt Regneark", - "New presentation" : "Ny Præsentation", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Foto (.png)", + "Image (.svg)" : "Foto (.svg)", + "Text (.rtf)" : "Tekst (.rtf)", + "Text (.txt)" : "Tekst (.txt)", + "Word Document (.docx)" : "Word dokument (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument tekst (.odt)", + "Excel Workbook (.xlsx)" : "Excel regneark (.xlsx)", + "New document" : "Nyt dokument", + "New spreadsheet" : "Nyt regneark", + "New presentation" : "Ny præsentation", "New diagram" : "Nyt diagram", "Headings" : "Overskrifter", "Images" : "Billeder", "Office" : "Kontor", + "Instructions" : "Instruktioner", "Empty" : "Tom", "New" : "Ny", + "Failed to save settings" : "Kunne ikke gemme indstillinger", "Click here for more info" : "Klik her for mere info", "Advanced settings" : "Avancerede indstillinger", "Restrict usage to specific groups" : "Brugen begrænset til bestemte grupper", "Select groups" : "Vælg grupper", "Restrict edit to specific groups" : "Redigering begrænset til bestemte grupper", "Enable access for external apps" : "Tillad tilgang fra eksterne apps", - "Failed to save settings" : "Kunne ikke gemme indstillinger", + "Custom Fonts" : "Brugerdefineret skrifttype", + "Upload font file" : "Upload skrifttypefil", "Save" : "Gem", "Remove" : "Fjern", + "Submit name" : "Angiv navn", "Confirm" : "Bekræft", "Cancel" : "Annuller", "Save As" : "Gem som", + "Save as" : "Gem som", + "Invalid file name" : "Ugyldigt filnavn", + "Select template" : "Vælg skabelon", + "File name" : "Filnavn", + "Create" : "Opret", "Submit" : "Tilføj", "Description" : "Beskrivelse", "No results" : "Ingen resultater", - "Select file or folder to link to" : "Link til fil eller mappe", "Select file" : "Vælg fil", + "Select file or folder to link to" : "Link til fil eller mappe", "Close" : "Luk", - "Edit" : "Redigér", + "Edit" : "Rediger", + "Open file locally" : "Åben fil lokalt", + "Open locally" : "Åben lokalt", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Filen skulle nu åbne lokalt. Hvis dette ikke sker, så vær sikker på at desktopklienten er installeret på dit system.", "Failed to revert the document to older version" : "Det lykkedes ikke at gendanne dokumentet, til en ældre version", "Remove from favorites" : "Fjernet fra favoritter", @@ -54,17 +73,17 @@ "Download" : "Download", "Guest" : "Gæst", "New file" : "Ny fil", - "Create" : "Opret", "Could not create file" : "Kunne ikke oprette fil", - "Select template" : "Vælg model", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Gemt med fejl: Collabora Online skal bruge samme protokol som server installationen.", "Error" : "Fejl", - "An error occurred" : "Der var en fejl", + "An error occurred" : "Der opstod en fejl", "Nickname" : "Kaldenavn", "Set" : "Sæt", "New filename" : "Nyt filnavn", "Saving…" : "Gemmer...", "Create a new document" : "Opret nyt dokument", + "Add a new template" : "Opret en ny skabelon", + "Add a new one?" : "Tilføj en ny?", "Collabora Online" : "Collabora Online" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/de.js b/l10n/de.js index 0990adc5cd..5ba0f73be3 100644 --- a/l10n/de.js +++ b/l10n/de.js @@ -1,6 +1,7 @@ OC.L10N.register( "richdocuments", { + "No files found for this task." : "Keine Dateien für diese Aufgabe gefunden.", "Cannot create document" : "Dokument kann nicht erstellt werden", "New Document.odt" : "Neues Dokument.odt", "New Spreadsheet.ods" : "Neue Kalkulationstabelle.ods", @@ -17,16 +18,29 @@ OC.L10N.register( "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die hochgeladene Datei übersteigt das Limit upload_max_filesize in der Datei php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die hochgeladene Datei übersteigt das Limit MAX_FILE_SIZE im HTML-Formular", "The file was only partially uploaded" : "Die Datei wurde nur teilweise hochgeladen", - "No file was uploaded" : "Keine Datei wurde hochgeladen", + "No file was uploaded" : "Es wurde keine Datei hochgeladen", "Missing a temporary folder" : "Temporärer Ordner nicht vorhanden", "Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden", "A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt", "No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s", - "Failed to upload the file" : "Fehler beim Hochladen der Datei", + "Failed to upload the file" : "Datei konnte nicht hochgeladen werden", "File is too big" : "Datei ist zu groß", "Only template files can be uploaded" : "Es können nur Vorlage-Dateien hochgeladen werden", "Invalid file provided" : "Ungültige Datei zur Verfügung gestellt", "Template not found" : "Vorlage nicht gefunden", + "Unable to determine the proper file extension for %1$s" : "Dateierweiterung von \"%1$s\" kann nicht erkannt werden", + "Unable to fetch information on %1$s" : "Informationen über %1$s können nicht abgerufen werden", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Bild (.png)", + "Image (.svg)" : "Bild (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Word Dokument (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument Textdokument (.odt)", + "Excel Workbook (.xlsx)" : "Excel Arbeitsmappe (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument Tabellendokument (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint Präsentation (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument Präsentation (.odp)", "New document" : "Neues Dokument", "New spreadsheet" : "Neue Tabelle", "New presentation" : "Neue Präsentation", @@ -40,30 +54,59 @@ OC.L10N.register( "Sheets" : "Blätter", "Slides" : "Folien", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud Assistant Foliensatzgenerator", + "Generate Slide Deck" : "Foliensatz erstellen", + "Generate a slide deck from a presentation script" : "Einen Foliensatz aus einem Präsentationsskript erstellen", + "Presentation script" : "Präsentationsskript", + "Write the text for your presentation here" : "Schreibe hier den Text für deine Präsentation", + "Generated slide deck" : "Erstellter Foliensatz", + "The slide deck generated" : "Der erstellte Foliensatz", + "Nextcloud Office text document generator" : "Nextcloud Office-Textdokumentgenerator", + "Document format" : "Dokumentenformat", + "The format of the generated document" : "Das Format des erstellten Dokuments", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portables Dokumentenformat (.pdf)", + "Generate Office text document" : "Office-Textdokument erstellen", + "Generate an Office text document from a prompt" : "Ein Office-Textdokument aus einer Eingabeaufforderung heraus erstellen", + "Instructions" : "Anweisungen", + "Describe the document you want the assistant to generate" : "Beschreiben Sie das Dokument, das der Assistent erstellen soll", + "Generated Office document" : "Erstelltes Office-Dokument", + "The Office document that was generated from the description" : "Das aufgrund der Beschreibung erstellte Office-Dokument", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office-Tabellenkalkulationsgenerator", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Office-Tabellenkalkulationsdokument erstellen", + "Generate an Office spreadsheet document from a prompt" : "Ein Office-Tabellenkalkulationsdokument aus einer Eingabeaufforderung heraus erstellen", "Empty" : "Leer", "Anonymous guest" : "Anonymer Gast", "%s (Guest)" : "%s (Gast)", "Edit office documents directly in your browser." : "Bearbeite Office-Dokumente direkt in deinem Browser", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Diese App kann sich mit einem Collabora Online (oder anderem) Server (als WOPI-ähnlicher Client) verbinden. Nextcloud ist der WOPI-Host. Weitere Einzelheiten hierzu sind in der Dokumentation zu finden.\n\nDokumente können auch offline mit der Collabora Office App aus dem **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** und **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** Store bearbeitet werden.", - "Global Templates" : "Globale Vorlagen", - "New" : "Neu", + "Accepted file types: {accepts}" : "Akzeptierte Dateitypen: {accepts}", "Uploaded template \"{name}\"" : "Hochgeladene Vorlage \"{name}\"", "Template \"{name}\" already exists" : "Die Vorlage \"{name}\" existiert bereits", "Unable to delete template" : "Vorlage kann nicht gelöscht werden", "Deleted template" : "Gelöschte Vorlage", + "Global Templates" : "Globale Vorlagen", + "New" : "Neu", + "Contact {0} to get an own installation." : "Kontaktiere {0}, um eine eigene Installation zu erhalten.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Sicherstellen, dass die URL {url} in der Datei coolwsd.xml des Collabora Online-Servers festgelegt ist, damit die hinzugefügten Schriftarten automatisch geladen werden. Bitte beachten, dass http:// nur für Debug-Builds von Collabora Online funktioniert. In der Produktion muss https:// für die Remote-Schriftkonfiguration verwendet werden.", + "Failed to save settings" : "Einstellungen konnten nicht gespeichert werden", + "Font format not supported ({mime})" : "Schriftartenformat wird nicht unterstützt ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office ist eine leistungsstarke Collabora Online-basierte Online-Office-Suite mit kollaborativer Bearbeitung, die alle wichtigen Dokumenten-, Tabellen- und Präsentationsdateiformate unterstützt und mit allen modernen Browsern zusammenarbeitet.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online ist eine leistungsstarke LibreOffice-basierte Online-Office-Suite mit kollaborativer Bearbeitung, die alle wichtigen Dokumenten-, Tabellen- und Präsentationsdateiformate unterstützt und mit allen modernen Browsern zusammenarbeitet.", "Could not establish connection to the Collabora Online server." : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden.", "This might be due to a missing configuration of your web server. For more information, please visit: " : "Dies kann an einer fehlenden Konfiguration deines Webservers liegen. Für weitere Informationen, besuche bitte:", "Connecting Collabora Online Single Click with Nginx" : "Collabora Online mit einem Klick mit Nginx verbinden", "Setting up a new server" : "Neuen Server einrichten", - "Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.", + "Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.", "Your browser has been unable to connect to the Collabora server:" : "Dein Browser konnte keine Verbindung zum Collabora-Server herstellen:", "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Diese URL wird auf dem Collabora-Server entweder aus der konfigurierten URL oder dem Parameter server_name in coolwsd.xml ermittelt.", "Collabora Online server is reachable." : "Collabora Online Server ist erreichbar.", "URL used by the browser:" : "Vom Browser verwendete URL:", "Nextcloud URL used by Collabora:" : "Von Collabora verwendete Nextcloud-URL:", - "Please configure a Collabora Online server to start editing documents" : "Bitte konfiguriere einen Collabora Online-Server, um mit der Bearbeitung von Dokumenten zu beginnen", + "Please configure a Collabora Online server to start editing documents" : "Bitte einen Collabora Online-Server konfigurieren, um mit der Bearbeitung von Dokumenten zu beginnen", "You have not configured the allow-list for WOPI requests. Without this setting users may download restricted files via WOPI requests to the Nextcloud server." : "Du hast die Erlaubnisliste für WOPI-Anforderungen nicht konfiguriert. Ohne diese Einstellung können Benutzer \nüber WOPI-Anfragen Dateien herunterladen, auf die sie möglicherweise keine Zugriffsrechte haben.", "Click here for more info" : "Für weitere Informationen hier klicken", "Use your own server" : "Verwende deinen eigenen Server", @@ -75,10 +118,10 @@ OC.L10N.register( "Use the built-in CODE - Collabora Online Development Edition" : "Nutze die eingebauten CODE - Collabora Online Development Edition", "Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Leicht zu installieren für Heimnutzer oder kleine Teams. Etwas langsamer als ein dedizierter Server und ohne erweiterte Skalierungsfunktionen.", "This installation does not have a built in server." : "Diese Installation verfügt nicht über einen eingebauten Server.", - "Install it from the App Store." : "Installiere es aus dem App-Store.", - "If the installation from the App Store fails, you can still do that manually using this command:" : "Sollte die Installation aus dem App-Store fehlschlagen, kannst du manuell mit folgendem Befehl installieren:", + "Install it from the App Store." : "Aus dem App-Store installieren.", + "If the installation from the App Store fails, you can still do that manually using this command:" : "Sollte die Installation aus dem App-Store fehlschlagen, kannst manuell mit folgendem Befehl installiert werden:", "Use a demo server" : "Einen Demo-Server verwenden", - "You can use a demo server provided by Collabora and other service providers for giving Collabora Online a try." : "Du kannst einen von Collabora und anderen Dienstleistern zur Verfügung gestellten Demo-Server verwenden, um Collabora Online auszuprobieren.", + "You can use a demo server provided by Collabora and other service providers for giving Collabora Online a try." : "Es kann ein von Collabora und anderen Dienstleistern zur Verfügung gestellter Demo-Server verwendet werden, um Collabora Online auszuprobieren.", "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Deine NextCloud-Installation kann keine Verbindung zu den Demo-Servern herstellen, Grund:", "it is a local setup (localhost)" : "Es ist eine lokale Installation (localhost)", "it uses an insecure protocol (HTTP)" : "Es wird ein unsicheres Protokoll verwendet (HTTP)", @@ -88,7 +131,7 @@ OC.L10N.register( "Loading available demo servers …" : "Verfügbare Demoserver werden geladen …", "No available demo servers found." : "Keine verfügbaren Demoserver gefunden.", "Documents opened with the demo server configured will be sent to a 3rd party server. Only use this for evaluating Collabora Online." : "Dokumente, die mit dem konfigurierten Demo-Server geöffnet werden, werden an einen Server eines Drittanbieters gesendet. Verwende diesen nur zur Evaluierung von Collabora Online.", - "Please make sure you understand that the following will happen if you set up the Collabora Online demo." : "Bitte stelle sicher, dass du verstehst, dass Folgendes passiert, wenn du die Collabora Online-Demo einrichten.", + "Please make sure you understand that the following will happen if you set up the Collabora Online demo." : "Bitte sicherstellen, dass du weisst, dass Folgendes passiert, wenn du die Collabora Online-Demo einrichtest.", "The service will send users documents to Collabora and/or third party demo servers." : "Der Service wird Dokumente von Benutzern an Collabora und/oder Demo-Server von Drittanbietern übermitteln.", "This service is not intended for production use, hence the documents will show tile watermarks." : "Dieser Dienst ist nicht für den Einsatz in einer produktiven Umgebung gedacht. Aus diesem Grund werden die Dokumente Wasserzeichen enthalten.", "The demo service may be under heavy load, and its performance is not representative in any way of the performance of an on-premise installation." : "Der Demo-Dienst kann stark ausgelastet sein und seine Leistung ist in keiner Weise repräsentativ für die Leistung einer Installation vor Ort.", @@ -108,59 +151,66 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical-Webroot für Collabora verwenden, falls es mehrere gibt. Verwende den mit den wenigsten Einschränkungen. Beispiel: Verwende einen Webroot ohne Shibboleth, falls der Webroot mit und ohne Shibboleth verwendet wirde. Wird auf diese Instanz nur über ein Webroot zugegriffen, so kann diese Einstellung ignoriert werden.", "Enable access for external apps" : "Zugriff auf externe Apps aktivieren", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Liste der IPv4- und IPv6-IP-Adressen und -Subnetze, die Anfragen an die WOPI-Endpunkte ausführen dürfen. Wenn keine Erlaubnis-Liste angegeben ist, werden alle Hosts zugelassen. Z. B. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Zusätzliche Schriftarten", - "Upload extra font file" : "Zusätzliche Schriftarten-Datei hochladen", + "Custom Fonts" : "Benutzerdefinierte Schriftarten", + "Upload font file" : "Schriftartendatei hochladen", "Upload a font file" : "Schriftartendatei hochladen", "Available fonts" : "Verfügbare Schriftarten", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Für eine optimale Dokumentkompatibilität wird empfohlen, häufig verwendete Schriftarten zu installieren. Wenn deine Benutzer mit Microsoft Office arbeiten, kann die Installation ihrer proprietären Version gemäß der Dokumentation erfolgen.", "Custom fonts documentation" : "Dokumentation zu benutzerdefinierten Schriftarten", - "Secure view settings" : "Einstellungen für \"Secure View\"", - "Secure view enables you to secure documents by embedding a watermark" : "Sichere Ansicht ermöglicht dir Dokumente durch Einbettung eines Wasserzeichens abzusichern.", + "Secure View" : "Sichere Ansicht", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Mit der sicheren Ansicht kannst du Office-Dokumente schützen, indem du Downloads und Vorschauen blockierst und ein Wasserzeichen anzeigst.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Die Einstellungen gelten nur für kompatible Office-Dateien, die in Nextcloud Office geöffnet werden.", + "Downloading the file through WebDAV will be blocked" : "Das Herunterladen der Datei über WebDAV wird blockiert", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Die folgenden Optionen in Nextcloud Office werden deaktiviert: Kopieren, Herunterladen, Exportieren und Drucken.", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dateien können weiterhin über Nextcloud heruntergeladen werden, sofern dies nicht durch Freigabe- oder Zugriffskontrolleinstellungen eingeschränkt ist.", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Dateien können weiterhin über WOPI-Anforderungen heruntergeladen werden, auch wenn die WOPI-Einstellungen nicht korrekt konfiguriert sind.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Vorschauen für Dateien mit Wasserzeichen werden blockiert, damit die erste Seite der Dokumente nicht angezeigt wird.", - "Enable watermarking" : "Wasserzeichen aktivieren", + "Previews will be blocked" : "Vorschauen werden blockiert", + "Enable secure view" : "Sichere Ansicht aktivieren", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Unterstützte Platzhalter: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Wasserzeichen für Dateien mit Schlagworten anzeigen", + "Enforce secure view on tagged files" : "Sichere Ansicht für mit Schlagworten markierte Dateien erzwingen", "Select tags to enforce watermarking" : "Schlagworte für das Erzwingen von Wasserzeichen auswählen", - "Show watermark for users of groups" : "Wasserzeichen für Benutzer von Gruppen anzeigen", - "Show watermark for all shares" : "Wasserzeichen für alle Freigaben anzeigen", - "Show watermark for read only shares" : "Wasserzeichen für schreibgeschützte Freigaben anzeigen", - "Show watermark for shares without download permission" : "Wasserzeichen für Freigaben ohne Download-Berechtigung anzeigen", - "Show watermark for all link shares" : "Wasserzeichen für alle Linkfreigaben anzeigen", - "Show watermark for download hidden shares" : "Wasserzeichen beim Herunterladen versteckter Freigaben anzeigen", - "Show watermark for read only link shares" : "Wasserzeichen für schreibgeschützte Linkfreigaben anzeigen", - "Show watermark on link shares with specific system tags" : "Wasserzeichen für Linkfreigaben mit bestimmten System-Schlagworten anzeigen", - "Electronic signature settings" : "Einstellungen für die elektronische Signatur", + "Enforce secure view for users of groups" : "Sichere Ansicht für Benutzer von Gruppen erzwingen", + "Enforce secure view for all shares" : "Sichere Ansicht für alle Freigaben erzwingen", + "Enforce secure view for read only shares" : "Sichere Ansicht für schreibgeschützte Freigaben erzwingen", + "Enforce secure view for all public Talk shares" : "Sichere Ansicht für alle öffentlichen Talk-Freigaben erzwingen", + "Enforce secure view for shares without download permission" : "Sichere Ansicht für Freigaben ohne Download-Berechtigung erzwingen", + "Enforce secure view for all link shares" : "Sichere Ansicht für alle Linkfreigaben erzwingen", + "Enforce secure view for download hidden shares" : "Sichere Ansicht für versteckte Download-Freigaben erzwingen", + "Enforce secure view for read only link shares" : "Sichere Ansicht für schreibgeschützte Linkfreigaben erzwingen", + "Enforce secure view on link shares with specific system tags" : "Sichere Ansicht für Linkfreigaben mit bestimmten System-Schlagworten erzwingen", + "Select tags to enforce secure view" : "Wählen Sie Schlagworte, um eine sichere Ansicht zu erzwingen", + "Electronic Signature" : "Elektronische Signatur", "Client ID for the electronic signature API" : "Client-ID für die API für elektronische Signaturen", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Registrierungsformular unter https://eideasy.com/signup ausfüllen, um eine Client-ID und ein Geheimnis zu erhalten.", "Secret for the electronic signature API" : "Geheimnis für die API für elektronische Signaturen", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Wenn die WOPI-Zulassungsliste nicht richtig konfiguriert ist, kann das Geheimnis möglicherweise über WOPI-Anfragen heruntergeladen werden.", - "Contact {0} to get an own installation." : "Kontaktiere {0}, um eine eigene Installation zu erhalten.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Stellen Sie sicher, dass Sie die URL {url} in der Datei coolwsd.xml Ihres Collabora Online-Servers festlegen, damit die hinzugefügten Schriftarten automatisch geladen werden. Bitte beachten Sie, dass http:// nur für Debug-Builds von Collabora Online funktioniert. In der Produktion müssen Sie https:// für die Remote-Schriftkonfiguration verwenden.", - "Failed to save settings" : "Einstellungen konnten nicht gespeichert werden", - "Font format not supported ({mime})" : "Schriftartenformat wird nicht unterstützt ({mime})", "Save" : "Speichern", "Remove" : "Entfernen", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Bitte den Gastnamen eingeben, den du verwenden möchtest, bevor du mit dem Dokument fortfährst. Wenn du nichts angibst, wird die Standardeinstellung verwendet.", "Guest name" : "Gastname", "Submit name" : "Name übermitteln", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Bitte den Gastnamen eingeben, den du verwenden möchtest, bevor du mit dem Dokument fortfährst. Wenn du nichts angibst, wird die Standardeinstellung verwendet.", "Confirm" : "Bestätigen", "Cancel" : "Abbrechen", + "Save As" : "Speichern als", "Save as" : "Speichern als", "Path to save" : "Speicherpfad", - "Save As" : "Speichern als", + "Invalid file name" : "Ungültiger Dateiname", + "File name already exists" : "Dateiname existiert bereits", + "Select template" : "Vorlage auswählen", + "File name" : "Dateiname", + "Create" : "Erstellen", + "Failed to set Zotero API key" : "Zotero API-Schlüssel konnte nicht festgelegt werden", "Link to your Zotero library" : "Link zu deiner Zotero-Bibliothekt", "Connect your Zotero account to make use of references within Office." : "Verbinde dein Zotero-Konto, um Verweise innerhalb von Office zu verwenden.", "You can generate an account key here:" : "Hier kannst du einen Kontenschlüssel erstellen:", "Zotero account settings" : "Zotero Kontoeinstellungen", "Zotero API key" : "Zotero API-Schlüssel", "Submit" : "Übermitteln", - "Failed to set Zotero API key" : "Zotero API-Schlüssel konnte nicht festgelegt werden", - "Select a template directory" : "Vorlagenverzeichnis auswählen", "Select a personal template folder" : "Persönlichen Vorlagenordner auswählen", + "Settings saved successfully." : "Einstellungen gespeichert.", + "Failed to save settings." : "Einstellungen konnten nicht gesichert werden.", + "Unexpected error occurred." : "Unerwarteter Fehler aufgetreten.", + "Personal Settings for Nextcloud Office" : "Persönliche Einstellungen für Nextcloud Office", + "Select a template directory" : "Vorlagenverzeichnis auswählen", "Remove personal template folder" : "Persönlichen Vorlagenordner entfernen", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Vorlagen in diesem Verzeichnis werden der Vorlagenauswahl von Nextcloud Office hinzugefügt.", "Zotero" : "Zotero", @@ -169,7 +219,7 @@ OC.L10N.register( "To use Zotero specify your API key here. You can create your API key in your" : "Um Zotero zu verwenden, gib hier deinen API-Schlüssel an. Erstellen kannst du deinen API-Schlüssel in deiner", "Zotero account API settings." : "Zotero Konto API-Einstellungen.", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Diese Instanz unterstützt Zotero nicht, da die Funktion fehlt oder deaktiviert ist. Bitte wende dich an die Administration.", - "Document signing" : "Unterzeichnen von Dokumenten", + "Document signing" : "Signieren von Dokumenten", "Enter document signing cert (in PEM format)" : "Signaturzertifikat des Dokuments eingeben (im PEM-Format)", "Enter document signing key" : "Dokumentsignaturschlüssel eingeben", "Enter document signing CA chain" : "CA-Kette für die Dokumentsignatur eingeben", @@ -180,22 +230,22 @@ OC.L10N.register( "No font overview" : "Keine Übersicht der Schriftart", "Delete this font" : "Diese Schriftart löschen", "No results" : "Keine Ergebnisse", + "Select file" : "Datei auswählen", "Select file or folder to link to" : "Datei oder Ordner zum Verknüpfen auswählen", "Could not find any section in the document" : "Es konnte kein Abschnitt im Dokument gefunden werden", - "Select file" : "Datei auswählen", - "Document loading failed" : "Laden des Dokuments fehlgeschlagen", - "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Bitte überprüfe das Collabora Online-Serverprotokoll für weitere Details und stelle sicher, dass Nextcloud von dort aus erreichbar ist.", - "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket-Verbindung wurde unerwartet geschlossen. Der Reverse-Proxy ist möglicherweise falsch konfiguriert. Bitte wende dich an die Administration.", - "More information can be found in the reverse proxy documentation" : "Weitere Informationen findest du in der Reverse-Proxy-Dokumentation", - "Close" : "Schließen", - "Edit" : "Bearbeiten", + "{productName} is not configured" : "{productName} ist nicht eingerichtet", "Starting the built-in CODE server failed" : "Der Start des integrierten CODE-Servers ist fehlgeschlagen", "Loading {filename} …" : "Lade {filename} …", + "Failed to load {productName} - please try again later" : "{productName} konnte nicht geladen werden - Bitte versuche es später noch einmal", "Open in local editor" : "Im lokalen Editor öffnen", "Cluster is scaling …" : "Cluster skaliert …", "The collaborative editing was terminated by another user" : "Die gemeinsame Bearbeitung wurde von einem anderen Benutzer beendet", - "Failed to load {productName} - please try again later" : "{productName} konnte nicht geladen werden - Bitte versuche es später noch einmal", - "{productName} is not configured" : "{productName} ist nicht eingerichtet", + "Document loading failed" : "Laden des Dokuments fehlgeschlagen", + "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Bitte das Collabora Online-Serverprotokoll für weitere Details überprüfen und sicherstellen, dass Nextcloud von dort aus erreichbar ist.", + "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket-Verbindung wurde unerwartet geschlossen. Der Reverse-Proxy ist möglicherweise falsch konfiguriert. Bitte wende dich an die Administration.", + "More information can be found in the reverse proxy documentation" : "Weitere Informationen finden sich in der Reverse-Proxy-Dokumentation", + "Close" : "Schließen", + "Edit" : "Bearbeiten", "Built-in CODE Server is starting up shortly, please wait." : "Eingebauter CODE-Server wird in Kürze gestartet, bitte warten.", "Built-in CODE Server is restarting, please wait." : "Eingebauter CODE-Server startet neu, bitte warten.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Fehler: Konnte das Anwendungsabbild (AppImage) nicht finden, bitte installiere den eingebauten Collabora Online Server erneut.", @@ -215,7 +265,7 @@ OC.L10N.register( "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Die Datei sollte nun lokal geöffnet werden. Wenn dies nicht der Fall ist, stelle sicher, dass der Desktop-Client auf deinem System installiert ist.", "Retry to open locally" : "Erneut versuchen, lokal zu öffnen", "Save a copy of the file under a new name and continue editing the new file" : "Datei unter einem neuen Namen speichern und die Bearbeitung mit der neuen Datei fortsetzen", - "Failed to revert the document to older version" : "Fehler beim Zurücksetzen des Dokumentes auf eine ältere Version", + "Failed to revert the document to older version" : "Das Dokument konnte nicht auf eine ältere Version zurückgesetzt werden.", "Built-in CODE server failed to start" : "Integrierter CODE-Server konnte nicht gestartet werden", "Insert file from {name}" : "Datei von {name} einfügen", "Insert file" : "Datei einfügen", @@ -229,15 +279,24 @@ OC.L10N.register( "Follow current editor" : "Dem aktuellen Bearbeiter folgen", "New file" : "Neue Datei", "Please enter the filename for the new file" : "Bitte gib den Dateinamen für die neue Datei ein", - "Create" : "Erstellen", - "New drawing" : "Neue Zeichnung", "Could not create file" : "Die Datei konnte nicht erstellt werden", - "Select template" : "Vorlage auswählen", - "Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.", + "Could not load templates" : "Vorlagen konnten nicht geladen werden", + "Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden. Dies könnte auf eine fehlende Konfiguration deines Web-Servers zurückzuführen sein. Für weitere Informationen besuche bitte:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office benötigt einen separaten Server, auf dem Collabora Online läuft, um Funktionen zur Bearbeitungs bereitzustellen.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online benötigt einen separaten Server, der als WOPI-ähnlicher-Client fungiert, um Funktionen zum Bearbeiten bereitzustellen.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Alle Benutzer können Dokumente standardmäßig mit {productName} bearbeiten. Wenn diese Einstellung aktiv ist, können nur die Mitglieder der angegebenen Gruppen bearbeiten und die anderen nur Dokumente anzeigen.", + "Secure view settings" : "Einstellungen für sichere Ansicht", + "Secure view enables you to secure documents by embedding a watermark" : "Die sichere Ansicht ermöglicht es, Dokumente durch Einbettung eines Wasserzeichens abzusichern.", + "Enable watermarking" : "Wasserzeichen aktivieren", + "Show watermark on tagged files" : "Wasserzeichen für Dateien mit Schlagworten anzeigen", + "Show watermark for users of groups" : "Wasserzeichen für Benutzer von Gruppen anzeigen", + "Show watermark for all shares" : "Wasserzeichen für alle Freigaben anzeigen", + "Show watermark for read only shares" : "Wasserzeichen für schreibgeschützte Freigaben anzeigen", + "Show watermark for all link shares" : "Wasserzeichen für alle Linkfreigaben anzeigen", + "Show watermark for download hidden shares" : "Wasserzeichen beim Herunterladen versteckter Freigaben anzeigen", + "Show watermark for read only link shares" : "Wasserzeichen für schreibgeschützte Linkfreigaben anzeigen", + "Show watermark on link shares with specific system tags" : "Wasserzeichen für Linkfreigaben mit bestimmten System-Schlagworten anzeigen", "Error" : "Fehler", "An error occurred" : "Es ist ein Fehler aufgetreten", "Please choose your nickname to continue as guest user." : "Bitte wähle einen Spitznamen, um als Gastbenutzer fortzufahren.", @@ -245,7 +304,9 @@ OC.L10N.register( "Set" : "Setzen", "Please enter the filename to store the document as." : "Bitte den Dateinamen angeben, unter welchem dieses Dokument gespeichert werden soll.", "New filename" : "Neuer Dateiname", - "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen es noch einmal oder kontaktiere deinen Administrator.", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online ist noch nicht eingerichtet. Bitte die Administration kontaktieren.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Das Öffnen der Datei wird nicht unterstützt, da die Anmeldeinformationen für den externen Speicher ohne eine Sitzung nicht verfügbar sind", + "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte noch einmal versuchen oder die Administration kontaktieren.", "Saving…" : "Speichere …", "Insert from {name}" : "Einfügen von {name}", "Last saved version" : "Letzte gespeicherte Version", @@ -258,6 +319,10 @@ OC.L10N.register( "No templates defined." : "Keine Vorlagen definiert.", "Add a new one?" : "Neue hinzufügen?", "template preview" : "Vorlagen-Vorschau", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dateien können weiterhin über Nextcloud heruntergeladen werden, sofern dies nicht durch Freigabe- oder Zugriffskontrolleinstellungen eingeschränkt ist.", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Vorschauen für Dateien mit Wasserzeichen werden blockiert, damit die erste Seite der Dokumente nicht angezeigt wird.", + "Show watermark for shares without download permission" : "Wasserzeichen für Freigaben ohne Download-Berechtigung anzeigen", + "New drawing" : "Neue Zeichnung", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument existiert bereits", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online ist standardmäßig für alle Benutzer aktiviert. Wenn diese Einstellung aktiv ist, können nur Mitglieder der angegebenen Gruppen es verwenden.", diff --git a/l10n/de.json b/l10n/de.json index 6f17fa72e3..074fd5bb69 100644 --- a/l10n/de.json +++ b/l10n/de.json @@ -1,4 +1,5 @@ { "translations": { + "No files found for this task." : "Keine Dateien für diese Aufgabe gefunden.", "Cannot create document" : "Dokument kann nicht erstellt werden", "New Document.odt" : "Neues Dokument.odt", "New Spreadsheet.ods" : "Neue Kalkulationstabelle.ods", @@ -15,16 +16,29 @@ "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die hochgeladene Datei übersteigt das Limit upload_max_filesize in der Datei php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die hochgeladene Datei übersteigt das Limit MAX_FILE_SIZE im HTML-Formular", "The file was only partially uploaded" : "Die Datei wurde nur teilweise hochgeladen", - "No file was uploaded" : "Keine Datei wurde hochgeladen", + "No file was uploaded" : "Es wurde keine Datei hochgeladen", "Missing a temporary folder" : "Temporärer Ordner nicht vorhanden", "Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden", "A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt", "No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s", - "Failed to upload the file" : "Fehler beim Hochladen der Datei", + "Failed to upload the file" : "Datei konnte nicht hochgeladen werden", "File is too big" : "Datei ist zu groß", "Only template files can be uploaded" : "Es können nur Vorlage-Dateien hochgeladen werden", "Invalid file provided" : "Ungültige Datei zur Verfügung gestellt", "Template not found" : "Vorlage nicht gefunden", + "Unable to determine the proper file extension for %1$s" : "Dateierweiterung von \"%1$s\" kann nicht erkannt werden", + "Unable to fetch information on %1$s" : "Informationen über %1$s können nicht abgerufen werden", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Bild (.png)", + "Image (.svg)" : "Bild (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Word Dokument (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument Textdokument (.odt)", + "Excel Workbook (.xlsx)" : "Excel Arbeitsmappe (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument Tabellendokument (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint Präsentation (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument Präsentation (.odp)", "New document" : "Neues Dokument", "New spreadsheet" : "Neue Tabelle", "New presentation" : "Neue Präsentation", @@ -38,30 +52,59 @@ "Sheets" : "Blätter", "Slides" : "Folien", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud Assistant Foliensatzgenerator", + "Generate Slide Deck" : "Foliensatz erstellen", + "Generate a slide deck from a presentation script" : "Einen Foliensatz aus einem Präsentationsskript erstellen", + "Presentation script" : "Präsentationsskript", + "Write the text for your presentation here" : "Schreibe hier den Text für deine Präsentation", + "Generated slide deck" : "Erstellter Foliensatz", + "The slide deck generated" : "Der erstellte Foliensatz", + "Nextcloud Office text document generator" : "Nextcloud Office-Textdokumentgenerator", + "Document format" : "Dokumentenformat", + "The format of the generated document" : "Das Format des erstellten Dokuments", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portables Dokumentenformat (.pdf)", + "Generate Office text document" : "Office-Textdokument erstellen", + "Generate an Office text document from a prompt" : "Ein Office-Textdokument aus einer Eingabeaufforderung heraus erstellen", + "Instructions" : "Anweisungen", + "Describe the document you want the assistant to generate" : "Beschreiben Sie das Dokument, das der Assistent erstellen soll", + "Generated Office document" : "Erstelltes Office-Dokument", + "The Office document that was generated from the description" : "Das aufgrund der Beschreibung erstellte Office-Dokument", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office-Tabellenkalkulationsgenerator", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Office-Tabellenkalkulationsdokument erstellen", + "Generate an Office spreadsheet document from a prompt" : "Ein Office-Tabellenkalkulationsdokument aus einer Eingabeaufforderung heraus erstellen", "Empty" : "Leer", "Anonymous guest" : "Anonymer Gast", "%s (Guest)" : "%s (Gast)", "Edit office documents directly in your browser." : "Bearbeite Office-Dokumente direkt in deinem Browser", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Diese App kann sich mit einem Collabora Online (oder anderem) Server (als WOPI-ähnlicher Client) verbinden. Nextcloud ist der WOPI-Host. Weitere Einzelheiten hierzu sind in der Dokumentation zu finden.\n\nDokumente können auch offline mit der Collabora Office App aus dem **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** und **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** Store bearbeitet werden.", - "Global Templates" : "Globale Vorlagen", - "New" : "Neu", + "Accepted file types: {accepts}" : "Akzeptierte Dateitypen: {accepts}", "Uploaded template \"{name}\"" : "Hochgeladene Vorlage \"{name}\"", "Template \"{name}\" already exists" : "Die Vorlage \"{name}\" existiert bereits", "Unable to delete template" : "Vorlage kann nicht gelöscht werden", "Deleted template" : "Gelöschte Vorlage", + "Global Templates" : "Globale Vorlagen", + "New" : "Neu", + "Contact {0} to get an own installation." : "Kontaktiere {0}, um eine eigene Installation zu erhalten.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Sicherstellen, dass die URL {url} in der Datei coolwsd.xml des Collabora Online-Servers festgelegt ist, damit die hinzugefügten Schriftarten automatisch geladen werden. Bitte beachten, dass http:// nur für Debug-Builds von Collabora Online funktioniert. In der Produktion muss https:// für die Remote-Schriftkonfiguration verwendet werden.", + "Failed to save settings" : "Einstellungen konnten nicht gespeichert werden", + "Font format not supported ({mime})" : "Schriftartenformat wird nicht unterstützt ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office ist eine leistungsstarke Collabora Online-basierte Online-Office-Suite mit kollaborativer Bearbeitung, die alle wichtigen Dokumenten-, Tabellen- und Präsentationsdateiformate unterstützt und mit allen modernen Browsern zusammenarbeitet.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online ist eine leistungsstarke LibreOffice-basierte Online-Office-Suite mit kollaborativer Bearbeitung, die alle wichtigen Dokumenten-, Tabellen- und Präsentationsdateiformate unterstützt und mit allen modernen Browsern zusammenarbeitet.", "Could not establish connection to the Collabora Online server." : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden.", "This might be due to a missing configuration of your web server. For more information, please visit: " : "Dies kann an einer fehlenden Konfiguration deines Webservers liegen. Für weitere Informationen, besuche bitte:", "Connecting Collabora Online Single Click with Nginx" : "Collabora Online mit einem Klick mit Nginx verbinden", "Setting up a new server" : "Neuen Server einrichten", - "Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.", + "Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.", "Your browser has been unable to connect to the Collabora server:" : "Dein Browser konnte keine Verbindung zum Collabora-Server herstellen:", "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Diese URL wird auf dem Collabora-Server entweder aus der konfigurierten URL oder dem Parameter server_name in coolwsd.xml ermittelt.", "Collabora Online server is reachable." : "Collabora Online Server ist erreichbar.", "URL used by the browser:" : "Vom Browser verwendete URL:", "Nextcloud URL used by Collabora:" : "Von Collabora verwendete Nextcloud-URL:", - "Please configure a Collabora Online server to start editing documents" : "Bitte konfiguriere einen Collabora Online-Server, um mit der Bearbeitung von Dokumenten zu beginnen", + "Please configure a Collabora Online server to start editing documents" : "Bitte einen Collabora Online-Server konfigurieren, um mit der Bearbeitung von Dokumenten zu beginnen", "You have not configured the allow-list for WOPI requests. Without this setting users may download restricted files via WOPI requests to the Nextcloud server." : "Du hast die Erlaubnisliste für WOPI-Anforderungen nicht konfiguriert. Ohne diese Einstellung können Benutzer \nüber WOPI-Anfragen Dateien herunterladen, auf die sie möglicherweise keine Zugriffsrechte haben.", "Click here for more info" : "Für weitere Informationen hier klicken", "Use your own server" : "Verwende deinen eigenen Server", @@ -73,10 +116,10 @@ "Use the built-in CODE - Collabora Online Development Edition" : "Nutze die eingebauten CODE - Collabora Online Development Edition", "Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Leicht zu installieren für Heimnutzer oder kleine Teams. Etwas langsamer als ein dedizierter Server und ohne erweiterte Skalierungsfunktionen.", "This installation does not have a built in server." : "Diese Installation verfügt nicht über einen eingebauten Server.", - "Install it from the App Store." : "Installiere es aus dem App-Store.", - "If the installation from the App Store fails, you can still do that manually using this command:" : "Sollte die Installation aus dem App-Store fehlschlagen, kannst du manuell mit folgendem Befehl installieren:", + "Install it from the App Store." : "Aus dem App-Store installieren.", + "If the installation from the App Store fails, you can still do that manually using this command:" : "Sollte die Installation aus dem App-Store fehlschlagen, kannst manuell mit folgendem Befehl installiert werden:", "Use a demo server" : "Einen Demo-Server verwenden", - "You can use a demo server provided by Collabora and other service providers for giving Collabora Online a try." : "Du kannst einen von Collabora und anderen Dienstleistern zur Verfügung gestellten Demo-Server verwenden, um Collabora Online auszuprobieren.", + "You can use a demo server provided by Collabora and other service providers for giving Collabora Online a try." : "Es kann ein von Collabora und anderen Dienstleistern zur Verfügung gestellter Demo-Server verwendet werden, um Collabora Online auszuprobieren.", "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Deine NextCloud-Installation kann keine Verbindung zu den Demo-Servern herstellen, Grund:", "it is a local setup (localhost)" : "Es ist eine lokale Installation (localhost)", "it uses an insecure protocol (HTTP)" : "Es wird ein unsicheres Protokoll verwendet (HTTP)", @@ -86,7 +129,7 @@ "Loading available demo servers …" : "Verfügbare Demoserver werden geladen …", "No available demo servers found." : "Keine verfügbaren Demoserver gefunden.", "Documents opened with the demo server configured will be sent to a 3rd party server. Only use this for evaluating Collabora Online." : "Dokumente, die mit dem konfigurierten Demo-Server geöffnet werden, werden an einen Server eines Drittanbieters gesendet. Verwende diesen nur zur Evaluierung von Collabora Online.", - "Please make sure you understand that the following will happen if you set up the Collabora Online demo." : "Bitte stelle sicher, dass du verstehst, dass Folgendes passiert, wenn du die Collabora Online-Demo einrichten.", + "Please make sure you understand that the following will happen if you set up the Collabora Online demo." : "Bitte sicherstellen, dass du weisst, dass Folgendes passiert, wenn du die Collabora Online-Demo einrichtest.", "The service will send users documents to Collabora and/or third party demo servers." : "Der Service wird Dokumente von Benutzern an Collabora und/oder Demo-Server von Drittanbietern übermitteln.", "This service is not intended for production use, hence the documents will show tile watermarks." : "Dieser Dienst ist nicht für den Einsatz in einer produktiven Umgebung gedacht. Aus diesem Grund werden die Dokumente Wasserzeichen enthalten.", "The demo service may be under heavy load, and its performance is not representative in any way of the performance of an on-premise installation." : "Der Demo-Dienst kann stark ausgelastet sein und seine Leistung ist in keiner Weise repräsentativ für die Leistung einer Installation vor Ort.", @@ -106,59 +149,66 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical-Webroot für Collabora verwenden, falls es mehrere gibt. Verwende den mit den wenigsten Einschränkungen. Beispiel: Verwende einen Webroot ohne Shibboleth, falls der Webroot mit und ohne Shibboleth verwendet wirde. Wird auf diese Instanz nur über ein Webroot zugegriffen, so kann diese Einstellung ignoriert werden.", "Enable access for external apps" : "Zugriff auf externe Apps aktivieren", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Liste der IPv4- und IPv6-IP-Adressen und -Subnetze, die Anfragen an die WOPI-Endpunkte ausführen dürfen. Wenn keine Erlaubnis-Liste angegeben ist, werden alle Hosts zugelassen. Z. B. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Zusätzliche Schriftarten", - "Upload extra font file" : "Zusätzliche Schriftarten-Datei hochladen", + "Custom Fonts" : "Benutzerdefinierte Schriftarten", + "Upload font file" : "Schriftartendatei hochladen", "Upload a font file" : "Schriftartendatei hochladen", "Available fonts" : "Verfügbare Schriftarten", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Für eine optimale Dokumentkompatibilität wird empfohlen, häufig verwendete Schriftarten zu installieren. Wenn deine Benutzer mit Microsoft Office arbeiten, kann die Installation ihrer proprietären Version gemäß der Dokumentation erfolgen.", "Custom fonts documentation" : "Dokumentation zu benutzerdefinierten Schriftarten", - "Secure view settings" : "Einstellungen für \"Secure View\"", - "Secure view enables you to secure documents by embedding a watermark" : "Sichere Ansicht ermöglicht dir Dokumente durch Einbettung eines Wasserzeichens abzusichern.", + "Secure View" : "Sichere Ansicht", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Mit der sicheren Ansicht kannst du Office-Dokumente schützen, indem du Downloads und Vorschauen blockierst und ein Wasserzeichen anzeigst.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Die Einstellungen gelten nur für kompatible Office-Dateien, die in Nextcloud Office geöffnet werden.", + "Downloading the file through WebDAV will be blocked" : "Das Herunterladen der Datei über WebDAV wird blockiert", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Die folgenden Optionen in Nextcloud Office werden deaktiviert: Kopieren, Herunterladen, Exportieren und Drucken.", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dateien können weiterhin über Nextcloud heruntergeladen werden, sofern dies nicht durch Freigabe- oder Zugriffskontrolleinstellungen eingeschränkt ist.", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Dateien können weiterhin über WOPI-Anforderungen heruntergeladen werden, auch wenn die WOPI-Einstellungen nicht korrekt konfiguriert sind.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Vorschauen für Dateien mit Wasserzeichen werden blockiert, damit die erste Seite der Dokumente nicht angezeigt wird.", - "Enable watermarking" : "Wasserzeichen aktivieren", + "Previews will be blocked" : "Vorschauen werden blockiert", + "Enable secure view" : "Sichere Ansicht aktivieren", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Unterstützte Platzhalter: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Wasserzeichen für Dateien mit Schlagworten anzeigen", + "Enforce secure view on tagged files" : "Sichere Ansicht für mit Schlagworten markierte Dateien erzwingen", "Select tags to enforce watermarking" : "Schlagworte für das Erzwingen von Wasserzeichen auswählen", - "Show watermark for users of groups" : "Wasserzeichen für Benutzer von Gruppen anzeigen", - "Show watermark for all shares" : "Wasserzeichen für alle Freigaben anzeigen", - "Show watermark for read only shares" : "Wasserzeichen für schreibgeschützte Freigaben anzeigen", - "Show watermark for shares without download permission" : "Wasserzeichen für Freigaben ohne Download-Berechtigung anzeigen", - "Show watermark for all link shares" : "Wasserzeichen für alle Linkfreigaben anzeigen", - "Show watermark for download hidden shares" : "Wasserzeichen beim Herunterladen versteckter Freigaben anzeigen", - "Show watermark for read only link shares" : "Wasserzeichen für schreibgeschützte Linkfreigaben anzeigen", - "Show watermark on link shares with specific system tags" : "Wasserzeichen für Linkfreigaben mit bestimmten System-Schlagworten anzeigen", - "Electronic signature settings" : "Einstellungen für die elektronische Signatur", + "Enforce secure view for users of groups" : "Sichere Ansicht für Benutzer von Gruppen erzwingen", + "Enforce secure view for all shares" : "Sichere Ansicht für alle Freigaben erzwingen", + "Enforce secure view for read only shares" : "Sichere Ansicht für schreibgeschützte Freigaben erzwingen", + "Enforce secure view for all public Talk shares" : "Sichere Ansicht für alle öffentlichen Talk-Freigaben erzwingen", + "Enforce secure view for shares without download permission" : "Sichere Ansicht für Freigaben ohne Download-Berechtigung erzwingen", + "Enforce secure view for all link shares" : "Sichere Ansicht für alle Linkfreigaben erzwingen", + "Enforce secure view for download hidden shares" : "Sichere Ansicht für versteckte Download-Freigaben erzwingen", + "Enforce secure view for read only link shares" : "Sichere Ansicht für schreibgeschützte Linkfreigaben erzwingen", + "Enforce secure view on link shares with specific system tags" : "Sichere Ansicht für Linkfreigaben mit bestimmten System-Schlagworten erzwingen", + "Select tags to enforce secure view" : "Wählen Sie Schlagworte, um eine sichere Ansicht zu erzwingen", + "Electronic Signature" : "Elektronische Signatur", "Client ID for the electronic signature API" : "Client-ID für die API für elektronische Signaturen", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Registrierungsformular unter https://eideasy.com/signup ausfüllen, um eine Client-ID und ein Geheimnis zu erhalten.", "Secret for the electronic signature API" : "Geheimnis für die API für elektronische Signaturen", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Wenn die WOPI-Zulassungsliste nicht richtig konfiguriert ist, kann das Geheimnis möglicherweise über WOPI-Anfragen heruntergeladen werden.", - "Contact {0} to get an own installation." : "Kontaktiere {0}, um eine eigene Installation zu erhalten.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Stellen Sie sicher, dass Sie die URL {url} in der Datei coolwsd.xml Ihres Collabora Online-Servers festlegen, damit die hinzugefügten Schriftarten automatisch geladen werden. Bitte beachten Sie, dass http:// nur für Debug-Builds von Collabora Online funktioniert. In der Produktion müssen Sie https:// für die Remote-Schriftkonfiguration verwenden.", - "Failed to save settings" : "Einstellungen konnten nicht gespeichert werden", - "Font format not supported ({mime})" : "Schriftartenformat wird nicht unterstützt ({mime})", "Save" : "Speichern", "Remove" : "Entfernen", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Bitte den Gastnamen eingeben, den du verwenden möchtest, bevor du mit dem Dokument fortfährst. Wenn du nichts angibst, wird die Standardeinstellung verwendet.", "Guest name" : "Gastname", "Submit name" : "Name übermitteln", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Bitte den Gastnamen eingeben, den du verwenden möchtest, bevor du mit dem Dokument fortfährst. Wenn du nichts angibst, wird die Standardeinstellung verwendet.", "Confirm" : "Bestätigen", "Cancel" : "Abbrechen", + "Save As" : "Speichern als", "Save as" : "Speichern als", "Path to save" : "Speicherpfad", - "Save As" : "Speichern als", + "Invalid file name" : "Ungültiger Dateiname", + "File name already exists" : "Dateiname existiert bereits", + "Select template" : "Vorlage auswählen", + "File name" : "Dateiname", + "Create" : "Erstellen", + "Failed to set Zotero API key" : "Zotero API-Schlüssel konnte nicht festgelegt werden", "Link to your Zotero library" : "Link zu deiner Zotero-Bibliothekt", "Connect your Zotero account to make use of references within Office." : "Verbinde dein Zotero-Konto, um Verweise innerhalb von Office zu verwenden.", "You can generate an account key here:" : "Hier kannst du einen Kontenschlüssel erstellen:", "Zotero account settings" : "Zotero Kontoeinstellungen", "Zotero API key" : "Zotero API-Schlüssel", "Submit" : "Übermitteln", - "Failed to set Zotero API key" : "Zotero API-Schlüssel konnte nicht festgelegt werden", - "Select a template directory" : "Vorlagenverzeichnis auswählen", "Select a personal template folder" : "Persönlichen Vorlagenordner auswählen", + "Settings saved successfully." : "Einstellungen gespeichert.", + "Failed to save settings." : "Einstellungen konnten nicht gesichert werden.", + "Unexpected error occurred." : "Unerwarteter Fehler aufgetreten.", + "Personal Settings for Nextcloud Office" : "Persönliche Einstellungen für Nextcloud Office", + "Select a template directory" : "Vorlagenverzeichnis auswählen", "Remove personal template folder" : "Persönlichen Vorlagenordner entfernen", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Vorlagen in diesem Verzeichnis werden der Vorlagenauswahl von Nextcloud Office hinzugefügt.", "Zotero" : "Zotero", @@ -167,7 +217,7 @@ "To use Zotero specify your API key here. You can create your API key in your" : "Um Zotero zu verwenden, gib hier deinen API-Schlüssel an. Erstellen kannst du deinen API-Schlüssel in deiner", "Zotero account API settings." : "Zotero Konto API-Einstellungen.", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Diese Instanz unterstützt Zotero nicht, da die Funktion fehlt oder deaktiviert ist. Bitte wende dich an die Administration.", - "Document signing" : "Unterzeichnen von Dokumenten", + "Document signing" : "Signieren von Dokumenten", "Enter document signing cert (in PEM format)" : "Signaturzertifikat des Dokuments eingeben (im PEM-Format)", "Enter document signing key" : "Dokumentsignaturschlüssel eingeben", "Enter document signing CA chain" : "CA-Kette für die Dokumentsignatur eingeben", @@ -178,22 +228,22 @@ "No font overview" : "Keine Übersicht der Schriftart", "Delete this font" : "Diese Schriftart löschen", "No results" : "Keine Ergebnisse", + "Select file" : "Datei auswählen", "Select file or folder to link to" : "Datei oder Ordner zum Verknüpfen auswählen", "Could not find any section in the document" : "Es konnte kein Abschnitt im Dokument gefunden werden", - "Select file" : "Datei auswählen", - "Document loading failed" : "Laden des Dokuments fehlgeschlagen", - "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Bitte überprüfe das Collabora Online-Serverprotokoll für weitere Details und stelle sicher, dass Nextcloud von dort aus erreichbar ist.", - "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket-Verbindung wurde unerwartet geschlossen. Der Reverse-Proxy ist möglicherweise falsch konfiguriert. Bitte wende dich an die Administration.", - "More information can be found in the reverse proxy documentation" : "Weitere Informationen findest du in der Reverse-Proxy-Dokumentation", - "Close" : "Schließen", - "Edit" : "Bearbeiten", + "{productName} is not configured" : "{productName} ist nicht eingerichtet", "Starting the built-in CODE server failed" : "Der Start des integrierten CODE-Servers ist fehlgeschlagen", "Loading {filename} …" : "Lade {filename} …", + "Failed to load {productName} - please try again later" : "{productName} konnte nicht geladen werden - Bitte versuche es später noch einmal", "Open in local editor" : "Im lokalen Editor öffnen", "Cluster is scaling …" : "Cluster skaliert …", "The collaborative editing was terminated by another user" : "Die gemeinsame Bearbeitung wurde von einem anderen Benutzer beendet", - "Failed to load {productName} - please try again later" : "{productName} konnte nicht geladen werden - Bitte versuche es später noch einmal", - "{productName} is not configured" : "{productName} ist nicht eingerichtet", + "Document loading failed" : "Laden des Dokuments fehlgeschlagen", + "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Bitte das Collabora Online-Serverprotokoll für weitere Details überprüfen und sicherstellen, dass Nextcloud von dort aus erreichbar ist.", + "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket-Verbindung wurde unerwartet geschlossen. Der Reverse-Proxy ist möglicherweise falsch konfiguriert. Bitte wende dich an die Administration.", + "More information can be found in the reverse proxy documentation" : "Weitere Informationen finden sich in der Reverse-Proxy-Dokumentation", + "Close" : "Schließen", + "Edit" : "Bearbeiten", "Built-in CODE Server is starting up shortly, please wait." : "Eingebauter CODE-Server wird in Kürze gestartet, bitte warten.", "Built-in CODE Server is restarting, please wait." : "Eingebauter CODE-Server startet neu, bitte warten.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Fehler: Konnte das Anwendungsabbild (AppImage) nicht finden, bitte installiere den eingebauten Collabora Online Server erneut.", @@ -213,7 +263,7 @@ "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Die Datei sollte nun lokal geöffnet werden. Wenn dies nicht der Fall ist, stelle sicher, dass der Desktop-Client auf deinem System installiert ist.", "Retry to open locally" : "Erneut versuchen, lokal zu öffnen", "Save a copy of the file under a new name and continue editing the new file" : "Datei unter einem neuen Namen speichern und die Bearbeitung mit der neuen Datei fortsetzen", - "Failed to revert the document to older version" : "Fehler beim Zurücksetzen des Dokumentes auf eine ältere Version", + "Failed to revert the document to older version" : "Das Dokument konnte nicht auf eine ältere Version zurückgesetzt werden.", "Built-in CODE server failed to start" : "Integrierter CODE-Server konnte nicht gestartet werden", "Insert file from {name}" : "Datei von {name} einfügen", "Insert file" : "Datei einfügen", @@ -227,15 +277,24 @@ "Follow current editor" : "Dem aktuellen Bearbeiter folgen", "New file" : "Neue Datei", "Please enter the filename for the new file" : "Bitte gib den Dateinamen für die neue Datei ein", - "Create" : "Erstellen", - "New drawing" : "Neue Zeichnung", "Could not create file" : "Die Datei konnte nicht erstellt werden", - "Select template" : "Vorlage auswählen", - "Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.", + "Could not load templates" : "Vorlagen konnten nicht geladen werden", + "Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden. Dies könnte auf eine fehlende Konfiguration deines Web-Servers zurückzuführen sein. Für weitere Informationen besuche bitte:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office benötigt einen separaten Server, auf dem Collabora Online läuft, um Funktionen zur Bearbeitungs bereitzustellen.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online benötigt einen separaten Server, der als WOPI-ähnlicher-Client fungiert, um Funktionen zum Bearbeiten bereitzustellen.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Alle Benutzer können Dokumente standardmäßig mit {productName} bearbeiten. Wenn diese Einstellung aktiv ist, können nur die Mitglieder der angegebenen Gruppen bearbeiten und die anderen nur Dokumente anzeigen.", + "Secure view settings" : "Einstellungen für sichere Ansicht", + "Secure view enables you to secure documents by embedding a watermark" : "Die sichere Ansicht ermöglicht es, Dokumente durch Einbettung eines Wasserzeichens abzusichern.", + "Enable watermarking" : "Wasserzeichen aktivieren", + "Show watermark on tagged files" : "Wasserzeichen für Dateien mit Schlagworten anzeigen", + "Show watermark for users of groups" : "Wasserzeichen für Benutzer von Gruppen anzeigen", + "Show watermark for all shares" : "Wasserzeichen für alle Freigaben anzeigen", + "Show watermark for read only shares" : "Wasserzeichen für schreibgeschützte Freigaben anzeigen", + "Show watermark for all link shares" : "Wasserzeichen für alle Linkfreigaben anzeigen", + "Show watermark for download hidden shares" : "Wasserzeichen beim Herunterladen versteckter Freigaben anzeigen", + "Show watermark for read only link shares" : "Wasserzeichen für schreibgeschützte Linkfreigaben anzeigen", + "Show watermark on link shares with specific system tags" : "Wasserzeichen für Linkfreigaben mit bestimmten System-Schlagworten anzeigen", "Error" : "Fehler", "An error occurred" : "Es ist ein Fehler aufgetreten", "Please choose your nickname to continue as guest user." : "Bitte wähle einen Spitznamen, um als Gastbenutzer fortzufahren.", @@ -243,7 +302,9 @@ "Set" : "Setzen", "Please enter the filename to store the document as." : "Bitte den Dateinamen angeben, unter welchem dieses Dokument gespeichert werden soll.", "New filename" : "Neuer Dateiname", - "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen es noch einmal oder kontaktiere deinen Administrator.", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online ist noch nicht eingerichtet. Bitte die Administration kontaktieren.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Das Öffnen der Datei wird nicht unterstützt, da die Anmeldeinformationen für den externen Speicher ohne eine Sitzung nicht verfügbar sind", + "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte noch einmal versuchen oder die Administration kontaktieren.", "Saving…" : "Speichere …", "Insert from {name}" : "Einfügen von {name}", "Last saved version" : "Letzte gespeicherte Version", @@ -256,6 +317,10 @@ "No templates defined." : "Keine Vorlagen definiert.", "Add a new one?" : "Neue hinzufügen?", "template preview" : "Vorlagen-Vorschau", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dateien können weiterhin über Nextcloud heruntergeladen werden, sofern dies nicht durch Freigabe- oder Zugriffskontrolleinstellungen eingeschränkt ist.", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Vorschauen für Dateien mit Wasserzeichen werden blockiert, damit die erste Seite der Dokumente nicht angezeigt wird.", + "Show watermark for shares without download permission" : "Wasserzeichen für Freigaben ohne Download-Berechtigung anzeigen", + "New drawing" : "Neue Zeichnung", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument existiert bereits", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online ist standardmäßig für alle Benutzer aktiviert. Wenn diese Einstellung aktiv ist, können nur Mitglieder der angegebenen Gruppen es verwenden.", diff --git a/l10n/de_DE.js b/l10n/de_DE.js index 59b0e95a93..8d9b3f670c 100644 --- a/l10n/de_DE.js +++ b/l10n/de_DE.js @@ -23,11 +23,24 @@ OC.L10N.register( "Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden", "A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt", "No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s", - "Failed to upload the file" : "Fehler beim Hochladen der Datei", + "Failed to upload the file" : "Datei konnte nicht hochgeladen werden", "File is too big" : "Datei ist zu groß", "Only template files can be uploaded" : "Es können nur Vorlage-Dateien hochgeladen werden", "Invalid file provided" : "Ungültige Datei zur Verfügung gestellt", "Template not found" : "Vorlage nicht gefunden", + "Unable to determine the proper file extension for %1$s" : "Dateierweiterung von \"%1$s\" kann nicht erkannt werden", + "Unable to fetch information on %1$s" : "Informationen über %1$s können nicht abgerufen werden", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Bild (.png)", + "Image (.svg)" : "Bild (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Word Dokument (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument Textdokument (.odt)", + "Excel Workbook (.xlsx)" : "Excel Arbeitsmappe (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument Tabellendokument (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint Präsentation (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument Präsentation (.odp)", "New document" : "Neues Dokument", "New spreadsheet" : "Neue Tabelle", "New presentation" : "Neue Präsentation", @@ -41,24 +54,53 @@ OC.L10N.register( "Sheets" : "Blätter", "Slides" : "Folien", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud Assistant Foliensatzgenerator", + "Generate Slide Deck" : "Foliensatz erstellen", + "Generate a slide deck from a presentation script" : "Einen Foliensatz aus einem Präsentationsskript erstellen", + "Presentation script" : "Präsentationsskript", + "Write the text for your presentation here" : "Schreiben Sie hier den Text für Ihre Präsentation", + "Generated slide deck" : "Erstellter Foliensatz", + "The slide deck generated" : "Der erstellte Foliensatz", + "Nextcloud Office text document generator" : "Nextcloud Office-Textdokumentgenerator", + "Document format" : "Dokumentenformat", + "The format of the generated document" : "Das Format des erstellten Dokuments", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portables Dokumentenformat (.pdf)", + "Generate Office text document" : "Office-Textdokument erstellen", + "Generate an Office text document from a prompt" : "Ein Office-Textdokument aus einer Eingabeaufforderung heraus erstellen", + "Instructions" : "Zubereitung", + "Describe the document you want the assistant to generate" : "Beschreiben Sie das Dokument, das der Assistent erstellen soll", + "Generated Office document" : "Erstelltes Office-Dokument", + "The Office document that was generated from the description" : "Das aufgrund der Beschreibung erstellte Office-Dokument", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office-Tabellenkalkulationsgenerator", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Office-Tabellenkalkulationsdokument erstellen", + "Generate an Office spreadsheet document from a prompt" : "Ein Office-Tabellenkalkulationsdokument aus einer Eingabeaufforderung heraus erstellen", "Empty" : "Leer", "Anonymous guest" : "Anonymer Gast", "%s (Guest)" : "%s (Gast)", "Edit office documents directly in your browser." : "Bearbeiten Sie Office-Dokumente direkt in Ihrem Browser.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Diese App kann sich mit einem Collabora Online (oder anderem) Server (als WOPI-ähnlicher Client) verbinden. Nextcloud ist der WOPI-Host. Weitere Einzelheiten hierzu sind in der Dokumentation zu finden.\n\nDokumente können auch offline mit der Collabora Office App aus dem **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** und **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** Store bearbeitet werden.", - "Global Templates" : "Globale Vorlagen", - "New" : "Neu", + "Accepted file types: {accepts}" : "Akzeptierte Dateitypen: {accepts}", "Uploaded template \"{name}\"" : "Hochgeladene Vorlage \"{name}\"", "Template \"{name}\" already exists" : "Die Vorlage \"{name}\" existiert bereits", "Unable to delete template" : "Vorlage kann nicht gelöscht werden", "Deleted template" : "Gelöschte Vorlage", + "Global Templates" : "Globale Vorlagen", + "New" : "Neu", + "Contact {0} to get an own installation." : "Kontaktieren Sie {0}, um eine eigene Installation zu erhalten.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Stellen Sie sicher, dass Sie die URL {url} in der Datei coolwsd.xml Ihres Collabora Online-Servers festlegen, damit die hinzugefügten Schriftarten automatisch geladen werden. Bitte beachten Sie, dass http:// nur für Debug-Builds von Collabora Online funktioniert. In der Produktion müssen Sie https:// für die Remote-Schriftkonfiguration verwenden.", + "Failed to save settings" : "Einstellungen konnten nicht gespeichert werden", + "Font format not supported ({mime})" : "Schriftartenformat wird nicht unterstützt ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office ist eine leistungsstarke Collabora Online-basierte Online-Office-Suite mit kollaborativer Bearbeitung, die alle wichtigen Dokumenten-, Tabellen- und Präsentationsdateiformate unterstützt und mit allen modernen Browsern zusammenarbeitet.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online ist eine leistungsstarke LibreOffice-basierte Online-Office-Suite mit kollaborativer Bearbeitung, die alle wichtigen Dokumenten-, Tabellen- und Präsentationsdateiformate unterstützt und mit allen modernen Browsern zusammenarbeitet.", "Could not establish connection to the Collabora Online server." : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden.", "This might be due to a missing configuration of your web server. For more information, please visit: " : "Dies kann an einer fehlenden Konfiguration Ihres Webservers liegen. Für weitere Informationen, besuchen Sie bitte:", "Connecting Collabora Online Single Click with Nginx" : "Collabora Online mit einem Klick mit Nginx verbinden", "Setting up a new server" : "Neuen Server einrichten", - "Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.", + "Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.", "Your browser has been unable to connect to the Collabora server:" : "Ihr Browser konnte keine Verbindung zum Collabora-Server herstellen:", "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Diese URL wird auf dem Collabora-Server entweder aus der konfigurierten URL oder dem Parameter server_name in coolwsd.xml ermittelt.", "Collabora Online server is reachable." : "Collabora Online Server ist erreichbar.", @@ -109,60 +151,66 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical-Webroot für Collabora verwenden, falls es mehrere gibt. Verwende den mit den wenigsten Einschränkungen. Beispiel: Verwende einen Webroot ohne Shibboleth, falls der Webroot mit und ohne Shibboleth verwendet wirde. Wird auf diese Instanz nur über ein Webroot zugegriffen, so kann diese Einstellung ignoriert werden.", "Enable access for external apps" : "Zugriff auf externe Apps aktivieren", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Liste der IPV4- und IPv6-IP-Adressen und -Subnetze, die Anfragen an die WOPI-Endpunkte ausführen dürfen. Wenn keine Erlaubnis-Liste angegeben ist, werden alle Hosts zugelassen. Z.B. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Zusätzliche Schriftarten", - "Upload extra font file" : "Zusätzliche Schriftarten-Datei hochladen", + "Custom Fonts" : "Benutzerdefinierte Schriftarten", + "Upload font file" : "Schriftartendatei hochladen", "Upload a font file" : "Schriftartendatei hochladen", "Available fonts" : "Verfügbare Schriftarten", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Für eine optimale Dokumentkompatibilität wird empfohlen, häufig verwendete Schriftarten zu installieren. Wenn Ihre Benutzer mit Microsoft Office arbeiten, kann die Installation ihrer proprietären Version gemäß der Dokumentation erfolgen.", "Custom fonts documentation" : "Dokumentation zu benutzerdefinierten Schriftarten", - "Secure view settings" : "Einstellungen für \"Secure View\"", - "Secure view enables you to secure documents by embedding a watermark" : "Die sichere Ansicht ermöglicht Ihnen, Dokumente durch Einbettung eines Wasserzeichens abzusichern.", + "Secure View" : "Sichere Ansicht", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Mit der sicheren Ansicht können Sie Office-Dokumente schützen, indem Sie Downloads und Vorschauen blockieren und ein Wasserzeichen anzeigen.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Die Einstellungen gelten nur für kompatible Office-Dateien, die in Nextcloud Office geöffnet werden", + "Downloading the file through WebDAV will be blocked" : "Das Herunterladen der Datei über WebDAV wird blockiert", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Die folgenden Optionen in Nextcloud Office werden deaktiviert: Kopieren, Herunterladen, Exportieren, Drucken", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dateien können weiterhin über Nextcloud heruntergeladen werden, sofern dies nicht durch Freigabe- oder Zugriffskontrolleinstellungen eingeschränkt ist", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Dateien können u.U. weiterhin über WOPI-Anforderungen heruntergeladen werden, wenn die WOPI-Einstellungen nicht korrekt konfiguriert sind", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Vorschauen werden für Dateien mit Wasserzeichen blockiert, damit die erste Seite der Dokumente nicht ungewollterweise angezeigt wird", - "Enable watermarking" : "Wasserzeichen aktivieren", + "Previews will be blocked" : "Vorschauen werden blockiert", + "Enable secure view" : "Sichere Ansicht aktivieren", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Unterstützte Platzhalter: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Wasserzeichen für Dateien mit Schlagworten anzeigen", + "Enforce secure view on tagged files" : "Sichere Ansicht für mit Schlagworten markierte Dateien erzwingen", "Select tags to enforce watermarking" : "Schlagworte für das Erzwingen von Wasserzeichen auswählen", - "Show watermark for users of groups" : "Wasserzeichen für Benutzer von Gruppen anzeigen", - "Show watermark for all shares" : "Wasserzeichen für alle Freigaben anzeigen", - "Show watermark for read only shares" : "Wasserzeichen für schreibgeschützte Freigaben anzeigen", - "Show watermark for shares without download permission" : "Wasserzeichen für Freigaben ohne Download-Berechtigung anzeigen", - "Show watermark for all link shares" : "Wasserzeichen für alle Linkfreigaben anzeigen", - "Show watermark for download hidden shares" : "Wasserzeichen beim Herunterladen versteckter Freigaben anzeigen", - "Show watermark for read only link shares" : "Wasserzeichen für schreibgeschützte Linkfreigaben anzeigen", - "Show watermark on link shares with specific system tags" : "Wasserzeichen für Linkfreigaben mit bestimmten System-Schlagworten anzeigen", - "Electronic signature settings" : "Einstellungen für die elektronische Signatur", + "Enforce secure view for users of groups" : "Sichere Ansicht für Benutzer von Gruppen erzwingen", + "Enforce secure view for all shares" : "Sichere Ansicht für alle Freigaben erzwingen", + "Enforce secure view for read only shares" : "Sichere Ansicht für schreibgeschützte Freigaben erzwingen", + "Enforce secure view for all public Talk shares" : "Sichere Ansicht für alle öffentlichen Talk-Freigaben erzwingen", + "Enforce secure view for shares without download permission" : "Sichere Ansicht für Freigaben ohne Download-Berechtigung erzwingen", + "Enforce secure view for all link shares" : "Sichere Ansicht für alle Linkfreigaben erzwingen", + "Enforce secure view for download hidden shares" : "Sichere Ansicht für versteckte Download-Freigaben erzwingen", + "Enforce secure view for read only link shares" : "Sichere Ansicht für schreibgeschützte Linkfreigaben erzwingen", + "Enforce secure view on link shares with specific system tags" : "Sichere Ansicht für Linkfreigaben mit bestimmten System-Schlagworten erzwingen", + "Select tags to enforce secure view" : "Schlagworte auswählen, um eine sichere Ansicht zu erzwingen", + "Electronic Signature" : "Elektronische Signatur", "Client ID for the electronic signature API" : "Client-ID für die API für elektronische Signaturen", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Registrierungsformular unter https://eideasy.com/signup ausfüllen, um eine Client-ID und ein Geheimnis zu erhalten.", "Secret for the electronic signature API" : "Geheimnis für die API für elektronische Signaturen", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Wenn die WOPI-Zulassungsliste nicht richtig konfiguriert ist, kann das Geheimnis möglicherweise über WOPI-Anfragen heruntergeladen werden.", - "Contact {0} to get an own installation." : "Kontaktieren Sie {0}, um eine eigene Installation zu erhalten.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Stellen Sie sicher, dass Sie die URL {url} in der Datei coolwsd.xml Ihres Collabora Online-Servers festlegen, damit die hinzugefügten Schriftarten automatisch geladen werden. Bitte beachten Sie, dass http:// nur für Debug-Builds von Collabora Online funktioniert. In der Produktion müssen Sie https:// für die Remote-Schriftkonfiguration verwenden.", - "Failed to save settings" : "Einstellungen konnten nicht gespeichert werden", - "Font format not supported ({mime})" : "Schriftartenformat wird nicht unterstützt ({mime})", "Save" : "Speichern", "Remove" : "Entfernen", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Bitte den Gastnamen eingeben, den Sie verwenden möchten, bevor Sie mit dem Dokument fortfahren. Wenn Sie nichts angeben, wird die Standardeinstellung verwendet.", "Guest name" : "Gastname", "Submit name" : "Name übermitteln", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Bitte den Gastnamen eingeben, den Sie verwenden möchten, bevor Sie mit dem Dokument fortfahren. Wenn Sie nichts angeben, wird die Standardeinstellung verwendet.", "Confirm" : "Bestätigen", "Cancel" : "Abbrechen", + "Save As" : "Speichern als", "Save as" : "Speichern als", "Path to save" : "Speicherpfad", - "Save As" : "Speichern als", + "Invalid file name" : "Ungültiger Dateiname", + "File name already exists" : "Dateiname existiert bereits", + "Select template" : "Vorlage auswählen", + "File name" : "Dateiname", + "Create" : "Erstellen", + "Failed to set Zotero API key" : "Zotero API-Schlüssel konnte nicht festgelegt werden", "Link to your Zotero library" : "Link zu Ihrer Zotero-Bibliothekt", "Connect your Zotero account to make use of references within Office." : "Verbinden Sie Ihr Zotero-Konto, um Verweise innerhalb von Office zu verwenden.", "You can generate an account key here:" : "Hier können Sie einen Kontenschlüssel erstellen:", "Zotero account settings" : "Zotero Kontoeinstellungen", "Zotero API key" : "Zotero API-Schlüssel", "Submit" : "Übermitteln", - "Failed to set Zotero API key" : "Zotero API-Schlüssel konnte nicht festgelegt werden", + "Select a personal template folder" : "Persönlichen Vorlagenordner auswählen", + "Settings saved successfully." : "Einstellungen gespeichert.", + "Failed to save settings." : "Einstellungen konnten nicht gesichert werden.", + "Unexpected error occurred." : "Unerwarteter Fehler aufgetreten.", "Personal Settings for Nextcloud Office" : "Persönliche Einstellungen für Nextcloud Office", "Select a template directory" : "Vorlagenverzeichnis auswählen", - "Select a personal template folder" : "Persönlichen Vorlagenordner auswählen", "Remove personal template folder" : "Persönlichen Vorlagenordner entfernen", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Vorlagen in diesem Verzeichnis werden der Vorlagenauswahl von Nextcloud Office hinzugefügt.", "Zotero" : "Zotero", @@ -177,30 +225,27 @@ OC.L10N.register( "Enter document signing CA chain" : "CA-Kette für die Dokumentsignatur eingeben", "To use document signing, specify your signing certificate, key and CA chain here." : "Um die Dokumentsignatur zu verwenden, geben Sie hier Ihr Signaturzertifikat, Ihren Schlüssel und Ihre CA-Kette an.", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Diese Instanz unterstützt das Signieren von Dokumenten nicht, da die Funktion fehlt oder deaktiviert ist. Bitte wenden Sie sich an die Administration.", - "Settings saved successfully." : "Einstellungen erfolgreich gespeichert.", - "Failed to save settings." : "Einstellungen konnten nicht gesichert werden.", - "Unexpected error occurred." : "Unerwarteter Fehler aufgetreten.", "Description" : "Beschreibung", "Add new token" : "Neues Token hinzufügen", "No font overview" : "Keine Übersicht der Schriftarten", "Delete this font" : "Diese Schriftart löschen", "No results" : "Keine Ergebnisse", + "Select file" : "Datei auswählen", "Select file or folder to link to" : "Datei oder Ordner zum Verknüpfen auswählen", "Could not find any section in the document" : "Es konnte kein Abschnitt im Dokument gefunden werden", - "Select file" : "Datei auswählen", + "{productName} is not configured" : "{productName} ist nicht eingerichtet", + "Starting the built-in CODE server failed" : "Der Start des integrierten CODE-Servers ist fehlgeschlagen", + "Loading {filename} …" : "Lade {filename} …", + "Failed to load {productName} - please try again later" : "{productName} konnte nicht geladen werden - Bitte versuchen Sie es später erneut.", + "Open in local editor" : "In lokalem Editor öffnen", + "Cluster is scaling …" : "Cluster skaliert …", + "The collaborative editing was terminated by another user" : "Die gemeinsame Bearbeitung wurde von einem anderen Benutzer beendet", "Document loading failed" : "Laden des Dokuments fehlgeschlagen", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Bitte überprüfen Sie das Collabora Online-Serverprotokoll für weitere Details und stellen Sie sicher, dass Nextcloud von dort aus erreichbar ist.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket-Verbindung wurde unerwartet geschlossen. Der Reverse-Proxy ist möglicherweise falsch konfiguriert. Bitte wenden Sie sich an die Administration.", "More information can be found in the reverse proxy documentation" : "Weitere Informationen finden Sie in der Reverse-Proxy-Dokumentation", "Close" : "Schließen", "Edit" : "Bearbeiten", - "Starting the built-in CODE server failed" : "Der Start des integrierten CODE-Servers ist fehlgeschlagen", - "Loading {filename} …" : "Lade {filename} …", - "Open in local editor" : "In lokalem Editor öffnen", - "Cluster is scaling …" : "Cluster skaliert …", - "The collaborative editing was terminated by another user" : "Die gemeinsame Bearbeitung wurde von einem anderen Benutzer beendet", - "Failed to load {productName} - please try again later" : "{productName} konnte nicht geladen werden - Bitte später erneut versuchen.", - "{productName} is not configured" : "{productName} ist nicht eingerichtet", "Built-in CODE Server is starting up shortly, please wait." : "Eingebauter CODE-Server wird in Kürze gestartet, bitte warten.", "Built-in CODE Server is restarting, please wait." : "Eingebauter CODE-Server startet neu, bitte warten.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Fehler: Konnte das Anwendungsabbild (AppImage) nicht finden, bitte installiere Sie den eingebauten Collabora Online Server erneut.", @@ -220,7 +265,7 @@ OC.L10N.register( "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Die Datei sollte nun lokal geöffnet werden. Wenn dies nicht der Fall ist, stellen Sie sicher, dass der Desktop-Client auf Ihrem System installiert ist.", "Retry to open locally" : "Erneut versuchen, lokal zu öffnen", "Save a copy of the file under a new name and continue editing the new file" : "Datei unter einem neuen Namen speichern und die Bearbeitung mit der neuen Datei fortsetzen", - "Failed to revert the document to older version" : "Fehler beim Zurücksetzen des Dokumentes auf eine ältere Version", + "Failed to revert the document to older version" : "Das Dokument konnte nicht auf eine ältere Version zurückgesetzt werden.", "Built-in CODE server failed to start" : "Integrierter CODE-Server konnte nicht gestartet werden", "Insert file from {name}" : "Datei von {name} einfügen", "Insert file" : "Datei einfügen", @@ -234,15 +279,24 @@ OC.L10N.register( "Follow current editor" : "Dem aktuellen Bearbeiter folgen", "New file" : "Neue Datei", "Please enter the filename for the new file" : "Bitte geben Sie den Dateinamen für die neue Datei ein", - "Create" : "Erstellen", - "New drawing" : "Neue Zeichnung", "Could not create file" : "Die Datei konnte nicht erstellt werden", - "Select template" : "Vorlage auswählen", - "Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.", + "Could not load templates" : "Vorlagen konnten nicht geladen werden", + "Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden. Dies könnte auf eine fehlende Konfiguration Ihres Web-Servers zurückzuführen sein. Für weitere Informationen besuchen Sie bitte:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office benötigt einen separaten Server, auf dem Collabora Online läuft, um Bearbeitungsfunktionen bereitzustellen.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online benötigt einen separaten Server, der als WOPI-ähnlicher-Client fungiert, um Bearbeitungsfunktionen bereitzustellen.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Alle Benutzer können Dokumente standardmäßig mit {productName} bearbeiten. Wenn diese Einstellung aktiv ist, können nur die Mitglieder der angegebenen Gruppen bearbeiten und die anderen nur Dokumente anzeigen.", + "Secure view settings" : "Einstellungen für sichere Ansicht", + "Secure view enables you to secure documents by embedding a watermark" : "Die sichere Ansicht ermöglicht Ihnen, Dokumente durch Einbettung eines Wasserzeichens abzusichern.", + "Enable watermarking" : "Wasserzeichen aktivieren", + "Show watermark on tagged files" : "Wasserzeichen für Dateien mit Schlagworten anzeigen", + "Show watermark for users of groups" : "Wasserzeichen für Benutzer von Gruppen anzeigen", + "Show watermark for all shares" : "Wasserzeichen für alle Freigaben anzeigen", + "Show watermark for read only shares" : "Wasserzeichen für schreibgeschützte Freigaben anzeigen", + "Show watermark for all link shares" : "Wasserzeichen für alle Linkfreigaben anzeigen", + "Show watermark for download hidden shares" : "Wasserzeichen beim Herunterladen versteckter Freigaben anzeigen", + "Show watermark for read only link shares" : "Wasserzeichen für schreibgeschützte Linkfreigaben anzeigen", + "Show watermark on link shares with specific system tags" : "Wasserzeichen für Linkfreigaben mit bestimmten System-Schlagworten anzeigen", "Error" : "Fehler", "An error occurred" : "Es ist ein Fehler aufgetreten", "Please choose your nickname to continue as guest user." : "Bitte wählen Sie Ihren Spitznamen und fahren Sie als Gastbenutzer fort.", @@ -250,7 +304,9 @@ OC.L10N.register( "Set" : "Setzen", "Please enter the filename to store the document as." : "Bitte den Dateinamen, unter welchem dieses Dokument gespeichert werden soll, eingeben.", "New filename" : "Neuer Dateiname", - "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihren Administrator.", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online ist noch nicht eingerichtet. Bitte die Administration kontaktieren.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Das Öffnen der Datei wird nicht unterstützt, da die Anmeldeinformationen für den externen Speicher ohne eine Sitzung nicht verfügbar sind", + "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihre Administration.", "Saving…" : "Speichere…", "Insert from {name}" : "Einfügen von {name}", "Last saved version" : "Letzte gespeicherte Version", @@ -263,6 +319,10 @@ OC.L10N.register( "No templates defined." : "Keine Vorlagen definiert.", "Add a new one?" : "Neue hinzufügen?", "template preview" : "Vorlagen-Vorschau", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dateien können weiterhin über Nextcloud heruntergeladen werden, sofern dies nicht durch Freigabe- oder Zugriffskontrolleinstellungen eingeschränkt ist", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Vorschauen werden für Dateien mit Wasserzeichen blockiert, damit die erste Seite der Dokumente nicht ungewollterweise angezeigt wird", + "Show watermark for shares without download permission" : "Wasserzeichen für Freigaben ohne Download-Berechtigung anzeigen", + "New drawing" : "Neue Zeichnung", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument existiert bereits", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online ist standardmäßig für alle Benutzer aktiviert. Wenn diese Einstellung aktiv ist, können nur Mitglieder der angegebenen Gruppen es verwenden.", diff --git a/l10n/de_DE.json b/l10n/de_DE.json index 92ed9e832e..4541fec22e 100644 --- a/l10n/de_DE.json +++ b/l10n/de_DE.json @@ -21,11 +21,24 @@ "Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden", "A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt", "No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s", - "Failed to upload the file" : "Fehler beim Hochladen der Datei", + "Failed to upload the file" : "Datei konnte nicht hochgeladen werden", "File is too big" : "Datei ist zu groß", "Only template files can be uploaded" : "Es können nur Vorlage-Dateien hochgeladen werden", "Invalid file provided" : "Ungültige Datei zur Verfügung gestellt", "Template not found" : "Vorlage nicht gefunden", + "Unable to determine the proper file extension for %1$s" : "Dateierweiterung von \"%1$s\" kann nicht erkannt werden", + "Unable to fetch information on %1$s" : "Informationen über %1$s können nicht abgerufen werden", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Bild (.png)", + "Image (.svg)" : "Bild (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Word Dokument (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument Textdokument (.odt)", + "Excel Workbook (.xlsx)" : "Excel Arbeitsmappe (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument Tabellendokument (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint Präsentation (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument Präsentation (.odp)", "New document" : "Neues Dokument", "New spreadsheet" : "Neue Tabelle", "New presentation" : "Neue Präsentation", @@ -39,24 +52,53 @@ "Sheets" : "Blätter", "Slides" : "Folien", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud Assistant Foliensatzgenerator", + "Generate Slide Deck" : "Foliensatz erstellen", + "Generate a slide deck from a presentation script" : "Einen Foliensatz aus einem Präsentationsskript erstellen", + "Presentation script" : "Präsentationsskript", + "Write the text for your presentation here" : "Schreiben Sie hier den Text für Ihre Präsentation", + "Generated slide deck" : "Erstellter Foliensatz", + "The slide deck generated" : "Der erstellte Foliensatz", + "Nextcloud Office text document generator" : "Nextcloud Office-Textdokumentgenerator", + "Document format" : "Dokumentenformat", + "The format of the generated document" : "Das Format des erstellten Dokuments", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portables Dokumentenformat (.pdf)", + "Generate Office text document" : "Office-Textdokument erstellen", + "Generate an Office text document from a prompt" : "Ein Office-Textdokument aus einer Eingabeaufforderung heraus erstellen", + "Instructions" : "Zubereitung", + "Describe the document you want the assistant to generate" : "Beschreiben Sie das Dokument, das der Assistent erstellen soll", + "Generated Office document" : "Erstelltes Office-Dokument", + "The Office document that was generated from the description" : "Das aufgrund der Beschreibung erstellte Office-Dokument", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office-Tabellenkalkulationsgenerator", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Office-Tabellenkalkulationsdokument erstellen", + "Generate an Office spreadsheet document from a prompt" : "Ein Office-Tabellenkalkulationsdokument aus einer Eingabeaufforderung heraus erstellen", "Empty" : "Leer", "Anonymous guest" : "Anonymer Gast", "%s (Guest)" : "%s (Gast)", "Edit office documents directly in your browser." : "Bearbeiten Sie Office-Dokumente direkt in Ihrem Browser.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Diese App kann sich mit einem Collabora Online (oder anderem) Server (als WOPI-ähnlicher Client) verbinden. Nextcloud ist der WOPI-Host. Weitere Einzelheiten hierzu sind in der Dokumentation zu finden.\n\nDokumente können auch offline mit der Collabora Office App aus dem **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** und **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** Store bearbeitet werden.", - "Global Templates" : "Globale Vorlagen", - "New" : "Neu", + "Accepted file types: {accepts}" : "Akzeptierte Dateitypen: {accepts}", "Uploaded template \"{name}\"" : "Hochgeladene Vorlage \"{name}\"", "Template \"{name}\" already exists" : "Die Vorlage \"{name}\" existiert bereits", "Unable to delete template" : "Vorlage kann nicht gelöscht werden", "Deleted template" : "Gelöschte Vorlage", + "Global Templates" : "Globale Vorlagen", + "New" : "Neu", + "Contact {0} to get an own installation." : "Kontaktieren Sie {0}, um eine eigene Installation zu erhalten.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Stellen Sie sicher, dass Sie die URL {url} in der Datei coolwsd.xml Ihres Collabora Online-Servers festlegen, damit die hinzugefügten Schriftarten automatisch geladen werden. Bitte beachten Sie, dass http:// nur für Debug-Builds von Collabora Online funktioniert. In der Produktion müssen Sie https:// für die Remote-Schriftkonfiguration verwenden.", + "Failed to save settings" : "Einstellungen konnten nicht gespeichert werden", + "Font format not supported ({mime})" : "Schriftartenformat wird nicht unterstützt ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office ist eine leistungsstarke Collabora Online-basierte Online-Office-Suite mit kollaborativer Bearbeitung, die alle wichtigen Dokumenten-, Tabellen- und Präsentationsdateiformate unterstützt und mit allen modernen Browsern zusammenarbeitet.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online ist eine leistungsstarke LibreOffice-basierte Online-Office-Suite mit kollaborativer Bearbeitung, die alle wichtigen Dokumenten-, Tabellen- und Präsentationsdateiformate unterstützt und mit allen modernen Browsern zusammenarbeitet.", "Could not establish connection to the Collabora Online server." : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden.", "This might be due to a missing configuration of your web server. For more information, please visit: " : "Dies kann an einer fehlenden Konfiguration Ihres Webservers liegen. Für weitere Informationen, besuchen Sie bitte:", "Connecting Collabora Online Single Click with Nginx" : "Collabora Online mit einem Klick mit Nginx verbinden", "Setting up a new server" : "Neuen Server einrichten", - "Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.", + "Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.", "Your browser has been unable to connect to the Collabora server:" : "Ihr Browser konnte keine Verbindung zum Collabora-Server herstellen:", "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Diese URL wird auf dem Collabora-Server entweder aus der konfigurierten URL oder dem Parameter server_name in coolwsd.xml ermittelt.", "Collabora Online server is reachable." : "Collabora Online Server ist erreichbar.", @@ -107,60 +149,66 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical-Webroot für Collabora verwenden, falls es mehrere gibt. Verwende den mit den wenigsten Einschränkungen. Beispiel: Verwende einen Webroot ohne Shibboleth, falls der Webroot mit und ohne Shibboleth verwendet wirde. Wird auf diese Instanz nur über ein Webroot zugegriffen, so kann diese Einstellung ignoriert werden.", "Enable access for external apps" : "Zugriff auf externe Apps aktivieren", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Liste der IPV4- und IPv6-IP-Adressen und -Subnetze, die Anfragen an die WOPI-Endpunkte ausführen dürfen. Wenn keine Erlaubnis-Liste angegeben ist, werden alle Hosts zugelassen. Z.B. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Zusätzliche Schriftarten", - "Upload extra font file" : "Zusätzliche Schriftarten-Datei hochladen", + "Custom Fonts" : "Benutzerdefinierte Schriftarten", + "Upload font file" : "Schriftartendatei hochladen", "Upload a font file" : "Schriftartendatei hochladen", "Available fonts" : "Verfügbare Schriftarten", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Für eine optimale Dokumentkompatibilität wird empfohlen, häufig verwendete Schriftarten zu installieren. Wenn Ihre Benutzer mit Microsoft Office arbeiten, kann die Installation ihrer proprietären Version gemäß der Dokumentation erfolgen.", "Custom fonts documentation" : "Dokumentation zu benutzerdefinierten Schriftarten", - "Secure view settings" : "Einstellungen für \"Secure View\"", - "Secure view enables you to secure documents by embedding a watermark" : "Die sichere Ansicht ermöglicht Ihnen, Dokumente durch Einbettung eines Wasserzeichens abzusichern.", + "Secure View" : "Sichere Ansicht", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Mit der sicheren Ansicht können Sie Office-Dokumente schützen, indem Sie Downloads und Vorschauen blockieren und ein Wasserzeichen anzeigen.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Die Einstellungen gelten nur für kompatible Office-Dateien, die in Nextcloud Office geöffnet werden", + "Downloading the file through WebDAV will be blocked" : "Das Herunterladen der Datei über WebDAV wird blockiert", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Die folgenden Optionen in Nextcloud Office werden deaktiviert: Kopieren, Herunterladen, Exportieren, Drucken", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dateien können weiterhin über Nextcloud heruntergeladen werden, sofern dies nicht durch Freigabe- oder Zugriffskontrolleinstellungen eingeschränkt ist", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Dateien können u.U. weiterhin über WOPI-Anforderungen heruntergeladen werden, wenn die WOPI-Einstellungen nicht korrekt konfiguriert sind", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Vorschauen werden für Dateien mit Wasserzeichen blockiert, damit die erste Seite der Dokumente nicht ungewollterweise angezeigt wird", - "Enable watermarking" : "Wasserzeichen aktivieren", + "Previews will be blocked" : "Vorschauen werden blockiert", + "Enable secure view" : "Sichere Ansicht aktivieren", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Unterstützte Platzhalter: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Wasserzeichen für Dateien mit Schlagworten anzeigen", + "Enforce secure view on tagged files" : "Sichere Ansicht für mit Schlagworten markierte Dateien erzwingen", "Select tags to enforce watermarking" : "Schlagworte für das Erzwingen von Wasserzeichen auswählen", - "Show watermark for users of groups" : "Wasserzeichen für Benutzer von Gruppen anzeigen", - "Show watermark for all shares" : "Wasserzeichen für alle Freigaben anzeigen", - "Show watermark for read only shares" : "Wasserzeichen für schreibgeschützte Freigaben anzeigen", - "Show watermark for shares without download permission" : "Wasserzeichen für Freigaben ohne Download-Berechtigung anzeigen", - "Show watermark for all link shares" : "Wasserzeichen für alle Linkfreigaben anzeigen", - "Show watermark for download hidden shares" : "Wasserzeichen beim Herunterladen versteckter Freigaben anzeigen", - "Show watermark for read only link shares" : "Wasserzeichen für schreibgeschützte Linkfreigaben anzeigen", - "Show watermark on link shares with specific system tags" : "Wasserzeichen für Linkfreigaben mit bestimmten System-Schlagworten anzeigen", - "Electronic signature settings" : "Einstellungen für die elektronische Signatur", + "Enforce secure view for users of groups" : "Sichere Ansicht für Benutzer von Gruppen erzwingen", + "Enforce secure view for all shares" : "Sichere Ansicht für alle Freigaben erzwingen", + "Enforce secure view for read only shares" : "Sichere Ansicht für schreibgeschützte Freigaben erzwingen", + "Enforce secure view for all public Talk shares" : "Sichere Ansicht für alle öffentlichen Talk-Freigaben erzwingen", + "Enforce secure view for shares without download permission" : "Sichere Ansicht für Freigaben ohne Download-Berechtigung erzwingen", + "Enforce secure view for all link shares" : "Sichere Ansicht für alle Linkfreigaben erzwingen", + "Enforce secure view for download hidden shares" : "Sichere Ansicht für versteckte Download-Freigaben erzwingen", + "Enforce secure view for read only link shares" : "Sichere Ansicht für schreibgeschützte Linkfreigaben erzwingen", + "Enforce secure view on link shares with specific system tags" : "Sichere Ansicht für Linkfreigaben mit bestimmten System-Schlagworten erzwingen", + "Select tags to enforce secure view" : "Schlagworte auswählen, um eine sichere Ansicht zu erzwingen", + "Electronic Signature" : "Elektronische Signatur", "Client ID for the electronic signature API" : "Client-ID für die API für elektronische Signaturen", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Registrierungsformular unter https://eideasy.com/signup ausfüllen, um eine Client-ID und ein Geheimnis zu erhalten.", "Secret for the electronic signature API" : "Geheimnis für die API für elektronische Signaturen", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Wenn die WOPI-Zulassungsliste nicht richtig konfiguriert ist, kann das Geheimnis möglicherweise über WOPI-Anfragen heruntergeladen werden.", - "Contact {0} to get an own installation." : "Kontaktieren Sie {0}, um eine eigene Installation zu erhalten.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Stellen Sie sicher, dass Sie die URL {url} in der Datei coolwsd.xml Ihres Collabora Online-Servers festlegen, damit die hinzugefügten Schriftarten automatisch geladen werden. Bitte beachten Sie, dass http:// nur für Debug-Builds von Collabora Online funktioniert. In der Produktion müssen Sie https:// für die Remote-Schriftkonfiguration verwenden.", - "Failed to save settings" : "Einstellungen konnten nicht gespeichert werden", - "Font format not supported ({mime})" : "Schriftartenformat wird nicht unterstützt ({mime})", "Save" : "Speichern", "Remove" : "Entfernen", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Bitte den Gastnamen eingeben, den Sie verwenden möchten, bevor Sie mit dem Dokument fortfahren. Wenn Sie nichts angeben, wird die Standardeinstellung verwendet.", "Guest name" : "Gastname", "Submit name" : "Name übermitteln", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Bitte den Gastnamen eingeben, den Sie verwenden möchten, bevor Sie mit dem Dokument fortfahren. Wenn Sie nichts angeben, wird die Standardeinstellung verwendet.", "Confirm" : "Bestätigen", "Cancel" : "Abbrechen", + "Save As" : "Speichern als", "Save as" : "Speichern als", "Path to save" : "Speicherpfad", - "Save As" : "Speichern als", + "Invalid file name" : "Ungültiger Dateiname", + "File name already exists" : "Dateiname existiert bereits", + "Select template" : "Vorlage auswählen", + "File name" : "Dateiname", + "Create" : "Erstellen", + "Failed to set Zotero API key" : "Zotero API-Schlüssel konnte nicht festgelegt werden", "Link to your Zotero library" : "Link zu Ihrer Zotero-Bibliothekt", "Connect your Zotero account to make use of references within Office." : "Verbinden Sie Ihr Zotero-Konto, um Verweise innerhalb von Office zu verwenden.", "You can generate an account key here:" : "Hier können Sie einen Kontenschlüssel erstellen:", "Zotero account settings" : "Zotero Kontoeinstellungen", "Zotero API key" : "Zotero API-Schlüssel", "Submit" : "Übermitteln", - "Failed to set Zotero API key" : "Zotero API-Schlüssel konnte nicht festgelegt werden", + "Select a personal template folder" : "Persönlichen Vorlagenordner auswählen", + "Settings saved successfully." : "Einstellungen gespeichert.", + "Failed to save settings." : "Einstellungen konnten nicht gesichert werden.", + "Unexpected error occurred." : "Unerwarteter Fehler aufgetreten.", "Personal Settings for Nextcloud Office" : "Persönliche Einstellungen für Nextcloud Office", "Select a template directory" : "Vorlagenverzeichnis auswählen", - "Select a personal template folder" : "Persönlichen Vorlagenordner auswählen", "Remove personal template folder" : "Persönlichen Vorlagenordner entfernen", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Vorlagen in diesem Verzeichnis werden der Vorlagenauswahl von Nextcloud Office hinzugefügt.", "Zotero" : "Zotero", @@ -175,30 +223,27 @@ "Enter document signing CA chain" : "CA-Kette für die Dokumentsignatur eingeben", "To use document signing, specify your signing certificate, key and CA chain here." : "Um die Dokumentsignatur zu verwenden, geben Sie hier Ihr Signaturzertifikat, Ihren Schlüssel und Ihre CA-Kette an.", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Diese Instanz unterstützt das Signieren von Dokumenten nicht, da die Funktion fehlt oder deaktiviert ist. Bitte wenden Sie sich an die Administration.", - "Settings saved successfully." : "Einstellungen erfolgreich gespeichert.", - "Failed to save settings." : "Einstellungen konnten nicht gesichert werden.", - "Unexpected error occurred." : "Unerwarteter Fehler aufgetreten.", "Description" : "Beschreibung", "Add new token" : "Neues Token hinzufügen", "No font overview" : "Keine Übersicht der Schriftarten", "Delete this font" : "Diese Schriftart löschen", "No results" : "Keine Ergebnisse", + "Select file" : "Datei auswählen", "Select file or folder to link to" : "Datei oder Ordner zum Verknüpfen auswählen", "Could not find any section in the document" : "Es konnte kein Abschnitt im Dokument gefunden werden", - "Select file" : "Datei auswählen", + "{productName} is not configured" : "{productName} ist nicht eingerichtet", + "Starting the built-in CODE server failed" : "Der Start des integrierten CODE-Servers ist fehlgeschlagen", + "Loading {filename} …" : "Lade {filename} …", + "Failed to load {productName} - please try again later" : "{productName} konnte nicht geladen werden - Bitte versuchen Sie es später erneut.", + "Open in local editor" : "In lokalem Editor öffnen", + "Cluster is scaling …" : "Cluster skaliert …", + "The collaborative editing was terminated by another user" : "Die gemeinsame Bearbeitung wurde von einem anderen Benutzer beendet", "Document loading failed" : "Laden des Dokuments fehlgeschlagen", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Bitte überprüfen Sie das Collabora Online-Serverprotokoll für weitere Details und stellen Sie sicher, dass Nextcloud von dort aus erreichbar ist.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket-Verbindung wurde unerwartet geschlossen. Der Reverse-Proxy ist möglicherweise falsch konfiguriert. Bitte wenden Sie sich an die Administration.", "More information can be found in the reverse proxy documentation" : "Weitere Informationen finden Sie in der Reverse-Proxy-Dokumentation", "Close" : "Schließen", "Edit" : "Bearbeiten", - "Starting the built-in CODE server failed" : "Der Start des integrierten CODE-Servers ist fehlgeschlagen", - "Loading {filename} …" : "Lade {filename} …", - "Open in local editor" : "In lokalem Editor öffnen", - "Cluster is scaling …" : "Cluster skaliert …", - "The collaborative editing was terminated by another user" : "Die gemeinsame Bearbeitung wurde von einem anderen Benutzer beendet", - "Failed to load {productName} - please try again later" : "{productName} konnte nicht geladen werden - Bitte später erneut versuchen.", - "{productName} is not configured" : "{productName} ist nicht eingerichtet", "Built-in CODE Server is starting up shortly, please wait." : "Eingebauter CODE-Server wird in Kürze gestartet, bitte warten.", "Built-in CODE Server is restarting, please wait." : "Eingebauter CODE-Server startet neu, bitte warten.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Fehler: Konnte das Anwendungsabbild (AppImage) nicht finden, bitte installiere Sie den eingebauten Collabora Online Server erneut.", @@ -218,7 +263,7 @@ "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Die Datei sollte nun lokal geöffnet werden. Wenn dies nicht der Fall ist, stellen Sie sicher, dass der Desktop-Client auf Ihrem System installiert ist.", "Retry to open locally" : "Erneut versuchen, lokal zu öffnen", "Save a copy of the file under a new name and continue editing the new file" : "Datei unter einem neuen Namen speichern und die Bearbeitung mit der neuen Datei fortsetzen", - "Failed to revert the document to older version" : "Fehler beim Zurücksetzen des Dokumentes auf eine ältere Version", + "Failed to revert the document to older version" : "Das Dokument konnte nicht auf eine ältere Version zurückgesetzt werden.", "Built-in CODE server failed to start" : "Integrierter CODE-Server konnte nicht gestartet werden", "Insert file from {name}" : "Datei von {name} einfügen", "Insert file" : "Datei einfügen", @@ -232,15 +277,24 @@ "Follow current editor" : "Dem aktuellen Bearbeiter folgen", "New file" : "Neue Datei", "Please enter the filename for the new file" : "Bitte geben Sie den Dateinamen für die neue Datei ein", - "Create" : "Erstellen", - "New drawing" : "Neue Zeichnung", "Could not create file" : "Die Datei konnte nicht erstellt werden", - "Select template" : "Vorlage auswählen", - "Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.", + "Could not load templates" : "Vorlagen konnten nicht geladen werden", + "Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden. Dies könnte auf eine fehlende Konfiguration Ihres Web-Servers zurückzuführen sein. Für weitere Informationen besuchen Sie bitte:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office benötigt einen separaten Server, auf dem Collabora Online läuft, um Bearbeitungsfunktionen bereitzustellen.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online benötigt einen separaten Server, der als WOPI-ähnlicher-Client fungiert, um Bearbeitungsfunktionen bereitzustellen.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Alle Benutzer können Dokumente standardmäßig mit {productName} bearbeiten. Wenn diese Einstellung aktiv ist, können nur die Mitglieder der angegebenen Gruppen bearbeiten und die anderen nur Dokumente anzeigen.", + "Secure view settings" : "Einstellungen für sichere Ansicht", + "Secure view enables you to secure documents by embedding a watermark" : "Die sichere Ansicht ermöglicht Ihnen, Dokumente durch Einbettung eines Wasserzeichens abzusichern.", + "Enable watermarking" : "Wasserzeichen aktivieren", + "Show watermark on tagged files" : "Wasserzeichen für Dateien mit Schlagworten anzeigen", + "Show watermark for users of groups" : "Wasserzeichen für Benutzer von Gruppen anzeigen", + "Show watermark for all shares" : "Wasserzeichen für alle Freigaben anzeigen", + "Show watermark for read only shares" : "Wasserzeichen für schreibgeschützte Freigaben anzeigen", + "Show watermark for all link shares" : "Wasserzeichen für alle Linkfreigaben anzeigen", + "Show watermark for download hidden shares" : "Wasserzeichen beim Herunterladen versteckter Freigaben anzeigen", + "Show watermark for read only link shares" : "Wasserzeichen für schreibgeschützte Linkfreigaben anzeigen", + "Show watermark on link shares with specific system tags" : "Wasserzeichen für Linkfreigaben mit bestimmten System-Schlagworten anzeigen", "Error" : "Fehler", "An error occurred" : "Es ist ein Fehler aufgetreten", "Please choose your nickname to continue as guest user." : "Bitte wählen Sie Ihren Spitznamen und fahren Sie als Gastbenutzer fort.", @@ -248,7 +302,9 @@ "Set" : "Setzen", "Please enter the filename to store the document as." : "Bitte den Dateinamen, unter welchem dieses Dokument gespeichert werden soll, eingeben.", "New filename" : "Neuer Dateiname", - "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihren Administrator.", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online ist noch nicht eingerichtet. Bitte die Administration kontaktieren.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Das Öffnen der Datei wird nicht unterstützt, da die Anmeldeinformationen für den externen Speicher ohne eine Sitzung nicht verfügbar sind", + "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihre Administration.", "Saving…" : "Speichere…", "Insert from {name}" : "Einfügen von {name}", "Last saved version" : "Letzte gespeicherte Version", @@ -261,6 +317,10 @@ "No templates defined." : "Keine Vorlagen definiert.", "Add a new one?" : "Neue hinzufügen?", "template preview" : "Vorlagen-Vorschau", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dateien können weiterhin über Nextcloud heruntergeladen werden, sofern dies nicht durch Freigabe- oder Zugriffskontrolleinstellungen eingeschränkt ist", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Vorschauen werden für Dateien mit Wasserzeichen blockiert, damit die erste Seite der Dokumente nicht ungewollterweise angezeigt wird", + "Show watermark for shares without download permission" : "Wasserzeichen für Freigaben ohne Download-Berechtigung anzeigen", + "New drawing" : "Neue Zeichnung", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument existiert bereits", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online ist standardmäßig für alle Benutzer aktiviert. Wenn diese Einstellung aktiv ist, können nur Mitglieder der angegebenen Gruppen es verwenden.", diff --git a/l10n/el.js b/l10n/el.js index a49499d0c2..e9bc1c1d43 100644 --- a/l10n/el.js +++ b/l10n/el.js @@ -34,12 +34,15 @@ OC.L10N.register( "Headings" : "Επικεφαλίδες", "Images" : "Εικόνες", "Office" : "Office", + "Instructions" : "Οδηγίες", "Empty" : "Κενό", "Anonymous guest" : "Ανώνυμος επισκέπτης", "%s (Guest)" : "%s (Επισκέπτης)", "Edit office documents directly in your browser." : "Επεξεργασία εγγράφων απευθείας στον φυλλομετρητή σας.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Η εφαρμογή μπορεί να συνδεθεί σε ένα διακομιστή Collabora Online (ή άλλο) (πελάτης τύπου WOPI). Το Nextcloud είναι ο πελάτης WOPI. Διαβάστε την τεκμηρίωση για να μάθετε περισσότερα σχετικά.\n\nΜπορείτε επίσης να επεξεργαστείτε τα έγγραφά σας εκτός σύνδεσης με την εφαρμογή Collabora Office από το ** [Android] (https://play.google.com/store/apps/details?id=com.collabora.libreoffice) ** και * * [iOS] (https://apps.apple.com/us/app/collabora-office/id1440482071) ** αγορά.", "New" : "Νέα", + "Contact {0} to get an own installation." : "Επικοινωνήστε με {0} για λήψη δικής σας εγκατάστασης.", + "Failed to save settings" : "Αποτυχία αποθήκευσης ρυθμίσεων", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Το Nextcloud Office είναι μια ισχυρή διαδικτυακή σουίτα γραφείου που βασίζεται στο Collabora Online με συλλογική επεξεργασία, η οποία υποστηρίζει όλα τα κύρια έγγραφα, τις μορφές αρχείων υπολογιστικών φύλλων και παρουσιάσεων και λειτουργεί σε όλα τα σύγχρονα προγράμματα περιήγησης.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Το Collabora Online είναι μια σουίτα εφαρμογών γραφείου βασισμένο στο LibreOffice με δυνατότητα συνεργατικής επεξεργασίας, η οποία υποστηρίζει όλα τα σημαντικά έγγραφα, υπολογιστικά φύλλα και αρχείων παρουσίασης και συνεργάζεται με όλα τα σύγχρονα προγράμματα περιήγησης.", "Could not establish connection to the Collabora Online server." : "Αδυναμία σύνδεσης με τον διακομιστή Collabora Online.", @@ -90,44 +93,35 @@ OC.L10N.register( "Enable access for external apps" : "Ενεργοποίηση πρόσβασης για εξωτερικές εφαρμογές", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Λίστα IP διευθύνσεων IPV4 και IPV6 και υποδικτύων που επιτρέπεται να εκτελούν αιτήματα των WOPI endpoints. Εάν δεν έχει καθοριστεί λίστα επιτρεπόμενων, θα επιτραπούν όλοι οι κεντρικοί υπολογιστές. Π.χ. 10.0.0.20,10.0.4.0/24", "Available fonts" : "Διαθέσιμες γραμματοσειρές", - "Secure view settings" : "Ασφαλείς ρυθμίσεις προβολής", - "Secure view enables you to secure documents by embedding a watermark" : "Η ασφαλής προβολή σάς επιτρέπει να ασφαλίζετε έγγραφα, ενσωματώνοντας ένα υδατογράφημα", - "Enable watermarking" : "Ενεργοποίηση υδατογραφήματος", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Υποστηριζόμενα σύμβολα κράτησης θέσης: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Εμφάνιση υδατογραφήματος σε αρχεία με ετικέτα", "Select tags to enforce watermarking" : "Επιλέξτε ετικέτες για υποχρεωτικό υδατογράφημα", - "Show watermark for users of groups" : "Εμφάνιση υδατογραφήματος για χρήστες ή ομάδες", - "Show watermark for all shares" : "Εμφάνιση υδατογραφήματος για όλους τους χρήστες", - "Show watermark for read only shares" : "Εμφάνιση υδατογραφήματος μόνο για κοινόχρηστα μόνο για ανάγνωση", - "Show watermark for all link shares" : "Εμφάνιση υδατογραφήματος για όλους τους κοινόχρηστους συνδέσμους", - "Show watermark for download hidden shares" : "Εμφάνιση υδατογραφήματος για κρυφά κοινόχρηστα", - "Show watermark for read only link shares" : "Εμφάνιση υδατογραφήματος για κοινόχρηστους συνδέσμους μόνο για ανάγνωση", - "Show watermark on link shares with specific system tags" : "Εμφάνιση υδατογραφήματος κοινόχρηστους συνδέσμους με συγκεκριμένες ετικέτες", - "Contact {0} to get an own installation." : "Επικοινωνήστε με {0} για λήψη δικής σας εγκατάστασης.", - "Failed to save settings" : "Αποτυχία αποθήκευσης ρυθμίσεων", "Save" : "Αποθήκευση", "Remove" : "Αφαίρεση", "Confirm" : "Επιβεβαίωση", "Cancel" : "Ακύρωση", - "Save as" : "Αποθήκευση ως", "Save As" : "Αποθήκευση ως", + "Save as" : "Αποθήκευση ως", + "Invalid file name" : "Μη έγκυρο όνομα αρχείου", + "Select template" : "Επιλογή προτύπου", + "File name" : "Όνομα αρχείου", + "Create" : "Δημιουργία", "Submit" : "Υποβολή", - "Select a template directory" : "Επιλέξτε κατάλογο προτύπων", "Select a personal template folder" : "Επιλέξτε έναν φάκελο προσωπικών προτύπων", + "Select a template directory" : "Επιλέξτε κατάλογο προτύπων", "Remove personal template folder" : "Κατάργηση προσωπικού φακέλου προτύπων", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Τα πρότυπα σε αυτό τον κατάλογο θα συμπεριληφθούν στην επιλογή προτύπων Nextcloud Office.", "Description" : "Περιγραφή", "Add new token" : "Προσθήκη νέου token", "No results" : "Κανένα αποτέλεσμα", - "Select file or folder to link to" : "Επιλέξτε αρχείο ή φάκελο για σύνδεση", "Select file" : "Επιλέξτε Αρχείο", - "Document loading failed" : "Η φόρτωση του εγγράφου απέτυχε", - "Close" : "Κλείσιμο", - "Edit" : "Επεξεργασία", + "Select file or folder to link to" : "Επιλέξτε αρχείο ή φάκελο για σύνδεση", + "{productName} is not configured" : "Το {productName} δεν έχει ρυθμιστεί", "Starting the built-in CODE server failed" : "Η εκκίνηση του ενσωματωμένου διακομιστή CODE απέτυχε", "Loading {filename} …" : "Φόρτωση {filename} …", "Failed to load {productName} - please try again later" : "Σφάλμα φόρτωσης {productName} - παρακαλώ δοκιμάστε ξανά αργότερα", - "{productName} is not configured" : "Το {productName} δεν έχει ρυθμιστεί", + "Document loading failed" : "Η φόρτωση του εγγράφου απέτυχε", + "Close" : "Κλείσιμο", + "Edit" : "Επεξεργασία", "Built-in CODE Server is starting up shortly, please wait." : "Ο ενσωματωμένος διακομιστής CODE ξεκινά σύντομα, παρακαλώ περιμένετε.", "Built-in CODE Server is restarting, please wait." : "Επανεκκίνηση ενσωματωμένου διακομιστή CODE , παρακαλώ περιμένετε.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Σφάλμα: Δεν είναι δυνατή η εύρεση του AppImage, εγκαταστήστε ξανά τον ενσωματωμένο διακομιστή Collabora Online.", @@ -150,12 +144,21 @@ OC.L10N.register( "Guest" : "Επισκέπτης", "Follow current editor" : "Ακολουθήστε τον τρέχοντα δημιουργό", "New file" : "Νέο αρχείο", - "Create" : "Δημιουργία", "Could not create file" : "Αδυναμία δημιουργίας αρχείου", - "Select template" : "Επιλογή προτύπου", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Αποθήκευση με σφάλμα: Το Collabora Online πρέπει να χρησιμοποιήσει το ίδιο πρωτόκολλο με την εγκατάσταση του διακομιστή.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Δεν ήταν δυνατή η σύνδεση με το διακομιστή Collabora Online. Αυτό μπορεί να οφείλεται σε ελλιπή ρύθμιση του διακομιστή ιστού σας. Για περισσότερες πληροφορίες, επισκεφθείτε:", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Το Collabora Online απαιτεί έναν ξεχωριστό διακομιστή που να λειτουργεί ως WOPI client για να παρέχει δυνατότητες επεξεργασίας.", + "Secure view settings" : "Ασφαλείς ρυθμίσεις προβολής", + "Secure view enables you to secure documents by embedding a watermark" : "Η ασφαλής προβολή σάς επιτρέπει να ασφαλίζετε έγγραφα, ενσωματώνοντας ένα υδατογράφημα", + "Enable watermarking" : "Ενεργοποίηση υδατογραφήματος", + "Show watermark on tagged files" : "Εμφάνιση υδατογραφήματος σε αρχεία με ετικέτα", + "Show watermark for users of groups" : "Εμφάνιση υδατογραφήματος για χρήστες ή ομάδες", + "Show watermark for all shares" : "Εμφάνιση υδατογραφήματος για όλους τους χρήστες", + "Show watermark for read only shares" : "Εμφάνιση υδατογραφήματος μόνο για κοινόχρηστα μόνο για ανάγνωση", + "Show watermark for all link shares" : "Εμφάνιση υδατογραφήματος για όλους τους κοινόχρηστους συνδέσμους", + "Show watermark for download hidden shares" : "Εμφάνιση υδατογραφήματος για κρυφά κοινόχρηστα", + "Show watermark for read only link shares" : "Εμφάνιση υδατογραφήματος για κοινόχρηστους συνδέσμους μόνο για ανάγνωση", + "Show watermark on link shares with specific system tags" : "Εμφάνιση υδατογραφήματος κοινόχρηστους συνδέσμους με συγκεκριμένες ετικέτες", "Error" : "Σφάλμα", "An error occurred" : "Παρουσιάστηκε σφάλμα", "Please choose your nickname to continue as guest user." : "Παρακαλώ διάλεξε το ψευδώνυμό σου ώστε να συνεχίσεις ως επισκέπτης.", diff --git a/l10n/el.json b/l10n/el.json index 1b9c9d528f..89b9e88dfc 100644 --- a/l10n/el.json +++ b/l10n/el.json @@ -32,12 +32,15 @@ "Headings" : "Επικεφαλίδες", "Images" : "Εικόνες", "Office" : "Office", + "Instructions" : "Οδηγίες", "Empty" : "Κενό", "Anonymous guest" : "Ανώνυμος επισκέπτης", "%s (Guest)" : "%s (Επισκέπτης)", "Edit office documents directly in your browser." : "Επεξεργασία εγγράφων απευθείας στον φυλλομετρητή σας.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Η εφαρμογή μπορεί να συνδεθεί σε ένα διακομιστή Collabora Online (ή άλλο) (πελάτης τύπου WOPI). Το Nextcloud είναι ο πελάτης WOPI. Διαβάστε την τεκμηρίωση για να μάθετε περισσότερα σχετικά.\n\nΜπορείτε επίσης να επεξεργαστείτε τα έγγραφά σας εκτός σύνδεσης με την εφαρμογή Collabora Office από το ** [Android] (https://play.google.com/store/apps/details?id=com.collabora.libreoffice) ** και * * [iOS] (https://apps.apple.com/us/app/collabora-office/id1440482071) ** αγορά.", "New" : "Νέα", + "Contact {0} to get an own installation." : "Επικοινωνήστε με {0} για λήψη δικής σας εγκατάστασης.", + "Failed to save settings" : "Αποτυχία αποθήκευσης ρυθμίσεων", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Το Nextcloud Office είναι μια ισχυρή διαδικτυακή σουίτα γραφείου που βασίζεται στο Collabora Online με συλλογική επεξεργασία, η οποία υποστηρίζει όλα τα κύρια έγγραφα, τις μορφές αρχείων υπολογιστικών φύλλων και παρουσιάσεων και λειτουργεί σε όλα τα σύγχρονα προγράμματα περιήγησης.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Το Collabora Online είναι μια σουίτα εφαρμογών γραφείου βασισμένο στο LibreOffice με δυνατότητα συνεργατικής επεξεργασίας, η οποία υποστηρίζει όλα τα σημαντικά έγγραφα, υπολογιστικά φύλλα και αρχείων παρουσίασης και συνεργάζεται με όλα τα σύγχρονα προγράμματα περιήγησης.", "Could not establish connection to the Collabora Online server." : "Αδυναμία σύνδεσης με τον διακομιστή Collabora Online.", @@ -88,44 +91,35 @@ "Enable access for external apps" : "Ενεργοποίηση πρόσβασης για εξωτερικές εφαρμογές", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Λίστα IP διευθύνσεων IPV4 και IPV6 και υποδικτύων που επιτρέπεται να εκτελούν αιτήματα των WOPI endpoints. Εάν δεν έχει καθοριστεί λίστα επιτρεπόμενων, θα επιτραπούν όλοι οι κεντρικοί υπολογιστές. Π.χ. 10.0.0.20,10.0.4.0/24", "Available fonts" : "Διαθέσιμες γραμματοσειρές", - "Secure view settings" : "Ασφαλείς ρυθμίσεις προβολής", - "Secure view enables you to secure documents by embedding a watermark" : "Η ασφαλής προβολή σάς επιτρέπει να ασφαλίζετε έγγραφα, ενσωματώνοντας ένα υδατογράφημα", - "Enable watermarking" : "Ενεργοποίηση υδατογραφήματος", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Υποστηριζόμενα σύμβολα κράτησης θέσης: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Εμφάνιση υδατογραφήματος σε αρχεία με ετικέτα", "Select tags to enforce watermarking" : "Επιλέξτε ετικέτες για υποχρεωτικό υδατογράφημα", - "Show watermark for users of groups" : "Εμφάνιση υδατογραφήματος για χρήστες ή ομάδες", - "Show watermark for all shares" : "Εμφάνιση υδατογραφήματος για όλους τους χρήστες", - "Show watermark for read only shares" : "Εμφάνιση υδατογραφήματος μόνο για κοινόχρηστα μόνο για ανάγνωση", - "Show watermark for all link shares" : "Εμφάνιση υδατογραφήματος για όλους τους κοινόχρηστους συνδέσμους", - "Show watermark for download hidden shares" : "Εμφάνιση υδατογραφήματος για κρυφά κοινόχρηστα", - "Show watermark for read only link shares" : "Εμφάνιση υδατογραφήματος για κοινόχρηστους συνδέσμους μόνο για ανάγνωση", - "Show watermark on link shares with specific system tags" : "Εμφάνιση υδατογραφήματος κοινόχρηστους συνδέσμους με συγκεκριμένες ετικέτες", - "Contact {0} to get an own installation." : "Επικοινωνήστε με {0} για λήψη δικής σας εγκατάστασης.", - "Failed to save settings" : "Αποτυχία αποθήκευσης ρυθμίσεων", "Save" : "Αποθήκευση", "Remove" : "Αφαίρεση", "Confirm" : "Επιβεβαίωση", "Cancel" : "Ακύρωση", - "Save as" : "Αποθήκευση ως", "Save As" : "Αποθήκευση ως", + "Save as" : "Αποθήκευση ως", + "Invalid file name" : "Μη έγκυρο όνομα αρχείου", + "Select template" : "Επιλογή προτύπου", + "File name" : "Όνομα αρχείου", + "Create" : "Δημιουργία", "Submit" : "Υποβολή", - "Select a template directory" : "Επιλέξτε κατάλογο προτύπων", "Select a personal template folder" : "Επιλέξτε έναν φάκελο προσωπικών προτύπων", + "Select a template directory" : "Επιλέξτε κατάλογο προτύπων", "Remove personal template folder" : "Κατάργηση προσωπικού φακέλου προτύπων", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Τα πρότυπα σε αυτό τον κατάλογο θα συμπεριληφθούν στην επιλογή προτύπων Nextcloud Office.", "Description" : "Περιγραφή", "Add new token" : "Προσθήκη νέου token", "No results" : "Κανένα αποτέλεσμα", - "Select file or folder to link to" : "Επιλέξτε αρχείο ή φάκελο για σύνδεση", "Select file" : "Επιλέξτε Αρχείο", - "Document loading failed" : "Η φόρτωση του εγγράφου απέτυχε", - "Close" : "Κλείσιμο", - "Edit" : "Επεξεργασία", + "Select file or folder to link to" : "Επιλέξτε αρχείο ή φάκελο για σύνδεση", + "{productName} is not configured" : "Το {productName} δεν έχει ρυθμιστεί", "Starting the built-in CODE server failed" : "Η εκκίνηση του ενσωματωμένου διακομιστή CODE απέτυχε", "Loading {filename} …" : "Φόρτωση {filename} …", "Failed to load {productName} - please try again later" : "Σφάλμα φόρτωσης {productName} - παρακαλώ δοκιμάστε ξανά αργότερα", - "{productName} is not configured" : "Το {productName} δεν έχει ρυθμιστεί", + "Document loading failed" : "Η φόρτωση του εγγράφου απέτυχε", + "Close" : "Κλείσιμο", + "Edit" : "Επεξεργασία", "Built-in CODE Server is starting up shortly, please wait." : "Ο ενσωματωμένος διακομιστής CODE ξεκινά σύντομα, παρακαλώ περιμένετε.", "Built-in CODE Server is restarting, please wait." : "Επανεκκίνηση ενσωματωμένου διακομιστή CODE , παρακαλώ περιμένετε.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Σφάλμα: Δεν είναι δυνατή η εύρεση του AppImage, εγκαταστήστε ξανά τον ενσωματωμένο διακομιστή Collabora Online.", @@ -148,12 +142,21 @@ "Guest" : "Επισκέπτης", "Follow current editor" : "Ακολουθήστε τον τρέχοντα δημιουργό", "New file" : "Νέο αρχείο", - "Create" : "Δημιουργία", "Could not create file" : "Αδυναμία δημιουργίας αρχείου", - "Select template" : "Επιλογή προτύπου", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Αποθήκευση με σφάλμα: Το Collabora Online πρέπει να χρησιμοποιήσει το ίδιο πρωτόκολλο με την εγκατάσταση του διακομιστή.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Δεν ήταν δυνατή η σύνδεση με το διακομιστή Collabora Online. Αυτό μπορεί να οφείλεται σε ελλιπή ρύθμιση του διακομιστή ιστού σας. Για περισσότερες πληροφορίες, επισκεφθείτε:", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Το Collabora Online απαιτεί έναν ξεχωριστό διακομιστή που να λειτουργεί ως WOPI client για να παρέχει δυνατότητες επεξεργασίας.", + "Secure view settings" : "Ασφαλείς ρυθμίσεις προβολής", + "Secure view enables you to secure documents by embedding a watermark" : "Η ασφαλής προβολή σάς επιτρέπει να ασφαλίζετε έγγραφα, ενσωματώνοντας ένα υδατογράφημα", + "Enable watermarking" : "Ενεργοποίηση υδατογραφήματος", + "Show watermark on tagged files" : "Εμφάνιση υδατογραφήματος σε αρχεία με ετικέτα", + "Show watermark for users of groups" : "Εμφάνιση υδατογραφήματος για χρήστες ή ομάδες", + "Show watermark for all shares" : "Εμφάνιση υδατογραφήματος για όλους τους χρήστες", + "Show watermark for read only shares" : "Εμφάνιση υδατογραφήματος μόνο για κοινόχρηστα μόνο για ανάγνωση", + "Show watermark for all link shares" : "Εμφάνιση υδατογραφήματος για όλους τους κοινόχρηστους συνδέσμους", + "Show watermark for download hidden shares" : "Εμφάνιση υδατογραφήματος για κρυφά κοινόχρηστα", + "Show watermark for read only link shares" : "Εμφάνιση υδατογραφήματος για κοινόχρηστους συνδέσμους μόνο για ανάγνωση", + "Show watermark on link shares with specific system tags" : "Εμφάνιση υδατογραφήματος κοινόχρηστους συνδέσμους με συγκεκριμένες ετικέτες", "Error" : "Σφάλμα", "An error occurred" : "Παρουσιάστηκε σφάλμα", "Please choose your nickname to continue as guest user." : "Παρακαλώ διάλεξε το ψευδώνυμό σου ώστε να συνεχίσεις ως επισκέπτης.", diff --git a/l10n/en_GB.js b/l10n/en_GB.js index 6232ca7ba2..b981dbc80c 100644 --- a/l10n/en_GB.js +++ b/l10n/en_GB.js @@ -28,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "Only template files can be uploaded", "Invalid file provided" : "Invalid file provided", "Template not found" : "Template not found", + "Unable to determine the proper file extension for %1$s" : "Unable to determine the proper file extension for %1$s", + "Unable to fetch information on %1$s" : "Unable to fetch information on %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Image (.png)", + "Image (.svg)" : "Image (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Word Document (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument Text (.odt)", + "Excel Workbook (.xlsx)" : "Excel Workbook (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument Spreadsheet (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint Presentation (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument Presentation (.odp)", "New document" : "New document", "New spreadsheet" : "New spreadsheet", "New presentation" : "New presentation", @@ -41,17 +54,46 @@ OC.L10N.register( "Sheets" : "Sheets", "Slides" : "Slides", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud Assistant Slide Deck Generator", + "Generate Slide Deck" : "Generate Slide Deck", + "Generate a slide deck from a presentation script" : "Generate a slide deck from a presentation script", + "Presentation script" : "Presentation script", + "Write the text for your presentation here" : "Write the text for your presentation here", + "Generated slide deck" : "Generated slide deck", + "The slide deck generated" : "The slide deck generated", + "Nextcloud Office text document generator" : "Nextcloud Office text document generator", + "Document format" : "Document format", + "The format of the generated document" : "The format of the generated document", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "Generate Office text document", + "Generate an Office text document from a prompt" : "Generate an Office text document from a prompt", + "Instructions" : "Instructions", + "Describe the document you want the assistant to generate" : "Describe the document you want the assistant to generate", + "Generated Office document" : "Generated Office document", + "The Office document that was generated from the description" : "The Office document that was generated from the description", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office spreadsheet generator", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Generate Office spreadsheet document", + "Generate an Office spreadsheet document from a prompt" : "Generate an Office spreadsheet document from a prompt", "Empty" : "Empty", "Anonymous guest" : "Anonymous guest", "%s (Guest)" : "%s (Guest)", "Edit office documents directly in your browser." : "Edit office documents directly in your browser.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", - "Global Templates" : "Global Templates", - "New" : "New", + "Accepted file types: {accepts}" : "Accepted file types: {accepts}", "Uploaded template \"{name}\"" : "Uploaded template \"{name}\"", "Template \"{name}\" already exists" : "Template \"{name}\" already exists", "Unable to delete template" : "Unable to delete template", "Deleted template" : "Deleted template", + "Global Templates" : "Global Templates", + "New" : "New", + "Contact {0} to get an own installation." : "Contact {0} to get an own installation.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config.", + "Failed to save settings" : "Failed to save settings", + "Font format not supported ({mime})" : "Font format not supported ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.", "Could not establish connection to the Collabora Online server." : "Could not establish connection to the Collabora Online server.", @@ -109,59 +151,66 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolised webroot if this instance is accessed by both shibbolised and non-shibbolised webroots. You can ignore this setting if only one webroot is used to access this instance.", "Enable access for external apps" : "Enable access for external apps", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Extra fonts", - "Upload extra font file" : "Upload extra font file", + "Custom Fonts" : "Custom Fonts", + "Upload font file" : "Upload font file", "Upload a font file" : "Upload a font file", "Available fonts" : "Available fonts", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation.", "Custom fonts documentation" : "Custom fonts documentation", - "Secure view settings" : "Secure view settings", - "Secure view enables you to secure documents by embedding a watermark" : "Secure view enables you to secure documents by embedding a watermark", + "Secure View" : "Secure View", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "The settings only apply to compatible office files that are opened in Nextcloud Office", + "Downloading the file through WebDAV will be blocked" : "Downloading the file through WebDAV will be blocked", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", - "Enable watermarking" : "Enable watermarking", + "Previews will be blocked" : "Previews will be blocked", + "Enable secure view" : "Enable secure view", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Show watermark on tagged files", + "Enforce secure view on tagged files" : "Enforce secure view on tagged files", "Select tags to enforce watermarking" : "Select tags to enforce watermarking", - "Show watermark for users of groups" : "Show watermark for users of groups", - "Show watermark for all shares" : "Show watermark for all shares", - "Show watermark for read only shares" : "Show watermark for read only shares", - "Show watermark for shares without download permission" : "Show watermark for shares without download permission", - "Show watermark for all link shares" : "Show watermark for all link shares", - "Show watermark for download hidden shares" : "Show watermark for download hidden shares", - "Show watermark for read only link shares" : "Show watermark for read only link shares", - "Show watermark on link shares with specific system tags" : "Show watermark on link shares with specific system tags", - "Electronic signature settings" : "Electronic signature settings", + "Enforce secure view for users of groups" : "Enforce secure view for users of groups", + "Enforce secure view for all shares" : "Enforce secure view for all shares", + "Enforce secure view for read only shares" : "Enforce secure view for read only shares", + "Enforce secure view for all public Talk shares" : "Enforce secure view for all public Talk shares", + "Enforce secure view for shares without download permission" : "Enforce secure view for shares without download permission", + "Enforce secure view for all link shares" : "Enforce secure view for all link shares", + "Enforce secure view for download hidden shares" : "Enforce secure view for download hidden shares", + "Enforce secure view for read only link shares" : "Enforce secure view for read only link shares", + "Enforce secure view on link shares with specific system tags" : "Enforce secure view on link shares with specific system tags", + "Select tags to enforce secure view" : "Select tags to enforce secure view", + "Electronic Signature" : "Electronic Signature", "Client ID for the electronic signature API" : "Client ID for the electronic signature API", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret.", "Secret for the electronic signature API" : "Secret for the electronic signature API", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured.", - "Contact {0} to get an own installation." : "Contact {0} to get an own installation.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config.", - "Failed to save settings" : "Failed to save settings", - "Font format not supported ({mime})" : "Font format not supported ({mime})", "Save" : "Save", "Remove" : "Remove", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used.", "Guest name" : "Guest name", "Submit name" : "Submit name", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used.", "Confirm" : "Confirm", "Cancel" : "Cancel", + "Save As" : "Save As", "Save as" : "Save as", "Path to save" : "Path to save", - "Save As" : "Save As", + "Invalid file name" : "Invalid file name", + "File name already exists" : "File name already exists", + "Select template" : "Select template", + "File name" : "File name", + "Create" : "Create", + "Failed to set Zotero API key" : "Failed to set Zotero API key", "Link to your Zotero library" : "Link to your Zotero library", "Connect your Zotero account to make use of references within Office." : "Connect your Zotero account to make use of references within Office.", "You can generate an account key here:" : "You can generate an account key here:", "Zotero account settings" : "Zotero account settings", "Zotero API key" : "Zotero API key", "Submit" : "Submit", - "Failed to set Zotero API key" : "Failed to set Zotero API key", - "Select a template directory" : "Select a template directory", "Select a personal template folder" : "Select a personal template folder", + "Settings saved successfully." : "Settings saved successfully.", + "Failed to save settings." : "Failed to save settings.", + "Unexpected error occurred." : "Unexpected error occurred.", + "Personal Settings for Nextcloud Office" : "Personal Settings for Nextcloud Office", + "Select a template directory" : "Select a template directory", "Remove personal template folder" : "Remove personal template folder", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Templates inside of this directory will be added to the template selector of Nextcloud Office.", "Zotero" : "Zotero", @@ -181,22 +230,22 @@ OC.L10N.register( "No font overview" : "No font overview", "Delete this font" : "Delete this font", "No results" : "No results", + "Select file" : "Select file", "Select file or folder to link to" : "Select file or folder to link to", "Could not find any section in the document" : "Could not find any section in the document", - "Select file" : "Select file", + "{productName} is not configured" : "{productName} is not configured", + "Starting the built-in CODE server failed" : "Starting the built-in CODE server failed", + "Loading {filename} …" : "Loading {filename} …", + "Failed to load {productName} - please try again later" : "Failed to load {productName} - please try again later", + "Open in local editor" : "Open in local editor", + "Cluster is scaling …" : "Cluster is scaling …", + "The collaborative editing was terminated by another user" : "The collaborative editing was terminated by another user", "Document loading failed" : "Document loading failed", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator.", "More information can be found in the reverse proxy documentation" : "More information can be found in the reverse proxy documentation", "Close" : "Close", "Edit" : "Edit", - "Starting the built-in CODE server failed" : "Starting the built-in CODE server failed", - "Loading {filename} …" : "Loading {filename} …", - "Open in local editor" : "Open in local editor", - "Cluster is scaling …" : "Cluster is scaling …", - "The collaborative editing was terminated by another user" : "The collaborative editing was terminated by another user", - "Failed to load {productName} - please try again later" : "Failed to load {productName} - please try again later", - "{productName} is not configured" : "{productName} is not configured", "Built-in CODE Server is starting up shortly, please wait." : "Built-in CODE Server is starting up shortly, please wait.", "Built-in CODE Server is restarting, please wait." : "Built-in CODE Server is restarting, please wait.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server.", @@ -230,15 +279,24 @@ OC.L10N.register( "Follow current editor" : "Follow current editor", "New file" : "New file", "Please enter the filename for the new file" : "Please enter the filename for the new file", - "Create" : "Create", - "New drawing" : "New drawing", "Could not create file" : "Could not create file", - "Select template" : "Select template", + "Could not load templates" : "Could not load templates", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Saved with error: Collabora Online should use the same protocol as the server installation.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents.", + "Secure view settings" : "Secure view settings", + "Secure view enables you to secure documents by embedding a watermark" : "Secure view enables you to secure documents by embedding a watermark", + "Enable watermarking" : "Enable watermarking", + "Show watermark on tagged files" : "Show watermark on tagged files", + "Show watermark for users of groups" : "Show watermark for users of groups", + "Show watermark for all shares" : "Show watermark for all shares", + "Show watermark for read only shares" : "Show watermark for read only shares", + "Show watermark for all link shares" : "Show watermark for all link shares", + "Show watermark for download hidden shares" : "Show watermark for download hidden shares", + "Show watermark for read only link shares" : "Show watermark for read only link shares", + "Show watermark on link shares with specific system tags" : "Show watermark on link shares with specific system tags", "Error" : "Error", "An error occurred" : "An error occurred", "Please choose your nickname to continue as guest user." : "Please choose your nickname to continue as guest user.", @@ -246,6 +304,8 @@ OC.L10N.register( "Set" : "Set", "Please enter the filename to store the document as." : "Please enter the filename to store the document as.", "New filename" : "New filename", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online is not setup yet. Please contact your administrator.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Opening the file is not supported, since the credentials for the external storage are not available without a session", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Failed to connect to {productName}. Please try again later or contact your server administrator.", "Saving…" : "Saving…", "Insert from {name}" : "Insert from {name}", @@ -259,6 +319,10 @@ OC.L10N.register( "No templates defined." : "No templates defined.", "Add a new one?" : "Add a new one?", "template preview" : "template preview", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", + "Show watermark for shares without download permission" : "Show watermark for shares without download permission", + "New drawing" : "New drawing", "Collabora Online" : "Collabora Online", "Document already exists" : "Document already exists", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it.", diff --git a/l10n/en_GB.json b/l10n/en_GB.json index a8c47f6cce..248a1f0580 100644 --- a/l10n/en_GB.json +++ b/l10n/en_GB.json @@ -26,6 +26,19 @@ "Only template files can be uploaded" : "Only template files can be uploaded", "Invalid file provided" : "Invalid file provided", "Template not found" : "Template not found", + "Unable to determine the proper file extension for %1$s" : "Unable to determine the proper file extension for %1$s", + "Unable to fetch information on %1$s" : "Unable to fetch information on %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Image (.png)", + "Image (.svg)" : "Image (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Word Document (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument Text (.odt)", + "Excel Workbook (.xlsx)" : "Excel Workbook (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument Spreadsheet (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint Presentation (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument Presentation (.odp)", "New document" : "New document", "New spreadsheet" : "New spreadsheet", "New presentation" : "New presentation", @@ -39,17 +52,46 @@ "Sheets" : "Sheets", "Slides" : "Slides", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud Assistant Slide Deck Generator", + "Generate Slide Deck" : "Generate Slide Deck", + "Generate a slide deck from a presentation script" : "Generate a slide deck from a presentation script", + "Presentation script" : "Presentation script", + "Write the text for your presentation here" : "Write the text for your presentation here", + "Generated slide deck" : "Generated slide deck", + "The slide deck generated" : "The slide deck generated", + "Nextcloud Office text document generator" : "Nextcloud Office text document generator", + "Document format" : "Document format", + "The format of the generated document" : "The format of the generated document", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "Generate Office text document", + "Generate an Office text document from a prompt" : "Generate an Office text document from a prompt", + "Instructions" : "Instructions", + "Describe the document you want the assistant to generate" : "Describe the document you want the assistant to generate", + "Generated Office document" : "Generated Office document", + "The Office document that was generated from the description" : "The Office document that was generated from the description", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office spreadsheet generator", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Generate Office spreadsheet document", + "Generate an Office spreadsheet document from a prompt" : "Generate an Office spreadsheet document from a prompt", "Empty" : "Empty", "Anonymous guest" : "Anonymous guest", "%s (Guest)" : "%s (Guest)", "Edit office documents directly in your browser." : "Edit office documents directly in your browser.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", - "Global Templates" : "Global Templates", - "New" : "New", + "Accepted file types: {accepts}" : "Accepted file types: {accepts}", "Uploaded template \"{name}\"" : "Uploaded template \"{name}\"", "Template \"{name}\" already exists" : "Template \"{name}\" already exists", "Unable to delete template" : "Unable to delete template", "Deleted template" : "Deleted template", + "Global Templates" : "Global Templates", + "New" : "New", + "Contact {0} to get an own installation." : "Contact {0} to get an own installation.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config.", + "Failed to save settings" : "Failed to save settings", + "Font format not supported ({mime})" : "Font format not supported ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.", "Could not establish connection to the Collabora Online server." : "Could not establish connection to the Collabora Online server.", @@ -107,59 +149,66 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolised webroot if this instance is accessed by both shibbolised and non-shibbolised webroots. You can ignore this setting if only one webroot is used to access this instance.", "Enable access for external apps" : "Enable access for external apps", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Extra fonts", - "Upload extra font file" : "Upload extra font file", + "Custom Fonts" : "Custom Fonts", + "Upload font file" : "Upload font file", "Upload a font file" : "Upload a font file", "Available fonts" : "Available fonts", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation.", "Custom fonts documentation" : "Custom fonts documentation", - "Secure view settings" : "Secure view settings", - "Secure view enables you to secure documents by embedding a watermark" : "Secure view enables you to secure documents by embedding a watermark", + "Secure View" : "Secure View", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "The settings only apply to compatible office files that are opened in Nextcloud Office", + "Downloading the file through WebDAV will be blocked" : "Downloading the file through WebDAV will be blocked", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", - "Enable watermarking" : "Enable watermarking", + "Previews will be blocked" : "Previews will be blocked", + "Enable secure view" : "Enable secure view", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Show watermark on tagged files", + "Enforce secure view on tagged files" : "Enforce secure view on tagged files", "Select tags to enforce watermarking" : "Select tags to enforce watermarking", - "Show watermark for users of groups" : "Show watermark for users of groups", - "Show watermark for all shares" : "Show watermark for all shares", - "Show watermark for read only shares" : "Show watermark for read only shares", - "Show watermark for shares without download permission" : "Show watermark for shares without download permission", - "Show watermark for all link shares" : "Show watermark for all link shares", - "Show watermark for download hidden shares" : "Show watermark for download hidden shares", - "Show watermark for read only link shares" : "Show watermark for read only link shares", - "Show watermark on link shares with specific system tags" : "Show watermark on link shares with specific system tags", - "Electronic signature settings" : "Electronic signature settings", + "Enforce secure view for users of groups" : "Enforce secure view for users of groups", + "Enforce secure view for all shares" : "Enforce secure view for all shares", + "Enforce secure view for read only shares" : "Enforce secure view for read only shares", + "Enforce secure view for all public Talk shares" : "Enforce secure view for all public Talk shares", + "Enforce secure view for shares without download permission" : "Enforce secure view for shares without download permission", + "Enforce secure view for all link shares" : "Enforce secure view for all link shares", + "Enforce secure view for download hidden shares" : "Enforce secure view for download hidden shares", + "Enforce secure view for read only link shares" : "Enforce secure view for read only link shares", + "Enforce secure view on link shares with specific system tags" : "Enforce secure view on link shares with specific system tags", + "Select tags to enforce secure view" : "Select tags to enforce secure view", + "Electronic Signature" : "Electronic Signature", "Client ID for the electronic signature API" : "Client ID for the electronic signature API", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret.", "Secret for the electronic signature API" : "Secret for the electronic signature API", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured.", - "Contact {0} to get an own installation." : "Contact {0} to get an own installation.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config.", - "Failed to save settings" : "Failed to save settings", - "Font format not supported ({mime})" : "Font format not supported ({mime})", "Save" : "Save", "Remove" : "Remove", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used.", "Guest name" : "Guest name", "Submit name" : "Submit name", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used.", "Confirm" : "Confirm", "Cancel" : "Cancel", + "Save As" : "Save As", "Save as" : "Save as", "Path to save" : "Path to save", - "Save As" : "Save As", + "Invalid file name" : "Invalid file name", + "File name already exists" : "File name already exists", + "Select template" : "Select template", + "File name" : "File name", + "Create" : "Create", + "Failed to set Zotero API key" : "Failed to set Zotero API key", "Link to your Zotero library" : "Link to your Zotero library", "Connect your Zotero account to make use of references within Office." : "Connect your Zotero account to make use of references within Office.", "You can generate an account key here:" : "You can generate an account key here:", "Zotero account settings" : "Zotero account settings", "Zotero API key" : "Zotero API key", "Submit" : "Submit", - "Failed to set Zotero API key" : "Failed to set Zotero API key", - "Select a template directory" : "Select a template directory", "Select a personal template folder" : "Select a personal template folder", + "Settings saved successfully." : "Settings saved successfully.", + "Failed to save settings." : "Failed to save settings.", + "Unexpected error occurred." : "Unexpected error occurred.", + "Personal Settings for Nextcloud Office" : "Personal Settings for Nextcloud Office", + "Select a template directory" : "Select a template directory", "Remove personal template folder" : "Remove personal template folder", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Templates inside of this directory will be added to the template selector of Nextcloud Office.", "Zotero" : "Zotero", @@ -179,22 +228,22 @@ "No font overview" : "No font overview", "Delete this font" : "Delete this font", "No results" : "No results", + "Select file" : "Select file", "Select file or folder to link to" : "Select file or folder to link to", "Could not find any section in the document" : "Could not find any section in the document", - "Select file" : "Select file", + "{productName} is not configured" : "{productName} is not configured", + "Starting the built-in CODE server failed" : "Starting the built-in CODE server failed", + "Loading {filename} …" : "Loading {filename} …", + "Failed to load {productName} - please try again later" : "Failed to load {productName} - please try again later", + "Open in local editor" : "Open in local editor", + "Cluster is scaling …" : "Cluster is scaling …", + "The collaborative editing was terminated by another user" : "The collaborative editing was terminated by another user", "Document loading failed" : "Document loading failed", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator.", "More information can be found in the reverse proxy documentation" : "More information can be found in the reverse proxy documentation", "Close" : "Close", "Edit" : "Edit", - "Starting the built-in CODE server failed" : "Starting the built-in CODE server failed", - "Loading {filename} …" : "Loading {filename} …", - "Open in local editor" : "Open in local editor", - "Cluster is scaling …" : "Cluster is scaling …", - "The collaborative editing was terminated by another user" : "The collaborative editing was terminated by another user", - "Failed to load {productName} - please try again later" : "Failed to load {productName} - please try again later", - "{productName} is not configured" : "{productName} is not configured", "Built-in CODE Server is starting up shortly, please wait." : "Built-in CODE Server is starting up shortly, please wait.", "Built-in CODE Server is restarting, please wait." : "Built-in CODE Server is restarting, please wait.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server.", @@ -228,15 +277,24 @@ "Follow current editor" : "Follow current editor", "New file" : "New file", "Please enter the filename for the new file" : "Please enter the filename for the new file", - "Create" : "Create", - "New drawing" : "New drawing", "Could not create file" : "Could not create file", - "Select template" : "Select template", + "Could not load templates" : "Could not load templates", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Saved with error: Collabora Online should use the same protocol as the server installation.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents.", + "Secure view settings" : "Secure view settings", + "Secure view enables you to secure documents by embedding a watermark" : "Secure view enables you to secure documents by embedding a watermark", + "Enable watermarking" : "Enable watermarking", + "Show watermark on tagged files" : "Show watermark on tagged files", + "Show watermark for users of groups" : "Show watermark for users of groups", + "Show watermark for all shares" : "Show watermark for all shares", + "Show watermark for read only shares" : "Show watermark for read only shares", + "Show watermark for all link shares" : "Show watermark for all link shares", + "Show watermark for download hidden shares" : "Show watermark for download hidden shares", + "Show watermark for read only link shares" : "Show watermark for read only link shares", + "Show watermark on link shares with specific system tags" : "Show watermark on link shares with specific system tags", "Error" : "Error", "An error occurred" : "An error occurred", "Please choose your nickname to continue as guest user." : "Please choose your nickname to continue as guest user.", @@ -244,6 +302,8 @@ "Set" : "Set", "Please enter the filename to store the document as." : "Please enter the filename to store the document as.", "New filename" : "New filename", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online is not setup yet. Please contact your administrator.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Opening the file is not supported, since the credentials for the external storage are not available without a session", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Failed to connect to {productName}. Please try again later or contact your server administrator.", "Saving…" : "Saving…", "Insert from {name}" : "Insert from {name}", @@ -257,6 +317,10 @@ "No templates defined." : "No templates defined.", "Add a new one?" : "Add a new one?", "template preview" : "template preview", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", + "Show watermark for shares without download permission" : "Show watermark for shares without download permission", + "New drawing" : "New drawing", "Collabora Online" : "Collabora Online", "Document already exists" : "Document already exists", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it.", diff --git a/l10n/eo.js b/l10n/eo.js index 985a8553c6..77df0c268e 100644 --- a/l10n/eo.js +++ b/l10n/eo.js @@ -33,6 +33,7 @@ OC.L10N.register( "%s (Guest)" : "%s (gasto)", "Edit office documents directly in your browser." : "Redaktu oficejajn dokumentojn senpere en via retumilo.", "New" : "Nova", + "Failed to save settings" : "Konservo de agordoj malsukcesis", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online estas reta oficeja programaro, bazita sur LibreOffice, kiu subtenas kunlaboran redakton, ĉiujn ĉefajn dosiertipojn de dokumentoj, kalkultabeloj kaj lumbildaj prezentoj. Ĝi funkcias kun ĉiuj nunaj retumiloj.", "URL (and Port) of Collabora Online-server" : "Retadreso (kaj pordo) de „Collabora Online“-servilo", "Disable certificate verification (insecure)" : "Ne kontroli atestilon (nesekura)", @@ -45,21 +46,22 @@ OC.L10N.register( "Use Canonical webroot" : "Uzi normigitan retservilan radikon", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Normigitan retservila radiko, se estas pluraj, por uzi kun Collabora. Entajpu tiun, kiu havas malplejajn limigojn. Ekzemple: uzu la neŝiboletigan retservilan radikon, se tiun servilon oni atingas kaj per ŝiboletiga kaj per neŝiboletiga retservila radiko (Ŝiboleto estas servo de ununura ensaluto). Vi povas ignori tiun agordon, se estas nur unu retservila radiko en tiu ĉi servilo.", "Enable access for external apps" : "Ebligi aliron el eksteraj aplikaĵoj", - "Secure view enables you to secure documents by embedding a watermark" : "Sekuriga vido ebligas sekurigi dokumenton per enkorpigo de filigrano", - "Failed to save settings" : "Konservo de agordoj malsukcesis", "Save" : "Konservi", "Confirm" : "Konfirmi", "Cancel" : "Nuligi", "Save As" : "Konservi kiel", + "Select template" : "Elekti ŝablonon", + "File name" : "Dosiernomo", + "Create" : "Krei", "Submit" : "Sendi", - "Select a template directory" : "Elekti ŝablonan dosierujon", "Select a personal template folder" : "Elektu dosierujon de personaj ŝablonoj", + "Select a template directory" : "Elekti ŝablonan dosierujon", "Remove personal template folder" : "Forigi dosierujon de personaj ŝablonoj", "Description" : "Priskribo", "No results" : "Neniu rezulto", + "Failed to load {productName} - please try again later" : "Malsukceso ŝargi „{productName}“ — bv. reprovi poste", "Close" : "Malfermi", "Edit" : "Modifi", - "Failed to load {productName} - please try again later" : "Malsukceso ŝargi „{productName}“ — bv. reprovi poste", "Close version preview" : "Malfermi antaŭrigardon", "Edit with {productName}" : "Modifi per {productName}", "Failed to revert the document to older version" : "Ne eblis revenigi la dokumenton al antaŭa versio", @@ -70,11 +72,10 @@ OC.L10N.register( "(read only)" : "(nurlega)", "Guest" : "Gasto", "Follow current editor" : "Sekvi la aktualan redaktanton", - "Create" : "Krei", "Could not create file" : "Ne eblis krei dosieron", - "Select template" : "Elekti ŝablonon", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Konservita kun eraro: „Collabora Online“ devus uzi la saman protokolon kiel la servil-instalaĵo.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online bezonas apartan servilon, kiu estas „WOPI“-kliento provizanta redaktan eblecon.", + "Secure view enables you to secure documents by embedding a watermark" : "Sekuriga vido ebligas sekurigi dokumenton per enkorpigo de filigrano", "Error" : "Eraro", "An error occurred" : "Eraro okazis", "Please choose your nickname to continue as guest user." : "Bv. elekti vian kromnomon por daŭrigi kiel gasto.", diff --git a/l10n/eo.json b/l10n/eo.json index 60bb6b4099..3ff93eacf3 100644 --- a/l10n/eo.json +++ b/l10n/eo.json @@ -31,6 +31,7 @@ "%s (Guest)" : "%s (gasto)", "Edit office documents directly in your browser." : "Redaktu oficejajn dokumentojn senpere en via retumilo.", "New" : "Nova", + "Failed to save settings" : "Konservo de agordoj malsukcesis", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online estas reta oficeja programaro, bazita sur LibreOffice, kiu subtenas kunlaboran redakton, ĉiujn ĉefajn dosiertipojn de dokumentoj, kalkultabeloj kaj lumbildaj prezentoj. Ĝi funkcias kun ĉiuj nunaj retumiloj.", "URL (and Port) of Collabora Online-server" : "Retadreso (kaj pordo) de „Collabora Online“-servilo", "Disable certificate verification (insecure)" : "Ne kontroli atestilon (nesekura)", @@ -43,21 +44,22 @@ "Use Canonical webroot" : "Uzi normigitan retservilan radikon", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Normigitan retservila radiko, se estas pluraj, por uzi kun Collabora. Entajpu tiun, kiu havas malplejajn limigojn. Ekzemple: uzu la neŝiboletigan retservilan radikon, se tiun servilon oni atingas kaj per ŝiboletiga kaj per neŝiboletiga retservila radiko (Ŝiboleto estas servo de ununura ensaluto). Vi povas ignori tiun agordon, se estas nur unu retservila radiko en tiu ĉi servilo.", "Enable access for external apps" : "Ebligi aliron el eksteraj aplikaĵoj", - "Secure view enables you to secure documents by embedding a watermark" : "Sekuriga vido ebligas sekurigi dokumenton per enkorpigo de filigrano", - "Failed to save settings" : "Konservo de agordoj malsukcesis", "Save" : "Konservi", "Confirm" : "Konfirmi", "Cancel" : "Nuligi", "Save As" : "Konservi kiel", + "Select template" : "Elekti ŝablonon", + "File name" : "Dosiernomo", + "Create" : "Krei", "Submit" : "Sendi", - "Select a template directory" : "Elekti ŝablonan dosierujon", "Select a personal template folder" : "Elektu dosierujon de personaj ŝablonoj", + "Select a template directory" : "Elekti ŝablonan dosierujon", "Remove personal template folder" : "Forigi dosierujon de personaj ŝablonoj", "Description" : "Priskribo", "No results" : "Neniu rezulto", + "Failed to load {productName} - please try again later" : "Malsukceso ŝargi „{productName}“ — bv. reprovi poste", "Close" : "Malfermi", "Edit" : "Modifi", - "Failed to load {productName} - please try again later" : "Malsukceso ŝargi „{productName}“ — bv. reprovi poste", "Close version preview" : "Malfermi antaŭrigardon", "Edit with {productName}" : "Modifi per {productName}", "Failed to revert the document to older version" : "Ne eblis revenigi la dokumenton al antaŭa versio", @@ -68,11 +70,10 @@ "(read only)" : "(nurlega)", "Guest" : "Gasto", "Follow current editor" : "Sekvi la aktualan redaktanton", - "Create" : "Krei", "Could not create file" : "Ne eblis krei dosieron", - "Select template" : "Elekti ŝablonon", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Konservita kun eraro: „Collabora Online“ devus uzi la saman protokolon kiel la servil-instalaĵo.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online bezonas apartan servilon, kiu estas „WOPI“-kliento provizanta redaktan eblecon.", + "Secure view enables you to secure documents by embedding a watermark" : "Sekuriga vido ebligas sekurigi dokumenton per enkorpigo de filigrano", "Error" : "Eraro", "An error occurred" : "Eraro okazis", "Please choose your nickname to continue as guest user." : "Bv. elekti vian kromnomon por daŭrigi kiel gasto.", diff --git a/l10n/es.js b/l10n/es.js index 68579387f9..9fdba15926 100644 --- a/l10n/es.js +++ b/l10n/es.js @@ -1,6 +1,7 @@ OC.L10N.register( "richdocuments", { + "No files found for this task." : "No se han encontrado archivos para esta tarea.", "Cannot create document" : "No es posible crear el documento", "New Document.odt" : "Nuevo Documento.odt", "New Spreadsheet.ods" : "Nueva Hoja de cálculo.ods", @@ -27,10 +28,24 @@ OC.L10N.register( "Only template files can be uploaded" : "Solo se pueden subir plantillas de archivos", "Invalid file provided" : "Archivo proporcionado no válido", "Template not found" : "Plantilla no guardada", + "Unable to determine the proper file extension for %1$s" : "No ha sido posible encontrar la extensión de archivo apropiada para %1$s", + "Unable to fetch information on %1$s" : "No se ha podido obtener información de %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Imagen (.png)", + "Image (.svg)" : "Imagen (.svg)", + "Text (.rtf)" : "Texto (.rtf)", + "Text (.txt)" : "Texto (.txt)", + "Word Document (.docx)" : "Documento de Word (.docx)", + "OpenDocument Text (.odt)" : "Texto OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Hoja de Cálculo de Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Hoja de Cálculo OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Presentación PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Presentación OpenDocument (.odp)", "New document" : "Nuevo documento", "New spreadsheet" : "Nueva hoja de cálculo", "New presentation" : "Nueva presentación", "New diagram" : "Nuevo diagrama", + "{user} has mentioned you in {node}" : "{user} le ha mencionado en {node}", "Link to office document section" : "Enlazar a la sección de documentos de office", "Nextcloud Office" : "Nextcloud Office", "Headings" : "Cabeceras", @@ -39,12 +54,46 @@ OC.L10N.register( "Sheets" : "Hojas de cálculo", "Slides" : "Diapositivas", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Generador de grupo de diapositivas del Asistente Nextcloud", + "Generate Slide Deck" : "Generar grupo de diapositivas", + "Generate a slide deck from a presentation script" : "Generar un grupo de diapositivas desde un script de presentación", + "Presentation script" : "Script de presentación", + "Write the text for your presentation here" : "Escriba el texto para su presentación aquí", + "Generated slide deck" : "Grupo de diapositivas generado", + "The slide deck generated" : "El grupo de diapositivas generado", + "Nextcloud Office text document generator" : "Generador de documentos de texto de Nextcloud Office", + "Document format" : "Formato del documento", + "The format of the generated document" : "El formato del documento generado", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "Generar documento de texto de Office", + "Generate an Office text document from a prompt" : "Generar documento de texto de Office desde un prompt", + "Instructions" : "Instrucciones", + "Describe the document you want the assistant to generate" : "Describa el documento que desea que el asistente genere", + "Generated Office document" : "Documento de Office generado", + "The Office document that was generated from the description" : "El documento de Office que fue generado desde la descripción", + "Nextcloud Office spreadsheet generator" : "Generador de hojas de cálculo de Nextcloud Office", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Generar documento de hoja de cálculo de Office", + "Generate an Office spreadsheet document from a prompt" : "Generar un documento de hoja de cálculo de Office desde un prompt", "Empty" : "Vacío", "Anonymous guest" : "Invitado anónimo", "%s (Guest)" : "%s (Invitado)", "Edit office documents directly in your browser." : "Edita documentos directamente en tu navegador.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Esta aplicación puede conectarse a Collabora Online (u otros) servidores (Cliente parecido a WOPI). Nextcloud es el anfitrión de WOPI. Por favor, lea la documentación para aprender más acerca de esto.\n\nTambién podrá editar sus documentos fuera de línea con la app Collabora Office desde las tiendas **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** y **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", + "Accepted file types: {accepts}" : "Tipos de archivo aceptados: {accepts}", + "Uploaded template \"{name}\"" : "Se cargó plantilla \"{name}\"", + "Template \"{name}\" already exists" : "La plantilla \"{name}\" ya existe ", + "Unable to delete template" : "No se ha podido eliminar la plantilla", + "Deleted template" : "Plantilla eliminada", + "Global Templates" : "Plantillas Globales", "New" : "Nuevo", + "Contact {0} to get an own installation." : "Contacte con {0} para obtener una instalación propia.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Asegúrese de establecer esta URL: {url} en el archivo coolwsd.xml de su servidor Collabora Online para asegurarse de que las fuentes añadidas se carguen automáticamente. Por favor, tenga en cuenta que http:// solo funcionará para las versiones de prueba de Collabora Online. En producción deberá utilizar https:// para la configuración de fuentes remotas.", + "Failed to save settings" : "Fallo al guardar configuraciones", + "Font format not supported ({mime})" : "Formato de fuente no soportado ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office es una suite de ofimática en línea con edición colaborativa basada en Collabora Online. Soporta los formatos de documentos, hojas de cálculo y presentaciones más comunes, y funciona con todos los navegadores modernos.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online es una potente suite de ofimática basada en LibreOffice con edición colaborativa y que soporta todos los principales formatos de documentos, hojas de cálculo y presentaciones; funciona con todos los navegadores modernos.", "Could not establish connection to the Collabora Online server." : "No se puede establecer conexión con el servidor de Collabora Online.", @@ -102,82 +151,101 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Raíz web canónica, en caso de que haya varias, para que Collabora la use. Suministra la que tenga menos restricciones. Ej: Utiliza la raíz web sin shibboleth si esta instancia se accede desde raíces web con shibboleth y sin shibboleth. Puedes ignorar esta configuración si solo se utiliza una raíz web para acceder a esta instancia.", "Enable access for external apps" : "Permitir acceso a apps externas", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de direcciones IPv4 e IPv6 y subredes a las que se les ha permitido realizar peticiones a los endpoints WOPI. Si no se especificase una lista, se permitirán todas las direcciones. Ej: 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Fuentes extra", - "Upload extra font file" : "Subir un archivo de fuente adicional", + "Custom Fonts" : "Fuentes Personalizadas", + "Upload font file" : "Subir archivo de fuente", "Upload a font file" : "Subir una archivo de fuente", "Available fonts" : "Fuentes disponibles", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Para que la compatibilidad de documentos sea ideal, le recomendamos instalar fuentes que sean de uso común. Si sus usuarios están trabajando con Microsoft Office, la instalación de las fuentes propietarias del mismo puede hacerse siguiendo la documentación.", "Custom fonts documentation" : "Documentación para fuentes personalizadas", - "Secure view settings" : "Ajustes de la vista segura", - "Secure view enables you to secure documents by embedding a watermark" : "La vista segura permite garantizar documentos mediante la inserción de una marca de agua en ellos", + "Secure View" : "Vista Segura", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "La vista segura le permite asegurar los documentos al bloquear las descargas, vistas previas y mostrando una marca de agua.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Las configuraciones solo aplicarán a archivos office compatibles que sean abiertos en Nextcloud Office", + "Downloading the file through WebDAV will be blocked" : "Se bloqueará la descarga del archivo a través de WebDAV", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Las siguientes opciones dentro de Nextcloud Office serán deshabilitadas: Copiar, Descargar, Exportar, Imprimir", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Los archivos todavía podrán ser descargados a través de Nextcloud a menos de que existan restricciones desde los recursos compartidos o por ajustes de control de acceso", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Los archivos podrían todavía ser descargados a través de solicitudes WOPI si las configuraciones WOPI no están definidas correctamente", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Las vistas previas serán bloqueadas para los archivos con marcas de agua de manera de no divulgar accidentalmente la primera página de los documentos", - "Enable watermarking" : "Habilitar marcas de agua", - "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Marcadores soportado: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mostrar marcas de agua en los archivos etiquetados", + "Previews will be blocked" : "Las vistas previas se bloquearán", + "Enable secure view" : "Habilitar vista segura", + "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Marcadores de posición soportados: {userId}, {userDisplayName}, {email}, {date}, {themingName}", + "Enforce secure view on tagged files" : "Hacer obligatoria la vista segura en los archivos etiquetados", "Select tags to enforce watermarking" : "Seleccionar etiquetas para forzar las marcas de agua", - "Show watermark for users of groups" : "Mostrar marcas de agua para usuarios de grupos", - "Show watermark for all shares" : "Mostrar marcas de agua para todas las acciones", - "Show watermark for read only shares" : "Mostrar marcas de agua para las acciones sólo lectura", - "Show watermark for shares without download permission" : "Mostrar la marca de agua para las carpetas compartidas que no tienen permiso de descarga", - "Show watermark for all link shares" : "Mostrar marcas de agua para todos los enlaces compartidos", - "Show watermark for download hidden shares" : "Mostrar marcas de agua para descargar recursos compartidos ocultos", - "Show watermark for read only link shares" : "Mostrar marcas de agua para compartir enlaces de solo lectura", - "Show watermark on link shares with specific system tags" : "Mostrar marcas de agua en los enlaces compartidos con una etiqueta específica", - "Contact {0} to get an own installation." : "Contacte con {0} para obtener una instalación propia.", - "Failed to save settings" : "Fallo al guardar configuraciones", - "Font format not supported ({mime})" : "Formato de fuente no soportado ({mime})", + "Enforce secure view for users of groups" : "Hacer obligatoria la vista segura para usuarios de grupos", + "Enforce secure view for all shares" : "Hacer obligatoria la vista segura para todos los recursos compartidos", + "Enforce secure view for read only shares" : "Hacer obligatoria la vista segura para los recursos compartidos de sólo lectura", + "Enforce secure view for all public Talk shares" : "Hacer obligatoria la vista segura para todos los recursos compartidos públicos de Talk", + "Enforce secure view for shares without download permission" : "Hacer obligatoria la vista segura para los recursos compartidos que no tienen permisos de descarga", + "Enforce secure view for all link shares" : "Hacer obligatoria la vista segura para todos los recursos compartidos de enlace", + "Enforce secure view for download hidden shares" : "Hacer obligatoria la vista segura para los recursos compartidos de descarga ocultos ", + "Enforce secure view for read only link shares" : "Hacer obligatoria la vista segura para los recursos compartidos de enlace que son de sólo lectura", + "Enforce secure view on link shares with specific system tags" : "Hacer obligatoria la vista segura para los recursos compartidos de enlace que poseen etiquetas específicas del sistema", + "Select tags to enforce secure view" : "Seleccione las etiquetas para hacer obligatoria la vista segura", + "Electronic Signature" : "Firma Electrónica", + "Client ID for the electronic signature API" : "ID del cliente para la API de firma electrónica", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Rellene el formulario de registro en https://eideasy.com/signup para obtener un ID de cliente y un secreto", + "Secret for the electronic signature API" : "Secreto para la API de firma electrónica", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Este secreto se puede descargar mediante peticiones WOPI si la lista blanca WOPI no ha sido configurada correctamente.", "Save" : "Guardar", "Remove" : "Quitar", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Por favor, introduzca el nombre de invitado que desea usar antes de continuar al documento. Si no provee uno, se utilizará el predeterminado.", "Guest name" : "Nombre del invitado", "Submit name" : "Enviar nombre", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Por favor, introduzca el nombre de invitado que desea usar antes de continuar al documento. Si no provee uno, se utilizará el predeterminado.", "Confirm" : "Confirmar", "Cancel" : "Cancelar", + "Save As" : "Guardar como", "Save as" : "Guardar como", "Path to save" : "Ruta para guardar", - "Save As" : "Guardar como", + "Invalid file name" : "Nombre de archivo inválido", + "File name already exists" : "El nombre de archivo ya existe", + "Select template" : "Seleccionar plantilla", + "File name" : "Nombre del archivo", + "Create" : "Crear", + "Failed to set Zotero API key" : "No fue posible establecer la clave API de Zotero", "Link to your Zotero library" : "Enlazar a su biblioteca Zotero", "Connect your Zotero account to make use of references within Office." : "Conecte su cuenta de Zotero para hacer uso de las referencias dentro de Office.", "You can generate an account key here:" : "Puede generar una llave de cuenta aquí:", "Zotero account settings" : "Ajustes de la cuenta Zotero", - "Zotero API key" : "Llave API Zotero", + "Zotero API key" : "Clave API Zotero", "Submit" : "Enviar", - "Failed to set Zotero API key" : "No fue posible establecer la llave API de Zotero", - "Select a template directory" : "Selecciona un directorio de plantillas", "Select a personal template folder" : "Selecciona una carpeta de plantillas personales", + "Settings saved successfully." : "Ajustes guardados exitosamente.", + "Failed to save settings." : "Fallo al guardar los ajustes.", + "Unexpected error occurred." : "Ha ocurrido un error inesperado.", + "Personal Settings for Nextcloud Office" : "Ajustes personales para Nextcloud Office", + "Select a template directory" : "Selecciona un directorio de plantillas", "Remove personal template folder" : "Elimina la carpeta personal de plantillas", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Las plantillas dentro de esta carpeta se añadirán al selector de plantillas de Nextcloud Office.", "Zotero" : "Zotero", - "Enter Zotero API Key" : "Ingrese la llave API de Zotero", - "Remove Zotero API Key" : "Quitar la llave API de Zotero", - "To use Zotero specify your API key here. You can create your API key in your" : "Para utilizar Zotero, especifique su llave API aquí. Puede crear su llave API en su", + "Enter Zotero API Key" : "Ingrese la clave API de Zotero", + "Remove Zotero API Key" : "Quitar la clave API de Zotero", + "To use Zotero specify your API key here. You can create your API key in your" : "Para utilizar Zotero, especifique su clave API aquí. Puede crear su llave API en su", "Zotero account API settings." : "Configuraciones API de cuenta Zotero", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Esta instancia no soporta Zotero, ya que la característica no existe o está deshabilitada. Por favor, contacte al administrador.", + "Document signing" : "Firma de documentos", + "Enter document signing cert (in PEM format)" : "Introduzca el certificado para la firma de documentos (en formato PEM)", + "Enter document signing key" : "Introduzca la llave para firma de documentos", + "Enter document signing CA chain" : "Introduzca la cadena de CA para firma de documentos", + "To use document signing, specify your signing certificate, key and CA chain here." : "Para utilizar la firma de documentos, especifique aquí su certificado, clave y cadena CA de firma.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Esta instancia no soporta la firma de documentos, ya que la característica no existe o está desactivada. Por favor, contacte al administrador.", "Description" : "Descripción", "Add new token" : "Agregar nuevo token", "No font overview" : "No hay vista previa de fuentes", "Delete this font" : "Borrar esta fuente", "No results" : "No hay resultados", + "Select file" : "Seleccionar archivo", "Select file or folder to link to" : "Seleccione archivo o carpeta a enlazar", "Could not find any section in the document" : "No se pudo encontrar ninguna sección en el documento", - "Select file" : "Seleccionar archivo", + "{productName} is not configured" : "{productName} no está configurado", + "Starting the built-in CODE server failed" : "El arranque del servidor CODE integrado ha fallado", + "Loading {filename} …" : "Cargando {filename} …", + "Failed to load {productName} - please try again later" : "Fallo al cargar {productName}. Por favor, inténtalo de nuevo más tarde", + "Open in local editor" : "Abir en editor local", + "Cluster is scaling …" : "El clúster está escalando ...", + "The collaborative editing was terminated by another user" : "La edición colaborativa fue interrumpida por otro usuario", "Document loading failed" : "Ha fallado la carga del documento", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Por favor, revise el archivo de registro del servidor de Collabora Online para obtener más detalles y asegúrese de que Nextcloud sea accesible desde allí.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "La conexión del socket se cerró inesperadamente. Es posible que el proxy reverso esté mal configurado, por favor contacte al administrador.", "More information can be found in the reverse proxy documentation" : "Más información se puede encontrar en la documentación del proxy reverso.", "Close" : "Cerrar", "Edit" : "Editar", - "Starting the built-in CODE server failed" : "El arranque del servidor CODE integrado ha fallado", - "Loading {filename} …" : "Cargando {filename} …", - "Open in local editor" : "Abir en editor local", - "Cluster is scaling …" : "El clúster está escalando ...", - "The collaborative editing was terminated by another user" : "La edición colaborativa fue interrumpida por otro usuario", - "Failed to load {productName} - please try again later" : "Fallo al cargar {productName}. Por favor, inténtalo de nuevo más tarde", - "{productName} is not configured" : "{productName} no está configurado", "Built-in CODE Server is starting up shortly, please wait." : "Por favore espere, el servidor interno CODE arrancará en breve.", "Built-in CODE Server is restarting, please wait." : "El servidor CODE incorporado esa reiniciando. Por favor, espera.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: no se puede encontrar la AppImage. Por favor, reinstala el servidor Collabora Online incorporado.", @@ -189,6 +257,7 @@ OC.L10N.register( "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Error: No se iniciar el el servidor Collabora Online incorporado. Por favor, configura un servidor independiente.", "Close version preview" : "Cerrar previsualización de la versión", "Edit with {productName}" : "Editar con {productName}", + "Insert into document" : "Insertar en el documento", "Open file locally" : "Abrir archivo localmente", "When opening a file locally, the document will close for all users currently viewing the document." : "Cuando abre un archivo de manera local, el documento se cerrará para todos los otros usuarios que están viendo el documento.", "Open locally" : "Abrir localmente", @@ -198,6 +267,8 @@ OC.L10N.register( "Save a copy of the file under a new name and continue editing the new file" : "Guardar una copia del archivo con un nuevo nombre y continuar editando el nuevo archivo", "Failed to revert the document to older version" : "Fallo al revertir el documento a la versión anterior", "Built-in CODE server failed to start" : "Ha ocurrido un error al iniciar el servidor CODE integrado", + "Insert file from {name}" : "Insertar archivo de {name}", + "Insert file" : "Insertar archivo", "Remove from favorites" : "Eliminar de favoritos", "Add to favorites" : "Añadir a favoritos", "Details" : "Detalles", @@ -208,15 +279,24 @@ OC.L10N.register( "Follow current editor" : "Seguir al editor actual", "New file" : "Archivo nuevo", "Please enter the filename for the new file" : "Por favor ingrese el nombre de archivo para el nuevo archivo", - "Create" : "Crear", - "New drawing" : "Dibujo nuevo", "Could not create file" : "No se ha podido crear el archivo", - "Select template" : "Seleccionar plantilla", + "Could not load templates" : "No se pudieron cargar las plantillas", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con errores: Collabora Online debe usar el mismo protocolo que el instalado en el servidor.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "No se ha podido establecer una conexión con el servidor de Collabora Online. Esto puede deberse a un configuración incorrecta o que falta en su servidor web. Para más información, por favor visite:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office requiere un servidor separado de Collabora Office para proveer capacidades de edición.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online requiere un servidor separado que actúe como un cliente WOPI para proveer capacidades de edición.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Todos los usuarios pueden editar documentos con {productName} por defecto. Cuando esta configuración se activa, solo los miembros de los grupos especificados pueden editar, mientras que el resto solo puede ver documentos.", + "Secure view settings" : "Ajustes de la vista segura", + "Secure view enables you to secure documents by embedding a watermark" : "La vista segura permite garantizar documentos mediante la inserción de una marca de agua en ellos", + "Enable watermarking" : "Habilitar marcas de agua", + "Show watermark on tagged files" : "Mostrar marcas de agua en los archivos etiquetados", + "Show watermark for users of groups" : "Mostrar marcas de agua para usuarios de grupos", + "Show watermark for all shares" : "Mostrar marcas de agua para todas las acciones", + "Show watermark for read only shares" : "Mostrar marcas de agua para las acciones sólo lectura", + "Show watermark for all link shares" : "Mostrar marcas de agua para todos los enlaces compartidos", + "Show watermark for download hidden shares" : "Mostrar marcas de agua para descargar recursos compartidos ocultos", + "Show watermark for read only link shares" : "Mostrar marcas de agua para compartir enlaces de solo lectura", + "Show watermark on link shares with specific system tags" : "Mostrar marcas de agua en los enlaces compartidos con una etiqueta específica", "Error" : "Error", "An error occurred" : "Ha ocurrido un error", "Please choose your nickname to continue as guest user." : "Por favor, escoge tu alias para continuar como usuario invitado.", @@ -224,6 +304,8 @@ OC.L10N.register( "Set" : "Guardar", "Please enter the filename to store the document as." : "Por favor, introduce el nombre de archivo con el que guardar el documento.", "New filename" : "Nuevo nombre de archivo", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online no se encuentra configurado todavía. Por favor, contacte a su administrador.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "No está soportada la apertura del archivo, ya que las credenciales para el almacenamiento externo no están disponibles sin una sesión", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fallo al conectar con (productName). Por favor vuelva a intentarlo más tarde o contacte con su administrador del servidor.", "Saving…" : "Guardando…", "Insert from {name}" : "Insertar a partir de {name}", @@ -237,6 +319,10 @@ OC.L10N.register( "No templates defined." : "No hay plantillas definidas.", "Add a new one?" : "¿Añadir una nueva?", "template preview" : "previsualización de plantillas", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Los archivos todavía podrán ser descargados a través de Nextcloud a menos de que existan restricciones desde los recursos compartidos o por ajustes de control de acceso", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Las vistas previas serán bloqueadas para los archivos con marcas de agua de manera de no divulgar accidentalmente la primera página de los documentos", + "Show watermark for shares without download permission" : "Mostrar la marca de agua para las carpetas compartidas que no tienen permiso de descarga", + "New drawing" : "Dibujo nuevo", "Collabora Online" : "Collabora Online", "Document already exists" : "El documento ya existe", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online se activa por defecto para todos los usuarios. Al activar esta configuración, solo los miembros de los grupos especificados pueden usarlo.", diff --git a/l10n/es.json b/l10n/es.json index 1b17cc50a7..9cdc420992 100644 --- a/l10n/es.json +++ b/l10n/es.json @@ -1,4 +1,5 @@ { "translations": { + "No files found for this task." : "No se han encontrado archivos para esta tarea.", "Cannot create document" : "No es posible crear el documento", "New Document.odt" : "Nuevo Documento.odt", "New Spreadsheet.ods" : "Nueva Hoja de cálculo.ods", @@ -25,10 +26,24 @@ "Only template files can be uploaded" : "Solo se pueden subir plantillas de archivos", "Invalid file provided" : "Archivo proporcionado no válido", "Template not found" : "Plantilla no guardada", + "Unable to determine the proper file extension for %1$s" : "No ha sido posible encontrar la extensión de archivo apropiada para %1$s", + "Unable to fetch information on %1$s" : "No se ha podido obtener información de %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Imagen (.png)", + "Image (.svg)" : "Imagen (.svg)", + "Text (.rtf)" : "Texto (.rtf)", + "Text (.txt)" : "Texto (.txt)", + "Word Document (.docx)" : "Documento de Word (.docx)", + "OpenDocument Text (.odt)" : "Texto OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Hoja de Cálculo de Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Hoja de Cálculo OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Presentación PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Presentación OpenDocument (.odp)", "New document" : "Nuevo documento", "New spreadsheet" : "Nueva hoja de cálculo", "New presentation" : "Nueva presentación", "New diagram" : "Nuevo diagrama", + "{user} has mentioned you in {node}" : "{user} le ha mencionado en {node}", "Link to office document section" : "Enlazar a la sección de documentos de office", "Nextcloud Office" : "Nextcloud Office", "Headings" : "Cabeceras", @@ -37,12 +52,46 @@ "Sheets" : "Hojas de cálculo", "Slides" : "Diapositivas", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Generador de grupo de diapositivas del Asistente Nextcloud", + "Generate Slide Deck" : "Generar grupo de diapositivas", + "Generate a slide deck from a presentation script" : "Generar un grupo de diapositivas desde un script de presentación", + "Presentation script" : "Script de presentación", + "Write the text for your presentation here" : "Escriba el texto para su presentación aquí", + "Generated slide deck" : "Grupo de diapositivas generado", + "The slide deck generated" : "El grupo de diapositivas generado", + "Nextcloud Office text document generator" : "Generador de documentos de texto de Nextcloud Office", + "Document format" : "Formato del documento", + "The format of the generated document" : "El formato del documento generado", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "Generar documento de texto de Office", + "Generate an Office text document from a prompt" : "Generar documento de texto de Office desde un prompt", + "Instructions" : "Instrucciones", + "Describe the document you want the assistant to generate" : "Describa el documento que desea que el asistente genere", + "Generated Office document" : "Documento de Office generado", + "The Office document that was generated from the description" : "El documento de Office que fue generado desde la descripción", + "Nextcloud Office spreadsheet generator" : "Generador de hojas de cálculo de Nextcloud Office", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Generar documento de hoja de cálculo de Office", + "Generate an Office spreadsheet document from a prompt" : "Generar un documento de hoja de cálculo de Office desde un prompt", "Empty" : "Vacío", "Anonymous guest" : "Invitado anónimo", "%s (Guest)" : "%s (Invitado)", "Edit office documents directly in your browser." : "Edita documentos directamente en tu navegador.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Esta aplicación puede conectarse a Collabora Online (u otros) servidores (Cliente parecido a WOPI). Nextcloud es el anfitrión de WOPI. Por favor, lea la documentación para aprender más acerca de esto.\n\nTambién podrá editar sus documentos fuera de línea con la app Collabora Office desde las tiendas **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** y **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", + "Accepted file types: {accepts}" : "Tipos de archivo aceptados: {accepts}", + "Uploaded template \"{name}\"" : "Se cargó plantilla \"{name}\"", + "Template \"{name}\" already exists" : "La plantilla \"{name}\" ya existe ", + "Unable to delete template" : "No se ha podido eliminar la plantilla", + "Deleted template" : "Plantilla eliminada", + "Global Templates" : "Plantillas Globales", "New" : "Nuevo", + "Contact {0} to get an own installation." : "Contacte con {0} para obtener una instalación propia.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Asegúrese de establecer esta URL: {url} en el archivo coolwsd.xml de su servidor Collabora Online para asegurarse de que las fuentes añadidas se carguen automáticamente. Por favor, tenga en cuenta que http:// solo funcionará para las versiones de prueba de Collabora Online. En producción deberá utilizar https:// para la configuración de fuentes remotas.", + "Failed to save settings" : "Fallo al guardar configuraciones", + "Font format not supported ({mime})" : "Formato de fuente no soportado ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office es una suite de ofimática en línea con edición colaborativa basada en Collabora Online. Soporta los formatos de documentos, hojas de cálculo y presentaciones más comunes, y funciona con todos los navegadores modernos.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online es una potente suite de ofimática basada en LibreOffice con edición colaborativa y que soporta todos los principales formatos de documentos, hojas de cálculo y presentaciones; funciona con todos los navegadores modernos.", "Could not establish connection to the Collabora Online server." : "No se puede establecer conexión con el servidor de Collabora Online.", @@ -100,82 +149,101 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Raíz web canónica, en caso de que haya varias, para que Collabora la use. Suministra la que tenga menos restricciones. Ej: Utiliza la raíz web sin shibboleth si esta instancia se accede desde raíces web con shibboleth y sin shibboleth. Puedes ignorar esta configuración si solo se utiliza una raíz web para acceder a esta instancia.", "Enable access for external apps" : "Permitir acceso a apps externas", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de direcciones IPv4 e IPv6 y subredes a las que se les ha permitido realizar peticiones a los endpoints WOPI. Si no se especificase una lista, se permitirán todas las direcciones. Ej: 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Fuentes extra", - "Upload extra font file" : "Subir un archivo de fuente adicional", + "Custom Fonts" : "Fuentes Personalizadas", + "Upload font file" : "Subir archivo de fuente", "Upload a font file" : "Subir una archivo de fuente", "Available fonts" : "Fuentes disponibles", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Para que la compatibilidad de documentos sea ideal, le recomendamos instalar fuentes que sean de uso común. Si sus usuarios están trabajando con Microsoft Office, la instalación de las fuentes propietarias del mismo puede hacerse siguiendo la documentación.", "Custom fonts documentation" : "Documentación para fuentes personalizadas", - "Secure view settings" : "Ajustes de la vista segura", - "Secure view enables you to secure documents by embedding a watermark" : "La vista segura permite garantizar documentos mediante la inserción de una marca de agua en ellos", + "Secure View" : "Vista Segura", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "La vista segura le permite asegurar los documentos al bloquear las descargas, vistas previas y mostrando una marca de agua.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Las configuraciones solo aplicarán a archivos office compatibles que sean abiertos en Nextcloud Office", + "Downloading the file through WebDAV will be blocked" : "Se bloqueará la descarga del archivo a través de WebDAV", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Las siguientes opciones dentro de Nextcloud Office serán deshabilitadas: Copiar, Descargar, Exportar, Imprimir", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Los archivos todavía podrán ser descargados a través de Nextcloud a menos de que existan restricciones desde los recursos compartidos o por ajustes de control de acceso", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Los archivos podrían todavía ser descargados a través de solicitudes WOPI si las configuraciones WOPI no están definidas correctamente", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Las vistas previas serán bloqueadas para los archivos con marcas de agua de manera de no divulgar accidentalmente la primera página de los documentos", - "Enable watermarking" : "Habilitar marcas de agua", - "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Marcadores soportado: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mostrar marcas de agua en los archivos etiquetados", + "Previews will be blocked" : "Las vistas previas se bloquearán", + "Enable secure view" : "Habilitar vista segura", + "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Marcadores de posición soportados: {userId}, {userDisplayName}, {email}, {date}, {themingName}", + "Enforce secure view on tagged files" : "Hacer obligatoria la vista segura en los archivos etiquetados", "Select tags to enforce watermarking" : "Seleccionar etiquetas para forzar las marcas de agua", - "Show watermark for users of groups" : "Mostrar marcas de agua para usuarios de grupos", - "Show watermark for all shares" : "Mostrar marcas de agua para todas las acciones", - "Show watermark for read only shares" : "Mostrar marcas de agua para las acciones sólo lectura", - "Show watermark for shares without download permission" : "Mostrar la marca de agua para las carpetas compartidas que no tienen permiso de descarga", - "Show watermark for all link shares" : "Mostrar marcas de agua para todos los enlaces compartidos", - "Show watermark for download hidden shares" : "Mostrar marcas de agua para descargar recursos compartidos ocultos", - "Show watermark for read only link shares" : "Mostrar marcas de agua para compartir enlaces de solo lectura", - "Show watermark on link shares with specific system tags" : "Mostrar marcas de agua en los enlaces compartidos con una etiqueta específica", - "Contact {0} to get an own installation." : "Contacte con {0} para obtener una instalación propia.", - "Failed to save settings" : "Fallo al guardar configuraciones", - "Font format not supported ({mime})" : "Formato de fuente no soportado ({mime})", + "Enforce secure view for users of groups" : "Hacer obligatoria la vista segura para usuarios de grupos", + "Enforce secure view for all shares" : "Hacer obligatoria la vista segura para todos los recursos compartidos", + "Enforce secure view for read only shares" : "Hacer obligatoria la vista segura para los recursos compartidos de sólo lectura", + "Enforce secure view for all public Talk shares" : "Hacer obligatoria la vista segura para todos los recursos compartidos públicos de Talk", + "Enforce secure view for shares without download permission" : "Hacer obligatoria la vista segura para los recursos compartidos que no tienen permisos de descarga", + "Enforce secure view for all link shares" : "Hacer obligatoria la vista segura para todos los recursos compartidos de enlace", + "Enforce secure view for download hidden shares" : "Hacer obligatoria la vista segura para los recursos compartidos de descarga ocultos ", + "Enforce secure view for read only link shares" : "Hacer obligatoria la vista segura para los recursos compartidos de enlace que son de sólo lectura", + "Enforce secure view on link shares with specific system tags" : "Hacer obligatoria la vista segura para los recursos compartidos de enlace que poseen etiquetas específicas del sistema", + "Select tags to enforce secure view" : "Seleccione las etiquetas para hacer obligatoria la vista segura", + "Electronic Signature" : "Firma Electrónica", + "Client ID for the electronic signature API" : "ID del cliente para la API de firma electrónica", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Rellene el formulario de registro en https://eideasy.com/signup para obtener un ID de cliente y un secreto", + "Secret for the electronic signature API" : "Secreto para la API de firma electrónica", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Este secreto se puede descargar mediante peticiones WOPI si la lista blanca WOPI no ha sido configurada correctamente.", "Save" : "Guardar", "Remove" : "Quitar", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Por favor, introduzca el nombre de invitado que desea usar antes de continuar al documento. Si no provee uno, se utilizará el predeterminado.", "Guest name" : "Nombre del invitado", "Submit name" : "Enviar nombre", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Por favor, introduzca el nombre de invitado que desea usar antes de continuar al documento. Si no provee uno, se utilizará el predeterminado.", "Confirm" : "Confirmar", "Cancel" : "Cancelar", + "Save As" : "Guardar como", "Save as" : "Guardar como", "Path to save" : "Ruta para guardar", - "Save As" : "Guardar como", + "Invalid file name" : "Nombre de archivo inválido", + "File name already exists" : "El nombre de archivo ya existe", + "Select template" : "Seleccionar plantilla", + "File name" : "Nombre del archivo", + "Create" : "Crear", + "Failed to set Zotero API key" : "No fue posible establecer la clave API de Zotero", "Link to your Zotero library" : "Enlazar a su biblioteca Zotero", "Connect your Zotero account to make use of references within Office." : "Conecte su cuenta de Zotero para hacer uso de las referencias dentro de Office.", "You can generate an account key here:" : "Puede generar una llave de cuenta aquí:", "Zotero account settings" : "Ajustes de la cuenta Zotero", - "Zotero API key" : "Llave API Zotero", + "Zotero API key" : "Clave API Zotero", "Submit" : "Enviar", - "Failed to set Zotero API key" : "No fue posible establecer la llave API de Zotero", - "Select a template directory" : "Selecciona un directorio de plantillas", "Select a personal template folder" : "Selecciona una carpeta de plantillas personales", + "Settings saved successfully." : "Ajustes guardados exitosamente.", + "Failed to save settings." : "Fallo al guardar los ajustes.", + "Unexpected error occurred." : "Ha ocurrido un error inesperado.", + "Personal Settings for Nextcloud Office" : "Ajustes personales para Nextcloud Office", + "Select a template directory" : "Selecciona un directorio de plantillas", "Remove personal template folder" : "Elimina la carpeta personal de plantillas", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Las plantillas dentro de esta carpeta se añadirán al selector de plantillas de Nextcloud Office.", "Zotero" : "Zotero", - "Enter Zotero API Key" : "Ingrese la llave API de Zotero", - "Remove Zotero API Key" : "Quitar la llave API de Zotero", - "To use Zotero specify your API key here. You can create your API key in your" : "Para utilizar Zotero, especifique su llave API aquí. Puede crear su llave API en su", + "Enter Zotero API Key" : "Ingrese la clave API de Zotero", + "Remove Zotero API Key" : "Quitar la clave API de Zotero", + "To use Zotero specify your API key here. You can create your API key in your" : "Para utilizar Zotero, especifique su clave API aquí. Puede crear su llave API en su", "Zotero account API settings." : "Configuraciones API de cuenta Zotero", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Esta instancia no soporta Zotero, ya que la característica no existe o está deshabilitada. Por favor, contacte al administrador.", + "Document signing" : "Firma de documentos", + "Enter document signing cert (in PEM format)" : "Introduzca el certificado para la firma de documentos (en formato PEM)", + "Enter document signing key" : "Introduzca la llave para firma de documentos", + "Enter document signing CA chain" : "Introduzca la cadena de CA para firma de documentos", + "To use document signing, specify your signing certificate, key and CA chain here." : "Para utilizar la firma de documentos, especifique aquí su certificado, clave y cadena CA de firma.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Esta instancia no soporta la firma de documentos, ya que la característica no existe o está desactivada. Por favor, contacte al administrador.", "Description" : "Descripción", "Add new token" : "Agregar nuevo token", "No font overview" : "No hay vista previa de fuentes", "Delete this font" : "Borrar esta fuente", "No results" : "No hay resultados", + "Select file" : "Seleccionar archivo", "Select file or folder to link to" : "Seleccione archivo o carpeta a enlazar", "Could not find any section in the document" : "No se pudo encontrar ninguna sección en el documento", - "Select file" : "Seleccionar archivo", + "{productName} is not configured" : "{productName} no está configurado", + "Starting the built-in CODE server failed" : "El arranque del servidor CODE integrado ha fallado", + "Loading {filename} …" : "Cargando {filename} …", + "Failed to load {productName} - please try again later" : "Fallo al cargar {productName}. Por favor, inténtalo de nuevo más tarde", + "Open in local editor" : "Abir en editor local", + "Cluster is scaling …" : "El clúster está escalando ...", + "The collaborative editing was terminated by another user" : "La edición colaborativa fue interrumpida por otro usuario", "Document loading failed" : "Ha fallado la carga del documento", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Por favor, revise el archivo de registro del servidor de Collabora Online para obtener más detalles y asegúrese de que Nextcloud sea accesible desde allí.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "La conexión del socket se cerró inesperadamente. Es posible que el proxy reverso esté mal configurado, por favor contacte al administrador.", "More information can be found in the reverse proxy documentation" : "Más información se puede encontrar en la documentación del proxy reverso.", "Close" : "Cerrar", "Edit" : "Editar", - "Starting the built-in CODE server failed" : "El arranque del servidor CODE integrado ha fallado", - "Loading {filename} …" : "Cargando {filename} …", - "Open in local editor" : "Abir en editor local", - "Cluster is scaling …" : "El clúster está escalando ...", - "The collaborative editing was terminated by another user" : "La edición colaborativa fue interrumpida por otro usuario", - "Failed to load {productName} - please try again later" : "Fallo al cargar {productName}. Por favor, inténtalo de nuevo más tarde", - "{productName} is not configured" : "{productName} no está configurado", "Built-in CODE Server is starting up shortly, please wait." : "Por favore espere, el servidor interno CODE arrancará en breve.", "Built-in CODE Server is restarting, please wait." : "El servidor CODE incorporado esa reiniciando. Por favor, espera.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: no se puede encontrar la AppImage. Por favor, reinstala el servidor Collabora Online incorporado.", @@ -187,6 +255,7 @@ "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Error: No se iniciar el el servidor Collabora Online incorporado. Por favor, configura un servidor independiente.", "Close version preview" : "Cerrar previsualización de la versión", "Edit with {productName}" : "Editar con {productName}", + "Insert into document" : "Insertar en el documento", "Open file locally" : "Abrir archivo localmente", "When opening a file locally, the document will close for all users currently viewing the document." : "Cuando abre un archivo de manera local, el documento se cerrará para todos los otros usuarios que están viendo el documento.", "Open locally" : "Abrir localmente", @@ -196,6 +265,8 @@ "Save a copy of the file under a new name and continue editing the new file" : "Guardar una copia del archivo con un nuevo nombre y continuar editando el nuevo archivo", "Failed to revert the document to older version" : "Fallo al revertir el documento a la versión anterior", "Built-in CODE server failed to start" : "Ha ocurrido un error al iniciar el servidor CODE integrado", + "Insert file from {name}" : "Insertar archivo de {name}", + "Insert file" : "Insertar archivo", "Remove from favorites" : "Eliminar de favoritos", "Add to favorites" : "Añadir a favoritos", "Details" : "Detalles", @@ -206,15 +277,24 @@ "Follow current editor" : "Seguir al editor actual", "New file" : "Archivo nuevo", "Please enter the filename for the new file" : "Por favor ingrese el nombre de archivo para el nuevo archivo", - "Create" : "Crear", - "New drawing" : "Dibujo nuevo", "Could not create file" : "No se ha podido crear el archivo", - "Select template" : "Seleccionar plantilla", + "Could not load templates" : "No se pudieron cargar las plantillas", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con errores: Collabora Online debe usar el mismo protocolo que el instalado en el servidor.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "No se ha podido establecer una conexión con el servidor de Collabora Online. Esto puede deberse a un configuración incorrecta o que falta en su servidor web. Para más información, por favor visite:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office requiere un servidor separado de Collabora Office para proveer capacidades de edición.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online requiere un servidor separado que actúe como un cliente WOPI para proveer capacidades de edición.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Todos los usuarios pueden editar documentos con {productName} por defecto. Cuando esta configuración se activa, solo los miembros de los grupos especificados pueden editar, mientras que el resto solo puede ver documentos.", + "Secure view settings" : "Ajustes de la vista segura", + "Secure view enables you to secure documents by embedding a watermark" : "La vista segura permite garantizar documentos mediante la inserción de una marca de agua en ellos", + "Enable watermarking" : "Habilitar marcas de agua", + "Show watermark on tagged files" : "Mostrar marcas de agua en los archivos etiquetados", + "Show watermark for users of groups" : "Mostrar marcas de agua para usuarios de grupos", + "Show watermark for all shares" : "Mostrar marcas de agua para todas las acciones", + "Show watermark for read only shares" : "Mostrar marcas de agua para las acciones sólo lectura", + "Show watermark for all link shares" : "Mostrar marcas de agua para todos los enlaces compartidos", + "Show watermark for download hidden shares" : "Mostrar marcas de agua para descargar recursos compartidos ocultos", + "Show watermark for read only link shares" : "Mostrar marcas de agua para compartir enlaces de solo lectura", + "Show watermark on link shares with specific system tags" : "Mostrar marcas de agua en los enlaces compartidos con una etiqueta específica", "Error" : "Error", "An error occurred" : "Ha ocurrido un error", "Please choose your nickname to continue as guest user." : "Por favor, escoge tu alias para continuar como usuario invitado.", @@ -222,6 +302,8 @@ "Set" : "Guardar", "Please enter the filename to store the document as." : "Por favor, introduce el nombre de archivo con el que guardar el documento.", "New filename" : "Nuevo nombre de archivo", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online no se encuentra configurado todavía. Por favor, contacte a su administrador.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "No está soportada la apertura del archivo, ya que las credenciales para el almacenamiento externo no están disponibles sin una sesión", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fallo al conectar con (productName). Por favor vuelva a intentarlo más tarde o contacte con su administrador del servidor.", "Saving…" : "Guardando…", "Insert from {name}" : "Insertar a partir de {name}", @@ -235,6 +317,10 @@ "No templates defined." : "No hay plantillas definidas.", "Add a new one?" : "¿Añadir una nueva?", "template preview" : "previsualización de plantillas", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Los archivos todavía podrán ser descargados a través de Nextcloud a menos de que existan restricciones desde los recursos compartidos o por ajustes de control de acceso", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Las vistas previas serán bloqueadas para los archivos con marcas de agua de manera de no divulgar accidentalmente la primera página de los documentos", + "Show watermark for shares without download permission" : "Mostrar la marca de agua para las carpetas compartidas que no tienen permiso de descarga", + "New drawing" : "Dibujo nuevo", "Collabora Online" : "Collabora Online", "Document already exists" : "El documento ya existe", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online se activa por defecto para todos los usuarios. Al activar esta configuración, solo los miembros de los grupos especificados pueden usarlo.", diff --git a/l10n/es_419.js b/l10n/es_419.js index 5aa9201086..b2d03d5760 100644 --- a/l10n/es_419.js +++ b/l10n/es_419.js @@ -29,6 +29,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -41,7 +42,6 @@ OC.L10N.register( "Download" : "Descargar", "(read only)" : "(Sólo lectura)", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_419.json b/l10n/es_419.json index 137ef6185b..48346e14a5 100644 --- a/l10n/es_419.json +++ b/l10n/es_419.json @@ -27,6 +27,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -39,7 +40,6 @@ "Download" : "Descargar", "(read only)" : "(Sólo lectura)", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_AR.js b/l10n/es_AR.js index 0d299612cb..00e615132d 100644 --- a/l10n/es_AR.js +++ b/l10n/es_AR.js @@ -30,6 +30,8 @@ OC.L10N.register( "Remove" : "Eliminar", "Confirm" : "Confirmar", "Cancel" : "Cancelar", + "Select template" : "Seleccionar plantilla", + "Create" : "Crear", "Submit" : "Enviar", "Select a template directory" : "Seleccionar un directorio de plantillas", "Description" : "Descripción", @@ -44,9 +46,7 @@ OC.L10N.register( "Download" : "Descargar", "Guest" : "Invitado", "New file" : "Nuevo archivo", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", - "Select template" : "Seleccionar plantilla", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalacion del servidor.", "Error" : "Error", "An error occurred" : "Ocurrió un error", diff --git a/l10n/es_AR.json b/l10n/es_AR.json index ba4f9abc40..24b1ab3921 100644 --- a/l10n/es_AR.json +++ b/l10n/es_AR.json @@ -28,6 +28,8 @@ "Remove" : "Eliminar", "Confirm" : "Confirmar", "Cancel" : "Cancelar", + "Select template" : "Seleccionar plantilla", + "Create" : "Crear", "Submit" : "Enviar", "Select a template directory" : "Seleccionar un directorio de plantillas", "Description" : "Descripción", @@ -42,9 +44,7 @@ "Download" : "Descargar", "Guest" : "Invitado", "New file" : "Nuevo archivo", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", - "Select template" : "Seleccionar plantilla", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalacion del servidor.", "Error" : "Error", "An error occurred" : "Ocurrió un error", diff --git a/l10n/es_CL.js b/l10n/es_CL.js index a91426472a..47a0d7d237 100644 --- a/l10n/es_CL.js +++ b/l10n/es_CL.js @@ -34,6 +34,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -46,7 +47,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_CL.json b/l10n/es_CL.json index 7215c5765d..3ebab2d59e 100644 --- a/l10n/es_CL.json +++ b/l10n/es_CL.json @@ -32,6 +32,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -44,7 +45,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_CO.js b/l10n/es_CO.js index e67c825eea..cbae87de25 100644 --- a/l10n/es_CO.js +++ b/l10n/es_CO.js @@ -19,6 +19,9 @@ OC.L10N.register( "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo", "File is too big" : "El archivo es demasiado grande.", "Invalid file provided" : "Archivo proporcionado inválido", + "New document" : "Nuevo documento", + "New spreadsheet" : "Nueva hoja de cálculo", + "New presentation" : "Nueva presentación", "Images" : "Imágenes", "Empty" : "Vacío", "New" : "Nuevo", @@ -33,6 +36,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -45,7 +49,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_CO.json b/l10n/es_CO.json index 3cc16adce1..eed7a0aaa7 100644 --- a/l10n/es_CO.json +++ b/l10n/es_CO.json @@ -17,6 +17,9 @@ "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo", "File is too big" : "El archivo es demasiado grande.", "Invalid file provided" : "Archivo proporcionado inválido", + "New document" : "Nuevo documento", + "New spreadsheet" : "Nueva hoja de cálculo", + "New presentation" : "Nueva presentación", "Images" : "Imágenes", "Empty" : "Vacío", "New" : "Nuevo", @@ -31,6 +34,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -43,7 +47,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_CR.js b/l10n/es_CR.js index 48951f672a..1ff856b9e8 100644 --- a/l10n/es_CR.js +++ b/l10n/es_CR.js @@ -33,9 +33,11 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", + "Select file" : "Seleccionar archivo", "Close" : "Cerrar", "Edit" : "Editar", "Failed to revert the document to older version" : "Se presentó una falla al revertir el documento a una versión anterior", @@ -44,7 +46,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_CR.json b/l10n/es_CR.json index bb2aab8fd4..f868ec96b9 100644 --- a/l10n/es_CR.json +++ b/l10n/es_CR.json @@ -31,9 +31,11 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", + "Select file" : "Seleccionar archivo", "Close" : "Cerrar", "Edit" : "Editar", "Failed to revert the document to older version" : "Se presentó una falla al revertir el documento a una versión anterior", @@ -42,7 +44,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_DO.js b/l10n/es_DO.js index 48951f672a..de6e281b51 100644 --- a/l10n/es_DO.js +++ b/l10n/es_DO.js @@ -33,6 +33,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -44,7 +45,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_DO.json b/l10n/es_DO.json index bb2aab8fd4..de82019212 100644 --- a/l10n/es_DO.json +++ b/l10n/es_DO.json @@ -31,6 +31,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -42,7 +43,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_EC.js b/l10n/es_EC.js index 377eba98a6..b42b9db9f5 100644 --- a/l10n/es_EC.js +++ b/l10n/es_EC.js @@ -39,12 +39,16 @@ OC.L10N.register( "Sheets" : "Hojas", "Slides" : "Diapositivas", "Office" : "Semana de colaboradores", + "Instructions" : "Instrucciones", "Empty" : "Vacío", "Anonymous guest" : "Invitado anónimo", "%s (Guest)" : "%s (Invitado)", "Edit office documents directly in your browser." : "Edita documentos de oficina directamente en tu navegador.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Esta aplicación puede conectarse a un servidor Collabora Online (u otro) (Cliente similar a WOPI). Nextcloud es el Host WOPI. Por favor, lee la documentación para obtener más información al respecto.\n \n También puedes editar tus documentos sin conexión con la aplicación Collabora Office de las **[tiendas de Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** y **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Nuevo", + "Contact {0} to get an own installation." : "Contacta a {0} para obtener tu propia instalación.", + "Failed to save settings" : "Error al guardar la configuración", + "Font format not supported ({mime})" : "Formato de fuente no admitido ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office es una potente suite de oficina en línea basada en Collabora Online con edición colaborativa, que admite todos los formatos de archivos principales de documentos, hojas de cálculo y presentaciones y funciona con todos los navegadores modernos.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online es una potente suite de oficina en línea basada en LibreOffice con edición colaborativa, que admite todos los formatos de archivos principales de documentos, hojas de cálculo y presentaciones y funciona con todos los navegadores modernos.", "Could not establish connection to the Collabora Online server." : "No se pudo establecer la conexión con el servidor Collabora Online.", @@ -96,46 +100,30 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "webroot canonico, en caso de que haya varios, para que los use Collabora. Proporciona el que tenga menos restricciones. P. ej. Usa un webroot no-shibbolizado si la instancia es accesible por tanto un webroot shibbolizado y un no shibbolizado. Puedes ignorar esta configuracion si solo un webroot se usa para acceder a la instancia. ", "Enable access for external apps" : "Habilitar acceso para aplicaciones externas", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de direcciones IP y subredes IPV4 e IPV6 permitidas para realizar solicitudes a los puntos finales WOPI. Si no se especifica una lista blanca, se permitirán todas las direcciones. Por ejemplo: 10.0.0.20, 10.0.4.0/24", - "Extra fonts" : "Fuentes adicionales", - "Upload extra font file" : "Subir archivo de fuente adicional", "Upload a font file" : "Subir un archivo de fuente", "Available fonts" : "Fuentes disponibles", - "Secure view settings" : "Configuración de vista segura", - "Secure view enables you to secure documents by embedding a watermark" : "La vista segura te permite proteger documentos mediante la inserción de una marca de agua", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "La configuración solo se aplica a los archivos de oficina compatibles que se abren en Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Las siguientes opciones dentro de Nextcloud Office se deshabilitarán: Copiar, Descargar, Exportar, Imprimir", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Los archivos todavía pueden descargarse a través de Nextcloud a menos que estén restringidos de otra manera mediante la configuración de uso compartido o control de acceso", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Los archivos todavía pueden descargarse a través de solicitudes WOPI si no se han configurado correctamente las opciones WOPI", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Las vistas previas de los archivos con marca de agua no se mostrarán para no filtrar la primera página de los documentos", - "Enable watermarking" : "Habilitar la marca de agua", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Placeholder admitidos: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mostrar marca de agua en archivos etiquetados", "Select tags to enforce watermarking" : "Seleccionar etiquetas para aplicar la marca de agua", - "Show watermark for users of groups" : "Mostrar marca de agua para usuarios de grupos", - "Show watermark for all shares" : "Mostrar marca de agua para todos los compartidos", - "Show watermark for read only shares" : "Mostrar marca de agua para compartidos de solo lectura", - "Show watermark for shares without download permission" : "Mostrar marca de agua para compartidos sin permiso de descarga", - "Show watermark for all link shares" : "Mostrar marca de agua para todos los compartidos con enlace", - "Show watermark for download hidden shares" : "Mostrar marca de agua para compartidos ocultos de descarga", - "Show watermark for read only link shares" : "Mostrar marca de agua para compartidos de solo lectura con enlace", - "Show watermark on link shares with specific system tags" : "Mostrar marca de agua en compartidos de enlace con etiquetas de sistema específicas", - "Contact {0} to get an own installation." : "Contacta a {0} para obtener tu propia instalación.", - "Failed to save settings" : "Error al guardar la configuración", - "Font format not supported ({mime})" : "Formato de fuente no admitido ({mime})", "Save" : "Guardar", "Confirm" : "Confirmar", "Cancel" : "Cancelar", - "Save as" : "Guardar como", "Save As" : "Guardar Como", + "Save as" : "Guardar como", + "Select template" : "Seleccionar plantilla", + "File name" : "Nombre de archivo.", + "Create" : "Crear", + "Failed to set Zotero API key" : "Error al configurar la clave API de Zotero", "Link to your Zotero library" : "Enlace a tu biblioteca de Zotero", "Connect your Zotero account to make use of references within Office." : "Conecta tu cuenta de Zotero para utilizar referencias dentro de Office.", "You can generate an account key here:" : "Puedes generar una clave de cuenta aquí:", "Zotero account settings" : "Configuración de la cuenta de Zotero", "Zotero API key" : "Clave API de Zotero", "Submit" : "Enviar", - "Failed to set Zotero API key" : "Error al configurar la clave API de Zotero", - "Select a template directory" : "Seleccionar un directorio de plantilla", "Select a personal template folder" : "Selecciona una carpeta de plantilla personal", + "Select a template directory" : "Seleccionar un directorio de plantilla", "Remove personal template folder" : "Eliminar carpeta de plantilla personal", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Las plantillas dentro de este directorio se agregarán al selector de plantillas de Collabora Online.", "Zotero" : "Zotero", @@ -149,17 +137,17 @@ OC.L10N.register( "No font overview" : "Sin vista general de fuentes", "Delete this font" : "Borrar esta fuente", "No results" : "No hay resultados", + "Select file" : "Seleccionar archivo", "Select file or folder to link to" : "Seleccionar archivo o carpeta para enlazar.", "Could not find any section in the document" : "No se pudo encontrar ninguna sección en el documento", - "Select file" : "Seleccionar archivo", - "Document loading failed" : "Error al cargar el documento", - "Close" : "Cerrar", - "Edit" : "Editar", + "{productName} is not configured" : "{productName} no está configurado", "Starting the built-in CODE server failed" : "Falló al iniciar el servidor CODE incorporado", "Loading {filename} …" : "Cargando {filename} …", - "Open in local editor" : "Abrir en editor local", "Failed to load {productName} - please try again later" : "Error al cargar {productName} - por favor, inténtalo de nuevo más tarde", - "{productName} is not configured" : "{productName} no está configurado", + "Open in local editor" : "Abrir en editor local", + "Document loading failed" : "Error al cargar el documento", + "Close" : "Cerrar", + "Edit" : "Editar", "Built-in CODE Server is starting up shortly, please wait." : "El servidor CODE incorporado se iniciará pronto, por favor espera.", "Built-in CODE Server is restarting, please wait." : "El servidor CODE incorporado se está reiniciando, por favor espera.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: No se pudo encontrar el AppImage, por favor reinstala el servidor incorporado de Collabora Online.", @@ -186,15 +174,23 @@ OC.L10N.register( "Guest" : "Invitado", "Follow current editor" : "Seguir al editor actual", "New file" : "Nuevo archivo", - "Create" : "Crear", - "New drawing" : "Nuevo dibujo", "Could not create file" : "No fue posible crear el archivo", - "Select template" : "Seleccionar plantilla", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "No se pudo establecer la conexión con el servidor Collabora Online. Esto puede deberse a una configuración incorrecta de tu servidor web. Para obtener más información, visita: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office requiere un servidor independiente que ejecute Collabora Online para proporcionar capacidades de edición.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online requiere un servidor independiente que actúe como cliente similar a WOPI para proporcionar capacidades de edición.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Todos los usuarios pueden editar documentos con {productName} de forma predeterminada. Cuando esta configuración está activa, solo los miembros de los grupos especificados pueden editar y los demás solo pueden ver documentos.", + "Secure view settings" : "Configuración de vista segura", + "Secure view enables you to secure documents by embedding a watermark" : "La vista segura te permite proteger documentos mediante la inserción de una marca de agua", + "Enable watermarking" : "Habilitar la marca de agua", + "Show watermark on tagged files" : "Mostrar marca de agua en archivos etiquetados", + "Show watermark for users of groups" : "Mostrar marca de agua para usuarios de grupos", + "Show watermark for all shares" : "Mostrar marca de agua para todos los compartidos", + "Show watermark for read only shares" : "Mostrar marca de agua para compartidos de solo lectura", + "Show watermark for all link shares" : "Mostrar marca de agua para todos los compartidos con enlace", + "Show watermark for download hidden shares" : "Mostrar marca de agua para compartidos ocultos de descarga", + "Show watermark for read only link shares" : "Mostrar marca de agua para compartidos de solo lectura con enlace", + "Show watermark on link shares with specific system tags" : "Mostrar marca de agua en compartidos de enlace con etiquetas de sistema específicas", "Error" : "Error", "An error occurred" : "Se produjo un error", "Please choose your nickname to continue as guest user." : "Por favor, elige un apodo para continuar como usuario invitado.", @@ -215,6 +211,10 @@ OC.L10N.register( "No templates defined." : "No hay plantillas definidas.", "Add a new one?" : "¿Agregar una nueva?", "template preview" : "Vista previa de la plantilla", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Los archivos todavía pueden descargarse a través de Nextcloud a menos que estén restringidos de otra manera mediante la configuración de uso compartido o control de acceso", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Las vistas previas de los archivos con marca de agua no se mostrarán para no filtrar la primera página de los documentos", + "Show watermark for shares without download permission" : "Mostrar marca de agua para compartidos sin permiso de descarga", + "New drawing" : "Nuevo dibujo", "Collabora Online" : "Collabora Online", "Document already exists" : "El documento ya existe", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online está habilitado para todos los usuarios de forma predeterminada. Cuando esta configuración está activa, solo los miembros de los grupos especificados pueden usarlo.", diff --git a/l10n/es_EC.json b/l10n/es_EC.json index 5b68a57d19..c6aa242bf9 100644 --- a/l10n/es_EC.json +++ b/l10n/es_EC.json @@ -37,12 +37,16 @@ "Sheets" : "Hojas", "Slides" : "Diapositivas", "Office" : "Semana de colaboradores", + "Instructions" : "Instrucciones", "Empty" : "Vacío", "Anonymous guest" : "Invitado anónimo", "%s (Guest)" : "%s (Invitado)", "Edit office documents directly in your browser." : "Edita documentos de oficina directamente en tu navegador.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Esta aplicación puede conectarse a un servidor Collabora Online (u otro) (Cliente similar a WOPI). Nextcloud es el Host WOPI. Por favor, lee la documentación para obtener más información al respecto.\n \n También puedes editar tus documentos sin conexión con la aplicación Collabora Office de las **[tiendas de Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** y **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Nuevo", + "Contact {0} to get an own installation." : "Contacta a {0} para obtener tu propia instalación.", + "Failed to save settings" : "Error al guardar la configuración", + "Font format not supported ({mime})" : "Formato de fuente no admitido ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office es una potente suite de oficina en línea basada en Collabora Online con edición colaborativa, que admite todos los formatos de archivos principales de documentos, hojas de cálculo y presentaciones y funciona con todos los navegadores modernos.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online es una potente suite de oficina en línea basada en LibreOffice con edición colaborativa, que admite todos los formatos de archivos principales de documentos, hojas de cálculo y presentaciones y funciona con todos los navegadores modernos.", "Could not establish connection to the Collabora Online server." : "No se pudo establecer la conexión con el servidor Collabora Online.", @@ -94,46 +98,30 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "webroot canonico, en caso de que haya varios, para que los use Collabora. Proporciona el que tenga menos restricciones. P. ej. Usa un webroot no-shibbolizado si la instancia es accesible por tanto un webroot shibbolizado y un no shibbolizado. Puedes ignorar esta configuracion si solo un webroot se usa para acceder a la instancia. ", "Enable access for external apps" : "Habilitar acceso para aplicaciones externas", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de direcciones IP y subredes IPV4 e IPV6 permitidas para realizar solicitudes a los puntos finales WOPI. Si no se especifica una lista blanca, se permitirán todas las direcciones. Por ejemplo: 10.0.0.20, 10.0.4.0/24", - "Extra fonts" : "Fuentes adicionales", - "Upload extra font file" : "Subir archivo de fuente adicional", "Upload a font file" : "Subir un archivo de fuente", "Available fonts" : "Fuentes disponibles", - "Secure view settings" : "Configuración de vista segura", - "Secure view enables you to secure documents by embedding a watermark" : "La vista segura te permite proteger documentos mediante la inserción de una marca de agua", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "La configuración solo se aplica a los archivos de oficina compatibles que se abren en Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Las siguientes opciones dentro de Nextcloud Office se deshabilitarán: Copiar, Descargar, Exportar, Imprimir", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Los archivos todavía pueden descargarse a través de Nextcloud a menos que estén restringidos de otra manera mediante la configuración de uso compartido o control de acceso", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Los archivos todavía pueden descargarse a través de solicitudes WOPI si no se han configurado correctamente las opciones WOPI", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Las vistas previas de los archivos con marca de agua no se mostrarán para no filtrar la primera página de los documentos", - "Enable watermarking" : "Habilitar la marca de agua", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Placeholder admitidos: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mostrar marca de agua en archivos etiquetados", "Select tags to enforce watermarking" : "Seleccionar etiquetas para aplicar la marca de agua", - "Show watermark for users of groups" : "Mostrar marca de agua para usuarios de grupos", - "Show watermark for all shares" : "Mostrar marca de agua para todos los compartidos", - "Show watermark for read only shares" : "Mostrar marca de agua para compartidos de solo lectura", - "Show watermark for shares without download permission" : "Mostrar marca de agua para compartidos sin permiso de descarga", - "Show watermark for all link shares" : "Mostrar marca de agua para todos los compartidos con enlace", - "Show watermark for download hidden shares" : "Mostrar marca de agua para compartidos ocultos de descarga", - "Show watermark for read only link shares" : "Mostrar marca de agua para compartidos de solo lectura con enlace", - "Show watermark on link shares with specific system tags" : "Mostrar marca de agua en compartidos de enlace con etiquetas de sistema específicas", - "Contact {0} to get an own installation." : "Contacta a {0} para obtener tu propia instalación.", - "Failed to save settings" : "Error al guardar la configuración", - "Font format not supported ({mime})" : "Formato de fuente no admitido ({mime})", "Save" : "Guardar", "Confirm" : "Confirmar", "Cancel" : "Cancelar", - "Save as" : "Guardar como", "Save As" : "Guardar Como", + "Save as" : "Guardar como", + "Select template" : "Seleccionar plantilla", + "File name" : "Nombre de archivo.", + "Create" : "Crear", + "Failed to set Zotero API key" : "Error al configurar la clave API de Zotero", "Link to your Zotero library" : "Enlace a tu biblioteca de Zotero", "Connect your Zotero account to make use of references within Office." : "Conecta tu cuenta de Zotero para utilizar referencias dentro de Office.", "You can generate an account key here:" : "Puedes generar una clave de cuenta aquí:", "Zotero account settings" : "Configuración de la cuenta de Zotero", "Zotero API key" : "Clave API de Zotero", "Submit" : "Enviar", - "Failed to set Zotero API key" : "Error al configurar la clave API de Zotero", - "Select a template directory" : "Seleccionar un directorio de plantilla", "Select a personal template folder" : "Selecciona una carpeta de plantilla personal", + "Select a template directory" : "Seleccionar un directorio de plantilla", "Remove personal template folder" : "Eliminar carpeta de plantilla personal", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Las plantillas dentro de este directorio se agregarán al selector de plantillas de Collabora Online.", "Zotero" : "Zotero", @@ -147,17 +135,17 @@ "No font overview" : "Sin vista general de fuentes", "Delete this font" : "Borrar esta fuente", "No results" : "No hay resultados", + "Select file" : "Seleccionar archivo", "Select file or folder to link to" : "Seleccionar archivo o carpeta para enlazar.", "Could not find any section in the document" : "No se pudo encontrar ninguna sección en el documento", - "Select file" : "Seleccionar archivo", - "Document loading failed" : "Error al cargar el documento", - "Close" : "Cerrar", - "Edit" : "Editar", + "{productName} is not configured" : "{productName} no está configurado", "Starting the built-in CODE server failed" : "Falló al iniciar el servidor CODE incorporado", "Loading {filename} …" : "Cargando {filename} …", - "Open in local editor" : "Abrir en editor local", "Failed to load {productName} - please try again later" : "Error al cargar {productName} - por favor, inténtalo de nuevo más tarde", - "{productName} is not configured" : "{productName} no está configurado", + "Open in local editor" : "Abrir en editor local", + "Document loading failed" : "Error al cargar el documento", + "Close" : "Cerrar", + "Edit" : "Editar", "Built-in CODE Server is starting up shortly, please wait." : "El servidor CODE incorporado se iniciará pronto, por favor espera.", "Built-in CODE Server is restarting, please wait." : "El servidor CODE incorporado se está reiniciando, por favor espera.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: No se pudo encontrar el AppImage, por favor reinstala el servidor incorporado de Collabora Online.", @@ -184,15 +172,23 @@ "Guest" : "Invitado", "Follow current editor" : "Seguir al editor actual", "New file" : "Nuevo archivo", - "Create" : "Crear", - "New drawing" : "Nuevo dibujo", "Could not create file" : "No fue posible crear el archivo", - "Select template" : "Seleccionar plantilla", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "No se pudo establecer la conexión con el servidor Collabora Online. Esto puede deberse a una configuración incorrecta de tu servidor web. Para obtener más información, visita: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office requiere un servidor independiente que ejecute Collabora Online para proporcionar capacidades de edición.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online requiere un servidor independiente que actúe como cliente similar a WOPI para proporcionar capacidades de edición.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Todos los usuarios pueden editar documentos con {productName} de forma predeterminada. Cuando esta configuración está activa, solo los miembros de los grupos especificados pueden editar y los demás solo pueden ver documentos.", + "Secure view settings" : "Configuración de vista segura", + "Secure view enables you to secure documents by embedding a watermark" : "La vista segura te permite proteger documentos mediante la inserción de una marca de agua", + "Enable watermarking" : "Habilitar la marca de agua", + "Show watermark on tagged files" : "Mostrar marca de agua en archivos etiquetados", + "Show watermark for users of groups" : "Mostrar marca de agua para usuarios de grupos", + "Show watermark for all shares" : "Mostrar marca de agua para todos los compartidos", + "Show watermark for read only shares" : "Mostrar marca de agua para compartidos de solo lectura", + "Show watermark for all link shares" : "Mostrar marca de agua para todos los compartidos con enlace", + "Show watermark for download hidden shares" : "Mostrar marca de agua para compartidos ocultos de descarga", + "Show watermark for read only link shares" : "Mostrar marca de agua para compartidos de solo lectura con enlace", + "Show watermark on link shares with specific system tags" : "Mostrar marca de agua en compartidos de enlace con etiquetas de sistema específicas", "Error" : "Error", "An error occurred" : "Se produjo un error", "Please choose your nickname to continue as guest user." : "Por favor, elige un apodo para continuar como usuario invitado.", @@ -213,6 +209,10 @@ "No templates defined." : "No hay plantillas definidas.", "Add a new one?" : "¿Agregar una nueva?", "template preview" : "Vista previa de la plantilla", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Los archivos todavía pueden descargarse a través de Nextcloud a menos que estén restringidos de otra manera mediante la configuración de uso compartido o control de acceso", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Las vistas previas de los archivos con marca de agua no se mostrarán para no filtrar la primera página de los documentos", + "Show watermark for shares without download permission" : "Mostrar marca de agua para compartidos sin permiso de descarga", + "New drawing" : "Nuevo dibujo", "Collabora Online" : "Collabora Online", "Document already exists" : "El documento ya existe", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online está habilitado para todos los usuarios de forma predeterminada. Cuando esta configuración está activa, solo los miembros de los grupos especificados pueden usarlo.", diff --git a/l10n/es_GT.js b/l10n/es_GT.js index 48951f672a..de6e281b51 100644 --- a/l10n/es_GT.js +++ b/l10n/es_GT.js @@ -33,6 +33,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -44,7 +45,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_GT.json b/l10n/es_GT.json index bb2aab8fd4..de82019212 100644 --- a/l10n/es_GT.json +++ b/l10n/es_GT.json @@ -31,6 +31,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -42,7 +43,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_HN.js b/l10n/es_HN.js index fa6c6ef96b..a5fee5802e 100644 --- a/l10n/es_HN.js +++ b/l10n/es_HN.js @@ -27,6 +27,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -38,7 +39,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_HN.json b/l10n/es_HN.json index 9629977c7f..1e48689f16 100644 --- a/l10n/es_HN.json +++ b/l10n/es_HN.json @@ -25,6 +25,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -36,7 +37,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_MX.js b/l10n/es_MX.js index ff4e788ae0..ecadde6d18 100644 --- a/l10n/es_MX.js +++ b/l10n/es_MX.js @@ -34,6 +34,7 @@ OC.L10N.register( "%s (Guest)" : "%s (Invitado)", "Edit office documents directly in your browser." : "Edita archivos de office directamente en tu navegador.", "New" : "Nuevo", + "Failed to save settings" : "No se pudo guardar la configuración", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online es una poderosa suite de ofimática basada en LibreOffice con edición colaborativa, que soporta todos los grandes formatos de archivo de documentos, hojas de cálculo y presentaciones y funciona con todos los navegadores modernos. ", "URL (and Port) of Collabora Online-server" : "URL (y puerto) del servidor de Collabora Online", "Disable certificate verification (insecure)" : "Deshabilitar la verificación de certificado (inseguro)", @@ -46,23 +47,26 @@ OC.L10N.register( "Use Canonical webroot" : "Usar el webroot Canonico", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "webroot canonico, en caso de que haya varios, para que los use Collabora. Proporciona el que tenga menos restricciones. P. ej. Usa un webroot no-shibbolizado si la instancia es accesible por tanto un webroot shibbolizado y un no shibbolizado. Puedes ignorar esta configuracion si solo un webroot se usa para acceder a la instancia. ", "Enable access for external apps" : "Habilitar acceso para aplicaciones externas", - "Failed to save settings" : "No se pudo guardar la configuración", "Save" : "Guardar", "Remove" : "Borrar", "Submit name" : "Enviar nombre", "Confirm" : "Confirmar", "Cancel" : "Cancelar", - "Save as" : "Guardar como", "Save As" : "Guardar Como", + "Save as" : "Guardar como", + "Invalid file name" : "Nombre de archivo inválido", + "Select template" : "Seleccionar plantilla", + "File name" : "Nombre de archivo", + "Create" : "Crear", "Submit" : "Enviar", - "Select a template directory" : "Seleccionar un directorio de plantillas", "Select a personal template folder" : "Seleccionar la carpeta de plantillas personales", + "Select a template directory" : "Seleccionar un directorio de plantillas", "Remove personal template folder" : "Eliminar la carpeta de plantillas personales", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Las plantillas dentro de este directorio se agregarán al selector de plantillas de Nextcloud Online.", "Description" : "Descripción", "No results" : "Sin resultados", - "Select file or folder to link to" : "Seleccionar archivo o carpeta para enlazar.", "Select file" : "Seleccionar archivo", + "Select file or folder to link to" : "Seleccionar archivo o carpeta para enlazar.", "Close" : "Cerrar", "Edit" : "Editar", "Close version preview" : "Cerrar la vista previa de la versión", @@ -77,9 +81,7 @@ OC.L10N.register( "Guest" : "Invitado", "Follow current editor" : "Seguir al editor actual", "New file" : "Archivo nuevo", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", - "Select template" : "Seleccionar plantilla", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", "An error occurred" : "Se presentó un error", diff --git a/l10n/es_MX.json b/l10n/es_MX.json index ee8e27b2e6..22c05b8daa 100644 --- a/l10n/es_MX.json +++ b/l10n/es_MX.json @@ -32,6 +32,7 @@ "%s (Guest)" : "%s (Invitado)", "Edit office documents directly in your browser." : "Edita archivos de office directamente en tu navegador.", "New" : "Nuevo", + "Failed to save settings" : "No se pudo guardar la configuración", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online es una poderosa suite de ofimática basada en LibreOffice con edición colaborativa, que soporta todos los grandes formatos de archivo de documentos, hojas de cálculo y presentaciones y funciona con todos los navegadores modernos. ", "URL (and Port) of Collabora Online-server" : "URL (y puerto) del servidor de Collabora Online", "Disable certificate verification (insecure)" : "Deshabilitar la verificación de certificado (inseguro)", @@ -44,23 +45,26 @@ "Use Canonical webroot" : "Usar el webroot Canonico", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "webroot canonico, en caso de que haya varios, para que los use Collabora. Proporciona el que tenga menos restricciones. P. ej. Usa un webroot no-shibbolizado si la instancia es accesible por tanto un webroot shibbolizado y un no shibbolizado. Puedes ignorar esta configuracion si solo un webroot se usa para acceder a la instancia. ", "Enable access for external apps" : "Habilitar acceso para aplicaciones externas", - "Failed to save settings" : "No se pudo guardar la configuración", "Save" : "Guardar", "Remove" : "Borrar", "Submit name" : "Enviar nombre", "Confirm" : "Confirmar", "Cancel" : "Cancelar", - "Save as" : "Guardar como", "Save As" : "Guardar Como", + "Save as" : "Guardar como", + "Invalid file name" : "Nombre de archivo inválido", + "Select template" : "Seleccionar plantilla", + "File name" : "Nombre de archivo", + "Create" : "Crear", "Submit" : "Enviar", - "Select a template directory" : "Seleccionar un directorio de plantillas", "Select a personal template folder" : "Seleccionar la carpeta de plantillas personales", + "Select a template directory" : "Seleccionar un directorio de plantillas", "Remove personal template folder" : "Eliminar la carpeta de plantillas personales", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Las plantillas dentro de este directorio se agregarán al selector de plantillas de Nextcloud Online.", "Description" : "Descripción", "No results" : "Sin resultados", - "Select file or folder to link to" : "Seleccionar archivo o carpeta para enlazar.", "Select file" : "Seleccionar archivo", + "Select file or folder to link to" : "Seleccionar archivo o carpeta para enlazar.", "Close" : "Cerrar", "Edit" : "Editar", "Close version preview" : "Cerrar la vista previa de la versión", @@ -75,9 +79,7 @@ "Guest" : "Invitado", "Follow current editor" : "Seguir al editor actual", "New file" : "Archivo nuevo", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", - "Select template" : "Seleccionar plantilla", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", "An error occurred" : "Se presentó un error", diff --git a/l10n/es_NI.js b/l10n/es_NI.js index fa6c6ef96b..a5fee5802e 100644 --- a/l10n/es_NI.js +++ b/l10n/es_NI.js @@ -27,6 +27,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -38,7 +39,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_NI.json b/l10n/es_NI.json index 9629977c7f..1e48689f16 100644 --- a/l10n/es_NI.json +++ b/l10n/es_NI.json @@ -25,6 +25,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -36,7 +37,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_PA.js b/l10n/es_PA.js index fa6c6ef96b..a5fee5802e 100644 --- a/l10n/es_PA.js +++ b/l10n/es_PA.js @@ -27,6 +27,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -38,7 +39,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_PA.json b/l10n/es_PA.json index 9629977c7f..1e48689f16 100644 --- a/l10n/es_PA.json +++ b/l10n/es_PA.json @@ -25,6 +25,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -36,7 +37,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_PE.js b/l10n/es_PE.js index fa6c6ef96b..a5fee5802e 100644 --- a/l10n/es_PE.js +++ b/l10n/es_PE.js @@ -27,6 +27,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -38,7 +39,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_PE.json b/l10n/es_PE.json index 9629977c7f..1e48689f16 100644 --- a/l10n/es_PE.json +++ b/l10n/es_PE.json @@ -25,6 +25,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -36,7 +37,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_PR.js b/l10n/es_PR.js index fa6c6ef96b..a5fee5802e 100644 --- a/l10n/es_PR.js +++ b/l10n/es_PR.js @@ -27,6 +27,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -38,7 +39,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_PR.json b/l10n/es_PR.json index 9629977c7f..1e48689f16 100644 --- a/l10n/es_PR.json +++ b/l10n/es_PR.json @@ -25,6 +25,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -36,7 +37,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_PY.js b/l10n/es_PY.js index 7ca223dcb4..13d8fead3e 100644 --- a/l10n/es_PY.js +++ b/l10n/es_PY.js @@ -27,6 +27,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -38,7 +39,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_PY.json b/l10n/es_PY.json index 5b65d5f702..e97509190b 100644 --- a/l10n/es_PY.json +++ b/l10n/es_PY.json @@ -25,6 +25,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -36,7 +37,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_SV.js b/l10n/es_SV.js index 48951f672a..de6e281b51 100644 --- a/l10n/es_SV.js +++ b/l10n/es_SV.js @@ -33,6 +33,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -44,7 +45,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_SV.json b/l10n/es_SV.json index bb2aab8fd4..de82019212 100644 --- a/l10n/es_SV.json +++ b/l10n/es_SV.json @@ -31,6 +31,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -42,7 +43,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_UY.js b/l10n/es_UY.js index fa6c6ef96b..a5fee5802e 100644 --- a/l10n/es_UY.js +++ b/l10n/es_UY.js @@ -27,6 +27,7 @@ OC.L10N.register( "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -38,7 +39,6 @@ OC.L10N.register( "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/es_UY.json b/l10n/es_UY.json index 9629977c7f..1e48689f16 100644 --- a/l10n/es_UY.json +++ b/l10n/es_UY.json @@ -25,6 +25,7 @@ "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar Como", + "Create" : "Crear", "Submit" : "Enviar", "Description" : "Descripción", "No results" : "No hay resultados", @@ -36,7 +37,6 @@ "Details" : "Detalles", "Download" : "Descargar", "Guest" : "Invitado", - "Create" : "Crear", "Could not create file" : "No fue posible crear el archivo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Guardado con error: Collabora Online debería usar el mismo protocolo que la instalación del servidor.", "Error" : "Error", diff --git a/l10n/et_EE.js b/l10n/et_EE.js index 6a7b271bf2..8f4901c4a7 100644 --- a/l10n/et_EE.js +++ b/l10n/et_EE.js @@ -1,7 +1,8 @@ OC.L10N.register( "richdocuments", { - "Cannot create document" : "Dokumendi loomine ebaõnnestus", + "No files found for this task." : "Selle ülesande jaoks ei leidu faile.", + "Cannot create document" : "Dokumendi loomine ei õnnestunud", "New Document.odt" : "Uus dokument.odt", "New Spreadsheet.ods" : "Uus arvutustabel.ods", "New Presentation.odp" : "Uus esitlus.odp", @@ -27,21 +28,50 @@ OC.L10N.register( "Only template files can be uploaded" : "Üles saab laadida ainult mallifaile", "Invalid file provided" : "Vigane fail", "Template not found" : "Malli ei leitud", + "Unable to determine the proper file extension for %1$s" : "%1$s õiget faililaiendit ei õnnestu tuvastada", + "Unable to fetch information on %1$s" : "%1$s andmete laadimine ei õnnestu", + "PDF (.pdf)" : "PDF-fail (.pdf)", + "Image (.png)" : "Pilt (.png)", + "Image (.svg)" : "Pilt (.svg)", + "Text (.rtf)" : "Tekst (.rtf)", + "Text (.txt)" : "Tekst (.txt)", + "Word Document (.docx)" : "Word Document (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument Text (.odt)", + "Excel Workbook (.xlsx)" : "Excel Workbook (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument Spreadsheet (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint Presentation (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument Presentation (.odp)", "New document" : "Uus dokument", "New spreadsheet" : "Uus arvutustabel", "New presentation" : "Uus esitlus", - "New diagram" : "Uus diagramm", + "New diagram" : "Uus skeem", "Link to office document section" : "Link dokumendi lõigule", "Nextcloud Office" : "Nextcloud Office", "Headings" : "Pealkirjad", "Sections" : "Lõigud", "Images" : "Pildid", "Sheets" : "Lehed", + "Slides" : "Slaidid", "Office" : "Kontor", + "Document format" : "Dokumendivorming", + "The format of the generated document" : "Loodava dokumendi vorming", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Instructions" : "Juhend", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", "Empty" : "Tühi", "Anonymous guest" : "Anonüümne külaline", "%s (Guest)" : "%s (külaline)", + "Uploaded template \"{name}\"" : "„{name}“ mall on laaditud üles", + "Template \"{name}\" already exists" : "„{name}“ mall on juba olemas", + "Unable to delete template" : "Malli kustutamine ei õnnestunud", + "Deleted template" : "Mall on kustutatud", + "Global Templates" : "Üldised mallid", "New" : "Uus", + "Failed to save settings" : "Seadistuste salvestamine ei õnnestunud", + "Font format not supported ({mime})" : "Kirjatüübi vorming pole toetatud ({mime})", "Could not establish connection to the Collabora Online server." : "Ühenduse loomine Collabora Online serveriga ebaõnnestus.", "Setting up a new server" : "Uue serveri seadistamine", "Collabora Online server is reachable." : "Collabora Online server on kättesaadav.", @@ -51,6 +81,7 @@ OC.L10N.register( "Nextcloud Office requires a separate server running Collabora Online to provide editing capabilities." : "Nextcloud Office vajab eraldi Collabora Online serverit, et pakkuda redigeerimise võimalusi.", "URL (and Port) of Collabora Online-server" : "Collabora Online serveri URL (ja port)", "Disable certificate verification (insecure)" : "Lülita välja sertifikaadi kontroll (ebaturvaline)", + "Install it from the App Store." : "Paigalda ta rakendustepoest.", "Use a demo server" : "Kasuta demoserverit", "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Sinu Nextcloud ei suuda demoserveriga ühenduda, sest:", "it uses an insecure protocol (HTTP)" : "see kasutab ebaturvalist protokolli (HTTP)", @@ -65,14 +96,45 @@ OC.L10N.register( "Restrict edit to specific groups" : "Piira redigeerimist valitud gruppidele", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit, whereas the others can only view documents." : "Vaikimisi saavad kõik kasutajad dokumente {productName} abil redigeerida. Kui see valik on aktiivne, võivad ainult valitud gruppide liikmed redigeerida, ülejäänud kasutajad võivad ainult dokumente vaadata.", "Enable access for external apps" : "Luba väliste rakenduste ligipääs", - "Extra fonts" : "Täiendavad fondid", - "Upload extra font file" : "Laadi üles täiendav font", + "Custom Fonts" : "Sinu valitud kirjatüübid", + "Upload font file" : "Laadi üles kirjatüübi fail", "Upload a font file" : "Laadi üles font", "Available fonts" : "Saadaval fondid", + "Secure View" : "Turvaline vaade", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Turvavaade võimaldab turvata oma faile kasutades allalaadimiste blokeerimist, eelvaadete keelamist ja vesimärkide lisamist/kuvamist.", + "Downloading the file through WebDAV will be blocked" : "Faili allalaadimine WebDAV-i abil on blokeeritud", + "Previews will be blocked" : "Eelvaated on blokeeritud", + "Enable secure view" : "Kasuta turvavaadet", + "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Toetatud kohatäitjad: {userId}, {userDisplayName}, {email}, {date}, {themingName}", + "Enforce secure view on tagged files" : "Sundkorras kasuta sildistatud failide jaoks turvavaadet", + "Enforce secure view for users of groups" : "Sundkorras kasuta kasutajate või gruppide jaoks turvavaadet", + "Enforce secure view for all shares" : "Sundkorras kasuta turvavaadet kõikide jagamiste puhul", + "Enforce secure view for read only shares" : "Sundkorras kasuta turvavaadet vaid lugemisõigusega jagamiste puhul", + "Electronic Signature" : "Digiallkiri", "Save" : "Salvesta", + "Remove" : "Eemalda", + "Guest name" : "Külalise nimi", + "Submit name" : "Salvesta nimi", "Confirm" : "Kinnita", "Cancel" : "Tühista", + "Save as" : "Salvesta kui", + "Path to save" : "Asukoht salvestamiseks", + "Invalid file name" : "Vigane failinimi", + "File name already exists" : "Failinimi on juba olemas", + "Select template" : "Vali mall", + "File name" : "Failinimi", + "Create" : "Loo", + "Failed to set Zotero API key" : "Zotero API võtme lisamine ei õnnestunud", + "Link to your Zotero library" : "Link sinu Zotero teegile", + "Connect your Zotero account to make use of references within Office." : "Ühenda oma Zotero kasutajakontoga ning kasuta võimalust luua viiteid selle rakenduse sees", + "You can generate an account key here:" : "Kasutajakonto võtmed saad luua siin:", + "Zotero account settings" : "Zotero kasutajakonto seadistused", + "Zotero API key" : "Zotero API võti", "Submit" : "Saada", + "Select a personal template folder" : "Vali isiklik mallide kaust", + "Settings saved successfully." : "Seadistuste salvestamine õnnestus.", + "Failed to save settings." : "Seadistuste salvestamine ei õnnestunud.", + "Unexpected error occurred." : "Tekkis ootamatu viga.", "Select a template directory" : "Vali mallide kaust", "Remove personal template folder" : "Eemalda isiklik mallide kaust", "Zotero" : "Zotero", @@ -80,35 +142,57 @@ OC.L10N.register( "Remove Zotero API Key" : "Eemalda Zotero API võti", "To use Zotero specify your API key here. You can create your API key in your" : "Zotero kasutamiseks sisesta siin oma API võti. Saad API võtme luua oma", "Zotero account API settings." : "Zotero konto API seadetes.", + "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Selles serveris puudub Zotero tugi - see lisamoodul on kas paigaldamata või pole kasutusel. Lisateavet saad serveri peakasutajalt.", + "Document signing" : "Dokumentide allkirjastamine", + "Enter document signing cert (in PEM format)" : "Sisesta dokumendi allkirjastamise sertifikaat (PEM-vormingus)", + "Enter document signing key" : "Sisesta dokumendi allkirjastamise võti", + "Enter document signing CA chain" : "Sisesta dokumendi allkirjastamise sertifitseerimiskeskuse sertifikaadiahel", "Description" : "Kirjeldus", - "Delete this font" : "Kustuta see font", + "No font overview" : "Kirjatüübi ülevaade puudub", + "Delete this font" : "Kustuta see kirjatüüp", "No results" : "Vasteid ei leitud", + "Select file" : "Vali fail", + "Select file or folder to link to" : "Vali lingitav fail või kaust", + "Could not find any section in the document" : "Dokumendist ei õnnestunud ühtegi lõiku leida", + "{productName} is not configured" : "{productName} ei ole seadistatud", + "Loading {filename} …" : "Laadin vormi: {filename}…", "Document loading failed" : "Dokumendi laadimine ebaõnnestus", "Close" : "Sulge", - "Edit" : "Redigeeri", - "{productName} is not configured" : "{productName} ei ole seadistatud", + "Edit" : "Muuda", "Close version preview" : "Sulge versiooni eelvaade", + "Insert into document" : "Lisa dokumenti", + "Open file locally" : "Ava fail kohalikus seadmes", + "Open locally" : "Ava kohalikust andmeruumist", + "Continue editing online" : "Jätka muutmist võrgus", "Remove from favorites" : "Eemalda lemmikutest", "Add to favorites" : "Lisa lemmikutesse", "Details" : "Üksikasjad", "Download" : "Laadi alla", + "(read only)" : "(kirjutuskaitstud)", "Remove user" : "Eemalda kasutaja", "Guest" : "Külaline", "New file" : "Uus fail", - "Create" : "Loo", - "New drawing" : "Uus joonistus", + "Please enter the filename for the new file" : "Palun sisesta uue faili nimi", "Could not create file" : "Faili loomine ebaõnnestus", - "Select template" : "Vali mall", + "Could not load templates" : "Malle ei õnnestunud laadida", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Ühenduse loomine Collabora Online serveriga ebaõnnestus. Põhjuseks võib olla veebiserveri puudulik seadistus. Lisainfo saamiseks külasta", "Error" : "Viga", "An error occurred" : "Tekkis tõrge", + "Please choose your nickname to continue as guest user." : "Jätkamaks külaliskasutajana palun vali endale hüüdnimi.", "Nickname" : "Hüüdnimi", + "Set" : "Lisa", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online pole veel seadistatud. Palun võta ühendust oma serveri haldajaga.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Kuna ilma kehtiva sessioonite pole välise andmeruumi kasutajanimi/salasõna saadaval, siis selle faili avamine pole toetatud", "Saving…" : "Salvestamine...", "Last saved version" : "Viimati salvestatud versioon", + "Current version (unsaved changes)" : "Senine versioon (salvestamata muudatused)", "Create a new document" : "Loo uus dokument", "Global templates" : "Globaalsed mallid", "Add a new template" : "Lisa uus mall", + "No templates defined." : "Malle pole määratletud.", "Add a new one?" : "Lisa uus?", + "template preview" : "malli eelvaade", + "New drawing" : "Uus joonistus", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument on juba olemas", "Templates inside of this directory will be added to the template selector of Collabora Online." : "Selles kaustas olevad mallid lisatakse Collabora Online mallide valikusse." diff --git a/l10n/et_EE.json b/l10n/et_EE.json index 7c79141f6e..2f84e0fa69 100644 --- a/l10n/et_EE.json +++ b/l10n/et_EE.json @@ -1,5 +1,6 @@ { "translations": { - "Cannot create document" : "Dokumendi loomine ebaõnnestus", + "No files found for this task." : "Selle ülesande jaoks ei leidu faile.", + "Cannot create document" : "Dokumendi loomine ei õnnestunud", "New Document.odt" : "Uus dokument.odt", "New Spreadsheet.ods" : "Uus arvutustabel.ods", "New Presentation.odp" : "Uus esitlus.odp", @@ -25,21 +26,50 @@ "Only template files can be uploaded" : "Üles saab laadida ainult mallifaile", "Invalid file provided" : "Vigane fail", "Template not found" : "Malli ei leitud", + "Unable to determine the proper file extension for %1$s" : "%1$s õiget faililaiendit ei õnnestu tuvastada", + "Unable to fetch information on %1$s" : "%1$s andmete laadimine ei õnnestu", + "PDF (.pdf)" : "PDF-fail (.pdf)", + "Image (.png)" : "Pilt (.png)", + "Image (.svg)" : "Pilt (.svg)", + "Text (.rtf)" : "Tekst (.rtf)", + "Text (.txt)" : "Tekst (.txt)", + "Word Document (.docx)" : "Word Document (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument Text (.odt)", + "Excel Workbook (.xlsx)" : "Excel Workbook (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument Spreadsheet (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint Presentation (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument Presentation (.odp)", "New document" : "Uus dokument", "New spreadsheet" : "Uus arvutustabel", "New presentation" : "Uus esitlus", - "New diagram" : "Uus diagramm", + "New diagram" : "Uus skeem", "Link to office document section" : "Link dokumendi lõigule", "Nextcloud Office" : "Nextcloud Office", "Headings" : "Pealkirjad", "Sections" : "Lõigud", "Images" : "Pildid", "Sheets" : "Lehed", + "Slides" : "Slaidid", "Office" : "Kontor", + "Document format" : "Dokumendivorming", + "The format of the generated document" : "Loodava dokumendi vorming", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Instructions" : "Juhend", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", "Empty" : "Tühi", "Anonymous guest" : "Anonüümne külaline", "%s (Guest)" : "%s (külaline)", + "Uploaded template \"{name}\"" : "„{name}“ mall on laaditud üles", + "Template \"{name}\" already exists" : "„{name}“ mall on juba olemas", + "Unable to delete template" : "Malli kustutamine ei õnnestunud", + "Deleted template" : "Mall on kustutatud", + "Global Templates" : "Üldised mallid", "New" : "Uus", + "Failed to save settings" : "Seadistuste salvestamine ei õnnestunud", + "Font format not supported ({mime})" : "Kirjatüübi vorming pole toetatud ({mime})", "Could not establish connection to the Collabora Online server." : "Ühenduse loomine Collabora Online serveriga ebaõnnestus.", "Setting up a new server" : "Uue serveri seadistamine", "Collabora Online server is reachable." : "Collabora Online server on kättesaadav.", @@ -49,6 +79,7 @@ "Nextcloud Office requires a separate server running Collabora Online to provide editing capabilities." : "Nextcloud Office vajab eraldi Collabora Online serverit, et pakkuda redigeerimise võimalusi.", "URL (and Port) of Collabora Online-server" : "Collabora Online serveri URL (ja port)", "Disable certificate verification (insecure)" : "Lülita välja sertifikaadi kontroll (ebaturvaline)", + "Install it from the App Store." : "Paigalda ta rakendustepoest.", "Use a demo server" : "Kasuta demoserverit", "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Sinu Nextcloud ei suuda demoserveriga ühenduda, sest:", "it uses an insecure protocol (HTTP)" : "see kasutab ebaturvalist protokolli (HTTP)", @@ -63,14 +94,45 @@ "Restrict edit to specific groups" : "Piira redigeerimist valitud gruppidele", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit, whereas the others can only view documents." : "Vaikimisi saavad kõik kasutajad dokumente {productName} abil redigeerida. Kui see valik on aktiivne, võivad ainult valitud gruppide liikmed redigeerida, ülejäänud kasutajad võivad ainult dokumente vaadata.", "Enable access for external apps" : "Luba väliste rakenduste ligipääs", - "Extra fonts" : "Täiendavad fondid", - "Upload extra font file" : "Laadi üles täiendav font", + "Custom Fonts" : "Sinu valitud kirjatüübid", + "Upload font file" : "Laadi üles kirjatüübi fail", "Upload a font file" : "Laadi üles font", "Available fonts" : "Saadaval fondid", + "Secure View" : "Turvaline vaade", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Turvavaade võimaldab turvata oma faile kasutades allalaadimiste blokeerimist, eelvaadete keelamist ja vesimärkide lisamist/kuvamist.", + "Downloading the file through WebDAV will be blocked" : "Faili allalaadimine WebDAV-i abil on blokeeritud", + "Previews will be blocked" : "Eelvaated on blokeeritud", + "Enable secure view" : "Kasuta turvavaadet", + "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Toetatud kohatäitjad: {userId}, {userDisplayName}, {email}, {date}, {themingName}", + "Enforce secure view on tagged files" : "Sundkorras kasuta sildistatud failide jaoks turvavaadet", + "Enforce secure view for users of groups" : "Sundkorras kasuta kasutajate või gruppide jaoks turvavaadet", + "Enforce secure view for all shares" : "Sundkorras kasuta turvavaadet kõikide jagamiste puhul", + "Enforce secure view for read only shares" : "Sundkorras kasuta turvavaadet vaid lugemisõigusega jagamiste puhul", + "Electronic Signature" : "Digiallkiri", "Save" : "Salvesta", + "Remove" : "Eemalda", + "Guest name" : "Külalise nimi", + "Submit name" : "Salvesta nimi", "Confirm" : "Kinnita", "Cancel" : "Tühista", + "Save as" : "Salvesta kui", + "Path to save" : "Asukoht salvestamiseks", + "Invalid file name" : "Vigane failinimi", + "File name already exists" : "Failinimi on juba olemas", + "Select template" : "Vali mall", + "File name" : "Failinimi", + "Create" : "Loo", + "Failed to set Zotero API key" : "Zotero API võtme lisamine ei õnnestunud", + "Link to your Zotero library" : "Link sinu Zotero teegile", + "Connect your Zotero account to make use of references within Office." : "Ühenda oma Zotero kasutajakontoga ning kasuta võimalust luua viiteid selle rakenduse sees", + "You can generate an account key here:" : "Kasutajakonto võtmed saad luua siin:", + "Zotero account settings" : "Zotero kasutajakonto seadistused", + "Zotero API key" : "Zotero API võti", "Submit" : "Saada", + "Select a personal template folder" : "Vali isiklik mallide kaust", + "Settings saved successfully." : "Seadistuste salvestamine õnnestus.", + "Failed to save settings." : "Seadistuste salvestamine ei õnnestunud.", + "Unexpected error occurred." : "Tekkis ootamatu viga.", "Select a template directory" : "Vali mallide kaust", "Remove personal template folder" : "Eemalda isiklik mallide kaust", "Zotero" : "Zotero", @@ -78,35 +140,57 @@ "Remove Zotero API Key" : "Eemalda Zotero API võti", "To use Zotero specify your API key here. You can create your API key in your" : "Zotero kasutamiseks sisesta siin oma API võti. Saad API võtme luua oma", "Zotero account API settings." : "Zotero konto API seadetes.", + "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Selles serveris puudub Zotero tugi - see lisamoodul on kas paigaldamata või pole kasutusel. Lisateavet saad serveri peakasutajalt.", + "Document signing" : "Dokumentide allkirjastamine", + "Enter document signing cert (in PEM format)" : "Sisesta dokumendi allkirjastamise sertifikaat (PEM-vormingus)", + "Enter document signing key" : "Sisesta dokumendi allkirjastamise võti", + "Enter document signing CA chain" : "Sisesta dokumendi allkirjastamise sertifitseerimiskeskuse sertifikaadiahel", "Description" : "Kirjeldus", - "Delete this font" : "Kustuta see font", + "No font overview" : "Kirjatüübi ülevaade puudub", + "Delete this font" : "Kustuta see kirjatüüp", "No results" : "Vasteid ei leitud", + "Select file" : "Vali fail", + "Select file or folder to link to" : "Vali lingitav fail või kaust", + "Could not find any section in the document" : "Dokumendist ei õnnestunud ühtegi lõiku leida", + "{productName} is not configured" : "{productName} ei ole seadistatud", + "Loading {filename} …" : "Laadin vormi: {filename}…", "Document loading failed" : "Dokumendi laadimine ebaõnnestus", "Close" : "Sulge", - "Edit" : "Redigeeri", - "{productName} is not configured" : "{productName} ei ole seadistatud", + "Edit" : "Muuda", "Close version preview" : "Sulge versiooni eelvaade", + "Insert into document" : "Lisa dokumenti", + "Open file locally" : "Ava fail kohalikus seadmes", + "Open locally" : "Ava kohalikust andmeruumist", + "Continue editing online" : "Jätka muutmist võrgus", "Remove from favorites" : "Eemalda lemmikutest", "Add to favorites" : "Lisa lemmikutesse", "Details" : "Üksikasjad", "Download" : "Laadi alla", + "(read only)" : "(kirjutuskaitstud)", "Remove user" : "Eemalda kasutaja", "Guest" : "Külaline", "New file" : "Uus fail", - "Create" : "Loo", - "New drawing" : "Uus joonistus", + "Please enter the filename for the new file" : "Palun sisesta uue faili nimi", "Could not create file" : "Faili loomine ebaõnnestus", - "Select template" : "Vali mall", + "Could not load templates" : "Malle ei õnnestunud laadida", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Ühenduse loomine Collabora Online serveriga ebaõnnestus. Põhjuseks võib olla veebiserveri puudulik seadistus. Lisainfo saamiseks külasta", "Error" : "Viga", "An error occurred" : "Tekkis tõrge", + "Please choose your nickname to continue as guest user." : "Jätkamaks külaliskasutajana palun vali endale hüüdnimi.", "Nickname" : "Hüüdnimi", + "Set" : "Lisa", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online pole veel seadistatud. Palun võta ühendust oma serveri haldajaga.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Kuna ilma kehtiva sessioonite pole välise andmeruumi kasutajanimi/salasõna saadaval, siis selle faili avamine pole toetatud", "Saving…" : "Salvestamine...", "Last saved version" : "Viimati salvestatud versioon", + "Current version (unsaved changes)" : "Senine versioon (salvestamata muudatused)", "Create a new document" : "Loo uus dokument", "Global templates" : "Globaalsed mallid", "Add a new template" : "Lisa uus mall", + "No templates defined." : "Malle pole määratletud.", "Add a new one?" : "Lisa uus?", + "template preview" : "malli eelvaade", + "New drawing" : "Uus joonistus", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument on juba olemas", "Templates inside of this directory will be added to the template selector of Collabora Online." : "Selles kaustas olevad mallid lisatakse Collabora Online mallide valikusse." diff --git a/l10n/eu.js b/l10n/eu.js index ea5315afd2..d087a70a57 100644 --- a/l10n/eu.js +++ b/l10n/eu.js @@ -40,17 +40,22 @@ OC.L10N.register( "Sheets" : "Orriak", "Slides" : "Diapositiba", "Office" : "Bulegoa", + "Instructions" : "Jarraibideak", "Empty" : "Hutsik", "Anonymous guest" : "Gonbidatu anonimoa", "%s (Guest)" : "%s (Gonbidatua)", "Edit office documents directly in your browser." : "Editatu bulegoko dokumentuak nabigatzailean bertan.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Aplikazio hau Collabora Online (edo bestelako) zerbitzari batekin konekta daiteke (WOPI moduko Bezeroa). Nextcloud da WOPI Ostalaria. Irakurri dokumentazioa honi buruz gehiago jakiteko.\n\nOff-line ere edita ditzakezu zure dokumentuak Collabora Office aplikazioa lortuz hemendik **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** edo hemendik **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", - "Global Templates" : "Txantiloi orokorrak", - "New" : "Berria", "Uploaded template \"{name}\"" : "«{name}» txantiloia igo da", "Template \"{name}\" already exists" : "«{name}» txantiloia dagoeneko existitzen da", "Unable to delete template" : "Ezin izan da txantiloia ezabatu", "Deleted template" : "Txantiloia ezabatuta", + "Global Templates" : "Txantiloi orokorrak", + "New" : "Berria", + "Contact {0} to get an own installation." : "Jarri harremanetan {0}(r)ekin instalazio propioa lortzeko.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Ziurtatu URL hau ezarri duzula: {url} Collabora Online zerbitzariaren coolwsd.xml fitxategian gehitutako letra-tipoak automatikoki kargatzen direla ziurtatzeko. Kontuan izan http:// Collabora Online-ko arazketa moduan soilik funtzionatuko duela. Ekoizpenean https:// erabili behar duzu urruneko letra-tipo konfiguraziorako.", + "Failed to save settings" : "Ezarpenak gordetzeak huts egin du", + "Font format not supported ({mime})" : "Letra-formatua ez da onartzen ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office Collabora Online sarean oinarritutako bulegoko suite indartsua da, lankidetza-edizioa duena, dokumentu, kalkulu-orri eta aurkezpen-fitxategi formatu nagusi guztiak onartzen dituena eta arakatzaile moderno guztiekin batera funtzionatzen duena.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online sarean lankidetzan aritzeko office suite indartsu bat da, LibreOffice-n oinarritua. Testu, kalkulu eta aurkezpen dokumentuen formatu nagusiak onartzen ditu eta nabigatzaile moderno guztiekin ondo dabil.", "Could not establish connection to the Collabora Online server." : "Ezin izan da konexioa ezarri Collabora Online zerbitzariarekin.", @@ -108,54 +113,38 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroota, asko badaude, Collabora erabiltzeko. Eman murriztapen gutxien duena. Adibidez: erabili ez shibbolized webroot instantzia hau bai shibbolized eta ez shibbolized webroot bidez sartzen bada. Ezarpen hau alboratu dezakezu instantzia honetara sartzeko webroot bakarra erabiltzen bada. ", "Enable access for external apps" : "Gaitu kanpoko aplikazioentzako sarbidea", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "WOPI amaiera-puntuen eskaerak egiteko baimena duten IPV4 eta IPV6 IP helbide eta azpisareen zerrenda. Baimen zerrendarik zehazten ez bada, ostalari guztiak onartuko dira. Adib. 10.0.0.20,10.0.4.0 / 24", - "Extra fonts" : "Letra-tipo gehigarriak", - "Upload extra font file" : "Igo letra tipo-fitxategi gehigarria", "Upload a font file" : "Igo letra-tipo-fitxategi bat", "Available fonts" : "Letra-tipo erabilgarriak", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Dokumentuen bateragarritasuna ahalik eta onena izateko gomendagarria da ohiko letra-tipoak instalatzea. Zure erabiltzaileek Microsoft Office-rekin lan egiten badute, haien letra-tipo gabetzaileak instalatzeko aukera dago dokumentazioa jarraituz.", "Custom fonts documentation" : "Letra-tipoak pertsonalizatzeko dokumentazioa", - "Secure view settings" : "Ikuspegi seguruaren ezarpenak", - "Secure view enables you to secure documents by embedding a watermark" : "Ikuspegi seguruak dokumentuak ur-marka bat txertatuz segurtatzeko aukera ematen dizu.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ezarpenak Nextcloud Office-n irekitako bulegoko fitxategi bateragarriei soilik aplikatzen zaizkie", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office barruan aukera hauek desgaitu egingo dira: Kopiatu, Deskargatu, Esportatu, Inprimatu", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Baliteke fitxategiak Nextcloud-en bidez deskargatzea, partekatzeko edo sarbidea kontrolatzeko ezarpenen bidez bestela mugatzen ez bada", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Baliteke fitxategiak WOPI eskaeren bidez deskargatu ahal izatea, WOPI ezarpenak behar bezala konfiguratuta ez badaude", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Aurrebistak blokeatuko dira ur-markadun fitxategientzat dokumentuen lehen orrialdea ez filtratzeko", - "Enable watermarking" : "Gaitu ur-marka", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Onartutako leku-markak: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Erakutsi ur-marka etiketatutako fitxategietan", "Select tags to enforce watermarking" : "Hautatu etiketak ur-marka ezartzeko", - "Show watermark for users of groups" : "Erakutsi ur-marka talde hauetako erabiltzaileei", - "Show watermark for all shares" : "Erakutsi ur-marka partekatze guztientzat", - "Show watermark for read only shares" : "Erakutsi ur-marka irakurtzeko soilik diren partekatzeentzat", - "Show watermark for shares without download permission" : "Erakutsi partekatzeetarako ur-marka deskargatzeko baimenik gabe", - "Show watermark for all link shares" : "Erakutsi ur-marka esteka partekatze guztientzat", - "Show watermark for download hidden shares" : "Erakutsi ur-marka irakurtzeko soilik diren deskarga partekatze ezkutuentzat", - "Show watermark for read only link shares" : "Erakutsi ur-marka irakurtzeko soilik diren esteka partekatzeentzat", - "Show watermark on link shares with specific system tags" : "Erakutsi ur-marka sistema-etiketa espezifikoak dituzten esteka partekatzeentzat", - "Contact {0} to get an own installation." : "Jarri harremanetan {0}(r)ekin instalazio propioa lortzeko.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Ziurtatu URL hau ezarri duzula: {url} Collabora Online zerbitzariaren coolwsd.xml fitxategian gehitutako letra-tipoak automatikoki kargatzen direla ziurtatzeko. Kontuan izan http:// Collabora Online-ko arazketa moduan soilik funtzionatuko duela. Ekoizpenean https:// erabili behar duzu urruneko letra-tipo konfiguraziorako.", - "Failed to save settings" : "Ezarpenak gordetzeak huts egin du", - "Font format not supported ({mime})" : "Letra-formatua ez da onartzen ({mime})", "Save" : "Gorde", "Remove" : "Kendu", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Dokumentura jo aurretik sartu nahi duzun gonbidatu izena. Ez baduzu bat jartzen, lehenetsitakoa erabiliko da.", "Guest name" : "Gonbidatu izena", "Submit name" : "Sartu izena", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Dokumentura jo aurretik sartu nahi duzun gonbidatu izena. Ez baduzu bat jartzen, lehenetsitakoa erabiliko da.", "Confirm" : "Berretsi", "Cancel" : "Utzi", + "Save As" : "Gorde honela", "Save as" : "Gorde honela", "Path to save" : "Gordetzeko bidea", - "Save As" : "Gorde honela", + "Invalid file name" : "Fitxategi-izen baliogabea", + "Select template" : "Hautatu txantiloia", + "File name" : "Fitxategi izena", + "Create" : "Sortu", + "Failed to set Zotero API key" : "Ezin izan da ezarri Zotero API gakoa", "Link to your Zotero library" : "Esteka zure Zotero liburutegira", "Connect your Zotero account to make use of references within Office." : "Konektatu Zotero kontua Office barruko erreferentziak erabiltzeko.", "You can generate an account key here:" : "Hemen kontu-gako bat sor dezakezu:", "Zotero account settings" : "Zotero kontuaren ezarpenak", "Zotero API key" : "Zotero API gakoa", "Submit" : "Bidali", - "Failed to set Zotero API key" : "Ezin izan da ezarri Zotero API gakoa", - "Select a template directory" : "Hautatu txantiloien direktorioa", "Select a personal template folder" : "Hautatu txantiloi pertsonalizatuentzako karpeta bat", + "Select a template directory" : "Hautatu txantiloien direktorioa", "Remove personal template folder" : "Kendu txantiloi pertsonalizatuen karpeta", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Direktorio honen barruan dauden txantiloiak Nextcloud Office-ko txantiloien hautatzailean gehituko dira.", "Zotero" : "Zotero", @@ -175,22 +164,22 @@ OC.L10N.register( "No font overview" : "Ez dago letra-tipoaren ikuspegi orokorra", "Delete this font" : "Ezabatu letra-tipo hau", "No results" : "Emaitzarik ez", + "Select file" : "Hautatu fitxategia", "Select file or folder to link to" : "Hautatu estekatzeko fitxategia edo karpeta", "Could not find any section in the document" : "Ezin izan da atalik aurkitu dokumentuan", - "Select file" : "Hautatu fitxategia", + "{productName} is not configured" : "{productName} ez dago konfiguratuta", + "Starting the built-in CODE server failed" : "CODE zerbitzari integratua hasteak huts egin du", + "Loading {filename} …" : "{filename} kargatzen...", + "Failed to load {productName} - please try again later" : "Huts egin du {productName} kargatzean - saiatu berriro beranduago", + "Open in local editor" : "Ireki editore lokalean", + "Cluster is scaling …" : "Klusterra eskalatzen ari da ...", + "The collaborative editing was terminated by another user" : "Lankidetza-edizioa eten egin du beste erabiltzaile batek", "Document loading failed" : "Dokumentua kargatzeak huts egin du", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Egiaztatu Collabora Online zerbitzariko erregistroa xehetasun gehiago jakiteko eta ziurtatu Nextcloud atzitu daitekeela bertatik.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Zokaloaren konexioa ustekabean itxi da. Altzealdeko proxia gaizki konfiguratuta egon daiteke. Mesedez, jarri harremanetan administratzailearekin.", "More information can be found in the reverse proxy documentation" : "Informazio gehiago dago atzealdeko proxien dokumentazioan.", "Close" : "Itxi", "Edit" : "Aldatu", - "Starting the built-in CODE server failed" : "CODE zerbitzari integratua hasteak huts egin du", - "Loading {filename} …" : "{filename} kargatzen...", - "Open in local editor" : "Ireki editore lokalean", - "Cluster is scaling …" : "Klusterra eskalatzen ari da ...", - "The collaborative editing was terminated by another user" : "Lankidetza-edizioa eten egin du beste erabiltzaile batek", - "Failed to load {productName} - please try again later" : "Huts egin du {productName} kargatzean - saiatu berriro beranduago", - "{productName} is not configured" : "{productName} ez dago konfiguratuta", "Built-in CODE Server is starting up shortly, please wait." : "CODE zerbitzari integratua laster abiarazten ari da. Itxaron mesedez.", "Built-in CODE Server is restarting, please wait." : "CODE zerbitzari integratua berrabiarazten ari da, itxaron mesedez.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Errorea: Ezin da AppImage aurkitu. Mesedez, instalatu berriro Collabora Online zerbitzari integratua.", @@ -223,15 +212,23 @@ OC.L10N.register( "Follow current editor" : "Jarraitu uneko editorea", "New file" : "Fitxategi berria", "Please enter the filename for the new file" : "Sartu fitxategi berriarentzako izena", - "Create" : "Sortu", - "New drawing" : "Marrazki berria", "Could not create file" : "Ezin izan da fitxategia sortu", - "Select template" : "Hautatu txantiloia", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Errorearekin gordeta: Collabora Onlinek zerbitzariko instalazioaren protokolo bera erabili beharko luke.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Ezin izan da konexioa ezarri Collabora Online zerbitzariarekin. Baliteke zerbait konfiguratu gabe egotea zure web zerbitzarian. Informazio gehiagorako, joan hona:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office-k Collabora Online exekutatzen duen zerbitzari bereizi bat behar du editatzeko gaitasunak eskaintzeko.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online-k zerbitzari bereizi bat behar du, WOPI moduko Bezero lana eginez ediziorako gaitasunak emateko.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Erabiltzaile guztiek edita ditzakete dokumentuak {productName} lehenespenez. Ezarpen hau aktibo dagoenean, zehaztutako taldeetako kideek soilik edita ditzakete eta gainerakoek dokumentuak soilik ikusi ditzakete.", + "Secure view settings" : "Ikuspegi seguruaren ezarpenak", + "Secure view enables you to secure documents by embedding a watermark" : "Ikuspegi seguruak dokumentuak ur-marka bat txertatuz segurtatzeko aukera ematen dizu.", + "Enable watermarking" : "Gaitu ur-marka", + "Show watermark on tagged files" : "Erakutsi ur-marka etiketatutako fitxategietan", + "Show watermark for users of groups" : "Erakutsi ur-marka talde hauetako erabiltzaileei", + "Show watermark for all shares" : "Erakutsi ur-marka partekatze guztientzat", + "Show watermark for read only shares" : "Erakutsi ur-marka irakurtzeko soilik diren partekatzeentzat", + "Show watermark for all link shares" : "Erakutsi ur-marka esteka partekatze guztientzat", + "Show watermark for download hidden shares" : "Erakutsi ur-marka irakurtzeko soilik diren deskarga partekatze ezkutuentzat", + "Show watermark for read only link shares" : "Erakutsi ur-marka irakurtzeko soilik diren esteka partekatzeentzat", + "Show watermark on link shares with specific system tags" : "Erakutsi ur-marka sistema-etiketa espezifikoak dituzten esteka partekatzeentzat", "Error" : "Errorea", "An error occurred" : "Errore bat gertatu da", "Please choose your nickname to continue as guest user." : "Aukeratu ezizen bat gonbidatutako erabiltzaile bezala jarraitzeko.", @@ -252,6 +249,10 @@ OC.L10N.register( "No templates defined." : "Ez da txantiloirik definitu.", "Add a new one?" : "Berri bat gehitu?", "template preview" : "txantiloiaren aurrebista", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Baliteke fitxategiak Nextcloud-en bidez deskargatzea, partekatzeko edo sarbidea kontrolatzeko ezarpenen bidez bestela mugatzen ez bada", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Aurrebistak blokeatuko dira ur-markadun fitxategientzat dokumentuen lehen orrialdea ez filtratzeko", + "Show watermark for shares without download permission" : "Erakutsi partekatzeetarako ur-marka deskargatzeko baimenik gabe", + "New drawing" : "Marrazki berria", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokumentua badago dagoeneko", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online erabiltzaile guztientzat gaituta dago modu lehenetsian. Ezarpen hau aktibo dagoenean, zehaztutako taldeetako kideek bakarrik erabili dezakete.", diff --git a/l10n/eu.json b/l10n/eu.json index c751d264b0..b2870c84c8 100644 --- a/l10n/eu.json +++ b/l10n/eu.json @@ -38,17 +38,22 @@ "Sheets" : "Orriak", "Slides" : "Diapositiba", "Office" : "Bulegoa", + "Instructions" : "Jarraibideak", "Empty" : "Hutsik", "Anonymous guest" : "Gonbidatu anonimoa", "%s (Guest)" : "%s (Gonbidatua)", "Edit office documents directly in your browser." : "Editatu bulegoko dokumentuak nabigatzailean bertan.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Aplikazio hau Collabora Online (edo bestelako) zerbitzari batekin konekta daiteke (WOPI moduko Bezeroa). Nextcloud da WOPI Ostalaria. Irakurri dokumentazioa honi buruz gehiago jakiteko.\n\nOff-line ere edita ditzakezu zure dokumentuak Collabora Office aplikazioa lortuz hemendik **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** edo hemendik **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", - "Global Templates" : "Txantiloi orokorrak", - "New" : "Berria", "Uploaded template \"{name}\"" : "«{name}» txantiloia igo da", "Template \"{name}\" already exists" : "«{name}» txantiloia dagoeneko existitzen da", "Unable to delete template" : "Ezin izan da txantiloia ezabatu", "Deleted template" : "Txantiloia ezabatuta", + "Global Templates" : "Txantiloi orokorrak", + "New" : "Berria", + "Contact {0} to get an own installation." : "Jarri harremanetan {0}(r)ekin instalazio propioa lortzeko.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Ziurtatu URL hau ezarri duzula: {url} Collabora Online zerbitzariaren coolwsd.xml fitxategian gehitutako letra-tipoak automatikoki kargatzen direla ziurtatzeko. Kontuan izan http:// Collabora Online-ko arazketa moduan soilik funtzionatuko duela. Ekoizpenean https:// erabili behar duzu urruneko letra-tipo konfiguraziorako.", + "Failed to save settings" : "Ezarpenak gordetzeak huts egin du", + "Font format not supported ({mime})" : "Letra-formatua ez da onartzen ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office Collabora Online sarean oinarritutako bulegoko suite indartsua da, lankidetza-edizioa duena, dokumentu, kalkulu-orri eta aurkezpen-fitxategi formatu nagusi guztiak onartzen dituena eta arakatzaile moderno guztiekin batera funtzionatzen duena.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online sarean lankidetzan aritzeko office suite indartsu bat da, LibreOffice-n oinarritua. Testu, kalkulu eta aurkezpen dokumentuen formatu nagusiak onartzen ditu eta nabigatzaile moderno guztiekin ondo dabil.", "Could not establish connection to the Collabora Online server." : "Ezin izan da konexioa ezarri Collabora Online zerbitzariarekin.", @@ -106,54 +111,38 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroota, asko badaude, Collabora erabiltzeko. Eman murriztapen gutxien duena. Adibidez: erabili ez shibbolized webroot instantzia hau bai shibbolized eta ez shibbolized webroot bidez sartzen bada. Ezarpen hau alboratu dezakezu instantzia honetara sartzeko webroot bakarra erabiltzen bada. ", "Enable access for external apps" : "Gaitu kanpoko aplikazioentzako sarbidea", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "WOPI amaiera-puntuen eskaerak egiteko baimena duten IPV4 eta IPV6 IP helbide eta azpisareen zerrenda. Baimen zerrendarik zehazten ez bada, ostalari guztiak onartuko dira. Adib. 10.0.0.20,10.0.4.0 / 24", - "Extra fonts" : "Letra-tipo gehigarriak", - "Upload extra font file" : "Igo letra tipo-fitxategi gehigarria", "Upload a font file" : "Igo letra-tipo-fitxategi bat", "Available fonts" : "Letra-tipo erabilgarriak", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Dokumentuen bateragarritasuna ahalik eta onena izateko gomendagarria da ohiko letra-tipoak instalatzea. Zure erabiltzaileek Microsoft Office-rekin lan egiten badute, haien letra-tipo gabetzaileak instalatzeko aukera dago dokumentazioa jarraituz.", "Custom fonts documentation" : "Letra-tipoak pertsonalizatzeko dokumentazioa", - "Secure view settings" : "Ikuspegi seguruaren ezarpenak", - "Secure view enables you to secure documents by embedding a watermark" : "Ikuspegi seguruak dokumentuak ur-marka bat txertatuz segurtatzeko aukera ematen dizu.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ezarpenak Nextcloud Office-n irekitako bulegoko fitxategi bateragarriei soilik aplikatzen zaizkie", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office barruan aukera hauek desgaitu egingo dira: Kopiatu, Deskargatu, Esportatu, Inprimatu", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Baliteke fitxategiak Nextcloud-en bidez deskargatzea, partekatzeko edo sarbidea kontrolatzeko ezarpenen bidez bestela mugatzen ez bada", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Baliteke fitxategiak WOPI eskaeren bidez deskargatu ahal izatea, WOPI ezarpenak behar bezala konfiguratuta ez badaude", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Aurrebistak blokeatuko dira ur-markadun fitxategientzat dokumentuen lehen orrialdea ez filtratzeko", - "Enable watermarking" : "Gaitu ur-marka", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Onartutako leku-markak: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Erakutsi ur-marka etiketatutako fitxategietan", "Select tags to enforce watermarking" : "Hautatu etiketak ur-marka ezartzeko", - "Show watermark for users of groups" : "Erakutsi ur-marka talde hauetako erabiltzaileei", - "Show watermark for all shares" : "Erakutsi ur-marka partekatze guztientzat", - "Show watermark for read only shares" : "Erakutsi ur-marka irakurtzeko soilik diren partekatzeentzat", - "Show watermark for shares without download permission" : "Erakutsi partekatzeetarako ur-marka deskargatzeko baimenik gabe", - "Show watermark for all link shares" : "Erakutsi ur-marka esteka partekatze guztientzat", - "Show watermark for download hidden shares" : "Erakutsi ur-marka irakurtzeko soilik diren deskarga partekatze ezkutuentzat", - "Show watermark for read only link shares" : "Erakutsi ur-marka irakurtzeko soilik diren esteka partekatzeentzat", - "Show watermark on link shares with specific system tags" : "Erakutsi ur-marka sistema-etiketa espezifikoak dituzten esteka partekatzeentzat", - "Contact {0} to get an own installation." : "Jarri harremanetan {0}(r)ekin instalazio propioa lortzeko.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Ziurtatu URL hau ezarri duzula: {url} Collabora Online zerbitzariaren coolwsd.xml fitxategian gehitutako letra-tipoak automatikoki kargatzen direla ziurtatzeko. Kontuan izan http:// Collabora Online-ko arazketa moduan soilik funtzionatuko duela. Ekoizpenean https:// erabili behar duzu urruneko letra-tipo konfiguraziorako.", - "Failed to save settings" : "Ezarpenak gordetzeak huts egin du", - "Font format not supported ({mime})" : "Letra-formatua ez da onartzen ({mime})", "Save" : "Gorde", "Remove" : "Kendu", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Dokumentura jo aurretik sartu nahi duzun gonbidatu izena. Ez baduzu bat jartzen, lehenetsitakoa erabiliko da.", "Guest name" : "Gonbidatu izena", "Submit name" : "Sartu izena", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Dokumentura jo aurretik sartu nahi duzun gonbidatu izena. Ez baduzu bat jartzen, lehenetsitakoa erabiliko da.", "Confirm" : "Berretsi", "Cancel" : "Utzi", + "Save As" : "Gorde honela", "Save as" : "Gorde honela", "Path to save" : "Gordetzeko bidea", - "Save As" : "Gorde honela", + "Invalid file name" : "Fitxategi-izen baliogabea", + "Select template" : "Hautatu txantiloia", + "File name" : "Fitxategi izena", + "Create" : "Sortu", + "Failed to set Zotero API key" : "Ezin izan da ezarri Zotero API gakoa", "Link to your Zotero library" : "Esteka zure Zotero liburutegira", "Connect your Zotero account to make use of references within Office." : "Konektatu Zotero kontua Office barruko erreferentziak erabiltzeko.", "You can generate an account key here:" : "Hemen kontu-gako bat sor dezakezu:", "Zotero account settings" : "Zotero kontuaren ezarpenak", "Zotero API key" : "Zotero API gakoa", "Submit" : "Bidali", - "Failed to set Zotero API key" : "Ezin izan da ezarri Zotero API gakoa", - "Select a template directory" : "Hautatu txantiloien direktorioa", "Select a personal template folder" : "Hautatu txantiloi pertsonalizatuentzako karpeta bat", + "Select a template directory" : "Hautatu txantiloien direktorioa", "Remove personal template folder" : "Kendu txantiloi pertsonalizatuen karpeta", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Direktorio honen barruan dauden txantiloiak Nextcloud Office-ko txantiloien hautatzailean gehituko dira.", "Zotero" : "Zotero", @@ -173,22 +162,22 @@ "No font overview" : "Ez dago letra-tipoaren ikuspegi orokorra", "Delete this font" : "Ezabatu letra-tipo hau", "No results" : "Emaitzarik ez", + "Select file" : "Hautatu fitxategia", "Select file or folder to link to" : "Hautatu estekatzeko fitxategia edo karpeta", "Could not find any section in the document" : "Ezin izan da atalik aurkitu dokumentuan", - "Select file" : "Hautatu fitxategia", + "{productName} is not configured" : "{productName} ez dago konfiguratuta", + "Starting the built-in CODE server failed" : "CODE zerbitzari integratua hasteak huts egin du", + "Loading {filename} …" : "{filename} kargatzen...", + "Failed to load {productName} - please try again later" : "Huts egin du {productName} kargatzean - saiatu berriro beranduago", + "Open in local editor" : "Ireki editore lokalean", + "Cluster is scaling …" : "Klusterra eskalatzen ari da ...", + "The collaborative editing was terminated by another user" : "Lankidetza-edizioa eten egin du beste erabiltzaile batek", "Document loading failed" : "Dokumentua kargatzeak huts egin du", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Egiaztatu Collabora Online zerbitzariko erregistroa xehetasun gehiago jakiteko eta ziurtatu Nextcloud atzitu daitekeela bertatik.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Zokaloaren konexioa ustekabean itxi da. Altzealdeko proxia gaizki konfiguratuta egon daiteke. Mesedez, jarri harremanetan administratzailearekin.", "More information can be found in the reverse proxy documentation" : "Informazio gehiago dago atzealdeko proxien dokumentazioan.", "Close" : "Itxi", "Edit" : "Aldatu", - "Starting the built-in CODE server failed" : "CODE zerbitzari integratua hasteak huts egin du", - "Loading {filename} …" : "{filename} kargatzen...", - "Open in local editor" : "Ireki editore lokalean", - "Cluster is scaling …" : "Klusterra eskalatzen ari da ...", - "The collaborative editing was terminated by another user" : "Lankidetza-edizioa eten egin du beste erabiltzaile batek", - "Failed to load {productName} - please try again later" : "Huts egin du {productName} kargatzean - saiatu berriro beranduago", - "{productName} is not configured" : "{productName} ez dago konfiguratuta", "Built-in CODE Server is starting up shortly, please wait." : "CODE zerbitzari integratua laster abiarazten ari da. Itxaron mesedez.", "Built-in CODE Server is restarting, please wait." : "CODE zerbitzari integratua berrabiarazten ari da, itxaron mesedez.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Errorea: Ezin da AppImage aurkitu. Mesedez, instalatu berriro Collabora Online zerbitzari integratua.", @@ -221,15 +210,23 @@ "Follow current editor" : "Jarraitu uneko editorea", "New file" : "Fitxategi berria", "Please enter the filename for the new file" : "Sartu fitxategi berriarentzako izena", - "Create" : "Sortu", - "New drawing" : "Marrazki berria", "Could not create file" : "Ezin izan da fitxategia sortu", - "Select template" : "Hautatu txantiloia", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Errorearekin gordeta: Collabora Onlinek zerbitzariko instalazioaren protokolo bera erabili beharko luke.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Ezin izan da konexioa ezarri Collabora Online zerbitzariarekin. Baliteke zerbait konfiguratu gabe egotea zure web zerbitzarian. Informazio gehiagorako, joan hona:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office-k Collabora Online exekutatzen duen zerbitzari bereizi bat behar du editatzeko gaitasunak eskaintzeko.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online-k zerbitzari bereizi bat behar du, WOPI moduko Bezero lana eginez ediziorako gaitasunak emateko.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Erabiltzaile guztiek edita ditzakete dokumentuak {productName} lehenespenez. Ezarpen hau aktibo dagoenean, zehaztutako taldeetako kideek soilik edita ditzakete eta gainerakoek dokumentuak soilik ikusi ditzakete.", + "Secure view settings" : "Ikuspegi seguruaren ezarpenak", + "Secure view enables you to secure documents by embedding a watermark" : "Ikuspegi seguruak dokumentuak ur-marka bat txertatuz segurtatzeko aukera ematen dizu.", + "Enable watermarking" : "Gaitu ur-marka", + "Show watermark on tagged files" : "Erakutsi ur-marka etiketatutako fitxategietan", + "Show watermark for users of groups" : "Erakutsi ur-marka talde hauetako erabiltzaileei", + "Show watermark for all shares" : "Erakutsi ur-marka partekatze guztientzat", + "Show watermark for read only shares" : "Erakutsi ur-marka irakurtzeko soilik diren partekatzeentzat", + "Show watermark for all link shares" : "Erakutsi ur-marka esteka partekatze guztientzat", + "Show watermark for download hidden shares" : "Erakutsi ur-marka irakurtzeko soilik diren deskarga partekatze ezkutuentzat", + "Show watermark for read only link shares" : "Erakutsi ur-marka irakurtzeko soilik diren esteka partekatzeentzat", + "Show watermark on link shares with specific system tags" : "Erakutsi ur-marka sistema-etiketa espezifikoak dituzten esteka partekatzeentzat", "Error" : "Errorea", "An error occurred" : "Errore bat gertatu da", "Please choose your nickname to continue as guest user." : "Aukeratu ezizen bat gonbidatutako erabiltzaile bezala jarraitzeko.", @@ -250,6 +247,10 @@ "No templates defined." : "Ez da txantiloirik definitu.", "Add a new one?" : "Berri bat gehitu?", "template preview" : "txantiloiaren aurrebista", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Baliteke fitxategiak Nextcloud-en bidez deskargatzea, partekatzeko edo sarbidea kontrolatzeko ezarpenen bidez bestela mugatzen ez bada", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Aurrebistak blokeatuko dira ur-markadun fitxategientzat dokumentuen lehen orrialdea ez filtratzeko", + "Show watermark for shares without download permission" : "Erakutsi partekatzeetarako ur-marka deskargatzeko baimenik gabe", + "New drawing" : "Marrazki berria", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokumentua badago dagoeneko", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online erabiltzaile guztientzat gaituta dago modu lehenetsian. Ezarpen hau aktibo dagoenean, zehaztutako taldeetako kideek bakarrik erabili dezakete.", diff --git a/l10n/fa.js b/l10n/fa.js index 8dff796682..64605e9f65 100644 --- a/l10n/fa.js +++ b/l10n/fa.js @@ -39,12 +39,16 @@ OC.L10N.register( "Sheets" : "برگه‌ها", "Slides" : "Slides", "Office" : "دفتر", + "Instructions" : "دستورالعمل ها", "Empty" : "خالی", "Anonymous guest" : "مهمان ناشناس", "%s (Guest)" : "%s (مهمان)", "Edit office documents directly in your browser." : "سندهای آفیس را مستقیماً در مرورگر خود ویرایش کنید.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", "New" : "جدید", + "Contact {0} to get an own installation." : "برای گرفتن نصب شخصی با {0} تماس بگیرید.", + "Failed to save settings" : "تنظیمات ذخیره نشدند", + "Font format not supported ({mime})" : "Font format not supported ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online یک مجموعه اداری آنلاین قدرتمند مبتنی بر LibreOffice است که دارای ویرایش کردن مشترک است و از کلیه مستند اصلی ، صفحات گسترده و قالب های ارائه فایل پشتیبانی می کند و در کنار همه مرورگر مدرن کار می کند.", "Could not establish connection to the Collabora Online server." : "اتصال به سرور Collabora آنلاین برقرار نشد.", @@ -96,47 +100,31 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "پارچه معمولی ، در صورت وجود چندین مورد ، برای استفاده از Collabora است. کمترین محدودیت را برای یکی فراهم کنید. به عنوان مثال: اگر این نمونه از دستبندهای shibbolized و غیر shibbolized قابل دسترسی است ، از پارچه بدون shibbolized استفاده کنید. اگر فقط یک دستبند برای دسترسی به این نمونه استفاده می شود ، می توانید این تنظیمات را نادیده بگیرید.", "Enable access for external apps" : "دسترسی به برنامه‌های خارجی را فعال کنید", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "قلم‌های اضافی", - "Upload extra font file" : "بارگذاری پروندهٔ قلم اضافی", "Upload a font file" : "بارگذاری پروندهٔ قلم", "Available fonts" : "قلم‌های موجود", - "Secure view settings" : "تنظیمات نمای ایمن", - "Secure view enables you to secure documents by embedding a watermark" : "نمای ایمن شما را قادر می سازد با تعبیه یک علامت سفید اسناد را ایمن کنید", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "The settings only apply to compatible office files that are opened in Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", - "Enable watermarking" : "علامت گذاری را فعال کنید", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "علامت علامت را در پرونده های نشان شده نشان دهید", "Select tags to enforce watermarking" : "برچسب ها را برای اجرای علامت چاپ انتخاب کنید", - "Show watermark for users of groups" : "نمایش علامت برای کاربران گروه ها", - "Show watermark for all shares" : "نمایش علامت برای همه سهام", - "Show watermark for read only shares" : "علامت چاپ سفید را فقط برای اشتراک گذاری بخوانید", - "Show watermark for shares without download permission" : "Show watermark for shares without download permission", - "Show watermark for all link shares" : "علامت چاپ سفید برای همه اشتراک های پیوند نشان داده شود", - "Show watermark for download hidden shares" : "علامت چاپ سفید را برای بارگیری سهام مخفی نمایش دهید", - "Show watermark for read only link shares" : "نمایش علامت برای فقط اشتراک گذاری پیوند", - "Show watermark on link shares with specific system tags" : "علامت چاپ سفید را در اشتراک پیوند با برچسب های خاص سیستم نشان دهید", - "Contact {0} to get an own installation." : "برای گرفتن نصب شخصی با {0} تماس بگیرید.", - "Failed to save settings" : "تنظیمات ذخیره نشدند", - "Font format not supported ({mime})" : "Font format not supported ({mime})", "Save" : "ذخیره", "Remove" : "حذف", "Confirm" : "تأیید", "Cancel" : "لغو", - "Save as" : "Save as", "Save As" : "ذخیره", + "Save as" : "Save as", + "Select template" : "الگو را انتخاب کنید", + "File name" : "نام فایل", + "Create" : "ایجاد شده", + "Failed to set Zotero API key" : "Failed to set Zotero API key", "Link to your Zotero library" : "Link to your Zotero library", "Connect your Zotero account to make use of references within Office." : "Connect your Zotero account to make use of references within Office.", "You can generate an account key here:" : "You can generate an account key here:", "Zotero account settings" : "Zotero account settings", "Zotero API key" : "Zotero API key", "Submit" : "ارسال", - "Failed to set Zotero API key" : "Failed to set Zotero API key", - "Select a template directory" : "یک فهرست مسیر را انتخاب کنید", "Select a personal template folder" : "یک پوشه قالب شخصی را انتخاب کنید", + "Select a template directory" : "یک فهرست مسیر را انتخاب کنید", "Remove personal template folder" : "پوشه قالب شخصی را حذف کنید", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Templates inside of this directory will be added to the template selector of Nextcloud Office.", "Zotero" : "Zotero", @@ -150,17 +138,17 @@ OC.L10N.register( "No font overview" : "No font overview", "Delete this font" : "حذف این قلم", "No results" : "نتیجه ای یافت نشد", + "Select file" : "Select file", "Select file or folder to link to" : "فایل یا پوشه را برای پیوند انتخاب کنید", "Could not find any section in the document" : "Could not find any section in the document", - "Select file" : "Select file", - "Document loading failed" : "بار کردن سند شکست خورد", - "Close" : "بسته", - "Edit" : "ویرایش", + "{productName} is not configured" : "{productName} is not configured", "Starting the built-in CODE server failed" : "Starting the built-in CODE server failed", "Loading {filename} …" : "بار کردن {filename} …", - "Open in local editor" : "Open in local editor", "Failed to load {productName} - please try again later" : "به بار {productName} در انجام نشد - لطفا بعدا دوباره امتحان کنید", - "{productName} is not configured" : "{productName} is not configured", + "Open in local editor" : "Open in local editor", + "Document loading failed" : "بار کردن سند شکست خورد", + "Close" : "بسته", + "Edit" : "ویرایش", "Built-in CODE Server is starting up shortly, please wait." : "Built-in CODE Server is starting up shortly, please wait.", "Built-in CODE Server is restarting, please wait." : "Built-in CODE Server is restarting, please wait.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server.", @@ -187,15 +175,23 @@ OC.L10N.register( "Guest" : "مهمان", "Follow current editor" : "ویرایش کننده فعلی را دنبال کنید", "New file" : "پروندهٔ تازه", - "Create" : "ایجاد شده", - "New drawing" : "رسم جدید", "Could not create file" : "امکان ایجاد فایل وجود ندارد", - "Select template" : "الگو را انتخاب کنید", "Saved with error: Collabora Online should use the same protocol as the server installation." : "ذخیره شده با خطا: Collabora آنلاین باید از همان پروتکل نصب سرور استفاده کند.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online برای ارائه قابلیت های ویرایش به یک سرور مجزا که به عنوان مشتری WOPI مانند فعالیت می کند ، نیاز دارد.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents.", + "Secure view settings" : "تنظیمات نمای ایمن", + "Secure view enables you to secure documents by embedding a watermark" : "نمای ایمن شما را قادر می سازد با تعبیه یک علامت سفید اسناد را ایمن کنید", + "Enable watermarking" : "علامت گذاری را فعال کنید", + "Show watermark on tagged files" : "علامت علامت را در پرونده های نشان شده نشان دهید", + "Show watermark for users of groups" : "نمایش علامت برای کاربران گروه ها", + "Show watermark for all shares" : "نمایش علامت برای همه سهام", + "Show watermark for read only shares" : "علامت چاپ سفید را فقط برای اشتراک گذاری بخوانید", + "Show watermark for all link shares" : "علامت چاپ سفید برای همه اشتراک های پیوند نشان داده شود", + "Show watermark for download hidden shares" : "علامت چاپ سفید را برای بارگیری سهام مخفی نمایش دهید", + "Show watermark for read only link shares" : "نمایش علامت برای فقط اشتراک گذاری پیوند", + "Show watermark on link shares with specific system tags" : "علامت چاپ سفید را در اشتراک پیوند با برچسب های خاص سیستم نشان دهید", "Error" : "خطا", "An error occurred" : "خطایی روی داد", "Please choose your nickname to continue as guest user." : "لطفاً نام خود را برای ادامه دادن به عنوان کاربر مهمان انتخاب کردن.", @@ -216,6 +212,10 @@ OC.L10N.register( "No templates defined." : "هیچ الگوی مشخص نشده است", "Add a new one?" : "یک مورد جدید افزودن؟", "template preview" : "پیش نمایش الگو", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", + "Show watermark for shares without download permission" : "Show watermark for shares without download permission", + "New drawing" : "رسم جدید", "Collabora Online" : "همکاری آنلاین", "Document already exists" : "مستند از قبل موجود است", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online بصورت پیش فرض برای همه کاربران فعال شده است. هنگامی که این تنظیم فعال است ، فقط اعضای گروه های مشخص شده می توانند از آن استفاده کنند.", diff --git a/l10n/fa.json b/l10n/fa.json index 9330e68783..2b92853c16 100644 --- a/l10n/fa.json +++ b/l10n/fa.json @@ -37,12 +37,16 @@ "Sheets" : "برگه‌ها", "Slides" : "Slides", "Office" : "دفتر", + "Instructions" : "دستورالعمل ها", "Empty" : "خالی", "Anonymous guest" : "مهمان ناشناس", "%s (Guest)" : "%s (مهمان)", "Edit office documents directly in your browser." : "سندهای آفیس را مستقیماً در مرورگر خود ویرایش کنید.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", "New" : "جدید", + "Contact {0} to get an own installation." : "برای گرفتن نصب شخصی با {0} تماس بگیرید.", + "Failed to save settings" : "تنظیمات ذخیره نشدند", + "Font format not supported ({mime})" : "Font format not supported ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online یک مجموعه اداری آنلاین قدرتمند مبتنی بر LibreOffice است که دارای ویرایش کردن مشترک است و از کلیه مستند اصلی ، صفحات گسترده و قالب های ارائه فایل پشتیبانی می کند و در کنار همه مرورگر مدرن کار می کند.", "Could not establish connection to the Collabora Online server." : "اتصال به سرور Collabora آنلاین برقرار نشد.", @@ -94,47 +98,31 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "پارچه معمولی ، در صورت وجود چندین مورد ، برای استفاده از Collabora است. کمترین محدودیت را برای یکی فراهم کنید. به عنوان مثال: اگر این نمونه از دستبندهای shibbolized و غیر shibbolized قابل دسترسی است ، از پارچه بدون shibbolized استفاده کنید. اگر فقط یک دستبند برای دسترسی به این نمونه استفاده می شود ، می توانید این تنظیمات را نادیده بگیرید.", "Enable access for external apps" : "دسترسی به برنامه‌های خارجی را فعال کنید", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "قلم‌های اضافی", - "Upload extra font file" : "بارگذاری پروندهٔ قلم اضافی", "Upload a font file" : "بارگذاری پروندهٔ قلم", "Available fonts" : "قلم‌های موجود", - "Secure view settings" : "تنظیمات نمای ایمن", - "Secure view enables you to secure documents by embedding a watermark" : "نمای ایمن شما را قادر می سازد با تعبیه یک علامت سفید اسناد را ایمن کنید", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "The settings only apply to compatible office files that are opened in Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", - "Enable watermarking" : "علامت گذاری را فعال کنید", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "علامت علامت را در پرونده های نشان شده نشان دهید", "Select tags to enforce watermarking" : "برچسب ها را برای اجرای علامت چاپ انتخاب کنید", - "Show watermark for users of groups" : "نمایش علامت برای کاربران گروه ها", - "Show watermark for all shares" : "نمایش علامت برای همه سهام", - "Show watermark for read only shares" : "علامت چاپ سفید را فقط برای اشتراک گذاری بخوانید", - "Show watermark for shares without download permission" : "Show watermark for shares without download permission", - "Show watermark for all link shares" : "علامت چاپ سفید برای همه اشتراک های پیوند نشان داده شود", - "Show watermark for download hidden shares" : "علامت چاپ سفید را برای بارگیری سهام مخفی نمایش دهید", - "Show watermark for read only link shares" : "نمایش علامت برای فقط اشتراک گذاری پیوند", - "Show watermark on link shares with specific system tags" : "علامت چاپ سفید را در اشتراک پیوند با برچسب های خاص سیستم نشان دهید", - "Contact {0} to get an own installation." : "برای گرفتن نصب شخصی با {0} تماس بگیرید.", - "Failed to save settings" : "تنظیمات ذخیره نشدند", - "Font format not supported ({mime})" : "Font format not supported ({mime})", "Save" : "ذخیره", "Remove" : "حذف", "Confirm" : "تأیید", "Cancel" : "لغو", - "Save as" : "Save as", "Save As" : "ذخیره", + "Save as" : "Save as", + "Select template" : "الگو را انتخاب کنید", + "File name" : "نام فایل", + "Create" : "ایجاد شده", + "Failed to set Zotero API key" : "Failed to set Zotero API key", "Link to your Zotero library" : "Link to your Zotero library", "Connect your Zotero account to make use of references within Office." : "Connect your Zotero account to make use of references within Office.", "You can generate an account key here:" : "You can generate an account key here:", "Zotero account settings" : "Zotero account settings", "Zotero API key" : "Zotero API key", "Submit" : "ارسال", - "Failed to set Zotero API key" : "Failed to set Zotero API key", - "Select a template directory" : "یک فهرست مسیر را انتخاب کنید", "Select a personal template folder" : "یک پوشه قالب شخصی را انتخاب کنید", + "Select a template directory" : "یک فهرست مسیر را انتخاب کنید", "Remove personal template folder" : "پوشه قالب شخصی را حذف کنید", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Templates inside of this directory will be added to the template selector of Nextcloud Office.", "Zotero" : "Zotero", @@ -148,17 +136,17 @@ "No font overview" : "No font overview", "Delete this font" : "حذف این قلم", "No results" : "نتیجه ای یافت نشد", + "Select file" : "Select file", "Select file or folder to link to" : "فایل یا پوشه را برای پیوند انتخاب کنید", "Could not find any section in the document" : "Could not find any section in the document", - "Select file" : "Select file", - "Document loading failed" : "بار کردن سند شکست خورد", - "Close" : "بسته", - "Edit" : "ویرایش", + "{productName} is not configured" : "{productName} is not configured", "Starting the built-in CODE server failed" : "Starting the built-in CODE server failed", "Loading {filename} …" : "بار کردن {filename} …", - "Open in local editor" : "Open in local editor", "Failed to load {productName} - please try again later" : "به بار {productName} در انجام نشد - لطفا بعدا دوباره امتحان کنید", - "{productName} is not configured" : "{productName} is not configured", + "Open in local editor" : "Open in local editor", + "Document loading failed" : "بار کردن سند شکست خورد", + "Close" : "بسته", + "Edit" : "ویرایش", "Built-in CODE Server is starting up shortly, please wait." : "Built-in CODE Server is starting up shortly, please wait.", "Built-in CODE Server is restarting, please wait." : "Built-in CODE Server is restarting, please wait.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server.", @@ -185,15 +173,23 @@ "Guest" : "مهمان", "Follow current editor" : "ویرایش کننده فعلی را دنبال کنید", "New file" : "پروندهٔ تازه", - "Create" : "ایجاد شده", - "New drawing" : "رسم جدید", "Could not create file" : "امکان ایجاد فایل وجود ندارد", - "Select template" : "الگو را انتخاب کنید", "Saved with error: Collabora Online should use the same protocol as the server installation." : "ذخیره شده با خطا: Collabora آنلاین باید از همان پروتکل نصب سرور استفاده کند.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online برای ارائه قابلیت های ویرایش به یک سرور مجزا که به عنوان مشتری WOPI مانند فعالیت می کند ، نیاز دارد.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents.", + "Secure view settings" : "تنظیمات نمای ایمن", + "Secure view enables you to secure documents by embedding a watermark" : "نمای ایمن شما را قادر می سازد با تعبیه یک علامت سفید اسناد را ایمن کنید", + "Enable watermarking" : "علامت گذاری را فعال کنید", + "Show watermark on tagged files" : "علامت علامت را در پرونده های نشان شده نشان دهید", + "Show watermark for users of groups" : "نمایش علامت برای کاربران گروه ها", + "Show watermark for all shares" : "نمایش علامت برای همه سهام", + "Show watermark for read only shares" : "علامت چاپ سفید را فقط برای اشتراک گذاری بخوانید", + "Show watermark for all link shares" : "علامت چاپ سفید برای همه اشتراک های پیوند نشان داده شود", + "Show watermark for download hidden shares" : "علامت چاپ سفید را برای بارگیری سهام مخفی نمایش دهید", + "Show watermark for read only link shares" : "نمایش علامت برای فقط اشتراک گذاری پیوند", + "Show watermark on link shares with specific system tags" : "علامت چاپ سفید را در اشتراک پیوند با برچسب های خاص سیستم نشان دهید", "Error" : "خطا", "An error occurred" : "خطایی روی داد", "Please choose your nickname to continue as guest user." : "لطفاً نام خود را برای ادامه دادن به عنوان کاربر مهمان انتخاب کردن.", @@ -214,6 +210,10 @@ "No templates defined." : "هیچ الگوی مشخص نشده است", "Add a new one?" : "یک مورد جدید افزودن؟", "template preview" : "پیش نمایش الگو", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", + "Show watermark for shares without download permission" : "Show watermark for shares without download permission", + "New drawing" : "رسم جدید", "Collabora Online" : "همکاری آنلاین", "Document already exists" : "مستند از قبل موجود است", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online بصورت پیش فرض برای همه کاربران فعال شده است. هنگامی که این تنظیم فعال است ، فقط اعضای گروه های مشخص شده می توانند از آن استفاده کنند.", diff --git a/l10n/fi.js b/l10n/fi.js index 0b37e6ef76..773dc53220 100644 --- a/l10n/fi.js +++ b/l10n/fi.js @@ -33,11 +33,13 @@ OC.L10N.register( "Headings" : "Otsikot", "Images" : "Kuvat", "Office" : "Toimisto", + "Instructions" : "Ohjeet", "Empty" : "Tyhjä", "Anonymous guest" : "Anonyymi vieras", "%s (Guest)" : "%s (vieras)", "Edit office documents directly in your browser." : "Muokkaa asiakirjoja suoraan selaimessasi.", "New" : "Uusi", + "Failed to save settings" : "Asetusten tallentaminen epäonnistui", "Setting up a new server" : "Asetetaan uusi palvelin", "Click here for more info" : "Napsauta tästä saadaksesi lisätietoja", "Use your own server" : "Käytä omaa palvelinta", @@ -56,24 +58,25 @@ OC.L10N.register( "Select groups" : "Valitse ryhmät", "Restrict edit to specific groups" : "Rajoita muokkaus tiettyihin ryhmiin", "Enable access for external apps" : "Salli pääsy ulkoisten sovellusten osalta", - "Extra fonts" : "Lisäfontit", - "Upload extra font file" : "Lähetä lisäfontin tiedosto", "Upload a font file" : "Lähetä fonttitiedosto", "Available fonts" : "Käytettävissä olevat fontit", - "Failed to save settings" : "Asetusten tallentaminen epäonnistui", "Save" : "Tallenna", "Remove" : "Poista", "Confirm" : "Vahvista", "Cancel" : "Peru", - "Save as" : "Tallenna nimellä", "Save As" : "Tallenna nimellä", + "Save as" : "Tallenna nimellä", + "Invalid file name" : "Virheellinen tiedostonimi", + "Select template" : "Valitse mallipohja", + "File name" : "Tiedostonimi", + "Create" : "Luo", "Link to your Zotero library" : "Linkki Zotero-kirjastoosi", "You can generate an account key here:" : "Voit luoda tiliavaimen täällä:", "Zotero account settings" : "Zotero-tilin asetukset", "Zotero API key" : "Zoteron API-avain", "Submit" : "Lähetä", - "Select a template directory" : "Valitse mallipohjakansio", "Select a personal template folder" : "Valitse henkilökohtainen mallipohjakansio", + "Select a template directory" : "Valitse mallipohjakansio", "Remove personal template folder" : "Poista henkilökohtainen mallipohjakansio", "Zotero" : "Zotero", "Enter Zotero API Key" : "Anna Zoteron API-avain", @@ -83,14 +86,14 @@ OC.L10N.register( "Add new token" : "Lisää uusi poletti", "Delete this font" : "Poista tämä fontti", "No results" : "Ei tuloksia", - "Select file or folder to link to" : "Valitse tiedosto tai kansio, johon linkitetään", "Select file" : "Valitse tiedosto", + "Select file or folder to link to" : "Valitse tiedosto tai kansio, johon linkitetään", + "Loading {filename} …" : "Ladataan {filename}…", + "Failed to load {productName} - please try again later" : "Ei voitu ladata {productName} - yritä myöhemmin uudelleen", + "Open in local editor" : "Avaa paikallisessa muokkaimessa", "Document loading failed" : "Asiakirjan lataaminen epäonnistui", "Close" : "Sulje", "Edit" : "Muokkaa", - "Loading {filename} …" : "Ladataan {filename}…", - "Open in local editor" : "Avaa paikallisessa muokkaimessa", - "Failed to load {productName} - please try again later" : "Ei voitu ladata {productName} - yritä myöhemmin uudelleen", "Close version preview" : "Sulje version esikatselu", "Edit with {productName}" : "Muokkaa käyttäen {productName}", "Open file locally" : "Avaa tiedosto paikallisesti", @@ -105,10 +108,7 @@ OC.L10N.register( "Remove user" : "Poista käyttäjä", "Guest" : "Vieras", "New file" : "Uusi tiedosto", - "Create" : "Luo", - "New drawing" : "Uusi piirros", "Could not create file" : "Tiedoston luominen epäonnistui", - "Select template" : "Valitse mallipohja", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Tallennettu virheen kanssa: Collabora Onlinen tulee käyttää palvelimen kanssa samaa protokollaa.", "Error" : "Virhe", "An error occurred" : "Tapahtui virhe", @@ -128,6 +128,7 @@ OC.L10N.register( "No templates defined." : "Mallipohjia ei ole määritelty.", "Add a new one?" : "Lisätäänkö uusi?", "template preview" : "mallipohjan esikatselu", + "New drawing" : "Uusi piirros", "Collabora Online" : "Collabora Online", "Document already exists" : "Asiakirja on jo olemassa" }, diff --git a/l10n/fi.json b/l10n/fi.json index 3953a1199b..7d6160fc90 100644 --- a/l10n/fi.json +++ b/l10n/fi.json @@ -31,11 +31,13 @@ "Headings" : "Otsikot", "Images" : "Kuvat", "Office" : "Toimisto", + "Instructions" : "Ohjeet", "Empty" : "Tyhjä", "Anonymous guest" : "Anonyymi vieras", "%s (Guest)" : "%s (vieras)", "Edit office documents directly in your browser." : "Muokkaa asiakirjoja suoraan selaimessasi.", "New" : "Uusi", + "Failed to save settings" : "Asetusten tallentaminen epäonnistui", "Setting up a new server" : "Asetetaan uusi palvelin", "Click here for more info" : "Napsauta tästä saadaksesi lisätietoja", "Use your own server" : "Käytä omaa palvelinta", @@ -54,24 +56,25 @@ "Select groups" : "Valitse ryhmät", "Restrict edit to specific groups" : "Rajoita muokkaus tiettyihin ryhmiin", "Enable access for external apps" : "Salli pääsy ulkoisten sovellusten osalta", - "Extra fonts" : "Lisäfontit", - "Upload extra font file" : "Lähetä lisäfontin tiedosto", "Upload a font file" : "Lähetä fonttitiedosto", "Available fonts" : "Käytettävissä olevat fontit", - "Failed to save settings" : "Asetusten tallentaminen epäonnistui", "Save" : "Tallenna", "Remove" : "Poista", "Confirm" : "Vahvista", "Cancel" : "Peru", - "Save as" : "Tallenna nimellä", "Save As" : "Tallenna nimellä", + "Save as" : "Tallenna nimellä", + "Invalid file name" : "Virheellinen tiedostonimi", + "Select template" : "Valitse mallipohja", + "File name" : "Tiedostonimi", + "Create" : "Luo", "Link to your Zotero library" : "Linkki Zotero-kirjastoosi", "You can generate an account key here:" : "Voit luoda tiliavaimen täällä:", "Zotero account settings" : "Zotero-tilin asetukset", "Zotero API key" : "Zoteron API-avain", "Submit" : "Lähetä", - "Select a template directory" : "Valitse mallipohjakansio", "Select a personal template folder" : "Valitse henkilökohtainen mallipohjakansio", + "Select a template directory" : "Valitse mallipohjakansio", "Remove personal template folder" : "Poista henkilökohtainen mallipohjakansio", "Zotero" : "Zotero", "Enter Zotero API Key" : "Anna Zoteron API-avain", @@ -81,14 +84,14 @@ "Add new token" : "Lisää uusi poletti", "Delete this font" : "Poista tämä fontti", "No results" : "Ei tuloksia", - "Select file or folder to link to" : "Valitse tiedosto tai kansio, johon linkitetään", "Select file" : "Valitse tiedosto", + "Select file or folder to link to" : "Valitse tiedosto tai kansio, johon linkitetään", + "Loading {filename} …" : "Ladataan {filename}…", + "Failed to load {productName} - please try again later" : "Ei voitu ladata {productName} - yritä myöhemmin uudelleen", + "Open in local editor" : "Avaa paikallisessa muokkaimessa", "Document loading failed" : "Asiakirjan lataaminen epäonnistui", "Close" : "Sulje", "Edit" : "Muokkaa", - "Loading {filename} …" : "Ladataan {filename}…", - "Open in local editor" : "Avaa paikallisessa muokkaimessa", - "Failed to load {productName} - please try again later" : "Ei voitu ladata {productName} - yritä myöhemmin uudelleen", "Close version preview" : "Sulje version esikatselu", "Edit with {productName}" : "Muokkaa käyttäen {productName}", "Open file locally" : "Avaa tiedosto paikallisesti", @@ -103,10 +106,7 @@ "Remove user" : "Poista käyttäjä", "Guest" : "Vieras", "New file" : "Uusi tiedosto", - "Create" : "Luo", - "New drawing" : "Uusi piirros", "Could not create file" : "Tiedoston luominen epäonnistui", - "Select template" : "Valitse mallipohja", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Tallennettu virheen kanssa: Collabora Onlinen tulee käyttää palvelimen kanssa samaa protokollaa.", "Error" : "Virhe", "An error occurred" : "Tapahtui virhe", @@ -126,6 +126,7 @@ "No templates defined." : "Mallipohjia ei ole määritelty.", "Add a new one?" : "Lisätäänkö uusi?", "template preview" : "mallipohjan esikatselu", + "New drawing" : "Uusi piirros", "Collabora Online" : "Collabora Online", "Document already exists" : "Asiakirja on jo olemassa" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/fr.js b/l10n/fr.js index f8a0358367..7d7ead0162 100644 --- a/l10n/fr.js +++ b/l10n/fr.js @@ -1,6 +1,7 @@ OC.L10N.register( "richdocuments", { + "No files found for this task." : "Aucun fichier trouvé pour cette tâche.", "Cannot create document" : "Impossible de créer le document", "New Document.odt" : "Nouveau Document.odt", "New Spreadsheet.ods" : "Nouvelle Feuille de Calcul.ods", @@ -27,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "Seuls des fichiers modèles peuvent être téléversés", "Invalid file provided" : "Fichier fourni invalide", "Template not found" : "Modèle non trouvé", + "Unable to determine the proper file extension for %1$s" : "Impossible de déterminer l'extension de fichier appropriée pour %1$s", + "Unable to fetch information on %1$s" : "Impossible de récupérer les informations sur %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Image (.png)", + "Image (.svg)" : "Image (.svg)", + "Text (.rtf)" : "Texte (.rtf)", + "Text (.txt)" : "Texte (.txt)", + "Word Document (.docx)" : "Document Word (.docx)", + "OpenDocument Text (.odt)" : "Texte OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Classeur Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Feuille de calcul OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Présentation PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Présentation OpenDocument (.odp)", "New document" : "Nouveau document", "New spreadsheet" : "Nouvelle feuille de calcul", "New presentation" : "Nouvelle présentation", @@ -40,17 +54,46 @@ OC.L10N.register( "Sheets" : "Feuilles", "Slides" : "Diapositives", "Office" : "Nextcloud Office", + "Nextcloud Assistant Slide Deck Generator" : "Générateur de Diapositives avec Nextcloud Assistant", + "Generate Slide Deck" : "Générer un diaporama", + "Generate a slide deck from a presentation script" : "Générer un diaporama à partir d'un script de présentation", + "Presentation script" : "Scripte de présentation", + "Write the text for your presentation here" : "Écrivez le texte de votre présentation ici", + "Generated slide deck" : "Diaporama généré", + "The slide deck generated" : "Le diaporama généré", + "Nextcloud Office text document generator" : "Générateur de documents texte Nextcloud Office", + "Document format" : "Format du document", + "The format of the generated document" : "Le format du document généré", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "Générer un document texte Office", + "Generate an Office text document from a prompt" : "Générer un document texte Office à partir d'une invite", + "Instructions" : "Instructions", + "Describe the document you want the assistant to generate" : "Décrivez le document que voulez que l’assistant génère", + "Generated Office document" : "Document Office Généré", + "The Office document that was generated from the description" : "Ce document Office a été généré à partir de la description", + "Nextcloud Office spreadsheet generator" : "Générateur de tableur de Nextcloud Office", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Générer un document tableur Office", + "Generate an Office spreadsheet document from a prompt" : "Générer un document de feuille de calcul Office à partir d'une invite", "Empty" : "Vide", "Anonymous guest" : "Invité anonyme", "%s (Guest)" : "%s (Invité)", "Edit office documents directly in your browser." : "Modifiez des documents bureautiques directement dans votre navigateur.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Cette application peut se connecter à un serveur Collabora Online (ou autre) (client de type WOPI). Nextcloud est l'hôte WOPI. Veuillez lire la documentation pour en savoir plus à ce sujet.\n\nVous pouvez également modifier vos documents hors-ligne avec l'application Collabora Office à partir des magasins d'applications **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** et **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", - "Global Templates" : "Modèles globaux", - "New" : "Nouveau", + "Accepted file types: {accepts}" : "Types de fichiers acceptés : {accepts}", "Uploaded template \"{name}\"" : "Modèle téléversé \"{name}\"", "Template \"{name}\" already exists" : "Le modèle \"{name}\" existe déjà", "Unable to delete template" : "Impossible de supprimer le modèle", "Deleted template" : "Modèle supprimé", + "Global Templates" : "Modèles globaux", + "New" : "Nouveau", + "Contact {0} to get an own installation." : "Contactez {0} pour obtenir votre propre installation. ", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Veillez à définir cette URL : {url} dans le fichier coolwsd.xml de votre serveur Collabora Online pour que les polices ajoutées soient chargées automatiquement.", + "Failed to save settings" : "Échec de l'enregistrement des paramètres", + "Font format not supported ({mime})" : "Format de police non supporté ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office est une puissante suite bureautique en ligne basée sur Collabora Online avec édition collaborative, qui prend en charge tous les principaux formats de documents, feuilles de calcul et fichiers de présentation et fonctionne avec tous les navigateurs modernes.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online est une puissante suite bureautique en ligne basée sur LibreOffice avec édition collaborative, qui prend en charge tous les principaux formats de documents, de feuilles de calcul et de présentations et fonctionne avec tous les navigateurs modernes.", "Could not establish connection to the Collabora Online server." : "Impossible d'établir la connexion au serveur Collabora Online.", @@ -108,54 +151,55 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Racine web canonique, dans le cas où il y en aurait plusieurs, pour utiliser Collabora. Renseigner celle avec le moins de restrictions. Par exemple : Utilisez la racine web non-hibbolisée si cette instance est accessible à la fois par les racines web shibbolisées et non-hibbolisées. Vous pouvez ignorer ce paramètre si une seule racine Web est utilisée pour accéder à cette instance.", "Enable access for external apps" : "Activer l'accès depuis des applications externes", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Liste des adresses IP et des sous-réseaux IPV4 et IPV6 autorisés à effectuer des requêtes des points de terminaison WOPI. Si aucune liste d'autorisation n'est spécifiée, tous les hôtes seront autorisés. Par exemple : 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Polices supplémentaires", - "Upload extra font file" : "Téléverser un fichier de police supplémentaire", + "Custom Fonts" : "Polices de caractères personnalisées", + "Upload font file" : "Téléverser le fichier de police de caractères", "Upload a font file" : "Téléverser un fichier de police", "Available fonts" : "Polices disponibles", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Pour une compatibilité idéale des documents, nous vous recommandons d'installer les polices les plus courantes. Si vos utilisateurs travaillent avec Microsoft Office, l'installation de leurs polices propriétaires peut se faire en suivant la documentation.", "Custom fonts documentation" : "Documentation sur les polices personnalisées", - "Secure view settings" : "Paramètres de la vue sécurisée", - "Secure view enables you to secure documents by embedding a watermark" : "La vue sécurisée vous permet de protéger les documents en intégrant un filigrane", + "Secure View" : "Vue sécurisée", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "La vue sécurisée vous permet de sécuriser les documents bureautiques en bloquant les téléchargements, les aperçus et en affichant un filigrane", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Les paramètres s'appliquent uniquement aux fichiers bureautiques compatibles qui sont ouverts dans Nextcloud Office.", + "Downloading the file through WebDAV will be blocked" : "Le téléchargement du fichier via WebDAV sera bloqué", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Les options suivantes dans Nextcloud Office seront désactivées : Copier, Télécharger, Exporter, Imprimer", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Les fichiers peuvent toujours être téléchargés via Nextcloud, à moins qu'ils ne soient restreints par les paramètres de partage ou de contrôle d'accès", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Les fichiers peuvent encore être téléchargés via des requêtes WOPI si les paramètres WOPI ne sont pas correctement configurés.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Les aperçus seront bloqués pour les fichiers en filigrane afin de ne pas divulguer la première page des documents.", - "Enable watermarking" : "Activer le filigrane", + "Previews will be blocked" : "Les aperçus seront bloqués", + "Enable secure view" : "Activer la vue sécurisée", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Balises possibles : {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Afficher un filigrane sur les fichiers étiquetés", "Select tags to enforce watermarking" : "Sélectionner des étiquettes pour appliquer le filigrane", - "Show watermark for users of groups" : "Afficher un filigrane pour les utilisateurs de certains groupes", - "Show watermark for all shares" : "Afficher un filigrane pour tous les partages", - "Show watermark for read only shares" : "Afficher un filigrane pour les partages en lecture seule", - "Show watermark for shares without download permission" : "Afficher le filigrane pour les partages sans autorisation de téléchargement", - "Show watermark for all link shares" : "Afficher un filigrane pour tous les liens de partage", - "Show watermark for download hidden shares" : "Afficher un filigrane pour les partages cachés de téléchargement", - "Show watermark for read only link shares" : "Afficher un filigrane pour les liens de partage en lecture seule", - "Show watermark on link shares with specific system tags" : "Afficher un filigrane pour les liens de partage avec étiquettes collaboratives spécifiques", - "Contact {0} to get an own installation." : "Contactez {0} pour obtenir votre propre installation. ", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Veillez à définir cette URL : {url} dans le fichier coolwsd.xml de votre serveur Collabora Online pour que les polices ajoutées soient chargées automatiquement.", - "Failed to save settings" : "Échec de l'enregistrement des paramètres", - "Font format not supported ({mime})" : "Format de police non supporté ({mime})", + "Electronic Signature" : "Signature électronique", + "Client ID for the electronic signature API" : "Identifiant Client pour l'API de signature électronique", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Créer un compte sur https://eideasy.com/signup pour obtenir un identifiant client et son secret.", + "Secret for the electronic signature API" : "Secret pour l'API de signature électronique", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Le secret doit être téléchargé via des requêtes WOPI si les paramètres WOPI ne sont pas correctement configurés.", "Save" : "Enregistrer", "Remove" : "Supprimer", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Veuillez saisir le nom d'invité que vous souhaitez utiliser avant de vous rendre dans le document. Si vous n'en indiquez pas, le nom par défaut sera utilisé.", "Guest name" : "Nom d'invité", "Submit name" : "Confirmer votre nom", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Veuillez saisir le nom d'invité que vous souhaitez utiliser avant d'accéder au document. Si vous n’en fournissez pas, une valeur par défaut sera choisie.", "Confirm" : "Confirmer", "Cancel" : "Annuler", + "Save As" : "Enregistrer sous", "Save as" : "Enregistrer sous", "Path to save" : "Chemin de sauvegarde", - "Save As" : "Enregistrer sous", + "Invalid file name" : "Nom de fichier invalide", + "File name already exists" : "Le nom de fichier existe déjà", + "Select template" : "Sélectionnez un modèle", + "File name" : "Nom du fichier", + "Create" : "Créer", + "Failed to set Zotero API key" : "Échec de la définition de la clé d'API Zotero", "Link to your Zotero library" : "Lien vers la bibliothèque Zotero", "Connect your Zotero account to make use of references within Office." : "Connectez votre compte Zotero pour utiliser les références dans Office", "You can generate an account key here:" : "Vous pouvez générer une clé de compte ici :", "Zotero account settings" : "Paramètre de compte Zotero", "Zotero API key" : "Clé d'API Zotero", "Submit" : "Soumettre", - "Failed to set Zotero API key" : "Échec de la définition de la clé d'API Zotero", - "Select a template directory" : "Sélectionnez un dossier pour les modèles", "Select a personal template folder" : "Sélectionnez le dossier personnel des modèles", + "Settings saved successfully." : "Paramètres sauvegardés avec succès.", + "Failed to save settings." : "Échec de la sauvegarde des paramètres", + "Unexpected error occurred." : "Une erreur est survenue", + "Personal Settings for Nextcloud Office" : "Paramètres personnels de Nextcloud Office", + "Select a template directory" : "Sélectionnez un dossier pour les modèles", "Remove personal template folder" : "Supprimer le dossier de modèles personnels", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Les modèles de ce dossier seront ajoutés au sélecteur de modèle de Nextcloud Office.", "Zotero" : "Zotero", @@ -175,22 +219,22 @@ OC.L10N.register( "No font overview" : "Pas d'aperçu de la police", "Delete this font" : "Supprimer cette police", "No results" : "Aucun résultat", + "Select file" : "Sélectionner un fichier", "Select file or folder to link to" : "Sélection d'un fichier ou d'un dossier à lier", "Could not find any section in the document" : "Aucune section n'a pu être trouvée dans le document", - "Select file" : "Sélectionner un fichier", + "{productName} is not configured" : "{productName} n'est pas configuré", + "Starting the built-in CODE server failed" : "Le démarrage du serveur CODE intégré a échoué", + "Loading {filename} …" : "Chargement de {filename} …", + "Failed to load {productName} - please try again later" : "Échec de chargement de {productName} - veuillez réessayer plus tard", + "Open in local editor" : "Ouvrir dans l'éditeur local", + "Cluster is scaling …" : "Le cluster est en cours de redimensionnement…", + "The collaborative editing was terminated by another user" : "La modification collaborative a été arrêtée par un autre utilisateur", "Document loading failed" : "Échec du chargement du document", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Veuillez vérifier les journaux du serveur Collabora Online pour plus de détails et assuez-vous que Nextcloud peut l'atteindre.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "La connexion au socket a fermé inopinément. Le proxy inversé est peut-être mal configuré, veuillez contacter l'administrateur.", "More information can be found in the reverse proxy documentation" : "Plus d'informations peuvent être trouvées sur la documentation du proxy inversé.", "Close" : "Fermer", "Edit" : "Modifier", - "Starting the built-in CODE server failed" : "Le démarrage du serveur CODE intégré a échoué", - "Loading {filename} …" : "Chargement de {filename} …", - "Open in local editor" : "Ouvrir dans l'éditeur local", - "Cluster is scaling …" : "Le cluster est en cours de redimensionnement…", - "The collaborative editing was terminated by another user" : "La modification collaborative a été arrêtée par un autre utilisateur", - "Failed to load {productName} - please try again later" : "Échec de chargement de {productName} - veuillez réessayer plus tard", - "{productName} is not configured" : "{productName} n'est pas configuré", "Built-in CODE Server is starting up shortly, please wait." : "Le serveur CODE intégré démarrera sous peu, veuillez patienter.", "Built-in CODE Server is restarting, please wait." : "Le serveur CODE intégré est en cours de redémarrage, veuillez patienter.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Erreur : Impossible de trouver l'AppImage, veuillez réinstaller le serveur intégré Collabora Online.", @@ -202,6 +246,7 @@ OC.L10N.register( "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Erreur : Impossible de démarrer le serveur intégré Collabora Online, veuillez configurer un serveur autonome.", "Close version preview" : "Fermer la prévisualisation", "Edit with {productName}" : "Modifier avec {productName}", + "Insert into document" : "Insérer dans le document", "Open file locally" : "Ouvrir le fichier localement", "When opening a file locally, the document will close for all users currently viewing the document." : "Lorsque vous ouvrez un fichier localement, le document sera fermé pour tous les utilisateurs qui le consultent actuellement.", "Open locally" : "Ouvrir localement", @@ -223,15 +268,24 @@ OC.L10N.register( "Follow current editor" : "Suivre l'éditeur actuel", "New file" : "Nouveau fichier", "Please enter the filename for the new file" : "Veuillez saisir le nom du fichier pour le nouveau fichier", - "Create" : "Créer", - "New drawing" : "Nouveau dessin", "Could not create file" : "Impossible de créer le fichier", - "Select template" : "Sélectionnez un modèle", + "Could not load templates" : "Échec du chargement des modèles", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Sauvegardé avec une erreur : Collabora Online devrait utiliser le même protocole que lors de l'installation du serveur.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Impossible d'établir une connexion au serveur Collabora Online. Cette erreur peut être due à une erreur de configuration de votre serveur web. Pour plus d'informations, visitez :", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office nécessite un serveur séparé exécutant Collabora Online pour fournir des capacités d'édition.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online nécessite un serveur distinct agissant comme un client de type WOPI pour fournir des capacités d'édition.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Par défaut, tous les utilisateurs peuvent modifier les documents de {productName} . Lorsque ce paramètre est actif, seuls les membres des groupes spécifiés peuvent modifier et les autres ne peuvent que visualiser les documents.", + "Secure view settings" : "Paramètres de la vue sécurisée", + "Secure view enables you to secure documents by embedding a watermark" : "La vue sécurisée vous permet de protéger les documents en intégrant un filigrane", + "Enable watermarking" : "Activer le filigrane", + "Show watermark on tagged files" : "Afficher un filigrane sur les fichiers étiquetés", + "Show watermark for users of groups" : "Afficher un filigrane pour les utilisateurs de certains groupes", + "Show watermark for all shares" : "Afficher un filigrane pour tous les partages", + "Show watermark for read only shares" : "Afficher un filigrane pour les partages en lecture seule", + "Show watermark for all link shares" : "Afficher un filigrane pour tous les liens de partage", + "Show watermark for download hidden shares" : "Afficher un filigrane pour les partages cachés de téléchargement", + "Show watermark for read only link shares" : "Afficher un filigrane pour les liens de partage en lecture seule", + "Show watermark on link shares with specific system tags" : "Afficher un filigrane pour les liens de partage avec étiquettes collaboratives spécifiques", "Error" : "Erreur", "An error occurred" : "Une erreur est survenue", "Please choose your nickname to continue as guest user." : "Veuillez choisir votre surnom pour continuer en tant qu'utilisateur invité.", @@ -252,6 +306,10 @@ OC.L10N.register( "No templates defined." : "Aucun modèle défini.", "Add a new one?" : "Ajouter un nouveau ?", "template preview" : "Prévisualisation du modèle", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Les fichiers peuvent toujours être téléchargés via Nextcloud, à moins qu'ils ne soient restreints par les paramètres de partage ou de contrôle d'accès", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Les aperçus seront bloqués pour les fichiers en filigrane afin de ne pas divulguer la première page des documents.", + "Show watermark for shares without download permission" : "Afficher le filigrane pour les partages sans autorisation de téléchargement", + "New drawing" : "Nouveau dessin", "Collabora Online" : "Collabora en ligne", "Document already exists" : "Ce document existe déjà", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online est par défaut activé pour tous les utilisateurs. Lorsque ce paramètre est actif, seuls les membres des groupes spécifiés peuvent l'utiliser.", diff --git a/l10n/fr.json b/l10n/fr.json index 1de363c7a7..f74af787d9 100644 --- a/l10n/fr.json +++ b/l10n/fr.json @@ -1,4 +1,5 @@ { "translations": { + "No files found for this task." : "Aucun fichier trouvé pour cette tâche.", "Cannot create document" : "Impossible de créer le document", "New Document.odt" : "Nouveau Document.odt", "New Spreadsheet.ods" : "Nouvelle Feuille de Calcul.ods", @@ -25,6 +26,19 @@ "Only template files can be uploaded" : "Seuls des fichiers modèles peuvent être téléversés", "Invalid file provided" : "Fichier fourni invalide", "Template not found" : "Modèle non trouvé", + "Unable to determine the proper file extension for %1$s" : "Impossible de déterminer l'extension de fichier appropriée pour %1$s", + "Unable to fetch information on %1$s" : "Impossible de récupérer les informations sur %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Image (.png)", + "Image (.svg)" : "Image (.svg)", + "Text (.rtf)" : "Texte (.rtf)", + "Text (.txt)" : "Texte (.txt)", + "Word Document (.docx)" : "Document Word (.docx)", + "OpenDocument Text (.odt)" : "Texte OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Classeur Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Feuille de calcul OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Présentation PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Présentation OpenDocument (.odp)", "New document" : "Nouveau document", "New spreadsheet" : "Nouvelle feuille de calcul", "New presentation" : "Nouvelle présentation", @@ -38,17 +52,46 @@ "Sheets" : "Feuilles", "Slides" : "Diapositives", "Office" : "Nextcloud Office", + "Nextcloud Assistant Slide Deck Generator" : "Générateur de Diapositives avec Nextcloud Assistant", + "Generate Slide Deck" : "Générer un diaporama", + "Generate a slide deck from a presentation script" : "Générer un diaporama à partir d'un script de présentation", + "Presentation script" : "Scripte de présentation", + "Write the text for your presentation here" : "Écrivez le texte de votre présentation ici", + "Generated slide deck" : "Diaporama généré", + "The slide deck generated" : "Le diaporama généré", + "Nextcloud Office text document generator" : "Générateur de documents texte Nextcloud Office", + "Document format" : "Format du document", + "The format of the generated document" : "Le format du document généré", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "Générer un document texte Office", + "Generate an Office text document from a prompt" : "Générer un document texte Office à partir d'une invite", + "Instructions" : "Instructions", + "Describe the document you want the assistant to generate" : "Décrivez le document que voulez que l’assistant génère", + "Generated Office document" : "Document Office Généré", + "The Office document that was generated from the description" : "Ce document Office a été généré à partir de la description", + "Nextcloud Office spreadsheet generator" : "Générateur de tableur de Nextcloud Office", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Générer un document tableur Office", + "Generate an Office spreadsheet document from a prompt" : "Générer un document de feuille de calcul Office à partir d'une invite", "Empty" : "Vide", "Anonymous guest" : "Invité anonyme", "%s (Guest)" : "%s (Invité)", "Edit office documents directly in your browser." : "Modifiez des documents bureautiques directement dans votre navigateur.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Cette application peut se connecter à un serveur Collabora Online (ou autre) (client de type WOPI). Nextcloud est l'hôte WOPI. Veuillez lire la documentation pour en savoir plus à ce sujet.\n\nVous pouvez également modifier vos documents hors-ligne avec l'application Collabora Office à partir des magasins d'applications **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** et **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", - "Global Templates" : "Modèles globaux", - "New" : "Nouveau", + "Accepted file types: {accepts}" : "Types de fichiers acceptés : {accepts}", "Uploaded template \"{name}\"" : "Modèle téléversé \"{name}\"", "Template \"{name}\" already exists" : "Le modèle \"{name}\" existe déjà", "Unable to delete template" : "Impossible de supprimer le modèle", "Deleted template" : "Modèle supprimé", + "Global Templates" : "Modèles globaux", + "New" : "Nouveau", + "Contact {0} to get an own installation." : "Contactez {0} pour obtenir votre propre installation. ", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Veillez à définir cette URL : {url} dans le fichier coolwsd.xml de votre serveur Collabora Online pour que les polices ajoutées soient chargées automatiquement.", + "Failed to save settings" : "Échec de l'enregistrement des paramètres", + "Font format not supported ({mime})" : "Format de police non supporté ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office est une puissante suite bureautique en ligne basée sur Collabora Online avec édition collaborative, qui prend en charge tous les principaux formats de documents, feuilles de calcul et fichiers de présentation et fonctionne avec tous les navigateurs modernes.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online est une puissante suite bureautique en ligne basée sur LibreOffice avec édition collaborative, qui prend en charge tous les principaux formats de documents, de feuilles de calcul et de présentations et fonctionne avec tous les navigateurs modernes.", "Could not establish connection to the Collabora Online server." : "Impossible d'établir la connexion au serveur Collabora Online.", @@ -106,54 +149,55 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Racine web canonique, dans le cas où il y en aurait plusieurs, pour utiliser Collabora. Renseigner celle avec le moins de restrictions. Par exemple : Utilisez la racine web non-hibbolisée si cette instance est accessible à la fois par les racines web shibbolisées et non-hibbolisées. Vous pouvez ignorer ce paramètre si une seule racine Web est utilisée pour accéder à cette instance.", "Enable access for external apps" : "Activer l'accès depuis des applications externes", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Liste des adresses IP et des sous-réseaux IPV4 et IPV6 autorisés à effectuer des requêtes des points de terminaison WOPI. Si aucune liste d'autorisation n'est spécifiée, tous les hôtes seront autorisés. Par exemple : 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Polices supplémentaires", - "Upload extra font file" : "Téléverser un fichier de police supplémentaire", + "Custom Fonts" : "Polices de caractères personnalisées", + "Upload font file" : "Téléverser le fichier de police de caractères", "Upload a font file" : "Téléverser un fichier de police", "Available fonts" : "Polices disponibles", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Pour une compatibilité idéale des documents, nous vous recommandons d'installer les polices les plus courantes. Si vos utilisateurs travaillent avec Microsoft Office, l'installation de leurs polices propriétaires peut se faire en suivant la documentation.", "Custom fonts documentation" : "Documentation sur les polices personnalisées", - "Secure view settings" : "Paramètres de la vue sécurisée", - "Secure view enables you to secure documents by embedding a watermark" : "La vue sécurisée vous permet de protéger les documents en intégrant un filigrane", + "Secure View" : "Vue sécurisée", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "La vue sécurisée vous permet de sécuriser les documents bureautiques en bloquant les téléchargements, les aperçus et en affichant un filigrane", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Les paramètres s'appliquent uniquement aux fichiers bureautiques compatibles qui sont ouverts dans Nextcloud Office.", + "Downloading the file through WebDAV will be blocked" : "Le téléchargement du fichier via WebDAV sera bloqué", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Les options suivantes dans Nextcloud Office seront désactivées : Copier, Télécharger, Exporter, Imprimer", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Les fichiers peuvent toujours être téléchargés via Nextcloud, à moins qu'ils ne soient restreints par les paramètres de partage ou de contrôle d'accès", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Les fichiers peuvent encore être téléchargés via des requêtes WOPI si les paramètres WOPI ne sont pas correctement configurés.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Les aperçus seront bloqués pour les fichiers en filigrane afin de ne pas divulguer la première page des documents.", - "Enable watermarking" : "Activer le filigrane", + "Previews will be blocked" : "Les aperçus seront bloqués", + "Enable secure view" : "Activer la vue sécurisée", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Balises possibles : {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Afficher un filigrane sur les fichiers étiquetés", "Select tags to enforce watermarking" : "Sélectionner des étiquettes pour appliquer le filigrane", - "Show watermark for users of groups" : "Afficher un filigrane pour les utilisateurs de certains groupes", - "Show watermark for all shares" : "Afficher un filigrane pour tous les partages", - "Show watermark for read only shares" : "Afficher un filigrane pour les partages en lecture seule", - "Show watermark for shares without download permission" : "Afficher le filigrane pour les partages sans autorisation de téléchargement", - "Show watermark for all link shares" : "Afficher un filigrane pour tous les liens de partage", - "Show watermark for download hidden shares" : "Afficher un filigrane pour les partages cachés de téléchargement", - "Show watermark for read only link shares" : "Afficher un filigrane pour les liens de partage en lecture seule", - "Show watermark on link shares with specific system tags" : "Afficher un filigrane pour les liens de partage avec étiquettes collaboratives spécifiques", - "Contact {0} to get an own installation." : "Contactez {0} pour obtenir votre propre installation. ", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Veillez à définir cette URL : {url} dans le fichier coolwsd.xml de votre serveur Collabora Online pour que les polices ajoutées soient chargées automatiquement.", - "Failed to save settings" : "Échec de l'enregistrement des paramètres", - "Font format not supported ({mime})" : "Format de police non supporté ({mime})", + "Electronic Signature" : "Signature électronique", + "Client ID for the electronic signature API" : "Identifiant Client pour l'API de signature électronique", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Créer un compte sur https://eideasy.com/signup pour obtenir un identifiant client et son secret.", + "Secret for the electronic signature API" : "Secret pour l'API de signature électronique", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Le secret doit être téléchargé via des requêtes WOPI si les paramètres WOPI ne sont pas correctement configurés.", "Save" : "Enregistrer", "Remove" : "Supprimer", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Veuillez saisir le nom d'invité que vous souhaitez utiliser avant de vous rendre dans le document. Si vous n'en indiquez pas, le nom par défaut sera utilisé.", "Guest name" : "Nom d'invité", "Submit name" : "Confirmer votre nom", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Veuillez saisir le nom d'invité que vous souhaitez utiliser avant d'accéder au document. Si vous n’en fournissez pas, une valeur par défaut sera choisie.", "Confirm" : "Confirmer", "Cancel" : "Annuler", + "Save As" : "Enregistrer sous", "Save as" : "Enregistrer sous", "Path to save" : "Chemin de sauvegarde", - "Save As" : "Enregistrer sous", + "Invalid file name" : "Nom de fichier invalide", + "File name already exists" : "Le nom de fichier existe déjà", + "Select template" : "Sélectionnez un modèle", + "File name" : "Nom du fichier", + "Create" : "Créer", + "Failed to set Zotero API key" : "Échec de la définition de la clé d'API Zotero", "Link to your Zotero library" : "Lien vers la bibliothèque Zotero", "Connect your Zotero account to make use of references within Office." : "Connectez votre compte Zotero pour utiliser les références dans Office", "You can generate an account key here:" : "Vous pouvez générer une clé de compte ici :", "Zotero account settings" : "Paramètre de compte Zotero", "Zotero API key" : "Clé d'API Zotero", "Submit" : "Soumettre", - "Failed to set Zotero API key" : "Échec de la définition de la clé d'API Zotero", - "Select a template directory" : "Sélectionnez un dossier pour les modèles", "Select a personal template folder" : "Sélectionnez le dossier personnel des modèles", + "Settings saved successfully." : "Paramètres sauvegardés avec succès.", + "Failed to save settings." : "Échec de la sauvegarde des paramètres", + "Unexpected error occurred." : "Une erreur est survenue", + "Personal Settings for Nextcloud Office" : "Paramètres personnels de Nextcloud Office", + "Select a template directory" : "Sélectionnez un dossier pour les modèles", "Remove personal template folder" : "Supprimer le dossier de modèles personnels", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Les modèles de ce dossier seront ajoutés au sélecteur de modèle de Nextcloud Office.", "Zotero" : "Zotero", @@ -173,22 +217,22 @@ "No font overview" : "Pas d'aperçu de la police", "Delete this font" : "Supprimer cette police", "No results" : "Aucun résultat", + "Select file" : "Sélectionner un fichier", "Select file or folder to link to" : "Sélection d'un fichier ou d'un dossier à lier", "Could not find any section in the document" : "Aucune section n'a pu être trouvée dans le document", - "Select file" : "Sélectionner un fichier", + "{productName} is not configured" : "{productName} n'est pas configuré", + "Starting the built-in CODE server failed" : "Le démarrage du serveur CODE intégré a échoué", + "Loading {filename} …" : "Chargement de {filename} …", + "Failed to load {productName} - please try again later" : "Échec de chargement de {productName} - veuillez réessayer plus tard", + "Open in local editor" : "Ouvrir dans l'éditeur local", + "Cluster is scaling …" : "Le cluster est en cours de redimensionnement…", + "The collaborative editing was terminated by another user" : "La modification collaborative a été arrêtée par un autre utilisateur", "Document loading failed" : "Échec du chargement du document", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Veuillez vérifier les journaux du serveur Collabora Online pour plus de détails et assuez-vous que Nextcloud peut l'atteindre.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "La connexion au socket a fermé inopinément. Le proxy inversé est peut-être mal configuré, veuillez contacter l'administrateur.", "More information can be found in the reverse proxy documentation" : "Plus d'informations peuvent être trouvées sur la documentation du proxy inversé.", "Close" : "Fermer", "Edit" : "Modifier", - "Starting the built-in CODE server failed" : "Le démarrage du serveur CODE intégré a échoué", - "Loading {filename} …" : "Chargement de {filename} …", - "Open in local editor" : "Ouvrir dans l'éditeur local", - "Cluster is scaling …" : "Le cluster est en cours de redimensionnement…", - "The collaborative editing was terminated by another user" : "La modification collaborative a été arrêtée par un autre utilisateur", - "Failed to load {productName} - please try again later" : "Échec de chargement de {productName} - veuillez réessayer plus tard", - "{productName} is not configured" : "{productName} n'est pas configuré", "Built-in CODE Server is starting up shortly, please wait." : "Le serveur CODE intégré démarrera sous peu, veuillez patienter.", "Built-in CODE Server is restarting, please wait." : "Le serveur CODE intégré est en cours de redémarrage, veuillez patienter.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Erreur : Impossible de trouver l'AppImage, veuillez réinstaller le serveur intégré Collabora Online.", @@ -200,6 +244,7 @@ "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Erreur : Impossible de démarrer le serveur intégré Collabora Online, veuillez configurer un serveur autonome.", "Close version preview" : "Fermer la prévisualisation", "Edit with {productName}" : "Modifier avec {productName}", + "Insert into document" : "Insérer dans le document", "Open file locally" : "Ouvrir le fichier localement", "When opening a file locally, the document will close for all users currently viewing the document." : "Lorsque vous ouvrez un fichier localement, le document sera fermé pour tous les utilisateurs qui le consultent actuellement.", "Open locally" : "Ouvrir localement", @@ -221,15 +266,24 @@ "Follow current editor" : "Suivre l'éditeur actuel", "New file" : "Nouveau fichier", "Please enter the filename for the new file" : "Veuillez saisir le nom du fichier pour le nouveau fichier", - "Create" : "Créer", - "New drawing" : "Nouveau dessin", "Could not create file" : "Impossible de créer le fichier", - "Select template" : "Sélectionnez un modèle", + "Could not load templates" : "Échec du chargement des modèles", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Sauvegardé avec une erreur : Collabora Online devrait utiliser le même protocole que lors de l'installation du serveur.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Impossible d'établir une connexion au serveur Collabora Online. Cette erreur peut être due à une erreur de configuration de votre serveur web. Pour plus d'informations, visitez :", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office nécessite un serveur séparé exécutant Collabora Online pour fournir des capacités d'édition.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online nécessite un serveur distinct agissant comme un client de type WOPI pour fournir des capacités d'édition.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Par défaut, tous les utilisateurs peuvent modifier les documents de {productName} . Lorsque ce paramètre est actif, seuls les membres des groupes spécifiés peuvent modifier et les autres ne peuvent que visualiser les documents.", + "Secure view settings" : "Paramètres de la vue sécurisée", + "Secure view enables you to secure documents by embedding a watermark" : "La vue sécurisée vous permet de protéger les documents en intégrant un filigrane", + "Enable watermarking" : "Activer le filigrane", + "Show watermark on tagged files" : "Afficher un filigrane sur les fichiers étiquetés", + "Show watermark for users of groups" : "Afficher un filigrane pour les utilisateurs de certains groupes", + "Show watermark for all shares" : "Afficher un filigrane pour tous les partages", + "Show watermark for read only shares" : "Afficher un filigrane pour les partages en lecture seule", + "Show watermark for all link shares" : "Afficher un filigrane pour tous les liens de partage", + "Show watermark for download hidden shares" : "Afficher un filigrane pour les partages cachés de téléchargement", + "Show watermark for read only link shares" : "Afficher un filigrane pour les liens de partage en lecture seule", + "Show watermark on link shares with specific system tags" : "Afficher un filigrane pour les liens de partage avec étiquettes collaboratives spécifiques", "Error" : "Erreur", "An error occurred" : "Une erreur est survenue", "Please choose your nickname to continue as guest user." : "Veuillez choisir votre surnom pour continuer en tant qu'utilisateur invité.", @@ -250,6 +304,10 @@ "No templates defined." : "Aucun modèle défini.", "Add a new one?" : "Ajouter un nouveau ?", "template preview" : "Prévisualisation du modèle", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Les fichiers peuvent toujours être téléchargés via Nextcloud, à moins qu'ils ne soient restreints par les paramètres de partage ou de contrôle d'accès", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Les aperçus seront bloqués pour les fichiers en filigrane afin de ne pas divulguer la première page des documents.", + "Show watermark for shares without download permission" : "Afficher le filigrane pour les partages sans autorisation de téléchargement", + "New drawing" : "Nouveau dessin", "Collabora Online" : "Collabora en ligne", "Document already exists" : "Ce document existe déjà", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online est par défaut activé pour tous les utilisateurs. Lorsque ce paramètre est actif, seuls les membres des groupes spécifiés peuvent l'utiliser.", diff --git a/l10n/ga.js b/l10n/ga.js index db030669ef..92e3b0c296 100644 --- a/l10n/ga.js +++ b/l10n/ga.js @@ -28,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "Ní féidir ach comhaid teimpléid a uaslódáil", "Invalid file provided" : "Comhad neamhbhailí curtha ar fáil", "Template not found" : "Teimpléad gan aimsiú", + "Unable to determine the proper file extension for %1$s" : "Ní féidir an síneadh cuí comhaid a chinneadh le haghaidh %1$s", + "Unable to fetch information on %1$s" : "Ní féidir faisnéis a fháil ar %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Íomhá (.png)", + "Image (.svg)" : "Íomhá (.svg)", + "Text (.rtf)" : "Téacs (.rtf)", + "Text (.txt)" : "Téacs (.txt)", + "Word Document (.docx)" : "Doiciméad Word (.docx)", + "OpenDocument Text (.odt)" : "Téacs OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Leabhar Oibre Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Scarbhileog OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Cur i Láthair PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Cur i Láthair OpenDocument (.odp)", "New document" : "Doiciméad nua", "New spreadsheet" : "Scarbhileog nua", "New presentation" : "Cur i láthair nua", @@ -41,17 +54,46 @@ OC.L10N.register( "Sheets" : "Bileoga", "Slides" : "Sleamhnáin", "Office" : "Oifig", + "Nextcloud Assistant Slide Deck Generator" : "Gineadóir Deic Sleamhnán Cúnta Nextcloud", + "Generate Slide Deck" : "Gin Deic Sleamhnán", + "Generate a slide deck from a presentation script" : "Gin deic sleamhnán ó script cur i láthair", + "Presentation script" : "Script cur i láthair", + "Write the text for your presentation here" : "Scríobh an téacs do do chur i láthair anseo", + "Generated slide deck" : "Deic sleamhnán ginte", + "The slide deck generated" : "An deic sleamhnán a gineadh", + "Nextcloud Office text document generator" : "Gineadóir doiciméad téacs Nextcloud Office", + "Document format" : "Formáid doiciméad", + "The format of the generated document" : "Formáid an doiciméid a ghintear", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Formáid Doiciméad Iniompartha (pdf)", + "Generate Office text document" : "Gin doiciméad téacs Office", + "Generate an Office text document from a prompt" : "Gin doiciméad téacs Office ó leid", + "Instructions" : "Comhaid Nextcloud ag teastáil", + "Describe the document you want the assistant to generate" : "Déan cur síos ar an doiciméad a theastaíonn uait don chúntóir a ghiniúint", + "Generated Office document" : "Doiciméad oifige ginte", + "The Office document that was generated from the description" : "Doiciméad na hOifige a gineadh ón tuairisc", + "Nextcloud Office spreadsheet generator" : "Gineadóir scarbhileog Office Nextcloud", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Gin doiciméad scarbhileog na hOifige", + "Generate an Office spreadsheet document from a prompt" : "Gin doiciméad scarbhileog Oifige ó leid", "Empty" : "Folamh", "Anonymous guest" : "Aoi gan ainm", "%s (Guest)" : "%s (Aoi)", "Edit office documents directly in your browser." : "Cuir doiciméid oifige in eagar go díreach i do bhrabhsálaí.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Is féidir leis an bhfeidhmchlár seo nascadh le freastalaí Collabora Online (nó freastalaí eile) (Cliant cosúil le WOPI). Is é Nextcloud an t-óstach WOPI. Léigh na doiciméid le do thoil chun tuilleadh a fhoghlaim faoi sin.\n\nIs féidir leat freisin do dhoiciméid a chur in eagar as-líne le haip Collabora Oifig ón **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** agus * *[iOS]( https://apps.apple.com/us/app/collabora-office/id1440482071)** siopa.", - "Global Templates" : "Teimpléid Dhomhanda", - "New" : "Nua", + "Accepted file types: {accepts}" : "Cineálacha comhaid a nglactar leo: {accepts}", "Uploaded template \"{name}\"" : "Uaslódáladh teimpléad \"{name}\"", "Template \"{name}\" already exists" : "Tá an teimpléad \"{name}\" ann cheana", "Unable to delete template" : "Ní féidir an teimpléad a scriosadh", "Deleted template" : "Teimpléad scriosta", + "Global Templates" : "Teimpléid Dhomhanda", + "New" : "Nua", + "Contact {0} to get an own installation." : "Déan teagmháil le {0} chun suiteáil féin a fháil.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Bí cinnte an URL seo a shocrú: {url} sa chomhad coolwsd.xml de do fhreastalaí Collabora Ar Líne chun a chinntiú go lódáiltear na clónna breise go huathoibríoch. Tabhair faoi deara le do thoil nach n-oibreoidh http:// ach le haghaidh tógála dífhabhtaithe de Collabora Online. I dtáirgeadh ní mór duit https:// a úsáid le haghaidh cianchumraíocht na gcló.", + "Failed to save settings" : "Theip ar na socruithe a shábháil", + "Font format not supported ({mime})" : "Ní thacaítear le formáid an chló ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Is sraith oifige chumhachtach ar líne í Nextcloud Oifig atá bunaithe ar Collabora Online le eagarthóireacht chomhoibríoch, a thacaíonn le gach mór dhoiciméad, scarbhileog agus formáid comhaid léirithe agus a oibríonn le chéile le gach brabhsálaí nua-aimseartha.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Is sraith chumhachtach oifige ar líne é Collabora Online atá bunaithe ar LibreOffice le heagarthóireacht chomhoibríoch, a thacaíonn le gach mórdhoiciméad, scarbhileog agus formáid comhaid léirithe agus a oibríonn le chéile le gach brabhsálaí nua-aimseartha.", "Could not establish connection to the Collabora Online server." : "Níorbh fhéidir nasc a bhunú leis an bhfreastalaí Collabora Online.", @@ -109,60 +151,66 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Fréamh gréasáin canonical, i gcás go bhfuil iolraí ann, le húsáid ag Collabora. Cuir an ceann is lú srianta ar fáil. M.sh.: Bain úsáid as fréamh gréasáin neamhshibóideach má tá rochtain ag fréamhacha gréasáin shibóideach agus neamhshibólaithe ar an gcás seo. Is féidir leat neamhaird a dhéanamh den socrú seo mura n-úsáidtear ach fréamh gréasáin amháin chun rochtain a fháil ar an gcás seo.", "Enable access for external apps" : "Cumasaigh rochtain ar aipeanna seachtracha", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Liosta de sheoltaí IP IPV4 agus IPV6 agus folíonta a bhfuil cead acu iarratais ar chríochphointí WAPI a dhéanamh. Mura sonraítear liosta ceada, ceadófar gach óstach. E.g. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Clónna breise", - "Upload extra font file" : "Uaslódáil comhad cló breise", + "Custom Fonts" : "Clónna Saincheaptha", + "Upload font file" : "Uaslódáil comhad cló", "Upload a font file" : "Uaslódáil comhad cló", "Available fonts" : "Clónna ar fáil", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Le haghaidh comhoiriúnachta doiciméad idéalach molaimid duit clónna a úsáidtear go coitianta a shuiteáil. Má tá d'úsáideoirí ag obair le Microsoft Office, is féidir a gcuid clónna dílseánaigh a shuiteáil tar éis na doiciméid.", "Custom fonts documentation" : "Doiciméadú clónna saincheaptha", - "Secure view settings" : "Socruithe amhairc slán", - "Secure view enables you to secure documents by embedding a watermark" : "Cuireann radharc slán ar do chumas doiciméid a dhaingniú trí comhartha uisce a leabú", + "Secure View" : "Amharc Slán", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Leis an radharc slán, is féidir leat doiciméid oifige a dhaingniú trí íoslódálacha, réamhamhairc agus comhartha uisce a thaispeáint a bhac.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ní bhaineann na socruithe ach le comhaid oifige chomhoiriúnacha a osclaítear in Oifig Nextcloud", + "Downloading the file through WebDAV will be blocked" : "Cuirfear bac ar an gcomhad a íoslódáil trí WebDAV", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Díchumasófar na roghanna seo a leanas in Oifig Nextcloud: Cóipeáil, Íoslódáil, Easpórtáil, Priontáil", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Is féidir comhaid a íoslódáil go fóill trí Nextcloud mura gcuirtear srian ar a mhalairt trí shocruithe rialaithe comhroinnte nó rochtana", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Seans go mbeidh comhaid fós le híoslódáil trí iarratais WOPI mura bhfuil socruithe WOPI cumraithe i gceart", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Cuirfear bac ar réamhamhairc chun comhaid a bhfuil comhartha uisce orthu ionas nach scaoilfear an chéad leathanach de dhoiciméid", - "Enable watermarking" : "Cumasaigh comhartha uisce", + "Previews will be blocked" : "Cuirfear bac ar réamhamhairc", + "Enable secure view" : "Cumasaigh radharc slán", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Áitsealbhóirí a dtacaítear leo: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Taispeáin comhartha uisce ar chomhaid clibeáilte", + "Enforce secure view on tagged files" : "Forfheidhmigh radharc slán ar chomhaid chlibeáilte", "Select tags to enforce watermarking" : "Roghnaigh clibeanna chun comhartha uisce a chur i bhfeidhm", - "Show watermark for users of groups" : "Taispeáin comhartha uisce d'úsáideoirí na ngrúpaí", - "Show watermark for all shares" : "Taispeáin comhartha uisce do na scaireanna go léir", - "Show watermark for read only shares" : "Taispeáin comhartha uisce le haghaidh scaireanna inléite amháin", - "Show watermark for shares without download permission" : "Taispeáin comhartha uisce le haghaidh scaireanna gan cead íoslódála", - "Show watermark for all link shares" : "Taispeáin comhartha uisce do gach sciar nasc", - "Show watermark for download hidden shares" : "Taispeáin comhartha uisce do gach sciar nasc", - "Show watermark for read only link shares" : "Taispeáin comhartha uisce le haghaidh scaireanna naisc inléite amháin", - "Show watermark on link shares with specific system tags" : "Taispeáin comhartha uisce ar scaireanna naisc le clibeanna córais ar leith", - "Electronic signature settings" : "Socruithe síniú leictreonach", + "Enforce secure view for users of groups" : "Forfheidhmigh radharc slán d'úsáideoirí grúpaí", + "Enforce secure view for all shares" : "Forfheidhmigh radharc slán do gach scaireanna", + "Enforce secure view for read only shares" : "Forfheidhmigh radharc slán le haghaidh scaireanna inléite amháin", + "Enforce secure view for all public Talk shares" : "Forfheidhmigh radharc slán do gach scaireanna poiblí Talk", + "Enforce secure view for shares without download permission" : "Forfheidhmigh radharc slán le haghaidh scaireanna gan chead íoslódála", + "Enforce secure view for all link shares" : "Forfheidhmigh radharc slán do gach comhroinnt nasc", + "Enforce secure view for download hidden shares" : "Forfheidhmigh radharc slán le haghaidh scaireanna i bhfolach a íoslódáil", + "Enforce secure view for read only link shares" : "Forfheidhmigh radharc slán le haghaidh comhroinnt nasc léite amháin", + "Enforce secure view on link shares with specific system tags" : "Forfheidhmigh radharc slán ar chomhroinnt nasc le clibeanna córais shonracha", + "Select tags to enforce secure view" : "Roghnaigh clibeanna chun radharc slán a fhorfheidhmiú", + "Electronic Signature" : "Síniú Leictreonach", "Client ID for the electronic signature API" : "ID an chliaint don API ríomhshínithe", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Líon isteach an fhoirm chlárúcháin ag https://eideasy.com/signup chun ID agus rún an chliaint a fháil.", "Secret for the electronic signature API" : "Rúnda don API síniú leictreonach", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Is féidir an rún a íoslódáil trí iarratais WOPI mura bhfuil liosta ceadaithe WOPI cumraithe i gceart.", - "Contact {0} to get an own installation." : "Déan teagmháil le {0} chun suiteáil féin a fháil.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Bí cinnte an URL seo a shocrú: {url} sa chomhad coolwsd.xml de do fhreastalaí Collabora Ar Líne chun a chinntiú go lódáiltear na clónna breise go huathoibríoch. Tabhair faoi deara le do thoil nach n-oibreoidh http:// ach le haghaidh tógála dífhabhtaithe de Collabora Online. I dtáirgeadh ní mór duit https:// a úsáid le haghaidh cianchumraíocht na gcló.", - "Failed to save settings" : "Theip ar na socruithe a shábháil", - "Font format not supported ({mime})" : "Ní thacaítear le formáid an chló ({mime})", "Save" : "Sábháil", "Remove" : "Bain", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Cuir isteach an t-ainm aoi is mian leat a úsáid sula dtéann tú ar aghaidh chuig an doiciméad le do thoil. Mura gcuireann tú ceann ar fáil, úsáidfear an réamhshocrú.", "Guest name" : "Ainm aoi", "Submit name" : "Cuir ainm", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Cuir isteach an t-ainm aoi is mian leat a úsáid sula dtéann tú ar aghaidh chuig an doiciméad le do thoil. Mura gcuireann tú ceann ar fáil, úsáidfear an réamhshocrú.", "Confirm" : "Deimhnigh", "Cancel" : "Cealaigh", + "Save As" : "Sábháil mar", "Save as" : "Sábháil mar", "Path to save" : "Conair a shábháil", - "Save As" : "Sábháil mar", + "Invalid file name" : "Ainm comhaid neamhbhailí", + "File name already exists" : "Tá ainm comhaid ann cheana féin", + "Select template" : "Roghnaigh teimpléad", + "File name" : "Ainm comhaid", + "Create" : "Cruthaigh", + "Failed to set Zotero API key" : "Theip ar eochair Zotero API a shocrú", "Link to your Zotero library" : "Nasc le do leabharlann Zotero", "Connect your Zotero account to make use of references within Office." : "Ceangail do chuntas Zotero chun úsáid a bhaint as tagairtí laistigh den Oifig.", "You can generate an account key here:" : "Is féidir leat eochair chuntais a ghiniúint anseo:", "Zotero account settings" : "Socruithe cuntais Zotero", "Zotero API key" : "Eochair Zotero API", "Submit" : "Cuir isteach", - "Failed to set Zotero API key" : "Theip ar eochair Zotero API a shocrú", + "Select a personal template folder" : "Roghnaigh fillteán teimpléad pearsanta", + "Settings saved successfully." : "D'éirigh leis na socruithe a shábháil.", + "Failed to save settings." : "Theip ar na socruithe a shábháil.", + "Unexpected error occurred." : "Tharla earráid gan choinne.", "Personal Settings for Nextcloud Office" : "Socruithe Pearsanta d'Oifig Nextcloud", "Select a template directory" : "Roghnaigh eolaire teimpléid", - "Select a personal template folder" : "Roghnaigh fillteán teimpléad pearsanta", "Remove personal template folder" : "Bain fillteán teimpléid pearsanta", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Cuirfear teimpléid taobh istigh den eolaire seo le roghnóir teimpléid Oifig Nextcloud.", "Zotero" : "Zotero", @@ -177,30 +225,27 @@ OC.L10N.register( "Enter document signing CA chain" : "Cuir isteach slabhra CA sínithe doiciméad", "To use document signing, specify your signing certificate, key and CA chain here." : "Chun síniú doiciméad a úsáid, sonraigh do theastas sínithe, eochair agus slabhra CA anseo.", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Ní thacaíonn an cás seo le síniú doiciméad, toisc go bhfuil an ghné in easnamh nó díchumasaithe. Déan teagmháil leis an riarthóir le do thoil.", - "Settings saved successfully." : "D'éirigh leis na socruithe a shábháil.", - "Failed to save settings." : "Theip ar na socruithe a shábháil.", - "Unexpected error occurred." : "Tharla earráid gan choinne.", "Description" : "Cur síos", "Add new token" : "Cuir comhartha nua leis", "No font overview" : "Gan forbhreathnú ar an gcló", "Delete this font" : "Scrios an cló seo", "No results" : "Gan torthaí", + "Select file" : "Roghnaigh comhad", "Select file or folder to link to" : "Roghnaigh comhad nó fillteán le nascadh leis", "Could not find any section in the document" : "Níorbh fhéidir aon chuid sa doiciméad a aimsiú", - "Select file" : "Roghnaigh comhad", + "{productName} is not configured" : "Níl {productName} cumraithe", + "Starting the built-in CODE server failed" : "Theip ar an bhfreastalaí CÓD ionsuite a thosú", + "Loading {filename} …" : "{filename} á lódáil…", + "Failed to load {productName} - please try again later" : "Theip ar lódáil {productName} - bain triail eile as ar ball le do thoil", + "Open in local editor" : "Oscail in eagarthóir áitiúil", + "Cluster is scaling …" : "Tá braisle ag scálú…", + "The collaborative editing was terminated by another user" : "Chuir úsáideoir eile deireadh leis an eagarthóireacht chomhoibríoch", "Document loading failed" : "Theip ar lódáil an doiciméid", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Seiceáil le do thoil logáil freastalaí Collabora Online le haghaidh tuilleadh sonraí agus cinntigh gur féidir teacht ar Nextcloud as sin.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Dúnadh nasc soicéad gan choinne. Seans go bhfuil an seachfhreastalaí cúil míchumraithe, déan teagmháil leis an riarthóir le do thoil.", "More information can be found in the reverse proxy documentation" : "Is féidir tuilleadh faisnéise a fháil sa doiciméadú seachfhreastalaí droim ar ais", "Close" : "Dún", "Edit" : "Cuir in eagar", - "Starting the built-in CODE server failed" : "Theip ar an bhfreastalaí CÓD ionsuite a thosú", - "Loading {filename} …" : "{filename} á lódáil…", - "Open in local editor" : "Oscail in eagarthóir áitiúil", - "Cluster is scaling …" : "Tá braisle ag scálú…", - "The collaborative editing was terminated by another user" : "Chuir úsáideoir eile deireadh leis an eagarthóireacht chomhoibríoch", - "Failed to load {productName} - please try again later" : "Theip ar lódáil {productName} - bain triail eile as ar ball le do thoil", - "{productName} is not configured" : "Níl {productName} cumraithe", "Built-in CODE Server is starting up shortly, please wait." : "Tá Freastalaí CÓD ionsuite ag tosú go luath, fan le do thoil.", "Built-in CODE Server is restarting, please wait." : "Tá Freastalaí CÓD ionsuite ag atosú, fan le do thoil.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Earráid: Ní féidir an AppImage a aimsiú, athshuiteáil freastalaí Insuite Collabora Ar Líne.", @@ -234,15 +279,24 @@ OC.L10N.register( "Follow current editor" : "Lean an t-eagarthóir reatha", "New file" : "Comhad nua", "Please enter the filename for the new file" : "Cuir isteach ainm an chomhaid don chomhad nua le do thoil", - "Create" : "Cruthaigh", - "New drawing" : "Líníocht nua", "Could not create file" : "Níorbh fhéidir an comhad a chruthú", - "Select template" : "Roghnaigh teimpléad", + "Could not load templates" : "Níorbh fhéidir teimpléid a luchtú", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Sábháilte le hearráid: Ba cheart go n-úsáidfeadh Collabora Online an prótacal céanna agus a úsáidtear suiteáil an fhreastalaí.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Níorbh fhéidir nasc a bhunú leis an bhfreastalaí Collabora Online. Seans go bhfuil sé seo mar gheall ar chumraíocht do fhreastalaí gréasáin in easnamh. Le haghaidh tuilleadh eolais, tabhair cuairt ar:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Tá freastalaí ar leith ag teastáil ó Nextcloud Oifig a ritheann Collabora Online chun cumais eagarthóireachta a sholáthar.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Teastaíonn freastalaí ar leith ó Collabora Online a fheidhmíonn mar Chliant cosúil le WOPI chun cumais eagarthóireachta a sholáthar.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Is féidir le gach úsáideoir doiciméid le {productName} a chur in eagar de réir réamhshocraithe. Nuair atá an socrú seo gníomhach, ní féidir ach le baill na ngrúpaí sonraithe eagarthóireacht a dhéanamh agus ní féidir leis na cinn eile ach féachaint ar dhoiciméid.", + "Secure view settings" : "Socruithe amhairc slán", + "Secure view enables you to secure documents by embedding a watermark" : "Cuireann radharc slán ar do chumas doiciméid a dhaingniú trí comhartha uisce a leabú", + "Enable watermarking" : "Cumasaigh comhartha uisce", + "Show watermark on tagged files" : "Taispeáin comhartha uisce ar chomhaid clibeáilte", + "Show watermark for users of groups" : "Taispeáin comhartha uisce d'úsáideoirí na ngrúpaí", + "Show watermark for all shares" : "Taispeáin comhartha uisce do na scaireanna go léir", + "Show watermark for read only shares" : "Taispeáin comhartha uisce le haghaidh scaireanna inléite amháin", + "Show watermark for all link shares" : "Taispeáin comhartha uisce do gach sciar nasc", + "Show watermark for download hidden shares" : "Taispeáin comhartha uisce do gach sciar nasc", + "Show watermark for read only link shares" : "Taispeáin comhartha uisce le haghaidh scaireanna naisc inléite amháin", + "Show watermark on link shares with specific system tags" : "Taispeáin comhartha uisce ar scaireanna naisc le clibeanna córais ar leith", "Error" : "Earráid", "An error occurred" : "Tharla earráid", "Please choose your nickname to continue as guest user." : "Roghnaigh do leasainm chun leanúint ar aghaidh mar aoi-úsáideoir.", @@ -250,6 +304,8 @@ OC.L10N.register( "Set" : "Socraigh", "Please enter the filename to store the document as." : "Cuir isteach ainm an chomhaid chun an doiciméad a stóráil mar.", "New filename" : "Ainm comhaid nua", + "Collabora Online is not setup yet. Please contact your administrator." : "Níl Collabara Online socraithe fós. Téigh i dteagmháil le do riarthóir.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Ní thacaítear leis an gcomhad a oscailt, ós rud é nach bhfuil na dintiúir don stóráil sheachtrach ar fáil gan seisiún", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Theip ar nascadh le {productName}. Bain triail eile as ar ball le do thoil nó déan teagmháil le riarthóir do fhreastalaí.", "Saving…" : "Shábháil…", "Insert from {name}" : "Ionsáigh ó {name}", @@ -263,6 +319,10 @@ OC.L10N.register( "No templates defined." : "Níl aon teimpléid sainmhínithe.", "Add a new one?" : "Cuir ceann nua leis?", "template preview" : "réamhamharc teimpléad", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Is féidir comhaid a íoslódáil go fóill trí Nextcloud mura gcuirtear srian ar a mhalairt trí shocruithe rialaithe comhroinnte nó rochtana", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Cuirfear bac ar réamhamhairc chun comhaid a bhfuil comhartha uisce orthu ionas nach scaoilfear an chéad leathanach de dhoiciméid", + "Show watermark for shares without download permission" : "Taispeáin comhartha uisce le haghaidh scaireanna gan cead íoslódála", + "New drawing" : "Líníocht nua", "Collabora Online" : "Collabora Online", "Document already exists" : "Tá an doiciméad ann cheana féin", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Tá Collabora Online cumasaithe do gach úsáideoirí de réir réamhshocraithe. Nuair atá an socrú seo gníomhach, ní féidir ach le baill de na grúpaí sonraithe é a úsáid.", diff --git a/l10n/ga.json b/l10n/ga.json index 186a98ba4f..199db51fbf 100644 --- a/l10n/ga.json +++ b/l10n/ga.json @@ -26,6 +26,19 @@ "Only template files can be uploaded" : "Ní féidir ach comhaid teimpléid a uaslódáil", "Invalid file provided" : "Comhad neamhbhailí curtha ar fáil", "Template not found" : "Teimpléad gan aimsiú", + "Unable to determine the proper file extension for %1$s" : "Ní féidir an síneadh cuí comhaid a chinneadh le haghaidh %1$s", + "Unable to fetch information on %1$s" : "Ní féidir faisnéis a fháil ar %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Íomhá (.png)", + "Image (.svg)" : "Íomhá (.svg)", + "Text (.rtf)" : "Téacs (.rtf)", + "Text (.txt)" : "Téacs (.txt)", + "Word Document (.docx)" : "Doiciméad Word (.docx)", + "OpenDocument Text (.odt)" : "Téacs OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Leabhar Oibre Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Scarbhileog OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Cur i Láthair PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Cur i Láthair OpenDocument (.odp)", "New document" : "Doiciméad nua", "New spreadsheet" : "Scarbhileog nua", "New presentation" : "Cur i láthair nua", @@ -39,17 +52,46 @@ "Sheets" : "Bileoga", "Slides" : "Sleamhnáin", "Office" : "Oifig", + "Nextcloud Assistant Slide Deck Generator" : "Gineadóir Deic Sleamhnán Cúnta Nextcloud", + "Generate Slide Deck" : "Gin Deic Sleamhnán", + "Generate a slide deck from a presentation script" : "Gin deic sleamhnán ó script cur i láthair", + "Presentation script" : "Script cur i láthair", + "Write the text for your presentation here" : "Scríobh an téacs do do chur i láthair anseo", + "Generated slide deck" : "Deic sleamhnán ginte", + "The slide deck generated" : "An deic sleamhnán a gineadh", + "Nextcloud Office text document generator" : "Gineadóir doiciméad téacs Nextcloud Office", + "Document format" : "Formáid doiciméad", + "The format of the generated document" : "Formáid an doiciméid a ghintear", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Formáid Doiciméad Iniompartha (pdf)", + "Generate Office text document" : "Gin doiciméad téacs Office", + "Generate an Office text document from a prompt" : "Gin doiciméad téacs Office ó leid", + "Instructions" : "Comhaid Nextcloud ag teastáil", + "Describe the document you want the assistant to generate" : "Déan cur síos ar an doiciméad a theastaíonn uait don chúntóir a ghiniúint", + "Generated Office document" : "Doiciméad oifige ginte", + "The Office document that was generated from the description" : "Doiciméad na hOifige a gineadh ón tuairisc", + "Nextcloud Office spreadsheet generator" : "Gineadóir scarbhileog Office Nextcloud", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Gin doiciméad scarbhileog na hOifige", + "Generate an Office spreadsheet document from a prompt" : "Gin doiciméad scarbhileog Oifige ó leid", "Empty" : "Folamh", "Anonymous guest" : "Aoi gan ainm", "%s (Guest)" : "%s (Aoi)", "Edit office documents directly in your browser." : "Cuir doiciméid oifige in eagar go díreach i do bhrabhsálaí.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Is féidir leis an bhfeidhmchlár seo nascadh le freastalaí Collabora Online (nó freastalaí eile) (Cliant cosúil le WOPI). Is é Nextcloud an t-óstach WOPI. Léigh na doiciméid le do thoil chun tuilleadh a fhoghlaim faoi sin.\n\nIs féidir leat freisin do dhoiciméid a chur in eagar as-líne le haip Collabora Oifig ón **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** agus * *[iOS]( https://apps.apple.com/us/app/collabora-office/id1440482071)** siopa.", - "Global Templates" : "Teimpléid Dhomhanda", - "New" : "Nua", + "Accepted file types: {accepts}" : "Cineálacha comhaid a nglactar leo: {accepts}", "Uploaded template \"{name}\"" : "Uaslódáladh teimpléad \"{name}\"", "Template \"{name}\" already exists" : "Tá an teimpléad \"{name}\" ann cheana", "Unable to delete template" : "Ní féidir an teimpléad a scriosadh", "Deleted template" : "Teimpléad scriosta", + "Global Templates" : "Teimpléid Dhomhanda", + "New" : "Nua", + "Contact {0} to get an own installation." : "Déan teagmháil le {0} chun suiteáil féin a fháil.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Bí cinnte an URL seo a shocrú: {url} sa chomhad coolwsd.xml de do fhreastalaí Collabora Ar Líne chun a chinntiú go lódáiltear na clónna breise go huathoibríoch. Tabhair faoi deara le do thoil nach n-oibreoidh http:// ach le haghaidh tógála dífhabhtaithe de Collabora Online. I dtáirgeadh ní mór duit https:// a úsáid le haghaidh cianchumraíocht na gcló.", + "Failed to save settings" : "Theip ar na socruithe a shábháil", + "Font format not supported ({mime})" : "Ní thacaítear le formáid an chló ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Is sraith oifige chumhachtach ar líne í Nextcloud Oifig atá bunaithe ar Collabora Online le eagarthóireacht chomhoibríoch, a thacaíonn le gach mór dhoiciméad, scarbhileog agus formáid comhaid léirithe agus a oibríonn le chéile le gach brabhsálaí nua-aimseartha.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Is sraith chumhachtach oifige ar líne é Collabora Online atá bunaithe ar LibreOffice le heagarthóireacht chomhoibríoch, a thacaíonn le gach mórdhoiciméad, scarbhileog agus formáid comhaid léirithe agus a oibríonn le chéile le gach brabhsálaí nua-aimseartha.", "Could not establish connection to the Collabora Online server." : "Níorbh fhéidir nasc a bhunú leis an bhfreastalaí Collabora Online.", @@ -107,60 +149,66 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Fréamh gréasáin canonical, i gcás go bhfuil iolraí ann, le húsáid ag Collabora. Cuir an ceann is lú srianta ar fáil. M.sh.: Bain úsáid as fréamh gréasáin neamhshibóideach má tá rochtain ag fréamhacha gréasáin shibóideach agus neamhshibólaithe ar an gcás seo. Is féidir leat neamhaird a dhéanamh den socrú seo mura n-úsáidtear ach fréamh gréasáin amháin chun rochtain a fháil ar an gcás seo.", "Enable access for external apps" : "Cumasaigh rochtain ar aipeanna seachtracha", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Liosta de sheoltaí IP IPV4 agus IPV6 agus folíonta a bhfuil cead acu iarratais ar chríochphointí WAPI a dhéanamh. Mura sonraítear liosta ceada, ceadófar gach óstach. E.g. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Clónna breise", - "Upload extra font file" : "Uaslódáil comhad cló breise", + "Custom Fonts" : "Clónna Saincheaptha", + "Upload font file" : "Uaslódáil comhad cló", "Upload a font file" : "Uaslódáil comhad cló", "Available fonts" : "Clónna ar fáil", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Le haghaidh comhoiriúnachta doiciméad idéalach molaimid duit clónna a úsáidtear go coitianta a shuiteáil. Má tá d'úsáideoirí ag obair le Microsoft Office, is féidir a gcuid clónna dílseánaigh a shuiteáil tar éis na doiciméid.", "Custom fonts documentation" : "Doiciméadú clónna saincheaptha", - "Secure view settings" : "Socruithe amhairc slán", - "Secure view enables you to secure documents by embedding a watermark" : "Cuireann radharc slán ar do chumas doiciméid a dhaingniú trí comhartha uisce a leabú", + "Secure View" : "Amharc Slán", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Leis an radharc slán, is féidir leat doiciméid oifige a dhaingniú trí íoslódálacha, réamhamhairc agus comhartha uisce a thaispeáint a bhac.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ní bhaineann na socruithe ach le comhaid oifige chomhoiriúnacha a osclaítear in Oifig Nextcloud", + "Downloading the file through WebDAV will be blocked" : "Cuirfear bac ar an gcomhad a íoslódáil trí WebDAV", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Díchumasófar na roghanna seo a leanas in Oifig Nextcloud: Cóipeáil, Íoslódáil, Easpórtáil, Priontáil", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Is féidir comhaid a íoslódáil go fóill trí Nextcloud mura gcuirtear srian ar a mhalairt trí shocruithe rialaithe comhroinnte nó rochtana", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Seans go mbeidh comhaid fós le híoslódáil trí iarratais WOPI mura bhfuil socruithe WOPI cumraithe i gceart", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Cuirfear bac ar réamhamhairc chun comhaid a bhfuil comhartha uisce orthu ionas nach scaoilfear an chéad leathanach de dhoiciméid", - "Enable watermarking" : "Cumasaigh comhartha uisce", + "Previews will be blocked" : "Cuirfear bac ar réamhamhairc", + "Enable secure view" : "Cumasaigh radharc slán", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Áitsealbhóirí a dtacaítear leo: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Taispeáin comhartha uisce ar chomhaid clibeáilte", + "Enforce secure view on tagged files" : "Forfheidhmigh radharc slán ar chomhaid chlibeáilte", "Select tags to enforce watermarking" : "Roghnaigh clibeanna chun comhartha uisce a chur i bhfeidhm", - "Show watermark for users of groups" : "Taispeáin comhartha uisce d'úsáideoirí na ngrúpaí", - "Show watermark for all shares" : "Taispeáin comhartha uisce do na scaireanna go léir", - "Show watermark for read only shares" : "Taispeáin comhartha uisce le haghaidh scaireanna inléite amháin", - "Show watermark for shares without download permission" : "Taispeáin comhartha uisce le haghaidh scaireanna gan cead íoslódála", - "Show watermark for all link shares" : "Taispeáin comhartha uisce do gach sciar nasc", - "Show watermark for download hidden shares" : "Taispeáin comhartha uisce do gach sciar nasc", - "Show watermark for read only link shares" : "Taispeáin comhartha uisce le haghaidh scaireanna naisc inléite amháin", - "Show watermark on link shares with specific system tags" : "Taispeáin comhartha uisce ar scaireanna naisc le clibeanna córais ar leith", - "Electronic signature settings" : "Socruithe síniú leictreonach", + "Enforce secure view for users of groups" : "Forfheidhmigh radharc slán d'úsáideoirí grúpaí", + "Enforce secure view for all shares" : "Forfheidhmigh radharc slán do gach scaireanna", + "Enforce secure view for read only shares" : "Forfheidhmigh radharc slán le haghaidh scaireanna inléite amháin", + "Enforce secure view for all public Talk shares" : "Forfheidhmigh radharc slán do gach scaireanna poiblí Talk", + "Enforce secure view for shares without download permission" : "Forfheidhmigh radharc slán le haghaidh scaireanna gan chead íoslódála", + "Enforce secure view for all link shares" : "Forfheidhmigh radharc slán do gach comhroinnt nasc", + "Enforce secure view for download hidden shares" : "Forfheidhmigh radharc slán le haghaidh scaireanna i bhfolach a íoslódáil", + "Enforce secure view for read only link shares" : "Forfheidhmigh radharc slán le haghaidh comhroinnt nasc léite amháin", + "Enforce secure view on link shares with specific system tags" : "Forfheidhmigh radharc slán ar chomhroinnt nasc le clibeanna córais shonracha", + "Select tags to enforce secure view" : "Roghnaigh clibeanna chun radharc slán a fhorfheidhmiú", + "Electronic Signature" : "Síniú Leictreonach", "Client ID for the electronic signature API" : "ID an chliaint don API ríomhshínithe", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Líon isteach an fhoirm chlárúcháin ag https://eideasy.com/signup chun ID agus rún an chliaint a fháil.", "Secret for the electronic signature API" : "Rúnda don API síniú leictreonach", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Is féidir an rún a íoslódáil trí iarratais WOPI mura bhfuil liosta ceadaithe WOPI cumraithe i gceart.", - "Contact {0} to get an own installation." : "Déan teagmháil le {0} chun suiteáil féin a fháil.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Bí cinnte an URL seo a shocrú: {url} sa chomhad coolwsd.xml de do fhreastalaí Collabora Ar Líne chun a chinntiú go lódáiltear na clónna breise go huathoibríoch. Tabhair faoi deara le do thoil nach n-oibreoidh http:// ach le haghaidh tógála dífhabhtaithe de Collabora Online. I dtáirgeadh ní mór duit https:// a úsáid le haghaidh cianchumraíocht na gcló.", - "Failed to save settings" : "Theip ar na socruithe a shábháil", - "Font format not supported ({mime})" : "Ní thacaítear le formáid an chló ({mime})", "Save" : "Sábháil", "Remove" : "Bain", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Cuir isteach an t-ainm aoi is mian leat a úsáid sula dtéann tú ar aghaidh chuig an doiciméad le do thoil. Mura gcuireann tú ceann ar fáil, úsáidfear an réamhshocrú.", "Guest name" : "Ainm aoi", "Submit name" : "Cuir ainm", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Cuir isteach an t-ainm aoi is mian leat a úsáid sula dtéann tú ar aghaidh chuig an doiciméad le do thoil. Mura gcuireann tú ceann ar fáil, úsáidfear an réamhshocrú.", "Confirm" : "Deimhnigh", "Cancel" : "Cealaigh", + "Save As" : "Sábháil mar", "Save as" : "Sábháil mar", "Path to save" : "Conair a shábháil", - "Save As" : "Sábháil mar", + "Invalid file name" : "Ainm comhaid neamhbhailí", + "File name already exists" : "Tá ainm comhaid ann cheana féin", + "Select template" : "Roghnaigh teimpléad", + "File name" : "Ainm comhaid", + "Create" : "Cruthaigh", + "Failed to set Zotero API key" : "Theip ar eochair Zotero API a shocrú", "Link to your Zotero library" : "Nasc le do leabharlann Zotero", "Connect your Zotero account to make use of references within Office." : "Ceangail do chuntas Zotero chun úsáid a bhaint as tagairtí laistigh den Oifig.", "You can generate an account key here:" : "Is féidir leat eochair chuntais a ghiniúint anseo:", "Zotero account settings" : "Socruithe cuntais Zotero", "Zotero API key" : "Eochair Zotero API", "Submit" : "Cuir isteach", - "Failed to set Zotero API key" : "Theip ar eochair Zotero API a shocrú", + "Select a personal template folder" : "Roghnaigh fillteán teimpléad pearsanta", + "Settings saved successfully." : "D'éirigh leis na socruithe a shábháil.", + "Failed to save settings." : "Theip ar na socruithe a shábháil.", + "Unexpected error occurred." : "Tharla earráid gan choinne.", "Personal Settings for Nextcloud Office" : "Socruithe Pearsanta d'Oifig Nextcloud", "Select a template directory" : "Roghnaigh eolaire teimpléid", - "Select a personal template folder" : "Roghnaigh fillteán teimpléad pearsanta", "Remove personal template folder" : "Bain fillteán teimpléid pearsanta", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Cuirfear teimpléid taobh istigh den eolaire seo le roghnóir teimpléid Oifig Nextcloud.", "Zotero" : "Zotero", @@ -175,30 +223,27 @@ "Enter document signing CA chain" : "Cuir isteach slabhra CA sínithe doiciméad", "To use document signing, specify your signing certificate, key and CA chain here." : "Chun síniú doiciméad a úsáid, sonraigh do theastas sínithe, eochair agus slabhra CA anseo.", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Ní thacaíonn an cás seo le síniú doiciméad, toisc go bhfuil an ghné in easnamh nó díchumasaithe. Déan teagmháil leis an riarthóir le do thoil.", - "Settings saved successfully." : "D'éirigh leis na socruithe a shábháil.", - "Failed to save settings." : "Theip ar na socruithe a shábháil.", - "Unexpected error occurred." : "Tharla earráid gan choinne.", "Description" : "Cur síos", "Add new token" : "Cuir comhartha nua leis", "No font overview" : "Gan forbhreathnú ar an gcló", "Delete this font" : "Scrios an cló seo", "No results" : "Gan torthaí", + "Select file" : "Roghnaigh comhad", "Select file or folder to link to" : "Roghnaigh comhad nó fillteán le nascadh leis", "Could not find any section in the document" : "Níorbh fhéidir aon chuid sa doiciméad a aimsiú", - "Select file" : "Roghnaigh comhad", + "{productName} is not configured" : "Níl {productName} cumraithe", + "Starting the built-in CODE server failed" : "Theip ar an bhfreastalaí CÓD ionsuite a thosú", + "Loading {filename} …" : "{filename} á lódáil…", + "Failed to load {productName} - please try again later" : "Theip ar lódáil {productName} - bain triail eile as ar ball le do thoil", + "Open in local editor" : "Oscail in eagarthóir áitiúil", + "Cluster is scaling …" : "Tá braisle ag scálú…", + "The collaborative editing was terminated by another user" : "Chuir úsáideoir eile deireadh leis an eagarthóireacht chomhoibríoch", "Document loading failed" : "Theip ar lódáil an doiciméid", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Seiceáil le do thoil logáil freastalaí Collabora Online le haghaidh tuilleadh sonraí agus cinntigh gur féidir teacht ar Nextcloud as sin.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Dúnadh nasc soicéad gan choinne. Seans go bhfuil an seachfhreastalaí cúil míchumraithe, déan teagmháil leis an riarthóir le do thoil.", "More information can be found in the reverse proxy documentation" : "Is féidir tuilleadh faisnéise a fháil sa doiciméadú seachfhreastalaí droim ar ais", "Close" : "Dún", "Edit" : "Cuir in eagar", - "Starting the built-in CODE server failed" : "Theip ar an bhfreastalaí CÓD ionsuite a thosú", - "Loading {filename} …" : "{filename} á lódáil…", - "Open in local editor" : "Oscail in eagarthóir áitiúil", - "Cluster is scaling …" : "Tá braisle ag scálú…", - "The collaborative editing was terminated by another user" : "Chuir úsáideoir eile deireadh leis an eagarthóireacht chomhoibríoch", - "Failed to load {productName} - please try again later" : "Theip ar lódáil {productName} - bain triail eile as ar ball le do thoil", - "{productName} is not configured" : "Níl {productName} cumraithe", "Built-in CODE Server is starting up shortly, please wait." : "Tá Freastalaí CÓD ionsuite ag tosú go luath, fan le do thoil.", "Built-in CODE Server is restarting, please wait." : "Tá Freastalaí CÓD ionsuite ag atosú, fan le do thoil.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Earráid: Ní féidir an AppImage a aimsiú, athshuiteáil freastalaí Insuite Collabora Ar Líne.", @@ -232,15 +277,24 @@ "Follow current editor" : "Lean an t-eagarthóir reatha", "New file" : "Comhad nua", "Please enter the filename for the new file" : "Cuir isteach ainm an chomhaid don chomhad nua le do thoil", - "Create" : "Cruthaigh", - "New drawing" : "Líníocht nua", "Could not create file" : "Níorbh fhéidir an comhad a chruthú", - "Select template" : "Roghnaigh teimpléad", + "Could not load templates" : "Níorbh fhéidir teimpléid a luchtú", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Sábháilte le hearráid: Ba cheart go n-úsáidfeadh Collabora Online an prótacal céanna agus a úsáidtear suiteáil an fhreastalaí.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Níorbh fhéidir nasc a bhunú leis an bhfreastalaí Collabora Online. Seans go bhfuil sé seo mar gheall ar chumraíocht do fhreastalaí gréasáin in easnamh. Le haghaidh tuilleadh eolais, tabhair cuairt ar:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Tá freastalaí ar leith ag teastáil ó Nextcloud Oifig a ritheann Collabora Online chun cumais eagarthóireachta a sholáthar.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Teastaíonn freastalaí ar leith ó Collabora Online a fheidhmíonn mar Chliant cosúil le WOPI chun cumais eagarthóireachta a sholáthar.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Is féidir le gach úsáideoir doiciméid le {productName} a chur in eagar de réir réamhshocraithe. Nuair atá an socrú seo gníomhach, ní féidir ach le baill na ngrúpaí sonraithe eagarthóireacht a dhéanamh agus ní féidir leis na cinn eile ach féachaint ar dhoiciméid.", + "Secure view settings" : "Socruithe amhairc slán", + "Secure view enables you to secure documents by embedding a watermark" : "Cuireann radharc slán ar do chumas doiciméid a dhaingniú trí comhartha uisce a leabú", + "Enable watermarking" : "Cumasaigh comhartha uisce", + "Show watermark on tagged files" : "Taispeáin comhartha uisce ar chomhaid clibeáilte", + "Show watermark for users of groups" : "Taispeáin comhartha uisce d'úsáideoirí na ngrúpaí", + "Show watermark for all shares" : "Taispeáin comhartha uisce do na scaireanna go léir", + "Show watermark for read only shares" : "Taispeáin comhartha uisce le haghaidh scaireanna inléite amháin", + "Show watermark for all link shares" : "Taispeáin comhartha uisce do gach sciar nasc", + "Show watermark for download hidden shares" : "Taispeáin comhartha uisce do gach sciar nasc", + "Show watermark for read only link shares" : "Taispeáin comhartha uisce le haghaidh scaireanna naisc inléite amháin", + "Show watermark on link shares with specific system tags" : "Taispeáin comhartha uisce ar scaireanna naisc le clibeanna córais ar leith", "Error" : "Earráid", "An error occurred" : "Tharla earráid", "Please choose your nickname to continue as guest user." : "Roghnaigh do leasainm chun leanúint ar aghaidh mar aoi-úsáideoir.", @@ -248,6 +302,8 @@ "Set" : "Socraigh", "Please enter the filename to store the document as." : "Cuir isteach ainm an chomhaid chun an doiciméad a stóráil mar.", "New filename" : "Ainm comhaid nua", + "Collabora Online is not setup yet. Please contact your administrator." : "Níl Collabara Online socraithe fós. Téigh i dteagmháil le do riarthóir.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Ní thacaítear leis an gcomhad a oscailt, ós rud é nach bhfuil na dintiúir don stóráil sheachtrach ar fáil gan seisiún", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Theip ar nascadh le {productName}. Bain triail eile as ar ball le do thoil nó déan teagmháil le riarthóir do fhreastalaí.", "Saving…" : "Shábháil…", "Insert from {name}" : "Ionsáigh ó {name}", @@ -261,6 +317,10 @@ "No templates defined." : "Níl aon teimpléid sainmhínithe.", "Add a new one?" : "Cuir ceann nua leis?", "template preview" : "réamhamharc teimpléad", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Is féidir comhaid a íoslódáil go fóill trí Nextcloud mura gcuirtear srian ar a mhalairt trí shocruithe rialaithe comhroinnte nó rochtana", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Cuirfear bac ar réamhamhairc chun comhaid a bhfuil comhartha uisce orthu ionas nach scaoilfear an chéad leathanach de dhoiciméid", + "Show watermark for shares without download permission" : "Taispeáin comhartha uisce le haghaidh scaireanna gan cead íoslódála", + "New drawing" : "Líníocht nua", "Collabora Online" : "Collabora Online", "Document already exists" : "Tá an doiciméad ann cheana féin", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Tá Collabora Online cumasaithe do gach úsáideoirí de réir réamhshocraithe. Nuair atá an socrú seo gníomhach, ní féidir ach le baill de na grúpaí sonraithe é a úsáid.", diff --git a/l10n/gd.js b/l10n/gd.js index 9126e2a9ca..9ea056c085 100644 --- a/l10n/gd.js +++ b/l10n/gd.js @@ -14,6 +14,8 @@ OC.L10N.register( "Save" : "Sàbhail", "Remove" : "Thoir air falbh", "Cancel" : "Sguir dheth", + "Select template" : "Tagh teamplaid", + "Create" : "Cruthaich", "No results" : "Gun toradh", "Close" : "Dùin", "Edit" : "Deasaich", @@ -21,8 +23,6 @@ OC.L10N.register( "Details" : "Mion-fhiosrachadh", "Download" : "Luchdaich a-nuas", "New file" : "Faidhle ùr", - "Create" : "Cruthaich", - "Select template" : "Tagh teamplaid", "Error" : "Mearachd" }, "nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;"); diff --git a/l10n/gd.json b/l10n/gd.json index 7d1dc8e3ba..0b0b401062 100644 --- a/l10n/gd.json +++ b/l10n/gd.json @@ -12,6 +12,8 @@ "Save" : "Sàbhail", "Remove" : "Thoir air falbh", "Cancel" : "Sguir dheth", + "Select template" : "Tagh teamplaid", + "Create" : "Cruthaich", "No results" : "Gun toradh", "Close" : "Dùin", "Edit" : "Deasaich", @@ -19,8 +21,6 @@ "Details" : "Mion-fhiosrachadh", "Download" : "Luchdaich a-nuas", "New file" : "Faidhle ùr", - "Create" : "Cruthaich", - "Select template" : "Tagh teamplaid", "Error" : "Mearachd" },"pluralForm" :"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;" } \ No newline at end of file diff --git a/l10n/gl.js b/l10n/gl.js index 51537bdc8e..5f6e44d6fc 100644 --- a/l10n/gl.js +++ b/l10n/gl.js @@ -28,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "Só se poden enviar ficheiros de modelos", "Invalid file provided" : "O ficheiro fornecido non é válido", "Template not found" : "Non se atopou o modelo", + "Unable to determine the proper file extension for %1$s" : "Non é posíbel determinar a extensión de ficheiro axeitada para %1$s", + "Unable to fetch information on %1$s" : "Non é posíbel recuperar información sobre %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Imaxe (.png)", + "Image (.svg)" : "Imaxe (.svg)", + "Text (.rtf)" : "Texto (.rtf)", + "Text (.txt)" : "Texto (.txt)", + "Word Document (.docx)" : "Documento de Word (.docx)", + "OpenDocument Text (.odt)" : "Texto de OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Caderno de Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Folla de cálculo de OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Presentación PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Presentación de OpenDocument (.odp)", "New document" : "Novo documento", "New spreadsheet" : "Nova folla de cálculo", "New presentation" : "Nova presentación", @@ -35,23 +48,28 @@ OC.L10N.register( "{user} has mentioned you in {node}" : "{user} mencionouno a Vde. en {node}", "Link to office document section" : "Ligazón á sección de documentos de oficina", "Nextcloud Office" : "Nextcloud Office", - "Headings" : "Cabeceiras", + "Headings" : "Títulos", "Sections" : "Seccións", "Images" : "Imaxes", "Sheets" : "Follas", "Slides" : "Diapositivas", "Office" : "Oficina", + "Instructions" : "Instrucións", "Empty" : "Baleiro", "Anonymous guest" : "Convidado anónimo", "%s (Guest)" : "%s (Convidado)", "Edit office documents directly in your browser." : "Edite documentos de oficina directamente no seu navegador.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Esta aplicación pode conectarse a un servidor Collabora Online (ou outro) (cliente tipo WOPI). Nextcloud é o anfitrión WOPI. Lea a documentación para obter máis información sobre isto.\n\nTamén pode editar os seus documentos fóra de liña coa aplicación Collabora Office que pode obter nas tendas **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** e **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**", - "Global Templates" : "Modelos globais", - "New" : "Novo", "Uploaded template \"{name}\"" : "Foi enviado o modelo «{name}»", "Template \"{name}\" already exists" : "Xa existe o modelo «{name}»", "Unable to delete template" : "Non é posíbel eliminar o modelo", "Deleted template" : "O modelo foi eliminado", + "Global Templates" : "Modelos globais", + "New" : "Novo", + "Contact {0} to get an own installation." : "Póñase en contacto con {0} para obter unha instalación propia.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Asegúrese de definir este URL: {url} no ficheiro coolwsd.xml do seu servidor de Collabora Online para garantir que os tipos de letra engadidos carguen automaticamente. Teña en conta que http:// só funcionará para compilacións de depuración de Collabora Online. En produción debe usar https:// para a configuración remota de tipografías.", + "Failed to save settings" : "Produciuse un fallo ao gardar os axustes", + "Font format not supported ({mime})" : "Formato de tipo de letra non compatíbel ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office é unha potente suite ofimática en liña baseada en Collabora Online con edición colaborativa, que admite todos os principais documentos, follas de cálculo e formatos de ficheiros de presentación e funciona con todos os navegadores modernos.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online é unha potente suite de oficina en liña baseada no LibreOffice con edición colaborativa que admite todos os documentos máis importantes, follas de cálculo e formatos de ficheiros de presentación e traballa con todos os navegadores modernos.", "Could not establish connection to the Collabora Online server." : "Non foi posíbel estabelecer a conexión co servidor de Collabora Online", @@ -109,60 +127,50 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Raíz web canónica, no caso de que haxa múltiples, para que use Collabora. Proporcione a que teña menos restricións. Ex: Use a raíz web sen «shibboleth» se se accede a esta instancia tanto desde raíces web con «shibboleth» como sen «shibboleth». Pode ignorar este axuste se só se emprega unha raíz web para acceder a esta instancia.", "Enable access for external apps" : "Activar o acceso a aplicacións externas", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de enderezos IP e subredes IPV4 e IPV6 que teñen permiso para realizar solicitudes dos puntos finais WOPI. Se non se especifica ningunha lista de permisos, permitiranse todas as máquinas. P. ex. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Tipos de letra adicionais", - "Upload extra font file" : "Enviar un ficheiro adicional de tipo de letra", + "Custom Fonts" : "Tipos de letra personalizados", + "Upload font file" : "Enviar ficheiro de tipos de letra", "Upload a font file" : "Enviar un ficheiro de tipo de letra", "Available fonts" : "Tipos de letra dispoñíbeis", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Para unha compatibilidade ideal dos documentos, recomendámoslle que instale tipos de letra de uso habitual. Se os seus usuarios están a traballaren con Microsoft Office, a instalación das súas fontes propietarias pódese facer seguindo a documentación.", "Custom fonts documentation" : "Documentación sobre tipos de letra personalizados", - "Secure view settings" : "Axustes de vista segura", - "Secure view enables you to secure documents by embedding a watermark" : "A vista segura permite protexer documentos inserindo unha marca de auga", + "Secure View" : "Vista segura", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Os axustes só se aplica aos ficheiros de oficina compatíbeis que se abran en Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Desactivaranse as seguintes opcións de Nextcloud Office: copiar, descargar, exportar e imprimir", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Os ficheiros aínda poden descargarse a través de Nextcloud a non ser que se restrinxa ao contrario mediante os axustes de control de acceso ou de uso compartido", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Os ficheiros aínda poden descargarse mediante solicitudes WOPI se os axustes WOPI non están configurados correctamente", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Bloquearanse as vistas previas dos ficheiros con marca de auga para non divulgar accidentalmente a primeira páxina dos documentos", - "Enable watermarking" : "Activar o marcado de auga", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Marcadores de substitución compatíbeis: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Amosar a marca de auga nos ficheiros etiquetados", "Select tags to enforce watermarking" : "Seleccionar etiquetas para impor o marcado de auga", - "Show watermark for users of groups" : "Amosar a marca de auga en usuarios de grupos", - "Show watermark for all shares" : "Amosar a marca de auga en todas as comparticións", - "Show watermark for read only shares" : "Amosar a marca de auga nas comparticións de só lectura", - "Show watermark for shares without download permission" : "Amosar a marca de auga para elementos compartidos sen permiso de descarga", - "Show watermark for all link shares" : "Amosar a marca de auga en todas as ligazóns para compartir", - "Show watermark for download hidden shares" : "Amosar a marca de auga na descarga de comparticións agochadas", - "Show watermark for read only link shares" : "Amosar a marca de auga nas ligazóns para compartir de só lectura", - "Show watermark on link shares with specific system tags" : "Amosar marca de auga nas ligazóns para compartir con etiquetas específicas do sistema", - "Electronic signature settings" : "Axustes da sinatura electrónica", + "Electronic Signature" : "Sinatura electrónica", "Client ID for the electronic signature API" : "ID de cliente para a API de sinatura electrónica", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Cubra o formulario de rexistro en https://eideasy.com/signup para obter un ID de cliente e un segredo.", "Secret for the electronic signature API" : "Segredo para a API de sinatura electrónica", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "O segredo pode descargarse mediante solicitudes WOPI se a lista de permisos WOPI non está configurada correctamente.", - "Contact {0} to get an own installation." : "Póñase en contacto con {0} para obter unha instalación propia.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Asegúrese de definir este URL: {url} no ficheiro coolwsd.xml do seu servidor de Collabora Online para garantir que os tipos de letra engadidos carguen automaticamente. Teña en conta que http:// só funcionará para compilacións de depuración de Collabora Online. En produción debe usar https:// para a configuración remota de tipografías.", - "Failed to save settings" : "Produciuse un fallo ao gardar os axustes", - "Font format not supported ({mime})" : "Formato de tipo de letra non compatíbel ({mime})", "Save" : "Gardar", "Remove" : "Retirar", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Introduza o nome de convidado que quere usar antes de continuar co documento. Se non fornece un, utilizarase o predeterminado.", "Guest name" : "Nome do convidado", "Submit name" : "Enviar o nome", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Introduza o nome de convidado que quere usar antes de continuar co documento. Se non fornece un, utilizarase o predeterminado.", "Confirm" : "Confirmar", "Cancel" : "Cancelar", + "Save As" : "Gardar como", "Save as" : "Gardar como", "Path to save" : "Ruta para gardar", - "Save As" : "Gardar como", + "Invalid file name" : "Nome de ficheiro incorrecto", + "Select template" : "Seleccionar o modelo", + "File name" : "Nome de ficheiro", + "Create" : "Crear", + "Failed to set Zotero API key" : "Produciuse un fallo ao definir a chave da API de Zotero", "Link to your Zotero library" : "Ligazón á súa biblioteca de Zotero", "Connect your Zotero account to make use of references within Office." : "Conecte a súa conta de Zotero para facer uso das referencias dntro de Office.", "You can generate an account key here:" : "Aquí pode xerar unha chave da conta:", "Zotero account settings" : "Axustes da conta de Zotero", "Zotero API key" : "Chave da API de Zotero", "Submit" : "Enviar", - "Failed to set Zotero API key" : "Produciuse un fallo ao definir a chave da API de Zotero", + "Select a personal template folder" : "Seleccione un cartafol de modelos persoais", + "Settings saved successfully." : "Os axustes gardáronse correctamente.", + "Failed to save settings." : "Produciuse un fallo ao gardar os axustes", + "Unexpected error occurred." : "Produciuse un erro non agardado.", "Personal Settings for Nextcloud Office" : "Axustes persoais para Nextcloud Office", "Select a template directory" : "Seleccionar un directorio de modelos", - "Select a personal template folder" : "Seleccione un cartafol de modelos persoais", "Remove personal template folder" : "Retirar o cartafol de modelos persoais", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Os modelos dentro deste directorio engádense ao selector de modelos de Nextcloud Office.", "Zotero" : "Zotero", @@ -177,30 +185,27 @@ OC.L10N.register( "Enter document signing CA chain" : "Introduza a cadea de sinatura de documentos da Entidade de certificación (CA)", "To use document signing, specify your signing certificate, key and CA chain here." : "Para usar a sinatura de documentos, especifique aquí o seu certificado de sinatura, a chave e a cadea da Entidade de certificación (CA).", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Esta instancia non admite a sinatura de documentos porque falta a función ou está desactivada. Póñase en contacto coa administración da instancia.", - "Settings saved successfully." : "Os axustes gardáronse correctamente.", - "Failed to save settings." : "Produciuse un fallo ao gardar os axustes", - "Unexpected error occurred." : "Produciuse un erro non agardado.", "Description" : "Descrición", "Add new token" : "Engadir un novo testemuño", "No font overview" : "Non hai vista previa xeral do tipo de letra", "Delete this font" : "Eliminar este tipo de letra", "No results" : "Sen resultados", + "Select file" : "Seleccionar ficheiro", "Select file or folder to link to" : "Seleccione o ficheiro ou cartafol ao que ligar", "Could not find any section in the document" : "Non foi posíbel atopar ningunha sección do documento", - "Select file" : "Seleccionar ficheiro", + "{productName} is not configured" : "{productName} non está configurado", + "Starting the built-in CODE server failed" : "Produciuse un erro ao iniciar o servidor CODE integrado", + "Loading {filename} …" : "Cargando {filename}…", + "Failed to load {productName} - please try again later" : "Produciuse un fallo ao cargar {productName}; ténteo máis adiante", + "Open in local editor" : "Abrir no editor local", + "Cluster is scaling …" : "O clúster está a escalar…", + "The collaborative editing was terminated by another user" : "Outro usuario rematou a edición colaborativa", "Document loading failed" : "Produciuse un fallo ao cargar o documento", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Consulte o rexistro do servidor de Collabora Online para obter máis detalles e asegúrese de que se poida acceder a Nextcloud desde alí.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "O conectador pechouse de xeito imprevisto. É posíbel que o proxy inverso estea mal configurado, póñase en contacto coa administración.", "More information can be found in the reverse proxy documentation" : "Pode atopar máis información na documentación do proxy inverso", "Close" : "Pechar", "Edit" : "Editar", - "Starting the built-in CODE server failed" : "Produciuse un erro ao iniciar o servidor CODE integrado", - "Loading {filename} …" : "Cargando {filename}…", - "Open in local editor" : "Abrir no editor local", - "Cluster is scaling …" : "O clúster está a escalar…", - "The collaborative editing was terminated by another user" : "Outro usuario rematou a edición colaborativa", - "Failed to load {productName} - please try again later" : "Produciuse un fallo ao cargar {productName}; ténteo máis adiante", - "{productName} is not configured" : "{productName} non está configurado", "Built-in CODE Server is starting up shortly, please wait." : "O servidor CODE integrado estará iniciado en breve. Agarde.", "Built-in CODE Server is restarting, please wait." : "O servidor CODE integrado está reiniciado. Agarde.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Erro: non se atopa a AppImage, volva instalar o servidor integrado Collabora Online.", @@ -234,15 +239,23 @@ OC.L10N.register( "Follow current editor" : "Seguir o editor actual", "New file" : "Novo ficheiro", "Please enter the filename for the new file" : "Introduza o nome de ficheiro para o novo ficheiro", - "Create" : "Crear", - "New drawing" : "Novo debuxo", "Could not create file" : "Non foi posíbel crear o ficheiro", - "Select template" : "Seleccionar o modelo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Gardado con erros: Collabora Online debe usar o mesmo protocolo que o instalado no servidor.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Non foi posíbel estabelecer a conexión co servidor Collabora Online. Isto pode deberse a unha falta de configuración do servidor web. Para máis información, visite:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office precisa dun servidor separado que execute Collabora Online para fornecer as funcións de edición.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online precisa dun servidor separado que actúe como cliente WOPI para fornecer funcionalidades de edición.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Todos os usuarios poden editar documentos con {productName} de xeito predeterminado. Cando este axuste está activo, só os membros dos grupos especificados poden editar, e os demais só poden ver os documentos.", + "Secure view settings" : "Axustes de vista segura", + "Secure view enables you to secure documents by embedding a watermark" : "A vista segura permite protexer documentos inserindo unha marca de auga", + "Enable watermarking" : "Activar o marcado de auga", + "Show watermark on tagged files" : "Amosar a marca de auga nos ficheiros etiquetados", + "Show watermark for users of groups" : "Amosar a marca de auga en usuarios de grupos", + "Show watermark for all shares" : "Amosar a marca de auga en todas as comparticións", + "Show watermark for read only shares" : "Amosar a marca de auga nas comparticións de só lectura", + "Show watermark for all link shares" : "Amosar a marca de auga en todas as ligazóns para compartir", + "Show watermark for download hidden shares" : "Amosar a marca de auga na descarga de comparticións agochadas", + "Show watermark for read only link shares" : "Amosar a marca de auga nas ligazóns para compartir de só lectura", + "Show watermark on link shares with specific system tags" : "Amosar marca de auga nas ligazóns para compartir con etiquetas específicas do sistema", "Error" : "Erro", "An error occurred" : "Produciuse un erro", "Please choose your nickname to continue as guest user." : "Escolla o seu alcume para continuar como usuario convidado.", @@ -263,6 +276,10 @@ OC.L10N.register( "No templates defined." : "Non hai modelos definidos", "Add a new one?" : "Engadir un novo?", "template preview" : "Vista previa do modelo", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Os ficheiros aínda poden descargarse a través de Nextcloud a non ser que se restrinxa ao contrario mediante os axustes de control de acceso ou de uso compartido", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Bloquearanse as vistas previas dos ficheiros con marca de auga para non divulgar accidentalmente a primeira páxina dos documentos", + "Show watermark for shares without download permission" : "Amosar a marca de auga para elementos compartidos sen permiso de descarga", + "New drawing" : "Novo debuxo", "Collabora Online" : "Collabora Online", "Document already exists" : "Xa existe o documento", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online está activado para todos os usuarios de xeito predeterminado. Cando este axuste está activo, só os membros dos grupos especificados poden usalo.", diff --git a/l10n/gl.json b/l10n/gl.json index 260bddeea3..375bbfb5b3 100644 --- a/l10n/gl.json +++ b/l10n/gl.json @@ -26,6 +26,19 @@ "Only template files can be uploaded" : "Só se poden enviar ficheiros de modelos", "Invalid file provided" : "O ficheiro fornecido non é válido", "Template not found" : "Non se atopou o modelo", + "Unable to determine the proper file extension for %1$s" : "Non é posíbel determinar a extensión de ficheiro axeitada para %1$s", + "Unable to fetch information on %1$s" : "Non é posíbel recuperar información sobre %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Imaxe (.png)", + "Image (.svg)" : "Imaxe (.svg)", + "Text (.rtf)" : "Texto (.rtf)", + "Text (.txt)" : "Texto (.txt)", + "Word Document (.docx)" : "Documento de Word (.docx)", + "OpenDocument Text (.odt)" : "Texto de OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Caderno de Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Folla de cálculo de OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Presentación PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Presentación de OpenDocument (.odp)", "New document" : "Novo documento", "New spreadsheet" : "Nova folla de cálculo", "New presentation" : "Nova presentación", @@ -33,23 +46,28 @@ "{user} has mentioned you in {node}" : "{user} mencionouno a Vde. en {node}", "Link to office document section" : "Ligazón á sección de documentos de oficina", "Nextcloud Office" : "Nextcloud Office", - "Headings" : "Cabeceiras", + "Headings" : "Títulos", "Sections" : "Seccións", "Images" : "Imaxes", "Sheets" : "Follas", "Slides" : "Diapositivas", "Office" : "Oficina", + "Instructions" : "Instrucións", "Empty" : "Baleiro", "Anonymous guest" : "Convidado anónimo", "%s (Guest)" : "%s (Convidado)", "Edit office documents directly in your browser." : "Edite documentos de oficina directamente no seu navegador.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Esta aplicación pode conectarse a un servidor Collabora Online (ou outro) (cliente tipo WOPI). Nextcloud é o anfitrión WOPI. Lea a documentación para obter máis información sobre isto.\n\nTamén pode editar os seus documentos fóra de liña coa aplicación Collabora Office que pode obter nas tendas **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** e **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**", - "Global Templates" : "Modelos globais", - "New" : "Novo", "Uploaded template \"{name}\"" : "Foi enviado o modelo «{name}»", "Template \"{name}\" already exists" : "Xa existe o modelo «{name}»", "Unable to delete template" : "Non é posíbel eliminar o modelo", "Deleted template" : "O modelo foi eliminado", + "Global Templates" : "Modelos globais", + "New" : "Novo", + "Contact {0} to get an own installation." : "Póñase en contacto con {0} para obter unha instalación propia.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Asegúrese de definir este URL: {url} no ficheiro coolwsd.xml do seu servidor de Collabora Online para garantir que os tipos de letra engadidos carguen automaticamente. Teña en conta que http:// só funcionará para compilacións de depuración de Collabora Online. En produción debe usar https:// para a configuración remota de tipografías.", + "Failed to save settings" : "Produciuse un fallo ao gardar os axustes", + "Font format not supported ({mime})" : "Formato de tipo de letra non compatíbel ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office é unha potente suite ofimática en liña baseada en Collabora Online con edición colaborativa, que admite todos os principais documentos, follas de cálculo e formatos de ficheiros de presentación e funciona con todos os navegadores modernos.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online é unha potente suite de oficina en liña baseada no LibreOffice con edición colaborativa que admite todos os documentos máis importantes, follas de cálculo e formatos de ficheiros de presentación e traballa con todos os navegadores modernos.", "Could not establish connection to the Collabora Online server." : "Non foi posíbel estabelecer a conexión co servidor de Collabora Online", @@ -107,60 +125,50 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Raíz web canónica, no caso de que haxa múltiples, para que use Collabora. Proporcione a que teña menos restricións. Ex: Use a raíz web sen «shibboleth» se se accede a esta instancia tanto desde raíces web con «shibboleth» como sen «shibboleth». Pode ignorar este axuste se só se emprega unha raíz web para acceder a esta instancia.", "Enable access for external apps" : "Activar o acceso a aplicacións externas", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de enderezos IP e subredes IPV4 e IPV6 que teñen permiso para realizar solicitudes dos puntos finais WOPI. Se non se especifica ningunha lista de permisos, permitiranse todas as máquinas. P. ex. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Tipos de letra adicionais", - "Upload extra font file" : "Enviar un ficheiro adicional de tipo de letra", + "Custom Fonts" : "Tipos de letra personalizados", + "Upload font file" : "Enviar ficheiro de tipos de letra", "Upload a font file" : "Enviar un ficheiro de tipo de letra", "Available fonts" : "Tipos de letra dispoñíbeis", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Para unha compatibilidade ideal dos documentos, recomendámoslle que instale tipos de letra de uso habitual. Se os seus usuarios están a traballaren con Microsoft Office, a instalación das súas fontes propietarias pódese facer seguindo a documentación.", "Custom fonts documentation" : "Documentación sobre tipos de letra personalizados", - "Secure view settings" : "Axustes de vista segura", - "Secure view enables you to secure documents by embedding a watermark" : "A vista segura permite protexer documentos inserindo unha marca de auga", + "Secure View" : "Vista segura", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Os axustes só se aplica aos ficheiros de oficina compatíbeis que se abran en Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Desactivaranse as seguintes opcións de Nextcloud Office: copiar, descargar, exportar e imprimir", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Os ficheiros aínda poden descargarse a través de Nextcloud a non ser que se restrinxa ao contrario mediante os axustes de control de acceso ou de uso compartido", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Os ficheiros aínda poden descargarse mediante solicitudes WOPI se os axustes WOPI non están configurados correctamente", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Bloquearanse as vistas previas dos ficheiros con marca de auga para non divulgar accidentalmente a primeira páxina dos documentos", - "Enable watermarking" : "Activar o marcado de auga", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Marcadores de substitución compatíbeis: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Amosar a marca de auga nos ficheiros etiquetados", "Select tags to enforce watermarking" : "Seleccionar etiquetas para impor o marcado de auga", - "Show watermark for users of groups" : "Amosar a marca de auga en usuarios de grupos", - "Show watermark for all shares" : "Amosar a marca de auga en todas as comparticións", - "Show watermark for read only shares" : "Amosar a marca de auga nas comparticións de só lectura", - "Show watermark for shares without download permission" : "Amosar a marca de auga para elementos compartidos sen permiso de descarga", - "Show watermark for all link shares" : "Amosar a marca de auga en todas as ligazóns para compartir", - "Show watermark for download hidden shares" : "Amosar a marca de auga na descarga de comparticións agochadas", - "Show watermark for read only link shares" : "Amosar a marca de auga nas ligazóns para compartir de só lectura", - "Show watermark on link shares with specific system tags" : "Amosar marca de auga nas ligazóns para compartir con etiquetas específicas do sistema", - "Electronic signature settings" : "Axustes da sinatura electrónica", + "Electronic Signature" : "Sinatura electrónica", "Client ID for the electronic signature API" : "ID de cliente para a API de sinatura electrónica", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Cubra o formulario de rexistro en https://eideasy.com/signup para obter un ID de cliente e un segredo.", "Secret for the electronic signature API" : "Segredo para a API de sinatura electrónica", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "O segredo pode descargarse mediante solicitudes WOPI se a lista de permisos WOPI non está configurada correctamente.", - "Contact {0} to get an own installation." : "Póñase en contacto con {0} para obter unha instalación propia.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Asegúrese de definir este URL: {url} no ficheiro coolwsd.xml do seu servidor de Collabora Online para garantir que os tipos de letra engadidos carguen automaticamente. Teña en conta que http:// só funcionará para compilacións de depuración de Collabora Online. En produción debe usar https:// para a configuración remota de tipografías.", - "Failed to save settings" : "Produciuse un fallo ao gardar os axustes", - "Font format not supported ({mime})" : "Formato de tipo de letra non compatíbel ({mime})", "Save" : "Gardar", "Remove" : "Retirar", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Introduza o nome de convidado que quere usar antes de continuar co documento. Se non fornece un, utilizarase o predeterminado.", "Guest name" : "Nome do convidado", "Submit name" : "Enviar o nome", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Introduza o nome de convidado que quere usar antes de continuar co documento. Se non fornece un, utilizarase o predeterminado.", "Confirm" : "Confirmar", "Cancel" : "Cancelar", + "Save As" : "Gardar como", "Save as" : "Gardar como", "Path to save" : "Ruta para gardar", - "Save As" : "Gardar como", + "Invalid file name" : "Nome de ficheiro incorrecto", + "Select template" : "Seleccionar o modelo", + "File name" : "Nome de ficheiro", + "Create" : "Crear", + "Failed to set Zotero API key" : "Produciuse un fallo ao definir a chave da API de Zotero", "Link to your Zotero library" : "Ligazón á súa biblioteca de Zotero", "Connect your Zotero account to make use of references within Office." : "Conecte a súa conta de Zotero para facer uso das referencias dntro de Office.", "You can generate an account key here:" : "Aquí pode xerar unha chave da conta:", "Zotero account settings" : "Axustes da conta de Zotero", "Zotero API key" : "Chave da API de Zotero", "Submit" : "Enviar", - "Failed to set Zotero API key" : "Produciuse un fallo ao definir a chave da API de Zotero", + "Select a personal template folder" : "Seleccione un cartafol de modelos persoais", + "Settings saved successfully." : "Os axustes gardáronse correctamente.", + "Failed to save settings." : "Produciuse un fallo ao gardar os axustes", + "Unexpected error occurred." : "Produciuse un erro non agardado.", "Personal Settings for Nextcloud Office" : "Axustes persoais para Nextcloud Office", "Select a template directory" : "Seleccionar un directorio de modelos", - "Select a personal template folder" : "Seleccione un cartafol de modelos persoais", "Remove personal template folder" : "Retirar o cartafol de modelos persoais", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Os modelos dentro deste directorio engádense ao selector de modelos de Nextcloud Office.", "Zotero" : "Zotero", @@ -175,30 +183,27 @@ "Enter document signing CA chain" : "Introduza a cadea de sinatura de documentos da Entidade de certificación (CA)", "To use document signing, specify your signing certificate, key and CA chain here." : "Para usar a sinatura de documentos, especifique aquí o seu certificado de sinatura, a chave e a cadea da Entidade de certificación (CA).", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Esta instancia non admite a sinatura de documentos porque falta a función ou está desactivada. Póñase en contacto coa administración da instancia.", - "Settings saved successfully." : "Os axustes gardáronse correctamente.", - "Failed to save settings." : "Produciuse un fallo ao gardar os axustes", - "Unexpected error occurred." : "Produciuse un erro non agardado.", "Description" : "Descrición", "Add new token" : "Engadir un novo testemuño", "No font overview" : "Non hai vista previa xeral do tipo de letra", "Delete this font" : "Eliminar este tipo de letra", "No results" : "Sen resultados", + "Select file" : "Seleccionar ficheiro", "Select file or folder to link to" : "Seleccione o ficheiro ou cartafol ao que ligar", "Could not find any section in the document" : "Non foi posíbel atopar ningunha sección do documento", - "Select file" : "Seleccionar ficheiro", + "{productName} is not configured" : "{productName} non está configurado", + "Starting the built-in CODE server failed" : "Produciuse un erro ao iniciar o servidor CODE integrado", + "Loading {filename} …" : "Cargando {filename}…", + "Failed to load {productName} - please try again later" : "Produciuse un fallo ao cargar {productName}; ténteo máis adiante", + "Open in local editor" : "Abrir no editor local", + "Cluster is scaling …" : "O clúster está a escalar…", + "The collaborative editing was terminated by another user" : "Outro usuario rematou a edición colaborativa", "Document loading failed" : "Produciuse un fallo ao cargar o documento", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Consulte o rexistro do servidor de Collabora Online para obter máis detalles e asegúrese de que se poida acceder a Nextcloud desde alí.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "O conectador pechouse de xeito imprevisto. É posíbel que o proxy inverso estea mal configurado, póñase en contacto coa administración.", "More information can be found in the reverse proxy documentation" : "Pode atopar máis información na documentación do proxy inverso", "Close" : "Pechar", "Edit" : "Editar", - "Starting the built-in CODE server failed" : "Produciuse un erro ao iniciar o servidor CODE integrado", - "Loading {filename} …" : "Cargando {filename}…", - "Open in local editor" : "Abrir no editor local", - "Cluster is scaling …" : "O clúster está a escalar…", - "The collaborative editing was terminated by another user" : "Outro usuario rematou a edición colaborativa", - "Failed to load {productName} - please try again later" : "Produciuse un fallo ao cargar {productName}; ténteo máis adiante", - "{productName} is not configured" : "{productName} non está configurado", "Built-in CODE Server is starting up shortly, please wait." : "O servidor CODE integrado estará iniciado en breve. Agarde.", "Built-in CODE Server is restarting, please wait." : "O servidor CODE integrado está reiniciado. Agarde.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Erro: non se atopa a AppImage, volva instalar o servidor integrado Collabora Online.", @@ -232,15 +237,23 @@ "Follow current editor" : "Seguir o editor actual", "New file" : "Novo ficheiro", "Please enter the filename for the new file" : "Introduza o nome de ficheiro para o novo ficheiro", - "Create" : "Crear", - "New drawing" : "Novo debuxo", "Could not create file" : "Non foi posíbel crear o ficheiro", - "Select template" : "Seleccionar o modelo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Gardado con erros: Collabora Online debe usar o mesmo protocolo que o instalado no servidor.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Non foi posíbel estabelecer a conexión co servidor Collabora Online. Isto pode deberse a unha falta de configuración do servidor web. Para máis información, visite:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office precisa dun servidor separado que execute Collabora Online para fornecer as funcións de edición.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online precisa dun servidor separado que actúe como cliente WOPI para fornecer funcionalidades de edición.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Todos os usuarios poden editar documentos con {productName} de xeito predeterminado. Cando este axuste está activo, só os membros dos grupos especificados poden editar, e os demais só poden ver os documentos.", + "Secure view settings" : "Axustes de vista segura", + "Secure view enables you to secure documents by embedding a watermark" : "A vista segura permite protexer documentos inserindo unha marca de auga", + "Enable watermarking" : "Activar o marcado de auga", + "Show watermark on tagged files" : "Amosar a marca de auga nos ficheiros etiquetados", + "Show watermark for users of groups" : "Amosar a marca de auga en usuarios de grupos", + "Show watermark for all shares" : "Amosar a marca de auga en todas as comparticións", + "Show watermark for read only shares" : "Amosar a marca de auga nas comparticións de só lectura", + "Show watermark for all link shares" : "Amosar a marca de auga en todas as ligazóns para compartir", + "Show watermark for download hidden shares" : "Amosar a marca de auga na descarga de comparticións agochadas", + "Show watermark for read only link shares" : "Amosar a marca de auga nas ligazóns para compartir de só lectura", + "Show watermark on link shares with specific system tags" : "Amosar marca de auga nas ligazóns para compartir con etiquetas específicas do sistema", "Error" : "Erro", "An error occurred" : "Produciuse un erro", "Please choose your nickname to continue as guest user." : "Escolla o seu alcume para continuar como usuario convidado.", @@ -261,6 +274,10 @@ "No templates defined." : "Non hai modelos definidos", "Add a new one?" : "Engadir un novo?", "template preview" : "Vista previa do modelo", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Os ficheiros aínda poden descargarse a través de Nextcloud a non ser que se restrinxa ao contrario mediante os axustes de control de acceso ou de uso compartido", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Bloquearanse as vistas previas dos ficheiros con marca de auga para non divulgar accidentalmente a primeira páxina dos documentos", + "Show watermark for shares without download permission" : "Amosar a marca de auga para elementos compartidos sen permiso de descarga", + "New drawing" : "Novo debuxo", "Collabora Online" : "Collabora Online", "Document already exists" : "Xa existe o documento", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online está activado para todos os usuarios de xeito predeterminado. Cando este axuste está activo, só os membros dos grupos especificados poden usalo.", diff --git a/l10n/he.js b/l10n/he.js index 514835fdfc..74e6f79dd7 100644 --- a/l10n/he.js +++ b/l10n/he.js @@ -32,11 +32,13 @@ OC.L10N.register( "Headings" : "כותרות", "Images" : "תמונות", "Office" : "משרד", + "Instructions" : "הוראות", "Empty" : "ריק", "Anonymous guest" : "אורח אלמוני", "%s (Guest)" : "%s (אורח)", "Edit office documents directly in your browser." : "עריכת מסמכי Office ישירות בדפדפן שלך.", "New" : "חדש", + "Failed to save settings" : "שמירת ההגדרות נכשלה", "Setting up a new server" : "מוגדר שרת חדש", "Collabora Online server is reachable." : "שרת ה־Collabora Online זמין.", "Please configure a Collabora Online server to start editing documents" : "נא להגדיר שרת Collabora Online כדי להתחיל לערוך מסמכים", @@ -60,22 +62,24 @@ OC.L10N.register( "Select groups" : "בחירת קבוצות", "Restrict edit to specific groups" : "הגבלת העריכה לקבוצות מסוימות", "Enable access for external apps" : "הפעלת גישה ליישומונים חיצוניים", - "Failed to save settings" : "שמירת ההגדרות נכשלה", "Save" : "שמירה", "Remove" : "הסרה", "Confirm" : "אימות", "Cancel" : "ביטול", "Save As" : "שמירה בשם", + "Select template" : "בחירת תבנית", + "File name" : "שם קובץ", + "Create" : "יצירה", "Submit" : "שליחה", - "Select a template directory" : "בחירת תיקיית תבניות", "Select a personal template folder" : "בחירת תיקיית תבניות אישית", + "Select a template directory" : "בחירת תיקיית תבניות", "Remove personal template folder" : "הסרת תיקיית תבניות אישית", "Description" : "תיאור", "Add new token" : "הוספת אסימון חדש", "No results" : "אין תוצאות", + "Failed to load {productName} - please try again later" : "הטעינה של {productName} נכשלה - נא לנסות שוב מאוחר יותר", "Close" : "סגירה", "Edit" : "עריכה", - "Failed to load {productName} - please try again later" : "הטעינה של {productName} נכשלה - נא לנסות שוב מאוחר יותר", "Built-in CODE Server is starting up shortly, please wait." : "שרת ה־CODE המובנה יתחיל תוך זמן קצר, נא להמתין.", "Built-in CODE Server is restarting, please wait." : "שרת ה־CODE המובנה מופעל מחדש, נא להמתין.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "שגיאה: לא ניתן למצוא את ה־AppImage, נא להתקין מחדש את שרת ה־Collabora Online המובנה.", @@ -91,9 +95,7 @@ OC.L10N.register( "Guest" : "אורח/ת", "Follow current editor" : "מעקב אחר העורך הנוכחי", "New file" : "קובץ חדש", - "Create" : "יצירה", "Could not create file" : "יצירת הקובץ נכשלה", - "Select template" : "בחירת תבנית", "Saved with error: Collabora Online should use the same protocol as the server installation." : "נשמר עם שגיאה: Collabora Online צריך להשתמש באותו פרוטוקול של ההתקנה בשרת.", "Error" : "שגיאה", "An error occurred" : "אירעה שגיאה", diff --git a/l10n/he.json b/l10n/he.json index e91aff56fe..2fe3bd9d3d 100644 --- a/l10n/he.json +++ b/l10n/he.json @@ -30,11 +30,13 @@ "Headings" : "כותרות", "Images" : "תמונות", "Office" : "משרד", + "Instructions" : "הוראות", "Empty" : "ריק", "Anonymous guest" : "אורח אלמוני", "%s (Guest)" : "%s (אורח)", "Edit office documents directly in your browser." : "עריכת מסמכי Office ישירות בדפדפן שלך.", "New" : "חדש", + "Failed to save settings" : "שמירת ההגדרות נכשלה", "Setting up a new server" : "מוגדר שרת חדש", "Collabora Online server is reachable." : "שרת ה־Collabora Online זמין.", "Please configure a Collabora Online server to start editing documents" : "נא להגדיר שרת Collabora Online כדי להתחיל לערוך מסמכים", @@ -58,22 +60,24 @@ "Select groups" : "בחירת קבוצות", "Restrict edit to specific groups" : "הגבלת העריכה לקבוצות מסוימות", "Enable access for external apps" : "הפעלת גישה ליישומונים חיצוניים", - "Failed to save settings" : "שמירת ההגדרות נכשלה", "Save" : "שמירה", "Remove" : "הסרה", "Confirm" : "אימות", "Cancel" : "ביטול", "Save As" : "שמירה בשם", + "Select template" : "בחירת תבנית", + "File name" : "שם קובץ", + "Create" : "יצירה", "Submit" : "שליחה", - "Select a template directory" : "בחירת תיקיית תבניות", "Select a personal template folder" : "בחירת תיקיית תבניות אישית", + "Select a template directory" : "בחירת תיקיית תבניות", "Remove personal template folder" : "הסרת תיקיית תבניות אישית", "Description" : "תיאור", "Add new token" : "הוספת אסימון חדש", "No results" : "אין תוצאות", + "Failed to load {productName} - please try again later" : "הטעינה של {productName} נכשלה - נא לנסות שוב מאוחר יותר", "Close" : "סגירה", "Edit" : "עריכה", - "Failed to load {productName} - please try again later" : "הטעינה של {productName} נכשלה - נא לנסות שוב מאוחר יותר", "Built-in CODE Server is starting up shortly, please wait." : "שרת ה־CODE המובנה יתחיל תוך זמן קצר, נא להמתין.", "Built-in CODE Server is restarting, please wait." : "שרת ה־CODE המובנה מופעל מחדש, נא להמתין.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "שגיאה: לא ניתן למצוא את ה־AppImage, נא להתקין מחדש את שרת ה־Collabora Online המובנה.", @@ -89,9 +93,7 @@ "Guest" : "אורח/ת", "Follow current editor" : "מעקב אחר העורך הנוכחי", "New file" : "קובץ חדש", - "Create" : "יצירה", "Could not create file" : "יצירת הקובץ נכשלה", - "Select template" : "בחירת תבנית", "Saved with error: Collabora Online should use the same protocol as the server installation." : "נשמר עם שגיאה: Collabora Online צריך להשתמש באותו פרוטוקול של ההתקנה בשרת.", "Error" : "שגיאה", "An error occurred" : "אירעה שגיאה", diff --git a/l10n/hr.js b/l10n/hr.js index 8a9d71b006..ceb71a1d75 100644 --- a/l10n/hr.js +++ b/l10n/hr.js @@ -32,12 +32,15 @@ OC.L10N.register( "Headings" : "Naslovi", "Images" : "Slike", "Office" : "Ured", + "Instructions" : "Upute", "Empty" : "Prazno", "Anonymous guest" : "Anoniman gost", "%s (Guest)" : "%s (gost)", "Edit office documents directly in your browser." : "Uređujte dokumente paketa Office izravno u svom pregledniku.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Ova se aplikacija može povezati s poslužiteljem Collabora Online (ili drugim) (WOPI ili sličan klijent). Nextcloud je domaćin za WOPI. Pročitajte dokumentaciju za više informacija.\n\nDokumente također možete uređivati u izvanmrežnom načinu rada s pomoću aplikacije Collabora Office koju možete pronaći u trgovinama aplikacija **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** i **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Novo", + "Contact {0} to get an own installation." : "Obratite se {0} kako biste nabavili vlastitu instalaciju.", + "Failed to save settings" : "Spremanje postavki nije uspjelo", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online moćan je mrežni uredski paket temeljen na paketu LibreOffice s kolaborativnim uređivanjem koji podržava sve glavne formate dokumenata, proračunskih tablica i prezentacijskih datoteka te podržava sve moderne preglednike.", "Could not establish connection to the Collabora Online server." : "Nije moguće uspostaviti vezu s poslužiteljem Collabora Online.", "Connecting Collabora Online Single Click with Nginx" : "Povezivanje značajke Collabora Online Single Click s Nginxom", @@ -81,36 +84,26 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Collabora može koristiti Canonical webroot u slučaju da ih je više. Omogućite onaj s najmanje ograničenja. Npr.: koristite non-shibbolized webroot ako ovoj instanci pristupaju i shibbolized i non-shibbolized webrootovi. Možete zanemariti ovu postavku ako se za pristup ovoj instanci koristi samo jedan webroot.", "Enable access for external apps" : "Omogući pristup za vanjske aplikacije", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Popis IPV4 i IPV6 IP adresa i podmreža kojima je dopušteno izvršavati zahtjeve krajnjih točaka WOPI. Ako nije utvrđen popis zabranjenih adresa, svim će uređajima biti dopušten pristup. Npr. 10.0.0.20,10.0.4.0/24", - "Secure view settings" : "Postavke sigurnog pregledavanja", - "Secure view enables you to secure documents by embedding a watermark" : "Sigurno pregledavanje vam omogućuje da zaštitite dokumente ugradnjom vodenog žiga", - "Enable watermarking" : "Omogući označavanje vodenim žigom", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Podržane zamjenske oznake: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Prikaži vodeni žig na označenim datotekama", "Select tags to enforce watermarking" : "Odaberi oznake za stavljanje vodenih žigova", - "Show watermark for users of groups" : "Prikaži vodeni žig za korisnike u grupama", - "Show watermark for all shares" : "Prikaži vodeni žig za sva dijeljenja", - "Show watermark for read only shares" : "Prikaži vodeni žig za dijeljenja koja su samo za čitanje", - "Show watermark for all link shares" : "Prikaži vodeni žig za sve poveznice dijeljenja", - "Show watermark for download hidden shares" : "Prikaži vodeni žig za preuzeta skrivena dijeljenja", - "Show watermark for read only link shares" : "Prikaži vodeni žig za poveznice dijeljenja koja su samo za čitanje", - "Show watermark on link shares with specific system tags" : "Prikaži vodeni žig na poveznicama dijeljenja s određenim oznakama sustava", - "Contact {0} to get an own installation." : "Obratite se {0} kako biste nabavili vlastitu instalaciju.", - "Failed to save settings" : "Spremanje postavki nije uspjelo", "Save" : "Spremi", "Remove" : "Ukloni", "Confirm" : "Potvrdi", "Cancel" : "Odustani", "Save As" : "Spremi kao", + "Select template" : "Odaberi predložak", + "File name" : "Naziv datoteke", + "Create" : "Stvori", "Submit" : "Šalji", - "Select a template directory" : "Odaberi direktorij predložaka", "Select a personal template folder" : "Odaberite mapu osobnog predloška", + "Select a template directory" : "Odaberi direktorij predložaka", "Remove personal template folder" : "Ukloni osobnu mapu predložaka", "Description" : "Opis", "Add new token" : "Dodaj novi token", "No results" : "Nema rezultata", + "Failed to load {productName} - please try again later" : "Neuspjelo učitavanje {productName} – pokušajte ponovo kasnije", "Close" : "Zatvori", "Edit" : "Uredi", - "Failed to load {productName} - please try again later" : "Neuspjelo učitavanje {productName} – pokušajte ponovo kasnije", "Built-in CODE Server is starting up shortly, please wait." : "Ugrađeni poslužitelj CODE uskoro se pokreće, pričekajte.", "Built-in CODE Server is restarting, please wait." : "Ugrađeni poslužitelj CODE ponovno se pokreće, pričekajte.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Pogreška: nije moguće pronaći AppImage, ponovno instalirajte ugrađeni poslužitelj aplikacije Collabora Online.", @@ -132,12 +125,21 @@ OC.L10N.register( "Guest" : "Gost", "Follow current editor" : "Slijedi trenutni uređivač", "New file" : "Nova datoteka", - "Create" : "Stvori", "Could not create file" : "Datoteku nije moguće stvoriti", - "Select template" : "Odaberi predložak", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Spremljeno s pogreškom: Collabora Online treba koristiti isti protokol kao i instalacija poslužitelja.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Nije moguće uspostaviti vezu s poslužiteljem Collabora Online. Možda nedostaje konfiguracija web-poslužitelja. Za više informacija posjetite: ", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online zahtijeva poseban poslužitelj koji djeluje kao WOPI ili sličan klijent kako bi osigurao mogućnost uređivanja.", + "Secure view settings" : "Postavke sigurnog pregledavanja", + "Secure view enables you to secure documents by embedding a watermark" : "Sigurno pregledavanje vam omogućuje da zaštitite dokumente ugradnjom vodenog žiga", + "Enable watermarking" : "Omogući označavanje vodenim žigom", + "Show watermark on tagged files" : "Prikaži vodeni žig na označenim datotekama", + "Show watermark for users of groups" : "Prikaži vodeni žig za korisnike u grupama", + "Show watermark for all shares" : "Prikaži vodeni žig za sva dijeljenja", + "Show watermark for read only shares" : "Prikaži vodeni žig za dijeljenja koja su samo za čitanje", + "Show watermark for all link shares" : "Prikaži vodeni žig za sve poveznice dijeljenja", + "Show watermark for download hidden shares" : "Prikaži vodeni žig za preuzeta skrivena dijeljenja", + "Show watermark for read only link shares" : "Prikaži vodeni žig za poveznice dijeljenja koja su samo za čitanje", + "Show watermark on link shares with specific system tags" : "Prikaži vodeni žig na poveznicama dijeljenja s određenim oznakama sustava", "Error" : "Pogreška", "An error occurred" : "Došlo je do pogreške", "Please choose your nickname to continue as guest user." : "Odaberite svoj nadimak kako biste nastavili kao gostujući korisnik.", diff --git a/l10n/hr.json b/l10n/hr.json index a04ccc5cb0..c74ff491e5 100644 --- a/l10n/hr.json +++ b/l10n/hr.json @@ -30,12 +30,15 @@ "Headings" : "Naslovi", "Images" : "Slike", "Office" : "Ured", + "Instructions" : "Upute", "Empty" : "Prazno", "Anonymous guest" : "Anoniman gost", "%s (Guest)" : "%s (gost)", "Edit office documents directly in your browser." : "Uređujte dokumente paketa Office izravno u svom pregledniku.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Ova se aplikacija može povezati s poslužiteljem Collabora Online (ili drugim) (WOPI ili sličan klijent). Nextcloud je domaćin za WOPI. Pročitajte dokumentaciju za više informacija.\n\nDokumente također možete uređivati u izvanmrežnom načinu rada s pomoću aplikacije Collabora Office koju možete pronaći u trgovinama aplikacija **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** i **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Novo", + "Contact {0} to get an own installation." : "Obratite se {0} kako biste nabavili vlastitu instalaciju.", + "Failed to save settings" : "Spremanje postavki nije uspjelo", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online moćan je mrežni uredski paket temeljen na paketu LibreOffice s kolaborativnim uređivanjem koji podržava sve glavne formate dokumenata, proračunskih tablica i prezentacijskih datoteka te podržava sve moderne preglednike.", "Could not establish connection to the Collabora Online server." : "Nije moguće uspostaviti vezu s poslužiteljem Collabora Online.", "Connecting Collabora Online Single Click with Nginx" : "Povezivanje značajke Collabora Online Single Click s Nginxom", @@ -79,36 +82,26 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Collabora može koristiti Canonical webroot u slučaju da ih je više. Omogućite onaj s najmanje ograničenja. Npr.: koristite non-shibbolized webroot ako ovoj instanci pristupaju i shibbolized i non-shibbolized webrootovi. Možete zanemariti ovu postavku ako se za pristup ovoj instanci koristi samo jedan webroot.", "Enable access for external apps" : "Omogući pristup za vanjske aplikacije", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Popis IPV4 i IPV6 IP adresa i podmreža kojima je dopušteno izvršavati zahtjeve krajnjih točaka WOPI. Ako nije utvrđen popis zabranjenih adresa, svim će uređajima biti dopušten pristup. Npr. 10.0.0.20,10.0.4.0/24", - "Secure view settings" : "Postavke sigurnog pregledavanja", - "Secure view enables you to secure documents by embedding a watermark" : "Sigurno pregledavanje vam omogućuje da zaštitite dokumente ugradnjom vodenog žiga", - "Enable watermarking" : "Omogući označavanje vodenim žigom", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Podržane zamjenske oznake: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Prikaži vodeni žig na označenim datotekama", "Select tags to enforce watermarking" : "Odaberi oznake za stavljanje vodenih žigova", - "Show watermark for users of groups" : "Prikaži vodeni žig za korisnike u grupama", - "Show watermark for all shares" : "Prikaži vodeni žig za sva dijeljenja", - "Show watermark for read only shares" : "Prikaži vodeni žig za dijeljenja koja su samo za čitanje", - "Show watermark for all link shares" : "Prikaži vodeni žig za sve poveznice dijeljenja", - "Show watermark for download hidden shares" : "Prikaži vodeni žig za preuzeta skrivena dijeljenja", - "Show watermark for read only link shares" : "Prikaži vodeni žig za poveznice dijeljenja koja su samo za čitanje", - "Show watermark on link shares with specific system tags" : "Prikaži vodeni žig na poveznicama dijeljenja s određenim oznakama sustava", - "Contact {0} to get an own installation." : "Obratite se {0} kako biste nabavili vlastitu instalaciju.", - "Failed to save settings" : "Spremanje postavki nije uspjelo", "Save" : "Spremi", "Remove" : "Ukloni", "Confirm" : "Potvrdi", "Cancel" : "Odustani", "Save As" : "Spremi kao", + "Select template" : "Odaberi predložak", + "File name" : "Naziv datoteke", + "Create" : "Stvori", "Submit" : "Šalji", - "Select a template directory" : "Odaberi direktorij predložaka", "Select a personal template folder" : "Odaberite mapu osobnog predloška", + "Select a template directory" : "Odaberi direktorij predložaka", "Remove personal template folder" : "Ukloni osobnu mapu predložaka", "Description" : "Opis", "Add new token" : "Dodaj novi token", "No results" : "Nema rezultata", + "Failed to load {productName} - please try again later" : "Neuspjelo učitavanje {productName} – pokušajte ponovo kasnije", "Close" : "Zatvori", "Edit" : "Uredi", - "Failed to load {productName} - please try again later" : "Neuspjelo učitavanje {productName} – pokušajte ponovo kasnije", "Built-in CODE Server is starting up shortly, please wait." : "Ugrađeni poslužitelj CODE uskoro se pokreće, pričekajte.", "Built-in CODE Server is restarting, please wait." : "Ugrađeni poslužitelj CODE ponovno se pokreće, pričekajte.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Pogreška: nije moguće pronaći AppImage, ponovno instalirajte ugrađeni poslužitelj aplikacije Collabora Online.", @@ -130,12 +123,21 @@ "Guest" : "Gost", "Follow current editor" : "Slijedi trenutni uređivač", "New file" : "Nova datoteka", - "Create" : "Stvori", "Could not create file" : "Datoteku nije moguće stvoriti", - "Select template" : "Odaberi predložak", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Spremljeno s pogreškom: Collabora Online treba koristiti isti protokol kao i instalacija poslužitelja.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Nije moguće uspostaviti vezu s poslužiteljem Collabora Online. Možda nedostaje konfiguracija web-poslužitelja. Za više informacija posjetite: ", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online zahtijeva poseban poslužitelj koji djeluje kao WOPI ili sličan klijent kako bi osigurao mogućnost uređivanja.", + "Secure view settings" : "Postavke sigurnog pregledavanja", + "Secure view enables you to secure documents by embedding a watermark" : "Sigurno pregledavanje vam omogućuje da zaštitite dokumente ugradnjom vodenog žiga", + "Enable watermarking" : "Omogući označavanje vodenim žigom", + "Show watermark on tagged files" : "Prikaži vodeni žig na označenim datotekama", + "Show watermark for users of groups" : "Prikaži vodeni žig za korisnike u grupama", + "Show watermark for all shares" : "Prikaži vodeni žig za sva dijeljenja", + "Show watermark for read only shares" : "Prikaži vodeni žig za dijeljenja koja su samo za čitanje", + "Show watermark for all link shares" : "Prikaži vodeni žig za sve poveznice dijeljenja", + "Show watermark for download hidden shares" : "Prikaži vodeni žig za preuzeta skrivena dijeljenja", + "Show watermark for read only link shares" : "Prikaži vodeni žig za poveznice dijeljenja koja su samo za čitanje", + "Show watermark on link shares with specific system tags" : "Prikaži vodeni žig na poveznicama dijeljenja s određenim oznakama sustava", "Error" : "Pogreška", "An error occurred" : "Došlo je do pogreške", "Please choose your nickname to continue as guest user." : "Odaberite svoj nadimak kako biste nastavili kao gostujući korisnik.", diff --git a/l10n/hu.js b/l10n/hu.js index 99d626f896..6be4f301d7 100644 --- a/l10n/hu.js +++ b/l10n/hu.js @@ -39,12 +39,16 @@ OC.L10N.register( "Sheets" : "Munkalapok", "Slides" : "Diák", "Office" : "Office", + "Instructions" : "Utasítások", "Empty" : "Üres", "Anonymous guest" : "Névtelen vendég", "%s (Guest)" : "%s (Vendég)", "Edit office documents directly in your browser." : "Office dokumentumok szerkesztése közvetlenül a böngészőjében.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Ez az alkalmazás csatlakozhat egy Collabora Online (vagy más) kiszolgálóhoz (WOPI-szerű kliens). A Nextcloud a WOPI gazdagép. Ha többet szeretne megtudni erről, olvassa el a dokumentációt.\n\nDokumentumait kapcsolat nélküli is szerkesztheti a Collabora Office alkalmazással, amelyet beszerezhet az **[Android](https://play.google.com/store/apps/details?idu003dcom.collabora.libreoffice)** és **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071** áruházakból.", "New" : "Új", + "Contact {0} to get an own installation." : "Saját telepítés beszerzéséhez vegye fel a kapcsolatot a következővel: {0}", + "Failed to save settings" : "A beállítások mentése sikertelen", + "Font format not supported ({mime})" : "A betűkészlet formátuma nem támogatott ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "A Nextcloud Office egy nagy tudású, Collabora Online alapú, online irodai programcsomag, amely támogatja az összes fontosabb dokumentum-, táblázat- és prezentációs fájlformátumot, és együttműködik az összes modern böngészővel.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "A Collabora Online egy nagy tudású, LibreOffice alapú, online irodai programcsomag, amely támogatja az összes fontosabb dokumentum-, táblázat- és prezentációs fájlformátumot, és együttműködik az összes modern böngészővel.", "Could not establish connection to the Collabora Online server." : "Nem sikerült kapcsolatot létesíteni a Collabora Online kiszolgálóval.", @@ -96,47 +100,32 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "A Collabora által használandó kanonikus webroot, ha több is van. Azt adja meg, amely a legkevesebb megkötést adja. Például ha van shibbolizált és nem shibbolizált elérés, akkor a nem shibbolizáltat válassza. Ezt a beállítást figyelmen kívül hagyhatja, ha csak egy webrooton keresztül éri el ezt a példányt.", "Enable access for external apps" : "Külső alkalmazások hozzáférésének engedélyezése", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Az összes IPV4 és IPV6 IP-cím és alhálózat felsorolása, melyek kéréseket indíthatnak a WOPI végpontok felé. Ha nincs engedélyezési lista, akkor az összes megadott gép engedélyezve lesz. Például 10.0.0.20,10.0.4.0/20", - "Extra fonts" : "További betűkészletek", - "Upload extra font file" : "További betűkészletfájl feltöltése", "Upload a font file" : "Betűkészletfájl feltöltése", "Available fonts" : "Elérhető betűkészletek", - "Secure view settings" : "Biztonságos nézet beállításai", - "Secure view enables you to secure documents by embedding a watermark" : "A biztonságos nézet lehetővé teszi a dokumentumok biztonságos rögzítését vízjel beágyazásával", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "A beállítása csak a Nexcloud Office-szal megnyitott kompatibilis irodai fájlokra érvényes", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "A Nextcloud Office következő funkciói le lesznek tiltva: másolás, letöltés, exportálás, nyomtatás ", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "A fájlok továbbra is letölthetők lehetnek a Nextcloudról, hacsak nem tiltják a megosztási vagy hozzáférés-vezérlési beállítások", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "A fájlok továbbra is letölthetők lehetnek WOPI segítségével, ha a WOPI beállítások nincsenek helyesen megadva", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Az előnézetek blokkolva lesznek a vízjelezett fájlok esetén, hogy ne szivárogtassák ki a dokumentumok első oldalát", - "Enable watermarking" : "Vízjelezés engedélyezése", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Támogatott helyőrzők: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Vízjel megjelenítése a címkézett fájlokon", "Select tags to enforce watermarking" : "Válassza ki a címkéket a vízjelek kikényszerítéséhez", - "Show watermark for users of groups" : "Vízjel megjelenítése csoportok felhasználói számára", - "Show watermark for all shares" : "Vízjel megjelenítése az összes megosztáshoz", - "Show watermark for read only shares" : "Vízjel megjelenítése csak olvasható megosztások esetén", - "Show watermark for shares without download permission" : "Vízjel megjelenítése a letöltési jogosultság nélküli megosztásoknál", - "Show watermark for all link shares" : "Vízjel megjelenítése az összes hivatkozásos megosztásnál", - "Show watermark for download hidden shares" : "Vízjel megjelenítése a rejtett megosztások letöltéséhez", - "Show watermark for read only link shares" : "Vízjel megjelenítése a csak olvasható hivatkozásos megosztásoknál", - "Show watermark on link shares with specific system tags" : "Vízjel megjelenítése a rendszercímkékkel ellátott link megosztásokon", - "Contact {0} to get an own installation." : "Saját telepítés beszerzéséhez vegye fel a kapcsolatot a következővel: {0}", - "Failed to save settings" : "A beállítások mentése sikertelen", - "Font format not supported ({mime})" : "A betűkészlet formátuma nem támogatott ({mime})", "Save" : "Mentés", "Remove" : "Eltávolítás", "Confirm" : "Megerősítés", "Cancel" : "Mégse", - "Save as" : "Mentés másként", "Save As" : "Mentés másként", + "Save as" : "Mentés másként", + "Invalid file name" : "Érvénytelen fájlnév", + "Select template" : "Sablon kiválasztása", + "File name" : "Fájlnév", + "Create" : "Létrehozás", + "Failed to set Zotero API key" : "A Zotero API-kulcs beállítása sikertelen", "Link to your Zotero library" : "Hivatkozás a Zotero könyvtárához", "Connect your Zotero account to make use of references within Office." : "A hivatkozások Office-ban történő használatához csatlakoztassa a Zotero-fiókját.", "You can generate an account key here:" : "Fiókkulcsot itt állíthat elő:", "Zotero account settings" : "Zotero-fiók beállításai", "Zotero API key" : "Zotero API-kulcs", "Submit" : "Beküldés", - "Failed to set Zotero API key" : "A Zotero API-kulcs beállítása sikertelen", - "Select a template directory" : "Válasszon sablonkönyvtárat", "Select a personal template folder" : "Válasszon személyes sablonmappát", + "Select a template directory" : "Válasszon sablonkönyvtárat", "Remove personal template folder" : "Személyes sablonmappa eltávolítása", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "A mappán belüli sablonok hozzá lesznek adva a Nextcloud Office sablonválasztójához.", "Zotero" : "Zotero", @@ -150,17 +139,17 @@ OC.L10N.register( "No font overview" : "A betűkészletnek nincs áttekintése", "Delete this font" : "Betűkészlet törlése", "No results" : "Nincs találat", + "Select file" : "Fájl kiválasztása", "Select file or folder to link to" : "Válassza ki a hivatkozandó fájlt vagy mappát", "Could not find any section in the document" : "Nem található szakasz a dokumentumban", - "Select file" : "Fájl kiválasztása", - "Document loading failed" : "A dokumentum betöltése sikertelen", - "Close" : "Bezárás", - "Edit" : "Szerkesztés", + "{productName} is not configured" : "A {productName} nincs beállítva", "Starting the built-in CODE server failed" : "A beépített CODE kiszolgáló indítása sikertelen", "Loading {filename} …" : "{filename} betöltése…", - "Open in local editor" : "Megnyitás helyi szerkesztőben", "Failed to load {productName} - please try again later" : "Nem sikerült betölteni a(z) {productName} szolgáltatást – próbálja újra később", - "{productName} is not configured" : "A {productName} nincs beállítva", + "Open in local editor" : "Megnyitás helyi szerkesztőben", + "Document loading failed" : "A dokumentum betöltése sikertelen", + "Close" : "Bezárás", + "Edit" : "Szerkesztés", "Built-in CODE Server is starting up shortly, please wait." : "A beépített CODE kiszolgáló hamarosan elindul, kis türelmet.", "Built-in CODE Server is restarting, please wait." : "A beépített CODE kiszolgáló újraindul, kis türelmet.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Hiba: Nem található az AppImage. Telepítse újra a Collabora Online beépített kiszolgálót.", @@ -189,15 +178,23 @@ OC.L10N.register( "Guest" : "Vendég", "Follow current editor" : "A jelenlegi szerkesztő követése", "New file" : "Új fájl", - "Create" : "Létrehozás", - "New drawing" : "Új rajz", "Could not create file" : "A fájl nem hozható létre", - "Select template" : "Sablon kiválasztása", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Hibával mentve: a Collabora Online-t ugyanazon protokollon kellene használni, mint a telepített kiszolgálót.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Nem sikerült kapcsolatot létesíteni a Collabora Online kiszolgálóval. Ennek oka lehet, hogy hiányzik a webkiszolgáló konfigurációja. További információért látogasson el ide: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "A Nextcloud Office-hoz külön Collabora Online-t futtató kiszolgálóra van szükség a szerkesztési funkciók biztosításához.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "A Collabora Online-hoz külön WOPI-szerű kliensként viselkedő kiszolgálóra van szükség a szerkesztési funkciók biztosításához.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Alapértelmezetten az összes felhasználó szerkesztheti a dokumentumokat a(z) {productName} használatával. Ha a beállítás aktív, akkor csak az adott csoportok tagjai szerkeszthetnek, míg mások csak megtekinthetik a dokumentumokat.", + "Secure view settings" : "Biztonságos nézet beállításai", + "Secure view enables you to secure documents by embedding a watermark" : "A biztonságos nézet lehetővé teszi a dokumentumok biztonságos rögzítését vízjel beágyazásával", + "Enable watermarking" : "Vízjelezés engedélyezése", + "Show watermark on tagged files" : "Vízjel megjelenítése a címkézett fájlokon", + "Show watermark for users of groups" : "Vízjel megjelenítése csoportok felhasználói számára", + "Show watermark for all shares" : "Vízjel megjelenítése az összes megosztáshoz", + "Show watermark for read only shares" : "Vízjel megjelenítése csak olvasható megosztások esetén", + "Show watermark for all link shares" : "Vízjel megjelenítése az összes hivatkozásos megosztásnál", + "Show watermark for download hidden shares" : "Vízjel megjelenítése a rejtett megosztások letöltéséhez", + "Show watermark for read only link shares" : "Vízjel megjelenítése a csak olvasható hivatkozásos megosztásoknál", + "Show watermark on link shares with specific system tags" : "Vízjel megjelenítése a rendszercímkékkel ellátott link megosztásokon", "Error" : "Hiba", "An error occurred" : "Hiba történt", "Please choose your nickname to continue as guest user." : "Válasszon becenevet, hogy vendég felhasználóként folytathassa.", @@ -218,6 +215,10 @@ OC.L10N.register( "No templates defined." : "Nincs sablon megadva.", "Add a new one?" : "Hozzáad egy újat?", "template preview" : "sablonelőnézet", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "A fájlok továbbra is letölthetők lehetnek a Nextcloudról, hacsak nem tiltják a megosztási vagy hozzáférés-vezérlési beállítások", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Az előnézetek blokkolva lesznek a vízjelezett fájlok esetén, hogy ne szivárogtassák ki a dokumentumok első oldalát", + "Show watermark for shares without download permission" : "Vízjel megjelenítése a letöltési jogosultság nélküli megosztásoknál", + "New drawing" : "Új rajz", "Collabora Online" : "Collabora Online", "Document already exists" : "A dokumentum már létezik", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "A Collabora Online alapértelmezetten minden felhasználó számára elérhető. Ha ez a beállítás aktív, akkor csak a megadott csoportok tagjai használhatják.", diff --git a/l10n/hu.json b/l10n/hu.json index 91308ef349..4cb287ba6e 100644 --- a/l10n/hu.json +++ b/l10n/hu.json @@ -37,12 +37,16 @@ "Sheets" : "Munkalapok", "Slides" : "Diák", "Office" : "Office", + "Instructions" : "Utasítások", "Empty" : "Üres", "Anonymous guest" : "Névtelen vendég", "%s (Guest)" : "%s (Vendég)", "Edit office documents directly in your browser." : "Office dokumentumok szerkesztése közvetlenül a böngészőjében.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Ez az alkalmazás csatlakozhat egy Collabora Online (vagy más) kiszolgálóhoz (WOPI-szerű kliens). A Nextcloud a WOPI gazdagép. Ha többet szeretne megtudni erről, olvassa el a dokumentációt.\n\nDokumentumait kapcsolat nélküli is szerkesztheti a Collabora Office alkalmazással, amelyet beszerezhet az **[Android](https://play.google.com/store/apps/details?idu003dcom.collabora.libreoffice)** és **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071** áruházakból.", "New" : "Új", + "Contact {0} to get an own installation." : "Saját telepítés beszerzéséhez vegye fel a kapcsolatot a következővel: {0}", + "Failed to save settings" : "A beállítások mentése sikertelen", + "Font format not supported ({mime})" : "A betűkészlet formátuma nem támogatott ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "A Nextcloud Office egy nagy tudású, Collabora Online alapú, online irodai programcsomag, amely támogatja az összes fontosabb dokumentum-, táblázat- és prezentációs fájlformátumot, és együttműködik az összes modern böngészővel.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "A Collabora Online egy nagy tudású, LibreOffice alapú, online irodai programcsomag, amely támogatja az összes fontosabb dokumentum-, táblázat- és prezentációs fájlformátumot, és együttműködik az összes modern böngészővel.", "Could not establish connection to the Collabora Online server." : "Nem sikerült kapcsolatot létesíteni a Collabora Online kiszolgálóval.", @@ -94,47 +98,32 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "A Collabora által használandó kanonikus webroot, ha több is van. Azt adja meg, amely a legkevesebb megkötést adja. Például ha van shibbolizált és nem shibbolizált elérés, akkor a nem shibbolizáltat válassza. Ezt a beállítást figyelmen kívül hagyhatja, ha csak egy webrooton keresztül éri el ezt a példányt.", "Enable access for external apps" : "Külső alkalmazások hozzáférésének engedélyezése", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Az összes IPV4 és IPV6 IP-cím és alhálózat felsorolása, melyek kéréseket indíthatnak a WOPI végpontok felé. Ha nincs engedélyezési lista, akkor az összes megadott gép engedélyezve lesz. Például 10.0.0.20,10.0.4.0/20", - "Extra fonts" : "További betűkészletek", - "Upload extra font file" : "További betűkészletfájl feltöltése", "Upload a font file" : "Betűkészletfájl feltöltése", "Available fonts" : "Elérhető betűkészletek", - "Secure view settings" : "Biztonságos nézet beállításai", - "Secure view enables you to secure documents by embedding a watermark" : "A biztonságos nézet lehetővé teszi a dokumentumok biztonságos rögzítését vízjel beágyazásával", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "A beállítása csak a Nexcloud Office-szal megnyitott kompatibilis irodai fájlokra érvényes", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "A Nextcloud Office következő funkciói le lesznek tiltva: másolás, letöltés, exportálás, nyomtatás ", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "A fájlok továbbra is letölthetők lehetnek a Nextcloudról, hacsak nem tiltják a megosztási vagy hozzáférés-vezérlési beállítások", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "A fájlok továbbra is letölthetők lehetnek WOPI segítségével, ha a WOPI beállítások nincsenek helyesen megadva", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Az előnézetek blokkolva lesznek a vízjelezett fájlok esetén, hogy ne szivárogtassák ki a dokumentumok első oldalát", - "Enable watermarking" : "Vízjelezés engedélyezése", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Támogatott helyőrzők: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Vízjel megjelenítése a címkézett fájlokon", "Select tags to enforce watermarking" : "Válassza ki a címkéket a vízjelek kikényszerítéséhez", - "Show watermark for users of groups" : "Vízjel megjelenítése csoportok felhasználói számára", - "Show watermark for all shares" : "Vízjel megjelenítése az összes megosztáshoz", - "Show watermark for read only shares" : "Vízjel megjelenítése csak olvasható megosztások esetén", - "Show watermark for shares without download permission" : "Vízjel megjelenítése a letöltési jogosultság nélküli megosztásoknál", - "Show watermark for all link shares" : "Vízjel megjelenítése az összes hivatkozásos megosztásnál", - "Show watermark for download hidden shares" : "Vízjel megjelenítése a rejtett megosztások letöltéséhez", - "Show watermark for read only link shares" : "Vízjel megjelenítése a csak olvasható hivatkozásos megosztásoknál", - "Show watermark on link shares with specific system tags" : "Vízjel megjelenítése a rendszercímkékkel ellátott link megosztásokon", - "Contact {0} to get an own installation." : "Saját telepítés beszerzéséhez vegye fel a kapcsolatot a következővel: {0}", - "Failed to save settings" : "A beállítások mentése sikertelen", - "Font format not supported ({mime})" : "A betűkészlet formátuma nem támogatott ({mime})", "Save" : "Mentés", "Remove" : "Eltávolítás", "Confirm" : "Megerősítés", "Cancel" : "Mégse", - "Save as" : "Mentés másként", "Save As" : "Mentés másként", + "Save as" : "Mentés másként", + "Invalid file name" : "Érvénytelen fájlnév", + "Select template" : "Sablon kiválasztása", + "File name" : "Fájlnév", + "Create" : "Létrehozás", + "Failed to set Zotero API key" : "A Zotero API-kulcs beállítása sikertelen", "Link to your Zotero library" : "Hivatkozás a Zotero könyvtárához", "Connect your Zotero account to make use of references within Office." : "A hivatkozások Office-ban történő használatához csatlakoztassa a Zotero-fiókját.", "You can generate an account key here:" : "Fiókkulcsot itt állíthat elő:", "Zotero account settings" : "Zotero-fiók beállításai", "Zotero API key" : "Zotero API-kulcs", "Submit" : "Beküldés", - "Failed to set Zotero API key" : "A Zotero API-kulcs beállítása sikertelen", - "Select a template directory" : "Válasszon sablonkönyvtárat", "Select a personal template folder" : "Válasszon személyes sablonmappát", + "Select a template directory" : "Válasszon sablonkönyvtárat", "Remove personal template folder" : "Személyes sablonmappa eltávolítása", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "A mappán belüli sablonok hozzá lesznek adva a Nextcloud Office sablonválasztójához.", "Zotero" : "Zotero", @@ -148,17 +137,17 @@ "No font overview" : "A betűkészletnek nincs áttekintése", "Delete this font" : "Betűkészlet törlése", "No results" : "Nincs találat", + "Select file" : "Fájl kiválasztása", "Select file or folder to link to" : "Válassza ki a hivatkozandó fájlt vagy mappát", "Could not find any section in the document" : "Nem található szakasz a dokumentumban", - "Select file" : "Fájl kiválasztása", - "Document loading failed" : "A dokumentum betöltése sikertelen", - "Close" : "Bezárás", - "Edit" : "Szerkesztés", + "{productName} is not configured" : "A {productName} nincs beállítva", "Starting the built-in CODE server failed" : "A beépített CODE kiszolgáló indítása sikertelen", "Loading {filename} …" : "{filename} betöltése…", - "Open in local editor" : "Megnyitás helyi szerkesztőben", "Failed to load {productName} - please try again later" : "Nem sikerült betölteni a(z) {productName} szolgáltatást – próbálja újra később", - "{productName} is not configured" : "A {productName} nincs beállítva", + "Open in local editor" : "Megnyitás helyi szerkesztőben", + "Document loading failed" : "A dokumentum betöltése sikertelen", + "Close" : "Bezárás", + "Edit" : "Szerkesztés", "Built-in CODE Server is starting up shortly, please wait." : "A beépített CODE kiszolgáló hamarosan elindul, kis türelmet.", "Built-in CODE Server is restarting, please wait." : "A beépített CODE kiszolgáló újraindul, kis türelmet.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Hiba: Nem található az AppImage. Telepítse újra a Collabora Online beépített kiszolgálót.", @@ -187,15 +176,23 @@ "Guest" : "Vendég", "Follow current editor" : "A jelenlegi szerkesztő követése", "New file" : "Új fájl", - "Create" : "Létrehozás", - "New drawing" : "Új rajz", "Could not create file" : "A fájl nem hozható létre", - "Select template" : "Sablon kiválasztása", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Hibával mentve: a Collabora Online-t ugyanazon protokollon kellene használni, mint a telepített kiszolgálót.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Nem sikerült kapcsolatot létesíteni a Collabora Online kiszolgálóval. Ennek oka lehet, hogy hiányzik a webkiszolgáló konfigurációja. További információért látogasson el ide: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "A Nextcloud Office-hoz külön Collabora Online-t futtató kiszolgálóra van szükség a szerkesztési funkciók biztosításához.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "A Collabora Online-hoz külön WOPI-szerű kliensként viselkedő kiszolgálóra van szükség a szerkesztési funkciók biztosításához.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Alapértelmezetten az összes felhasználó szerkesztheti a dokumentumokat a(z) {productName} használatával. Ha a beállítás aktív, akkor csak az adott csoportok tagjai szerkeszthetnek, míg mások csak megtekinthetik a dokumentumokat.", + "Secure view settings" : "Biztonságos nézet beállításai", + "Secure view enables you to secure documents by embedding a watermark" : "A biztonságos nézet lehetővé teszi a dokumentumok biztonságos rögzítését vízjel beágyazásával", + "Enable watermarking" : "Vízjelezés engedélyezése", + "Show watermark on tagged files" : "Vízjel megjelenítése a címkézett fájlokon", + "Show watermark for users of groups" : "Vízjel megjelenítése csoportok felhasználói számára", + "Show watermark for all shares" : "Vízjel megjelenítése az összes megosztáshoz", + "Show watermark for read only shares" : "Vízjel megjelenítése csak olvasható megosztások esetén", + "Show watermark for all link shares" : "Vízjel megjelenítése az összes hivatkozásos megosztásnál", + "Show watermark for download hidden shares" : "Vízjel megjelenítése a rejtett megosztások letöltéséhez", + "Show watermark for read only link shares" : "Vízjel megjelenítése a csak olvasható hivatkozásos megosztásoknál", + "Show watermark on link shares with specific system tags" : "Vízjel megjelenítése a rendszercímkékkel ellátott link megosztásokon", "Error" : "Hiba", "An error occurred" : "Hiba történt", "Please choose your nickname to continue as guest user." : "Válasszon becenevet, hogy vendég felhasználóként folytathassa.", @@ -216,6 +213,10 @@ "No templates defined." : "Nincs sablon megadva.", "Add a new one?" : "Hozzáad egy újat?", "template preview" : "sablonelőnézet", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "A fájlok továbbra is letölthetők lehetnek a Nextcloudról, hacsak nem tiltják a megosztási vagy hozzáférés-vezérlési beállítások", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Az előnézetek blokkolva lesznek a vízjelezett fájlok esetén, hogy ne szivárogtassák ki a dokumentumok első oldalát", + "Show watermark for shares without download permission" : "Vízjel megjelenítése a letöltési jogosultság nélküli megosztásoknál", + "New drawing" : "Új rajz", "Collabora Online" : "Collabora Online", "Document already exists" : "A dokumentum már létezik", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "A Collabora Online alapértelmezetten minden felhasználó számára elérhető. Ha ez a beállítás aktív, akkor csak a megadott csoportok tagjai használhatják.", diff --git a/l10n/hy.js b/l10n/hy.js index bdcc2d1a01..2fecb5fd13 100644 --- a/l10n/hy.js +++ b/l10n/hy.js @@ -15,6 +15,7 @@ OC.L10N.register( "New" : "Նոր", "Save" : "Պահել", "Cancel" : "ընդհատել", + "Create" : "Ստեղծել", "Description" : "Նկարագրություն", "Close" : "Փակել", "Edit" : "մշակել", @@ -22,7 +23,6 @@ OC.L10N.register( "Add to favorites" : "Add to favorites", "Details" : "Մանրամասներ", "Download" : "Ներբեռնել", - "Create" : "Ստեղծել", "Could not create file" : "Չկարողացա ստեղծել ֆայլը", "Error" : "Սխալ", "Nickname" : "Մականուն" diff --git a/l10n/hy.json b/l10n/hy.json index 3e0d49b412..10b58ad39c 100644 --- a/l10n/hy.json +++ b/l10n/hy.json @@ -13,6 +13,7 @@ "New" : "Նոր", "Save" : "Պահել", "Cancel" : "ընդհատել", + "Create" : "Ստեղծել", "Description" : "Նկարագրություն", "Close" : "Փակել", "Edit" : "մշակել", @@ -20,7 +21,6 @@ "Add to favorites" : "Add to favorites", "Details" : "Մանրամասներ", "Download" : "Ներբեռնել", - "Create" : "Ստեղծել", "Could not create file" : "Չկարողացա ստեղծել ֆայլը", "Error" : "Սխալ", "Nickname" : "Մականուն" diff --git a/l10n/ia.js b/l10n/ia.js index 5401da8aa1..79268a8562 100644 --- a/l10n/ia.js +++ b/l10n/ia.js @@ -17,6 +17,7 @@ OC.L10N.register( "Save" : "Salveguardar", "Confirm" : "Confirmar", "Cancel" : "Cancellar", + "Create" : "Crear", "Description" : "Description", "Close" : "Clauder", "Edit" : "Modificar", @@ -26,7 +27,6 @@ OC.L10N.register( "Details" : "Detalios", "Download" : "Discargar", "Guest" : "Invitato", - "Create" : "Crear", "Could not create file" : "Impossibile crear le file", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Salveguardate con error: Collabora Online deberea usar le mesme protocollo que le servitor de installation.", "Error" : "Error", diff --git a/l10n/ia.json b/l10n/ia.json index 67fff2ca47..d76deec15b 100644 --- a/l10n/ia.json +++ b/l10n/ia.json @@ -15,6 +15,7 @@ "Save" : "Salveguardar", "Confirm" : "Confirmar", "Cancel" : "Cancellar", + "Create" : "Crear", "Description" : "Description", "Close" : "Clauder", "Edit" : "Modificar", @@ -24,7 +25,6 @@ "Details" : "Detalios", "Download" : "Discargar", "Guest" : "Invitato", - "Create" : "Crear", "Could not create file" : "Impossibile crear le file", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Salveguardate con error: Collabora Online deberea usar le mesme protocollo que le servitor de installation.", "Error" : "Error", diff --git a/l10n/id.js b/l10n/id.js index d092c536d4..d6e00540b6 100644 --- a/l10n/id.js +++ b/l10n/id.js @@ -14,19 +14,25 @@ OC.L10N.register( "No file uploaded or file size exceeds maximum of %s" : "Gagal unggah berkas atau ukuran melampaui batas maksimum %s", "File is too big" : "Berkas terlalu besar", "Invalid file provided" : "Berkas yang diberikan tidak sah", + "New document" : "Dokumen baru", + "New spreadsheet" : "Spreadsheet baru", + "New presentation" : "Presentasi baru", "Images" : "Gambar", "New" : "Baru", + "Failed to save settings" : "Gagal simpan setelan", "Advanced settings" : "Pengaturan Lanjutan", "Select groups" : "Pilih grup", - "Failed to save settings" : "Gagal simpan setelan", "Save" : "Simpan", "Remove" : "Hapus", "Confirm" : "Konfirmasi", "Cancel" : "Membatalkan", + "Save as" : "Simpan sebagai", + "Select template" : "Pilih template", + "Create" : "Buat", "Description" : "Deskrisi", "No results" : "Tidak ada hasil", - "Select file or folder to link to" : "Pilih berkas atau folder untuk ditautkan", "Select file" : "Pilih berkas", + "Select file or folder to link to" : "Pilih berkas atau folder untuk ditautkan", "Close" : "Tutup", "Edit" : "Sunting", "Remove from favorites" : "Remove from favorites", @@ -35,9 +41,7 @@ OC.L10N.register( "Download" : "Unduh", "Guest" : "Tamu", "New file" : "Berkas baru", - "Create" : "Buat", "Could not create file" : "Tidak dapat membuat berkas", - "Select template" : "Pilih template", "Error" : "Kesalahan", "An error occurred" : "Terjadi kesalahan", "Nickname" : "Nama panggilan", diff --git a/l10n/id.json b/l10n/id.json index b9f6ac8fd3..5b18dffb29 100644 --- a/l10n/id.json +++ b/l10n/id.json @@ -12,19 +12,25 @@ "No file uploaded or file size exceeds maximum of %s" : "Gagal unggah berkas atau ukuran melampaui batas maksimum %s", "File is too big" : "Berkas terlalu besar", "Invalid file provided" : "Berkas yang diberikan tidak sah", + "New document" : "Dokumen baru", + "New spreadsheet" : "Spreadsheet baru", + "New presentation" : "Presentasi baru", "Images" : "Gambar", "New" : "Baru", + "Failed to save settings" : "Gagal simpan setelan", "Advanced settings" : "Pengaturan Lanjutan", "Select groups" : "Pilih grup", - "Failed to save settings" : "Gagal simpan setelan", "Save" : "Simpan", "Remove" : "Hapus", "Confirm" : "Konfirmasi", "Cancel" : "Membatalkan", + "Save as" : "Simpan sebagai", + "Select template" : "Pilih template", + "Create" : "Buat", "Description" : "Deskrisi", "No results" : "Tidak ada hasil", - "Select file or folder to link to" : "Pilih berkas atau folder untuk ditautkan", "Select file" : "Pilih berkas", + "Select file or folder to link to" : "Pilih berkas atau folder untuk ditautkan", "Close" : "Tutup", "Edit" : "Sunting", "Remove from favorites" : "Remove from favorites", @@ -33,9 +39,7 @@ "Download" : "Unduh", "Guest" : "Tamu", "New file" : "Berkas baru", - "Create" : "Buat", "Could not create file" : "Tidak dapat membuat berkas", - "Select template" : "Pilih template", "Error" : "Kesalahan", "An error occurred" : "Terjadi kesalahan", "Nickname" : "Nama panggilan", diff --git a/l10n/is.js b/l10n/is.js index bf4886d86b..d1a168c077 100644 --- a/l10n/is.js +++ b/l10n/is.js @@ -25,15 +25,32 @@ OC.L10N.register( "Only template files can be uploaded" : "Aðeins er hægt að senda inn sniðskrár", "Invalid file provided" : "Ógild skrá gefin", "Template not found" : "Sniðmát fannst ekki", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Mynd (.png)", + "Image (.svg)" : "Mynd (.svg)", + "Text (.rtf)" : "Texti (.rtf)", + "Text (.txt)" : "Texti (.txt)", + "Word Document (.docx)" : "Word-skjal (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument textaskjal (.odt)", + "New document" : "Nýtt skjal", + "New spreadsheet" : "Nýr töflureiknir", + "New presentation" : "Ný kynning", + "Nextcloud Office" : "Nextcloud Office", "Headings" : "Fyrirsagnir", + "Sections" : "Hlutar", "Images" : "Myndir", + "Sheets" : "Blöð", + "Slides" : "Skyggnur", "Office" : "Skrifstofa", + "Instructions" : "Leiðbeiningar", "Empty" : "Tómt", "Anonymous guest" : "Nafnlaus gestur", "%s (Guest)" : "%s (gestur)", "Edit office documents directly in your browser." : "Breyttu skrifstofuskjölum beint í vafranum þínum.", "New" : "Nýtt", + "Failed to save settings" : "Mistókst að vista stillingar", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online er öflugur vöndull vinnuforrita byggður á LibreOffice og er með hópvinnslueiginleikum sem styðja við skráasnið allra helstu gerða skjala, töflureikna og kynninga, auk þess að virka í öllum nútímalegum vöfrum.", + "Use your own server" : "Notaðu þinn eigin þjón", "URL (and Port) of Collabora Online-server" : "URL-slóð (og gátt) Collabora Online þjónsins", "Disable certificate verification (insecure)" : "Gera sannvottun skilríkja óvirka (óöruggt)", "Enable if your Collabora Online server uses a self signed certificate" : "Virkja þetta ef Collabora Online þjónninn notar skilríki undirritað af handhafa", @@ -45,23 +62,26 @@ OC.L10N.register( "Use Canonical webroot" : "Nota sameinaða vefrót", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Sameinuð vefrót (aðalvefrót - canonical webroot), í því tilfelli þegar þær eru margar, vefrótin sem Collabora ætti að nota. Gefðu upp þá sem er með minnstar takmarkanir. Dæmi: Notaðu vefrót sem ekki styðst við Shibboleth (non-shibbolized webroot) ef þetta tilvik gefur aðgang bæði til shibbolized og non-shibbolized vefróta. Þú getur hunsað þessa stillingu ef aðeins ein vefrót er notuð til aðgangs að þessu tilviki.", "Enable access for external apps" : "Virkja aðgang fyrir utanaðkomandi forrit", - "Secure view enables you to secure documents by embedding a watermark" : "Örugg sýn gerir þér kleift að verja skjöl með því að græða vatnsmerki í þau", - "Failed to save settings" : "Mistókst að vista stillingar", "Save" : "Vista", + "Remove" : "Fjarlægja", + "Submit name" : "Nafn við innsendingu", "Confirm" : "Staðfesta", "Cancel" : "Hætta við", - "Save as" : "Vista sem", "Save As" : "Vista sem", + "Save as" : "Vista sem", + "Select template" : "Veldu sniðmát", + "File name" : "Skráarheiti", + "Create" : "Búa til", "Submit" : "Senda inn", - "Select a template directory" : "Veldu möppu undir sniðmát", "Select a personal template folder" : "Veldu möppu fyrir eigin sniðmát", + "Select a template directory" : "Veldu möppu undir sniðmát", "Remove personal template folder" : "Fjarlægja möppu fyrir eigin sniðmát", "Description" : "Lýsing", "No results" : "Engar niðurstöður", "Select file or folder to link to" : "Veldu skrá eða möppu til að tengja í", + "Failed to load {productName} - please try again later" : "Mistókst að hlaða inn {productName} - reyndu aftur síðar", "Close" : "Loka", "Edit" : "Breyta", - "Failed to load {productName} - please try again later" : "Mistókst að hlaða inn {productName} - reyndu aftur síðar", "Close version preview" : "Loka forskoðun útgáfu", "Edit with {productName}" : "Breyta með {productName}", "Failed to revert the document to older version" : "Mistókst að endurheimta skjalið sem eldri útgáfu", @@ -73,11 +93,10 @@ OC.L10N.register( "Guest" : "Gestur", "Follow current editor" : "Fylgjast með núverandi skrifara", "New file" : "Ný skrá", - "Create" : "Búa til", "Could not create file" : "Gat ekki búið til skrá", - "Select template" : "Veldu sniðmát", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Vistað með villu: Collabora Online ætti að nota sama samskiptamáta og uppsetning þjónsins.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online krefst þess að sérstakur þjónn vinni sem WOPI-líkur biðlari svo hægt sé að breyta skjölum.", + "Secure view enables you to secure documents by embedding a watermark" : "Örugg sýn gerir þér kleift að verja skjöl með því að græða vatnsmerki í þau", "Error" : "Villa", "An error occurred" : "Villa kom upp", "Please choose your nickname to continue as guest user." : "Veldu þér stuttnefni/gælunafn til að halda áfram sem gestanotandi.", diff --git a/l10n/is.json b/l10n/is.json index f14e6c0481..ff20534bd7 100644 --- a/l10n/is.json +++ b/l10n/is.json @@ -23,15 +23,32 @@ "Only template files can be uploaded" : "Aðeins er hægt að senda inn sniðskrár", "Invalid file provided" : "Ógild skrá gefin", "Template not found" : "Sniðmát fannst ekki", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Mynd (.png)", + "Image (.svg)" : "Mynd (.svg)", + "Text (.rtf)" : "Texti (.rtf)", + "Text (.txt)" : "Texti (.txt)", + "Word Document (.docx)" : "Word-skjal (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument textaskjal (.odt)", + "New document" : "Nýtt skjal", + "New spreadsheet" : "Nýr töflureiknir", + "New presentation" : "Ný kynning", + "Nextcloud Office" : "Nextcloud Office", "Headings" : "Fyrirsagnir", + "Sections" : "Hlutar", "Images" : "Myndir", + "Sheets" : "Blöð", + "Slides" : "Skyggnur", "Office" : "Skrifstofa", + "Instructions" : "Leiðbeiningar", "Empty" : "Tómt", "Anonymous guest" : "Nafnlaus gestur", "%s (Guest)" : "%s (gestur)", "Edit office documents directly in your browser." : "Breyttu skrifstofuskjölum beint í vafranum þínum.", "New" : "Nýtt", + "Failed to save settings" : "Mistókst að vista stillingar", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online er öflugur vöndull vinnuforrita byggður á LibreOffice og er með hópvinnslueiginleikum sem styðja við skráasnið allra helstu gerða skjala, töflureikna og kynninga, auk þess að virka í öllum nútímalegum vöfrum.", + "Use your own server" : "Notaðu þinn eigin þjón", "URL (and Port) of Collabora Online-server" : "URL-slóð (og gátt) Collabora Online þjónsins", "Disable certificate verification (insecure)" : "Gera sannvottun skilríkja óvirka (óöruggt)", "Enable if your Collabora Online server uses a self signed certificate" : "Virkja þetta ef Collabora Online þjónninn notar skilríki undirritað af handhafa", @@ -43,23 +60,26 @@ "Use Canonical webroot" : "Nota sameinaða vefrót", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Sameinuð vefrót (aðalvefrót - canonical webroot), í því tilfelli þegar þær eru margar, vefrótin sem Collabora ætti að nota. Gefðu upp þá sem er með minnstar takmarkanir. Dæmi: Notaðu vefrót sem ekki styðst við Shibboleth (non-shibbolized webroot) ef þetta tilvik gefur aðgang bæði til shibbolized og non-shibbolized vefróta. Þú getur hunsað þessa stillingu ef aðeins ein vefrót er notuð til aðgangs að þessu tilviki.", "Enable access for external apps" : "Virkja aðgang fyrir utanaðkomandi forrit", - "Secure view enables you to secure documents by embedding a watermark" : "Örugg sýn gerir þér kleift að verja skjöl með því að græða vatnsmerki í þau", - "Failed to save settings" : "Mistókst að vista stillingar", "Save" : "Vista", + "Remove" : "Fjarlægja", + "Submit name" : "Nafn við innsendingu", "Confirm" : "Staðfesta", "Cancel" : "Hætta við", - "Save as" : "Vista sem", "Save As" : "Vista sem", + "Save as" : "Vista sem", + "Select template" : "Veldu sniðmát", + "File name" : "Skráarheiti", + "Create" : "Búa til", "Submit" : "Senda inn", - "Select a template directory" : "Veldu möppu undir sniðmát", "Select a personal template folder" : "Veldu möppu fyrir eigin sniðmát", + "Select a template directory" : "Veldu möppu undir sniðmát", "Remove personal template folder" : "Fjarlægja möppu fyrir eigin sniðmát", "Description" : "Lýsing", "No results" : "Engar niðurstöður", "Select file or folder to link to" : "Veldu skrá eða möppu til að tengja í", + "Failed to load {productName} - please try again later" : "Mistókst að hlaða inn {productName} - reyndu aftur síðar", "Close" : "Loka", "Edit" : "Breyta", - "Failed to load {productName} - please try again later" : "Mistókst að hlaða inn {productName} - reyndu aftur síðar", "Close version preview" : "Loka forskoðun útgáfu", "Edit with {productName}" : "Breyta með {productName}", "Failed to revert the document to older version" : "Mistókst að endurheimta skjalið sem eldri útgáfu", @@ -71,11 +91,10 @@ "Guest" : "Gestur", "Follow current editor" : "Fylgjast með núverandi skrifara", "New file" : "Ný skrá", - "Create" : "Búa til", "Could not create file" : "Gat ekki búið til skrá", - "Select template" : "Veldu sniðmát", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Vistað með villu: Collabora Online ætti að nota sama samskiptamáta og uppsetning þjónsins.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online krefst þess að sérstakur þjónn vinni sem WOPI-líkur biðlari svo hægt sé að breyta skjölum.", + "Secure view enables you to secure documents by embedding a watermark" : "Örugg sýn gerir þér kleift að verja skjöl með því að græða vatnsmerki í þau", "Error" : "Villa", "An error occurred" : "Villa kom upp", "Please choose your nickname to continue as guest user." : "Veldu þér stuttnefni/gælunafn til að halda áfram sem gestanotandi.", diff --git a/l10n/it.js b/l10n/it.js index 49f7cfcb77..ff2d3f9cce 100644 --- a/l10n/it.js +++ b/l10n/it.js @@ -37,12 +37,15 @@ OC.L10N.register( "Sheets" : "Fogli", "Slides" : "Diapositive", "Office" : "Ufficio", + "Instructions" : "Istruzioni", "Empty" : "Vuoto", "Anonymous guest" : "Ospite anonimo", "%s (Guest)" : "%s (Ospite)", "Edit office documents directly in your browser." : "Modifica i documenti di ufficio direttamente nel tuo browser.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Questa applicazione può collegarsi a un server Collabora Online (o altro) (client di tipo WOPI). Nextcloud è l'host WOPI. Leggi la documentazione per conoscere altro a riguardo.\n\nPuoi inoltre modificare i tuoi documenti non in linea con l'applicazione Collabora Online dallo store **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** e **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Nuovo", + "Contact {0} to get an own installation." : "Contatta {0} per ottenere la tua installazione.", + "Failed to save settings" : "Salvataggio impostazioni non riuscito", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office è una potente suite online basata su Collabora Online con modifica collaborativa, che supporta tutti i principali formati di documenti, fogli elettronici e presentazioni e funziona con tutti i browser moderni.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online è una potente suite in linea basata su LibreOffice con modifica collaborativa, che supporta tutti i principali formati di file di documenti, fogli elettronici e presentazioni e funziona con tutti i browser moderni.", "Could not establish connection to the Collabora Online server." : "Impossibile stabilire la connessione con il server Collabora Online", @@ -93,38 +96,28 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Webroot canonica che utilizzerà Collabora, in presenza di più webroot. Fornisci quella con minori restrizioni. Ad es.: usa una webroot senza shibboleth se l'accesso a questa istanza viene effettuato da webroot con e senza shibboleth. Puoi ignorare questa impostazione se viene utilizzata una sola webroot per accedere a questa istanza.", "Enable access for external apps" : "Abilita l'accesso per le applicazioni esterne", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista di indirizzi IPV4 e IPV6 e sottoreti a cui è consentito mandare richieste degli endpoint WOPI. Se non è specificata alcuna lista, tutti gli host potranno farlo. Es. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Caratteri aggiuntivi", "Available fonts" : "Caratteri disponibili", - "Secure view settings" : "Impostazioni di visualizzazione sicure", - "Secure view enables you to secure documents by embedding a watermark" : "Vista sicura ti permette di proteggere i documenti dall'integrazione di un watermark", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Le impostazioni si applicano solo ai file di ufficio compatibili che vengono aperti in Nextcloud Office", - "Enable watermarking" : "Abilita la filigrana", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Segnaposti supportati: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mostra la filigrana sui file etichettati", "Select tags to enforce watermarking" : "Seleziona le etichette per applicare la filigrana", - "Show watermark for users of groups" : "Mostra la filigrana per gli utenti di gruppi", - "Show watermark for all shares" : "Mostra la filigrana per tutte le condivisioni", - "Show watermark for read only shares" : "Mostra la filigrana per condivisioni in sola lettura", - "Show watermark for all link shares" : "Mostra la filigrana per tutte le condivisioni con collegamento", - "Show watermark for download hidden shares" : "Mostra la filigrana per lo scaricamento di condivisioni nascoste", - "Show watermark for read only link shares" : "Mostra la filigrana per condivisioni con collegamento in sola lettura", - "Show watermark on link shares with specific system tags" : "Mostra la filigrana su tutte le condivisioni con collegamento con etichette di sistema specifiche", - "Contact {0} to get an own installation." : "Contatta {0} per ottenere la tua installazione.", - "Failed to save settings" : "Salvataggio impostazioni non riuscito", "Save" : "Salva", "Remove" : "Rimuovi", "Submit name" : "Fornisci il nome", "Confirm" : "Conferma", "Cancel" : "Annulla", - "Save as" : "Salva come", "Save As" : "Salva come", + "Save as" : "Salva come", + "Invalid file name" : "Nome del file non valido", + "Select template" : "Seleziona modello", + "File name" : "Nome file", + "Create" : "Crea", + "Failed to set Zotero API key" : "Impossibile impostare la chiave API di Zotero", "Link to your Zotero library" : "Collegamento alla tua libreria Zotero", "Zotero account settings" : "Impostazioni dell'account Zotero", "Zotero API key" : "Chiave API di Zotero ", "Submit" : "Invia", - "Failed to set Zotero API key" : "Impossibile impostare la chiave API di Zotero", - "Select a template directory" : "Seleziona una cartella dei modelli", "Select a personal template folder" : "Seleziona una cartella dei modelli personali", + "Select a template directory" : "Seleziona una cartella dei modelli", "Remove personal template folder" : "Rimuovi la cartella dei modelli personali", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "I modelli all'interno di questa cartella saranno aggiunti al selettore dei modelli di Nextcloud Office.", "Zotero" : "Zotero", @@ -137,15 +130,15 @@ OC.L10N.register( "Add new token" : "Aggiungi nuovo token", "Delete this font" : "Elimina questo carattere", "No results" : "Nessun risultato", - "Select file or folder to link to" : "Seleziona un file o una cartella da collegare", "Select file" : "Seleziona file", - "Document loading failed" : "Caricamento del documento fallito", - "Close" : "Chiudi", - "Edit" : "Modifica", + "Select file or folder to link to" : "Seleziona un file o una cartella da collegare", + "{productName} is not configured" : "{productName} non è configurato", "Starting the built-in CODE server failed" : "Avvio del server CODE integrato fallito", "Loading {filename} …" : "Caricamento di {filename} …", "Failed to load {productName} - please try again later" : "Caricamento di {productName} - riprova più tardi", - "{productName} is not configured" : "{productName} non è configurato", + "Document loading failed" : "Caricamento del documento fallito", + "Close" : "Chiudi", + "Edit" : "Modifica", "Built-in CODE Server is starting up shortly, please wait." : "Il server CODE integrato si avvierà a breve, attendi.", "Built-in CODE Server is restarting, please wait." : "Il server CODE integrato è in fase di riavvio, attendi.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Errore: impossibile trovare AppImage, installa nuovamente il server integrato di Collabora Online.", @@ -157,6 +150,7 @@ OC.L10N.register( "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Errore: impossibile avviare il server integrato Collabora Online, configura un server autonomo.", "Close version preview" : "Chiudi anteprima della versione", "Edit with {productName}" : "Modifica con {productName}", + "Open file locally" : "Apri file localmente", "Open locally" : "Aprire localmente", "Continue editing online" : "Continua a modificare in linea", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "I file dovrebbe ora aprirsi in locale. Se non succede, assicurati che il client desktop sia installato nel tuo sistema.", @@ -171,14 +165,23 @@ OC.L10N.register( "Guest" : "Ospite", "Follow current editor" : "Segui l'autore attuale", "New file" : "Nuovo file", - "Create" : "Crea", "Could not create file" : "Impossibile creare il file", - "Select template" : "Seleziona modello", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Salvato con errore: Collabora Online dovrebbe utilizzare lo stesso protocollo dell'installazione del server.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Impossibile stabilire una connessione al server Collabora Online. Questo potrebbe essere causato da una mancata configurazione del tuo server web. Per ulteriori informazioni, visita:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office richiede un server separato con installato Collabora Online per fornire le funzioni di modifica.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online richiede un server separato che agisca da client tipo WOPI per fornire le funzioni di modifica.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Tutti gli utenti possono modificare documenti con {productName} in modo predefinito. Quando questa impostazione è attiva, solo i membri dei gruppi specificati possono modificare e gli altri possono solo visualizzare i documenti.", + "Secure view settings" : "Impostazioni di visualizzazione sicure", + "Secure view enables you to secure documents by embedding a watermark" : "Vista sicura ti permette di proteggere i documenti dall'integrazione di un watermark", + "Enable watermarking" : "Abilita la filigrana", + "Show watermark on tagged files" : "Mostra la filigrana sui file etichettati", + "Show watermark for users of groups" : "Mostra la filigrana per gli utenti di gruppi", + "Show watermark for all shares" : "Mostra la filigrana per tutte le condivisioni", + "Show watermark for read only shares" : "Mostra la filigrana per condivisioni in sola lettura", + "Show watermark for all link shares" : "Mostra la filigrana per tutte le condivisioni con collegamento", + "Show watermark for download hidden shares" : "Mostra la filigrana per lo scaricamento di condivisioni nascoste", + "Show watermark for read only link shares" : "Mostra la filigrana per condivisioni con collegamento in sola lettura", + "Show watermark on link shares with specific system tags" : "Mostra la filigrana su tutte le condivisioni con collegamento con etichette di sistema specifiche", "Error" : "Errore", "An error occurred" : "Si è verificato un errore", "Please choose your nickname to continue as guest user." : "Scegli il tuo pseudonimo per continuare come ospite.", diff --git a/l10n/it.json b/l10n/it.json index 9b81acfbe4..638f9c0447 100644 --- a/l10n/it.json +++ b/l10n/it.json @@ -35,12 +35,15 @@ "Sheets" : "Fogli", "Slides" : "Diapositive", "Office" : "Ufficio", + "Instructions" : "Istruzioni", "Empty" : "Vuoto", "Anonymous guest" : "Ospite anonimo", "%s (Guest)" : "%s (Ospite)", "Edit office documents directly in your browser." : "Modifica i documenti di ufficio direttamente nel tuo browser.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Questa applicazione può collegarsi a un server Collabora Online (o altro) (client di tipo WOPI). Nextcloud è l'host WOPI. Leggi la documentazione per conoscere altro a riguardo.\n\nPuoi inoltre modificare i tuoi documenti non in linea con l'applicazione Collabora Online dallo store **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** e **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Nuovo", + "Contact {0} to get an own installation." : "Contatta {0} per ottenere la tua installazione.", + "Failed to save settings" : "Salvataggio impostazioni non riuscito", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office è una potente suite online basata su Collabora Online con modifica collaborativa, che supporta tutti i principali formati di documenti, fogli elettronici e presentazioni e funziona con tutti i browser moderni.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online è una potente suite in linea basata su LibreOffice con modifica collaborativa, che supporta tutti i principali formati di file di documenti, fogli elettronici e presentazioni e funziona con tutti i browser moderni.", "Could not establish connection to the Collabora Online server." : "Impossibile stabilire la connessione con il server Collabora Online", @@ -91,38 +94,28 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Webroot canonica che utilizzerà Collabora, in presenza di più webroot. Fornisci quella con minori restrizioni. Ad es.: usa una webroot senza shibboleth se l'accesso a questa istanza viene effettuato da webroot con e senza shibboleth. Puoi ignorare questa impostazione se viene utilizzata una sola webroot per accedere a questa istanza.", "Enable access for external apps" : "Abilita l'accesso per le applicazioni esterne", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista di indirizzi IPV4 e IPV6 e sottoreti a cui è consentito mandare richieste degli endpoint WOPI. Se non è specificata alcuna lista, tutti gli host potranno farlo. Es. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Caratteri aggiuntivi", "Available fonts" : "Caratteri disponibili", - "Secure view settings" : "Impostazioni di visualizzazione sicure", - "Secure view enables you to secure documents by embedding a watermark" : "Vista sicura ti permette di proteggere i documenti dall'integrazione di un watermark", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Le impostazioni si applicano solo ai file di ufficio compatibili che vengono aperti in Nextcloud Office", - "Enable watermarking" : "Abilita la filigrana", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Segnaposti supportati: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mostra la filigrana sui file etichettati", "Select tags to enforce watermarking" : "Seleziona le etichette per applicare la filigrana", - "Show watermark for users of groups" : "Mostra la filigrana per gli utenti di gruppi", - "Show watermark for all shares" : "Mostra la filigrana per tutte le condivisioni", - "Show watermark for read only shares" : "Mostra la filigrana per condivisioni in sola lettura", - "Show watermark for all link shares" : "Mostra la filigrana per tutte le condivisioni con collegamento", - "Show watermark for download hidden shares" : "Mostra la filigrana per lo scaricamento di condivisioni nascoste", - "Show watermark for read only link shares" : "Mostra la filigrana per condivisioni con collegamento in sola lettura", - "Show watermark on link shares with specific system tags" : "Mostra la filigrana su tutte le condivisioni con collegamento con etichette di sistema specifiche", - "Contact {0} to get an own installation." : "Contatta {0} per ottenere la tua installazione.", - "Failed to save settings" : "Salvataggio impostazioni non riuscito", "Save" : "Salva", "Remove" : "Rimuovi", "Submit name" : "Fornisci il nome", "Confirm" : "Conferma", "Cancel" : "Annulla", - "Save as" : "Salva come", "Save As" : "Salva come", + "Save as" : "Salva come", + "Invalid file name" : "Nome del file non valido", + "Select template" : "Seleziona modello", + "File name" : "Nome file", + "Create" : "Crea", + "Failed to set Zotero API key" : "Impossibile impostare la chiave API di Zotero", "Link to your Zotero library" : "Collegamento alla tua libreria Zotero", "Zotero account settings" : "Impostazioni dell'account Zotero", "Zotero API key" : "Chiave API di Zotero ", "Submit" : "Invia", - "Failed to set Zotero API key" : "Impossibile impostare la chiave API di Zotero", - "Select a template directory" : "Seleziona una cartella dei modelli", "Select a personal template folder" : "Seleziona una cartella dei modelli personali", + "Select a template directory" : "Seleziona una cartella dei modelli", "Remove personal template folder" : "Rimuovi la cartella dei modelli personali", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "I modelli all'interno di questa cartella saranno aggiunti al selettore dei modelli di Nextcloud Office.", "Zotero" : "Zotero", @@ -135,15 +128,15 @@ "Add new token" : "Aggiungi nuovo token", "Delete this font" : "Elimina questo carattere", "No results" : "Nessun risultato", - "Select file or folder to link to" : "Seleziona un file o una cartella da collegare", "Select file" : "Seleziona file", - "Document loading failed" : "Caricamento del documento fallito", - "Close" : "Chiudi", - "Edit" : "Modifica", + "Select file or folder to link to" : "Seleziona un file o una cartella da collegare", + "{productName} is not configured" : "{productName} non è configurato", "Starting the built-in CODE server failed" : "Avvio del server CODE integrato fallito", "Loading {filename} …" : "Caricamento di {filename} …", "Failed to load {productName} - please try again later" : "Caricamento di {productName} - riprova più tardi", - "{productName} is not configured" : "{productName} non è configurato", + "Document loading failed" : "Caricamento del documento fallito", + "Close" : "Chiudi", + "Edit" : "Modifica", "Built-in CODE Server is starting up shortly, please wait." : "Il server CODE integrato si avvierà a breve, attendi.", "Built-in CODE Server is restarting, please wait." : "Il server CODE integrato è in fase di riavvio, attendi.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Errore: impossibile trovare AppImage, installa nuovamente il server integrato di Collabora Online.", @@ -155,6 +148,7 @@ "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Errore: impossibile avviare il server integrato Collabora Online, configura un server autonomo.", "Close version preview" : "Chiudi anteprima della versione", "Edit with {productName}" : "Modifica con {productName}", + "Open file locally" : "Apri file localmente", "Open locally" : "Aprire localmente", "Continue editing online" : "Continua a modificare in linea", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "I file dovrebbe ora aprirsi in locale. Se non succede, assicurati che il client desktop sia installato nel tuo sistema.", @@ -169,14 +163,23 @@ "Guest" : "Ospite", "Follow current editor" : "Segui l'autore attuale", "New file" : "Nuovo file", - "Create" : "Crea", "Could not create file" : "Impossibile creare il file", - "Select template" : "Seleziona modello", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Salvato con errore: Collabora Online dovrebbe utilizzare lo stesso protocollo dell'installazione del server.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Impossibile stabilire una connessione al server Collabora Online. Questo potrebbe essere causato da una mancata configurazione del tuo server web. Per ulteriori informazioni, visita:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office richiede un server separato con installato Collabora Online per fornire le funzioni di modifica.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online richiede un server separato che agisca da client tipo WOPI per fornire le funzioni di modifica.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Tutti gli utenti possono modificare documenti con {productName} in modo predefinito. Quando questa impostazione è attiva, solo i membri dei gruppi specificati possono modificare e gli altri possono solo visualizzare i documenti.", + "Secure view settings" : "Impostazioni di visualizzazione sicure", + "Secure view enables you to secure documents by embedding a watermark" : "Vista sicura ti permette di proteggere i documenti dall'integrazione di un watermark", + "Enable watermarking" : "Abilita la filigrana", + "Show watermark on tagged files" : "Mostra la filigrana sui file etichettati", + "Show watermark for users of groups" : "Mostra la filigrana per gli utenti di gruppi", + "Show watermark for all shares" : "Mostra la filigrana per tutte le condivisioni", + "Show watermark for read only shares" : "Mostra la filigrana per condivisioni in sola lettura", + "Show watermark for all link shares" : "Mostra la filigrana per tutte le condivisioni con collegamento", + "Show watermark for download hidden shares" : "Mostra la filigrana per lo scaricamento di condivisioni nascoste", + "Show watermark for read only link shares" : "Mostra la filigrana per condivisioni con collegamento in sola lettura", + "Show watermark on link shares with specific system tags" : "Mostra la filigrana su tutte le condivisioni con collegamento con etichette di sistema specifiche", "Error" : "Errore", "An error occurred" : "Si è verificato un errore", "Please choose your nickname to continue as guest user." : "Scegli il tuo pseudonimo per continuare come ospite.", diff --git a/l10n/ja.js b/l10n/ja.js index b4d3c7e24c..8793368858 100644 --- a/l10n/ja.js +++ b/l10n/ja.js @@ -39,12 +39,16 @@ OC.L10N.register( "Sheets" : "シート", "Slides" : "スライド", "Office" : "オフィス", + "Instructions" : "手順", "Empty" : "空", "Anonymous guest" : "匿名ゲスト", "%s (Guest)" : "%s(人のゲスト)", "Edit office documents directly in your browser." : "ブラウザーで直接オフィス文書を編集する。", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "このアプリケーションは、Collabora Online(または他の)サーバー(WOPIのようなクライアント)に接続できます。 NextcloudはWOPIホストです。詳細については、ドキュメントをお読みください。\n\nまた、**[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** や **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** ストアからCollaboraOfficeアプリを使用してオフラインでドキュメントを編集することもできます。 ", "New" : "新規作成", + "Contact {0} to get an own installation." : "独自インストールしたい場合は、{0} にご連絡ください。", + "Failed to save settings" : "設定の保存に失敗しました", + "Font format not supported ({mime})" : "サポートされていないフォント形式です ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Officeは、全ての主要なドキュメント、スプレッドシート及びプレゼンテーションファイル形式をサポートし、近年のブラウザーで動作する、共同編集機能を備えたCollabora Onlineベースのオンラインオフィススイートです。", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online は、オンラインで共同編集できるLibreOfficeベースのオフィススイートです。メジャーなドキュメントやスプレッドシート、プレゼンテーションファイルのフォーマットに対応し、最近の全てのブラウザーで動かすことができます。", "Could not establish connection to the Collabora Online server." : "Collabora オンラインサーバーに接続できませんでした。", @@ -102,53 +106,38 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Collaboraが使用する正規のwebroot(複数ある場合)。制限が最も少ないものを指定してください。例:このインスタンスがシブライズされたWebルートとシブライズされていないWebルートの両方からアクセスされる場合は、シブライズされていないWebルートを使用します。このインスタンスへのアクセスに1つのWebルートのみが使用されている場合は、この設定を無視できます。", "Enable access for external apps" : "外部アプリへのアクセスを可能にする", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "WOPIエンドポイントへのリクエストの実行が許可されているIPv4およびIPv6のIPアドレスとサブネットのリストをリストアップします。許可リストが指定されていない場合は、すべてのホストが許可されます。例:10.0.0.20、10.0.4.0/24", - "Extra fonts" : "追加のフォント", - "Upload extra font file" : "追加のフォントファイルをアップロード", "Upload a font file" : "フォントファイルをアップロード", "Available fonts" : "利用可能なフォント", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "理想的なドキュメントの互換性のために、一般的に使用されているフォントをインストールすることをお勧めします。ユーザがMicrosoft Officeを使用している場合は、ドキュメントに従ってMicrosoft Office独自のフォントをインストールすることができます。", "Custom fonts documentation" : "カスタムフォントに関するドキュメント", - "Secure view settings" : "セキュリティビュー設定", - "Secure view enables you to secure documents by embedding a watermark" : "セキュアビューによって透かしを埋め込んでドキュメントを保護できます", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "この設定は、Nextcloud Officeで開く互換性のあるofficeファイルのみに適用されます", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office内の以下のオプションが無効になります: コピー、ダウンロード、エクスポート、印刷", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "共有またはアクセスコントロールの設定により制限されない限り、ファイルはNextcloudを通じてダウンロード可能です", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "WOPI 設定が正しく設定されていない場合、WOPI リクエスト経由でファイルをダウンロードできる場合があります", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "透かしの入ったファイルのプレビューはブロックされ、ドキュメントの最初のページが漏洩することはありません", - "Enable watermarking" : "透かしを有効", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "サポートされているプレースホルダー: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "タグで指定しているファイルに透かしを表示", "Select tags to enforce watermarking" : "透かしを強制するタグを選択", - "Show watermark for users of groups" : "グループのユーザーに透かしを表示", - "Show watermark for all shares" : "全ての共有に透かしを表示", - "Show watermark for read only shares" : "読込専用の共有リンクに透かしを表示", - "Show watermark for shares without download permission" : "ダウンロード権限のない共有に透かしを表示する", - "Show watermark for all link shares" : "全てのリンク共有に透かしを表示", - "Show watermark for download hidden shares" : "ダウンロード禁止の共有リンクに透かしを表示", - "Show watermark for read only link shares" : "読込専用ファイルの共有リンクに透かしを表示", - "Show watermark on link shares with specific system tags" : "特定のシステムタグ付きの共有リンクに透かしを表示", - "Contact {0} to get an own installation." : "独自インストールしたい場合は、{0} にご連絡ください。", - "Failed to save settings" : "設定の保存に失敗しました", - "Font format not supported ({mime})" : "サポートされていないフォント形式です ({mime})", "Save" : "保存", "Remove" : "削除", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "ドキュメントに進む前に、使用したいゲスト名を入力してください。入力がない場合、デフォルトが使用されます。", "Guest name" : "ゲスト名", "Submit name" : "名前を送信", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "ドキュメントに進む前に、使用したいゲスト名を入力してください。入力がない場合、デフォルトが使用されます。", "Confirm" : "承認", "Cancel" : "キャンセル", + "Save As" : "保存", "Save as" : "保存", "Path to save" : "保存するパス", - "Save As" : "保存", + "Invalid file name" : "無効なファイル名", + "Select template" : "テンプレートを選択する", + "File name" : "ファイル名", + "Create" : "作成", + "Failed to set Zotero API key" : "Zotero APIキーの設定に失敗しました", "Link to your Zotero library" : "Zoteroライブラリへのリンク", "Connect your Zotero account to make use of references within Office." : "Zoteroアカウントに接続し、Office内で参考文献を利用することができます。", "You can generate an account key here:" : "ここでアカウントキーを生成できます:", "Zotero account settings" : "Zotero アカウント設定", "Zotero API key" : "Zotero APIキー", "Submit" : "送信", - "Failed to set Zotero API key" : "Zotero APIキーの設定に失敗しました", - "Select a template directory" : "テンプレートディレクトリを選択する", "Select a personal template folder" : "個人用のテンプレートフォルダーを選択する", + "Select a template directory" : "テンプレートディレクトリを選択する", "Remove personal template folder" : "個人用のテンプレートフォルダーを削除する", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "このディレクトリ内のテンプレートは、Nextcloud Officeのテンプレートセレクタに追加されます。", "Zotero" : "Zotero", @@ -162,22 +151,22 @@ OC.L10N.register( "No font overview" : "フォントの概要がありません", "Delete this font" : "このフォントを削除", "No results" : "該当なし", + "Select file" : "ファイルを選択", "Select file or folder to link to" : "リンク先のファイルまたはフォルダを選択", "Could not find any section in the document" : "文書内のセクションが見つかりません", - "Select file" : "ファイルを選択", + "{productName} is not configured" : "{productName} は設定されていません", + "Starting the built-in CODE server failed" : "内蔵のCODEサーバーの開始に失敗", + "Loading {filename} …" : "{filename}を読み込み中…", + "Failed to load {productName} - please try again later" : "{productName} が読み込めませんでした - しばらく後でもう一度試してください", + "Open in local editor" : "ローカルエディタで開く", + "Cluster is scaling …" : "クラスターはスケーリングしている...", + "The collaborative editing was terminated by another user" : "共同編集が他のユーザーによって終了されました", "Document loading failed" : "ドキュメントの読み込みに失敗", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "詳細はCollabora Onlineのサーバーログを確認し、そこからNextcloudにアクセスできることを確認してください。", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "ソケット接続が予期せず終了しました。リバースプロキシの設定が間違っている可能性があります。", "More information can be found in the reverse proxy documentation" : "詳細はリバースプロキシのドキュメントをご覧ください", "Close" : "閉じる", "Edit" : "編集", - "Starting the built-in CODE server failed" : "内蔵のCODEサーバーの開始に失敗", - "Loading {filename} …" : "{filename}を読み込み中…", - "Open in local editor" : "ローカルエディタで開く", - "Cluster is scaling …" : "クラスターはスケーリングしている...", - "The collaborative editing was terminated by another user" : "共同編集が他のユーザーによって終了されました", - "Failed to load {productName} - please try again later" : "{productName} が読み込めませんでした - しばらく後でもう一度試してください", - "{productName} is not configured" : "{productName} は設定されていません", "Built-in CODE Server is starting up shortly, please wait." : "ビルトインのCODEサーバーをすぐに起動中、少々お待ちください。", "Built-in CODE Server is restarting, please wait." : "ビルトインのCODEサーバーを再起動しています。お待ちください。", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "エラー: AppImageが見つかりません。CollaboraOnline組み込みサーバーを再インストールしてください。", @@ -208,15 +197,23 @@ OC.L10N.register( "Follow current editor" : "現在のエディターをフォローする", "New file" : "新しいファイル", "Please enter the filename for the new file" : "新しいファイルのファイル名を入力してください", - "Create" : "作成", - "New drawing" : "新規図形絵画", "Could not create file" : "ファイルを作成できませんでした", - "Select template" : "テンプレートを選択する", "Saved with error: Collabora Online should use the same protocol as the server installation." : "保存時にエラー:Collabora Onlineは、サーバーインストールと同じプロトコルを使用する必要があります。", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Collabora Onlineサーバーへの接続を確立できませんでした。Webサーバーの設定が不足していることが原因かもしれません。詳細については、以下をご覧ください。", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "編集機能を提供するために、Nextcloud OfficeはCollabora Onlineが動作するサーバーが別途必要です。", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Onlineには、編集機能を提供するためにWOPIのようにクライアントとして機能するサーバーが別途必要です。", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "デフォルトでは、全ユーザーに {productName} での編集権限があります。この設定を有効にした場合、指定したグループだけが編集でき、その他のユーザーはドキュメントの参照のみになります。", + "Secure view settings" : "セキュリティビュー設定", + "Secure view enables you to secure documents by embedding a watermark" : "セキュアビューによって透かしを埋め込んでドキュメントを保護できます", + "Enable watermarking" : "透かしを有効", + "Show watermark on tagged files" : "タグで指定しているファイルに透かしを表示", + "Show watermark for users of groups" : "グループのユーザーに透かしを表示", + "Show watermark for all shares" : "全ての共有に透かしを表示", + "Show watermark for read only shares" : "読込専用の共有リンクに透かしを表示", + "Show watermark for all link shares" : "全てのリンク共有に透かしを表示", + "Show watermark for download hidden shares" : "ダウンロード禁止の共有リンクに透かしを表示", + "Show watermark for read only link shares" : "読込専用ファイルの共有リンクに透かしを表示", + "Show watermark on link shares with specific system tags" : "特定のシステムタグ付きの共有リンクに透かしを表示", "Error" : "エラー", "An error occurred" : "エラーが発生しました", "Please choose your nickname to continue as guest user." : "ゲストユーザーとして続けるにはニックネームを選択してください。", @@ -237,6 +234,10 @@ OC.L10N.register( "No templates defined." : "テンプレートが定義されていません", "Add a new one?" : "新規追加", "template preview" : "テンプレートプレビュー", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "共有またはアクセスコントロールの設定により制限されない限り、ファイルはNextcloudを通じてダウンロード可能です", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "透かしの入ったファイルのプレビューはブロックされ、ドキュメントの最初のページが漏洩することはありません", + "Show watermark for shares without download permission" : "ダウンロード権限のない共有に透かしを表示する", + "New drawing" : "新規図形絵画", "Collabora Online" : "Collabora Online", "Document already exists" : "グループはすでに存在しています", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Onlineサーバーはデフォルトで有効です。この設定を有効にした場合、指定したグループでしか利用する事ができません。", diff --git a/l10n/ja.json b/l10n/ja.json index 6458df4aee..3d44475b7e 100644 --- a/l10n/ja.json +++ b/l10n/ja.json @@ -37,12 +37,16 @@ "Sheets" : "シート", "Slides" : "スライド", "Office" : "オフィス", + "Instructions" : "手順", "Empty" : "空", "Anonymous guest" : "匿名ゲスト", "%s (Guest)" : "%s(人のゲスト)", "Edit office documents directly in your browser." : "ブラウザーで直接オフィス文書を編集する。", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "このアプリケーションは、Collabora Online(または他の)サーバー(WOPIのようなクライアント)に接続できます。 NextcloudはWOPIホストです。詳細については、ドキュメントをお読みください。\n\nまた、**[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** や **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** ストアからCollaboraOfficeアプリを使用してオフラインでドキュメントを編集することもできます。 ", "New" : "新規作成", + "Contact {0} to get an own installation." : "独自インストールしたい場合は、{0} にご連絡ください。", + "Failed to save settings" : "設定の保存に失敗しました", + "Font format not supported ({mime})" : "サポートされていないフォント形式です ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Officeは、全ての主要なドキュメント、スプレッドシート及びプレゼンテーションファイル形式をサポートし、近年のブラウザーで動作する、共同編集機能を備えたCollabora Onlineベースのオンラインオフィススイートです。", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online は、オンラインで共同編集できるLibreOfficeベースのオフィススイートです。メジャーなドキュメントやスプレッドシート、プレゼンテーションファイルのフォーマットに対応し、最近の全てのブラウザーで動かすことができます。", "Could not establish connection to the Collabora Online server." : "Collabora オンラインサーバーに接続できませんでした。", @@ -100,53 +104,38 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Collaboraが使用する正規のwebroot(複数ある場合)。制限が最も少ないものを指定してください。例:このインスタンスがシブライズされたWebルートとシブライズされていないWebルートの両方からアクセスされる場合は、シブライズされていないWebルートを使用します。このインスタンスへのアクセスに1つのWebルートのみが使用されている場合は、この設定を無視できます。", "Enable access for external apps" : "外部アプリへのアクセスを可能にする", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "WOPIエンドポイントへのリクエストの実行が許可されているIPv4およびIPv6のIPアドレスとサブネットのリストをリストアップします。許可リストが指定されていない場合は、すべてのホストが許可されます。例:10.0.0.20、10.0.4.0/24", - "Extra fonts" : "追加のフォント", - "Upload extra font file" : "追加のフォントファイルをアップロード", "Upload a font file" : "フォントファイルをアップロード", "Available fonts" : "利用可能なフォント", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "理想的なドキュメントの互換性のために、一般的に使用されているフォントをインストールすることをお勧めします。ユーザがMicrosoft Officeを使用している場合は、ドキュメントに従ってMicrosoft Office独自のフォントをインストールすることができます。", "Custom fonts documentation" : "カスタムフォントに関するドキュメント", - "Secure view settings" : "セキュリティビュー設定", - "Secure view enables you to secure documents by embedding a watermark" : "セキュアビューによって透かしを埋め込んでドキュメントを保護できます", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "この設定は、Nextcloud Officeで開く互換性のあるofficeファイルのみに適用されます", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office内の以下のオプションが無効になります: コピー、ダウンロード、エクスポート、印刷", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "共有またはアクセスコントロールの設定により制限されない限り、ファイルはNextcloudを通じてダウンロード可能です", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "WOPI 設定が正しく設定されていない場合、WOPI リクエスト経由でファイルをダウンロードできる場合があります", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "透かしの入ったファイルのプレビューはブロックされ、ドキュメントの最初のページが漏洩することはありません", - "Enable watermarking" : "透かしを有効", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "サポートされているプレースホルダー: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "タグで指定しているファイルに透かしを表示", "Select tags to enforce watermarking" : "透かしを強制するタグを選択", - "Show watermark for users of groups" : "グループのユーザーに透かしを表示", - "Show watermark for all shares" : "全ての共有に透かしを表示", - "Show watermark for read only shares" : "読込専用の共有リンクに透かしを表示", - "Show watermark for shares without download permission" : "ダウンロード権限のない共有に透かしを表示する", - "Show watermark for all link shares" : "全てのリンク共有に透かしを表示", - "Show watermark for download hidden shares" : "ダウンロード禁止の共有リンクに透かしを表示", - "Show watermark for read only link shares" : "読込専用ファイルの共有リンクに透かしを表示", - "Show watermark on link shares with specific system tags" : "特定のシステムタグ付きの共有リンクに透かしを表示", - "Contact {0} to get an own installation." : "独自インストールしたい場合は、{0} にご連絡ください。", - "Failed to save settings" : "設定の保存に失敗しました", - "Font format not supported ({mime})" : "サポートされていないフォント形式です ({mime})", "Save" : "保存", "Remove" : "削除", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "ドキュメントに進む前に、使用したいゲスト名を入力してください。入力がない場合、デフォルトが使用されます。", "Guest name" : "ゲスト名", "Submit name" : "名前を送信", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "ドキュメントに進む前に、使用したいゲスト名を入力してください。入力がない場合、デフォルトが使用されます。", "Confirm" : "承認", "Cancel" : "キャンセル", + "Save As" : "保存", "Save as" : "保存", "Path to save" : "保存するパス", - "Save As" : "保存", + "Invalid file name" : "無効なファイル名", + "Select template" : "テンプレートを選択する", + "File name" : "ファイル名", + "Create" : "作成", + "Failed to set Zotero API key" : "Zotero APIキーの設定に失敗しました", "Link to your Zotero library" : "Zoteroライブラリへのリンク", "Connect your Zotero account to make use of references within Office." : "Zoteroアカウントに接続し、Office内で参考文献を利用することができます。", "You can generate an account key here:" : "ここでアカウントキーを生成できます:", "Zotero account settings" : "Zotero アカウント設定", "Zotero API key" : "Zotero APIキー", "Submit" : "送信", - "Failed to set Zotero API key" : "Zotero APIキーの設定に失敗しました", - "Select a template directory" : "テンプレートディレクトリを選択する", "Select a personal template folder" : "個人用のテンプレートフォルダーを選択する", + "Select a template directory" : "テンプレートディレクトリを選択する", "Remove personal template folder" : "個人用のテンプレートフォルダーを削除する", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "このディレクトリ内のテンプレートは、Nextcloud Officeのテンプレートセレクタに追加されます。", "Zotero" : "Zotero", @@ -160,22 +149,22 @@ "No font overview" : "フォントの概要がありません", "Delete this font" : "このフォントを削除", "No results" : "該当なし", + "Select file" : "ファイルを選択", "Select file or folder to link to" : "リンク先のファイルまたはフォルダを選択", "Could not find any section in the document" : "文書内のセクションが見つかりません", - "Select file" : "ファイルを選択", + "{productName} is not configured" : "{productName} は設定されていません", + "Starting the built-in CODE server failed" : "内蔵のCODEサーバーの開始に失敗", + "Loading {filename} …" : "{filename}を読み込み中…", + "Failed to load {productName} - please try again later" : "{productName} が読み込めませんでした - しばらく後でもう一度試してください", + "Open in local editor" : "ローカルエディタで開く", + "Cluster is scaling …" : "クラスターはスケーリングしている...", + "The collaborative editing was terminated by another user" : "共同編集が他のユーザーによって終了されました", "Document loading failed" : "ドキュメントの読み込みに失敗", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "詳細はCollabora Onlineのサーバーログを確認し、そこからNextcloudにアクセスできることを確認してください。", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "ソケット接続が予期せず終了しました。リバースプロキシの設定が間違っている可能性があります。", "More information can be found in the reverse proxy documentation" : "詳細はリバースプロキシのドキュメントをご覧ください", "Close" : "閉じる", "Edit" : "編集", - "Starting the built-in CODE server failed" : "内蔵のCODEサーバーの開始に失敗", - "Loading {filename} …" : "{filename}を読み込み中…", - "Open in local editor" : "ローカルエディタで開く", - "Cluster is scaling …" : "クラスターはスケーリングしている...", - "The collaborative editing was terminated by another user" : "共同編集が他のユーザーによって終了されました", - "Failed to load {productName} - please try again later" : "{productName} が読み込めませんでした - しばらく後でもう一度試してください", - "{productName} is not configured" : "{productName} は設定されていません", "Built-in CODE Server is starting up shortly, please wait." : "ビルトインのCODEサーバーをすぐに起動中、少々お待ちください。", "Built-in CODE Server is restarting, please wait." : "ビルトインのCODEサーバーを再起動しています。お待ちください。", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "エラー: AppImageが見つかりません。CollaboraOnline組み込みサーバーを再インストールしてください。", @@ -206,15 +195,23 @@ "Follow current editor" : "現在のエディターをフォローする", "New file" : "新しいファイル", "Please enter the filename for the new file" : "新しいファイルのファイル名を入力してください", - "Create" : "作成", - "New drawing" : "新規図形絵画", "Could not create file" : "ファイルを作成できませんでした", - "Select template" : "テンプレートを選択する", "Saved with error: Collabora Online should use the same protocol as the server installation." : "保存時にエラー:Collabora Onlineは、サーバーインストールと同じプロトコルを使用する必要があります。", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Collabora Onlineサーバーへの接続を確立できませんでした。Webサーバーの設定が不足していることが原因かもしれません。詳細については、以下をご覧ください。", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "編集機能を提供するために、Nextcloud OfficeはCollabora Onlineが動作するサーバーが別途必要です。", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Onlineには、編集機能を提供するためにWOPIのようにクライアントとして機能するサーバーが別途必要です。", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "デフォルトでは、全ユーザーに {productName} での編集権限があります。この設定を有効にした場合、指定したグループだけが編集でき、その他のユーザーはドキュメントの参照のみになります。", + "Secure view settings" : "セキュリティビュー設定", + "Secure view enables you to secure documents by embedding a watermark" : "セキュアビューによって透かしを埋め込んでドキュメントを保護できます", + "Enable watermarking" : "透かしを有効", + "Show watermark on tagged files" : "タグで指定しているファイルに透かしを表示", + "Show watermark for users of groups" : "グループのユーザーに透かしを表示", + "Show watermark for all shares" : "全ての共有に透かしを表示", + "Show watermark for read only shares" : "読込専用の共有リンクに透かしを表示", + "Show watermark for all link shares" : "全てのリンク共有に透かしを表示", + "Show watermark for download hidden shares" : "ダウンロード禁止の共有リンクに透かしを表示", + "Show watermark for read only link shares" : "読込専用ファイルの共有リンクに透かしを表示", + "Show watermark on link shares with specific system tags" : "特定のシステムタグ付きの共有リンクに透かしを表示", "Error" : "エラー", "An error occurred" : "エラーが発生しました", "Please choose your nickname to continue as guest user." : "ゲストユーザーとして続けるにはニックネームを選択してください。", @@ -235,6 +232,10 @@ "No templates defined." : "テンプレートが定義されていません", "Add a new one?" : "新規追加", "template preview" : "テンプレートプレビュー", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "共有またはアクセスコントロールの設定により制限されない限り、ファイルはNextcloudを通じてダウンロード可能です", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "透かしの入ったファイルのプレビューはブロックされ、ドキュメントの最初のページが漏洩することはありません", + "Show watermark for shares without download permission" : "ダウンロード権限のない共有に透かしを表示する", + "New drawing" : "新規図形絵画", "Collabora Online" : "Collabora Online", "Document already exists" : "グループはすでに存在しています", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Onlineサーバーはデフォルトで有効です。この設定を有効にした場合、指定したグループでしか利用する事ができません。", diff --git a/l10n/ka.js b/l10n/ka.js index ae97134708..920c56fd70 100644 --- a/l10n/ka.js +++ b/l10n/ka.js @@ -45,6 +45,9 @@ OC.L10N.register( "Edit office documents directly in your browser." : "Edit office documents directly in your browser.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", "New" : "New", + "Contact {0} to get an own installation." : "Contact {0} to get an own installation.", + "Failed to save settings" : "Failed to save settings", + "Font format not supported ({mime})" : "Font format not supported ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.", "Could not establish connection to the Collabora Online server." : "Could not establish connection to the Collabora Online server.", @@ -102,47 +105,31 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance.", "Enable access for external apps" : "Enable access for external apps", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Extra fonts", - "Upload extra font file" : "Upload extra font file", "Upload a font file" : "Upload a font file", "Available fonts" : "Available fonts", - "Secure view settings" : "Secure view settings", - "Secure view enables you to secure documents by embedding a watermark" : "Secure view enables you to secure documents by embedding a watermark", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "The settings only apply to compatible office files that are opened in Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", - "Enable watermarking" : "Enable watermarking", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Show watermark on tagged files", "Select tags to enforce watermarking" : "Select tags to enforce watermarking", - "Show watermark for users of groups" : "Show watermark for users of groups", - "Show watermark for all shares" : "Show watermark for all shares", - "Show watermark for read only shares" : "Show watermark for read only shares", - "Show watermark for shares without download permission" : "Show watermark for shares without download permission", - "Show watermark for all link shares" : "Show watermark for all link shares", - "Show watermark for download hidden shares" : "Show watermark for download hidden shares", - "Show watermark for read only link shares" : "Show watermark for read only link shares", - "Show watermark on link shares with specific system tags" : "Show watermark on link shares with specific system tags", - "Contact {0} to get an own installation." : "Contact {0} to get an own installation.", - "Failed to save settings" : "Failed to save settings", - "Font format not supported ({mime})" : "Font format not supported ({mime})", "Save" : "Save", "Remove" : "Remove", "Confirm" : "Confirm", "Cancel" : "Cancel", - "Path to save" : "Path to save", "Save As" : "Save As", + "Path to save" : "Path to save", + "Select template" : "Select template", + "File name" : "File name", + "Create" : "Create", + "Failed to set Zotero API key" : "Failed to set Zotero API key", "Link to your Zotero library" : "Link to your Zotero library", "Connect your Zotero account to make use of references within Office." : "Connect your Zotero account to make use of references within Office.", "You can generate an account key here:" : "You can generate an account key here:", "Zotero account settings" : "Zotero account settings", "Zotero API key" : "Zotero API key", "Submit" : "Submit", - "Failed to set Zotero API key" : "Failed to set Zotero API key", - "Select a template directory" : "Select a template directory", "Select a personal template folder" : "Select a personal template folder", + "Select a template directory" : "Select a template directory", "Remove personal template folder" : "Remove personal template folder", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Templates inside of this directory will be added to the template selector of Nextcloud Office.", "Zotero" : "Zotero", @@ -156,21 +143,21 @@ OC.L10N.register( "No font overview" : "No font overview", "Delete this font" : "Delete this font", "No results" : "No results", + "Select file" : "აირჩიეთ ფაილი", "Select file or folder to link to" : "Select file or folder to link to", "Could not find any section in the document" : "Could not find any section in the document", - "Select file" : "აირჩიეთ ფაილი", + "{productName} is not configured" : "{productName} is not configured", + "Starting the built-in CODE server failed" : "Starting the built-in CODE server failed", + "Loading {filename} …" : "Loading {filename} …", + "Failed to load {productName} - please try again later" : "Failed to load {productName} - please try again later", + "Open in local editor" : "Open in local editor", + "Cluster is scaling …" : "Cluster is scaling …", "Document loading failed" : "Document loading failed", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator.", "More information can be found in the reverse proxy documentation" : "More information can be found in the reverse proxy documentation", "Close" : "Close", "Edit" : "Edit", - "Starting the built-in CODE server failed" : "Starting the built-in CODE server failed", - "Loading {filename} …" : "Loading {filename} …", - "Open in local editor" : "Open in local editor", - "Cluster is scaling …" : "Cluster is scaling …", - "Failed to load {productName} - please try again later" : "Failed to load {productName} - please try again later", - "{productName} is not configured" : "{productName} is not configured", "Built-in CODE Server is starting up shortly, please wait." : "Built-in CODE Server is starting up shortly, please wait.", "Built-in CODE Server is restarting, please wait." : "Built-in CODE Server is restarting, please wait.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server.", @@ -200,15 +187,23 @@ OC.L10N.register( "Follow current editor" : "Follow current editor", "New file" : "New file", "Please enter the filename for the new file" : "Please enter the filename for the new file", - "Create" : "Create", - "New drawing" : "New drawing", "Could not create file" : "Could not create file", - "Select template" : "Select template", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Saved with error: Collabora Online should use the same protocol as the server installation.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents.", + "Secure view settings" : "Secure view settings", + "Secure view enables you to secure documents by embedding a watermark" : "Secure view enables you to secure documents by embedding a watermark", + "Enable watermarking" : "Enable watermarking", + "Show watermark on tagged files" : "Show watermark on tagged files", + "Show watermark for users of groups" : "Show watermark for users of groups", + "Show watermark for all shares" : "Show watermark for all shares", + "Show watermark for read only shares" : "Show watermark for read only shares", + "Show watermark for all link shares" : "Show watermark for all link shares", + "Show watermark for download hidden shares" : "Show watermark for download hidden shares", + "Show watermark for read only link shares" : "Show watermark for read only link shares", + "Show watermark on link shares with specific system tags" : "Show watermark on link shares with specific system tags", "Error" : "Error", "An error occurred" : "An error occurred", "Please choose your nickname to continue as guest user." : "Please choose your nickname to continue as guest user.", @@ -229,6 +224,10 @@ OC.L10N.register( "No templates defined." : "No templates defined.", "Add a new one?" : "Add a new one?", "template preview" : "template preview", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", + "Show watermark for shares without download permission" : "Show watermark for shares without download permission", + "New drawing" : "New drawing", "Collabora Online" : "Collabora Online", "Document already exists" : "Document already exists", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it.", diff --git a/l10n/ka.json b/l10n/ka.json index 60cfeba666..0a60544442 100644 --- a/l10n/ka.json +++ b/l10n/ka.json @@ -43,6 +43,9 @@ "Edit office documents directly in your browser." : "Edit office documents directly in your browser.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", "New" : "New", + "Contact {0} to get an own installation." : "Contact {0} to get an own installation.", + "Failed to save settings" : "Failed to save settings", + "Font format not supported ({mime})" : "Font format not supported ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.", "Could not establish connection to the Collabora Online server." : "Could not establish connection to the Collabora Online server.", @@ -100,47 +103,31 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance.", "Enable access for external apps" : "Enable access for external apps", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Extra fonts", - "Upload extra font file" : "Upload extra font file", "Upload a font file" : "Upload a font file", "Available fonts" : "Available fonts", - "Secure view settings" : "Secure view settings", - "Secure view enables you to secure documents by embedding a watermark" : "Secure view enables you to secure documents by embedding a watermark", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "The settings only apply to compatible office files that are opened in Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", - "Enable watermarking" : "Enable watermarking", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Show watermark on tagged files", "Select tags to enforce watermarking" : "Select tags to enforce watermarking", - "Show watermark for users of groups" : "Show watermark for users of groups", - "Show watermark for all shares" : "Show watermark for all shares", - "Show watermark for read only shares" : "Show watermark for read only shares", - "Show watermark for shares without download permission" : "Show watermark for shares without download permission", - "Show watermark for all link shares" : "Show watermark for all link shares", - "Show watermark for download hidden shares" : "Show watermark for download hidden shares", - "Show watermark for read only link shares" : "Show watermark for read only link shares", - "Show watermark on link shares with specific system tags" : "Show watermark on link shares with specific system tags", - "Contact {0} to get an own installation." : "Contact {0} to get an own installation.", - "Failed to save settings" : "Failed to save settings", - "Font format not supported ({mime})" : "Font format not supported ({mime})", "Save" : "Save", "Remove" : "Remove", "Confirm" : "Confirm", "Cancel" : "Cancel", - "Path to save" : "Path to save", "Save As" : "Save As", + "Path to save" : "Path to save", + "Select template" : "Select template", + "File name" : "File name", + "Create" : "Create", + "Failed to set Zotero API key" : "Failed to set Zotero API key", "Link to your Zotero library" : "Link to your Zotero library", "Connect your Zotero account to make use of references within Office." : "Connect your Zotero account to make use of references within Office.", "You can generate an account key here:" : "You can generate an account key here:", "Zotero account settings" : "Zotero account settings", "Zotero API key" : "Zotero API key", "Submit" : "Submit", - "Failed to set Zotero API key" : "Failed to set Zotero API key", - "Select a template directory" : "Select a template directory", "Select a personal template folder" : "Select a personal template folder", + "Select a template directory" : "Select a template directory", "Remove personal template folder" : "Remove personal template folder", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Templates inside of this directory will be added to the template selector of Nextcloud Office.", "Zotero" : "Zotero", @@ -154,21 +141,21 @@ "No font overview" : "No font overview", "Delete this font" : "Delete this font", "No results" : "No results", + "Select file" : "აირჩიეთ ფაილი", "Select file or folder to link to" : "Select file or folder to link to", "Could not find any section in the document" : "Could not find any section in the document", - "Select file" : "აირჩიეთ ფაილი", + "{productName} is not configured" : "{productName} is not configured", + "Starting the built-in CODE server failed" : "Starting the built-in CODE server failed", + "Loading {filename} …" : "Loading {filename} …", + "Failed to load {productName} - please try again later" : "Failed to load {productName} - please try again later", + "Open in local editor" : "Open in local editor", + "Cluster is scaling …" : "Cluster is scaling …", "Document loading failed" : "Document loading failed", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator.", "More information can be found in the reverse proxy documentation" : "More information can be found in the reverse proxy documentation", "Close" : "Close", "Edit" : "Edit", - "Starting the built-in CODE server failed" : "Starting the built-in CODE server failed", - "Loading {filename} …" : "Loading {filename} …", - "Open in local editor" : "Open in local editor", - "Cluster is scaling …" : "Cluster is scaling …", - "Failed to load {productName} - please try again later" : "Failed to load {productName} - please try again later", - "{productName} is not configured" : "{productName} is not configured", "Built-in CODE Server is starting up shortly, please wait." : "Built-in CODE Server is starting up shortly, please wait.", "Built-in CODE Server is restarting, please wait." : "Built-in CODE Server is restarting, please wait.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server.", @@ -198,15 +185,23 @@ "Follow current editor" : "Follow current editor", "New file" : "New file", "Please enter the filename for the new file" : "Please enter the filename for the new file", - "Create" : "Create", - "New drawing" : "New drawing", "Could not create file" : "Could not create file", - "Select template" : "Select template", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Saved with error: Collabora Online should use the same protocol as the server installation.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents.", + "Secure view settings" : "Secure view settings", + "Secure view enables you to secure documents by embedding a watermark" : "Secure view enables you to secure documents by embedding a watermark", + "Enable watermarking" : "Enable watermarking", + "Show watermark on tagged files" : "Show watermark on tagged files", + "Show watermark for users of groups" : "Show watermark for users of groups", + "Show watermark for all shares" : "Show watermark for all shares", + "Show watermark for read only shares" : "Show watermark for read only shares", + "Show watermark for all link shares" : "Show watermark for all link shares", + "Show watermark for download hidden shares" : "Show watermark for download hidden shares", + "Show watermark for read only link shares" : "Show watermark for read only link shares", + "Show watermark on link shares with specific system tags" : "Show watermark on link shares with specific system tags", "Error" : "Error", "An error occurred" : "An error occurred", "Please choose your nickname to continue as guest user." : "Please choose your nickname to continue as guest user.", @@ -227,6 +222,10 @@ "No templates defined." : "No templates defined.", "Add a new one?" : "Add a new one?", "template preview" : "template preview", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Previews will be blocked for watermarked files to not leak the first page of documents", + "Show watermark for shares without download permission" : "Show watermark for shares without download permission", + "New drawing" : "New drawing", "Collabora Online" : "Collabora Online", "Document already exists" : "Document already exists", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it.", diff --git a/l10n/ka_GE.js b/l10n/ka_GE.js index 5ce731cef2..0f321fc0c5 100644 --- a/l10n/ka_GE.js +++ b/l10n/ka_GE.js @@ -29,6 +29,7 @@ OC.L10N.register( "Confirm" : "დადასტურება", "Cancel" : "უარყოფა", "Save As" : "შენახვა როგორც", + "Create" : "შექმნა", "Submit" : "გაგზავნა", "Description" : "აღწერილობა", "No results" : "შედეგები არაა", @@ -40,7 +41,6 @@ OC.L10N.register( "Details" : "დეტალები", "Download" : "ჩამოტვირთვა", "Guest" : "სტუმარი", - "Create" : "შექმნა", "Could not create file" : "ფაილი ვერ შეიქმნა", "Saved with error: Collabora Online should use the same protocol as the server installation." : "შენახულია შეცდომით: Collabora Online უნდა იყენებდეს იგივე პროტოკოლს, რომელსაც იყენებს სერვერის ინსტალაცია.", "Error" : "შეცდომა", diff --git a/l10n/ka_GE.json b/l10n/ka_GE.json index a1c1155b75..f6e8a43e3f 100644 --- a/l10n/ka_GE.json +++ b/l10n/ka_GE.json @@ -27,6 +27,7 @@ "Confirm" : "დადასტურება", "Cancel" : "უარყოფა", "Save As" : "შენახვა როგორც", + "Create" : "შექმნა", "Submit" : "გაგზავნა", "Description" : "აღწერილობა", "No results" : "შედეგები არაა", @@ -38,7 +39,6 @@ "Details" : "დეტალები", "Download" : "ჩამოტვირთვა", "Guest" : "სტუმარი", - "Create" : "შექმნა", "Could not create file" : "ფაილი ვერ შეიქმნა", "Saved with error: Collabora Online should use the same protocol as the server installation." : "შენახულია შეცდომით: Collabora Online უნდა იყენებდეს იგივე პროტოკოლს, რომელსაც იყენებს სერვერის ინსტალაცია.", "Error" : "შეცდომა", diff --git a/l10n/kab.js b/l10n/kab.js index df3519ec0b..aef3a8f10a 100644 --- a/l10n/kab.js +++ b/l10n/kab.js @@ -11,6 +11,7 @@ OC.L10N.register( "Remove" : "Kkes", "Confirm" : "Serggeg", "Cancel" : "Sefsex", + "Create" : "Snulfu-d", "No results" : "Ulac igmad", "Close" : "Mdel", "Edit" : "Ẓreg", @@ -20,7 +21,6 @@ OC.L10N.register( "Download" : "Sider", "Guest" : "Inebgi", "New file" : "Rnu afaylu", - "Create" : "Snulfu-d", "Error" : "Erreur", "Set" : "Sbadu" }, diff --git a/l10n/kab.json b/l10n/kab.json index b0b546b7f5..bb320f8a71 100644 --- a/l10n/kab.json +++ b/l10n/kab.json @@ -9,6 +9,7 @@ "Remove" : "Kkes", "Confirm" : "Serggeg", "Cancel" : "Sefsex", + "Create" : "Snulfu-d", "No results" : "Ulac igmad", "Close" : "Mdel", "Edit" : "Ẓreg", @@ -18,7 +19,6 @@ "Download" : "Sider", "Guest" : "Inebgi", "New file" : "Rnu afaylu", - "Create" : "Snulfu-d", "Error" : "Erreur", "Set" : "Sbadu" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/km.js b/l10n/km.js deleted file mode 100644 index 88b574cc77..0000000000 --- a/l10n/km.js +++ /dev/null @@ -1,19 +0,0 @@ -OC.L10N.register( - "richdocuments", - { - "Saved" : "បាន​រក្សាទុក", - "New" : "ថ្មី", - "Save" : "រក្សាទុក", - "Cancel" : "បោះបង់", - "Description" : "ការ​អធិប្បាយ", - "Select file" : "ជ្រើសរើសឯកសារ", - "Close" : "បិទ", - "Edit" : "កែប្រែ", - "Remove from favorites" : "Remove from favorites", - "Add to favorites" : "Add to favorites", - "Details" : "ព័ត៌មាន​លម្អិត", - "Download" : "ទាញយក", - "Create" : "បង្កើត", - "Error" : "កំហុស" -}, -"nplurals=1; plural=0;"); diff --git a/l10n/km.json b/l10n/km.json deleted file mode 100644 index 9b319bb459..0000000000 --- a/l10n/km.json +++ /dev/null @@ -1,17 +0,0 @@ -{ "translations": { - "Saved" : "បាន​រក្សាទុក", - "New" : "ថ្មី", - "Save" : "រក្សាទុក", - "Cancel" : "បោះបង់", - "Description" : "ការ​អធិប្បាយ", - "Select file" : "ជ្រើសរើសឯកសារ", - "Close" : "បិទ", - "Edit" : "កែប្រែ", - "Remove from favorites" : "Remove from favorites", - "Add to favorites" : "Add to favorites", - "Details" : "ព័ត៌មាន​លម្អិត", - "Download" : "ទាញយក", - "Create" : "បង្កើត", - "Error" : "កំហុស" -},"pluralForm" :"nplurals=1; plural=0;" -} \ No newline at end of file diff --git a/l10n/kn.js b/l10n/kn.js deleted file mode 100644 index c20a1a1ae5..0000000000 --- a/l10n/kn.js +++ /dev/null @@ -1,19 +0,0 @@ -OC.L10N.register( - "richdocuments", - { - "Saved" : "ಉಳಿಸಿದ", - "No file was uploaded" : "ವರ್ಗಾವಣೆಗೆ ಯಾವುದೇ ಕಡತಗಳು ಕಂಡುಬಂದಿಲ್ಲ", - "Missing a temporary folder" : "ತಾತ್ಕಾಲಿಕ ಕಡತಕೋಶ ದೊರೆಕುತ್ತಿಲ್ಲ", - "New" : "ಹೊಸ", - "Save" : "ಉಳಿಸಿ", - "Cancel" : "ರದ್ದು", - "Close" : "ಮುಚ್ಚು", - "Edit" : "ಸಂಪಾದಿಸು", - "Remove from favorites" : "Remove from favorites", - "Add to favorites" : "Add to favorites", - "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ", - "Create" : "ಸೃಷ್ಟಿಸಿ", - "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ", - "Error" : "ತಪ್ಪಾಗಿದೆ" -}, -"nplurals=2; plural=(n > 1);"); diff --git a/l10n/kn.json b/l10n/kn.json deleted file mode 100644 index 4092b6552b..0000000000 --- a/l10n/kn.json +++ /dev/null @@ -1,17 +0,0 @@ -{ "translations": { - "Saved" : "ಉಳಿಸಿದ", - "No file was uploaded" : "ವರ್ಗಾವಣೆಗೆ ಯಾವುದೇ ಕಡತಗಳು ಕಂಡುಬಂದಿಲ್ಲ", - "Missing a temporary folder" : "ತಾತ್ಕಾಲಿಕ ಕಡತಕೋಶ ದೊರೆಕುತ್ತಿಲ್ಲ", - "New" : "ಹೊಸ", - "Save" : "ಉಳಿಸಿ", - "Cancel" : "ರದ್ದು", - "Close" : "ಮುಚ್ಚು", - "Edit" : "ಸಂಪಾದಿಸು", - "Remove from favorites" : "Remove from favorites", - "Add to favorites" : "Add to favorites", - "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ", - "Create" : "ಸೃಷ್ಟಿಸಿ", - "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ", - "Error" : "ತಪ್ಪಾಗಿದೆ" -},"pluralForm" :"nplurals=2; plural=(n > 1);" -} \ No newline at end of file diff --git a/l10n/ko.js b/l10n/ko.js index 98ec8af2ac..8aa55856c6 100644 --- a/l10n/ko.js +++ b/l10n/ko.js @@ -37,11 +37,14 @@ OC.L10N.register( "Sheets" : "시트", "Slides" : "슬라이드", "Office" : "오피스", + "Instructions" : "지침", "Empty" : "비어 있음", "Anonymous guest" : "익명의 손님", "%s (Guest)" : "%s(손님)", "Edit office documents directly in your browser." : "오피스 문서를 브라우저에서 직접 편집하십시오.", "New" : "새 파일", + "Failed to save settings" : "환경설정 저장 실패", + "Font format not supported ({mime})" : "지원되지 않는 서체 형식입니다 ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office는 Collabora Online 기반 공동 작업 온라인 오피스 앱으로, 모든 브라우저에서 주요 문서, 스프레드시트, 프레젠테이션 파일 포맷을 지원합니다.", "Could not establish connection to the Collabora Online server." : "Collabora Online 서버와 연결할 수 없습니다.", "This might be due to a missing configuration of your web server. For more information, please visit: " : "웹 서버의 설정을 다시 확인하십시오. 더 자세한 정보는 다음을 참조하십시오:", @@ -78,25 +81,24 @@ OC.L10N.register( "Use Canonical webroot" : "정규화된 웹 루트 사용", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "웹 루트가 여러 개 있는 경우 Collabora에서 사용할 정규화된 웹 루트입니다. 제약 사항이 가장 적은 항목을 선택하십시오. 예: 이 인스턴스를 단일 인증(Shibboleth)을 사용하는 웹 루트와 단일 인증을 사용하지 않는 웹 루트에서 접근한다면 단일 인증을 사용하지 않는 쪽을 사용하십시오. 단일 웹 루트만 사용한다면 이 설정을 무시해도 됩니다.", "Enable access for external apps" : "외부 앱 접근 허용", - "Extra fonts" : "추가 서체", - "Upload extra font file" : "추가 서체 파일 업로드", "Upload a font file" : "서체 파일 업로드", "Available fonts" : "사용 가능한 서체", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office의 다음 기능들이 비활성화 됩니다: 복사, 다운로드, 내보내기, 프린트", - "Enable watermarking" : "워터마크 활성화", - "Failed to save settings" : "환경설정 저장 실패", - "Font format not supported ({mime})" : "지원되지 않는 서체 형식입니다 ({mime})", "Save" : "저장", "Remove" : "삭제", "Submit name" : "이름 제출", "Confirm" : "확인", "Cancel" : "취소", + "Save As" : "다른 이름으로 저장", "Save as" : "다른 이름으로 저장", "Path to save" : "저장할 경로", - "Save As" : "다른 이름으로 저장", + "Invalid file name" : "잘못된 파일 이름", + "Select template" : "템플릿 선택", + "File name" : "파일 이름", + "Create" : "생성", "Submit" : "제출", - "Select a template directory" : "템플릿 디렉터리 선택", "Select a personal template folder" : "개인 템플릿 폴더 설정", + "Select a template directory" : "템플릿 디렉터리 선택", "Remove personal template folder" : "개인 템플릿 폴더 삭제", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "이 디렉토리 안에 있는 템플릿이 Nextcloud Office 템플릿 설정에 반영됩니다.", "Enter Zotero API Key" : "Zotero API 키 입력", @@ -106,15 +108,15 @@ OC.L10N.register( "Add new token" : "새 토큰 생성", "Delete this font" : "이 서체 삭제", "No results" : "결과 없음", - "Select file or folder to link to" : "링크할 파일이나 폴더 선택", "Select file" : "파일 선택", + "Select file or folder to link to" : "링크할 파일이나 폴더 선택", + "Starting the built-in CODE server failed" : "내장 CODE 서버 시작 실패", + "Loading {filename} …" : "{filename}을(를) 로딩 중...", + "Open in local editor" : "로컬 편집기로 열기", "Document loading failed" : "문서 불러오기 실패", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "더 자세한 정보는 Collabora Online 서버의 로그에서 확인하시고, Nextcloud가 해당 서버에 접근할 수 있는지 점검하십시오.", "Close" : "닫기", "Edit" : "편집", - "Starting the built-in CODE server failed" : "내장 CODE 서버 시작 실패", - "Loading {filename} …" : "{filename}을(를) 로딩 중...", - "Open in local editor" : "로컬 편집기로 열기", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "오류: AppImage를 찾을 수 없습니다. Collabora Online Built-in 서버를 다시 설치하십시오.", "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "오류: Collabora Online Built-in 서버를 시작할 수 없습니다. 스탠드얼론 버전으로 설정하십시오.", "Edit with {productName}" : "{productName}(으)로 편집하기", @@ -133,13 +135,12 @@ OC.L10N.register( "Guest" : "손님", "New file" : "새 파일", "Please enter the filename for the new file" : "새 파일의 이름을 입력하십시오", - "Create" : "생성", "Could not create file" : "파일을 만들 수 없음", - "Select template" : "템플릿 선택", "Saved with error: Collabora Online should use the same protocol as the server installation." : "저장 오류 발생: Collabora Online과 서버 설치본이 같은 프로토콜을 사용해야 합니다.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Collabora Online 서버와 통신할 수 없습니다. 웹 서버의 설정이 잘못되었을 수 있습니다. 더 자세한 정보는 다음 페이지에서 확인하십시오:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office의 편집 기능에는 Collabora Online을 구동하는 별도의 서버가 필요합니다.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online의 편집 기능에는 WOPI 유사 클라이언트로 동작하는 별도의 서버가 필요합니다.", + "Enable watermarking" : "워터마크 활성화", "Error" : "오류", "An error occurred" : "오류가 발생함", "Please choose your nickname to continue as guest user." : "손님 계정으로 계속하기 위해 별명을 입력하세요.", diff --git a/l10n/ko.json b/l10n/ko.json index 7a439a0cfb..601367be91 100644 --- a/l10n/ko.json +++ b/l10n/ko.json @@ -35,11 +35,14 @@ "Sheets" : "시트", "Slides" : "슬라이드", "Office" : "오피스", + "Instructions" : "지침", "Empty" : "비어 있음", "Anonymous guest" : "익명의 손님", "%s (Guest)" : "%s(손님)", "Edit office documents directly in your browser." : "오피스 문서를 브라우저에서 직접 편집하십시오.", "New" : "새 파일", + "Failed to save settings" : "환경설정 저장 실패", + "Font format not supported ({mime})" : "지원되지 않는 서체 형식입니다 ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office는 Collabora Online 기반 공동 작업 온라인 오피스 앱으로, 모든 브라우저에서 주요 문서, 스프레드시트, 프레젠테이션 파일 포맷을 지원합니다.", "Could not establish connection to the Collabora Online server." : "Collabora Online 서버와 연결할 수 없습니다.", "This might be due to a missing configuration of your web server. For more information, please visit: " : "웹 서버의 설정을 다시 확인하십시오. 더 자세한 정보는 다음을 참조하십시오:", @@ -76,25 +79,24 @@ "Use Canonical webroot" : "정규화된 웹 루트 사용", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "웹 루트가 여러 개 있는 경우 Collabora에서 사용할 정규화된 웹 루트입니다. 제약 사항이 가장 적은 항목을 선택하십시오. 예: 이 인스턴스를 단일 인증(Shibboleth)을 사용하는 웹 루트와 단일 인증을 사용하지 않는 웹 루트에서 접근한다면 단일 인증을 사용하지 않는 쪽을 사용하십시오. 단일 웹 루트만 사용한다면 이 설정을 무시해도 됩니다.", "Enable access for external apps" : "외부 앱 접근 허용", - "Extra fonts" : "추가 서체", - "Upload extra font file" : "추가 서체 파일 업로드", "Upload a font file" : "서체 파일 업로드", "Available fonts" : "사용 가능한 서체", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office의 다음 기능들이 비활성화 됩니다: 복사, 다운로드, 내보내기, 프린트", - "Enable watermarking" : "워터마크 활성화", - "Failed to save settings" : "환경설정 저장 실패", - "Font format not supported ({mime})" : "지원되지 않는 서체 형식입니다 ({mime})", "Save" : "저장", "Remove" : "삭제", "Submit name" : "이름 제출", "Confirm" : "확인", "Cancel" : "취소", + "Save As" : "다른 이름으로 저장", "Save as" : "다른 이름으로 저장", "Path to save" : "저장할 경로", - "Save As" : "다른 이름으로 저장", + "Invalid file name" : "잘못된 파일 이름", + "Select template" : "템플릿 선택", + "File name" : "파일 이름", + "Create" : "생성", "Submit" : "제출", - "Select a template directory" : "템플릿 디렉터리 선택", "Select a personal template folder" : "개인 템플릿 폴더 설정", + "Select a template directory" : "템플릿 디렉터리 선택", "Remove personal template folder" : "개인 템플릿 폴더 삭제", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "이 디렉토리 안에 있는 템플릿이 Nextcloud Office 템플릿 설정에 반영됩니다.", "Enter Zotero API Key" : "Zotero API 키 입력", @@ -104,15 +106,15 @@ "Add new token" : "새 토큰 생성", "Delete this font" : "이 서체 삭제", "No results" : "결과 없음", - "Select file or folder to link to" : "링크할 파일이나 폴더 선택", "Select file" : "파일 선택", + "Select file or folder to link to" : "링크할 파일이나 폴더 선택", + "Starting the built-in CODE server failed" : "내장 CODE 서버 시작 실패", + "Loading {filename} …" : "{filename}을(를) 로딩 중...", + "Open in local editor" : "로컬 편집기로 열기", "Document loading failed" : "문서 불러오기 실패", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "더 자세한 정보는 Collabora Online 서버의 로그에서 확인하시고, Nextcloud가 해당 서버에 접근할 수 있는지 점검하십시오.", "Close" : "닫기", "Edit" : "편집", - "Starting the built-in CODE server failed" : "내장 CODE 서버 시작 실패", - "Loading {filename} …" : "{filename}을(를) 로딩 중...", - "Open in local editor" : "로컬 편집기로 열기", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "오류: AppImage를 찾을 수 없습니다. Collabora Online Built-in 서버를 다시 설치하십시오.", "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "오류: Collabora Online Built-in 서버를 시작할 수 없습니다. 스탠드얼론 버전으로 설정하십시오.", "Edit with {productName}" : "{productName}(으)로 편집하기", @@ -131,13 +133,12 @@ "Guest" : "손님", "New file" : "새 파일", "Please enter the filename for the new file" : "새 파일의 이름을 입력하십시오", - "Create" : "생성", "Could not create file" : "파일을 만들 수 없음", - "Select template" : "템플릿 선택", "Saved with error: Collabora Online should use the same protocol as the server installation." : "저장 오류 발생: Collabora Online과 서버 설치본이 같은 프로토콜을 사용해야 합니다.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Collabora Online 서버와 통신할 수 없습니다. 웹 서버의 설정이 잘못되었을 수 있습니다. 더 자세한 정보는 다음 페이지에서 확인하십시오:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office의 편집 기능에는 Collabora Online을 구동하는 별도의 서버가 필요합니다.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online의 편집 기능에는 WOPI 유사 클라이언트로 동작하는 별도의 서버가 필요합니다.", + "Enable watermarking" : "워터마크 활성화", "Error" : "오류", "An error occurred" : "오류가 발생함", "Please choose your nickname to continue as guest user." : "손님 계정으로 계속하기 위해 별명을 입력하세요.", diff --git a/l10n/lb.js b/l10n/lb.js index 2a652eea9d..9468f03dd3 100644 --- a/l10n/lb.js +++ b/l10n/lb.js @@ -14,6 +14,7 @@ OC.L10N.register( "Save" : "Späicheren", "Confirm" : "Konfirméieren", "Cancel" : "Ofbriechen", + "Create" : "Erstellen", "Description" : "Beschreiwung", "Close" : "Zoumaachen", "Edit" : "Änneren", @@ -21,7 +22,6 @@ OC.L10N.register( "Add to favorites" : "Add to favorites", "Details" : "Detailer", "Download" : "Eroflueden", - "Create" : "Erstellen", "Could not create file" : "De Fichier konnt net erstallt ginn", "Error" : "Fehler", "Nickname" : "Spëtznumm", diff --git a/l10n/lb.json b/l10n/lb.json index d9fb7cbaba..e3a6603e56 100644 --- a/l10n/lb.json +++ b/l10n/lb.json @@ -12,6 +12,7 @@ "Save" : "Späicheren", "Confirm" : "Konfirméieren", "Cancel" : "Ofbriechen", + "Create" : "Erstellen", "Description" : "Beschreiwung", "Close" : "Zoumaachen", "Edit" : "Änneren", @@ -19,7 +20,6 @@ "Add to favorites" : "Add to favorites", "Details" : "Detailer", "Download" : "Eroflueden", - "Create" : "Erstellen", "Could not create file" : "De Fichier konnt net erstallt ginn", "Error" : "Fehler", "Nickname" : "Spëtznumm", diff --git a/l10n/lo.js b/l10n/lo.js index 526fdc3a90..2532281eb9 100644 --- a/l10n/lo.js +++ b/l10n/lo.js @@ -9,6 +9,8 @@ OC.L10N.register( "Remove" : "ຍ້າຍອອກ", "Confirm" : "ຢືນຢັນ", "Cancel" : "ຍົກເລີກ", + "Select template" : "ເລືອກຕົວຢ່າງ", + "Create" : "ສ້າງ", "No results" : "ບໍ່ມີຜົນ", "Close" : "ປິດ", "Edit" : "ແກ້ໄຂ", @@ -17,8 +19,6 @@ OC.L10N.register( "Details" : "ລາຍລະອຽດ", "Download" : "ດາວໂຫລດ", "New file" : "ຟາຍໃໝ່", - "Create" : "ສ້າງ", - "Select template" : "ເລືອກຕົວຢ່າງ", "Error" : "ຜິດພາດ" }, "nplurals=1; plural=0;"); diff --git a/l10n/lo.json b/l10n/lo.json index b7215a7647..3f177d319e 100644 --- a/l10n/lo.json +++ b/l10n/lo.json @@ -7,6 +7,8 @@ "Remove" : "ຍ້າຍອອກ", "Confirm" : "ຢືນຢັນ", "Cancel" : "ຍົກເລີກ", + "Select template" : "ເລືອກຕົວຢ່າງ", + "Create" : "ສ້າງ", "No results" : "ບໍ່ມີຜົນ", "Close" : "ປິດ", "Edit" : "ແກ້ໄຂ", @@ -15,8 +17,6 @@ "Details" : "ລາຍລະອຽດ", "Download" : "ດາວໂຫລດ", "New file" : "ຟາຍໃໝ່", - "Create" : "ສ້າງ", - "Select template" : "ເລືອກຕົວຢ່າງ", "Error" : "ຜິດພາດ" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/lt_LT.js b/l10n/lt_LT.js index e9ff4fabdf..4747fb50b6 100644 --- a/l10n/lt_LT.js +++ b/l10n/lt_LT.js @@ -25,18 +25,25 @@ OC.L10N.register( "File is too big" : "Failas yra per didelis", "Invalid file provided" : "Pateiktas neteisingas failas", "Template not found" : "Šablonas nerastas", + "PDF (.pdf)" : "PDF (.pdf)", + "Text (.rtf)" : "Tekstas (.rtf)", + "Text (.txt)" : "Tekstas (.txt)", "New document" : "Naujas dokumentas", "New spreadsheet" : "Nauja skaičiuoklė", "New presentation" : "Nauja pateiktis", "Headings" : "Antraštės", "Images" : "Paveikslai", "Office" : "Biuras", + "Instructions" : "Instrukcija", "Empty" : "Tuščias", "%s (Guest)" : "%s (Svečias)", "Edit office documents directly in your browser." : "Redaguokite raštinės dokumentus tiesiogiai savo naršyklėje.", - "New" : "Nauja", "Template \"{name}\" already exists" : "Šablonas „{name}“ jau yra", "Unable to delete template" : "Nepavyko ištrinti šablono", + "Global Templates" : "Visuotiniai šablonai", + "New" : "Nauja", + "Failed to save settings" : "Nepavyko įrašyti nustatymų", + "Font format not supported ({mime})" : "Šrifto formatas nepalaikomas ({mime})", "Could not establish connection to the Collabora Online server." : "Nepavyko užmegzti ryšio su Collabora Online serveriu.", "Collabora Online server is reachable." : "Collabora Online serveris yra pasiekiamas.", "URL used by the browser:" : "Naršyklės naudojamas URL adresas:", @@ -53,35 +60,39 @@ OC.L10N.register( "I will setup my own server" : "Aš nusistatysiu asmeninį serverį", "Advanced settings" : "Išplėstiniai nustatymai", "Select groups" : "Pasirinkti grupes", - "Extra fonts" : "Papildomi šriftai", + "Custom Fonts" : "Tinkinti šriftai", "Available fonts" : "Prieinami šriftai", "Custom fonts documentation" : "Tinkintų šriftų dokumentacija", - "Secure view settings" : "Saugaus rodinio nustatymai", - "Secure view enables you to secure documents by embedding a watermark" : "Saugusis rodinys leidžia jums apsaugoti dokumentus įterpiant vandenženklį", - "Enable watermarking" : "Įjungti vandenženklių darymą", - "Show watermark on tagged files" : "Rodyti vandenženklį ant failų su žymėmis", - "Failed to save settings" : "Nepavyko įrašyti nustatymų", - "Font format not supported ({mime})" : "Šrifto formatas nepalaikomas ({mime})", "Save" : "Įrašyti", "Remove" : "Šalinti", "Confirm" : "Patvirtinti", "Cancel" : "Atsisakyti", - "Save as" : "Įrašyti kaip", "Save As" : "Įrašyti kaip", + "Save as" : "Įrašyti kaip", + "Select template" : "Pasirinkite šabloną", + "File name" : "Failo pavadinimas", + "Create" : "Sukurti", + "Zotero account settings" : "„Zotero“ paskyros nustatymai", + "Zotero API key" : "„Zotero“ API raktas", "Submit" : "Pateikti", - "Select a template directory" : "Pasirinkite šablonų katalogą", "Select a personal template folder" : "Pasirinkti asmeninių šablonų aplanką", + "Settings saved successfully." : "Nustatymai sėkmingai įrašyti.", + "Failed to save settings." : "Nepavyko įrašyti nustatymų.", + "Unexpected error occurred." : "Įvyko netikėta klaida.", + "Select a template directory" : "Pasirinkite šablonų katalogą", + "Zotero" : "„Zotero“", "Description" : "Aprašas", "Add new token" : "Pridėti naują prieigos raktą", "Delete this font" : "Ištrinti šį šriftą", "No results" : "Rezultatų nėra", + "Select file" : "Pasirinkti failą", + "{productName} is not configured" : "{productName} nesukonfigūruota", + "Loading {filename} …" : "Įkeliamas {filename}…", + "Failed to load {productName} - please try again later" : "Nepavyko įkelti {productName} – vėliau bandykite dar kartą", + "Open in local editor" : "Atverti vietiniame redaktoriuje", "Document loading failed" : "Nepavyko įkelti dokumento", "Close" : "Užverti", "Edit" : "Taisyti", - "Loading {filename} …" : "Įkeliamas {filename}…", - "Open in local editor" : "Atverti vietiniame redaktoriuje", - "Failed to load {productName} - please try again later" : "Nepavyko įkelti {productName} – vėliau bandykite dar kartą", - "{productName} is not configured" : "{productName} nesukonfigūruota", "Close version preview" : "Užverti versijos peržiūrą", "Edit with {productName}" : "Taisyti naudojant {productName}", "Failed to revert the document to older version" : "Nepavyko sugrąžinti dokumentą į senesnę versiją", @@ -95,10 +106,12 @@ OC.L10N.register( "Remove user" : "Šalinti naudotoją", "Guest" : "Svečias", "New file" : "Naujas failas", - "Create" : "Sukurti", "Could not create file" : "Nepavyko sukurti failo", - "Select template" : "Pasirinkite šabloną", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Įrašyta su klaida: Collabora Online turėtų naudoti tokį patį protokolą kaip ir serverio diegimas.", + "Secure view settings" : "Saugaus rodinio nustatymai", + "Secure view enables you to secure documents by embedding a watermark" : "Saugusis rodinys leidžia jums apsaugoti dokumentus įterpiant vandenženklį", + "Enable watermarking" : "Įjungti vandenženklių darymą", + "Show watermark on tagged files" : "Rodyti vandenženklį ant failų, turinčių žymas", "Error" : "Klaida", "An error occurred" : "Įvyko klaida", "Please choose your nickname to continue as guest user." : "Norėdami tęsti kaip svečias, pasirinkite savo slapyvardį.", diff --git a/l10n/lt_LT.json b/l10n/lt_LT.json index 3d8fdf5c09..682ea43a5a 100644 --- a/l10n/lt_LT.json +++ b/l10n/lt_LT.json @@ -23,18 +23,25 @@ "File is too big" : "Failas yra per didelis", "Invalid file provided" : "Pateiktas neteisingas failas", "Template not found" : "Šablonas nerastas", + "PDF (.pdf)" : "PDF (.pdf)", + "Text (.rtf)" : "Tekstas (.rtf)", + "Text (.txt)" : "Tekstas (.txt)", "New document" : "Naujas dokumentas", "New spreadsheet" : "Nauja skaičiuoklė", "New presentation" : "Nauja pateiktis", "Headings" : "Antraštės", "Images" : "Paveikslai", "Office" : "Biuras", + "Instructions" : "Instrukcija", "Empty" : "Tuščias", "%s (Guest)" : "%s (Svečias)", "Edit office documents directly in your browser." : "Redaguokite raštinės dokumentus tiesiogiai savo naršyklėje.", - "New" : "Nauja", "Template \"{name}\" already exists" : "Šablonas „{name}“ jau yra", "Unable to delete template" : "Nepavyko ištrinti šablono", + "Global Templates" : "Visuotiniai šablonai", + "New" : "Nauja", + "Failed to save settings" : "Nepavyko įrašyti nustatymų", + "Font format not supported ({mime})" : "Šrifto formatas nepalaikomas ({mime})", "Could not establish connection to the Collabora Online server." : "Nepavyko užmegzti ryšio su Collabora Online serveriu.", "Collabora Online server is reachable." : "Collabora Online serveris yra pasiekiamas.", "URL used by the browser:" : "Naršyklės naudojamas URL adresas:", @@ -51,35 +58,39 @@ "I will setup my own server" : "Aš nusistatysiu asmeninį serverį", "Advanced settings" : "Išplėstiniai nustatymai", "Select groups" : "Pasirinkti grupes", - "Extra fonts" : "Papildomi šriftai", + "Custom Fonts" : "Tinkinti šriftai", "Available fonts" : "Prieinami šriftai", "Custom fonts documentation" : "Tinkintų šriftų dokumentacija", - "Secure view settings" : "Saugaus rodinio nustatymai", - "Secure view enables you to secure documents by embedding a watermark" : "Saugusis rodinys leidžia jums apsaugoti dokumentus įterpiant vandenženklį", - "Enable watermarking" : "Įjungti vandenženklių darymą", - "Show watermark on tagged files" : "Rodyti vandenženklį ant failų su žymėmis", - "Failed to save settings" : "Nepavyko įrašyti nustatymų", - "Font format not supported ({mime})" : "Šrifto formatas nepalaikomas ({mime})", "Save" : "Įrašyti", "Remove" : "Šalinti", "Confirm" : "Patvirtinti", "Cancel" : "Atsisakyti", - "Save as" : "Įrašyti kaip", "Save As" : "Įrašyti kaip", + "Save as" : "Įrašyti kaip", + "Select template" : "Pasirinkite šabloną", + "File name" : "Failo pavadinimas", + "Create" : "Sukurti", + "Zotero account settings" : "„Zotero“ paskyros nustatymai", + "Zotero API key" : "„Zotero“ API raktas", "Submit" : "Pateikti", - "Select a template directory" : "Pasirinkite šablonų katalogą", "Select a personal template folder" : "Pasirinkti asmeninių šablonų aplanką", + "Settings saved successfully." : "Nustatymai sėkmingai įrašyti.", + "Failed to save settings." : "Nepavyko įrašyti nustatymų.", + "Unexpected error occurred." : "Įvyko netikėta klaida.", + "Select a template directory" : "Pasirinkite šablonų katalogą", + "Zotero" : "„Zotero“", "Description" : "Aprašas", "Add new token" : "Pridėti naują prieigos raktą", "Delete this font" : "Ištrinti šį šriftą", "No results" : "Rezultatų nėra", + "Select file" : "Pasirinkti failą", + "{productName} is not configured" : "{productName} nesukonfigūruota", + "Loading {filename} …" : "Įkeliamas {filename}…", + "Failed to load {productName} - please try again later" : "Nepavyko įkelti {productName} – vėliau bandykite dar kartą", + "Open in local editor" : "Atverti vietiniame redaktoriuje", "Document loading failed" : "Nepavyko įkelti dokumento", "Close" : "Užverti", "Edit" : "Taisyti", - "Loading {filename} …" : "Įkeliamas {filename}…", - "Open in local editor" : "Atverti vietiniame redaktoriuje", - "Failed to load {productName} - please try again later" : "Nepavyko įkelti {productName} – vėliau bandykite dar kartą", - "{productName} is not configured" : "{productName} nesukonfigūruota", "Close version preview" : "Užverti versijos peržiūrą", "Edit with {productName}" : "Taisyti naudojant {productName}", "Failed to revert the document to older version" : "Nepavyko sugrąžinti dokumentą į senesnę versiją", @@ -93,10 +104,12 @@ "Remove user" : "Šalinti naudotoją", "Guest" : "Svečias", "New file" : "Naujas failas", - "Create" : "Sukurti", "Could not create file" : "Nepavyko sukurti failo", - "Select template" : "Pasirinkite šabloną", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Įrašyta su klaida: Collabora Online turėtų naudoti tokį patį protokolą kaip ir serverio diegimas.", + "Secure view settings" : "Saugaus rodinio nustatymai", + "Secure view enables you to secure documents by embedding a watermark" : "Saugusis rodinys leidžia jums apsaugoti dokumentus įterpiant vandenženklį", + "Enable watermarking" : "Įjungti vandenženklių darymą", + "Show watermark on tagged files" : "Rodyti vandenženklį ant failų, turinčių žymas", "Error" : "Klaida", "An error occurred" : "Įvyko klaida", "Please choose your nickname to continue as guest user." : "Norėdami tęsti kaip svečias, pasirinkite savo slapyvardį.", diff --git a/l10n/lv.js b/l10n/lv.js index 6244c94cd6..3f8ffd2cbd 100644 --- a/l10n/lv.js +++ b/l10n/lv.js @@ -20,44 +20,52 @@ OC.L10N.register( "Failed to upload the file" : "Neizdevās augšupielādēt datni", "File is too big" : "Datne ir par lielu", "Invalid file provided" : "Norādīta nederīga datne", + "OpenDocument Text (.odt)" : "OpenDocument teksts (.odt)", "New document" : "Jauns dokuments", "New spreadsheet" : "Jauna izklājlapa", "New presentation" : "Jauna prezentācija", "Images" : "Attēli", "Office" : "Birojs", + "Instructions" : "Norādes gatavošanai", "Empty" : "Tukšs", "New" : "Jauns", + "Failed to save settings" : "Neizdevās saglabāt iestatījumus", "Setting up a new server" : "Jauna servera iestatīšana", + "Your browser has been unable to connect to the Collabora server:" : "Pārlūks nevarēja savienoties ar Collabora serveri:", "Click here for more info" : "Klikšķināt šeit, lai iegūtu vairāk informācijas", "Advanced settings" : "Paplašināti iestatījumi", "Select groups" : "Izvēlieties grupas", - "Failed to save settings" : "Neizdevās saglabāt iestatījumus", "Save" : "Saglabāt", - "Remove" : "Izņemt", + "Remove" : "Noņemt", "Confirm" : "Apstiprināt", "Cancel" : "Atcelt", "Save as" : "Saglabāt kā", + "File name" : "Datnes nosaukums", + "Create" : "Izveidot", "Submit" : "Iesniegt", "Description" : "Apraksts", "No font overview" : "Nav fonta pārskata", - "No results" : "Nav rezultātu", - "Select file" : "Izvēlēties failu", + "No results" : "Nav iznākuma", + "Select file" : "Atlasīt datni", + "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Ligzdas savienojums negaidīti aizvērās. Apvērstais starpniekserveris varētu būt nepareizi konfigurēts. Lūgums sazināties ar pārvaldītāju.", "Close" : "Aizvērt", "Edit" : "Labot", + "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Datnei tagad vajadzētu atvērties. Ja tas nenotiek, jāpārliecinās, ka sistēmā ir uzstādīts Nextcloud klients.", "Failed to revert the document to older version" : "Neizdevās atjaunot dokumentu ar vecāku versiju", "Remove from favorites" : "Noņemt no izlases", "Add to favorites" : "Pievienot izlasei", - "Details" : "Detaļas", + "Details" : "Informācija", "Download" : "Lejupielādēt", "Guest" : "Viesis", "New file" : "Jauna datne", - "Create" : "Izveidot", "Could not create file" : "Neizdevās izveidot datni", + "Show watermark on link shares with specific system tags" : "Rādīt ūdenszīmi saišu kopīgojumos, kuriem ir noteiktas sistēmas birkas", "Error" : "Kļūda", "An error occurred" : "Gadījās kļūda", "Nickname" : "Iesauka", "Saving…" : "Saglabā...", "Current version (unsaved changes)" : "Pašreizējā versija (nesaglabātas izmaiņas)", + "Open with {productName}" : "Atvērt ar {productName}", "Collabora Online" : "Collabora Online" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/l10n/lv.json b/l10n/lv.json index 2c3121e671..256c6b0347 100644 --- a/l10n/lv.json +++ b/l10n/lv.json @@ -18,44 +18,52 @@ "Failed to upload the file" : "Neizdevās augšupielādēt datni", "File is too big" : "Datne ir par lielu", "Invalid file provided" : "Norādīta nederīga datne", + "OpenDocument Text (.odt)" : "OpenDocument teksts (.odt)", "New document" : "Jauns dokuments", "New spreadsheet" : "Jauna izklājlapa", "New presentation" : "Jauna prezentācija", "Images" : "Attēli", "Office" : "Birojs", + "Instructions" : "Norādes gatavošanai", "Empty" : "Tukšs", "New" : "Jauns", + "Failed to save settings" : "Neizdevās saglabāt iestatījumus", "Setting up a new server" : "Jauna servera iestatīšana", + "Your browser has been unable to connect to the Collabora server:" : "Pārlūks nevarēja savienoties ar Collabora serveri:", "Click here for more info" : "Klikšķināt šeit, lai iegūtu vairāk informācijas", "Advanced settings" : "Paplašināti iestatījumi", "Select groups" : "Izvēlieties grupas", - "Failed to save settings" : "Neizdevās saglabāt iestatījumus", "Save" : "Saglabāt", - "Remove" : "Izņemt", + "Remove" : "Noņemt", "Confirm" : "Apstiprināt", "Cancel" : "Atcelt", "Save as" : "Saglabāt kā", + "File name" : "Datnes nosaukums", + "Create" : "Izveidot", "Submit" : "Iesniegt", "Description" : "Apraksts", "No font overview" : "Nav fonta pārskata", - "No results" : "Nav rezultātu", - "Select file" : "Izvēlēties failu", + "No results" : "Nav iznākuma", + "Select file" : "Atlasīt datni", + "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Ligzdas savienojums negaidīti aizvērās. Apvērstais starpniekserveris varētu būt nepareizi konfigurēts. Lūgums sazināties ar pārvaldītāju.", "Close" : "Aizvērt", "Edit" : "Labot", + "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Datnei tagad vajadzētu atvērties. Ja tas nenotiek, jāpārliecinās, ka sistēmā ir uzstādīts Nextcloud klients.", "Failed to revert the document to older version" : "Neizdevās atjaunot dokumentu ar vecāku versiju", "Remove from favorites" : "Noņemt no izlases", "Add to favorites" : "Pievienot izlasei", - "Details" : "Detaļas", + "Details" : "Informācija", "Download" : "Lejupielādēt", "Guest" : "Viesis", "New file" : "Jauna datne", - "Create" : "Izveidot", "Could not create file" : "Neizdevās izveidot datni", + "Show watermark on link shares with specific system tags" : "Rādīt ūdenszīmi saišu kopīgojumos, kuriem ir noteiktas sistēmas birkas", "Error" : "Kļūda", "An error occurred" : "Gadījās kļūda", "Nickname" : "Iesauka", "Saving…" : "Saglabā...", "Current version (unsaved changes)" : "Pašreizējā versija (nesaglabātas izmaiņas)", + "Open with {productName}" : "Atvērt ar {productName}", "Collabora Online" : "Collabora Online" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" } \ No newline at end of file diff --git a/l10n/mk.js b/l10n/mk.js index b60eedfc00..2fef9596c3 100644 --- a/l10n/mk.js +++ b/l10n/mk.js @@ -35,11 +35,14 @@ OC.L10N.register( "Headings" : "Заглавија", "Images" : "Слики", "Office" : "Канцеларија", + "Instructions" : "Инструкции", "Empty" : "Празно", "Anonymous guest" : "Анонимен гостин", "%s (Guest)" : "%s (Гостин)", "Edit office documents directly in your browser." : "Уредете ги документите директно во вашиот прелистувач.", "New" : "Ново", + "Contact {0} to get an own installation." : "Контактирајте го {0} за да добиете сопствена инсталација.", + "Failed to save settings" : "Неуспешно зачувување на параметрите", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online е моќна онлајн LibreOffice базирана апликација со заедничко уредување, која ги поддржува сите поголеми формати на документи, формати на датотеки со табели и презентации и работи со сите модерни прелистувачи.\n ", "Could not establish connection to the Collabora Online server." : "Не може да се воспостави конекција со Collabora Online серверот.", "Collabora Online server is reachable." : "Collabora Online серверот е достапен.", @@ -61,46 +64,34 @@ OC.L10N.register( "Restrict edit to specific groups" : "Ограничи уредување на одредени групи", "Use Canonical webroot" : "Користи Canonical webroot", "Enable access for external apps" : "Дозволи пристап за надворешни апликации", - "Extra fonts" : "Екстра фонтови", - "Upload extra font file" : "Прикачи екстра фонт датотека", "Upload a font file" : "Прикачи нов фонт", "Available fonts" : "Достапни фонтови", - "Secure view settings" : "Параметри за безбеден преглед", - "Secure view enables you to secure documents by embedding a watermark" : "Безбеден преглед ви овозможува да обезбедите документи со вметнување воден жиг", - "Enable watermarking" : "Овозможи воден печат", - "Show watermark on tagged files" : "Прикажи го водениот жиг на означени датотеки", "Select tags to enforce watermarking" : "Изберете ознаки за да се додаваат водени печати на датотеките", - "Show watermark for users of groups" : "Прикажи воден жиг за корисници на групи", - "Show watermark for all shares" : "Користи веден жиг за сите споделувања", - "Show watermark for read only shares" : "Прикажи воден жиг за споделувања кој се само за читање", - "Show watermark for all link shares" : "Користи веден жиг за сите споделувања преку линк", - "Show watermark for download hidden shares" : "Прикажи воден жиг за скриени споделувања", - "Show watermark for read only link shares" : "Прикажи воден жиг за споделувања преку линк кој се само за читање", - "Show watermark on link shares with specific system tags" : "Прикажи воден жиг за споделувања преку линк кој се озналени со системска ознака", - "Contact {0} to get an own installation." : "Контактирајте го {0} за да добиете сопствена инсталација.", - "Failed to save settings" : "Неуспешно зачувување на параметрите", "Save" : "Зачувај", "Remove" : "Отстрани ", "Submit name" : "Испрати име", "Confirm" : "Потврди", "Cancel" : "Откажи", - "Save as" : "Зачувај како", "Save As" : "Зачувај како", + "Save as" : "Зачувај како", + "Select template" : "Избери шаблон", + "File name" : "Име на датотека", + "Create" : "Креирај", "Submit" : "Испрати", - "Select a template directory" : "Избери директориум за шаблони", "Select a personal template folder" : "Избери сопствен директориум за шаблони", + "Select a template directory" : "Избери директориум за шаблони", "Remove personal template folder" : "Отстрани го директориумот за сопствени шаблони", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблоните во оваа папка ќе бидат додадени во делот за шаблони на Nextcloud Office.", "Description" : "Опис", "Add new token" : "Додади нов токен", "No results" : "Нема резултати", "Select file or folder to link to" : "Изберете датотека или папка за линк до", + "Loading {filename} …" : "Се вчитува {filename} …", + "Failed to load {productName} - please try again later" : "Неуспешно вчитување {productName} - обидете се повторно", + "Open in local editor" : "Отвори во локален уредувач", "Document loading failed" : "Неуспешно вчитување на документ", "Close" : "Затвори", "Edit" : "Уреди", - "Loading {filename} …" : "Се вчитува {filename} …", - "Open in local editor" : "Отвори во локален уредувач", - "Failed to load {productName} - please try again later" : "Неуспешно вчитување {productName} - обидете се повторно", "Close version preview" : "Затвори го погледот кон верзиите", "Edit with {productName}" : "Измени со {productName}", "Open file locally" : "Отвори ја датотеката локално", @@ -116,11 +107,20 @@ OC.L10N.register( "Guest" : "Гостин", "Follow current editor" : "Следи го моменталниот уредник", "New file" : "Нова датотека", - "Create" : "Креирај", "Could not create file" : "Не може да се креира датотека", - "Select template" : "Избери шаблон", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Зачувано со грешка: Collabora Online треба да го користи истиот протокол како инсталација на серверот.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "За користење на Collabora Online, потребно е користење на различен сервер кој работи како WOPI-клиент за да овозможи услови за уредување на датотеки.", + "Secure view settings" : "Параметри за безбеден преглед", + "Secure view enables you to secure documents by embedding a watermark" : "Безбеден преглед ви овозможува да обезбедите документи со вметнување воден жиг", + "Enable watermarking" : "Овозможи воден печат", + "Show watermark on tagged files" : "Прикажи го водениот жиг на означени датотеки", + "Show watermark for users of groups" : "Прикажи воден жиг за корисници на групи", + "Show watermark for all shares" : "Користи веден жиг за сите споделувања", + "Show watermark for read only shares" : "Прикажи воден жиг за споделувања кој се само за читање", + "Show watermark for all link shares" : "Користи веден жиг за сите споделувања преку линк", + "Show watermark for download hidden shares" : "Прикажи воден жиг за скриени споделувања", + "Show watermark for read only link shares" : "Прикажи воден жиг за споделувања преку линк кој се само за читање", + "Show watermark on link shares with specific system tags" : "Прикажи воден жиг за споделувања преку линк кој се озналени со системска ознака", "Error" : "Грешка", "An error occurred" : "Настана грешка", "Please choose your nickname to continue as guest user." : "Изберете го вашиот прекар за да продолжите како гостин.", diff --git a/l10n/mk.json b/l10n/mk.json index 2978e31db1..352af42818 100644 --- a/l10n/mk.json +++ b/l10n/mk.json @@ -33,11 +33,14 @@ "Headings" : "Заглавија", "Images" : "Слики", "Office" : "Канцеларија", + "Instructions" : "Инструкции", "Empty" : "Празно", "Anonymous guest" : "Анонимен гостин", "%s (Guest)" : "%s (Гостин)", "Edit office documents directly in your browser." : "Уредете ги документите директно во вашиот прелистувач.", "New" : "Ново", + "Contact {0} to get an own installation." : "Контактирајте го {0} за да добиете сопствена инсталација.", + "Failed to save settings" : "Неуспешно зачувување на параметрите", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online е моќна онлајн LibreOffice базирана апликација со заедничко уредување, која ги поддржува сите поголеми формати на документи, формати на датотеки со табели и презентации и работи со сите модерни прелистувачи.\n ", "Could not establish connection to the Collabora Online server." : "Не може да се воспостави конекција со Collabora Online серверот.", "Collabora Online server is reachable." : "Collabora Online серверот е достапен.", @@ -59,46 +62,34 @@ "Restrict edit to specific groups" : "Ограничи уредување на одредени групи", "Use Canonical webroot" : "Користи Canonical webroot", "Enable access for external apps" : "Дозволи пристап за надворешни апликации", - "Extra fonts" : "Екстра фонтови", - "Upload extra font file" : "Прикачи екстра фонт датотека", "Upload a font file" : "Прикачи нов фонт", "Available fonts" : "Достапни фонтови", - "Secure view settings" : "Параметри за безбеден преглед", - "Secure view enables you to secure documents by embedding a watermark" : "Безбеден преглед ви овозможува да обезбедите документи со вметнување воден жиг", - "Enable watermarking" : "Овозможи воден печат", - "Show watermark on tagged files" : "Прикажи го водениот жиг на означени датотеки", "Select tags to enforce watermarking" : "Изберете ознаки за да се додаваат водени печати на датотеките", - "Show watermark for users of groups" : "Прикажи воден жиг за корисници на групи", - "Show watermark for all shares" : "Користи веден жиг за сите споделувања", - "Show watermark for read only shares" : "Прикажи воден жиг за споделувања кој се само за читање", - "Show watermark for all link shares" : "Користи веден жиг за сите споделувања преку линк", - "Show watermark for download hidden shares" : "Прикажи воден жиг за скриени споделувања", - "Show watermark for read only link shares" : "Прикажи воден жиг за споделувања преку линк кој се само за читање", - "Show watermark on link shares with specific system tags" : "Прикажи воден жиг за споделувања преку линк кој се озналени со системска ознака", - "Contact {0} to get an own installation." : "Контактирајте го {0} за да добиете сопствена инсталација.", - "Failed to save settings" : "Неуспешно зачувување на параметрите", "Save" : "Зачувај", "Remove" : "Отстрани ", "Submit name" : "Испрати име", "Confirm" : "Потврди", "Cancel" : "Откажи", - "Save as" : "Зачувај како", "Save As" : "Зачувај како", + "Save as" : "Зачувај како", + "Select template" : "Избери шаблон", + "File name" : "Име на датотека", + "Create" : "Креирај", "Submit" : "Испрати", - "Select a template directory" : "Избери директориум за шаблони", "Select a personal template folder" : "Избери сопствен директориум за шаблони", + "Select a template directory" : "Избери директориум за шаблони", "Remove personal template folder" : "Отстрани го директориумот за сопствени шаблони", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблоните во оваа папка ќе бидат додадени во делот за шаблони на Nextcloud Office.", "Description" : "Опис", "Add new token" : "Додади нов токен", "No results" : "Нема резултати", "Select file or folder to link to" : "Изберете датотека или папка за линк до", + "Loading {filename} …" : "Се вчитува {filename} …", + "Failed to load {productName} - please try again later" : "Неуспешно вчитување {productName} - обидете се повторно", + "Open in local editor" : "Отвори во локален уредувач", "Document loading failed" : "Неуспешно вчитување на документ", "Close" : "Затвори", "Edit" : "Уреди", - "Loading {filename} …" : "Се вчитува {filename} …", - "Open in local editor" : "Отвори во локален уредувач", - "Failed to load {productName} - please try again later" : "Неуспешно вчитување {productName} - обидете се повторно", "Close version preview" : "Затвори го погледот кон верзиите", "Edit with {productName}" : "Измени со {productName}", "Open file locally" : "Отвори ја датотеката локално", @@ -114,11 +105,20 @@ "Guest" : "Гостин", "Follow current editor" : "Следи го моменталниот уредник", "New file" : "Нова датотека", - "Create" : "Креирај", "Could not create file" : "Не може да се креира датотека", - "Select template" : "Избери шаблон", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Зачувано со грешка: Collabora Online треба да го користи истиот протокол како инсталација на серверот.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "За користење на Collabora Online, потребно е користење на различен сервер кој работи како WOPI-клиент за да овозможи услови за уредување на датотеки.", + "Secure view settings" : "Параметри за безбеден преглед", + "Secure view enables you to secure documents by embedding a watermark" : "Безбеден преглед ви овозможува да обезбедите документи со вметнување воден жиг", + "Enable watermarking" : "Овозможи воден печат", + "Show watermark on tagged files" : "Прикажи го водениот жиг на означени датотеки", + "Show watermark for users of groups" : "Прикажи воден жиг за корисници на групи", + "Show watermark for all shares" : "Користи веден жиг за сите споделувања", + "Show watermark for read only shares" : "Прикажи воден жиг за споделувања кој се само за читање", + "Show watermark for all link shares" : "Користи веден жиг за сите споделувања преку линк", + "Show watermark for download hidden shares" : "Прикажи воден жиг за скриени споделувања", + "Show watermark for read only link shares" : "Прикажи воден жиг за споделувања преку линк кој се само за читање", + "Show watermark on link shares with specific system tags" : "Прикажи воден жиг за споделувања преку линк кој се озналени со системска ознака", "Error" : "Грешка", "An error occurred" : "Настана грешка", "Please choose your nickname to continue as guest user." : "Изберете го вашиот прекар за да продолжите како гостин.", diff --git a/l10n/mn.js b/l10n/mn.js index 7a4ede3531..ffb9e99b44 100644 --- a/l10n/mn.js +++ b/l10n/mn.js @@ -17,6 +17,7 @@ OC.L10N.register( "Save" : "хадгалах", "Confirm" : "Батлах", "Cancel" : "болиулах", + "Create" : "Үүсгэх", "Submit" : "мэдэгдэх", "Description" : "Тодорхойлолт", "No results" : "Үр дүн байхгүй", @@ -28,7 +29,6 @@ OC.L10N.register( "Details" : "Дэлгэрэнгүй", "Download" : "Татах", "Guest" : "Зочин", - "Create" : "Үүсгэх", "Could not create file" : "Файл үүсгэж чадсангүй", "Saved with error: Collabora Online should use the same protocol as the server installation." : "алдааг хадгалсан: Collabora Online серверийн суулгалттай ижил протоколыг ашиглах ёстой.", "Error" : "Алдаа", diff --git a/l10n/mn.json b/l10n/mn.json index 684f64e8a7..551381b47e 100644 --- a/l10n/mn.json +++ b/l10n/mn.json @@ -15,6 +15,7 @@ "Save" : "хадгалах", "Confirm" : "Батлах", "Cancel" : "болиулах", + "Create" : "Үүсгэх", "Submit" : "мэдэгдэх", "Description" : "Тодорхойлолт", "No results" : "Үр дүн байхгүй", @@ -26,7 +27,6 @@ "Details" : "Дэлгэрэнгүй", "Download" : "Татах", "Guest" : "Зочин", - "Create" : "Үүсгэх", "Could not create file" : "Файл үүсгэж чадсангүй", "Saved with error: Collabora Online should use the same protocol as the server installation." : "алдааг хадгалсан: Collabora Online серверийн суулгалттай ижил протоколыг ашиглах ёстой.", "Error" : "Алдаа", diff --git a/l10n/ms_MY.js b/l10n/ms_MY.js index 4cdf87badc..e327963d02 100644 --- a/l10n/ms_MY.js +++ b/l10n/ms_MY.js @@ -8,6 +8,7 @@ OC.L10N.register( "New" : "Baru", "Save" : "Simpan", "Cancel" : "Batal", + "Create" : "Buat", "Description" : "Keterangan", "Select file" : "Pilih fail", "Close" : "Tutup", @@ -15,7 +16,6 @@ OC.L10N.register( "Remove from favorites" : "Remove from favorites", "Add to favorites" : "Add to favorites", "Download" : "Muat turun", - "Create" : "Buat", "Error" : "Ralat", "Nickname" : "Nama Samaran" }, diff --git a/l10n/ms_MY.json b/l10n/ms_MY.json index f6a4ef0075..2aca397608 100644 --- a/l10n/ms_MY.json +++ b/l10n/ms_MY.json @@ -6,6 +6,7 @@ "New" : "Baru", "Save" : "Simpan", "Cancel" : "Batal", + "Create" : "Buat", "Description" : "Keterangan", "Select file" : "Pilih fail", "Close" : "Tutup", @@ -13,7 +14,6 @@ "Remove from favorites" : "Remove from favorites", "Add to favorites" : "Add to favorites", "Download" : "Muat turun", - "Create" : "Buat", "Error" : "Ralat", "Nickname" : "Nama Samaran" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/l10n/nb.js b/l10n/nb.js index 9cf71b313a..d212ce3aed 100644 --- a/l10n/nb.js +++ b/l10n/nb.js @@ -39,12 +39,16 @@ OC.L10N.register( "Sheets" : "Ark", "Slides" : "Lysbilder", "Office" : "Office", + "Instructions" : "Instruksjoner", "Empty" : "Tom", "Anonymous guest" : "Anonym gjest", "%s (Guest)" : "%s (gjest)", "Edit office documents directly in your browser." : "Rediger Office-dokumenter i nettleseren din.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Dette programmet kan koble til en Collabora Online (eller annen) server (WOPI-lignende klient). Nextcloud er WOPI Vert. Vennligst les dokumentasjonen for å lære mer om det.\n\nDu kan også redigere dokumentene dine frakoblet med Collabora Office-appen fra **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** og **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** butikken.", "New" : "Ny", + "Contact {0} to get an own installation." : "Kontakt {0} for å få en egen installasjon.", + "Failed to save settings" : "Klarte ikke å lagre innstillinger", + "Font format not supported ({mime})" : "Skriftformat ikke støttet ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office er en kraftig Collabora Online basert nettkontorpakke med samarbeidende redigering, som støtter alle større dokumenter, regneark og presentasjon filformater og fungerer sammen med alle moderne nettlesere.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online er en kraftig LibreOffice-basert nettkontorpakke med samarbeidende redigering, som støtter alle større dokumenter, regneark og presentasjonsfilformater og fungerer sammen med alle moderne nettlesere.", "Could not establish connection to the Collabora Online server." : "Kan ikke opprette forbindelse til Collabora Online-serveren.", @@ -102,53 +106,38 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Foretrukket nettrot (webroot) - i tilfelle Collabora kan bruke flere. Velg den med minst restriksjoner. Merk: Bruk ikke-shibbolert nettrot dersom du har flere. Du kan ignorere denne innstillingen om du kun bruker en nettrot (webroot).", "Enable access for external apps" : "Aktiver tilgang for eksterne apper", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Liste over IPV4 og IPV6 IP-adresser og subnett som har tillatelse til å utføre forespørsler fra WOPI-endepunktene. Hvis ingen tillatelsesliste er angitt, vil alle verter bli tillatt. F.eks. 10.0.0.20,10.0.4.0/24.", - "Extra fonts" : "Ekstra skrifttyper", - "Upload extra font file" : "Last opp ekstra skriftfil", "Upload a font file" : "Last opp en skriftfil", "Available fonts" : "Tilgjengelige skrifttyper", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "For ideell dokumentkompatibilitet anbefaler vi at du installerer ofte brukte skrifter. Hvis brukerne dine arbeider med Microsoft Office, kan du installere deres proprietære skrifter ved å følge dokumentasjonen.", "Custom fonts documentation" : "Dokumentasjon for egendefinerte skrifter", - "Secure view settings" : "Sikre visningsinnstillinger", - "Secure view enables you to secure documents by embedding a watermark" : "Sikker visning gjør det mulig å sikre dokumenter ved å bygge inn et vannmerke", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Innstillingene gjelder bare for kompatible office-filer som er åpnet i Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Følgende alternativer i Nextcloud Office vil være deaktivert: Kopier, Last ned, Eksporter, Skriv ut", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Filer kan fortsatt lastes ned via Nextcloud med mindre annet er begrenset gjennom delings- eller tilgangskontrollinnstillinger", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Filer kan fremdeles lastes ned via WOPI-forespørsler hvis WOPI-innstillingene ikke er riktig konfigurert", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Forhåndsvisninger vil bli blokkert for vannmerkede filer for ikke å lekke den første siden av dokumenter", - "Enable watermarking" : "Aktiver vannmerking", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Støttede plassholdere: {brukerId}, {brukervisningsnavn}, {e-post}, {dato}, {temanavn}", - "Show watermark on tagged files" : "Vis vannmerke på merkede filer", "Select tags to enforce watermarking" : "Velg tagger for å fremtvinge vannmerking", - "Show watermark for users of groups" : "Vis vannmerke for brukere av grupper", - "Show watermark for all shares" : "Vis vannmerke for alle delinger", - "Show watermark for read only shares" : "Vis vannmerke for skrivebeskyttede delinger", - "Show watermark for shares without download permission" : "Vis vannmerke for delinger uten nedlastingstillatelse", - "Show watermark for all link shares" : "Vis vannmerke for alle lenkedelinger", - "Show watermark for download hidden shares" : "Vis vannmerke for nedlasting av skjulte delinger", - "Show watermark for read only link shares" : "Vis vannmerke for skrivebeskyttede lenkedelinger", - "Show watermark on link shares with specific system tags" : "Vis vannmerke på delte koblinger med spesifikke systemtagger", - "Contact {0} to get an own installation." : "Kontakt {0} for å få en egen installasjon.", - "Failed to save settings" : "Klarte ikke å lagre innstillinger", - "Font format not supported ({mime})" : "Skriftformat ikke støttet ({mime})", "Save" : "Lagre", "Remove" : "Fjern", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Vennligst skriv inn gjestenavnet du vil bruke før du går videre til dokumentet. Hvis du ikke oppgir en, brukes standarden.", "Guest name" : "Gjestenavn", "Submit name" : "Send inn navn", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Vennligst skriv inn gjestenavnet du vil bruke før du går videre til dokumentet. Hvis du ikke oppgir en, brukes standarden.", "Confirm" : "Bekreft", "Cancel" : "Avbryt", + "Save As" : "Lagre som", "Save as" : "Lagre som", "Path to save" : "Sti for å lagre", - "Save As" : "Lagre som", + "Invalid file name" : "Ugyldig filnavn", + "Select template" : "Velg mal", + "File name" : "Filnavn", + "Create" : "Ny", + "Failed to set Zotero API key" : "Kunne ikke angi Zotero API-nøkkel", "Link to your Zotero library" : "Lenke til ditt Zotero-bibliotek", "Connect your Zotero account to make use of references within Office." : "Koble til Zotero-kontoen din for å bruke referanser i Office.", "You can generate an account key here:" : "Du kan generere en kontonøkkel her:", "Zotero account settings" : "Zotero-kontoinnstillinger", "Zotero API key" : "Zotero API-nøkkel", "Submit" : "Send inn", - "Failed to set Zotero API key" : "Kunne ikke angi Zotero API-nøkkel", - "Select a template directory" : "Velg en malkatalog", "Select a personal template folder" : "Velg en personlig malmappe", + "Select a template directory" : "Velg en malkatalog", "Remove personal template folder" : "Fjern personlig malmappe", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Maler inne i denne katalogen vil bli lagt til malvelgeren til Nextcloud Office.", "Zotero" : "Zotero", @@ -162,22 +151,22 @@ OC.L10N.register( "No font overview" : "Ingen skriftoversikt", "Delete this font" : "Slett denne skrifttypen", "No results" : "Ingen resultater", + "Select file" : "Velg fil", "Select file or folder to link to" : "Velg fil eller mappe å koble til", "Could not find any section in the document" : "Kunne ikke finne noen seksjon i dokumentet", - "Select file" : "Velg fil", + "{productName} is not configured" : "{productName} er ikke konfigurert", + "Starting the built-in CODE server failed" : "Oppstart av den innebygde CODE-serveren mislyktes", + "Loading {filename} …" : "Laster {filename}…", + "Failed to load {productName} - please try again later" : "Kunne ikke laste {productName} - vennligst forsøk igjen senere", + "Open in local editor" : "Åpne i lokalt redigeringsprogram", + "Cluster is scaling …" : "Klyngen skaleres...", + "The collaborative editing was terminated by another user" : "Samarbeidsredigeringen ble avsluttet av en annen bruker", "Document loading failed" : "Lasting av dokument feilet", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Vennligst sjekk Collabora Online-serverloggen for mer informasjon og sørg for at Nextcloud kan nås derfra.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket-tilkoblingen lukket uventet. Den omvendte proxyen kan være feilkonfigurert, vennligst kontakt administratoren.", "More information can be found in the reverse proxy documentation" : "Mer informasjon finner du i omvendt proxy-dokumentasjonen", "Close" : "Lukk", "Edit" : "Rediger", - "Starting the built-in CODE server failed" : "Oppstart av den innebygde CODE-serveren mislyktes", - "Loading {filename} …" : "Laster {filename}…", - "Open in local editor" : "Åpne i lokalt redigeringsprogram", - "Cluster is scaling …" : "Klyngen skaleres...", - "The collaborative editing was terminated by another user" : "Samarbeidsredigeringen ble avsluttet av en annen bruker", - "Failed to load {productName} - please try again later" : "Kunne ikke laste {productName} - vennligst forsøk igjen senere", - "{productName} is not configured" : "{productName} er ikke konfigurert", "Built-in CODE Server is starting up shortly, please wait." : "Innebygd CODE Server starter opp snart, vennligst vent.", "Built-in CODE Server is restarting, please wait." : "Innebygd CODE Server starter på nytt, vennligst vent.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Feil: kan ikke finne AppImage, vennligst installer den innebygde Collabora Online-serveren på nytt.", @@ -208,15 +197,23 @@ OC.L10N.register( "Follow current editor" : "Følg nåværende redigeringsprogram", "New file" : "Ny fil", "Please enter the filename for the new file" : "Vennligst skriv inn filnavnet for den nye filen", - "Create" : "Ny", - "New drawing" : "Ny tegning", "Could not create file" : "Klarte ikke å opprette fil", - "Select template" : "Velg mal", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Lagret med feil: Collabora Online bør bruke samme protokoll som serverinstallasjonen.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Kan ikke opprette forbindelse til Collabora Online-serveren. Dette kan skyldes en manglende konfigurasjon av webserveren din. For mer informasjon, vennligst besøk: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office krever en separat server som kjører Collabora Online for å gi redigeringsmuligheter.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online krever en separat server som fungerer som en WOPI-lignende klient for å gi redigeringsmuligheter.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Alle brukere kan redigere dokumenter med {productName} som standard. Når denne innstillingen er aktiv, kan bare medlemmene av de angitte gruppene redigere, mens de andre bare kan se dokumenter.", + "Secure view settings" : "Sikre visningsinnstillinger", + "Secure view enables you to secure documents by embedding a watermark" : "Sikker visning gjør det mulig å sikre dokumenter ved å bygge inn et vannmerke", + "Enable watermarking" : "Aktiver vannmerking", + "Show watermark on tagged files" : "Vis vannmerke på merkede filer", + "Show watermark for users of groups" : "Vis vannmerke for brukere av grupper", + "Show watermark for all shares" : "Vis vannmerke for alle delinger", + "Show watermark for read only shares" : "Vis vannmerke for skrivebeskyttede delinger", + "Show watermark for all link shares" : "Vis vannmerke for alle lenkedelinger", + "Show watermark for download hidden shares" : "Vis vannmerke for nedlasting av skjulte delinger", + "Show watermark for read only link shares" : "Vis vannmerke for skrivebeskyttede lenkedelinger", + "Show watermark on link shares with specific system tags" : "Vis vannmerke på delte koblinger med spesifikke systemtagger", "Error" : "Feil", "An error occurred" : "En feil oppsto", "Please choose your nickname to continue as guest user." : "Vennligst velg et kallenavn for å fortsette som gjestebruker.", @@ -237,6 +234,10 @@ OC.L10N.register( "No templates defined." : "Ingen maler definert.", "Add a new one?" : "Legg til en ny?", "template preview" : "forhåndsvisning av mal", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Filer kan fortsatt lastes ned via Nextcloud med mindre annet er begrenset gjennom delings- eller tilgangskontrollinnstillinger", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Forhåndsvisninger vil bli blokkert for vannmerkede filer for ikke å lekke den første siden av dokumenter", + "Show watermark for shares without download permission" : "Vis vannmerke for delinger uten nedlastingstillatelse", + "New drawing" : "Ny tegning", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokumentet finnes allerede", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online er aktivert for alle brukere som standard. Når denne innstillingen er aktiv, kan bare medlemmer av de angitte gruppene bruke den.", diff --git a/l10n/nb.json b/l10n/nb.json index 7cf6a8b25c..9f4db52e00 100644 --- a/l10n/nb.json +++ b/l10n/nb.json @@ -37,12 +37,16 @@ "Sheets" : "Ark", "Slides" : "Lysbilder", "Office" : "Office", + "Instructions" : "Instruksjoner", "Empty" : "Tom", "Anonymous guest" : "Anonym gjest", "%s (Guest)" : "%s (gjest)", "Edit office documents directly in your browser." : "Rediger Office-dokumenter i nettleseren din.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Dette programmet kan koble til en Collabora Online (eller annen) server (WOPI-lignende klient). Nextcloud er WOPI Vert. Vennligst les dokumentasjonen for å lære mer om det.\n\nDu kan også redigere dokumentene dine frakoblet med Collabora Office-appen fra **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** og **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** butikken.", "New" : "Ny", + "Contact {0} to get an own installation." : "Kontakt {0} for å få en egen installasjon.", + "Failed to save settings" : "Klarte ikke å lagre innstillinger", + "Font format not supported ({mime})" : "Skriftformat ikke støttet ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office er en kraftig Collabora Online basert nettkontorpakke med samarbeidende redigering, som støtter alle større dokumenter, regneark og presentasjon filformater og fungerer sammen med alle moderne nettlesere.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online er en kraftig LibreOffice-basert nettkontorpakke med samarbeidende redigering, som støtter alle større dokumenter, regneark og presentasjonsfilformater og fungerer sammen med alle moderne nettlesere.", "Could not establish connection to the Collabora Online server." : "Kan ikke opprette forbindelse til Collabora Online-serveren.", @@ -100,53 +104,38 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Foretrukket nettrot (webroot) - i tilfelle Collabora kan bruke flere. Velg den med minst restriksjoner. Merk: Bruk ikke-shibbolert nettrot dersom du har flere. Du kan ignorere denne innstillingen om du kun bruker en nettrot (webroot).", "Enable access for external apps" : "Aktiver tilgang for eksterne apper", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Liste over IPV4 og IPV6 IP-adresser og subnett som har tillatelse til å utføre forespørsler fra WOPI-endepunktene. Hvis ingen tillatelsesliste er angitt, vil alle verter bli tillatt. F.eks. 10.0.0.20,10.0.4.0/24.", - "Extra fonts" : "Ekstra skrifttyper", - "Upload extra font file" : "Last opp ekstra skriftfil", "Upload a font file" : "Last opp en skriftfil", "Available fonts" : "Tilgjengelige skrifttyper", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "For ideell dokumentkompatibilitet anbefaler vi at du installerer ofte brukte skrifter. Hvis brukerne dine arbeider med Microsoft Office, kan du installere deres proprietære skrifter ved å følge dokumentasjonen.", "Custom fonts documentation" : "Dokumentasjon for egendefinerte skrifter", - "Secure view settings" : "Sikre visningsinnstillinger", - "Secure view enables you to secure documents by embedding a watermark" : "Sikker visning gjør det mulig å sikre dokumenter ved å bygge inn et vannmerke", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Innstillingene gjelder bare for kompatible office-filer som er åpnet i Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Følgende alternativer i Nextcloud Office vil være deaktivert: Kopier, Last ned, Eksporter, Skriv ut", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Filer kan fortsatt lastes ned via Nextcloud med mindre annet er begrenset gjennom delings- eller tilgangskontrollinnstillinger", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Filer kan fremdeles lastes ned via WOPI-forespørsler hvis WOPI-innstillingene ikke er riktig konfigurert", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Forhåndsvisninger vil bli blokkert for vannmerkede filer for ikke å lekke den første siden av dokumenter", - "Enable watermarking" : "Aktiver vannmerking", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Støttede plassholdere: {brukerId}, {brukervisningsnavn}, {e-post}, {dato}, {temanavn}", - "Show watermark on tagged files" : "Vis vannmerke på merkede filer", "Select tags to enforce watermarking" : "Velg tagger for å fremtvinge vannmerking", - "Show watermark for users of groups" : "Vis vannmerke for brukere av grupper", - "Show watermark for all shares" : "Vis vannmerke for alle delinger", - "Show watermark for read only shares" : "Vis vannmerke for skrivebeskyttede delinger", - "Show watermark for shares without download permission" : "Vis vannmerke for delinger uten nedlastingstillatelse", - "Show watermark for all link shares" : "Vis vannmerke for alle lenkedelinger", - "Show watermark for download hidden shares" : "Vis vannmerke for nedlasting av skjulte delinger", - "Show watermark for read only link shares" : "Vis vannmerke for skrivebeskyttede lenkedelinger", - "Show watermark on link shares with specific system tags" : "Vis vannmerke på delte koblinger med spesifikke systemtagger", - "Contact {0} to get an own installation." : "Kontakt {0} for å få en egen installasjon.", - "Failed to save settings" : "Klarte ikke å lagre innstillinger", - "Font format not supported ({mime})" : "Skriftformat ikke støttet ({mime})", "Save" : "Lagre", "Remove" : "Fjern", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Vennligst skriv inn gjestenavnet du vil bruke før du går videre til dokumentet. Hvis du ikke oppgir en, brukes standarden.", "Guest name" : "Gjestenavn", "Submit name" : "Send inn navn", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Vennligst skriv inn gjestenavnet du vil bruke før du går videre til dokumentet. Hvis du ikke oppgir en, brukes standarden.", "Confirm" : "Bekreft", "Cancel" : "Avbryt", + "Save As" : "Lagre som", "Save as" : "Lagre som", "Path to save" : "Sti for å lagre", - "Save As" : "Lagre som", + "Invalid file name" : "Ugyldig filnavn", + "Select template" : "Velg mal", + "File name" : "Filnavn", + "Create" : "Ny", + "Failed to set Zotero API key" : "Kunne ikke angi Zotero API-nøkkel", "Link to your Zotero library" : "Lenke til ditt Zotero-bibliotek", "Connect your Zotero account to make use of references within Office." : "Koble til Zotero-kontoen din for å bruke referanser i Office.", "You can generate an account key here:" : "Du kan generere en kontonøkkel her:", "Zotero account settings" : "Zotero-kontoinnstillinger", "Zotero API key" : "Zotero API-nøkkel", "Submit" : "Send inn", - "Failed to set Zotero API key" : "Kunne ikke angi Zotero API-nøkkel", - "Select a template directory" : "Velg en malkatalog", "Select a personal template folder" : "Velg en personlig malmappe", + "Select a template directory" : "Velg en malkatalog", "Remove personal template folder" : "Fjern personlig malmappe", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Maler inne i denne katalogen vil bli lagt til malvelgeren til Nextcloud Office.", "Zotero" : "Zotero", @@ -160,22 +149,22 @@ "No font overview" : "Ingen skriftoversikt", "Delete this font" : "Slett denne skrifttypen", "No results" : "Ingen resultater", + "Select file" : "Velg fil", "Select file or folder to link to" : "Velg fil eller mappe å koble til", "Could not find any section in the document" : "Kunne ikke finne noen seksjon i dokumentet", - "Select file" : "Velg fil", + "{productName} is not configured" : "{productName} er ikke konfigurert", + "Starting the built-in CODE server failed" : "Oppstart av den innebygde CODE-serveren mislyktes", + "Loading {filename} …" : "Laster {filename}…", + "Failed to load {productName} - please try again later" : "Kunne ikke laste {productName} - vennligst forsøk igjen senere", + "Open in local editor" : "Åpne i lokalt redigeringsprogram", + "Cluster is scaling …" : "Klyngen skaleres...", + "The collaborative editing was terminated by another user" : "Samarbeidsredigeringen ble avsluttet av en annen bruker", "Document loading failed" : "Lasting av dokument feilet", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Vennligst sjekk Collabora Online-serverloggen for mer informasjon og sørg for at Nextcloud kan nås derfra.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socket-tilkoblingen lukket uventet. Den omvendte proxyen kan være feilkonfigurert, vennligst kontakt administratoren.", "More information can be found in the reverse proxy documentation" : "Mer informasjon finner du i omvendt proxy-dokumentasjonen", "Close" : "Lukk", "Edit" : "Rediger", - "Starting the built-in CODE server failed" : "Oppstart av den innebygde CODE-serveren mislyktes", - "Loading {filename} …" : "Laster {filename}…", - "Open in local editor" : "Åpne i lokalt redigeringsprogram", - "Cluster is scaling …" : "Klyngen skaleres...", - "The collaborative editing was terminated by another user" : "Samarbeidsredigeringen ble avsluttet av en annen bruker", - "Failed to load {productName} - please try again later" : "Kunne ikke laste {productName} - vennligst forsøk igjen senere", - "{productName} is not configured" : "{productName} er ikke konfigurert", "Built-in CODE Server is starting up shortly, please wait." : "Innebygd CODE Server starter opp snart, vennligst vent.", "Built-in CODE Server is restarting, please wait." : "Innebygd CODE Server starter på nytt, vennligst vent.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Feil: kan ikke finne AppImage, vennligst installer den innebygde Collabora Online-serveren på nytt.", @@ -206,15 +195,23 @@ "Follow current editor" : "Følg nåværende redigeringsprogram", "New file" : "Ny fil", "Please enter the filename for the new file" : "Vennligst skriv inn filnavnet for den nye filen", - "Create" : "Ny", - "New drawing" : "Ny tegning", "Could not create file" : "Klarte ikke å opprette fil", - "Select template" : "Velg mal", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Lagret med feil: Collabora Online bør bruke samme protokoll som serverinstallasjonen.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Kan ikke opprette forbindelse til Collabora Online-serveren. Dette kan skyldes en manglende konfigurasjon av webserveren din. For mer informasjon, vennligst besøk: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office krever en separat server som kjører Collabora Online for å gi redigeringsmuligheter.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online krever en separat server som fungerer som en WOPI-lignende klient for å gi redigeringsmuligheter.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Alle brukere kan redigere dokumenter med {productName} som standard. Når denne innstillingen er aktiv, kan bare medlemmene av de angitte gruppene redigere, mens de andre bare kan se dokumenter.", + "Secure view settings" : "Sikre visningsinnstillinger", + "Secure view enables you to secure documents by embedding a watermark" : "Sikker visning gjør det mulig å sikre dokumenter ved å bygge inn et vannmerke", + "Enable watermarking" : "Aktiver vannmerking", + "Show watermark on tagged files" : "Vis vannmerke på merkede filer", + "Show watermark for users of groups" : "Vis vannmerke for brukere av grupper", + "Show watermark for all shares" : "Vis vannmerke for alle delinger", + "Show watermark for read only shares" : "Vis vannmerke for skrivebeskyttede delinger", + "Show watermark for all link shares" : "Vis vannmerke for alle lenkedelinger", + "Show watermark for download hidden shares" : "Vis vannmerke for nedlasting av skjulte delinger", + "Show watermark for read only link shares" : "Vis vannmerke for skrivebeskyttede lenkedelinger", + "Show watermark on link shares with specific system tags" : "Vis vannmerke på delte koblinger med spesifikke systemtagger", "Error" : "Feil", "An error occurred" : "En feil oppsto", "Please choose your nickname to continue as guest user." : "Vennligst velg et kallenavn for å fortsette som gjestebruker.", @@ -235,6 +232,10 @@ "No templates defined." : "Ingen maler definert.", "Add a new one?" : "Legg til en ny?", "template preview" : "forhåndsvisning av mal", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Filer kan fortsatt lastes ned via Nextcloud med mindre annet er begrenset gjennom delings- eller tilgangskontrollinnstillinger", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Forhåndsvisninger vil bli blokkert for vannmerkede filer for ikke å lekke den første siden av dokumenter", + "Show watermark for shares without download permission" : "Vis vannmerke for delinger uten nedlastingstillatelse", + "New drawing" : "Ny tegning", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokumentet finnes allerede", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online er aktivert for alle brukere som standard. Når denne innstillingen er aktiv, kan bare medlemmer av de angitte gruppene bruke den.", diff --git a/l10n/nl.js b/l10n/nl.js index 309959142e..da85ecf230 100644 --- a/l10n/nl.js +++ b/l10n/nl.js @@ -1,19 +1,20 @@ OC.L10N.register( "richdocuments", { + "No files found for this task." : "Geen bestanden gevonden voor deze taak.", "Cannot create document" : "Kan document niet creëren", "New Document.odt" : "Nieuw Document.odt", - "New Spreadsheet.ods" : "Nieuw werkblad.ods", - "New Presentation.odp" : "Nieuw presentatie.odp", + "New Spreadsheet.ods" : "Nieuw Werkblad.ods", + "New Presentation.odp" : "Nieuw Presentatie.odp", "New Document.docx" : "Nieuw Document.docx", - "New Spreadsheet.xlsx" : "Nieuw werkblad.xlsx", - "New Presentation.pptx" : "Nieuwe presentatie.pptx", + "New Spreadsheet.xlsx" : "Nieuw Werkblad.xlsx", + "New Presentation.pptx" : "Nieuwe Presentatie.pptx", "File already exists" : "Bestand bestaat al", "Not allowed to create document" : "Niet toegestaan om document te creëren", "Saved" : "Bewaard", "Invalid config key" : "Ongeldige config sleutel", "Error when saving" : "Fout bij opslaan", - "The file was uploaded" : "Het bestand werd geüpload", + "The file was uploaded" : "Het bestand is geüpload", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Het geüploade bestand overschrijdt de upload_max_filesize optie in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Het geüploade bestand overschrijdt de MAX_FILE_SIZE waarde die is opgegeven in het HTML formulier", "The file was only partially uploaded" : "Het bestand is slechts gedeeltelijk geüpload", @@ -22,32 +23,68 @@ OC.L10N.register( "Could not write file to disk" : "Kon bestand niet naar schijf schrijven", "A PHP extension stopped the file upload" : "Een PHP-extensie blokkeerde de upload.", "No file uploaded or file size exceeds maximum of %s" : "Geen bestand geüpload of de grootte is meer dan het maximum van %s", + "Failed to upload the file" : "Het bestand kon niet worden geüpload", "File is too big" : "Bestand te groot", "Only template files can be uploaded" : "Er kunnen alleen sjabloonbestanden worden geüploaded", "Invalid file provided" : "Ongeldig bestand aangeleverd", "Template not found" : "Sjabloon niet gevonden", + "Unable to determine the proper file extension for %1$s" : "De juiste bestandsextensie voor %1$s kan niet worden bepaald", + "Unable to fetch information on %1$s" : "Kan geen informatie ophalen over %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Plaatje (.png)", + "Image (.svg)" : "Plaatje (.svg)", + "Text (.rtf)" : "Tekst (.rtf)", + "Text (.txt)" : "Tekst (.txt)", + "Word Document (.docx)" : "Word document (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument tekst (.odt)", + "Excel Workbook (.xlsx)" : "Excel werkblad (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument werkblad (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint presentatie (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument presentatie (.odp)", "New document" : "Nieuw document", "New spreadsheet" : "Nieuw werkblad", "New presentation" : "Nieuwe presentatie", "New diagram" : "Nieuw diagram", + "{user} has mentioned you in {node}" : "{user} heeft u genoemd in {node}", + "Link to office document section" : "Link naar sectie kantoordocumenten", "Nextcloud Office" : "Nextcloud Office", "Headings" : "Kopstijlen", + "Sections" : "Paragrafen", "Images" : "Afbeeldingen", + "Sheets" : "Werkbladen", + "Slides" : "Presentaties", "Office" : "Office", + "Instructions" : "Instructies", "Empty" : "Leeg", "Anonymous guest" : "Anonieme gast", "%s (Guest)" : "%s (Gast)", "Edit office documents directly in your browser." : "Bewerk kantoorbestanden rechtstreeks in je browser.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Deze applicatie kan verbinding maken met een Collabora Online (of andere) server (WOPI-achtige client). Nextcloud is de WOPI-host. Lees de documentatie voor meer informatie hierover\n\nJe kunt je documenten ook offline bewerken met de Collabora Office-app vanuit de ** [Android] (https://play.google.com/store/apps/details?id=com.collabora.libreoffice) ** en * * [iOS] (https://apps.apple.com/us/app/collabora-office/id1440482071) ** appstore.", + "Uploaded template \"{name}\"" : "Sjabloon “{name}” geüpload ", + "Template \"{name}\" already exists" : "Sjabloon “{name}” bestaat al", + "Unable to delete template" : "Sjabloon kan niet worden verwijderd", + "Deleted template" : "Verwijderd sjabloon", + "Global Templates" : "Algemene sjablonen", "New" : "Nieuw", - "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office is een krachtige op Collabora Online gebaseerde online kantoorsuite met gezamenlijke bewerking, die alle belangrijke documenten, spreadsheets- en presentatiebestandsindelingen ondersteunt en werkt met alle moderne browsers.", - "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online is een krachtige op LibreOffice gebaseerde online office suite met de mogelijkheid van gelijktijdig samen bewerken van de meest voorkomende bestandsformaten voor documenten, spreadsheets en presentaties en werkt met de meeste moderne browsers.", + "Contact {0} to get an own installation." : "Neem contact op met {0} om een eigen installatie te krijgen.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Zorg ervoor dat u deze URL: {url} instelt in het coolwsd.xml bestand van uw Collabora Online server om ervoor te zorgen dat de toegevoegde lettertypen automatisch worden geladen. Let op: http\\:// werkt alleen voor debug builds van Collabora Online. In productie moet je https\\:// gebruiken voor remote font configuratie. ", + "Failed to save settings" : "Instellingen konden niet worden opgeslagen", + "Font format not supported ({mime})" : "Lettertypeindeling niet ondersteund ({mime})", + "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office is een krachtig, op Collabora Online gebaseerd online kantoorpakket met de mogelijkheid om gezamelijk te bewerken, dat alle belangrijke bestandsformaten voor documenten, spreadsheets en presentaties ondersteunt en samenwerkt met alle moderne browsers. ", + "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online is een krachtig, op LibreOffice gebaseerd online kantoorpakket met de mogelijkheid om gezamelijk te bewerken, dat alle belangrijke bestandsformaten voor documenten, spreadsheets en presentaties ondersteunt en samenwerkt met alle moderne browsers.", "Could not establish connection to the Collabora Online server." : "Kon niet verbinden met de Collabora Online server.", + "This might be due to a missing configuration of your web server. For more information, please visit: " : "Dit kan worden veroorzaakt door een ontbrekende instelling op uw webserver. Ga voor meer informatie naar: ", "Connecting Collabora Online Single Click with Nginx" : "Collabora Online Single Click verbinden met Nginx", "Setting up a new server" : "Nieuwe server inrichten", "Collabora Online should use the same protocol as the server installation." : "Collabora Online moet hetzelfde protocol gebruiken als de server installatie.", + "Your browser has been unable to connect to the Collabora server:" : "Uw browser heeft geen verbinding kunnen maken met de Collabora server:", + "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Deze URL wordt bepaald op de Collabora server aan de hand van de geconfigureerde URL of de server_name parameter in coolwsd.xml.", "Collabora Online server is reachable." : "Collabora Online server is bereikbaar.", + "URL used by the browser:" : "URL die door de browser wordt gebruikt:", + "Nextcloud URL used by Collabora:" : "Nextcloud URL gebruikt door Collabora:", "Please configure a Collabora Online server to start editing documents" : "Configureer een Collabora Online server om documenten te bewerken", + "You have not configured the allow-list for WOPI requests. Without this setting users may download restricted files via WOPI requests to the Nextcloud server." : "U hebt de toestaan-lijst voor WOPI-verzoeken niet geconfigureerd. Zonder deze instelling kunnen gebruikers beperkte bestanden downloaden via WOPI-verzoeken naar de Nextcloud-server.", + "Click here for more info" : "Klik hier voor meer informatie", "Use your own server" : "Gebruik je eigen server", "Nextcloud Office requires a separate server running Collabora Online to provide editing capabilities." : "Nextcloud Office vereist een aparte server waarop Collabora Online draait om bewerkingsmogelijkheden te bieden.", "Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online vereist een aparte server die fungeert als een WOPI-achtige client om bewerkingsmogelijkheden te bieden.", @@ -56,12 +93,12 @@ OC.L10N.register( "Enable if your Collabora Online server uses a self signed certificate" : "Inschakelen als je Collabora Online server self-signed certificaten gebruikt", "Use the built-in CODE - Collabora Online Development Edition" : "Gebruik de ingebouwde CODE - Collabora Online Development Edition", "Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Eenvoudig te installeren, voor thuisgebruik of kleine teams. Iets langzamer dan een standalone server en geen geavanceerde schaalbaarheidsopties.", - "This installation does not have a built in server." : "Deze installatie heeft geen ingebouwde server", + "This installation does not have a built in server." : "Deze installatie heeft geen ingebouwde server.", "Install it from the App Store." : "Installeer vanuit de App Store.", "If the installation from the App Store fails, you can still do that manually using this command:" : "Als de installatie vanuit de App Store mislukt, kun je dat nog steeds handmatig doen met deze opdracht:", "Use a demo server" : "Gebruik een demo server", "You can use a demo server provided by Collabora and other service providers for giving Collabora Online a try." : "Je kunt een door Collabora en andere service providers geleverde demo server proberen om Collabora Online te testen.", - "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Je Nextcloud kan niet verbinden met de demo servers want:", + "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Je Nextcloud-installatie is niet in staat om verbinding te maken met de demoservers omdat:", "it is a local setup (localhost)" : "het is een lokale inrichting (localhost)", "it uses an insecure protocol (HTTP)" : "het gebruikt een onveilig protocol (HTTP)", "it is unreachable from the internet (possibly because of a firewall, or lack of port forwarding)" : "het is niet bereikbaar vanaf het internet (mogelijk vanwege een firewall of het ontbreken van port forwarding)", @@ -90,44 +127,84 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroot, als er meerdere zijn, die Collabora moet gebruiken. Geef de webroot met de minste beperkingen op. Bijv: gebruik non-shibbolized webroot als deze server zowel door shibbolized als non-shibbolized webroots wordt benaderd. Je kunt deze instelling negeren als er maar één webroot wordt gebruikt om deze server te benaderen.", "Enable access for external apps" : "Toegang vanuit externe apps toestaan", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lijst met IPV4- en IPV6 IP-adressen en subnetten die verzoeken van de WOPI-eindpunten mogen uitvoeren. Als er geen toelatingslijst is opgegeven, zijn alle hosts toegestaan. bijv. 10.0.0.20,10.0.4.0/24", - "Secure view settings" : "Veilig bekijken instellingen", - "Secure view enables you to secure documents by embedding a watermark" : "Beveiligd kijken laat je documenten beveiligen door een watermerk toe te voegen ", - "Enable watermarking" : "Inschakelen watermerken", + "Custom Fonts" : "Aangepaste lettertypen", + "Upload font file" : "Lettertypebestand uploaden", + "Upload a font file" : "Een lettertypebestand uploaden", + "Available fonts" : "Beschikbare lettertypen", + "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Voor een optimale documentcompatibiliteit raden we u aan om veelgebruikte lettertypen te installeren. Wanneer uw gebruikers met Microsoft Office werken, kunt u hun eigen lettertypes installeren door de documentatie te volgen. ", + "Custom fonts documentation" : "Documentatie aangepaste lettertypen", + "Secure View" : "Beveiligde weergave", + "The settings only apply to compatible office files that are opened in Nextcloud Office" : "De instellingen zijn alleen van toepassing op compatibele Office-bestanden die worden geopend in Nextcloud Office", + "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "De volgende mogelijkheden binnen Nextcloud Office worden uitgeschakeld: Kopiëren, Downloaden, Exporteren, Afdrukken", + "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Bestanden kunnen nog steeds worden gedownload via WOPI-verzoeken als de WOPI-instellingen niet correct zijn geconfigureerd", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Ondersteunde aanduidingen: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Toon watermerk voor gemarkeerde bestanden", "Select tags to enforce watermarking" : "Selecteer markering om watermerken af te dwingen", - "Show watermark for users of groups" : "Toon watermerk voor gebruikers of groepen", - "Show watermark for all shares" : "Toon watermerk voor alle shares", - "Show watermark for read only shares" : "Toon watermerk voor alleen-lezen shares", - "Show watermark for all link shares" : "Toon watermerk voor alle deellinks", - "Show watermark for download hidden shares" : "Toon watermerk om verborgen shared te donwloaden", - "Show watermark for read only link shares" : "Toon watermerk voor alleen-lezen deellinks", - "Show watermark on link shares with specific system tags" : "Toon watermerk op deellinks met specifieke systeemtags", - "Contact {0} to get an own installation." : "Neem contact op met {0} om een eigen installatie te krijgen.", - "Failed to save settings" : "Kon instellingen niet opslaan", + "Electronic Signature" : "Elektronische handtekening", + "Client ID for the electronic signature API" : "Klant-ID voor de elektronische handtekeningen API", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Vul het registratieformulier in op https://eideasy.com/signup om een klant-ID en klant-geheim te verkrijgen.", + "Secret for the electronic signature API" : "Geheim voor de API voor elektronische handtekeningen", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Het geheim kan via WOPI-verzoeken worden gedownload als de WOPI-toestemmingslijst niet correct is geconfigureerd.", "Save" : "Opslaan", "Remove" : "Verwijderen", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Voer de gastnaam in die u wenst te gebruiken voordat u verdergaat naar het document. Wanneer u geen naam opgeeft, wordt de standaardnaam gebruikt.", + "Guest name" : "Gast naam", "Submit name" : "Naam doorgeven", "Confirm" : "Bevestigen", "Cancel" : "Annuleren", "Save As" : "Opslaan als", + "Save as" : "Opslaan als", + "Path to save" : "Pad om op te slaan", + "Select template" : "Selecteer sjabloon", + "File name" : "Bestandsnaam", + "Create" : "Aanmaken", + "Failed to set Zotero API key" : "Instellen van Zotero API-sleutel mislukt", + "Link to your Zotero library" : "Koppeling naar uw Zotero-bibliotheek", + "Connect your Zotero account to make use of references within Office." : "Koppel uw Zotero-account om gebruik te maken van referenties binnen Office.", + "You can generate an account key here:" : "U kunt hier een accountsleutel aanmaken:", + "Zotero account settings" : "Zotero accountinstellingen", + "Zotero API key" : "Zotero API-sleutel", "Submit" : "Verwerken", - "Select a template directory" : "Selecteer een sjablonendirectory", "Select a personal template folder" : "Selecteer een persoonlijke sjablonenmap", + "Settings saved successfully." : "Instellingen opgeslagen.", + "Failed to save settings." : "Opslaan van instellingen mislukt.", + "Unexpected error occurred." : "Onverwachte fout opgetreden.", + "Personal Settings for Nextcloud Office" : "Persoonlijke instellingen voor Nextcloud Office", + "Select a template directory" : "Selecteer een sjablonenmap", "Remove personal template folder" : "Verwijder de persoonlijke sjablonenmap", - "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Sjablonen in deze directory worden toegevoegd aan de Nextcloud Office sjablonenkiezer.", + "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Sjablonen in deze map worden toegevoegd aan de sjabloonkiezer van Nextcloud Office.", + "Zotero" : "Zotero", + "Enter Zotero API Key" : "Voer Zotero API-sleutel in", + "Remove Zotero API Key" : "Verwijder Zotero API-sleutel", + "To use Zotero specify your API key here. You can create your API key in your" : "Om Zotero te gebruiken moet u hier uw API-sleutel opgeven. U kunt uw API-sleutel aanmaken in uw", + "Zotero account API settings." : "API-instellingen voor Zotero-account.", + "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Dit systeem ondersteunt Zotero niet, omdat de functie ontbreekt of is uitgeschakeld. Neem contact op met uw beheerder.", + "Document signing" : "Document ondertekenen", + "Enter document signing cert (in PEM format)" : "Document ondertekeningscertificaat invoeren (in PEM-formaat)", + "Enter document signing key" : "Document ondertekeningssleutel invoeren", + "Enter document signing CA chain" : "CA-keten voor ondertekening van documenten invoeren", + "To use document signing, specify your signing certificate, key and CA chain here." : "Om het ondertekenen van documenten te gebruiken, moet u hier uw ondertekeningscertificaat, sleutel en CA-keten opgeven.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Dit systeem ondersteunt het ondertekenen van documenten niet, omdat de functie ontbreekt of is uitgeschakeld. Neem contact op met de beheerder.", "Description" : "Omschrijving", "Add new token" : "Nieuw token toevoegen", + "No font overview" : "Geen lettertypeoverzicht", + "Delete this font" : "Dit lettertype verwijderen", "No results" : "Geen resultaten", - "Select file or folder to link to" : "Selecteer een bestand of map om naar te linken", "Select file" : "Selecteer bestand", - "Document loading failed" : "Document laden mislukt", - "Close" : "Sluit", - "Edit" : "Bewerken", + "Select file or folder to link to" : "Selecteer een bestand of map om naar te linken", + "Could not find any section in the document" : "Kon geen enkele sectie in het document vinden", + "{productName} is not configured" : "{productName} is niet geconfigureerd", "Starting the built-in CODE server failed" : "Het starten van de ingebouwde CODE-server is mislukt", "Loading {filename} …" : "{filename} laden ...", "Failed to load {productName} - please try again later" : "Kon {productName} niet laden - probeer het later opnieuw", - "{productName} is not configured" : "{productName} is niet geconfigureerd", + "Open in local editor" : "Openen in lokale editor", + "Cluster is scaling …" : "Cluster is aan het schalen ...", + "The collaborative editing was terminated by another user" : "De gezamenlijke bewerking is beëindigd door een andere gebruiker", + "Document loading failed" : "Document laden mislukt", + "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "ontroleer het logboek van de Collabora Online server voor meer details en zorg ervoor dat Nextcloud vanaf daar bereikbaar is.", + "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socketverbinding onverwacht gesloten. De reverse proxy is misschien verkeerd geconfigureerd, neem contact op met de beheerder.", + "More information can be found in the reverse proxy documentation" : "Meer informatie is te vinden in de documentatie over Reverse Proxy", + "Close" : "Sluiten", + "Edit" : "Bewerken", "Built-in CODE Server is starting up shortly, please wait." : "Ingebouwde CODE Server start zo op, even geduld.", "Built-in CODE Server is restarting, please wait." : "Ingebouwde CODE Server start op, even geduld.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Fout: Kan de AppImage niet vinden, her-installeer de ingebouwde Collabora Online server.", @@ -137,10 +214,20 @@ OC.L10N.register( "Error: The fontconfig library is not installed on your server, please install it or setup a standalone server." : "Fout: De fontconfig-bibliotheek is niet geïnstalleerd op je server, installeren of stel een aparte server in.", "Error: Not running on glibc-based Linux, please setup a standalone server." : "Fout: Draait niet op een glibc-gebaseerde Linux, installeer een standalone server.", "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Fout: Kan de ingebouwde Collabora Online server niet starten, stel een stand-alone server in.", - "Close version preview" : "Sluiten voorbeeldversie", + "Close version preview" : "Versievoorvertoning sluiten", "Edit with {productName}" : "Bewerken met {productName}", + "Insert into document" : "Invoegen in document", + "Open file locally" : "Bestand lokaal openen", + "When opening a file locally, the document will close for all users currently viewing the document." : "Wanneer u een bestand lokaal opent, wordt het document gesloten voor alle gebruikers die het document momenteel bekijken.", + "Open locally" : "Lokaal openen", + "Continue editing online" : "Ga door met online bewerken", + "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Het bestand zou nu lokaal moeten openen. Als dit niet gebeurt, controleer dan of de desktopclient is geïnstalleerd op uw systeem.", + "Retry to open locally" : "Opnieuw proberen lokaal te openen", + "Save a copy of the file under a new name and continue editing the new file" : "Sla een kopie van het bestand op onder een nieuwe naam en ga verder met het bewerken van het nieuwe bestand", "Failed to revert the document to older version" : "Kon het document niet terugdraaien naar een vorige versie", "Built-in CODE server failed to start" : "Ingebouwde CODE-server kon niet worden gestart", + "Insert file from {name}" : "Bestand invoegen uit {name}", + "Insert file" : "Bestand invoegen", "Remove from favorites" : "Verwijderen uit favorieten", "Add to favorites" : "Toevoegen aan favorieten", "Details" : "Details", @@ -150,12 +237,24 @@ OC.L10N.register( "Guest" : "Gast", "Follow current editor" : "Volg de huidige editor", "New file" : "Nieuw bestand", - "Create" : "Aanmaken", - "Could not create file" : "Kon bestand niet creëren", - "Select template" : "Selecteer sjabloon", + "Please enter the filename for the new file" : "Voer de bestandsnaam voor het nieuwe bestand in", + "Could not create file" : "Bestand kon niet worden aangemaakt", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Opgeslagen met een fout: Collabora Online moet hetzelfde protocol gebruiken als de serverinstallatie.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Kan geen verbinding maken met de Collabora Online-server. Dit kan komen door een ontbrekende configuratie van je webserver. Ga voor meer informatie naar:", + "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office vereist een aparte server waarop Collabora Online draait om bewerkingsmogelijkheden te bieden.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online vereist een aparte server die fungeert als een WOPI-achtige client om bewerkingsmogelijkheden te bieden.", + "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Standaard kunnen alle gebruikers documenten met {productName} bewerken. Wanneer deze instelling actief is, kunnen alleen de leden van de gespecificeerde groepen documenten bewerken en kunnen de anderen alleen documenten bekijken. ", + "Secure view settings" : "Instellingen voor beveiligde weergave", + "Secure view enables you to secure documents by embedding a watermark" : "Beveiligd kijken laat je documenten beveiligen door een watermerk toe te voegen ", + "Enable watermarking" : "Inschakelen watermerken", + "Show watermark on tagged files" : "Toon watermerk voor gemarkeerde bestanden", + "Show watermark for users of groups" : "Toon watermerk voor gebruikers of groepen", + "Show watermark for all shares" : "Toon watermerk voor alle shares", + "Show watermark for read only shares" : "Toon watermerk voor alleen-lezen shares", + "Show watermark for all link shares" : "Toon watermerk voor alle deellinks", + "Show watermark for download hidden shares" : "Toon watermerk om verborgen shared te donwloaden", + "Show watermark for read only link shares" : "Toon watermerk voor alleen-lezen deellinks", + "Show watermark on link shares with specific system tags" : "Toon watermerk op deellinks met specifieke systeemtags", "Error" : "Fout", "An error occurred" : "Er trad een fout op", "Please choose your nickname to continue as guest user." : "Kies alstublieft je schuilnaam om verder te gaan als gastgebruiker", @@ -170,11 +269,16 @@ OC.L10N.register( "Current version (unsaved changes)" : "Huidige versie (niet opgeslagen wijzigingen)", "Please enter the filename for the new document" : "Geef de bestandsnaam op voor het nieuwe document", "Create a new document" : "Creëer een nieuw document", - "Global templates" : "Globale sjablonen", + "Open with {productName}" : "Open met {productName}", + "Global templates" : "Algemene sjablonen", "Add a new template" : "Voeg een nieuw sjabloon toe", - "No templates defined." : "Geen sjablonen opgegeven.", + "No templates defined." : "Geen sjablonen ingesteld.", "Add a new one?" : "Nieuwe toevoegen?", "template preview" : "Sjabloonvoorbeeld", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Bestanden kunnen nog steeds worden gedownload via Nextcloud, tenzij dit anders is beperkt middels instellingen voor delen of toegangsbeheer", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Voorbeeldweergaven worden geblokkeerd voor bestanden met een watermerk om de eerste pagina van documenten niet te laten uitlekken", + "Show watermark for shares without download permission" : "Watermerk tonen voor shares zonder downloadtoestemming", + "New drawing" : "Nieuwe tekening", "Collabora Online" : "Collabora Online", "Document already exists" : "Document bestaat al", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online is standaard ingeschakeld voor alle gebruikers. Als deze instelling actief is, kunnen alleen leden van de opgegeven groepen deze gebruiken.", diff --git a/l10n/nl.json b/l10n/nl.json index f9b6fe3c29..e6c38b336a 100644 --- a/l10n/nl.json +++ b/l10n/nl.json @@ -1,17 +1,18 @@ { "translations": { + "No files found for this task." : "Geen bestanden gevonden voor deze taak.", "Cannot create document" : "Kan document niet creëren", "New Document.odt" : "Nieuw Document.odt", - "New Spreadsheet.ods" : "Nieuw werkblad.ods", - "New Presentation.odp" : "Nieuw presentatie.odp", + "New Spreadsheet.ods" : "Nieuw Werkblad.ods", + "New Presentation.odp" : "Nieuw Presentatie.odp", "New Document.docx" : "Nieuw Document.docx", - "New Spreadsheet.xlsx" : "Nieuw werkblad.xlsx", - "New Presentation.pptx" : "Nieuwe presentatie.pptx", + "New Spreadsheet.xlsx" : "Nieuw Werkblad.xlsx", + "New Presentation.pptx" : "Nieuwe Presentatie.pptx", "File already exists" : "Bestand bestaat al", "Not allowed to create document" : "Niet toegestaan om document te creëren", "Saved" : "Bewaard", "Invalid config key" : "Ongeldige config sleutel", "Error when saving" : "Fout bij opslaan", - "The file was uploaded" : "Het bestand werd geüpload", + "The file was uploaded" : "Het bestand is geüpload", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Het geüploade bestand overschrijdt de upload_max_filesize optie in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Het geüploade bestand overschrijdt de MAX_FILE_SIZE waarde die is opgegeven in het HTML formulier", "The file was only partially uploaded" : "Het bestand is slechts gedeeltelijk geüpload", @@ -20,32 +21,68 @@ "Could not write file to disk" : "Kon bestand niet naar schijf schrijven", "A PHP extension stopped the file upload" : "Een PHP-extensie blokkeerde de upload.", "No file uploaded or file size exceeds maximum of %s" : "Geen bestand geüpload of de grootte is meer dan het maximum van %s", + "Failed to upload the file" : "Het bestand kon niet worden geüpload", "File is too big" : "Bestand te groot", "Only template files can be uploaded" : "Er kunnen alleen sjabloonbestanden worden geüploaded", "Invalid file provided" : "Ongeldig bestand aangeleverd", "Template not found" : "Sjabloon niet gevonden", + "Unable to determine the proper file extension for %1$s" : "De juiste bestandsextensie voor %1$s kan niet worden bepaald", + "Unable to fetch information on %1$s" : "Kan geen informatie ophalen over %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Plaatje (.png)", + "Image (.svg)" : "Plaatje (.svg)", + "Text (.rtf)" : "Tekst (.rtf)", + "Text (.txt)" : "Tekst (.txt)", + "Word Document (.docx)" : "Word document (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument tekst (.odt)", + "Excel Workbook (.xlsx)" : "Excel werkblad (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument werkblad (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint presentatie (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument presentatie (.odp)", "New document" : "Nieuw document", "New spreadsheet" : "Nieuw werkblad", "New presentation" : "Nieuwe presentatie", "New diagram" : "Nieuw diagram", + "{user} has mentioned you in {node}" : "{user} heeft u genoemd in {node}", + "Link to office document section" : "Link naar sectie kantoordocumenten", "Nextcloud Office" : "Nextcloud Office", "Headings" : "Kopstijlen", + "Sections" : "Paragrafen", "Images" : "Afbeeldingen", + "Sheets" : "Werkbladen", + "Slides" : "Presentaties", "Office" : "Office", + "Instructions" : "Instructies", "Empty" : "Leeg", "Anonymous guest" : "Anonieme gast", "%s (Guest)" : "%s (Gast)", "Edit office documents directly in your browser." : "Bewerk kantoorbestanden rechtstreeks in je browser.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Deze applicatie kan verbinding maken met een Collabora Online (of andere) server (WOPI-achtige client). Nextcloud is de WOPI-host. Lees de documentatie voor meer informatie hierover\n\nJe kunt je documenten ook offline bewerken met de Collabora Office-app vanuit de ** [Android] (https://play.google.com/store/apps/details?id=com.collabora.libreoffice) ** en * * [iOS] (https://apps.apple.com/us/app/collabora-office/id1440482071) ** appstore.", + "Uploaded template \"{name}\"" : "Sjabloon “{name}” geüpload ", + "Template \"{name}\" already exists" : "Sjabloon “{name}” bestaat al", + "Unable to delete template" : "Sjabloon kan niet worden verwijderd", + "Deleted template" : "Verwijderd sjabloon", + "Global Templates" : "Algemene sjablonen", "New" : "Nieuw", - "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office is een krachtige op Collabora Online gebaseerde online kantoorsuite met gezamenlijke bewerking, die alle belangrijke documenten, spreadsheets- en presentatiebestandsindelingen ondersteunt en werkt met alle moderne browsers.", - "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online is een krachtige op LibreOffice gebaseerde online office suite met de mogelijkheid van gelijktijdig samen bewerken van de meest voorkomende bestandsformaten voor documenten, spreadsheets en presentaties en werkt met de meeste moderne browsers.", + "Contact {0} to get an own installation." : "Neem contact op met {0} om een eigen installatie te krijgen.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Zorg ervoor dat u deze URL: {url} instelt in het coolwsd.xml bestand van uw Collabora Online server om ervoor te zorgen dat de toegevoegde lettertypen automatisch worden geladen. Let op: http\\:// werkt alleen voor debug builds van Collabora Online. In productie moet je https\\:// gebruiken voor remote font configuratie. ", + "Failed to save settings" : "Instellingen konden niet worden opgeslagen", + "Font format not supported ({mime})" : "Lettertypeindeling niet ondersteund ({mime})", + "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office is een krachtig, op Collabora Online gebaseerd online kantoorpakket met de mogelijkheid om gezamelijk te bewerken, dat alle belangrijke bestandsformaten voor documenten, spreadsheets en presentaties ondersteunt en samenwerkt met alle moderne browsers. ", + "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online is een krachtig, op LibreOffice gebaseerd online kantoorpakket met de mogelijkheid om gezamelijk te bewerken, dat alle belangrijke bestandsformaten voor documenten, spreadsheets en presentaties ondersteunt en samenwerkt met alle moderne browsers.", "Could not establish connection to the Collabora Online server." : "Kon niet verbinden met de Collabora Online server.", + "This might be due to a missing configuration of your web server. For more information, please visit: " : "Dit kan worden veroorzaakt door een ontbrekende instelling op uw webserver. Ga voor meer informatie naar: ", "Connecting Collabora Online Single Click with Nginx" : "Collabora Online Single Click verbinden met Nginx", "Setting up a new server" : "Nieuwe server inrichten", "Collabora Online should use the same protocol as the server installation." : "Collabora Online moet hetzelfde protocol gebruiken als de server installatie.", + "Your browser has been unable to connect to the Collabora server:" : "Uw browser heeft geen verbinding kunnen maken met de Collabora server:", + "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Deze URL wordt bepaald op de Collabora server aan de hand van de geconfigureerde URL of de server_name parameter in coolwsd.xml.", "Collabora Online server is reachable." : "Collabora Online server is bereikbaar.", + "URL used by the browser:" : "URL die door de browser wordt gebruikt:", + "Nextcloud URL used by Collabora:" : "Nextcloud URL gebruikt door Collabora:", "Please configure a Collabora Online server to start editing documents" : "Configureer een Collabora Online server om documenten te bewerken", + "You have not configured the allow-list for WOPI requests. Without this setting users may download restricted files via WOPI requests to the Nextcloud server." : "U hebt de toestaan-lijst voor WOPI-verzoeken niet geconfigureerd. Zonder deze instelling kunnen gebruikers beperkte bestanden downloaden via WOPI-verzoeken naar de Nextcloud-server.", + "Click here for more info" : "Klik hier voor meer informatie", "Use your own server" : "Gebruik je eigen server", "Nextcloud Office requires a separate server running Collabora Online to provide editing capabilities." : "Nextcloud Office vereist een aparte server waarop Collabora Online draait om bewerkingsmogelijkheden te bieden.", "Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online vereist een aparte server die fungeert als een WOPI-achtige client om bewerkingsmogelijkheden te bieden.", @@ -54,12 +91,12 @@ "Enable if your Collabora Online server uses a self signed certificate" : "Inschakelen als je Collabora Online server self-signed certificaten gebruikt", "Use the built-in CODE - Collabora Online Development Edition" : "Gebruik de ingebouwde CODE - Collabora Online Development Edition", "Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Eenvoudig te installeren, voor thuisgebruik of kleine teams. Iets langzamer dan een standalone server en geen geavanceerde schaalbaarheidsopties.", - "This installation does not have a built in server." : "Deze installatie heeft geen ingebouwde server", + "This installation does not have a built in server." : "Deze installatie heeft geen ingebouwde server.", "Install it from the App Store." : "Installeer vanuit de App Store.", "If the installation from the App Store fails, you can still do that manually using this command:" : "Als de installatie vanuit de App Store mislukt, kun je dat nog steeds handmatig doen met deze opdracht:", "Use a demo server" : "Gebruik een demo server", "You can use a demo server provided by Collabora and other service providers for giving Collabora Online a try." : "Je kunt een door Collabora en andere service providers geleverde demo server proberen om Collabora Online te testen.", - "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Je Nextcloud kan niet verbinden met de demo servers want:", + "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Je Nextcloud-installatie is niet in staat om verbinding te maken met de demoservers omdat:", "it is a local setup (localhost)" : "het is een lokale inrichting (localhost)", "it uses an insecure protocol (HTTP)" : "het gebruikt een onveilig protocol (HTTP)", "it is unreachable from the internet (possibly because of a firewall, or lack of port forwarding)" : "het is niet bereikbaar vanaf het internet (mogelijk vanwege een firewall of het ontbreken van port forwarding)", @@ -88,44 +125,84 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroot, als er meerdere zijn, die Collabora moet gebruiken. Geef de webroot met de minste beperkingen op. Bijv: gebruik non-shibbolized webroot als deze server zowel door shibbolized als non-shibbolized webroots wordt benaderd. Je kunt deze instelling negeren als er maar één webroot wordt gebruikt om deze server te benaderen.", "Enable access for external apps" : "Toegang vanuit externe apps toestaan", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lijst met IPV4- en IPV6 IP-adressen en subnetten die verzoeken van de WOPI-eindpunten mogen uitvoeren. Als er geen toelatingslijst is opgegeven, zijn alle hosts toegestaan. bijv. 10.0.0.20,10.0.4.0/24", - "Secure view settings" : "Veilig bekijken instellingen", - "Secure view enables you to secure documents by embedding a watermark" : "Beveiligd kijken laat je documenten beveiligen door een watermerk toe te voegen ", - "Enable watermarking" : "Inschakelen watermerken", + "Custom Fonts" : "Aangepaste lettertypen", + "Upload font file" : "Lettertypebestand uploaden", + "Upload a font file" : "Een lettertypebestand uploaden", + "Available fonts" : "Beschikbare lettertypen", + "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Voor een optimale documentcompatibiliteit raden we u aan om veelgebruikte lettertypen te installeren. Wanneer uw gebruikers met Microsoft Office werken, kunt u hun eigen lettertypes installeren door de documentatie te volgen. ", + "Custom fonts documentation" : "Documentatie aangepaste lettertypen", + "Secure View" : "Beveiligde weergave", + "The settings only apply to compatible office files that are opened in Nextcloud Office" : "De instellingen zijn alleen van toepassing op compatibele Office-bestanden die worden geopend in Nextcloud Office", + "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "De volgende mogelijkheden binnen Nextcloud Office worden uitgeschakeld: Kopiëren, Downloaden, Exporteren, Afdrukken", + "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Bestanden kunnen nog steeds worden gedownload via WOPI-verzoeken als de WOPI-instellingen niet correct zijn geconfigureerd", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Ondersteunde aanduidingen: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Toon watermerk voor gemarkeerde bestanden", "Select tags to enforce watermarking" : "Selecteer markering om watermerken af te dwingen", - "Show watermark for users of groups" : "Toon watermerk voor gebruikers of groepen", - "Show watermark for all shares" : "Toon watermerk voor alle shares", - "Show watermark for read only shares" : "Toon watermerk voor alleen-lezen shares", - "Show watermark for all link shares" : "Toon watermerk voor alle deellinks", - "Show watermark for download hidden shares" : "Toon watermerk om verborgen shared te donwloaden", - "Show watermark for read only link shares" : "Toon watermerk voor alleen-lezen deellinks", - "Show watermark on link shares with specific system tags" : "Toon watermerk op deellinks met specifieke systeemtags", - "Contact {0} to get an own installation." : "Neem contact op met {0} om een eigen installatie te krijgen.", - "Failed to save settings" : "Kon instellingen niet opslaan", + "Electronic Signature" : "Elektronische handtekening", + "Client ID for the electronic signature API" : "Klant-ID voor de elektronische handtekeningen API", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Vul het registratieformulier in op https://eideasy.com/signup om een klant-ID en klant-geheim te verkrijgen.", + "Secret for the electronic signature API" : "Geheim voor de API voor elektronische handtekeningen", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Het geheim kan via WOPI-verzoeken worden gedownload als de WOPI-toestemmingslijst niet correct is geconfigureerd.", "Save" : "Opslaan", "Remove" : "Verwijderen", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Voer de gastnaam in die u wenst te gebruiken voordat u verdergaat naar het document. Wanneer u geen naam opgeeft, wordt de standaardnaam gebruikt.", + "Guest name" : "Gast naam", "Submit name" : "Naam doorgeven", "Confirm" : "Bevestigen", "Cancel" : "Annuleren", "Save As" : "Opslaan als", + "Save as" : "Opslaan als", + "Path to save" : "Pad om op te slaan", + "Select template" : "Selecteer sjabloon", + "File name" : "Bestandsnaam", + "Create" : "Aanmaken", + "Failed to set Zotero API key" : "Instellen van Zotero API-sleutel mislukt", + "Link to your Zotero library" : "Koppeling naar uw Zotero-bibliotheek", + "Connect your Zotero account to make use of references within Office." : "Koppel uw Zotero-account om gebruik te maken van referenties binnen Office.", + "You can generate an account key here:" : "U kunt hier een accountsleutel aanmaken:", + "Zotero account settings" : "Zotero accountinstellingen", + "Zotero API key" : "Zotero API-sleutel", "Submit" : "Verwerken", - "Select a template directory" : "Selecteer een sjablonendirectory", "Select a personal template folder" : "Selecteer een persoonlijke sjablonenmap", + "Settings saved successfully." : "Instellingen opgeslagen.", + "Failed to save settings." : "Opslaan van instellingen mislukt.", + "Unexpected error occurred." : "Onverwachte fout opgetreden.", + "Personal Settings for Nextcloud Office" : "Persoonlijke instellingen voor Nextcloud Office", + "Select a template directory" : "Selecteer een sjablonenmap", "Remove personal template folder" : "Verwijder de persoonlijke sjablonenmap", - "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Sjablonen in deze directory worden toegevoegd aan de Nextcloud Office sjablonenkiezer.", + "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Sjablonen in deze map worden toegevoegd aan de sjabloonkiezer van Nextcloud Office.", + "Zotero" : "Zotero", + "Enter Zotero API Key" : "Voer Zotero API-sleutel in", + "Remove Zotero API Key" : "Verwijder Zotero API-sleutel", + "To use Zotero specify your API key here. You can create your API key in your" : "Om Zotero te gebruiken moet u hier uw API-sleutel opgeven. U kunt uw API-sleutel aanmaken in uw", + "Zotero account API settings." : "API-instellingen voor Zotero-account.", + "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Dit systeem ondersteunt Zotero niet, omdat de functie ontbreekt of is uitgeschakeld. Neem contact op met uw beheerder.", + "Document signing" : "Document ondertekenen", + "Enter document signing cert (in PEM format)" : "Document ondertekeningscertificaat invoeren (in PEM-formaat)", + "Enter document signing key" : "Document ondertekeningssleutel invoeren", + "Enter document signing CA chain" : "CA-keten voor ondertekening van documenten invoeren", + "To use document signing, specify your signing certificate, key and CA chain here." : "Om het ondertekenen van documenten te gebruiken, moet u hier uw ondertekeningscertificaat, sleutel en CA-keten opgeven.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Dit systeem ondersteunt het ondertekenen van documenten niet, omdat de functie ontbreekt of is uitgeschakeld. Neem contact op met de beheerder.", "Description" : "Omschrijving", "Add new token" : "Nieuw token toevoegen", + "No font overview" : "Geen lettertypeoverzicht", + "Delete this font" : "Dit lettertype verwijderen", "No results" : "Geen resultaten", - "Select file or folder to link to" : "Selecteer een bestand of map om naar te linken", "Select file" : "Selecteer bestand", - "Document loading failed" : "Document laden mislukt", - "Close" : "Sluit", - "Edit" : "Bewerken", + "Select file or folder to link to" : "Selecteer een bestand of map om naar te linken", + "Could not find any section in the document" : "Kon geen enkele sectie in het document vinden", + "{productName} is not configured" : "{productName} is niet geconfigureerd", "Starting the built-in CODE server failed" : "Het starten van de ingebouwde CODE-server is mislukt", "Loading {filename} …" : "{filename} laden ...", "Failed to load {productName} - please try again later" : "Kon {productName} niet laden - probeer het later opnieuw", - "{productName} is not configured" : "{productName} is niet geconfigureerd", + "Open in local editor" : "Openen in lokale editor", + "Cluster is scaling …" : "Cluster is aan het schalen ...", + "The collaborative editing was terminated by another user" : "De gezamenlijke bewerking is beëindigd door een andere gebruiker", + "Document loading failed" : "Document laden mislukt", + "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "ontroleer het logboek van de Collabora Online server voor meer details en zorg ervoor dat Nextcloud vanaf daar bereikbaar is.", + "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socketverbinding onverwacht gesloten. De reverse proxy is misschien verkeerd geconfigureerd, neem contact op met de beheerder.", + "More information can be found in the reverse proxy documentation" : "Meer informatie is te vinden in de documentatie over Reverse Proxy", + "Close" : "Sluiten", + "Edit" : "Bewerken", "Built-in CODE Server is starting up shortly, please wait." : "Ingebouwde CODE Server start zo op, even geduld.", "Built-in CODE Server is restarting, please wait." : "Ingebouwde CODE Server start op, even geduld.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Fout: Kan de AppImage niet vinden, her-installeer de ingebouwde Collabora Online server.", @@ -135,10 +212,20 @@ "Error: The fontconfig library is not installed on your server, please install it or setup a standalone server." : "Fout: De fontconfig-bibliotheek is niet geïnstalleerd op je server, installeren of stel een aparte server in.", "Error: Not running on glibc-based Linux, please setup a standalone server." : "Fout: Draait niet op een glibc-gebaseerde Linux, installeer een standalone server.", "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Fout: Kan de ingebouwde Collabora Online server niet starten, stel een stand-alone server in.", - "Close version preview" : "Sluiten voorbeeldversie", + "Close version preview" : "Versievoorvertoning sluiten", "Edit with {productName}" : "Bewerken met {productName}", + "Insert into document" : "Invoegen in document", + "Open file locally" : "Bestand lokaal openen", + "When opening a file locally, the document will close for all users currently viewing the document." : "Wanneer u een bestand lokaal opent, wordt het document gesloten voor alle gebruikers die het document momenteel bekijken.", + "Open locally" : "Lokaal openen", + "Continue editing online" : "Ga door met online bewerken", + "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Het bestand zou nu lokaal moeten openen. Als dit niet gebeurt, controleer dan of de desktopclient is geïnstalleerd op uw systeem.", + "Retry to open locally" : "Opnieuw proberen lokaal te openen", + "Save a copy of the file under a new name and continue editing the new file" : "Sla een kopie van het bestand op onder een nieuwe naam en ga verder met het bewerken van het nieuwe bestand", "Failed to revert the document to older version" : "Kon het document niet terugdraaien naar een vorige versie", "Built-in CODE server failed to start" : "Ingebouwde CODE-server kon niet worden gestart", + "Insert file from {name}" : "Bestand invoegen uit {name}", + "Insert file" : "Bestand invoegen", "Remove from favorites" : "Verwijderen uit favorieten", "Add to favorites" : "Toevoegen aan favorieten", "Details" : "Details", @@ -148,12 +235,24 @@ "Guest" : "Gast", "Follow current editor" : "Volg de huidige editor", "New file" : "Nieuw bestand", - "Create" : "Aanmaken", - "Could not create file" : "Kon bestand niet creëren", - "Select template" : "Selecteer sjabloon", + "Please enter the filename for the new file" : "Voer de bestandsnaam voor het nieuwe bestand in", + "Could not create file" : "Bestand kon niet worden aangemaakt", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Opgeslagen met een fout: Collabora Online moet hetzelfde protocol gebruiken als de serverinstallatie.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Kan geen verbinding maken met de Collabora Online-server. Dit kan komen door een ontbrekende configuratie van je webserver. Ga voor meer informatie naar:", + "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office vereist een aparte server waarop Collabora Online draait om bewerkingsmogelijkheden te bieden.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online vereist een aparte server die fungeert als een WOPI-achtige client om bewerkingsmogelijkheden te bieden.", + "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Standaard kunnen alle gebruikers documenten met {productName} bewerken. Wanneer deze instelling actief is, kunnen alleen de leden van de gespecificeerde groepen documenten bewerken en kunnen de anderen alleen documenten bekijken. ", + "Secure view settings" : "Instellingen voor beveiligde weergave", + "Secure view enables you to secure documents by embedding a watermark" : "Beveiligd kijken laat je documenten beveiligen door een watermerk toe te voegen ", + "Enable watermarking" : "Inschakelen watermerken", + "Show watermark on tagged files" : "Toon watermerk voor gemarkeerde bestanden", + "Show watermark for users of groups" : "Toon watermerk voor gebruikers of groepen", + "Show watermark for all shares" : "Toon watermerk voor alle shares", + "Show watermark for read only shares" : "Toon watermerk voor alleen-lezen shares", + "Show watermark for all link shares" : "Toon watermerk voor alle deellinks", + "Show watermark for download hidden shares" : "Toon watermerk om verborgen shared te donwloaden", + "Show watermark for read only link shares" : "Toon watermerk voor alleen-lezen deellinks", + "Show watermark on link shares with specific system tags" : "Toon watermerk op deellinks met specifieke systeemtags", "Error" : "Fout", "An error occurred" : "Er trad een fout op", "Please choose your nickname to continue as guest user." : "Kies alstublieft je schuilnaam om verder te gaan als gastgebruiker", @@ -168,11 +267,16 @@ "Current version (unsaved changes)" : "Huidige versie (niet opgeslagen wijzigingen)", "Please enter the filename for the new document" : "Geef de bestandsnaam op voor het nieuwe document", "Create a new document" : "Creëer een nieuw document", - "Global templates" : "Globale sjablonen", + "Open with {productName}" : "Open met {productName}", + "Global templates" : "Algemene sjablonen", "Add a new template" : "Voeg een nieuw sjabloon toe", - "No templates defined." : "Geen sjablonen opgegeven.", + "No templates defined." : "Geen sjablonen ingesteld.", "Add a new one?" : "Nieuwe toevoegen?", "template preview" : "Sjabloonvoorbeeld", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Bestanden kunnen nog steeds worden gedownload via Nextcloud, tenzij dit anders is beperkt middels instellingen voor delen of toegangsbeheer", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Voorbeeldweergaven worden geblokkeerd voor bestanden met een watermerk om de eerste pagina van documenten niet te laten uitlekken", + "Show watermark for shares without download permission" : "Watermerk tonen voor shares zonder downloadtoestemming", + "New drawing" : "Nieuwe tekening", "Collabora Online" : "Collabora Online", "Document already exists" : "Document bestaat al", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online is standaard ingeschakeld voor alle gebruikers. Als deze instelling actief is, kunnen alleen leden van de opgegeven groepen deze gebruiken.", diff --git a/l10n/nn_NO.js b/l10n/nn_NO.js index 8e6c0bda30..b1f26bfb43 100644 --- a/l10n/nn_NO.js +++ b/l10n/nn_NO.js @@ -13,6 +13,7 @@ OC.L10N.register( "Select groups" : "Vel grupper", "Save" : "Lagra", "Cancel" : "Avbryt", + "Create" : "Lag", "Description" : "Skildring", "Select file" : "Vel fil", "Close" : "Lukk", @@ -22,7 +23,6 @@ OC.L10N.register( "Details" : "Detaljar", "Download" : "Last ned", "Guest" : "Gjest", - "Create" : "Lag", "Error" : "Feil", "An error occurred" : "Det oppstod ein feil.", "Nickname" : "Kallenamn", diff --git a/l10n/nn_NO.json b/l10n/nn_NO.json index ae23ea1bfd..212e6499c7 100644 --- a/l10n/nn_NO.json +++ b/l10n/nn_NO.json @@ -11,6 +11,7 @@ "Select groups" : "Vel grupper", "Save" : "Lagra", "Cancel" : "Avbryt", + "Create" : "Lag", "Description" : "Skildring", "Select file" : "Vel fil", "Close" : "Lukk", @@ -20,7 +21,6 @@ "Details" : "Detaljar", "Download" : "Last ned", "Guest" : "Gjest", - "Create" : "Lag", "Error" : "Feil", "An error occurred" : "Det oppstod ein feil.", "Nickname" : "Kallenamn", diff --git a/l10n/oc.js b/l10n/oc.js index 565671437d..9bf3bcf7eb 100644 --- a/l10n/oc.js +++ b/l10n/oc.js @@ -22,6 +22,8 @@ OC.L10N.register( "Remove" : "Suprimir", "Confirm" : "Confirmar", "Cancel" : "Anullar", + "File name" : "Nom de fichièr", + "Create" : "Crear", "Submit" : "Transmetre", "Description" : "Descripcion", "No results" : "Cap de resultat", @@ -34,7 +36,6 @@ OC.L10N.register( "Download" : "Telecargar", "Guest" : "Convidat", "New file" : "Fichièr novèl", - "Create" : "Crear", "Could not create file" : "Impossible de crear lo fichièr", "Error" : "Error", "An error occurred" : "Una error s’es producha", diff --git a/l10n/oc.json b/l10n/oc.json index 73d6c1443e..5f9f5c8407 100644 --- a/l10n/oc.json +++ b/l10n/oc.json @@ -20,6 +20,8 @@ "Remove" : "Suprimir", "Confirm" : "Confirmar", "Cancel" : "Anullar", + "File name" : "Nom de fichièr", + "Create" : "Crear", "Submit" : "Transmetre", "Description" : "Descripcion", "No results" : "Cap de resultat", @@ -32,7 +34,6 @@ "Download" : "Telecargar", "Guest" : "Convidat", "New file" : "Fichièr novèl", - "Create" : "Crear", "Could not create file" : "Impossible de crear lo fichièr", "Error" : "Error", "An error occurred" : "Una error s’es producha", diff --git a/l10n/pl.js b/l10n/pl.js index e4676d5a50..7db0557b02 100644 --- a/l10n/pl.js +++ b/l10n/pl.js @@ -39,12 +39,16 @@ OC.L10N.register( "Sheets" : "Arkusze", "Slides" : "Slajdy", "Office" : "Biuro", + "Instructions" : "Instrukcje:", "Empty" : "Pusty", "Anonymous guest" : "Anonimowy gość", "%s (Guest)" : "%s (Gość)", "Edit office documents directly in your browser." : "Edytuj dokumenty bezpośrednio w Twojej przeglądarce", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Aplikacja umożliwia łączenie się z serwerem Collabora Online (klient WOPI-like) lub innym. Nextcloud jest hostem WOPI. Przeczytaj dokumentację, aby dowiedzieć się więcej na ten temat.\n\nMożesz także edytować swoje dokumenty offline przy pomocy aplikacji Collabora Office z **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** i ze sklepu **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Nowy", + "Contact {0} to get an own installation." : "Skontaktuj się z {0}, aby uzyskać własną instalację.", + "Failed to save settings" : "Nie udało się zapisać ustawień", + "Font format not supported ({mime})" : "Format czcionki nie jest obsługiwany ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office to potężny pakiet biurowy online oparty na Collabora Online z edycją grupową, który obsługuje wszystkie główne formaty dokumentów, arkuszy kalkulacyjnych i prezentacji oraz współpracuje ze wszystkimi nowoczesnymi przeglądarkami.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online jest potężnym pakietem biurowym bazującym na LibreOffice z funkcją współpracy przy edycji, która wspiera wszystkie znaczące formaty plików dokumentów, arkuszy kalkulacyjnych oraz prezentacji i współpracuje ze wszystkimi współczesnymi przeglądarkami internetowymi.", "Could not establish connection to the Collabora Online server." : "Nie można nawiązać połączenia z serwerem Collabora Online.", @@ -102,52 +106,37 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Webroot Canonical, w przypadku gdy jest ich kilka do użycia przez Collabora. Wprowadź ten z najmniejszą liczbą ograniczeń. Przykład: Użyj webroot bezszyboletowy jeżeli dostęp do tej instancji mają zarówno webroot szyboletowy, jak i webroot bezszyboletowy . Możesz zignorować to ustawienie, jeżeli tylko jeden webroot jest używany do dostępu do tej instancji.", "Enable access for external apps" : "Aktywuj dostęp dla zewnętrznych aplikacji", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista adresów IP i podsieci IPV4 i IPV6, które mogą wykonywać żądania punktów końcowych WOPI. Jeśli nie określono listy dozwolonych, wszystkie hosty będą dozwolone. Np. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Dodatkowe czcionki", - "Upload extra font file" : "Wyślij dodatkowy plik czcionki", "Upload a font file" : "Wyślij plik czcionki", "Available fonts" : "Dostępne czcionki", "Custom fonts documentation" : "Dokumentacja niestandardowych czcionek", - "Secure view settings" : "Bezpieczne ustawienia widoku", - "Secure view enables you to secure documents by embedding a watermark" : "Bezpieczny widok pozwala zabezpieczyć dokumenty poprzez osadzenie znaku wodnego", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ustawienia dotyczą tylko zgodnych plików biurowych otwieranych w Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Następujące opcje w Nextcloud Office zostaną wyłączone: Kopiuj, Pobierz, Eksportuj, Drukuj", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Pliki nadal mogą być pobierane za pośrednictwem usługi Nextcloud, o ile nie są ograniczone w inny sposób w ustawieniach udostępniania lub kontroli dostępu", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Pliki mogą nadal być pobierane za pośrednictwem żądań WOPI, jeśli ustawienia WOPI nie są poprawnie skonfigurowane", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Podglądy będą blokowane dla plików ze znakami wodnymi, aby nie ujawniać pierwszej strony dokumentów", - "Enable watermarking" : "Włącz znak wodny", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Obsługiwane symbole zastępcze: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Pokaż znak wodny na oznaczonych plikach", "Select tags to enforce watermarking" : "Wybierz etykiety, aby wymusić znak wodny", - "Show watermark for users of groups" : "Pokaż znak wodny dla użytkowników grup", - "Show watermark for all shares" : "Pokaż znak wodny dla wszystkich udostępnień", - "Show watermark for read only shares" : "Pokaż znak wodny dla udostępnień tylko do odczytu", - "Show watermark for shares without download permission" : "Pokaż znak wodny dla udostępnień bez pozwolenia na pobieranie", - "Show watermark for all link shares" : "Pokaż znak wodny dla wszystkich udostępnionych linków", - "Show watermark for download hidden shares" : "Pokaż znak wodny dla pobrania ukrytych udostępnień", - "Show watermark for read only link shares" : "Pokaż znak wodny dla udostępnionych linków tylko do odczytu", - "Show watermark on link shares with specific system tags" : "Pokaż znak wodny na udostępnionych linkach z określonymi etykietami systemowymi", - "Contact {0} to get an own installation." : "Skontaktuj się z {0}, aby uzyskać własną instalację.", - "Failed to save settings" : "Nie udało się zapisać ustawień", - "Font format not supported ({mime})" : "Format czcionki nie jest obsługiwany ({mime})", "Save" : "Zapisz", "Remove" : "Usuń", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Przed przejściem do dokumentu wprowadź nazwę gościa, której chcesz używać. Jeśli go nie podasz, zostanie użyte ustawienie domyślne.", "Guest name" : "Nazwa gościa", "Submit name" : "Wyślij nazwę", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Przed przejściem do dokumentu wprowadź nazwę gościa, której chcesz używać. Jeśli go nie podasz, zostanie użyte ustawienie domyślne.", "Confirm" : "Potwierdź", "Cancel" : "Anuluj", + "Save As" : "Zapisz jako", "Save as" : "Zapisz jako", "Path to save" : "Ścieżka do zapisu", - "Save As" : "Zapisz jako", + "Invalid file name" : "Nieprawidłowa nazwa pliku", + "Select template" : "Wybierz szablon", + "File name" : "Nazwa pliku", + "Create" : "Utwórz", + "Failed to set Zotero API key" : "Nie udało się ustawić klucza API Zotero", "Link to your Zotero library" : "Odnośnik do Twojej biblioteki Zotero", "Connect your Zotero account to make use of references within Office." : "Połącz swoje konto Zotero, aby korzystać z referencji w pakiecie Office.", "You can generate an account key here:" : "Klucz do konta możesz wygenerować tutaj:", "Zotero account settings" : "Ustawienia konta Zotero", "Zotero API key" : "Klucz API Zotero", "Submit" : "Wyślij", - "Failed to set Zotero API key" : "Nie udało się ustawić klucza API Zotero", - "Select a template directory" : "Wybierz katalog szablonów", "Select a personal template folder" : "Wybierz własny katalog szablonów", + "Select a template directory" : "Wybierz katalog szablonów", "Remove personal template folder" : "Usuń własny katalog szablonów", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Szablony w tym katalogu zostaną dodane do selektora szablonów Nextcloud Office.", "Zotero" : "Zotero", @@ -161,22 +150,22 @@ OC.L10N.register( "No font overview" : "Brak przeglądu czcionki", "Delete this font" : "Usuń tę czcionkę", "No results" : "Brak wyników", + "Select file" : "Wybierz plik", "Select file or folder to link to" : "Wybierz plik lub katalog do linku", "Could not find any section in the document" : "Nie można znaleźć żadnej sekcji w dokumencie", - "Select file" : "Wybierz plik", + "{productName} is not configured" : "{productName} nie jest skonfigurowany", + "Starting the built-in CODE server failed" : "Uruchomienie wbudowanego serwera CODE nie powiodło się", + "Loading {filename} …" : "Wczytywanie {filename}…", + "Failed to load {productName} - please try again later" : "Nie udało się załadować {productName} - spróbuj ponownie później", + "Open in local editor" : "Otwórz w lokalnym edytorze", + "Cluster is scaling …" : "Klaster skaluje się…", + "The collaborative editing was terminated by another user" : "Wspólne edytowanie zostało zakończone przez innego użytkownika", "Document loading failed" : "Wczytywanie dokumentu nie powiodło się", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Aby uzyskać więcej informacji, sprawdź dziennik serwera Collabora Online i upewnij się, że można z niego uzyskać dostęp do Nextcloud.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Połączenie z gniazdem zostało nieoczekiwanie zamknięte. Odwrotne proxy może być błędnie skonfigurowane. Skontaktuj się z administratorem.", "More information can be found in the reverse proxy documentation" : "Więcej informacji można znaleźć w dokumentacji odwrotnego proxy", "Close" : "Zamknij", "Edit" : "Edycja", - "Starting the built-in CODE server failed" : "Uruchomienie wbudowanego serwera CODE nie powiodło się", - "Loading {filename} …" : "Wczytywanie {filename}…", - "Open in local editor" : "Otwórz w lokalnym edytorze", - "Cluster is scaling …" : "Klaster skaluje się…", - "The collaborative editing was terminated by another user" : "Wspólne edytowanie zostało zakończone przez innego użytkownika", - "Failed to load {productName} - please try again later" : "Nie udało się załadować {productName} - spróbuj ponownie później", - "{productName} is not configured" : "{productName} nie jest skonfigurowany", "Built-in CODE Server is starting up shortly, please wait." : "Wbudowany serwer CODE uruchomi się wkrótce. Proszę czekać.", "Built-in CODE Server is restarting, please wait." : "Wbudowany serwer CODE restartuje się. Proszę czekać.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Błąd: Nie można znaleźć AppImage. Zainstaluj ponownie wbudowany serwer Collabora Online.", @@ -207,15 +196,23 @@ OC.L10N.register( "Follow current editor" : "Śledź bieżącego edytora", "New file" : "Nowy plik", "Please enter the filename for the new file" : "Wprowadź nazwę nowego pliku", - "Create" : "Utwórz", - "New drawing" : "Nowy rysunek", "Could not create file" : "Nie można utworzyć pliku", - "Select template" : "Wybierz szablon", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Zapisano z błędem: Collabora Online powinna używać tego samego protokołu co instalacja serwera", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Nie można nawiązać połączenia z serwerem Collabora Online. Może to być spowodowane brakującą konfiguracją serwera WWW. Aby uzyskać więcej informacji prosimy odwiedzić:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office wymaga osobnego serwera z działającym Collabora Online, aby umożliwić edycję.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online wymaga osobnego serwera działającego jako klient WOPI-like, aby umożliwić edycję.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Wszyscy użytkownicy mogą domyślnie edytować dokumenty za pomocą {productName}. Gdy to ustawienie jest aktywne, tylko członkowie określonych grup mogą edytować, natomiast pozostali mogą tylko wyświetlać dokumenty.", + "Secure view settings" : "Bezpieczne ustawienia widoku", + "Secure view enables you to secure documents by embedding a watermark" : "Bezpieczny widok pozwala zabezpieczyć dokumenty poprzez osadzenie znaku wodnego", + "Enable watermarking" : "Włącz znak wodny", + "Show watermark on tagged files" : "Pokaż znak wodny na oznaczonych plikach", + "Show watermark for users of groups" : "Pokaż znak wodny dla użytkowników grup", + "Show watermark for all shares" : "Pokaż znak wodny dla wszystkich udostępnień", + "Show watermark for read only shares" : "Pokaż znak wodny dla udostępnień tylko do odczytu", + "Show watermark for all link shares" : "Pokaż znak wodny dla wszystkich udostępnionych linków", + "Show watermark for download hidden shares" : "Pokaż znak wodny dla pobrania ukrytych udostępnień", + "Show watermark for read only link shares" : "Pokaż znak wodny dla udostępnionych linków tylko do odczytu", + "Show watermark on link shares with specific system tags" : "Pokaż znak wodny na udostępnionych linkach z określonymi etykietami systemowymi", "Error" : "Błąd", "An error occurred" : "Wystąpił błąd", "Please choose your nickname to continue as guest user." : "Wybierz swój pseudonim, aby kontynuować jako gość.", @@ -236,6 +233,10 @@ OC.L10N.register( "No templates defined." : "Nie zdefiniowano szablonów.", "Add a new one?" : "Dodać nowy?", "template preview" : "podgląd szablonu", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Pliki nadal mogą być pobierane za pośrednictwem usługi Nextcloud, o ile nie są ograniczone w inny sposób w ustawieniach udostępniania lub kontroli dostępu", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Podglądy będą blokowane dla plików ze znakami wodnymi, aby nie ujawniać pierwszej strony dokumentów", + "Show watermark for shares without download permission" : "Pokaż znak wodny dla udostępnień bez pozwolenia na pobieranie", + "New drawing" : "Nowy rysunek", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument już istnieje", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online jest włączony domyślnie dla wszystkich użytkowników. Gdy to ustawienie jest aktywne tylko członkowie określonych grup mogą z niego korzystać..", diff --git a/l10n/pl.json b/l10n/pl.json index eb1d6df68a..81a616338e 100644 --- a/l10n/pl.json +++ b/l10n/pl.json @@ -37,12 +37,16 @@ "Sheets" : "Arkusze", "Slides" : "Slajdy", "Office" : "Biuro", + "Instructions" : "Instrukcje:", "Empty" : "Pusty", "Anonymous guest" : "Anonimowy gość", "%s (Guest)" : "%s (Gość)", "Edit office documents directly in your browser." : "Edytuj dokumenty bezpośrednio w Twojej przeglądarce", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Aplikacja umożliwia łączenie się z serwerem Collabora Online (klient WOPI-like) lub innym. Nextcloud jest hostem WOPI. Przeczytaj dokumentację, aby dowiedzieć się więcej na ten temat.\n\nMożesz także edytować swoje dokumenty offline przy pomocy aplikacji Collabora Office z **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** i ze sklepu **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Nowy", + "Contact {0} to get an own installation." : "Skontaktuj się z {0}, aby uzyskać własną instalację.", + "Failed to save settings" : "Nie udało się zapisać ustawień", + "Font format not supported ({mime})" : "Format czcionki nie jest obsługiwany ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office to potężny pakiet biurowy online oparty na Collabora Online z edycją grupową, który obsługuje wszystkie główne formaty dokumentów, arkuszy kalkulacyjnych i prezentacji oraz współpracuje ze wszystkimi nowoczesnymi przeglądarkami.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online jest potężnym pakietem biurowym bazującym na LibreOffice z funkcją współpracy przy edycji, która wspiera wszystkie znaczące formaty plików dokumentów, arkuszy kalkulacyjnych oraz prezentacji i współpracuje ze wszystkimi współczesnymi przeglądarkami internetowymi.", "Could not establish connection to the Collabora Online server." : "Nie można nawiązać połączenia z serwerem Collabora Online.", @@ -100,52 +104,37 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Webroot Canonical, w przypadku gdy jest ich kilka do użycia przez Collabora. Wprowadź ten z najmniejszą liczbą ograniczeń. Przykład: Użyj webroot bezszyboletowy jeżeli dostęp do tej instancji mają zarówno webroot szyboletowy, jak i webroot bezszyboletowy . Możesz zignorować to ustawienie, jeżeli tylko jeden webroot jest używany do dostępu do tej instancji.", "Enable access for external apps" : "Aktywuj dostęp dla zewnętrznych aplikacji", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista adresów IP i podsieci IPV4 i IPV6, które mogą wykonywać żądania punktów końcowych WOPI. Jeśli nie określono listy dozwolonych, wszystkie hosty będą dozwolone. Np. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Dodatkowe czcionki", - "Upload extra font file" : "Wyślij dodatkowy plik czcionki", "Upload a font file" : "Wyślij plik czcionki", "Available fonts" : "Dostępne czcionki", "Custom fonts documentation" : "Dokumentacja niestandardowych czcionek", - "Secure view settings" : "Bezpieczne ustawienia widoku", - "Secure view enables you to secure documents by embedding a watermark" : "Bezpieczny widok pozwala zabezpieczyć dokumenty poprzez osadzenie znaku wodnego", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ustawienia dotyczą tylko zgodnych plików biurowych otwieranych w Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Następujące opcje w Nextcloud Office zostaną wyłączone: Kopiuj, Pobierz, Eksportuj, Drukuj", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Pliki nadal mogą być pobierane za pośrednictwem usługi Nextcloud, o ile nie są ograniczone w inny sposób w ustawieniach udostępniania lub kontroli dostępu", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Pliki mogą nadal być pobierane za pośrednictwem żądań WOPI, jeśli ustawienia WOPI nie są poprawnie skonfigurowane", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Podglądy będą blokowane dla plików ze znakami wodnymi, aby nie ujawniać pierwszej strony dokumentów", - "Enable watermarking" : "Włącz znak wodny", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Obsługiwane symbole zastępcze: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Pokaż znak wodny na oznaczonych plikach", "Select tags to enforce watermarking" : "Wybierz etykiety, aby wymusić znak wodny", - "Show watermark for users of groups" : "Pokaż znak wodny dla użytkowników grup", - "Show watermark for all shares" : "Pokaż znak wodny dla wszystkich udostępnień", - "Show watermark for read only shares" : "Pokaż znak wodny dla udostępnień tylko do odczytu", - "Show watermark for shares without download permission" : "Pokaż znak wodny dla udostępnień bez pozwolenia na pobieranie", - "Show watermark for all link shares" : "Pokaż znak wodny dla wszystkich udostępnionych linków", - "Show watermark for download hidden shares" : "Pokaż znak wodny dla pobrania ukrytych udostępnień", - "Show watermark for read only link shares" : "Pokaż znak wodny dla udostępnionych linków tylko do odczytu", - "Show watermark on link shares with specific system tags" : "Pokaż znak wodny na udostępnionych linkach z określonymi etykietami systemowymi", - "Contact {0} to get an own installation." : "Skontaktuj się z {0}, aby uzyskać własną instalację.", - "Failed to save settings" : "Nie udało się zapisać ustawień", - "Font format not supported ({mime})" : "Format czcionki nie jest obsługiwany ({mime})", "Save" : "Zapisz", "Remove" : "Usuń", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Przed przejściem do dokumentu wprowadź nazwę gościa, której chcesz używać. Jeśli go nie podasz, zostanie użyte ustawienie domyślne.", "Guest name" : "Nazwa gościa", "Submit name" : "Wyślij nazwę", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Przed przejściem do dokumentu wprowadź nazwę gościa, której chcesz używać. Jeśli go nie podasz, zostanie użyte ustawienie domyślne.", "Confirm" : "Potwierdź", "Cancel" : "Anuluj", + "Save As" : "Zapisz jako", "Save as" : "Zapisz jako", "Path to save" : "Ścieżka do zapisu", - "Save As" : "Zapisz jako", + "Invalid file name" : "Nieprawidłowa nazwa pliku", + "Select template" : "Wybierz szablon", + "File name" : "Nazwa pliku", + "Create" : "Utwórz", + "Failed to set Zotero API key" : "Nie udało się ustawić klucza API Zotero", "Link to your Zotero library" : "Odnośnik do Twojej biblioteki Zotero", "Connect your Zotero account to make use of references within Office." : "Połącz swoje konto Zotero, aby korzystać z referencji w pakiecie Office.", "You can generate an account key here:" : "Klucz do konta możesz wygenerować tutaj:", "Zotero account settings" : "Ustawienia konta Zotero", "Zotero API key" : "Klucz API Zotero", "Submit" : "Wyślij", - "Failed to set Zotero API key" : "Nie udało się ustawić klucza API Zotero", - "Select a template directory" : "Wybierz katalog szablonów", "Select a personal template folder" : "Wybierz własny katalog szablonów", + "Select a template directory" : "Wybierz katalog szablonów", "Remove personal template folder" : "Usuń własny katalog szablonów", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Szablony w tym katalogu zostaną dodane do selektora szablonów Nextcloud Office.", "Zotero" : "Zotero", @@ -159,22 +148,22 @@ "No font overview" : "Brak przeglądu czcionki", "Delete this font" : "Usuń tę czcionkę", "No results" : "Brak wyników", + "Select file" : "Wybierz plik", "Select file or folder to link to" : "Wybierz plik lub katalog do linku", "Could not find any section in the document" : "Nie można znaleźć żadnej sekcji w dokumencie", - "Select file" : "Wybierz plik", + "{productName} is not configured" : "{productName} nie jest skonfigurowany", + "Starting the built-in CODE server failed" : "Uruchomienie wbudowanego serwera CODE nie powiodło się", + "Loading {filename} …" : "Wczytywanie {filename}…", + "Failed to load {productName} - please try again later" : "Nie udało się załadować {productName} - spróbuj ponownie później", + "Open in local editor" : "Otwórz w lokalnym edytorze", + "Cluster is scaling …" : "Klaster skaluje się…", + "The collaborative editing was terminated by another user" : "Wspólne edytowanie zostało zakończone przez innego użytkownika", "Document loading failed" : "Wczytywanie dokumentu nie powiodło się", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Aby uzyskać więcej informacji, sprawdź dziennik serwera Collabora Online i upewnij się, że można z niego uzyskać dostęp do Nextcloud.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Połączenie z gniazdem zostało nieoczekiwanie zamknięte. Odwrotne proxy może być błędnie skonfigurowane. Skontaktuj się z administratorem.", "More information can be found in the reverse proxy documentation" : "Więcej informacji można znaleźć w dokumentacji odwrotnego proxy", "Close" : "Zamknij", "Edit" : "Edycja", - "Starting the built-in CODE server failed" : "Uruchomienie wbudowanego serwera CODE nie powiodło się", - "Loading {filename} …" : "Wczytywanie {filename}…", - "Open in local editor" : "Otwórz w lokalnym edytorze", - "Cluster is scaling …" : "Klaster skaluje się…", - "The collaborative editing was terminated by another user" : "Wspólne edytowanie zostało zakończone przez innego użytkownika", - "Failed to load {productName} - please try again later" : "Nie udało się załadować {productName} - spróbuj ponownie później", - "{productName} is not configured" : "{productName} nie jest skonfigurowany", "Built-in CODE Server is starting up shortly, please wait." : "Wbudowany serwer CODE uruchomi się wkrótce. Proszę czekać.", "Built-in CODE Server is restarting, please wait." : "Wbudowany serwer CODE restartuje się. Proszę czekać.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Błąd: Nie można znaleźć AppImage. Zainstaluj ponownie wbudowany serwer Collabora Online.", @@ -205,15 +194,23 @@ "Follow current editor" : "Śledź bieżącego edytora", "New file" : "Nowy plik", "Please enter the filename for the new file" : "Wprowadź nazwę nowego pliku", - "Create" : "Utwórz", - "New drawing" : "Nowy rysunek", "Could not create file" : "Nie można utworzyć pliku", - "Select template" : "Wybierz szablon", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Zapisano z błędem: Collabora Online powinna używać tego samego protokołu co instalacja serwera", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Nie można nawiązać połączenia z serwerem Collabora Online. Może to być spowodowane brakującą konfiguracją serwera WWW. Aby uzyskać więcej informacji prosimy odwiedzić:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office wymaga osobnego serwera z działającym Collabora Online, aby umożliwić edycję.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online wymaga osobnego serwera działającego jako klient WOPI-like, aby umożliwić edycję.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Wszyscy użytkownicy mogą domyślnie edytować dokumenty za pomocą {productName}. Gdy to ustawienie jest aktywne, tylko członkowie określonych grup mogą edytować, natomiast pozostali mogą tylko wyświetlać dokumenty.", + "Secure view settings" : "Bezpieczne ustawienia widoku", + "Secure view enables you to secure documents by embedding a watermark" : "Bezpieczny widok pozwala zabezpieczyć dokumenty poprzez osadzenie znaku wodnego", + "Enable watermarking" : "Włącz znak wodny", + "Show watermark on tagged files" : "Pokaż znak wodny na oznaczonych plikach", + "Show watermark for users of groups" : "Pokaż znak wodny dla użytkowników grup", + "Show watermark for all shares" : "Pokaż znak wodny dla wszystkich udostępnień", + "Show watermark for read only shares" : "Pokaż znak wodny dla udostępnień tylko do odczytu", + "Show watermark for all link shares" : "Pokaż znak wodny dla wszystkich udostępnionych linków", + "Show watermark for download hidden shares" : "Pokaż znak wodny dla pobrania ukrytych udostępnień", + "Show watermark for read only link shares" : "Pokaż znak wodny dla udostępnionych linków tylko do odczytu", + "Show watermark on link shares with specific system tags" : "Pokaż znak wodny na udostępnionych linkach z określonymi etykietami systemowymi", "Error" : "Błąd", "An error occurred" : "Wystąpił błąd", "Please choose your nickname to continue as guest user." : "Wybierz swój pseudonim, aby kontynuować jako gość.", @@ -234,6 +231,10 @@ "No templates defined." : "Nie zdefiniowano szablonów.", "Add a new one?" : "Dodać nowy?", "template preview" : "podgląd szablonu", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Pliki nadal mogą być pobierane za pośrednictwem usługi Nextcloud, o ile nie są ograniczone w inny sposób w ustawieniach udostępniania lub kontroli dostępu", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Podglądy będą blokowane dla plików ze znakami wodnymi, aby nie ujawniać pierwszej strony dokumentów", + "Show watermark for shares without download permission" : "Pokaż znak wodny dla udostępnień bez pozwolenia na pobieranie", + "New drawing" : "Nowy rysunek", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument już istnieje", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online jest włączony domyślnie dla wszystkich użytkowników. Gdy to ustawienie jest aktywne tylko członkowie określonych grup mogą z niego korzystać..", diff --git a/l10n/pt_BR.js b/l10n/pt_BR.js index 5471160e84..2b07056100 100644 --- a/l10n/pt_BR.js +++ b/l10n/pt_BR.js @@ -1,6 +1,7 @@ OC.L10N.register( "richdocuments", { + "No files found for this task." : "Nenhum arquivo encontrado para essa tarefa.", "Cannot create document" : "Não é possível criar documento ", "New Document.odt" : "Novo Documento.odt", "New Spreadsheet.ods" : "Novo Planilha.ods", @@ -8,7 +9,7 @@ OC.L10N.register( "New Document.docx" : "Novo Documento.docx", "New Spreadsheet.xlsx" : "Nova Planilha.xlsx", "New Presentation.pptx" : "Nova Apresentação.pptx", - "File already exists" : "O arquivo já existe", + "File already exists" : "Arquivo já existe", "Not allowed to create document" : "Não é permitido criar documento", "Saved" : "Salvo", "Invalid config key" : "Chave de configuração inválida", @@ -20,69 +21,111 @@ OC.L10N.register( "No file was uploaded" : "Nenhum arquivo foi enviado", "Missing a temporary folder" : "Faltando uma pasta temporária", "Could not write file to disk" : "Não foi possível gravar o arquivo no disco", - "A PHP extension stopped the file upload" : "Uma extensão PHP interrompeu o envio do arquivo", - "No file uploaded or file size exceeds maximum of %s" : "Nenhum arquivo carregado ou o tamanho do arquivo excede o máximo de%s", + "A PHP extension stopped the file upload" : "Uma extensão PHP interrompeu o upload do arquivo", + "No file uploaded or file size exceeds maximum of %s" : "Nenhum arquivo carregado ou o tamanho do arquivo excede o máximo de %s", "Failed to upload the file" : "Falha ao carregar o arquivo", "File is too big" : "Arquivo muito grande", "Only template files can be uploaded" : "Somente arquivos de modelo podem ser enviados", "Invalid file provided" : "Arquivo fornecido inválido", "Template not found" : "Modelo não encontrado", + "Unable to determine the proper file extension for %1$s" : "Não foi possível determinar a extensão de arquivo adequada para %1$s", + "Unable to fetch information on %1$s" : "Não foi possível obter informações sobre %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Imagem (.png)", + "Image (.svg)" : "Imagem (.svg)", + "Text (.rtf)" : "Texto (.rtf)", + "Text (.txt)" : "Texto (.txt)", + "Word Document (.docx)" : "Documento Word (.docx)", + "OpenDocument Text (.odt)" : "Texto OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Planilha Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Planilha OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Apresentação do PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Apresentação do OpenDocument (.odp)", "New document" : "Novo documento", "New spreadsheet" : "Nova planilha", "New presentation" : "Nova apresentação", "New diagram" : "Novo diagrama", "{user} has mentioned you in {node}" : "{user} mencionou você em {node}", - "Link to office document section" : "Link para a seção de documentos do escritório", + "Link to office document section" : "Link para a seção de documentos do office", "Nextcloud Office" : "Nextcloud Office", "Headings" : "Títulos", "Sections" : "Seções", "Images" : "Imagens", - "Sheets" : "Folhas", + "Sheets" : "Planilhas", "Slides" : "Slides", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Gerador de Apresentações de Slides do Nextcloud Assistente", + "Generate Slide Deck" : "Gerar Apresentação de Slides", + "Generate a slide deck from a presentation script" : "Gerar um conjunto de slides a partir de um script de apresentação", + "Presentation script" : "Script de apresentação", + "Write the text for your presentation here" : "Escreva o texto de sua apresentação aqui", + "Generated slide deck" : "Apresentação de slides gerada", + "The slide deck generated" : "A apresentação de slides gerada", + "Nextcloud Office text document generator" : "Gerador de documentos de texto do Nextcloud Office", + "Document format" : "Formato do documento", + "The format of the generated document" : "O formato do documento gerado", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Formato de Documento Portátil (pdf)", + "Generate Office text document" : "Gerar documento de texto do Office", + "Generate an Office text document from a prompt" : "Gerar um documento de texto do Office a partir de um prompt", + "Instructions" : "Instruções", + "Describe the document you want the assistant to generate" : "Descreva o documento que você deseja que o assistente gere", + "Generated Office document" : "Documento do Office gerado", + "The Office document that was generated from the description" : "O documento do Office que foi gerado a partir da descrição", + "Nextcloud Office spreadsheet generator" : "Gerador de planilhas do Nextcloud Office", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Gerar documento de planilha do Office", + "Generate an Office spreadsheet document from a prompt" : "Gerar um documento de planilha do Office a partir de um prompt", "Empty" : "Vazio", "Anonymous guest" : "Convidado anônimo", "%s (Guest)" : "%s (Convidado)", "Edit office documents directly in your browser." : "Edite documentos de escritório diretamente no navegador.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Este aplicativo pode se conectar a um servidor Collabora Online (ou outro). É um cliente semelhante ao WOPI. Nextcloud é o host WOPI. Leia a documentação para saber mais.\n\nVocê também pode editar seus documentos off-line com o aplicativo Collabora Office da loja **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** e **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", - "Global Templates" : "Modelos globais", - "New" : "Novo", - "Uploaded template \"{name}\"" : "Modelo carregado \"{name}\"", + "Accepted file types: {accepts}" : "Tipos de arquivos aceitos: {accepts}", + "Uploaded template \"{name}\"" : "Modelo \"{name}\" carregado", "Template \"{name}\" already exists" : "Modelo \"{name}\" já existe", "Unable to delete template" : "Não é possível excluir o modelo", - "Deleted template" : "Predefinição excluída", - "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office é um poderoso pacote de escritório online baseado em Collabora Online com edição colaborativa, que suporta todos os principais documentos, planilhas e formatos de arquivo de apresentação e funciona junto com todos os navegadores modernos.", + "Deleted template" : "Modelo excluído", + "Global Templates" : "Modelos globais", + "New" : "Novo", + "Contact {0} to get an own installation." : "Contacte {0} para obter sua própria instalação.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Certifique-se de definir este URL: {url} no arquivo coolwsd.xml do seu servidor Collabora Online para garantir que as fontes adicionadas sejam carregadas automaticamente. Observe que http:// funcionará apenas para compilações de depuração do Collabora Online. Em produção, você deve usar https:// para configuração de fontes remotas.", + "Failed to save settings" : "Erro ao salvar configurações", + "Font format not supported ({mime})" : "Formato de fonte não suportado ({mime})", + "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office é um poderoso pacote de escritório on-line baseado em Collabora Online com edição colaborativa, que suporta todos os principais formatos de arquivo de documentos, planilhas e apresentação e funciona junto com todos os navegadores modernos.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "O Collabora Online é um poderoso pacote de escritório online baseado no LibreOffice com edição colaborativa, que suporta os principais documentos, formatos de arquivo de planilhas e apresentações e funciona em conjunto com todos os navegadores modernos.", "Could not establish connection to the Collabora Online server." : "Não foi possível conectar com o servidor Collabora Online.", - "This might be due to a missing configuration of your web server. For more information, please visit: " : "Isso pode ser devido à falta de configuração do seu servidor web. Para mais informações por favor visite:", + "This might be due to a missing configuration of your web server. For more information, please visit: " : "Isso pode ser devido à falta de configuração do seu servidor web. Para mais informações, por favor, visite:", "Connecting Collabora Online Single Click with Nginx" : "Conectando o Collabora Online com um Único Clique com o Nginx", "Setting up a new server" : "Configurando um novo servidor", "Collabora Online should use the same protocol as the server installation." : "O Collabora Online deve usar o mesmo protocolo da instalação do servidor.", "Your browser has been unable to connect to the Collabora server:" : "Seu navegador não conseguiu se conectar ao servidor Collabora:", - "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Essa URL é determinada no servidor Collabora a partir da URL configurada ou do parâmetro server_name em coolwsd.xml.", + "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Este URL é determinado no servidor Collabora a partir do URL configurado ou do parâmetro server_name em coolwsd.xml.", "Collabora Online server is reachable." : "Servidor Collabora Online está pronto.", "URL used by the browser:" : "URL usado pelo navegador:", "Nextcloud URL used by Collabora:" : "URL Nextcloud usado pelo Collabora:", "Please configure a Collabora Online server to start editing documents" : "Configure o servidor Collabora Online para iniciar a edição de documentos", - "You have not configured the allow-list for WOPI requests. Without this setting users may download restricted files via WOPI requests to the Nextcloud server." : "Você não configurou a lista de permissões para solicitações WOPI. Sem essa configuração, os usuários podem baixar arquivos restritos por meio de solicitações WOPI para o servidor Nextcloud.", + "You have not configured the allow-list for WOPI requests. Without this setting users may download restricted files via WOPI requests to the Nextcloud server." : "Você não configurou a lista de permissões para solicitações WOPI. Sem esta configuração, os usuários podem baixar arquivos restritos por meio de solicitações WOPI para o servidor Nextcloud.", "Click here for more info" : "Clique aqui para mais informações", "Use your own server" : "Usar seu próprio servidor", "Nextcloud Office requires a separate server running Collabora Online to provide editing capabilities." : "O Nextcloud Office requer um servidor separado executando o Collabora Online para fornecer recursos de edição.", "Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities." : "O Collabora Online requer um servidor separado atuando como um cliente do tipo WOPI para fornecer recursos de edição.", "URL (and Port) of Collabora Online-server" : "URL (e porta) do servidor Collabora Online", "Disable certificate verification (insecure)" : "Desativar a verificação do certificado (inseguro)", - "Enable if your Collabora Online server uses a self signed certificate" : "Ativar se o seu servidor Collabora Online usar um certificado auto assinado", + "Enable if your Collabora Online server uses a self signed certificate" : "Ativar se o seu servidor Collabora Online usar um certificado autoassinado", "Use the built-in CODE - Collabora Online Development Edition" : "Usar o CODE embutido - Edição de Desenvolvimento Collabora Online", "Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Fácil de instalar, para uso pessoal ou para pequenas equipes. Um pouco mais lento que um servidor independente e sem os recursos avançados de escalabilidade.", "This installation does not have a built in server." : "Esta instalação não tem um servidor embutido.", - "Install it from the App Store." : "Instale do App Store.", - "If the installation from the App Store fails, you can still do that manually using this command:" : "Se a instalação da App Store falhar, você ainda pode fazer isso manualmente usando este comando: ", + "Install it from the App Store." : "Instale da Loja de Aplicativos.", + "If the installation from the App Store fails, you can still do that manually using this command:" : "Se a instalação da Loja de Aplicativos falhar, você ainda pode fazer isso manualmente usando este comando:", "Use a demo server" : "Usar um servidor de demonstração", "You can use a demo server provided by Collabora and other service providers for giving Collabora Online a try." : "Você pode usar um servidor de demonstração fornecido pela Collabora e outros fornecedores para experimentar o Collabora Online.", - "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Sua configuração do Nextcloud não é capaz de se conectar aos servidores de demonstração porque:", - "it is a local setup (localhost)" : "é uma configuração local (localhost)", - "it uses an insecure protocol (HTTP)" : "ele usa um protocolo inseguro (HTTP) ", - "it is unreachable from the internet (possibly because of a firewall, or lack of port forwarding)" : "está inacessível da Internet (possivelmente por causa de um firewall ou falta de encaminhamento de porta)", + "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Sua instalação do Nextcloud não é capaz de se conectar aos servidores de demonstração porque:", + "it is a local setup (localhost)" : "ela é uma instalação local (localhost)", + "it uses an insecure protocol (HTTP)" : "ela usa um protocolo inseguro (HTTP) ", + "it is unreachable from the internet (possibly because of a firewall, or lack of port forwarding)" : "ela está inacessível da Internet (possivelmente por causa de um firewall ou falta de encaminhamento de porta)", "For use cases like this, we offer instructions for a" : "Para casos de uso como este, oferecemos instruções para um", "Quick tryout with Nextcloud docker." : "Teste rápido com o docker Nextcloud.", "Loading available demo servers …" : "Carregando servidores de demonstração disponíveis...", @@ -100,97 +143,109 @@ OC.L10N.register( "Advanced settings" : "Configurações avançadas", "Use Office Open XML (OOXML) instead of OpenDocument Format (ODF) by default for new files" : "Usar o Office Open XML (OOXML) em vez do formato OpenDocument (ODF) por padrão para novos arquivos", "Restrict usage to specific groups" : "Uso restrito a grupos específicos", - "{productName} is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "{productName} está habilitado para todos os usuários por padrão. Quando esta configuração está ativa, apenas membros dos grupos especificados podem usá-la.", + "{productName} is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "{productName} está habilitado para todos os usuários por padrão. Quando esta configuração está ativa, apenas membros dos grupos especificados podem usá-lo.", "Select groups" : "Selecionar grupos", "Restrict edit to specific groups" : "Edição restrita a grupos específicos", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit, whereas the others can only view documents." : "Todos os usuários podem editar documentos com {productName} por padrão. Quando esta configuração está ativa, apenas os membros dos grupos especificados podem editar, enquanto os outros podem apenas visualizar documentos.", "Use Canonical webroot" : "Use o webroot canônico", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Webroot canônico, no caso de haver múltiplos, para o Collabora usar. Forneça um com menos restrições. Por exemplo: use webroot não shibbolizado se esta instância for acessada por webroots shibbolizados e não shibbolizados. Você pode ignorar essa configuração se apenas uma webroot for usada para acessar esta instância.", "Enable access for external apps" : "Ativar acesso a aplicativos externos", - "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de endereços IP e sub-redes IPV4 e IPV6 que têm permissão para realizar solicitações dos terminais WOPI. Se nenhuma lista de permissões for especificada, todos os hosts serão permitidos. Por exemplo. 10.0.0.20,10.0.4.0 / 24 ", - "Extra fonts" : "Fontes extras", - "Upload extra font file" : "Carregar arquivo de fonte extra", - "Upload a font file" : "Carregar um arquivo de fonte", + "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de endereços IP e sub-redes IPV4 e IPV6 que têm permissão para realizar solicitações aos endpoints WOPI. Se nenhuma lista de permissões for especificada, todos os hosts serão permitidos. P. ex., 10.0.0.20,10.0.4.0/24 ", + "Custom Fonts" : "Fontes Personalizadas", + "Upload font file" : "Carregar arquivo de fonte", + "Upload a font file" : "Fazer upload de um arquivo de fonte", "Available fonts" : "Fontes disponíveis", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Para uma compatibilidade ideal de documentos, recomendamos que você instale fontes comumente usadas. Se seus usuários estiverem trabalhando com o Microsoft Office, a instalação de suas fontes proprietárias poderá ser feita seguindo a documentação.", "Custom fonts documentation" : "Documentação de fontes personalizadas", - "Secure view settings" : "Configurações da visualização segura", - "Secure view enables you to secure documents by embedding a watermark" : "A visualização segura permite proteger documentos incorporando uma marca d'água", + "Secure View" : "Visualização Segura", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "A visualização segura permite que você proteja documentos de escritório bloqueando downloads e visualizações prévias e exibindo uma marca d'água", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "As configurações se aplicam apenas a arquivos de escritório compatíveis que são abertos no Nextcloud Office", + "Downloading the file through WebDAV will be blocked" : "O download do arquivo por meio do WebDAV será bloqueado", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "As seguintes opções no Nextcloud Office serão desabilitadas: Copiar, Baixar, Exportar, Imprimir", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Os arquivos ainda podem ser baixados por meio do Nextcloud, a menos que sejam restritos de outra forma por meio de configurações de compartilhamento ou controle de acesso", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Os arquivos ainda podem ser baixados por meio de solicitações WOPI se as configurações WOPI não estiverem configuradas corretamente", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "As visualizações serão bloqueadas para que os arquivos com marca d'água não vazem a primeira página dos documentos", - "Enable watermarking" : "Ativar marca d'água", + "Previews will be blocked" : "As visualizações prévias serão bloqueadas", + "Enable secure view" : "Ativar visualização segura", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Marcadores de posição suportados: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mostrar marca d'água em arquivos rotulados", + "Enforce secure view on tagged files" : "Impor visualização segura para arquivos etiquetados", "Select tags to enforce watermarking" : "Selecione os rótulos a forçar a marca d'água", - "Show watermark for users of groups" : "Mostrar marca d'água para usuários ou grupos", - "Show watermark for all shares" : "Mostrar marca d'água para todos os compartilhamentos", - "Show watermark for read only shares" : "Mostrar marca d'água para compartilhamentos somente leitura", - "Show watermark for shares without download permission" : "Mostrar marca d'água para compartilhamentos sem permissão de download", - "Show watermark for all link shares" : "Mostrar marca d'água para todos os links de compartilhamento", - "Show watermark for download hidden shares" : "Mostrar marca d'água para compartilhamentos ocultos de download", - "Show watermark for read only link shares" : "Mostrar marca d'água para compartilhamentos por link somente leitura", - "Show watermark on link shares with specific system tags" : "Mostrar marca d'água em links de compartilhamento com rótulos específicos", - "Contact {0} to get an own installation." : "Contacte {0} para obter sua própria instalação.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Certifique-se de definir esta URL: {url} no arquivo coolwsd.xml do seu servidor Collabora Online para garantir que as fontes adicionadas sejam carregadas automaticamente. Observe que http:// funcionará apenas para compilações de depuração do Collabora Online. Em produção, você deve usar https:// para configuração remota de fontes.", - "Failed to save settings" : "Erro ao salvar configurações", - "Font format not supported ({mime})" : "Formato de fonte não suportado ({mime})", + "Enforce secure view for users of groups" : "Impor visualização segura para grupos de usuários", + "Enforce secure view for all shares" : "Impor visualização segura para todos os compartilhamentos", + "Enforce secure view for read only shares" : "Impor visualização segura para compartilhamentos somente leitura", + "Enforce secure view for all public Talk shares" : "Impor visualização segura para todos os compartilhamentos públicos do Talk", + "Enforce secure view for shares without download permission" : "Impor visualização segura para compartilhamentos sem permissão de download", + "Enforce secure view for all link shares" : "Impor visualização segura para todos os compartilhamentos por link", + "Enforce secure view for download hidden shares" : "Impor visualização segura para compartilhamentos com download oculto", + "Enforce secure view for read only link shares" : "Impor visualização segura para compartilhamentos por link somente leitura", + "Enforce secure view on link shares with specific system tags" : "Impor visualização segura para compartilhamentos por link com etiquetas do sistema específicas", + "Select tags to enforce secure view" : "Selecione etiquetas para impor visualização segura", + "Electronic Signature" : "Assinatura Eletrônica", + "Client ID for the electronic signature API" : "ID do cliente para a API de assinatura eletrônica", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Preencha o formulário de registro em https://eideasy.com/signup para obter um ID e um segredo de cliente.", + "Secret for the electronic signature API" : "Segredo da API de assinatura eletrônica", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "O segredo pode ser baixado por meio de solicitações WOPI se a lista de permissões WOPI não estiver configurada corretamente.", "Save" : "Salvar", "Remove" : "Remover", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Por favor, insira o nome do convidado que deseja usar antes de prosseguir com o documento. Se você não fornecer um, o padrão será usado.", "Guest name" : "Nome do convidado", "Submit name" : "Enviar nome", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Por favor, insira o nome do convidado que deseja usar antes de prosseguir com o documento. Se você não fornecer um, o padrão será usado.", "Confirm" : "Confirmar", "Cancel" : "Cancelar", + "Save As" : "Salvar Como", "Save as" : "Salvar como", "Path to save" : "Caminho para salvar", - "Save As" : "Salvar Como", + "Invalid file name" : "Nome de arquivo inválido", + "File name already exists" : "O nome do arquivo já existe", + "Select template" : "Selecionar um modelo", + "File name" : "Nome do arquivo", + "Create" : "Criar", + "Failed to set Zotero API key" : "Falha ao definir a chave de API Zotero", "Link to your Zotero library" : "Link para sua biblioteca Zotero", "Connect your Zotero account to make use of references within Office." : "Conecte sua conta Zotero para fazer uso de referências no Office.", "You can generate an account key here:" : "Você pode gerar uma chave de conta aqui:", "Zotero account settings" : "Configurações da conta Zotero", "Zotero API key" : "Chave de API Zotero", "Submit" : "Enviar", - "Failed to set Zotero API key" : "Falha ao definir a chave de API do Zotero", - "Select a template directory" : "Selecionar um diretório de modelos", "Select a personal template folder" : "Selecione uma pasta de modelos pessoais", + "Settings saved successfully." : "Configurações salvas com sucesso.", + "Failed to save settings." : "Falha ao salvar as configurações.", + "Unexpected error occurred." : "Ocorreu um erro inesperado.", + "Personal Settings for Nextcloud Office" : "Configurações Pessoais do Nextcloud Office", + "Select a template directory" : "Selecionar um diretório de modelos", "Remove personal template folder" : "Remover a pasta de modelos pessoais", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Os modelos dentro deste diretório serão adicionados ao seletor de modelos do Nextcloud Office.", "Zotero" : "Zotero", "Enter Zotero API Key" : "Insira a chave de API do Zotero", "Remove Zotero API Key" : "Remover chave de API do Zotero", - "To use Zotero specify your API key here. You can create your API key in your" : "Para usar o Zotero, especifique sua chave de API aqui. Você pode criar sua chave de API em seu", + "To use Zotero specify your API key here. You can create your API key in your" : "Para usar o Zotero, especifique sua chave API aqui. Você pode criar sua chave API em seu", "Zotero account API settings." : "Configurações de API da conta Zotero.", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Esta instância não oferece suporte ao Zotero porque o recurso está ausente ou desativado. Entre em contato com a administração.", "Document signing" : "Assinatura de documentos", - "Enter document signing cert (in PEM format)" : "Digite o Cert de assinatura de documentos (em formato PEM)", + "Enter document signing cert (in PEM format)" : "Digite o certificado de assinatura de documentos (em formato PEM)", "Enter document signing key" : "Digite a chave de assinatura de documentos", "Enter document signing CA chain" : "Digite a cadeia CA de assinatura de documentos", "To use document signing, specify your signing certificate, key and CA chain here." : "Para usar a assinatura de documentos, especifique seu certificado de assinatura, chave e cadeia CA aqui.", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Esta instância não suporta assinatura de documentos, porque o recurso está ausente ou desabilitado. Entre em contato com o administrador.", "Description" : "Descrição", "Add new token" : "Adicionar novo token", - "No font overview" : "Nenhuma visão geral da fonte", + "No font overview" : "Nenhuma visão geral de fontes", "Delete this font" : "Excluir esta fonte", "No results" : "Nenhum resultado", - "Select file or folder to link to" : "Selecione o arquivo ou pasta para vincular", + "Select file" : "Selecionar arquivo", + "Select file or folder to link to" : "Selecione um arquivo ou pasta para vincular", "Could not find any section in the document" : "Não foi possível encontrar nenhuma seção no documento", - "Select file" : "Selecione o arquivo", + "{productName} is not configured" : "{productName} não está configurado", + "Starting the built-in CODE server failed" : "Falha ao iniciar o servidor CODE integrado", + "Loading {filename} …" : "Carregando {filename} …", + "Failed to load {productName} - please try again later" : "Falha ao carregar {productName} - tente novamente mais tarde", + "Open in local editor" : "Abrir no editor local", + "Cluster is scaling …" : "O cluster está sendo escalonado …", + "The collaborative editing was terminated by another user" : "A edição colaborativa foi encerrada por outro usuário", "Document loading failed" : "O carregamento do documento falhou", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Verifique o log do servidor Collabora Online para obter mais detalhes e certifique-se de que o Nextcloud possa ser acessado a partir daí.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "A conexão do socket foi fechada inesperadamente. O proxy reverso pode estar configurado incorretamente. Entre em contato com o administrador.", "More information can be found in the reverse proxy documentation" : "Mais informações podem ser encontradas na documentação do proxy reverso", "Close" : "Fechar", "Edit" : "Editar", - "Starting the built-in CODE server failed" : "Falha ao iniciar o servidor CODE integrado", - "Loading {filename} …" : "Carregando {filename} …", - "Open in local editor" : "Abrir no editor local", - "Cluster is scaling …" : "O cluster está sendo escalonado…", - "The collaborative editing was terminated by another user" : "A edição colaborativa foi encerrada por outro usuário", - "Failed to load {productName} - please try again later" : "Falha ao carregar {productName} - tente novamente mais tarde", - "{productName} is not configured" : "{productName} não está configurado", "Built-in CODE Server is starting up shortly, please wait." : "O servidor CODE incorporado será iniciado em breve. Aguarde.", "Built-in CODE Server is restarting, please wait." : "O servidor CODE incorporado está reiniciando. Aguarde.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Erro: Não foi possível encontrar o AppImage, reinstale o servidor Collabora Online Incorporado.", @@ -202,12 +257,13 @@ OC.L10N.register( "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Erro: Não foi possível iniciar o servidor Collabora Online integrado. Configure um servidor autônomo.", "Close version preview" : "Fechar a pré-visualização da versão", "Edit with {productName}" : "Editar com {productName}", - "Open file locally" : "Abrir o arquivo localmente", + "Insert into document" : "Inserir no documento", + "Open file locally" : "Abrir arquivo localmente", "When opening a file locally, the document will close for all users currently viewing the document." : "Ao abrir um arquivo localmente, o documento será fechado para todos os usuários que estiverem visualizando o documento.", "Open locally" : "Abrir localmente", "Continue editing online" : "Continuar editando on-line", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "O arquivo agora deve abrir localmente. Se isso não acontecer, certifique-se de que o cliente de desktop esteja instalado em seu sistema.", - "Retry to open locally" : "Tente abrir novamente localmente", + "Retry to open locally" : "Retentar abrir localmente", "Save a copy of the file under a new name and continue editing the new file" : "Salve uma cópia do arquivo com um novo nome e continue editando o novo arquivo", "Failed to revert the document to older version" : "Falha ao reverter para uma versão mais antiga", "Built-in CODE server failed to start" : "O servidor CODE integrado falhou ao iniciar", @@ -222,16 +278,25 @@ OC.L10N.register( "Guest" : "Convidado", "Follow current editor" : "Seguir o editor atual", "New file" : "Novo arquivo", - "Please enter the filename for the new file" : "Por favor insira o nome do arquivo para o novo arquivo", - "Create" : "Criar", - "New drawing" : "Novo desenho", + "Please enter the filename for the new file" : "Por favor, insira o nome do novo arquivo", "Could not create file" : "Não foi possível criar o arquivo", - "Select template" : "Selecionar um modelo", + "Could not load templates" : "Não foi possível carregar modelos", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Salvo com erro: Collabora Online deve usar o mesmo protocolo que a instalação do servidor.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Não foi possível estabelecer conexão com o servidor Collabora Online. Isso pode ser devido a uma configuração ausente do seu servidor web. Para mais informações, visite:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "O Nextcloud Office requer um servidor separado executando o Collabora Online para fornecer recursos de edição.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "O Collabora Online requer um servidor separado atuando como um cliente do tipo WOPI para fornecer recursos de edição.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Todos os usuários podem editar documentos com {productName} por padrão. Quando esta configuração está ativa, apenas os membros dos grupos especificados podem editar e os outros podem apenas visualizar documentos.", + "Secure view settings" : "Configurações da visualização segura", + "Secure view enables you to secure documents by embedding a watermark" : "A visualização segura permite proteger documentos incorporando uma marca d'água", + "Enable watermarking" : "Ativar marca d'água", + "Show watermark on tagged files" : "Mostrar marca d'água em arquivos rotulados", + "Show watermark for users of groups" : "Mostrar marca d'água para usuários ou grupos", + "Show watermark for all shares" : "Mostrar marca d'água para todos os compartilhamentos", + "Show watermark for read only shares" : "Mostrar marca d'água para compartilhamentos somente leitura", + "Show watermark for all link shares" : "Mostrar marca d'água para todos os links de compartilhamento", + "Show watermark for download hidden shares" : "Mostrar marca d'água para compartilhamentos ocultos de download", + "Show watermark for read only link shares" : "Mostrar marca d'água para compartilhamentos por link somente leitura", + "Show watermark on link shares with specific system tags" : "Mostrar marca d'água em links de compartilhamento com rótulos específicos", "Error" : "Erro", "An error occurred" : "Ocorreu um erro", "Please choose your nickname to continue as guest user." : "Escolha um apelido para continuar como convidado.", @@ -239,6 +304,8 @@ OC.L10N.register( "Set" : "Definir", "Please enter the filename to store the document as." : "Entre com o nome do arquivo a salvar.", "New filename" : "Novo nome de arquivo", + "Collabora Online is not setup yet. Please contact your administrator." : "O Collabora Online ainda não está configurado. Entre em contato com seu administrador.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Não há suporte para a abertura do arquivo, pois as credenciais do armazenamento externo não estão disponíveis sem uma sessão", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Falha ao conectar-se a {productName}. Tente novamente mais tarde ou entre em contato com o administrador do servidor.", "Saving…" : "Salvando...", "Insert from {name}" : "Inserir de {name}", @@ -252,9 +319,13 @@ OC.L10N.register( "No templates defined." : "Sem modelos definidos", "Add a new one?" : "Adicionar um novo?", "template preview" : "visualização do modelo", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Os arquivos ainda podem ser baixados por meio do Nextcloud, a menos que sejam restritos de outra forma por meio de configurações de compartilhamento ou controle de acesso", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "As visualizações serão bloqueadas para os arquivos com marca d'água para que elas não vazem a primeira página dos documentos", + "Show watermark for shares without download permission" : "Mostrar marca d'água para compartilhamentos sem permissão de download", + "New drawing" : "Novo desenho", "Collabora Online" : "Collabora Online", "Document already exists" : "Documento já existe", - "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "O Collabora Online está habilitado para todos os usuários por padrão. Quando essa configuração está ativa, apenas os membros dos grupos especificados podem usá-la.", + "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "O Collabora Online está habilitado para todos os usuários por padrão. Quando essa configuração está ativa, apenas os membros dos grupos especificados podem usá-lo.", "Templates inside of this directory will be added to the template selector of Collabora Online." : "Os modelos dentro deste diretório serão adicionados ao seletor de modelos do Collabora Online." }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/pt_BR.json b/l10n/pt_BR.json index cbf2ac4e91..d714f20f54 100644 --- a/l10n/pt_BR.json +++ b/l10n/pt_BR.json @@ -1,4 +1,5 @@ { "translations": { + "No files found for this task." : "Nenhum arquivo encontrado para essa tarefa.", "Cannot create document" : "Não é possível criar documento ", "New Document.odt" : "Novo Documento.odt", "New Spreadsheet.ods" : "Novo Planilha.ods", @@ -6,7 +7,7 @@ "New Document.docx" : "Novo Documento.docx", "New Spreadsheet.xlsx" : "Nova Planilha.xlsx", "New Presentation.pptx" : "Nova Apresentação.pptx", - "File already exists" : "O arquivo já existe", + "File already exists" : "Arquivo já existe", "Not allowed to create document" : "Não é permitido criar documento", "Saved" : "Salvo", "Invalid config key" : "Chave de configuração inválida", @@ -18,69 +19,111 @@ "No file was uploaded" : "Nenhum arquivo foi enviado", "Missing a temporary folder" : "Faltando uma pasta temporária", "Could not write file to disk" : "Não foi possível gravar o arquivo no disco", - "A PHP extension stopped the file upload" : "Uma extensão PHP interrompeu o envio do arquivo", - "No file uploaded or file size exceeds maximum of %s" : "Nenhum arquivo carregado ou o tamanho do arquivo excede o máximo de%s", + "A PHP extension stopped the file upload" : "Uma extensão PHP interrompeu o upload do arquivo", + "No file uploaded or file size exceeds maximum of %s" : "Nenhum arquivo carregado ou o tamanho do arquivo excede o máximo de %s", "Failed to upload the file" : "Falha ao carregar o arquivo", "File is too big" : "Arquivo muito grande", "Only template files can be uploaded" : "Somente arquivos de modelo podem ser enviados", "Invalid file provided" : "Arquivo fornecido inválido", "Template not found" : "Modelo não encontrado", + "Unable to determine the proper file extension for %1$s" : "Não foi possível determinar a extensão de arquivo adequada para %1$s", + "Unable to fetch information on %1$s" : "Não foi possível obter informações sobre %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Imagem (.png)", + "Image (.svg)" : "Imagem (.svg)", + "Text (.rtf)" : "Texto (.rtf)", + "Text (.txt)" : "Texto (.txt)", + "Word Document (.docx)" : "Documento Word (.docx)", + "OpenDocument Text (.odt)" : "Texto OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Planilha Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Planilha OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Apresentação do PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Apresentação do OpenDocument (.odp)", "New document" : "Novo documento", "New spreadsheet" : "Nova planilha", "New presentation" : "Nova apresentação", "New diagram" : "Novo diagrama", "{user} has mentioned you in {node}" : "{user} mencionou você em {node}", - "Link to office document section" : "Link para a seção de documentos do escritório", + "Link to office document section" : "Link para a seção de documentos do office", "Nextcloud Office" : "Nextcloud Office", "Headings" : "Títulos", "Sections" : "Seções", "Images" : "Imagens", - "Sheets" : "Folhas", + "Sheets" : "Planilhas", "Slides" : "Slides", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Gerador de Apresentações de Slides do Nextcloud Assistente", + "Generate Slide Deck" : "Gerar Apresentação de Slides", + "Generate a slide deck from a presentation script" : "Gerar um conjunto de slides a partir de um script de apresentação", + "Presentation script" : "Script de apresentação", + "Write the text for your presentation here" : "Escreva o texto de sua apresentação aqui", + "Generated slide deck" : "Apresentação de slides gerada", + "The slide deck generated" : "A apresentação de slides gerada", + "Nextcloud Office text document generator" : "Gerador de documentos de texto do Nextcloud Office", + "Document format" : "Formato do documento", + "The format of the generated document" : "O formato do documento gerado", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Formato de Documento Portátil (pdf)", + "Generate Office text document" : "Gerar documento de texto do Office", + "Generate an Office text document from a prompt" : "Gerar um documento de texto do Office a partir de um prompt", + "Instructions" : "Instruções", + "Describe the document you want the assistant to generate" : "Descreva o documento que você deseja que o assistente gere", + "Generated Office document" : "Documento do Office gerado", + "The Office document that was generated from the description" : "O documento do Office que foi gerado a partir da descrição", + "Nextcloud Office spreadsheet generator" : "Gerador de planilhas do Nextcloud Office", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Gerar documento de planilha do Office", + "Generate an Office spreadsheet document from a prompt" : "Gerar um documento de planilha do Office a partir de um prompt", "Empty" : "Vazio", "Anonymous guest" : "Convidado anônimo", "%s (Guest)" : "%s (Convidado)", "Edit office documents directly in your browser." : "Edite documentos de escritório diretamente no navegador.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Este aplicativo pode se conectar a um servidor Collabora Online (ou outro). É um cliente semelhante ao WOPI. Nextcloud é o host WOPI. Leia a documentação para saber mais.\n\nVocê também pode editar seus documentos off-line com o aplicativo Collabora Office da loja **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** e **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", - "Global Templates" : "Modelos globais", - "New" : "Novo", - "Uploaded template \"{name}\"" : "Modelo carregado \"{name}\"", + "Accepted file types: {accepts}" : "Tipos de arquivos aceitos: {accepts}", + "Uploaded template \"{name}\"" : "Modelo \"{name}\" carregado", "Template \"{name}\" already exists" : "Modelo \"{name}\" já existe", "Unable to delete template" : "Não é possível excluir o modelo", - "Deleted template" : "Predefinição excluída", - "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office é um poderoso pacote de escritório online baseado em Collabora Online com edição colaborativa, que suporta todos os principais documentos, planilhas e formatos de arquivo de apresentação e funciona junto com todos os navegadores modernos.", + "Deleted template" : "Modelo excluído", + "Global Templates" : "Modelos globais", + "New" : "Novo", + "Contact {0} to get an own installation." : "Contacte {0} para obter sua própria instalação.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Certifique-se de definir este URL: {url} no arquivo coolwsd.xml do seu servidor Collabora Online para garantir que as fontes adicionadas sejam carregadas automaticamente. Observe que http:// funcionará apenas para compilações de depuração do Collabora Online. Em produção, você deve usar https:// para configuração de fontes remotas.", + "Failed to save settings" : "Erro ao salvar configurações", + "Font format not supported ({mime})" : "Formato de fonte não suportado ({mime})", + "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office é um poderoso pacote de escritório on-line baseado em Collabora Online com edição colaborativa, que suporta todos os principais formatos de arquivo de documentos, planilhas e apresentação e funciona junto com todos os navegadores modernos.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "O Collabora Online é um poderoso pacote de escritório online baseado no LibreOffice com edição colaborativa, que suporta os principais documentos, formatos de arquivo de planilhas e apresentações e funciona em conjunto com todos os navegadores modernos.", "Could not establish connection to the Collabora Online server." : "Não foi possível conectar com o servidor Collabora Online.", - "This might be due to a missing configuration of your web server. For more information, please visit: " : "Isso pode ser devido à falta de configuração do seu servidor web. Para mais informações por favor visite:", + "This might be due to a missing configuration of your web server. For more information, please visit: " : "Isso pode ser devido à falta de configuração do seu servidor web. Para mais informações, por favor, visite:", "Connecting Collabora Online Single Click with Nginx" : "Conectando o Collabora Online com um Único Clique com o Nginx", "Setting up a new server" : "Configurando um novo servidor", "Collabora Online should use the same protocol as the server installation." : "O Collabora Online deve usar o mesmo protocolo da instalação do servidor.", "Your browser has been unable to connect to the Collabora server:" : "Seu navegador não conseguiu se conectar ao servidor Collabora:", - "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Essa URL é determinada no servidor Collabora a partir da URL configurada ou do parâmetro server_name em coolwsd.xml.", + "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Este URL é determinado no servidor Collabora a partir do URL configurado ou do parâmetro server_name em coolwsd.xml.", "Collabora Online server is reachable." : "Servidor Collabora Online está pronto.", "URL used by the browser:" : "URL usado pelo navegador:", "Nextcloud URL used by Collabora:" : "URL Nextcloud usado pelo Collabora:", "Please configure a Collabora Online server to start editing documents" : "Configure o servidor Collabora Online para iniciar a edição de documentos", - "You have not configured the allow-list for WOPI requests. Without this setting users may download restricted files via WOPI requests to the Nextcloud server." : "Você não configurou a lista de permissões para solicitações WOPI. Sem essa configuração, os usuários podem baixar arquivos restritos por meio de solicitações WOPI para o servidor Nextcloud.", + "You have not configured the allow-list for WOPI requests. Without this setting users may download restricted files via WOPI requests to the Nextcloud server." : "Você não configurou a lista de permissões para solicitações WOPI. Sem esta configuração, os usuários podem baixar arquivos restritos por meio de solicitações WOPI para o servidor Nextcloud.", "Click here for more info" : "Clique aqui para mais informações", "Use your own server" : "Usar seu próprio servidor", "Nextcloud Office requires a separate server running Collabora Online to provide editing capabilities." : "O Nextcloud Office requer um servidor separado executando o Collabora Online para fornecer recursos de edição.", "Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities." : "O Collabora Online requer um servidor separado atuando como um cliente do tipo WOPI para fornecer recursos de edição.", "URL (and Port) of Collabora Online-server" : "URL (e porta) do servidor Collabora Online", "Disable certificate verification (insecure)" : "Desativar a verificação do certificado (inseguro)", - "Enable if your Collabora Online server uses a self signed certificate" : "Ativar se o seu servidor Collabora Online usar um certificado auto assinado", + "Enable if your Collabora Online server uses a self signed certificate" : "Ativar se o seu servidor Collabora Online usar um certificado autoassinado", "Use the built-in CODE - Collabora Online Development Edition" : "Usar o CODE embutido - Edição de Desenvolvimento Collabora Online", "Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Fácil de instalar, para uso pessoal ou para pequenas equipes. Um pouco mais lento que um servidor independente e sem os recursos avançados de escalabilidade.", "This installation does not have a built in server." : "Esta instalação não tem um servidor embutido.", - "Install it from the App Store." : "Instale do App Store.", - "If the installation from the App Store fails, you can still do that manually using this command:" : "Se a instalação da App Store falhar, você ainda pode fazer isso manualmente usando este comando: ", + "Install it from the App Store." : "Instale da Loja de Aplicativos.", + "If the installation from the App Store fails, you can still do that manually using this command:" : "Se a instalação da Loja de Aplicativos falhar, você ainda pode fazer isso manualmente usando este comando:", "Use a demo server" : "Usar um servidor de demonstração", "You can use a demo server provided by Collabora and other service providers for giving Collabora Online a try." : "Você pode usar um servidor de demonstração fornecido pela Collabora e outros fornecedores para experimentar o Collabora Online.", - "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Sua configuração do Nextcloud não é capaz de se conectar aos servidores de demonstração porque:", - "it is a local setup (localhost)" : "é uma configuração local (localhost)", - "it uses an insecure protocol (HTTP)" : "ele usa um protocolo inseguro (HTTP) ", - "it is unreachable from the internet (possibly because of a firewall, or lack of port forwarding)" : "está inacessível da Internet (possivelmente por causa de um firewall ou falta de encaminhamento de porta)", + "Your Nextcloud setup is not capable of connecting to the demo servers because:" : "Sua instalação do Nextcloud não é capaz de se conectar aos servidores de demonstração porque:", + "it is a local setup (localhost)" : "ela é uma instalação local (localhost)", + "it uses an insecure protocol (HTTP)" : "ela usa um protocolo inseguro (HTTP) ", + "it is unreachable from the internet (possibly because of a firewall, or lack of port forwarding)" : "ela está inacessível da Internet (possivelmente por causa de um firewall ou falta de encaminhamento de porta)", "For use cases like this, we offer instructions for a" : "Para casos de uso como este, oferecemos instruções para um", "Quick tryout with Nextcloud docker." : "Teste rápido com o docker Nextcloud.", "Loading available demo servers …" : "Carregando servidores de demonstração disponíveis...", @@ -98,97 +141,109 @@ "Advanced settings" : "Configurações avançadas", "Use Office Open XML (OOXML) instead of OpenDocument Format (ODF) by default for new files" : "Usar o Office Open XML (OOXML) em vez do formato OpenDocument (ODF) por padrão para novos arquivos", "Restrict usage to specific groups" : "Uso restrito a grupos específicos", - "{productName} is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "{productName} está habilitado para todos os usuários por padrão. Quando esta configuração está ativa, apenas membros dos grupos especificados podem usá-la.", + "{productName} is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "{productName} está habilitado para todos os usuários por padrão. Quando esta configuração está ativa, apenas membros dos grupos especificados podem usá-lo.", "Select groups" : "Selecionar grupos", "Restrict edit to specific groups" : "Edição restrita a grupos específicos", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit, whereas the others can only view documents." : "Todos os usuários podem editar documentos com {productName} por padrão. Quando esta configuração está ativa, apenas os membros dos grupos especificados podem editar, enquanto os outros podem apenas visualizar documentos.", "Use Canonical webroot" : "Use o webroot canônico", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Webroot canônico, no caso de haver múltiplos, para o Collabora usar. Forneça um com menos restrições. Por exemplo: use webroot não shibbolizado se esta instância for acessada por webroots shibbolizados e não shibbolizados. Você pode ignorar essa configuração se apenas uma webroot for usada para acessar esta instância.", "Enable access for external apps" : "Ativar acesso a aplicativos externos", - "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de endereços IP e sub-redes IPV4 e IPV6 que têm permissão para realizar solicitações dos terminais WOPI. Se nenhuma lista de permissões for especificada, todos os hosts serão permitidos. Por exemplo. 10.0.0.20,10.0.4.0 / 24 ", - "Extra fonts" : "Fontes extras", - "Upload extra font file" : "Carregar arquivo de fonte extra", - "Upload a font file" : "Carregar um arquivo de fonte", + "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de endereços IP e sub-redes IPV4 e IPV6 que têm permissão para realizar solicitações aos endpoints WOPI. Se nenhuma lista de permissões for especificada, todos os hosts serão permitidos. P. ex., 10.0.0.20,10.0.4.0/24 ", + "Custom Fonts" : "Fontes Personalizadas", + "Upload font file" : "Carregar arquivo de fonte", + "Upload a font file" : "Fazer upload de um arquivo de fonte", "Available fonts" : "Fontes disponíveis", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Para uma compatibilidade ideal de documentos, recomendamos que você instale fontes comumente usadas. Se seus usuários estiverem trabalhando com o Microsoft Office, a instalação de suas fontes proprietárias poderá ser feita seguindo a documentação.", "Custom fonts documentation" : "Documentação de fontes personalizadas", - "Secure view settings" : "Configurações da visualização segura", - "Secure view enables you to secure documents by embedding a watermark" : "A visualização segura permite proteger documentos incorporando uma marca d'água", + "Secure View" : "Visualização Segura", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "A visualização segura permite que você proteja documentos de escritório bloqueando downloads e visualizações prévias e exibindo uma marca d'água", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "As configurações se aplicam apenas a arquivos de escritório compatíveis que são abertos no Nextcloud Office", + "Downloading the file through WebDAV will be blocked" : "O download do arquivo por meio do WebDAV será bloqueado", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "As seguintes opções no Nextcloud Office serão desabilitadas: Copiar, Baixar, Exportar, Imprimir", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Os arquivos ainda podem ser baixados por meio do Nextcloud, a menos que sejam restritos de outra forma por meio de configurações de compartilhamento ou controle de acesso", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Os arquivos ainda podem ser baixados por meio de solicitações WOPI se as configurações WOPI não estiverem configuradas corretamente", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "As visualizações serão bloqueadas para que os arquivos com marca d'água não vazem a primeira página dos documentos", - "Enable watermarking" : "Ativar marca d'água", + "Previews will be blocked" : "As visualizações prévias serão bloqueadas", + "Enable secure view" : "Ativar visualização segura", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Marcadores de posição suportados: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mostrar marca d'água em arquivos rotulados", + "Enforce secure view on tagged files" : "Impor visualização segura para arquivos etiquetados", "Select tags to enforce watermarking" : "Selecione os rótulos a forçar a marca d'água", - "Show watermark for users of groups" : "Mostrar marca d'água para usuários ou grupos", - "Show watermark for all shares" : "Mostrar marca d'água para todos os compartilhamentos", - "Show watermark for read only shares" : "Mostrar marca d'água para compartilhamentos somente leitura", - "Show watermark for shares without download permission" : "Mostrar marca d'água para compartilhamentos sem permissão de download", - "Show watermark for all link shares" : "Mostrar marca d'água para todos os links de compartilhamento", - "Show watermark for download hidden shares" : "Mostrar marca d'água para compartilhamentos ocultos de download", - "Show watermark for read only link shares" : "Mostrar marca d'água para compartilhamentos por link somente leitura", - "Show watermark on link shares with specific system tags" : "Mostrar marca d'água em links de compartilhamento com rótulos específicos", - "Contact {0} to get an own installation." : "Contacte {0} para obter sua própria instalação.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Certifique-se de definir esta URL: {url} no arquivo coolwsd.xml do seu servidor Collabora Online para garantir que as fontes adicionadas sejam carregadas automaticamente. Observe que http:// funcionará apenas para compilações de depuração do Collabora Online. Em produção, você deve usar https:// para configuração remota de fontes.", - "Failed to save settings" : "Erro ao salvar configurações", - "Font format not supported ({mime})" : "Formato de fonte não suportado ({mime})", + "Enforce secure view for users of groups" : "Impor visualização segura para grupos de usuários", + "Enforce secure view for all shares" : "Impor visualização segura para todos os compartilhamentos", + "Enforce secure view for read only shares" : "Impor visualização segura para compartilhamentos somente leitura", + "Enforce secure view for all public Talk shares" : "Impor visualização segura para todos os compartilhamentos públicos do Talk", + "Enforce secure view for shares without download permission" : "Impor visualização segura para compartilhamentos sem permissão de download", + "Enforce secure view for all link shares" : "Impor visualização segura para todos os compartilhamentos por link", + "Enforce secure view for download hidden shares" : "Impor visualização segura para compartilhamentos com download oculto", + "Enforce secure view for read only link shares" : "Impor visualização segura para compartilhamentos por link somente leitura", + "Enforce secure view on link shares with specific system tags" : "Impor visualização segura para compartilhamentos por link com etiquetas do sistema específicas", + "Select tags to enforce secure view" : "Selecione etiquetas para impor visualização segura", + "Electronic Signature" : "Assinatura Eletrônica", + "Client ID for the electronic signature API" : "ID do cliente para a API de assinatura eletrônica", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Preencha o formulário de registro em https://eideasy.com/signup para obter um ID e um segredo de cliente.", + "Secret for the electronic signature API" : "Segredo da API de assinatura eletrônica", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "O segredo pode ser baixado por meio de solicitações WOPI se a lista de permissões WOPI não estiver configurada corretamente.", "Save" : "Salvar", "Remove" : "Remover", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Por favor, insira o nome do convidado que deseja usar antes de prosseguir com o documento. Se você não fornecer um, o padrão será usado.", "Guest name" : "Nome do convidado", "Submit name" : "Enviar nome", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Por favor, insira o nome do convidado que deseja usar antes de prosseguir com o documento. Se você não fornecer um, o padrão será usado.", "Confirm" : "Confirmar", "Cancel" : "Cancelar", + "Save As" : "Salvar Como", "Save as" : "Salvar como", "Path to save" : "Caminho para salvar", - "Save As" : "Salvar Como", + "Invalid file name" : "Nome de arquivo inválido", + "File name already exists" : "O nome do arquivo já existe", + "Select template" : "Selecionar um modelo", + "File name" : "Nome do arquivo", + "Create" : "Criar", + "Failed to set Zotero API key" : "Falha ao definir a chave de API Zotero", "Link to your Zotero library" : "Link para sua biblioteca Zotero", "Connect your Zotero account to make use of references within Office." : "Conecte sua conta Zotero para fazer uso de referências no Office.", "You can generate an account key here:" : "Você pode gerar uma chave de conta aqui:", "Zotero account settings" : "Configurações da conta Zotero", "Zotero API key" : "Chave de API Zotero", "Submit" : "Enviar", - "Failed to set Zotero API key" : "Falha ao definir a chave de API do Zotero", - "Select a template directory" : "Selecionar um diretório de modelos", "Select a personal template folder" : "Selecione uma pasta de modelos pessoais", + "Settings saved successfully." : "Configurações salvas com sucesso.", + "Failed to save settings." : "Falha ao salvar as configurações.", + "Unexpected error occurred." : "Ocorreu um erro inesperado.", + "Personal Settings for Nextcloud Office" : "Configurações Pessoais do Nextcloud Office", + "Select a template directory" : "Selecionar um diretório de modelos", "Remove personal template folder" : "Remover a pasta de modelos pessoais", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Os modelos dentro deste diretório serão adicionados ao seletor de modelos do Nextcloud Office.", "Zotero" : "Zotero", "Enter Zotero API Key" : "Insira a chave de API do Zotero", "Remove Zotero API Key" : "Remover chave de API do Zotero", - "To use Zotero specify your API key here. You can create your API key in your" : "Para usar o Zotero, especifique sua chave de API aqui. Você pode criar sua chave de API em seu", + "To use Zotero specify your API key here. You can create your API key in your" : "Para usar o Zotero, especifique sua chave API aqui. Você pode criar sua chave API em seu", "Zotero account API settings." : "Configurações de API da conta Zotero.", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Esta instância não oferece suporte ao Zotero porque o recurso está ausente ou desativado. Entre em contato com a administração.", "Document signing" : "Assinatura de documentos", - "Enter document signing cert (in PEM format)" : "Digite o Cert de assinatura de documentos (em formato PEM)", + "Enter document signing cert (in PEM format)" : "Digite o certificado de assinatura de documentos (em formato PEM)", "Enter document signing key" : "Digite a chave de assinatura de documentos", "Enter document signing CA chain" : "Digite a cadeia CA de assinatura de documentos", "To use document signing, specify your signing certificate, key and CA chain here." : "Para usar a assinatura de documentos, especifique seu certificado de assinatura, chave e cadeia CA aqui.", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Esta instância não suporta assinatura de documentos, porque o recurso está ausente ou desabilitado. Entre em contato com o administrador.", "Description" : "Descrição", "Add new token" : "Adicionar novo token", - "No font overview" : "Nenhuma visão geral da fonte", + "No font overview" : "Nenhuma visão geral de fontes", "Delete this font" : "Excluir esta fonte", "No results" : "Nenhum resultado", - "Select file or folder to link to" : "Selecione o arquivo ou pasta para vincular", + "Select file" : "Selecionar arquivo", + "Select file or folder to link to" : "Selecione um arquivo ou pasta para vincular", "Could not find any section in the document" : "Não foi possível encontrar nenhuma seção no documento", - "Select file" : "Selecione o arquivo", + "{productName} is not configured" : "{productName} não está configurado", + "Starting the built-in CODE server failed" : "Falha ao iniciar o servidor CODE integrado", + "Loading {filename} …" : "Carregando {filename} …", + "Failed to load {productName} - please try again later" : "Falha ao carregar {productName} - tente novamente mais tarde", + "Open in local editor" : "Abrir no editor local", + "Cluster is scaling …" : "O cluster está sendo escalonado …", + "The collaborative editing was terminated by another user" : "A edição colaborativa foi encerrada por outro usuário", "Document loading failed" : "O carregamento do documento falhou", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Verifique o log do servidor Collabora Online para obter mais detalhes e certifique-se de que o Nextcloud possa ser acessado a partir daí.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "A conexão do socket foi fechada inesperadamente. O proxy reverso pode estar configurado incorretamente. Entre em contato com o administrador.", "More information can be found in the reverse proxy documentation" : "Mais informações podem ser encontradas na documentação do proxy reverso", "Close" : "Fechar", "Edit" : "Editar", - "Starting the built-in CODE server failed" : "Falha ao iniciar o servidor CODE integrado", - "Loading {filename} …" : "Carregando {filename} …", - "Open in local editor" : "Abrir no editor local", - "Cluster is scaling …" : "O cluster está sendo escalonado…", - "The collaborative editing was terminated by another user" : "A edição colaborativa foi encerrada por outro usuário", - "Failed to load {productName} - please try again later" : "Falha ao carregar {productName} - tente novamente mais tarde", - "{productName} is not configured" : "{productName} não está configurado", "Built-in CODE Server is starting up shortly, please wait." : "O servidor CODE incorporado será iniciado em breve. Aguarde.", "Built-in CODE Server is restarting, please wait." : "O servidor CODE incorporado está reiniciando. Aguarde.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Erro: Não foi possível encontrar o AppImage, reinstale o servidor Collabora Online Incorporado.", @@ -200,12 +255,13 @@ "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Erro: Não foi possível iniciar o servidor Collabora Online integrado. Configure um servidor autônomo.", "Close version preview" : "Fechar a pré-visualização da versão", "Edit with {productName}" : "Editar com {productName}", - "Open file locally" : "Abrir o arquivo localmente", + "Insert into document" : "Inserir no documento", + "Open file locally" : "Abrir arquivo localmente", "When opening a file locally, the document will close for all users currently viewing the document." : "Ao abrir um arquivo localmente, o documento será fechado para todos os usuários que estiverem visualizando o documento.", "Open locally" : "Abrir localmente", "Continue editing online" : "Continuar editando on-line", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "O arquivo agora deve abrir localmente. Se isso não acontecer, certifique-se de que o cliente de desktop esteja instalado em seu sistema.", - "Retry to open locally" : "Tente abrir novamente localmente", + "Retry to open locally" : "Retentar abrir localmente", "Save a copy of the file under a new name and continue editing the new file" : "Salve uma cópia do arquivo com um novo nome e continue editando o novo arquivo", "Failed to revert the document to older version" : "Falha ao reverter para uma versão mais antiga", "Built-in CODE server failed to start" : "O servidor CODE integrado falhou ao iniciar", @@ -220,16 +276,25 @@ "Guest" : "Convidado", "Follow current editor" : "Seguir o editor atual", "New file" : "Novo arquivo", - "Please enter the filename for the new file" : "Por favor insira o nome do arquivo para o novo arquivo", - "Create" : "Criar", - "New drawing" : "Novo desenho", + "Please enter the filename for the new file" : "Por favor, insira o nome do novo arquivo", "Could not create file" : "Não foi possível criar o arquivo", - "Select template" : "Selecionar um modelo", + "Could not load templates" : "Não foi possível carregar modelos", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Salvo com erro: Collabora Online deve usar o mesmo protocolo que a instalação do servidor.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Não foi possível estabelecer conexão com o servidor Collabora Online. Isso pode ser devido a uma configuração ausente do seu servidor web. Para mais informações, visite:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "O Nextcloud Office requer um servidor separado executando o Collabora Online para fornecer recursos de edição.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "O Collabora Online requer um servidor separado atuando como um cliente do tipo WOPI para fornecer recursos de edição.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Todos os usuários podem editar documentos com {productName} por padrão. Quando esta configuração está ativa, apenas os membros dos grupos especificados podem editar e os outros podem apenas visualizar documentos.", + "Secure view settings" : "Configurações da visualização segura", + "Secure view enables you to secure documents by embedding a watermark" : "A visualização segura permite proteger documentos incorporando uma marca d'água", + "Enable watermarking" : "Ativar marca d'água", + "Show watermark on tagged files" : "Mostrar marca d'água em arquivos rotulados", + "Show watermark for users of groups" : "Mostrar marca d'água para usuários ou grupos", + "Show watermark for all shares" : "Mostrar marca d'água para todos os compartilhamentos", + "Show watermark for read only shares" : "Mostrar marca d'água para compartilhamentos somente leitura", + "Show watermark for all link shares" : "Mostrar marca d'água para todos os links de compartilhamento", + "Show watermark for download hidden shares" : "Mostrar marca d'água para compartilhamentos ocultos de download", + "Show watermark for read only link shares" : "Mostrar marca d'água para compartilhamentos por link somente leitura", + "Show watermark on link shares with specific system tags" : "Mostrar marca d'água em links de compartilhamento com rótulos específicos", "Error" : "Erro", "An error occurred" : "Ocorreu um erro", "Please choose your nickname to continue as guest user." : "Escolha um apelido para continuar como convidado.", @@ -237,6 +302,8 @@ "Set" : "Definir", "Please enter the filename to store the document as." : "Entre com o nome do arquivo a salvar.", "New filename" : "Novo nome de arquivo", + "Collabora Online is not setup yet. Please contact your administrator." : "O Collabora Online ainda não está configurado. Entre em contato com seu administrador.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Não há suporte para a abertura do arquivo, pois as credenciais do armazenamento externo não estão disponíveis sem uma sessão", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Falha ao conectar-se a {productName}. Tente novamente mais tarde ou entre em contato com o administrador do servidor.", "Saving…" : "Salvando...", "Insert from {name}" : "Inserir de {name}", @@ -250,9 +317,13 @@ "No templates defined." : "Sem modelos definidos", "Add a new one?" : "Adicionar um novo?", "template preview" : "visualização do modelo", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Os arquivos ainda podem ser baixados por meio do Nextcloud, a menos que sejam restritos de outra forma por meio de configurações de compartilhamento ou controle de acesso", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "As visualizações serão bloqueadas para os arquivos com marca d'água para que elas não vazem a primeira página dos documentos", + "Show watermark for shares without download permission" : "Mostrar marca d'água para compartilhamentos sem permissão de download", + "New drawing" : "Novo desenho", "Collabora Online" : "Collabora Online", "Document already exists" : "Documento já existe", - "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "O Collabora Online está habilitado para todos os usuários por padrão. Quando essa configuração está ativa, apenas os membros dos grupos especificados podem usá-la.", + "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "O Collabora Online está habilitado para todos os usuários por padrão. Quando essa configuração está ativa, apenas os membros dos grupos especificados podem usá-lo.", "Templates inside of this directory will be added to the template selector of Collabora Online." : "Os modelos dentro deste diretório serão adicionados ao seletor de modelos do Collabora Online." },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/pt_PT.js b/l10n/pt_PT.js index 503fef13b9..e9a616794a 100644 --- a/l10n/pt_PT.js +++ b/l10n/pt_PT.js @@ -32,11 +32,13 @@ OC.L10N.register( "Headings" : "Títulos", "Images" : "Imagens", "Office" : "Escritório", + "Instructions" : "Instruções", "Empty" : "Vazio", "Anonymous guest" : "Convidado anónimo", "%s (Guest)" : "%s (Convidado)", - "Edit office documents directly in your browser." : "Edite documentos do Office directamente no seu navegador", + "Edit office documents directly in your browser." : "Edite documentos do Office diretamente no seu navegador", "New" : "Novo", + "Failed to save settings" : "Erro ao gravar as definições", "Setting up a new server" : "Configurar um servidor novo", "Use your own server" : "Utilizar o seu próprio servidor", "Use a demo server" : "Utilizar um servidor de demonstração", @@ -45,13 +47,15 @@ OC.L10N.register( "Select groups" : "Selecionar grupos", "Restrict edit to specific groups" : "Restringir a edição a grupos específicos", "Enable access for external apps" : "Permitir acesso a aplicações externas", - "Enable watermarking" : "Activar marca-de-água", - "Failed to save settings" : "Erro ao gravar as definições", "Save" : "Guardar", "Remove" : "Remover", "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar como", + "Save as" : "Save as", + "Select template" : "Selecionar modelo", + "File name" : "Nome do ficheiro", + "Create" : "Criar", "Submit" : "Submeter", "Description" : "Descrição", "No results" : "Sem resultados", @@ -67,10 +71,9 @@ OC.L10N.register( "(read only)" : "(somente leitura)", "Guest" : "Convidado", "New file" : "Ficheiro novo", - "Create" : "Criar", "Could not create file" : "Não pôde criar ficheiro", - "Select template" : "Seleccionar modelo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Gravado com erro: Collabora Online deve usar o mesmo protocolo que a instalação do servidor.", + "Enable watermarking" : "Ativar marca-de-água", "Error" : "Erro", "An error occurred" : "Ocorreu um erro", "Nickname" : "Alcunha", diff --git a/l10n/pt_PT.json b/l10n/pt_PT.json index a2ecbf1c49..e127a148a7 100644 --- a/l10n/pt_PT.json +++ b/l10n/pt_PT.json @@ -30,11 +30,13 @@ "Headings" : "Títulos", "Images" : "Imagens", "Office" : "Escritório", + "Instructions" : "Instruções", "Empty" : "Vazio", "Anonymous guest" : "Convidado anónimo", "%s (Guest)" : "%s (Convidado)", - "Edit office documents directly in your browser." : "Edite documentos do Office directamente no seu navegador", + "Edit office documents directly in your browser." : "Edite documentos do Office diretamente no seu navegador", "New" : "Novo", + "Failed to save settings" : "Erro ao gravar as definições", "Setting up a new server" : "Configurar um servidor novo", "Use your own server" : "Utilizar o seu próprio servidor", "Use a demo server" : "Utilizar um servidor de demonstração", @@ -43,13 +45,15 @@ "Select groups" : "Selecionar grupos", "Restrict edit to specific groups" : "Restringir a edição a grupos específicos", "Enable access for external apps" : "Permitir acesso a aplicações externas", - "Enable watermarking" : "Activar marca-de-água", - "Failed to save settings" : "Erro ao gravar as definições", "Save" : "Guardar", "Remove" : "Remover", "Confirm" : "Confirmar", "Cancel" : "Cancelar", "Save As" : "Guardar como", + "Save as" : "Save as", + "Select template" : "Selecionar modelo", + "File name" : "Nome do ficheiro", + "Create" : "Criar", "Submit" : "Submeter", "Description" : "Descrição", "No results" : "Sem resultados", @@ -65,10 +69,9 @@ "(read only)" : "(somente leitura)", "Guest" : "Convidado", "New file" : "Ficheiro novo", - "Create" : "Criar", "Could not create file" : "Não pôde criar ficheiro", - "Select template" : "Seleccionar modelo", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Gravado com erro: Collabora Online deve usar o mesmo protocolo que a instalação do servidor.", + "Enable watermarking" : "Ativar marca-de-água", "Error" : "Erro", "An error occurred" : "Ocorreu um erro", "Nickname" : "Alcunha", diff --git a/l10n/ro.js b/l10n/ro.js index ccaf7dd94d..05293c5bed 100644 --- a/l10n/ro.js +++ b/l10n/ro.js @@ -15,6 +15,8 @@ OC.L10N.register( "File is too big" : "Fișierul este prea mare", "Invalid file provided" : "Numele fișierului pe care l-ai oferit este invalid", "New document" : "Document nou", + "New spreadsheet" : "Foaie de calcul nouă", + "New presentation" : "Prezentare nouă", "Images" : "Imagini", "Office" : "Birou", "New" : "Nou", @@ -25,6 +27,9 @@ OC.L10N.register( "Confirm" : "Confirmă", "Cancel" : "Anulează", "Save as" : "Salvează ca", + "Select template" : "Selectează șablon", + "File name" : "Nume fișier", + "Create" : "Creează", "Submit" : "Trimite", "Description" : "Descriere", "No results" : "Niciun rezultat", @@ -37,9 +42,7 @@ OC.L10N.register( "Download" : "Descărcare", "Guest" : "Invitat", "New file" : "Fișier nou", - "Create" : "Creează", "Could not create file" : "Nu s-a putut crea fisierul", - "Select template" : "Selectează șablon", "Error" : "Eroare", "An error occurred" : "A apărut o eraore", "Nickname" : "Pseudonim", diff --git a/l10n/ro.json b/l10n/ro.json index 3d8cdeaf8a..82acca86f2 100644 --- a/l10n/ro.json +++ b/l10n/ro.json @@ -13,6 +13,8 @@ "File is too big" : "Fișierul este prea mare", "Invalid file provided" : "Numele fișierului pe care l-ai oferit este invalid", "New document" : "Document nou", + "New spreadsheet" : "Foaie de calcul nouă", + "New presentation" : "Prezentare nouă", "Images" : "Imagini", "Office" : "Birou", "New" : "Nou", @@ -23,6 +25,9 @@ "Confirm" : "Confirmă", "Cancel" : "Anulează", "Save as" : "Salvează ca", + "Select template" : "Selectează șablon", + "File name" : "Nume fișier", + "Create" : "Creează", "Submit" : "Trimite", "Description" : "Descriere", "No results" : "Niciun rezultat", @@ -35,9 +40,7 @@ "Download" : "Descărcare", "Guest" : "Invitat", "New file" : "Fișier nou", - "Create" : "Creează", "Could not create file" : "Nu s-a putut crea fisierul", - "Select template" : "Selectează șablon", "Error" : "Eroare", "An error occurred" : "A apărut o eraore", "Nickname" : "Pseudonim", diff --git a/l10n/ru.js b/l10n/ru.js index 919f401dce..f086d3ad98 100644 --- a/l10n/ru.js +++ b/l10n/ru.js @@ -1,6 +1,7 @@ OC.L10N.register( "richdocuments", { + "No files found for this task." : "Отсутствуют файлы для этой задачи.", "Cannot create document" : "Невозможно создать документ", "New Document.odt" : "Новый документ.odt", "New Spreadsheet.ods" : "Новая таблица.ods", @@ -27,10 +28,23 @@ OC.L10N.register( "Only template files can be uploaded" : "Могут быть загружены только файлы шаблонов", "Invalid file provided" : "Указан неправильный файл", "Template not found" : "Шаблон не найден", + "Unable to determine the proper file extension for %1$s" : "Не удалось определить подходящее расширение файла для %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Изображение (.png)", + "Image (.svg)" : "Изображение (.svg)", + "Text (.rtf)" : "Текст (.rtf)", + "Text (.txt)" : "Текст (.txt)", + "Word Document (.docx)" : "Документ Word (.docx)", + "OpenDocument Text (.odt)" : "Текст OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Книга Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Таблица OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Презентация PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Презентация OpenDocument (.odp)", "New document" : "Новый документ", "New spreadsheet" : "Новая таблица", "New presentation" : "Новая презентация", "New diagram" : "Новая диаграмма", + "{user} has mentioned you in {node}" : "{user} упомянул вас в {node}", "Link to office document section" : "Ссылка на раздел в документе", "Nextcloud Office" : "Набор офисных приложений для Nextcloud", "Headings" : "Заголовки", @@ -39,12 +53,16 @@ OC.L10N.register( "Sheets" : "Листы", "Slides" : "Слайды", "Office" : "Офис", + "Instructions" : "Инструкции", "Empty" : "Пустой", "Anonymous guest" : "Анонимный гость", "%s (Guest)" : "%s (Гость)", "Edit office documents directly in your browser." : "Редактирование офисных документов непосредственно в браузере.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Это приложение служит для подключения к WOPI-клиентам, в роли которых могут выступать серверы Collabora Online или другие, Nextcloud при этом выступает в роли WOPI-хоста. Более подробные сведения об этом приведены в документации.\n\nДля автономного редактирования документов возможно использовать приложения из каталогов приложений для **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** и **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Новый", + "Contact {0} to get an own installation." : "Свяжитесь с {0} чтобы развернуть на своём сервере.", + "Failed to save settings" : "Не удалось сохранить настройки", + "Font format not supported ({mime})" : "Формат шрифта не поддерживается ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Набор офисных приложений для Nextcloud — это полнофункциональный офисный пакет на основе LibreOffice с возможностью совместного редактирования. Офис для Nextcloud поддерживает все основные форматы файлов документов, электронных таблиц и презентаций и работает во всех современных браузерах.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online — это полнофункциональный офисный пакет на основе LibreOffice с возможностью совместного редактирования. Collabora Online поддерживает все основные форматы файлов документов, электронных таблиц и презентаций и работает во всех современных браузерах.", "Could not establish connection to the Collabora Online server." : "Не удалось соединиться с сервером Collabora Online.", @@ -99,49 +117,35 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Основной корень веб-сервера, в случае, если их несколько, для использования системой Collabora. Укажите один с наименьшими ограничениями. Например: Используйте не-шибболизированный корень веб-сервера, если этот экземпляр доступен и через шибболизированный и через не-шибболизированный корни веб-сервера. Вы можете проигнорировать эти настройки, если только один корень веб-сервера использован для доступа к этому экземпляру.", "Enable access for external apps" : "Разрешить доступ внешним приложениям", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Список адресов и подсетей IPv4 и IPv6, которые могут обращаться к WOPI. Если это поле не заполнено, то разрешён прием запросов со всех адресов. Пример указания: 10.0.0.20, 10.0.4.0/24", - "Extra fonts" : "Дополнительные шрифты", - "Upload extra font file" : "Загрузить дополнительный файл шрифта", "Upload a font file" : "Загрузка файла шрифта", "Available fonts" : "Доступные шрифты", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Для идеальной совместимости документов мы рекомендуем вам установить часто используемые шрифты. Если ваши пользователи работают с Microsoft Office, установка их фирменных шрифтов может быть выполнена в соответствии с документацией.", - "Secure view settings" : "Параметры безопасного просмотра", - "Secure view enables you to secure documents by embedding a watermark" : "Безопасный просмотр позволяет защищать документы добавлением водяного знака.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Настройки применяются только к совместимым офисным файлам, которые открываются в Nextcloud Office.", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Следующие параметры в Nextcloud Office будут отключены: копирование, загрузка, экспорт, печать.", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файлы по-прежнему могут быть загружены через Nextcloud, если иное не ограничено настройками общего доступа или контроля доступа.", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Файлы по-прежнему могут загружаться через запросы WOPI, если параметры WOPI настроены неправильно.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Предварительный просмотр будет заблокирован для файлов с водяными знаками, чтобы не произошла утечка первой страницы документов.", - "Enable watermarking" : "Добавлять водяной знак при просмотре", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Поддерживаемые заполнители: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Использовать для файлов с присвоенными метками", "Select tags to enforce watermarking" : "Выберите метки, при наличии которых будет показан водяной знак", - "Show watermark for users of groups" : "Использовать для пользователей указанных групп", - "Show watermark for all shares" : "Использовать для всех опубликованных ресурсов", - "Show watermark for read only shares" : "Использовать для ресурсов, опубликованных только для чтения", - "Show watermark for shares without download permission" : "Показывать водяной знак для опубликованных файлов без разрешения на загрузку", - "Show watermark for all link shares" : "Использовать для ресурсов, опубликованных по ссылке", - "Show watermark for download hidden shares" : "Использовать для загружаемых скрытых ресурсов", - "Show watermark for read only link shares" : "Использовать для ресурсов, опубликованных по ссылке только для чтения", - "Show watermark on link shares with specific system tags" : "Использовать для ресурсов, опубликованных по ссылке с присвоенными метками", - "Contact {0} to get an own installation." : "Свяжитесь с {0} чтобы развернуть на своём сервере.", - "Failed to save settings" : "Не удалось сохранить настройки", - "Font format not supported ({mime})" : "Формат шрифта не поддерживается ({mime})", "Save" : "Сохранить", "Remove" : "Исключить", "Submit name" : "Отправить имя", "Confirm" : "Подтвердить", "Cancel" : "Отмена", - "Save as" : "Сохранить как", "Save As" : "Сохранить как", + "Save as" : "Сохранить как", + "Invalid file name" : "Имя файла недопустимо", + "Select template" : "Выбрать шаблон", + "File name" : "Имя файла", + "Create" : "Создать", + "Failed to set Zotero API key" : "Не удалось установить ключ API Zotero", "Link to your Zotero library" : "Ссылка на вашу библиотеку Zotero", "Connect your Zotero account to make use of references within Office." : "Подключите свою учетную запись Zotero, чтобы использовать ссылки в Office.", "You can generate an account key here:" : "Вы можете сгенерировать ключ учетной записи здесь:", "Zotero account settings" : "Настройки аккаунта Zotero", "Zotero API key" : "Zotero API-ключ", "Submit" : "Отправить ответ", - "Failed to set Zotero API key" : "Не удалось установить ключ API Zotero", - "Select a template directory" : "Папка шаблонов документов", "Select a personal template folder" : "Выбрать папку с личными шаблонами", + "Failed to save settings." : "Не удалось сохранить настройки.", + "Select a template directory" : "Папка шаблонов документов", "Remove personal template folder" : "Удалить папку с личными шаблонами", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблоны, расположенные в этой папке, будут доступны для выбора при создании документов в приложении Офис для Nextcloud.", "Zotero" : "Zotero", @@ -155,18 +159,18 @@ OC.L10N.register( "No font overview" : "Нет средства просмотра шрифтов.", "Delete this font" : "Удалить этот шрифт", "No results" : "Нет результатов", + "Select file" : "Выбрать файл", "Select file or folder to link to" : "Выберите файл или папку для создания ссылки", "Could not find any section in the document" : "Не удалось найти ни одного раздела в документе", - "Select file" : "Выбрать файл", + "{productName} is not configured" : "Приложение {productName} не настроено", + "Starting the built-in CODE server failed" : "Не удалось запустить встроенный сервер CODE", + "Loading {filename} …" : "Загрузка файла «{filename}»…", + "Failed to load {productName} - please try again later" : "Не удалось загрузить {productName} - повторите попытку позже", + "Open in local editor" : "Открыть в локальном редакторе", "Document loading failed" : "Ошибка загрузки документа", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Для получения более подробной информации проверьте журнал сервера Collabora Online и убедитесь, что оттуда можно получить доступ к Nextcloud.", "Close" : "Закрыть", "Edit" : "Редактирование", - "Starting the built-in CODE server failed" : "Не удалось запустить встроенный сервер CODE", - "Loading {filename} …" : "Загрузка файла «{filename}»…", - "Open in local editor" : "Открыть в локальном редакторе", - "Failed to load {productName} - please try again later" : "Не удалось загрузить {productName} - повторите попытку позже", - "{productName} is not configured" : "Приложение {productName} не настроено", "Built-in CODE Server is starting up shortly, please wait." : "Дождитесь окончания запуска встроенного сервера CODE.", "Built-in CODE Server is restarting, please wait." : "Дождитесь окончания перезапуска встроенного сервера CODE.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Ошибка: не удалось найти файл образа приложения, необходима переустановка встраиваемого сервера Collabora Online.", @@ -197,15 +201,23 @@ OC.L10N.register( "Follow current editor" : "Следить за текущим редактором", "New file" : "Новый файл", "Please enter the filename for the new file" : "Пожалуйста, введите имя нового файла", - "Create" : "Создать", - "New drawing" : "Новая схема", "Could not create file" : "Не удалось создать файл", - "Select template" : "Выбрать шаблон", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Сохранено с ошибкой: В Collabra Online должен использоваться тот же протокол, что в установке сервера.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Не удалось установить соединение с сервером Collabora Online. Возможной причиной может являться отсутствие конфигурации веб-сервера. Дополнительная информация доступна по адресу: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office требует отдельного сервера, на котором работает Collabora Online, для обеспечения возможностей редактирования.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Для работы Collabora Online требуется отдельный сервер, выступающий в роли WOPI-подобного клиента для обеспечения возможностей редактирования.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "По умолчанию все пользователи могут редактировать документы с {productName}. Когда этот параметр активен, только члены указанных групп могут редактировать, а остальные могут только просматривать документы.", + "Secure view settings" : "Параметры безопасного просмотра", + "Secure view enables you to secure documents by embedding a watermark" : "Безопасный просмотр позволяет защищать документы добавлением водяного знака.", + "Enable watermarking" : "Добавлять водяной знак при просмотре", + "Show watermark on tagged files" : "Использовать для файлов с присвоенными метками", + "Show watermark for users of groups" : "Использовать для пользователей указанных групп", + "Show watermark for all shares" : "Использовать для всех опубликованных ресурсов", + "Show watermark for read only shares" : "Использовать для ресурсов, опубликованных только для чтения", + "Show watermark for all link shares" : "Использовать для ресурсов, опубликованных по ссылке", + "Show watermark for download hidden shares" : "Использовать для загружаемых скрытых ресурсов", + "Show watermark for read only link shares" : "Использовать для ресурсов, опубликованных по ссылке только для чтения", + "Show watermark on link shares with specific system tags" : "Использовать для ресурсов, опубликованных по ссылке с присвоенными метками", "Error" : "Ошибка", "An error occurred" : "Произошла ошибка", "Please choose your nickname to continue as guest user." : "Пожалуйста, выберите свой псевдоним для продолжения в гостевом режиме.", @@ -216,8 +228,8 @@ OC.L10N.register( "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Не удалось подключиться к {productName}. Повторите попытку позже или обратитесь к администратору сервера.", "Saving…" : "Сохранение…", "Insert from {name}" : "Вставить из {name}", - "Last saved version" : "Последняя сохраненная версия", - "Current version (unsaved changes)" : "Текущая версия (несохраненные изменения)", + "Last saved version" : "Последняя сохранённая версия", + "Current version (unsaved changes)" : "Текущая версия (несохранённые изменения)", "Please enter the filename for the new document" : "Укажите имя файла нового документа", "Create a new document" : "Создать новый документ", "Open with {productName}" : "Открыть с помощью {productName}", @@ -226,6 +238,10 @@ OC.L10N.register( "No templates defined." : "Шаблоны не определены.", "Add a new one?" : "Добавить новый?", "template preview" : "Предпросмотр шаблона", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файлы по-прежнему могут быть загружены через Nextcloud, если иное не ограничено настройками общего доступа или контроля доступа.", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Предварительный просмотр будет заблокирован для файлов с водяными знаками, чтобы не произошла утечка первой страницы документов.", + "Show watermark for shares without download permission" : "Показывать водяной знак для опубликованных файлов без разрешения на загрузку", + "New drawing" : "Новая схема", "Collabora Online" : "Collabora Online", "Document already exists" : "Документ уже существует", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online по умолчанию включен для всех пользователей. Когда этот параметр активен, его могут использовать только члены указанных групп.", diff --git a/l10n/ru.json b/l10n/ru.json index c129bbdbc9..ca6b1d7b23 100644 --- a/l10n/ru.json +++ b/l10n/ru.json @@ -1,4 +1,5 @@ { "translations": { + "No files found for this task." : "Отсутствуют файлы для этой задачи.", "Cannot create document" : "Невозможно создать документ", "New Document.odt" : "Новый документ.odt", "New Spreadsheet.ods" : "Новая таблица.ods", @@ -25,10 +26,23 @@ "Only template files can be uploaded" : "Могут быть загружены только файлы шаблонов", "Invalid file provided" : "Указан неправильный файл", "Template not found" : "Шаблон не найден", + "Unable to determine the proper file extension for %1$s" : "Не удалось определить подходящее расширение файла для %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Изображение (.png)", + "Image (.svg)" : "Изображение (.svg)", + "Text (.rtf)" : "Текст (.rtf)", + "Text (.txt)" : "Текст (.txt)", + "Word Document (.docx)" : "Документ Word (.docx)", + "OpenDocument Text (.odt)" : "Текст OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Книга Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Таблица OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Презентация PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Презентация OpenDocument (.odp)", "New document" : "Новый документ", "New spreadsheet" : "Новая таблица", "New presentation" : "Новая презентация", "New diagram" : "Новая диаграмма", + "{user} has mentioned you in {node}" : "{user} упомянул вас в {node}", "Link to office document section" : "Ссылка на раздел в документе", "Nextcloud Office" : "Набор офисных приложений для Nextcloud", "Headings" : "Заголовки", @@ -37,12 +51,16 @@ "Sheets" : "Листы", "Slides" : "Слайды", "Office" : "Офис", + "Instructions" : "Инструкции", "Empty" : "Пустой", "Anonymous guest" : "Анонимный гость", "%s (Guest)" : "%s (Гость)", "Edit office documents directly in your browser." : "Редактирование офисных документов непосредственно в браузере.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Это приложение служит для подключения к WOPI-клиентам, в роли которых могут выступать серверы Collabora Online или другие, Nextcloud при этом выступает в роли WOPI-хоста. Более подробные сведения об этом приведены в документации.\n\nДля автономного редактирования документов возможно использовать приложения из каталогов приложений для **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** и **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Новый", + "Contact {0} to get an own installation." : "Свяжитесь с {0} чтобы развернуть на своём сервере.", + "Failed to save settings" : "Не удалось сохранить настройки", + "Font format not supported ({mime})" : "Формат шрифта не поддерживается ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Набор офисных приложений для Nextcloud — это полнофункциональный офисный пакет на основе LibreOffice с возможностью совместного редактирования. Офис для Nextcloud поддерживает все основные форматы файлов документов, электронных таблиц и презентаций и работает во всех современных браузерах.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online — это полнофункциональный офисный пакет на основе LibreOffice с возможностью совместного редактирования. Collabora Online поддерживает все основные форматы файлов документов, электронных таблиц и презентаций и работает во всех современных браузерах.", "Could not establish connection to the Collabora Online server." : "Не удалось соединиться с сервером Collabora Online.", @@ -97,49 +115,35 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Основной корень веб-сервера, в случае, если их несколько, для использования системой Collabora. Укажите один с наименьшими ограничениями. Например: Используйте не-шибболизированный корень веб-сервера, если этот экземпляр доступен и через шибболизированный и через не-шибболизированный корни веб-сервера. Вы можете проигнорировать эти настройки, если только один корень веб-сервера использован для доступа к этому экземпляру.", "Enable access for external apps" : "Разрешить доступ внешним приложениям", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Список адресов и подсетей IPv4 и IPv6, которые могут обращаться к WOPI. Если это поле не заполнено, то разрешён прием запросов со всех адресов. Пример указания: 10.0.0.20, 10.0.4.0/24", - "Extra fonts" : "Дополнительные шрифты", - "Upload extra font file" : "Загрузить дополнительный файл шрифта", "Upload a font file" : "Загрузка файла шрифта", "Available fonts" : "Доступные шрифты", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Для идеальной совместимости документов мы рекомендуем вам установить часто используемые шрифты. Если ваши пользователи работают с Microsoft Office, установка их фирменных шрифтов может быть выполнена в соответствии с документацией.", - "Secure view settings" : "Параметры безопасного просмотра", - "Secure view enables you to secure documents by embedding a watermark" : "Безопасный просмотр позволяет защищать документы добавлением водяного знака.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Настройки применяются только к совместимым офисным файлам, которые открываются в Nextcloud Office.", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Следующие параметры в Nextcloud Office будут отключены: копирование, загрузка, экспорт, печать.", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файлы по-прежнему могут быть загружены через Nextcloud, если иное не ограничено настройками общего доступа или контроля доступа.", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Файлы по-прежнему могут загружаться через запросы WOPI, если параметры WOPI настроены неправильно.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Предварительный просмотр будет заблокирован для файлов с водяными знаками, чтобы не произошла утечка первой страницы документов.", - "Enable watermarking" : "Добавлять водяной знак при просмотре", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Поддерживаемые заполнители: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Использовать для файлов с присвоенными метками", "Select tags to enforce watermarking" : "Выберите метки, при наличии которых будет показан водяной знак", - "Show watermark for users of groups" : "Использовать для пользователей указанных групп", - "Show watermark for all shares" : "Использовать для всех опубликованных ресурсов", - "Show watermark for read only shares" : "Использовать для ресурсов, опубликованных только для чтения", - "Show watermark for shares without download permission" : "Показывать водяной знак для опубликованных файлов без разрешения на загрузку", - "Show watermark for all link shares" : "Использовать для ресурсов, опубликованных по ссылке", - "Show watermark for download hidden shares" : "Использовать для загружаемых скрытых ресурсов", - "Show watermark for read only link shares" : "Использовать для ресурсов, опубликованных по ссылке только для чтения", - "Show watermark on link shares with specific system tags" : "Использовать для ресурсов, опубликованных по ссылке с присвоенными метками", - "Contact {0} to get an own installation." : "Свяжитесь с {0} чтобы развернуть на своём сервере.", - "Failed to save settings" : "Не удалось сохранить настройки", - "Font format not supported ({mime})" : "Формат шрифта не поддерживается ({mime})", "Save" : "Сохранить", "Remove" : "Исключить", "Submit name" : "Отправить имя", "Confirm" : "Подтвердить", "Cancel" : "Отмена", - "Save as" : "Сохранить как", "Save As" : "Сохранить как", + "Save as" : "Сохранить как", + "Invalid file name" : "Имя файла недопустимо", + "Select template" : "Выбрать шаблон", + "File name" : "Имя файла", + "Create" : "Создать", + "Failed to set Zotero API key" : "Не удалось установить ключ API Zotero", "Link to your Zotero library" : "Ссылка на вашу библиотеку Zotero", "Connect your Zotero account to make use of references within Office." : "Подключите свою учетную запись Zotero, чтобы использовать ссылки в Office.", "You can generate an account key here:" : "Вы можете сгенерировать ключ учетной записи здесь:", "Zotero account settings" : "Настройки аккаунта Zotero", "Zotero API key" : "Zotero API-ключ", "Submit" : "Отправить ответ", - "Failed to set Zotero API key" : "Не удалось установить ключ API Zotero", - "Select a template directory" : "Папка шаблонов документов", "Select a personal template folder" : "Выбрать папку с личными шаблонами", + "Failed to save settings." : "Не удалось сохранить настройки.", + "Select a template directory" : "Папка шаблонов документов", "Remove personal template folder" : "Удалить папку с личными шаблонами", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблоны, расположенные в этой папке, будут доступны для выбора при создании документов в приложении Офис для Nextcloud.", "Zotero" : "Zotero", @@ -153,18 +157,18 @@ "No font overview" : "Нет средства просмотра шрифтов.", "Delete this font" : "Удалить этот шрифт", "No results" : "Нет результатов", + "Select file" : "Выбрать файл", "Select file or folder to link to" : "Выберите файл или папку для создания ссылки", "Could not find any section in the document" : "Не удалось найти ни одного раздела в документе", - "Select file" : "Выбрать файл", + "{productName} is not configured" : "Приложение {productName} не настроено", + "Starting the built-in CODE server failed" : "Не удалось запустить встроенный сервер CODE", + "Loading {filename} …" : "Загрузка файла «{filename}»…", + "Failed to load {productName} - please try again later" : "Не удалось загрузить {productName} - повторите попытку позже", + "Open in local editor" : "Открыть в локальном редакторе", "Document loading failed" : "Ошибка загрузки документа", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Для получения более подробной информации проверьте журнал сервера Collabora Online и убедитесь, что оттуда можно получить доступ к Nextcloud.", "Close" : "Закрыть", "Edit" : "Редактирование", - "Starting the built-in CODE server failed" : "Не удалось запустить встроенный сервер CODE", - "Loading {filename} …" : "Загрузка файла «{filename}»…", - "Open in local editor" : "Открыть в локальном редакторе", - "Failed to load {productName} - please try again later" : "Не удалось загрузить {productName} - повторите попытку позже", - "{productName} is not configured" : "Приложение {productName} не настроено", "Built-in CODE Server is starting up shortly, please wait." : "Дождитесь окончания запуска встроенного сервера CODE.", "Built-in CODE Server is restarting, please wait." : "Дождитесь окончания перезапуска встроенного сервера CODE.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Ошибка: не удалось найти файл образа приложения, необходима переустановка встраиваемого сервера Collabora Online.", @@ -195,15 +199,23 @@ "Follow current editor" : "Следить за текущим редактором", "New file" : "Новый файл", "Please enter the filename for the new file" : "Пожалуйста, введите имя нового файла", - "Create" : "Создать", - "New drawing" : "Новая схема", "Could not create file" : "Не удалось создать файл", - "Select template" : "Выбрать шаблон", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Сохранено с ошибкой: В Collabra Online должен использоваться тот же протокол, что в установке сервера.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Не удалось установить соединение с сервером Collabora Online. Возможной причиной может являться отсутствие конфигурации веб-сервера. Дополнительная информация доступна по адресу: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office требует отдельного сервера, на котором работает Collabora Online, для обеспечения возможностей редактирования.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Для работы Collabora Online требуется отдельный сервер, выступающий в роли WOPI-подобного клиента для обеспечения возможностей редактирования.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "По умолчанию все пользователи могут редактировать документы с {productName}. Когда этот параметр активен, только члены указанных групп могут редактировать, а остальные могут только просматривать документы.", + "Secure view settings" : "Параметры безопасного просмотра", + "Secure view enables you to secure documents by embedding a watermark" : "Безопасный просмотр позволяет защищать документы добавлением водяного знака.", + "Enable watermarking" : "Добавлять водяной знак при просмотре", + "Show watermark on tagged files" : "Использовать для файлов с присвоенными метками", + "Show watermark for users of groups" : "Использовать для пользователей указанных групп", + "Show watermark for all shares" : "Использовать для всех опубликованных ресурсов", + "Show watermark for read only shares" : "Использовать для ресурсов, опубликованных только для чтения", + "Show watermark for all link shares" : "Использовать для ресурсов, опубликованных по ссылке", + "Show watermark for download hidden shares" : "Использовать для загружаемых скрытых ресурсов", + "Show watermark for read only link shares" : "Использовать для ресурсов, опубликованных по ссылке только для чтения", + "Show watermark on link shares with specific system tags" : "Использовать для ресурсов, опубликованных по ссылке с присвоенными метками", "Error" : "Ошибка", "An error occurred" : "Произошла ошибка", "Please choose your nickname to continue as guest user." : "Пожалуйста, выберите свой псевдоним для продолжения в гостевом режиме.", @@ -214,8 +226,8 @@ "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Не удалось подключиться к {productName}. Повторите попытку позже или обратитесь к администратору сервера.", "Saving…" : "Сохранение…", "Insert from {name}" : "Вставить из {name}", - "Last saved version" : "Последняя сохраненная версия", - "Current version (unsaved changes)" : "Текущая версия (несохраненные изменения)", + "Last saved version" : "Последняя сохранённая версия", + "Current version (unsaved changes)" : "Текущая версия (несохранённые изменения)", "Please enter the filename for the new document" : "Укажите имя файла нового документа", "Create a new document" : "Создать новый документ", "Open with {productName}" : "Открыть с помощью {productName}", @@ -224,6 +236,10 @@ "No templates defined." : "Шаблоны не определены.", "Add a new one?" : "Добавить новый?", "template preview" : "Предпросмотр шаблона", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файлы по-прежнему могут быть загружены через Nextcloud, если иное не ограничено настройками общего доступа или контроля доступа.", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Предварительный просмотр будет заблокирован для файлов с водяными знаками, чтобы не произошла утечка первой страницы документов.", + "Show watermark for shares without download permission" : "Показывать водяной знак для опубликованных файлов без разрешения на загрузку", + "New drawing" : "Новая схема", "Collabora Online" : "Collabora Online", "Document already exists" : "Документ уже существует", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online по умолчанию включен для всех пользователей. Когда этот параметр активен, его могут использовать только члены указанных групп.", diff --git a/l10n/sc.js b/l10n/sc.js index 35ac40bea9..c663895dbd 100644 --- a/l10n/sc.js +++ b/l10n/sc.js @@ -33,12 +33,15 @@ OC.L10N.register( "Headings" : "Intestatziones", "Images" : "Immàgines", "Office" : "Ofìtziu", + "Instructions" : "Inditos", "Empty" : "Bòidu", "Anonymous guest" : "Persone invitada chene nùmene", "%s (Guest)" : "%s (persone invitada)", "Edit office documents directly in your browser." : "Modìfica documentos diretamente in su navigadore tuo", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Custa aplicatzione faghet a dda collegare a Collàbora in lìnia (o àteros) serbidores (cliente comente WOPI). Nextcloud est su retzidore WOPI. Leghe sa documentatzione pro nde ischire de prus.\n\nPodes fintzas modificare is documentos foras de lìnia cun s'aplicatzione Collabora Office dae sa butega **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** e **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Nou", + "Contact {0} to get an own installation." : "Cuntata {0} pro otònnere s'installatzione tua.", + "Failed to save settings" : "No at fatu a sarvare is informatziones", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online est una suite de ufìtziu in lìnia potente basada subra de LibreOffice cun modìfica collaborativa, chi suportat totu is formados printzipales de documentos, fògios eletrònicos e presentatziones e funtzionat cun totu is navigadores modernos.", "Could not establish connection to the Collabora Online server." : "No at fatu a istabilire una connessione cun su serbidore Collabora Online.", "Connecting Collabora Online Single Click with Nginx" : "Connetende Collabora Online Single Click cun Nginx", @@ -81,37 +84,27 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Webroot canonica chi at a impreare Collabora, in presèntzia de prus webroot. Fruni cudda cun prus pagu restritziones. Pro nàrrere: imprea una una webroot sena shibboleth si s'intrada a custa istàntzia est efetuadu dae webroot cun e sena shibboleth. Podes ignorare custa cunfiguratzione si s'impreat una webroot ebbia pro intrare a custa istàntzia.", "Enable access for external apps" : "Ativa s'atzessu pro aplicatziones de foras", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de indiritzos IPV4 e IPV6 e sutaretes a is est cunsentidu de mandare rechestas de is endpoint WOPI. Si no est ispetzificada peruna lista, totu is retzidores dd'ant a pòdere fàghere. Pro nàrrere. 10.0.0.20,10.0.4.0/24", - "Secure view settings" : "Cunfiguratzione de visualizatzione segura", - "Secure view enables you to secure documents by embedding a watermark" : "Sa visualizatzione sigura ti permitit de amparare is archìvios dae s'integratzione de una filigrana", - "Enable watermarking" : "Ativa filigranas digitales", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Sostitutos temporàneos suportados: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mustra filigrana digitale in archìvios etichetados", "Select tags to enforce watermarking" : "Seletziona etichetas pro aplicare sa filigrana digitale", - "Show watermark for users of groups" : "Mustra sa filigrana digitale pro is utentes de is grupos", - "Show watermark for all shares" : "Mustra sa filigrana digitale pro totu is cumpartziduras", - "Show watermark for read only shares" : "Mustra sa filigrana digitale pro cumpartziduras de letura sola", - "Show watermark for all link shares" : "Mustra sa filigrana digitale pro totu is cumpartziduras cun ligòngiu", - "Show watermark for download hidden shares" : "Mustra sa filigrana digitale pro is cumpartziduras de iscarrigamentu cuadas", - "Show watermark for read only link shares" : "Mustra sa filigrana digitale pro cumpartziduras cun ligòngiu de letura sola", - "Show watermark on link shares with specific system tags" : "Mustra sa filigrana digitale in is cumpartziduras cun ligòngiu cun etichetas de sistema ispetzìficas", - "Contact {0} to get an own installation." : "Cuntata {0} pro otònnere s'installatzione tua.", - "Failed to save settings" : "No at fatu a sarvare is informatziones", "Save" : "Sarva", "Remove" : "Boga", "Confirm" : "Cunfirma", "Cancel" : "Annulla", "Save As" : "Sarva comente", + "Select template" : "Seletziona su modellu", + "File name" : "Nùmene de archìviu", + "Create" : "Crea", "Submit" : "Imbia", - "Select a template directory" : "Seletziona una cartella de is modellos", "Select a personal template folder" : "Seletziona una cartella de is modellos personale", + "Select a template directory" : "Seletziona una cartella de is modellos", "Remove personal template folder" : "Boga sa cartella de is modellos personale", "Description" : "Descritzione", "Add new token" : "Agiunghe unu token nou", "No results" : "Perunu resurtadu", "Select file or folder to link to" : "Seletziona un'archìviu o una cartella de ligongiare", + "Failed to load {productName} - please try again later" : "No at fatu a carrigare {productName} - torra a proare prus a tardu", "Close" : "Serra", "Edit" : "Modìfica", - "Failed to load {productName} - please try again later" : "No at fatu a carrigare {productName} - torra a proare prus a tardu", "Built-in CODE Server is starting up shortly, please wait." : "Su serbidore CODE integradu s'at aviare tra pagu, abeta.", "Built-in CODE Server is restarting, please wait." : "Su serbidore CODE integradu est in fase de ri-aviu, abeta.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Errore: no at fatu a agatare AppImage, installa torra su serbidore integradu de Collabora Online.", @@ -138,13 +131,21 @@ OC.L10N.register( "Follow current editor" : "Sighi s'editore/a atuale ", "New file" : "Archìviu nou", "Please enter the filename for the new file" : "Inserta su nùmene de archìviu pro s'archìviu nou", - "Create" : "Crea", - "New drawing" : "Disinnu nou", "Could not create file" : "No at fatu a creare s'archìviu", - "Select template" : "Seletziona su modellu", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Sarvadu cun errore: Collabora Online diat dèpere impreare su pròpiu protocollu de s'installatzione de su serbidore.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "No at fatu a istabilire sa connessione cun su serbidore Collabora Online. Podet èssere ca mancat una cunfiguratzione in su serbidore web tuo. Pro àteras informatziones, vìsita:", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online rechedet unu serbidore seberadu chi funtzionat comente unu cliente WOPI pro frunire possibilidade de modìfica.", + "Secure view settings" : "Cunfiguratzione de visualizatzione segura", + "Secure view enables you to secure documents by embedding a watermark" : "Sa visualizatzione sigura ti permitit de amparare is archìvios dae s'integratzione de una filigrana", + "Enable watermarking" : "Ativa filigranas digitales", + "Show watermark on tagged files" : "Mustra filigrana digitale in archìvios etichetados", + "Show watermark for users of groups" : "Mustra sa filigrana digitale pro is utentes de is grupos", + "Show watermark for all shares" : "Mustra sa filigrana digitale pro totu is cumpartziduras", + "Show watermark for read only shares" : "Mustra sa filigrana digitale pro cumpartziduras de letura sola", + "Show watermark for all link shares" : "Mustra sa filigrana digitale pro totu is cumpartziduras cun ligòngiu", + "Show watermark for download hidden shares" : "Mustra sa filigrana digitale pro is cumpartziduras de iscarrigamentu cuadas", + "Show watermark for read only link shares" : "Mustra sa filigrana digitale pro cumpartziduras cun ligòngiu de letura sola", + "Show watermark on link shares with specific system tags" : "Mustra sa filigrana digitale in is cumpartziduras cun ligòngiu cun etichetas de sistema ispetzìficas", "Error" : "Errore", "An error occurred" : "B'at àpidu un'errore", "Please choose your nickname to continue as guest user." : "Sèbera su nùmene tuo pro sighire comente persone invitada.", @@ -164,6 +165,7 @@ OC.L10N.register( "No templates defined." : "Perunu modellu definidu.", "Add a new one?" : "Nde boles agiùnghere unu nou?", "template preview" : "anteprima de su modellu", + "New drawing" : "Disinnu nou", "Collabora Online" : "Collabora Online", "Document already exists" : "Su documentu esistit giai", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online est ativadu in manera predefinida pro totu is utentes. Cando est ativu, isceti sa gente de grupos ispetzìficos ddu podet impreare.", diff --git a/l10n/sc.json b/l10n/sc.json index b27906b54f..6c5ba2aa28 100644 --- a/l10n/sc.json +++ b/l10n/sc.json @@ -31,12 +31,15 @@ "Headings" : "Intestatziones", "Images" : "Immàgines", "Office" : "Ofìtziu", + "Instructions" : "Inditos", "Empty" : "Bòidu", "Anonymous guest" : "Persone invitada chene nùmene", "%s (Guest)" : "%s (persone invitada)", "Edit office documents directly in your browser." : "Modìfica documentos diretamente in su navigadore tuo", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Custa aplicatzione faghet a dda collegare a Collàbora in lìnia (o àteros) serbidores (cliente comente WOPI). Nextcloud est su retzidore WOPI. Leghe sa documentatzione pro nde ischire de prus.\n\nPodes fintzas modificare is documentos foras de lìnia cun s'aplicatzione Collabora Office dae sa butega **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** e **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Nou", + "Contact {0} to get an own installation." : "Cuntata {0} pro otònnere s'installatzione tua.", + "Failed to save settings" : "No at fatu a sarvare is informatziones", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online est una suite de ufìtziu in lìnia potente basada subra de LibreOffice cun modìfica collaborativa, chi suportat totu is formados printzipales de documentos, fògios eletrònicos e presentatziones e funtzionat cun totu is navigadores modernos.", "Could not establish connection to the Collabora Online server." : "No at fatu a istabilire una connessione cun su serbidore Collabora Online.", "Connecting Collabora Online Single Click with Nginx" : "Connetende Collabora Online Single Click cun Nginx", @@ -79,37 +82,27 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Webroot canonica chi at a impreare Collabora, in presèntzia de prus webroot. Fruni cudda cun prus pagu restritziones. Pro nàrrere: imprea una una webroot sena shibboleth si s'intrada a custa istàntzia est efetuadu dae webroot cun e sena shibboleth. Podes ignorare custa cunfiguratzione si s'impreat una webroot ebbia pro intrare a custa istàntzia.", "Enable access for external apps" : "Ativa s'atzessu pro aplicatziones de foras", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista de indiritzos IPV4 e IPV6 e sutaretes a is est cunsentidu de mandare rechestas de is endpoint WOPI. Si no est ispetzificada peruna lista, totu is retzidores dd'ant a pòdere fàghere. Pro nàrrere. 10.0.0.20,10.0.4.0/24", - "Secure view settings" : "Cunfiguratzione de visualizatzione segura", - "Secure view enables you to secure documents by embedding a watermark" : "Sa visualizatzione sigura ti permitit de amparare is archìvios dae s'integratzione de una filigrana", - "Enable watermarking" : "Ativa filigranas digitales", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Sostitutos temporàneos suportados: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Mustra filigrana digitale in archìvios etichetados", "Select tags to enforce watermarking" : "Seletziona etichetas pro aplicare sa filigrana digitale", - "Show watermark for users of groups" : "Mustra sa filigrana digitale pro is utentes de is grupos", - "Show watermark for all shares" : "Mustra sa filigrana digitale pro totu is cumpartziduras", - "Show watermark for read only shares" : "Mustra sa filigrana digitale pro cumpartziduras de letura sola", - "Show watermark for all link shares" : "Mustra sa filigrana digitale pro totu is cumpartziduras cun ligòngiu", - "Show watermark for download hidden shares" : "Mustra sa filigrana digitale pro is cumpartziduras de iscarrigamentu cuadas", - "Show watermark for read only link shares" : "Mustra sa filigrana digitale pro cumpartziduras cun ligòngiu de letura sola", - "Show watermark on link shares with specific system tags" : "Mustra sa filigrana digitale in is cumpartziduras cun ligòngiu cun etichetas de sistema ispetzìficas", - "Contact {0} to get an own installation." : "Cuntata {0} pro otònnere s'installatzione tua.", - "Failed to save settings" : "No at fatu a sarvare is informatziones", "Save" : "Sarva", "Remove" : "Boga", "Confirm" : "Cunfirma", "Cancel" : "Annulla", "Save As" : "Sarva comente", + "Select template" : "Seletziona su modellu", + "File name" : "Nùmene de archìviu", + "Create" : "Crea", "Submit" : "Imbia", - "Select a template directory" : "Seletziona una cartella de is modellos", "Select a personal template folder" : "Seletziona una cartella de is modellos personale", + "Select a template directory" : "Seletziona una cartella de is modellos", "Remove personal template folder" : "Boga sa cartella de is modellos personale", "Description" : "Descritzione", "Add new token" : "Agiunghe unu token nou", "No results" : "Perunu resurtadu", "Select file or folder to link to" : "Seletziona un'archìviu o una cartella de ligongiare", + "Failed to load {productName} - please try again later" : "No at fatu a carrigare {productName} - torra a proare prus a tardu", "Close" : "Serra", "Edit" : "Modìfica", - "Failed to load {productName} - please try again later" : "No at fatu a carrigare {productName} - torra a proare prus a tardu", "Built-in CODE Server is starting up shortly, please wait." : "Su serbidore CODE integradu s'at aviare tra pagu, abeta.", "Built-in CODE Server is restarting, please wait." : "Su serbidore CODE integradu est in fase de ri-aviu, abeta.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Errore: no at fatu a agatare AppImage, installa torra su serbidore integradu de Collabora Online.", @@ -136,13 +129,21 @@ "Follow current editor" : "Sighi s'editore/a atuale ", "New file" : "Archìviu nou", "Please enter the filename for the new file" : "Inserta su nùmene de archìviu pro s'archìviu nou", - "Create" : "Crea", - "New drawing" : "Disinnu nou", "Could not create file" : "No at fatu a creare s'archìviu", - "Select template" : "Seletziona su modellu", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Sarvadu cun errore: Collabora Online diat dèpere impreare su pròpiu protocollu de s'installatzione de su serbidore.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "No at fatu a istabilire sa connessione cun su serbidore Collabora Online. Podet èssere ca mancat una cunfiguratzione in su serbidore web tuo. Pro àteras informatziones, vìsita:", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online rechedet unu serbidore seberadu chi funtzionat comente unu cliente WOPI pro frunire possibilidade de modìfica.", + "Secure view settings" : "Cunfiguratzione de visualizatzione segura", + "Secure view enables you to secure documents by embedding a watermark" : "Sa visualizatzione sigura ti permitit de amparare is archìvios dae s'integratzione de una filigrana", + "Enable watermarking" : "Ativa filigranas digitales", + "Show watermark on tagged files" : "Mustra filigrana digitale in archìvios etichetados", + "Show watermark for users of groups" : "Mustra sa filigrana digitale pro is utentes de is grupos", + "Show watermark for all shares" : "Mustra sa filigrana digitale pro totu is cumpartziduras", + "Show watermark for read only shares" : "Mustra sa filigrana digitale pro cumpartziduras de letura sola", + "Show watermark for all link shares" : "Mustra sa filigrana digitale pro totu is cumpartziduras cun ligòngiu", + "Show watermark for download hidden shares" : "Mustra sa filigrana digitale pro is cumpartziduras de iscarrigamentu cuadas", + "Show watermark for read only link shares" : "Mustra sa filigrana digitale pro cumpartziduras cun ligòngiu de letura sola", + "Show watermark on link shares with specific system tags" : "Mustra sa filigrana digitale in is cumpartziduras cun ligòngiu cun etichetas de sistema ispetzìficas", "Error" : "Errore", "An error occurred" : "B'at àpidu un'errore", "Please choose your nickname to continue as guest user." : "Sèbera su nùmene tuo pro sighire comente persone invitada.", @@ -162,6 +163,7 @@ "No templates defined." : "Perunu modellu definidu.", "Add a new one?" : "Nde boles agiùnghere unu nou?", "template preview" : "anteprima de su modellu", + "New drawing" : "Disinnu nou", "Collabora Online" : "Collabora Online", "Document already exists" : "Su documentu esistit giai", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online est ativadu in manera predefinida pro totu is utentes. Cando est ativu, isceti sa gente de grupos ispetzìficos ddu podet impreare.", diff --git a/l10n/si.js b/l10n/si.js index 3142aae1de..eccc0c1716 100644 --- a/l10n/si.js +++ b/l10n/si.js @@ -12,6 +12,8 @@ OC.L10N.register( "Remove" : "ඉවත් කරන්න", "Confirm" : "තහවුරු කරන්න", "Cancel" : "අවලංගු කරන්න", + "File name" : "ගොනුවේ නම", + "Create" : "සාදන්න", "Description" : "විස්තරය", "No results" : "ප්‍රතිථල නැත", "Close" : "වසන්න", @@ -19,7 +21,6 @@ OC.L10N.register( "Details" : "විස්තර", "Download" : "බාගන්න", "New file" : "නව ගොනුව", - "Create" : "සාදන්න", "Error" : "දෝෂය", "Nickname" : "අන්වර්ථ නාමය" }, diff --git a/l10n/si.json b/l10n/si.json index f8d0686958..847979e1e4 100644 --- a/l10n/si.json +++ b/l10n/si.json @@ -10,6 +10,8 @@ "Remove" : "ඉවත් කරන්න", "Confirm" : "තහවුරු කරන්න", "Cancel" : "අවලංගු කරන්න", + "File name" : "ගොනුවේ නම", + "Create" : "සාදන්න", "Description" : "විස්තරය", "No results" : "ප්‍රතිථල නැත", "Close" : "වසන්න", @@ -17,7 +19,6 @@ "Details" : "විස්තර", "Download" : "බාගන්න", "New file" : "නව ගොනුව", - "Create" : "සාදන්න", "Error" : "දෝෂය", "Nickname" : "අන්වර්ථ නාමය" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/sk.js b/l10n/sk.js index 43e8cc88d3..82224a919f 100644 --- a/l10n/sk.js +++ b/l10n/sk.js @@ -1,6 +1,7 @@ OC.L10N.register( "richdocuments", { + "No files found for this task." : "Pre túto úlohu sa nenašli žiadne súbory.", "Cannot create document" : "Nedá sa vytvoriť dokument", "New Document.odt" : "Nový dokument.odt", "New Spreadsheet.ods" : "Nová tabuľka.ods", @@ -27,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "Nahrať je možné iba súbory šablón", "Invalid file provided" : "Zadaný neplatný súbor", "Template not found" : "Šablóna sa nenašla", + "Unable to determine the proper file extension for %1$s" : "Nie je možné určiť správnu príponu súboru pre %1$s", + "Unable to fetch information on %1$s" : "Nie je možné získať informácie o %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Obrázok (.png)", + "Image (.svg)" : "Obrázok (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Dokument Word (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument Text (.odt)", + "Excel Workbook (.xlsx)" : "Excelový zošit (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Tabuľka OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint prezentácia (.pptx)", + "OpenDocument Presentation (.odp)" : "Prezentácia OpenDocument (.odp)", "New document" : "Nový dokument", "New spreadsheet" : "Nová tabuľka", "New presentation" : "Nová prezentácia", @@ -40,13 +54,22 @@ OC.L10N.register( "Sheets" : "Tabuľky", "Slides" : "Prezentácie", "Office" : "Office", + "Instructions" : "Postup", "Empty" : "Prázdny", "Anonymous guest" : "Anonymný hosť", "%s (Guest)" : "%s (Hosť)", "Edit office documents directly in your browser." : "Upravte kancelárske dokumenty priamo v prehliadači.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Táto aplikácia sa môže pripojiť k serveru Collabora Online (alebo k inému) serveru (klientovi typu WOPI). Nextcloud je hostiteľom WOPI. Prečítajte si dokumentáciu, aby ste sa o tom dozvedeli viac.\n\nDokumenty môžete tiež upravovať off-line pomocou aplikácie Collabora Office z obchodu **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice) ** a ** [iOS](https://apps.apple.com/us/app/collabora-office/id1440482071) **.", + "Uploaded template \"{name}\"" : "Nahraná šablóna \"{name}\"", + "Template \"{name}\" already exists" : "Šablóna \"{name}\" už existuje", + "Unable to delete template" : "Nepodarilo sa zmazať šablónu", + "Deleted template" : "Šablóna bola zmazaná", "Global Templates" : "Globálne Šablóny", "New" : "Nový", + "Contact {0} to get an own installation." : "Ak chcete získať vlastnú inštaláciu, kontaktujte {0}.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Uistite sa, že ste nastavili túto adresu URL: {url} v súbore coolwsd.xml na serveri Collabora Online, aby ste zabezpečili automatické načítanie pridaných písiem. Upozorňujeme, že http:// bude fungovať iba pre ladiace účely Collabora Online. V produkcii musíte použiť https:// pre vzdialenú konfiguráciu písma.", + "Failed to save settings" : "Nepodarilo sa uložiť nastavenia", + "Font format not supported ({mime})" : "Formát fontu nie je podporovaný ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office je výkonná online kancelárska sada pre spoluprácu viacerých používateľov, ktorá podporuje všetky hlavné formáty dokumentov, tabuliek a prezentácií a spolupracuje so všetkými modernými prehliadačmi.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online je výkonná online kancelárska sada pre spoluprácu viacerých používateľov, založená na LibreOffice. Podporuje všetky hlavné formáty dokumentov, tabuliek a prezentácií a spolupracuje so všetkými modernými prehliadačmi.", "Could not establish connection to the Collabora Online server." : "Nepodarilo sa nadviazať spojenie so serverom Collabora Online.", @@ -104,50 +127,50 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Úplna cesta koreňa webu, ktorú má Collabora použiť v prípade, že ich je viac. Použite tú s najmenšími obmedzeniami. Napr. použite cestu koreňa bez podpory Shibboleth ak tato inštancia podporuje obidva prístupy. Tuto voľbu môžete ignorovať v prípade, že existuje iba jeden koreňový priečinok pre prístup.", "Enable access for external apps" : "Povoliť prístup externým aplikáciám", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Zoznam IPv4 a IPv6 IP adries a podsietí z ktorých sú povolené požiadavky na WOPI. Ak nie je definovaný žiadny zoznam, je povolený prístup z akéhokoľvek hostiteľa. Napr. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Extra fonty", - "Upload extra font file" : "Nahrať súbor s extra fontom", + "Custom Fonts" : "Užívateľské Písma", + "Upload font file" : "Nahrať súbor s písmom", "Upload a font file" : "Nahrať súbor s fontom", "Available fonts" : "Dostupné fonty", - "Secure view settings" : "Nastavenie zabezpečeného zobrazenia", - "Secure view enables you to secure documents by embedding a watermark" : "Zabezpečené zobrazenie umožňuje zabezpečiť dokumenty vložením vodoznaku", + "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Pre ideálnu kompatibilitu dokumentov odporúčame nainštalovať bežne používané písma. Ak vaši používatelia pracujú s balíkom Microsoft Office, inštaláciu ich proprietárnych písiem môžete vykonať podľa dokumentácie.", + "Custom fonts documentation" : "Dokumentácia k užívateľkým písmam", + "Secure View" : "Bezpečné zobrazenie", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Nastavenia sa vzťahujú iba na kompatibilné kancelárske súbory, ktoré sú otvorené v Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nasledujúce možnosti v rámci Nextcloud Office budú zakázané: Kopírovať, Stiahnuť, Exportovať, Tlačiť", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Súbory je možné stále sťahovať cez Nextcloud, pokiaľ to nie je inak obmedzené prostredníctvom nastavení zdieľania alebo riadenia prístupu", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Súbory je možné stále stiahnuť prostredníctvom WOPI požiadaviek, ak nie sú správne nakonfigurované nastavenia WOPI.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Náhľady budú zablokované pre súbory s vodoznakom, aby nedošlo k úniku prvej strany dokumentov", - "Enable watermarking" : "Povoliť vodoznak", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Podporované zástupné označenia: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Zobraziť vodoznak v označených súboroch", "Select tags to enforce watermarking" : "Vyberte štítky na vynútenie vodoznaku", - "Show watermark for users of groups" : "Zobraziť vodoznak pre používateľov skupín", - "Show watermark for all shares" : "Zobraziť vodoznak pre všetky zdieľania", - "Show watermark for read only shares" : "Zobraziť vodoznak pre zdieľané súbory iba na čítanie", - "Show watermark for shares without download permission" : "Zobraziť vodoznak pre zdieľania bez povolenia na stiahnutie", - "Show watermark for all link shares" : "Zobraziť vodoznak pre všetky zdieľania odkazom", - "Show watermark for download hidden shares" : "Zobraziť vodoznak pre sťahovania skrytých zdieľaní", - "Show watermark for read only link shares" : "Zobraziť vodoznak pre zdieľania odkazom, ktoré sú iba na čítanie.", - "Show watermark on link shares with specific system tags" : "Zobraziť vodoznak pre zdieľania odkazom so špecifickými systémovými štítkami", - "Contact {0} to get an own installation." : "Ak chcete získať vlastnú inštaláciu, kontaktujte {0}.", - "Failed to save settings" : "Nepodarilo sa uložiť nastavenia", - "Font format not supported ({mime})" : "Formát fontu nie je podporovaný ({mime})", + "Electronic Signature" : "Elektronický podpis", + "Client ID for the electronic signature API" : "ID klienta pre API elektronického podpisu", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Vypňte formulár na https://eideasy.com/signup pre získanie ID klienta a tajomstva klienta", + "Secret for the electronic signature API" : "Tajomstvo klienta pre API elektronického podpisu", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Tajomstvo je možné stiahnuť prostredníctvom požiadaviek WOPI, ak zoznam povolených WOPI nie je správne nakonfigurovaný.", "Save" : "Uložiť", "Remove" : "Odobrať", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Pred pokračovaním v dokumente zadajte meno návštevníka, ktoré chcete použiť. Ak ho nezadáte, použije sa predvolené nastavenie.", "Guest name" : "Meno návštevníka", "Submit name" : "Odoslať meno", "Confirm" : "Potvrdiť", "Cancel" : "Zrušiť", + "Save As" : "Uložiť ako", "Save as" : "Uložiť ako", "Path to save" : "Cesta pre ukladanie", - "Save As" : "Uložiť ako", + "Invalid file name" : "Neplatné meno súboru", + "Select template" : "Vybrať šablónu", + "File name" : "Názov súboru", + "Create" : "Vytvárať", + "Failed to set Zotero API key" : "Nepodarilo sa nastaviť Zotero API kľúč", "Link to your Zotero library" : "Odkaz na vašu Zotero knižnicu", "Connect your Zotero account to make use of references within Office." : "Pripojte svoj Zotero účet, aby ste mohli využívať odkazy v rámci aplikácie Office.", "You can generate an account key here:" : "Tu môžete vygenerovať kľúč účtu:", "Zotero account settings" : " Nastavenia účtu Zotero", "Zotero API key" : "Zotero API kľúč", "Submit" : "Odoslať", - "Failed to set Zotero API key" : "Nepodarilo sa nastaviť Zotero API kľúč", - "Select a template directory" : "Vyberte priečinok šablón", "Select a personal template folder" : "Vyberať osobný priečinok šablón", + "Settings saved successfully." : "Nastavenia boli úspešne uložené.", + "Failed to save settings." : "Nepodarilo sa uložiť nastavenia.", + "Unexpected error occurred." : "Vyskytla sa neočakávaná chyba.", + "Personal Settings for Nextcloud Office" : "Osobné nastavenia pre Nextcloud Office", + "Select a template directory" : "Vyberte priečinok šablón", "Remove personal template folder" : "Odstrániť osobný priečinok šablón", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Šablóny v tomto adresári budú pridané do výberu šablón v Nextcloud Office.", "Zotero" : "Zotero", @@ -156,27 +179,33 @@ OC.L10N.register( "To use Zotero specify your API key here. You can create your API key in your" : "Na použitie Zotera zadajte svoj API kľúč tu. Môžete vytvoriť svoj API kľúč vo vašom", "Zotero account API settings." : "Nastavenia API Zotero účtu.", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Táto inštancia nepodporuje Zotero, pretože táto funkcia chýba alebo je zakázaná. Prosím, kontaktujte administráciu.", + "Document signing" : "Podpisovanie dokumentu", + "Enter document signing cert (in PEM format)" : "Vložte podpisový certifikát dokumentov (vo formáte PEM)", + "Enter document signing key" : "Vložte kľúč pre podpisovanie dokumentu", + "Enter document signing CA chain" : "Vložte reťazec CA pre podpisovanie dokumentov", + "To use document signing, specify your signing certificate, key and CA chain here." : "Ak chcete použiť podpisovanie dokumentov, zadajte svoj podpisový certifikát, kľúč a reťazec CA.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Táto inštancia nepodporuje podpisovanie dokumentov, pretože funkcia chýba alebo je zakázaná. Kontaktujte prosím administrátora.", "Description" : "Popis", "Add new token" : "Pridať nový token", "No font overview" : "Žiadný náhľad fontu", "Delete this font" : "Zmazať tento font", "No results" : "Žiadne výsledky", + "Select file" : "Označ súbor", "Select file or folder to link to" : "Vyberte súbor alebo priečinok na ktorý odkazovať", "Could not find any section in the document" : "Nepodarilo sa nájsť žiadnu sekciu v dokumente", - "Select file" : "Označ súbor", + "{productName} is not configured" : "{productName} nie je nakonfigurované", + "Starting the built-in CODE server failed" : "Spustenie vstavaného servera CODE zlyhalo", + "Loading {filename} …" : "Načítava sa {filename}…", + "Failed to load {productName} - please try again later" : "Nepodarilo sa načítať {productName} - skúste to znova neskôr", + "Open in local editor" : "Otvoriť v lokálnom editore", + "Cluster is scaling …" : "Cluster sa škáluje ...", + "The collaborative editing was terminated by another user" : "Spoločnú úpravu ukončil iný užívateľ", "Document loading failed" : "Načítanie dokumentu zlyhalo", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Prosím, skontrolujte log servera Collabora Online pre viac informácií a uistite sa, že je možné pristopovať k Nextcloud zo servera Collabora.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socketové pripojenie sa neočakávane ukončilo. Reverzný proxy server môže byť nesprávne nakonfigurovaný, prosím, kontaktujte administrátora.", "More information can be found in the reverse proxy documentation" : "Viac informácií nájdete v dokumentácii reverzného proxy.", "Close" : "Zatvoriť", "Edit" : "Upraviť", - "Starting the built-in CODE server failed" : "Spustenie vstavaného servera CODE zlyhalo", - "Loading {filename} …" : "Načítava sa {filename}…", - "Open in local editor" : "Otvoriť v lokálnom editore", - "Cluster is scaling …" : "Cluster sa škáluje ...", - "The collaborative editing was terminated by another user" : "Spoločnú úpravu ukončil iný užívateľ", - "Failed to load {productName} - please try again later" : "Nepodarilo sa načítať {productName} - skúste to znova neskôr", - "{productName} is not configured" : "{productName} nie je nakonfigurované", "Built-in CODE Server is starting up shortly, please wait." : "Vstavaný server CODE sa čoskoro spustí, počkajte prosím.", "Built-in CODE Server is restarting, please wait." : "Vstavaný server CODE sa reštartuje, počkajte prosím.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Chyba: Nemožno nájsť aplikáciu AppImage, preinštalujte vstavaný Collabora Online server.", @@ -188,6 +217,7 @@ OC.L10N.register( "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Chyba: Nie je možné spustiť zabudovaný server Collabora Online, nastavte samostatný server.", "Close version preview" : "Zavrieť náľad verzie", "Edit with {productName}" : "Upraviť pomocou {productName}u", + "Insert into document" : "Vložiť do dokumentu", "Open file locally" : "Otvoriť súbor lokálne", "When opening a file locally, the document will close for all users currently viewing the document." : "Pri lokálnom otvorení súboru sa dokument zatvorí pre všetkých užívateľov, ktorí si dokument práve prezerajú.", "Open locally" : "Otvoriť lokálne", @@ -197,6 +227,8 @@ OC.L10N.register( "Save a copy of the file under a new name and continue editing the new file" : "Uložte kópiu súboru pod novým názvom a pokračujte v úprave nového súboru.", "Failed to revert the document to older version" : "Nepodarilo sa obnoviť staršiu verziu dokumentu", "Built-in CODE server failed to start" : "Spustenie vstavaného servera CODE zlyhalo", + "Insert file from {name}" : "Vložiť súbor z {name}", + "Insert file" : "Vložiť súbor", "Remove from favorites" : "Odstrániť z obľúbených", "Add to favorites" : "Pridať do obľúbených", "Details" : "Podrobnosti", @@ -207,15 +239,23 @@ OC.L10N.register( "Follow current editor" : "Nasledovať aktuálny editor", "New file" : "Nový súbor", "Please enter the filename for the new file" : "Zadajte názov nového súboru", - "Create" : "Vytvárať", - "New drawing" : "Nová kresba", "Could not create file" : "Nemožno vytvoriť súbor", - "Select template" : "Vybrať šablónu", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Uložené s chybou: Collabora Online by mala používať rovnaký protokol ako nainštalovaný server.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Nepodarilo sa nadviazať spojenie so serverom Collabora Online. Dôvodom môže byť chýbajúce nastavenie vášho webového servera. Viac informácií nájdete na:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office vyžaduje samostatný server so systémom Collabora Online, ktorý poskytuje možnosti úprav.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online vyžaduje samostatný server fungujúci ako WOPI klient, poskytúci možnosti úprav.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Všetci užívatelia môžu predvolene upravovať dokumenty pomocou služby {productName}. Keď je toto nastavenie aktívne, upravovať môžu iba členovia zadaných skupín, zatiaľ čo ostatní môžu iba prezerať dokumenty.", + "Secure view settings" : "Nastavenie zabezpečeného zobrazenia", + "Secure view enables you to secure documents by embedding a watermark" : "Zabezpečené zobrazenie umožňuje zabezpečiť dokumenty vložením vodoznaku", + "Enable watermarking" : "Povoliť vodoznak", + "Show watermark on tagged files" : "Zobraziť vodoznak v označených súboroch", + "Show watermark for users of groups" : "Zobraziť vodoznak pre používateľov skupín", + "Show watermark for all shares" : "Zobraziť vodoznak pre všetky zdieľania", + "Show watermark for read only shares" : "Zobraziť vodoznak pre zdieľané súbory iba na čítanie", + "Show watermark for all link shares" : "Zobraziť vodoznak pre všetky zdieľania odkazom", + "Show watermark for download hidden shares" : "Zobraziť vodoznak pre sťahovania skrytých zdieľaní", + "Show watermark for read only link shares" : "Zobraziť vodoznak pre zdieľania odkazom, ktoré sú iba na čítanie.", + "Show watermark on link shares with specific system tags" : "Zobraziť vodoznak pre zdieľania odkazom so špecifickými systémovými štítkami", "Error" : "Chyba", "An error occurred" : "Vyskytla sa chyba", "Please choose your nickname to continue as guest user." : "Zadajte svoju prezývku a pokračujte ako hosť.", @@ -236,6 +276,10 @@ OC.L10N.register( "No templates defined." : "Nebola určená žiadna šablóna.", "Add a new one?" : "Pridať novú?", "template preview" : "náhľad šablóny", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Súbory je možné stále sťahovať cez Nextcloud, pokiaľ to nie je inak obmedzené prostredníctvom nastavení zdieľania alebo riadenia prístupu", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Náhľady budú zablokované pre súbory s vodoznakom, aby nedošlo k úniku prvej strany dokumentov", + "Show watermark for shares without download permission" : "Zobraziť vodoznak pre zdieľania bez povolenia na stiahnutie", + "New drawing" : "Nová kresba", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument už existuje", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online je predvolene povolená pre všetkých používateľov. Ak je toto nastavenie aktívne, môžu ho používať iba členovia špecifikovaných skupín.", diff --git a/l10n/sk.json b/l10n/sk.json index 9d1c4b3f88..7fc3aa3163 100644 --- a/l10n/sk.json +++ b/l10n/sk.json @@ -1,4 +1,5 @@ { "translations": { + "No files found for this task." : "Pre túto úlohu sa nenašli žiadne súbory.", "Cannot create document" : "Nedá sa vytvoriť dokument", "New Document.odt" : "Nový dokument.odt", "New Spreadsheet.ods" : "Nová tabuľka.ods", @@ -25,6 +26,19 @@ "Only template files can be uploaded" : "Nahrať je možné iba súbory šablón", "Invalid file provided" : "Zadaný neplatný súbor", "Template not found" : "Šablóna sa nenašla", + "Unable to determine the proper file extension for %1$s" : "Nie je možné určiť správnu príponu súboru pre %1$s", + "Unable to fetch information on %1$s" : "Nie je možné získať informácie o %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Obrázok (.png)", + "Image (.svg)" : "Obrázok (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Dokument Word (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument Text (.odt)", + "Excel Workbook (.xlsx)" : "Excelový zošit (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Tabuľka OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint prezentácia (.pptx)", + "OpenDocument Presentation (.odp)" : "Prezentácia OpenDocument (.odp)", "New document" : "Nový dokument", "New spreadsheet" : "Nová tabuľka", "New presentation" : "Nová prezentácia", @@ -38,13 +52,22 @@ "Sheets" : "Tabuľky", "Slides" : "Prezentácie", "Office" : "Office", + "Instructions" : "Postup", "Empty" : "Prázdny", "Anonymous guest" : "Anonymný hosť", "%s (Guest)" : "%s (Hosť)", "Edit office documents directly in your browser." : "Upravte kancelárske dokumenty priamo v prehliadači.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Táto aplikácia sa môže pripojiť k serveru Collabora Online (alebo k inému) serveru (klientovi typu WOPI). Nextcloud je hostiteľom WOPI. Prečítajte si dokumentáciu, aby ste sa o tom dozvedeli viac.\n\nDokumenty môžete tiež upravovať off-line pomocou aplikácie Collabora Office z obchodu **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice) ** a ** [iOS](https://apps.apple.com/us/app/collabora-office/id1440482071) **.", + "Uploaded template \"{name}\"" : "Nahraná šablóna \"{name}\"", + "Template \"{name}\" already exists" : "Šablóna \"{name}\" už existuje", + "Unable to delete template" : "Nepodarilo sa zmazať šablónu", + "Deleted template" : "Šablóna bola zmazaná", "Global Templates" : "Globálne Šablóny", "New" : "Nový", + "Contact {0} to get an own installation." : "Ak chcete získať vlastnú inštaláciu, kontaktujte {0}.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Uistite sa, že ste nastavili túto adresu URL: {url} v súbore coolwsd.xml na serveri Collabora Online, aby ste zabezpečili automatické načítanie pridaných písiem. Upozorňujeme, že http:// bude fungovať iba pre ladiace účely Collabora Online. V produkcii musíte použiť https:// pre vzdialenú konfiguráciu písma.", + "Failed to save settings" : "Nepodarilo sa uložiť nastavenia", + "Font format not supported ({mime})" : "Formát fontu nie je podporovaný ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office je výkonná online kancelárska sada pre spoluprácu viacerých používateľov, ktorá podporuje všetky hlavné formáty dokumentov, tabuliek a prezentácií a spolupracuje so všetkými modernými prehliadačmi.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online je výkonná online kancelárska sada pre spoluprácu viacerých používateľov, založená na LibreOffice. Podporuje všetky hlavné formáty dokumentov, tabuliek a prezentácií a spolupracuje so všetkými modernými prehliadačmi.", "Could not establish connection to the Collabora Online server." : "Nepodarilo sa nadviazať spojenie so serverom Collabora Online.", @@ -102,50 +125,50 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Úplna cesta koreňa webu, ktorú má Collabora použiť v prípade, že ich je viac. Použite tú s najmenšími obmedzeniami. Napr. použite cestu koreňa bez podpory Shibboleth ak tato inštancia podporuje obidva prístupy. Tuto voľbu môžete ignorovať v prípade, že existuje iba jeden koreňový priečinok pre prístup.", "Enable access for external apps" : "Povoliť prístup externým aplikáciám", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Zoznam IPv4 a IPv6 IP adries a podsietí z ktorých sú povolené požiadavky na WOPI. Ak nie je definovaný žiadny zoznam, je povolený prístup z akéhokoľvek hostiteľa. Napr. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Extra fonty", - "Upload extra font file" : "Nahrať súbor s extra fontom", + "Custom Fonts" : "Užívateľské Písma", + "Upload font file" : "Nahrať súbor s písmom", "Upload a font file" : "Nahrať súbor s fontom", "Available fonts" : "Dostupné fonty", - "Secure view settings" : "Nastavenie zabezpečeného zobrazenia", - "Secure view enables you to secure documents by embedding a watermark" : "Zabezpečené zobrazenie umožňuje zabezpečiť dokumenty vložením vodoznaku", + "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Pre ideálnu kompatibilitu dokumentov odporúčame nainštalovať bežne používané písma. Ak vaši používatelia pracujú s balíkom Microsoft Office, inštaláciu ich proprietárnych písiem môžete vykonať podľa dokumentácie.", + "Custom fonts documentation" : "Dokumentácia k užívateľkým písmam", + "Secure View" : "Bezpečné zobrazenie", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Nastavenia sa vzťahujú iba na kompatibilné kancelárske súbory, ktoré sú otvorené v Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nasledujúce možnosti v rámci Nextcloud Office budú zakázané: Kopírovať, Stiahnuť, Exportovať, Tlačiť", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Súbory je možné stále sťahovať cez Nextcloud, pokiaľ to nie je inak obmedzené prostredníctvom nastavení zdieľania alebo riadenia prístupu", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Súbory je možné stále stiahnuť prostredníctvom WOPI požiadaviek, ak nie sú správne nakonfigurované nastavenia WOPI.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Náhľady budú zablokované pre súbory s vodoznakom, aby nedošlo k úniku prvej strany dokumentov", - "Enable watermarking" : "Povoliť vodoznak", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Podporované zástupné označenia: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Zobraziť vodoznak v označených súboroch", "Select tags to enforce watermarking" : "Vyberte štítky na vynútenie vodoznaku", - "Show watermark for users of groups" : "Zobraziť vodoznak pre používateľov skupín", - "Show watermark for all shares" : "Zobraziť vodoznak pre všetky zdieľania", - "Show watermark for read only shares" : "Zobraziť vodoznak pre zdieľané súbory iba na čítanie", - "Show watermark for shares without download permission" : "Zobraziť vodoznak pre zdieľania bez povolenia na stiahnutie", - "Show watermark for all link shares" : "Zobraziť vodoznak pre všetky zdieľania odkazom", - "Show watermark for download hidden shares" : "Zobraziť vodoznak pre sťahovania skrytých zdieľaní", - "Show watermark for read only link shares" : "Zobraziť vodoznak pre zdieľania odkazom, ktoré sú iba na čítanie.", - "Show watermark on link shares with specific system tags" : "Zobraziť vodoznak pre zdieľania odkazom so špecifickými systémovými štítkami", - "Contact {0} to get an own installation." : "Ak chcete získať vlastnú inštaláciu, kontaktujte {0}.", - "Failed to save settings" : "Nepodarilo sa uložiť nastavenia", - "Font format not supported ({mime})" : "Formát fontu nie je podporovaný ({mime})", + "Electronic Signature" : "Elektronický podpis", + "Client ID for the electronic signature API" : "ID klienta pre API elektronického podpisu", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Vypňte formulár na https://eideasy.com/signup pre získanie ID klienta a tajomstva klienta", + "Secret for the electronic signature API" : "Tajomstvo klienta pre API elektronického podpisu", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Tajomstvo je možné stiahnuť prostredníctvom požiadaviek WOPI, ak zoznam povolených WOPI nie je správne nakonfigurovaný.", "Save" : "Uložiť", "Remove" : "Odobrať", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Pred pokračovaním v dokumente zadajte meno návštevníka, ktoré chcete použiť. Ak ho nezadáte, použije sa predvolené nastavenie.", "Guest name" : "Meno návštevníka", "Submit name" : "Odoslať meno", "Confirm" : "Potvrdiť", "Cancel" : "Zrušiť", + "Save As" : "Uložiť ako", "Save as" : "Uložiť ako", "Path to save" : "Cesta pre ukladanie", - "Save As" : "Uložiť ako", + "Invalid file name" : "Neplatné meno súboru", + "Select template" : "Vybrať šablónu", + "File name" : "Názov súboru", + "Create" : "Vytvárať", + "Failed to set Zotero API key" : "Nepodarilo sa nastaviť Zotero API kľúč", "Link to your Zotero library" : "Odkaz na vašu Zotero knižnicu", "Connect your Zotero account to make use of references within Office." : "Pripojte svoj Zotero účet, aby ste mohli využívať odkazy v rámci aplikácie Office.", "You can generate an account key here:" : "Tu môžete vygenerovať kľúč účtu:", "Zotero account settings" : " Nastavenia účtu Zotero", "Zotero API key" : "Zotero API kľúč", "Submit" : "Odoslať", - "Failed to set Zotero API key" : "Nepodarilo sa nastaviť Zotero API kľúč", - "Select a template directory" : "Vyberte priečinok šablón", "Select a personal template folder" : "Vyberať osobný priečinok šablón", + "Settings saved successfully." : "Nastavenia boli úspešne uložené.", + "Failed to save settings." : "Nepodarilo sa uložiť nastavenia.", + "Unexpected error occurred." : "Vyskytla sa neočakávaná chyba.", + "Personal Settings for Nextcloud Office" : "Osobné nastavenia pre Nextcloud Office", + "Select a template directory" : "Vyberte priečinok šablón", "Remove personal template folder" : "Odstrániť osobný priečinok šablón", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Šablóny v tomto adresári budú pridané do výberu šablón v Nextcloud Office.", "Zotero" : "Zotero", @@ -154,27 +177,33 @@ "To use Zotero specify your API key here. You can create your API key in your" : "Na použitie Zotera zadajte svoj API kľúč tu. Môžete vytvoriť svoj API kľúč vo vašom", "Zotero account API settings." : "Nastavenia API Zotero účtu.", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Táto inštancia nepodporuje Zotero, pretože táto funkcia chýba alebo je zakázaná. Prosím, kontaktujte administráciu.", + "Document signing" : "Podpisovanie dokumentu", + "Enter document signing cert (in PEM format)" : "Vložte podpisový certifikát dokumentov (vo formáte PEM)", + "Enter document signing key" : "Vložte kľúč pre podpisovanie dokumentu", + "Enter document signing CA chain" : "Vložte reťazec CA pre podpisovanie dokumentov", + "To use document signing, specify your signing certificate, key and CA chain here." : "Ak chcete použiť podpisovanie dokumentov, zadajte svoj podpisový certifikát, kľúč a reťazec CA.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Táto inštancia nepodporuje podpisovanie dokumentov, pretože funkcia chýba alebo je zakázaná. Kontaktujte prosím administrátora.", "Description" : "Popis", "Add new token" : "Pridať nový token", "No font overview" : "Žiadný náhľad fontu", "Delete this font" : "Zmazať tento font", "No results" : "Žiadne výsledky", + "Select file" : "Označ súbor", "Select file or folder to link to" : "Vyberte súbor alebo priečinok na ktorý odkazovať", "Could not find any section in the document" : "Nepodarilo sa nájsť žiadnu sekciu v dokumente", - "Select file" : "Označ súbor", + "{productName} is not configured" : "{productName} nie je nakonfigurované", + "Starting the built-in CODE server failed" : "Spustenie vstavaného servera CODE zlyhalo", + "Loading {filename} …" : "Načítava sa {filename}…", + "Failed to load {productName} - please try again later" : "Nepodarilo sa načítať {productName} - skúste to znova neskôr", + "Open in local editor" : "Otvoriť v lokálnom editore", + "Cluster is scaling …" : "Cluster sa škáluje ...", + "The collaborative editing was terminated by another user" : "Spoločnú úpravu ukončil iný užívateľ", "Document loading failed" : "Načítanie dokumentu zlyhalo", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Prosím, skontrolujte log servera Collabora Online pre viac informácií a uistite sa, že je možné pristopovať k Nextcloud zo servera Collabora.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Socketové pripojenie sa neočakávane ukončilo. Reverzný proxy server môže byť nesprávne nakonfigurovaný, prosím, kontaktujte administrátora.", "More information can be found in the reverse proxy documentation" : "Viac informácií nájdete v dokumentácii reverzného proxy.", "Close" : "Zatvoriť", "Edit" : "Upraviť", - "Starting the built-in CODE server failed" : "Spustenie vstavaného servera CODE zlyhalo", - "Loading {filename} …" : "Načítava sa {filename}…", - "Open in local editor" : "Otvoriť v lokálnom editore", - "Cluster is scaling …" : "Cluster sa škáluje ...", - "The collaborative editing was terminated by another user" : "Spoločnú úpravu ukončil iný užívateľ", - "Failed to load {productName} - please try again later" : "Nepodarilo sa načítať {productName} - skúste to znova neskôr", - "{productName} is not configured" : "{productName} nie je nakonfigurované", "Built-in CODE Server is starting up shortly, please wait." : "Vstavaný server CODE sa čoskoro spustí, počkajte prosím.", "Built-in CODE Server is restarting, please wait." : "Vstavaný server CODE sa reštartuje, počkajte prosím.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Chyba: Nemožno nájsť aplikáciu AppImage, preinštalujte vstavaný Collabora Online server.", @@ -186,6 +215,7 @@ "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Chyba: Nie je možné spustiť zabudovaný server Collabora Online, nastavte samostatný server.", "Close version preview" : "Zavrieť náľad verzie", "Edit with {productName}" : "Upraviť pomocou {productName}u", + "Insert into document" : "Vložiť do dokumentu", "Open file locally" : "Otvoriť súbor lokálne", "When opening a file locally, the document will close for all users currently viewing the document." : "Pri lokálnom otvorení súboru sa dokument zatvorí pre všetkých užívateľov, ktorí si dokument práve prezerajú.", "Open locally" : "Otvoriť lokálne", @@ -195,6 +225,8 @@ "Save a copy of the file under a new name and continue editing the new file" : "Uložte kópiu súboru pod novým názvom a pokračujte v úprave nového súboru.", "Failed to revert the document to older version" : "Nepodarilo sa obnoviť staršiu verziu dokumentu", "Built-in CODE server failed to start" : "Spustenie vstavaného servera CODE zlyhalo", + "Insert file from {name}" : "Vložiť súbor z {name}", + "Insert file" : "Vložiť súbor", "Remove from favorites" : "Odstrániť z obľúbených", "Add to favorites" : "Pridať do obľúbených", "Details" : "Podrobnosti", @@ -205,15 +237,23 @@ "Follow current editor" : "Nasledovať aktuálny editor", "New file" : "Nový súbor", "Please enter the filename for the new file" : "Zadajte názov nového súboru", - "Create" : "Vytvárať", - "New drawing" : "Nová kresba", "Could not create file" : "Nemožno vytvoriť súbor", - "Select template" : "Vybrať šablónu", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Uložené s chybou: Collabora Online by mala používať rovnaký protokol ako nainštalovaný server.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Nepodarilo sa nadviazať spojenie so serverom Collabora Online. Dôvodom môže byť chýbajúce nastavenie vášho webového servera. Viac informácií nájdete na:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office vyžaduje samostatný server so systémom Collabora Online, ktorý poskytuje možnosti úprav.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online vyžaduje samostatný server fungujúci ako WOPI klient, poskytúci možnosti úprav.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Všetci užívatelia môžu predvolene upravovať dokumenty pomocou služby {productName}. Keď je toto nastavenie aktívne, upravovať môžu iba členovia zadaných skupín, zatiaľ čo ostatní môžu iba prezerať dokumenty.", + "Secure view settings" : "Nastavenie zabezpečeného zobrazenia", + "Secure view enables you to secure documents by embedding a watermark" : "Zabezpečené zobrazenie umožňuje zabezpečiť dokumenty vložením vodoznaku", + "Enable watermarking" : "Povoliť vodoznak", + "Show watermark on tagged files" : "Zobraziť vodoznak v označených súboroch", + "Show watermark for users of groups" : "Zobraziť vodoznak pre používateľov skupín", + "Show watermark for all shares" : "Zobraziť vodoznak pre všetky zdieľania", + "Show watermark for read only shares" : "Zobraziť vodoznak pre zdieľané súbory iba na čítanie", + "Show watermark for all link shares" : "Zobraziť vodoznak pre všetky zdieľania odkazom", + "Show watermark for download hidden shares" : "Zobraziť vodoznak pre sťahovania skrytých zdieľaní", + "Show watermark for read only link shares" : "Zobraziť vodoznak pre zdieľania odkazom, ktoré sú iba na čítanie.", + "Show watermark on link shares with specific system tags" : "Zobraziť vodoznak pre zdieľania odkazom so špecifickými systémovými štítkami", "Error" : "Chyba", "An error occurred" : "Vyskytla sa chyba", "Please choose your nickname to continue as guest user." : "Zadajte svoju prezývku a pokračujte ako hosť.", @@ -234,6 +274,10 @@ "No templates defined." : "Nebola určená žiadna šablóna.", "Add a new one?" : "Pridať novú?", "template preview" : "náhľad šablóny", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Súbory je možné stále sťahovať cez Nextcloud, pokiaľ to nie je inak obmedzené prostredníctvom nastavení zdieľania alebo riadenia prístupu", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Náhľady budú zablokované pre súbory s vodoznakom, aby nedošlo k úniku prvej strany dokumentov", + "Show watermark for shares without download permission" : "Zobraziť vodoznak pre zdieľania bez povolenia na stiahnutie", + "New drawing" : "Nová kresba", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument už existuje", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online je predvolene povolená pre všetkých používateľov. Ak je toto nastavenie aktívne, môžu ho používať iba členovia špecifikovaných skupín.", diff --git a/l10n/sl.js b/l10n/sl.js index 1775f566b2..6039000074 100644 --- a/l10n/sl.js +++ b/l10n/sl.js @@ -38,12 +38,16 @@ OC.L10N.register( "Images" : "Slike", "Sheets" : "Preglednica", "Office" : "Pisarna", + "Instructions" : "Navodila", "Empty" : "Prazno", "Anonymous guest" : "Brezimni gost", "%s (Guest)" : "%s (gost)", "Edit office documents directly in your browser." : "Urejanje pisarniških datotek neposredno v brskalniku.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Program omogoča povezavo s strežniki Collabora Online (ali drugim) (odjemalci, ki podpirajo okolje WOPI). Nextcloud deluje kot gostitelj oklja WOPI. Več o tem je na voljo v dokumentaciji.\n\nDokumente je mogoče urejati tudi krajevno s programom iz za sistem **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** oziroma **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Novo", + "Contact {0} to get an own installation." : "Stopite v stik z osebo {0} in si zagotovite svojo namestitev.", + "Failed to save settings" : "Shranjevanje nastavitev je spodletelo", + "Font format not supported ({mime})" : "Zapis pisave ni podprt ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Paket Nextcloud Office je zmogljivo orodje s podporo Collabora Online, ki omogoča sodelovalno urejanje dokumentov. Podpira vse najpogostejše zapise dokumentov, preglednic in predstavitev. Podprto je delovanje na vseh sodobnih spletnih brskalnikih.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Paket Collabora Online je zmogljivo orodje, zasnovano na spletni različici programa LibreOffice, ki omogoča sodelovalno urejanje dokumentov. Podpira vse najpogostejše zapise dokumentov, preglednic in predstavitev. Podprto je delovanje na vseh sodobnih spletnih brskalnikih.", "Could not establish connection to the Collabora Online server." : "Ni mogoče vzpostaviti povezave s strežnikom Collabora Online.", @@ -95,47 +99,32 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Korenski spletni sistem, na katerem naj bo postavljeno okolje Collabora. Sistemu mora delovati s čim manj omejitvami, na primer z uporabo »ne-šiboliziranega korenskega sistema«, (t.j. opuščanje preverjanja istovetnosti, gesel), če imajo do okolja dostop »šibolizirani in nešibolizirani sistemi«. Te nastavitve niso pomembne, če je za dostop v uporabi le en sistem.", "Enable access for external apps" : "Omogoči dostop do zunanjih programov", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Seznam naslovov IPv4 in IPv6 IP ter njunih podomrežij, na katerih je dovoljeno izvajati zahteve končnih točk WOPI. Če seznam naslovov ni določen, so dovoljeni vsi gostitelji. Npr. 10.0.0.20, 10.0.4.0/24", - "Extra fonts" : "Dodatne pisave", - "Upload extra font file" : "Pošlji dodatno datoteko pisave", "Upload a font file" : "Pošlji datoteko pisave", "Available fonts" : "Razpoložljive pisave", - "Secure view settings" : "Nastavitve varnega pogleda", - "Secure view enables you to secure documents by embedding a watermark" : "Varni pogled omogoči zaščito dokumentov z vodnim žigom", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Nastavitve se uveljavljajo le za datoteke, uredljive s pisarniškim paketom Nextcloud Office.", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Navedene možnosti v programu Nextcloud Office bodo onemogočene: Kopiranje, Prejem, Izvoz in Tiskanje", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Datoteke je še vedno mogoče prejeti z oblaka Nextcloud, če prejemanje ni drugače omejeno z nastavitvami souporabe ali nadzora dostopa.", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Če nastavitve WOPI niso vnesene pravilno, je datoteke še vedno mogoče prejeti kot zahtevek WOPI.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Za datoteke z vodnim žigom bo predogled zavrnjen, s čimer se onemogoči kopiranje prve strani dokumentov.", - "Enable watermarking" : "Omogoči vodni žig", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Podprti vsebniki: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Pokaži vodni žig na označenih datotekah", "Select tags to enforce watermarking" : "Izbor oznak za vodni žig", - "Show watermark for users of groups" : "Pokaži vodni žig za uporabnike skupine", - "Show watermark for all shares" : "Pokaži vodni žig za vse predmete v souporabi", - "Show watermark for read only shares" : "Pokaži vodni žig za mesta souporabe le za branje", - "Show watermark for shares without download permission" : "Pokaži vodni žig za mesta souporabe brez dovoljenja za prejem", - "Show watermark for all link shares" : "Pokaži vodni žig za vsa mesta souporabe prek povezav", - "Show watermark for download hidden shares" : "Pokaži vodni žig za vsa prejeta skrita mesta souporabe", - "Show watermark for read only link shares" : "Pokaži vodni žig za predmete v souporabi le za branje", - "Show watermark on link shares with specific system tags" : "Pokaži vodni žig za predmete v souporabi, ki imajo posebne sistemske oznake", - "Contact {0} to get an own installation." : "Stopite v stik z osebo {0} in si zagotovite svojo namestitev.", - "Failed to save settings" : "Shranjevanje nastavitev je spodletelo", - "Font format not supported ({mime})" : "Zapis pisave ni podprt ({mime})", "Save" : "Shrani", "Remove" : "Odstrani", "Confirm" : "Potrdi", "Cancel" : "Prekliči", - "Save as" : "Shrani kot", "Save As" : "Shrani kot", + "Save as" : "Shrani kot", + "Invalid file name" : "Neveljavno ime datoteke", + "Select template" : "Izbor predloge", + "File name" : "Ime datoteke", + "Create" : "Ustvari", + "Failed to set Zotero API key" : "Nastavljanje ključa vmesnika API Zotero je spodletelo", "Link to your Zotero library" : "Povezava z zbirko Zotero", "Connect your Zotero account to make use of references within Office." : "Povežite račun Zotero za vpisovanje bibliografskih vpisov v pisarniške dokumente.", "You can generate an account key here:" : "Račun je mogoče ustvariti na tem mestu:", "Zotero account settings" : "Nastavitve računa Zotero", "Zotero API key" : "Ključ vmesnika API Zotero", "Submit" : "Pošlji", - "Failed to set Zotero API key" : "Nastavljanje ključa vmesnika API Zotero je spodletelo", - "Select a template directory" : "Izbor mape predlog", "Select a personal template folder" : "Izbor osebne mape predlog", + "Select a template directory" : "Izbor mape predlog", "Remove personal template folder" : "Odstrani osebno mapo predlog", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Predloge v tej mapi bodo na voljo izbirniku predlog paketa Nextcloud Office.", "Zotero" : "Zotero", @@ -149,17 +138,17 @@ OC.L10N.register( "No font overview" : "Predogled pisave ni na voljo", "Delete this font" : "Izbriši to pisavo", "No results" : "Ni zadetkov", + "Select file" : "Izbor datoteke", "Select file or folder to link to" : "Izbor datoteke ali mape za povezavo", "Could not find any section in the document" : "Ni mogoče najti razdelkov v dokumentu", - "Select file" : "Izbor datoteke", - "Document loading failed" : "Nalaganje dokumenta je spodletelo", - "Close" : "Zapri", - "Edit" : "Uredi", + "{productName} is not configured" : "Program {productName} ni pravilno nastavljen", "Starting the built-in CODE server failed" : "Zaganjanje vgrajenega strežnika CODE je spodletelo", "Loading {filename} …" : "Poteka nalaganje {filename} …", - "Open in local editor" : "Odpri v krajevnem urejevalniku", "Failed to load {productName} - please try again later" : "nalaganje programa {productName} je spodletelo. Poskusite znova kasneje.", - "{productName} is not configured" : "Program {productName} ni pravilno nastavljen", + "Open in local editor" : "Odpri v krajevnem urejevalniku", + "Document loading failed" : "Nalaganje dokumenta je spodletelo", + "Close" : "Zapri", + "Edit" : "Uredi", "Built-in CODE Server is starting up shortly, please wait." : "Vgrajen strežnik CODE je v postopku zagona. Počakajte ...", "Built-in CODE Server is restarting, please wait." : "Vgrajen strežnik CODE se ponovno zaganja. Počakajte ...", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Napaka: programa AppImage ni mogoče najti. Ponovno je treba namestiti vgrajen strežnik Collabora Online.", @@ -186,15 +175,23 @@ OC.L10N.register( "Guest" : "Gost", "Follow current editor" : "Sledi trenutnemu uredniku", "New file" : "Nova datoteka", - "Create" : "Ustvari", - "New drawing" : "Nova risba", "Could not create file" : "Datoteke ni mogoče ustvariti", - "Select template" : "Izbor predloge", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Shranjeno z napako: strežnik Collabora mora uporabljati enak protokol kot nameščeni strežnik.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Povezave s strežnikom Collabora Online ni mogoče vzpostaviti. Najverjetneje spletni strežnik ni ustrezno nastavljen. Za več podrobnosti si oglejte:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Strežnik Nextcloud Office zahteva za urejanje dokumentov povezavo z ločenim strežnikom Collabora Online.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Strežnik Collabora Online zahteva za urejanje dokumentov povezavo z ločenim strežnikom, ki deluje kot odjemalec WOPI.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "S programom {productName} lahko privzeto vsi uporabniki urejajo dokumente. Ko je ta nastavitev dejavna, lahko urejajo dokumente le člani določenih skupin, drugi si lahko dokumente samo ogledajo.", + "Secure view settings" : "Nastavitve varnega pogleda", + "Secure view enables you to secure documents by embedding a watermark" : "Varni pogled omogoči zaščito dokumentov z vodnim žigom", + "Enable watermarking" : "Omogoči vodni žig", + "Show watermark on tagged files" : "Pokaži vodni žig na označenih datotekah", + "Show watermark for users of groups" : "Pokaži vodni žig za uporabnike skupine", + "Show watermark for all shares" : "Pokaži vodni žig za vse predmete v souporabi", + "Show watermark for read only shares" : "Pokaži vodni žig za mesta souporabe le za branje", + "Show watermark for all link shares" : "Pokaži vodni žig za vsa mesta souporabe prek povezav", + "Show watermark for download hidden shares" : "Pokaži vodni žig za vsa prejeta skrita mesta souporabe", + "Show watermark for read only link shares" : "Pokaži vodni žig za predmete v souporabi le za branje", + "Show watermark on link shares with specific system tags" : "Pokaži vodni žig za predmete v souporabi, ki imajo posebne sistemske oznake", "Error" : "Napaka", "An error occurred" : "Prišlo je do napake.", "Please choose your nickname to continue as guest user." : "Izberite vzdevek pred povezavo v oblak", @@ -215,6 +212,10 @@ OC.L10N.register( "No templates defined." : "Ni določene predloge.", "Add a new one?" : "Ali želite dodati novo?", "template preview" : "predogled predloge", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Datoteke je še vedno mogoče prejeti z oblaka Nextcloud, če prejemanje ni drugače omejeno z nastavitvami souporabe ali nadzora dostopa.", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Za datoteke z vodnim žigom bo predogled zavrnjen, s čimer se onemogoči kopiranje prve strani dokumentov.", + "Show watermark for shares without download permission" : "Pokaži vodni žig za mesta souporabe brez dovoljenja za prejem", + "New drawing" : "Nova risba", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument že obstaja", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Paket Collabora Online je privzeto omogočen vsem uporabnikom. Ko je ta nastavitev dejavna, lahko uporabljajo paket le člani določenih skupin.", diff --git a/l10n/sl.json b/l10n/sl.json index 96d2f53e35..835d5999f9 100644 --- a/l10n/sl.json +++ b/l10n/sl.json @@ -36,12 +36,16 @@ "Images" : "Slike", "Sheets" : "Preglednica", "Office" : "Pisarna", + "Instructions" : "Navodila", "Empty" : "Prazno", "Anonymous guest" : "Brezimni gost", "%s (Guest)" : "%s (gost)", "Edit office documents directly in your browser." : "Urejanje pisarniških datotek neposredno v brskalniku.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Program omogoča povezavo s strežniki Collabora Online (ali drugim) (odjemalci, ki podpirajo okolje WOPI). Nextcloud deluje kot gostitelj oklja WOPI. Več o tem je na voljo v dokumentaciji.\n\nDokumente je mogoče urejati tudi krajevno s programom iz za sistem **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** oziroma **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", "New" : "Novo", + "Contact {0} to get an own installation." : "Stopite v stik z osebo {0} in si zagotovite svojo namestitev.", + "Failed to save settings" : "Shranjevanje nastavitev je spodletelo", + "Font format not supported ({mime})" : "Zapis pisave ni podprt ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Paket Nextcloud Office je zmogljivo orodje s podporo Collabora Online, ki omogoča sodelovalno urejanje dokumentov. Podpira vse najpogostejše zapise dokumentov, preglednic in predstavitev. Podprto je delovanje na vseh sodobnih spletnih brskalnikih.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Paket Collabora Online je zmogljivo orodje, zasnovano na spletni različici programa LibreOffice, ki omogoča sodelovalno urejanje dokumentov. Podpira vse najpogostejše zapise dokumentov, preglednic in predstavitev. Podprto je delovanje na vseh sodobnih spletnih brskalnikih.", "Could not establish connection to the Collabora Online server." : "Ni mogoče vzpostaviti povezave s strežnikom Collabora Online.", @@ -93,47 +97,32 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Korenski spletni sistem, na katerem naj bo postavljeno okolje Collabora. Sistemu mora delovati s čim manj omejitvami, na primer z uporabo »ne-šiboliziranega korenskega sistema«, (t.j. opuščanje preverjanja istovetnosti, gesel), če imajo do okolja dostop »šibolizirani in nešibolizirani sistemi«. Te nastavitve niso pomembne, če je za dostop v uporabi le en sistem.", "Enable access for external apps" : "Omogoči dostop do zunanjih programov", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Seznam naslovov IPv4 in IPv6 IP ter njunih podomrežij, na katerih je dovoljeno izvajati zahteve končnih točk WOPI. Če seznam naslovov ni določen, so dovoljeni vsi gostitelji. Npr. 10.0.0.20, 10.0.4.0/24", - "Extra fonts" : "Dodatne pisave", - "Upload extra font file" : "Pošlji dodatno datoteko pisave", "Upload a font file" : "Pošlji datoteko pisave", "Available fonts" : "Razpoložljive pisave", - "Secure view settings" : "Nastavitve varnega pogleda", - "Secure view enables you to secure documents by embedding a watermark" : "Varni pogled omogoči zaščito dokumentov z vodnim žigom", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Nastavitve se uveljavljajo le za datoteke, uredljive s pisarniškim paketom Nextcloud Office.", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Navedene možnosti v programu Nextcloud Office bodo onemogočene: Kopiranje, Prejem, Izvoz in Tiskanje", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Datoteke je še vedno mogoče prejeti z oblaka Nextcloud, če prejemanje ni drugače omejeno z nastavitvami souporabe ali nadzora dostopa.", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Če nastavitve WOPI niso vnesene pravilno, je datoteke še vedno mogoče prejeti kot zahtevek WOPI.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Za datoteke z vodnim žigom bo predogled zavrnjen, s čimer se onemogoči kopiranje prve strani dokumentov.", - "Enable watermarking" : "Omogoči vodni žig", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Podprti vsebniki: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Pokaži vodni žig na označenih datotekah", "Select tags to enforce watermarking" : "Izbor oznak za vodni žig", - "Show watermark for users of groups" : "Pokaži vodni žig za uporabnike skupine", - "Show watermark for all shares" : "Pokaži vodni žig za vse predmete v souporabi", - "Show watermark for read only shares" : "Pokaži vodni žig za mesta souporabe le za branje", - "Show watermark for shares without download permission" : "Pokaži vodni žig za mesta souporabe brez dovoljenja za prejem", - "Show watermark for all link shares" : "Pokaži vodni žig za vsa mesta souporabe prek povezav", - "Show watermark for download hidden shares" : "Pokaži vodni žig za vsa prejeta skrita mesta souporabe", - "Show watermark for read only link shares" : "Pokaži vodni žig za predmete v souporabi le za branje", - "Show watermark on link shares with specific system tags" : "Pokaži vodni žig za predmete v souporabi, ki imajo posebne sistemske oznake", - "Contact {0} to get an own installation." : "Stopite v stik z osebo {0} in si zagotovite svojo namestitev.", - "Failed to save settings" : "Shranjevanje nastavitev je spodletelo", - "Font format not supported ({mime})" : "Zapis pisave ni podprt ({mime})", "Save" : "Shrani", "Remove" : "Odstrani", "Confirm" : "Potrdi", "Cancel" : "Prekliči", - "Save as" : "Shrani kot", "Save As" : "Shrani kot", + "Save as" : "Shrani kot", + "Invalid file name" : "Neveljavno ime datoteke", + "Select template" : "Izbor predloge", + "File name" : "Ime datoteke", + "Create" : "Ustvari", + "Failed to set Zotero API key" : "Nastavljanje ključa vmesnika API Zotero je spodletelo", "Link to your Zotero library" : "Povezava z zbirko Zotero", "Connect your Zotero account to make use of references within Office." : "Povežite račun Zotero za vpisovanje bibliografskih vpisov v pisarniške dokumente.", "You can generate an account key here:" : "Račun je mogoče ustvariti na tem mestu:", "Zotero account settings" : "Nastavitve računa Zotero", "Zotero API key" : "Ključ vmesnika API Zotero", "Submit" : "Pošlji", - "Failed to set Zotero API key" : "Nastavljanje ključa vmesnika API Zotero je spodletelo", - "Select a template directory" : "Izbor mape predlog", "Select a personal template folder" : "Izbor osebne mape predlog", + "Select a template directory" : "Izbor mape predlog", "Remove personal template folder" : "Odstrani osebno mapo predlog", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Predloge v tej mapi bodo na voljo izbirniku predlog paketa Nextcloud Office.", "Zotero" : "Zotero", @@ -147,17 +136,17 @@ "No font overview" : "Predogled pisave ni na voljo", "Delete this font" : "Izbriši to pisavo", "No results" : "Ni zadetkov", + "Select file" : "Izbor datoteke", "Select file or folder to link to" : "Izbor datoteke ali mape za povezavo", "Could not find any section in the document" : "Ni mogoče najti razdelkov v dokumentu", - "Select file" : "Izbor datoteke", - "Document loading failed" : "Nalaganje dokumenta je spodletelo", - "Close" : "Zapri", - "Edit" : "Uredi", + "{productName} is not configured" : "Program {productName} ni pravilno nastavljen", "Starting the built-in CODE server failed" : "Zaganjanje vgrajenega strežnika CODE je spodletelo", "Loading {filename} …" : "Poteka nalaganje {filename} …", - "Open in local editor" : "Odpri v krajevnem urejevalniku", "Failed to load {productName} - please try again later" : "nalaganje programa {productName} je spodletelo. Poskusite znova kasneje.", - "{productName} is not configured" : "Program {productName} ni pravilno nastavljen", + "Open in local editor" : "Odpri v krajevnem urejevalniku", + "Document loading failed" : "Nalaganje dokumenta je spodletelo", + "Close" : "Zapri", + "Edit" : "Uredi", "Built-in CODE Server is starting up shortly, please wait." : "Vgrajen strežnik CODE je v postopku zagona. Počakajte ...", "Built-in CODE Server is restarting, please wait." : "Vgrajen strežnik CODE se ponovno zaganja. Počakajte ...", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Napaka: programa AppImage ni mogoče najti. Ponovno je treba namestiti vgrajen strežnik Collabora Online.", @@ -184,15 +173,23 @@ "Guest" : "Gost", "Follow current editor" : "Sledi trenutnemu uredniku", "New file" : "Nova datoteka", - "Create" : "Ustvari", - "New drawing" : "Nova risba", "Could not create file" : "Datoteke ni mogoče ustvariti", - "Select template" : "Izbor predloge", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Shranjeno z napako: strežnik Collabora mora uporabljati enak protokol kot nameščeni strežnik.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Povezave s strežnikom Collabora Online ni mogoče vzpostaviti. Najverjetneje spletni strežnik ni ustrezno nastavljen. Za več podrobnosti si oglejte:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Strežnik Nextcloud Office zahteva za urejanje dokumentov povezavo z ločenim strežnikom Collabora Online.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Strežnik Collabora Online zahteva za urejanje dokumentov povezavo z ločenim strežnikom, ki deluje kot odjemalec WOPI.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "S programom {productName} lahko privzeto vsi uporabniki urejajo dokumente. Ko je ta nastavitev dejavna, lahko urejajo dokumente le člani določenih skupin, drugi si lahko dokumente samo ogledajo.", + "Secure view settings" : "Nastavitve varnega pogleda", + "Secure view enables you to secure documents by embedding a watermark" : "Varni pogled omogoči zaščito dokumentov z vodnim žigom", + "Enable watermarking" : "Omogoči vodni žig", + "Show watermark on tagged files" : "Pokaži vodni žig na označenih datotekah", + "Show watermark for users of groups" : "Pokaži vodni žig za uporabnike skupine", + "Show watermark for all shares" : "Pokaži vodni žig za vse predmete v souporabi", + "Show watermark for read only shares" : "Pokaži vodni žig za mesta souporabe le za branje", + "Show watermark for all link shares" : "Pokaži vodni žig za vsa mesta souporabe prek povezav", + "Show watermark for download hidden shares" : "Pokaži vodni žig za vsa prejeta skrita mesta souporabe", + "Show watermark for read only link shares" : "Pokaži vodni žig za predmete v souporabi le za branje", + "Show watermark on link shares with specific system tags" : "Pokaži vodni žig za predmete v souporabi, ki imajo posebne sistemske oznake", "Error" : "Napaka", "An error occurred" : "Prišlo je do napake.", "Please choose your nickname to continue as guest user." : "Izberite vzdevek pred povezavo v oblak", @@ -213,6 +210,10 @@ "No templates defined." : "Ni določene predloge.", "Add a new one?" : "Ali želite dodati novo?", "template preview" : "predogled predloge", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Datoteke je še vedno mogoče prejeti z oblaka Nextcloud, če prejemanje ni drugače omejeno z nastavitvami souporabe ali nadzora dostopa.", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Za datoteke z vodnim žigom bo predogled zavrnjen, s čimer se onemogoči kopiranje prve strani dokumentov.", + "Show watermark for shares without download permission" : "Pokaži vodni žig za mesta souporabe brez dovoljenja za prejem", + "New drawing" : "Nova risba", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokument že obstaja", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Paket Collabora Online je privzeto omogočen vsem uporabnikom. Ko je ta nastavitev dejavna, lahko uporabljajo paket le člani določenih skupin.", diff --git a/l10n/sq.js b/l10n/sq.js index 61dc4919ad..78700979b2 100644 --- a/l10n/sq.js +++ b/l10n/sq.js @@ -25,6 +25,8 @@ OC.L10N.register( "Remove" : "Hiqe", "Confirm" : "Konfirmo", "Cancel" : "Anullo", + "Select template" : "Zgjidh shabllonin", + "Create" : "Krijo", "Submit" : "Dërgo", "Description" : "Përshkrim", "No results" : "Asnjë rezultat", @@ -37,9 +39,7 @@ OC.L10N.register( "Download" : "Shkarko", "Guest" : "I ftuar", "New file" : "Skedë e re", - "Create" : "Krijo", "Could not create file" : "Kartela s’u krijua dot", - "Select template" : "Zgjidh shabllonin", "Saved with error: Collabora Online should use the same protocol as the server installation." : "U ruajt me gabim: Collabora Online do të duhej të përdorte të njëjtin protokoll si instalimi i shërbyesit.", "Error" : "Error", "Nickname" : "Nofkë", diff --git a/l10n/sq.json b/l10n/sq.json index 9e6c5c5289..5e38086d73 100644 --- a/l10n/sq.json +++ b/l10n/sq.json @@ -23,6 +23,8 @@ "Remove" : "Hiqe", "Confirm" : "Konfirmo", "Cancel" : "Anullo", + "Select template" : "Zgjidh shabllonin", + "Create" : "Krijo", "Submit" : "Dërgo", "Description" : "Përshkrim", "No results" : "Asnjë rezultat", @@ -35,9 +37,7 @@ "Download" : "Shkarko", "Guest" : "I ftuar", "New file" : "Skedë e re", - "Create" : "Krijo", "Could not create file" : "Kartela s’u krijua dot", - "Select template" : "Zgjidh shabllonin", "Saved with error: Collabora Online should use the same protocol as the server installation." : "U ruajt me gabim: Collabora Online do të duhej të përdorte të njëjtin protokoll si instalimi i shërbyesit.", "Error" : "Error", "Nickname" : "Nofkë", diff --git a/l10n/sr.js b/l10n/sr.js index 69802e3768..b4a9a93415 100644 --- a/l10n/sr.js +++ b/l10n/sr.js @@ -28,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "Само шаблонски фајлови могу бити отпремљени", "Invalid file provided" : "Дати фајл је неисправан", "Template not found" : "Шаблон није нађен", + "Unable to determine the proper file extension for %1$s" : "Не може да се одреди исправна екстензија фајла за %1$s", + "Unable to fetch information on %1$s" : "Нису могле да се прибаве информације о %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Слика (.png)", + "Image (.svg)" : "Слика (.svg)", + "Text (.rtf)" : "Текст (.rtf)", + "Text (.txt)" : "Текст (.txt)", + "Word Document (.docx)" : "Word документ (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument текст (.odt)", + "Excel Workbook (.xlsx)" : "Excel радна свеска (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument радна свеска (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint презентација (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument презентација (.odp)", "New document" : "Нови документ", "New spreadsheet" : "Нова табела", "New presentation" : "Нова презентација", @@ -41,17 +54,46 @@ OC.L10N.register( "Sheets" : "Листови", "Slides" : "Слајдови", "Office" : "Канцеларија", + "Nextcloud Assistant Slide Deck Generator" : "Генератор шпила слајдова за Nextcloud Асистента", + "Generate Slide Deck" : "Генериши шпил слајдова", + "Generate a slide deck from a presentation script" : "Генерише шпил слајдова из скрипте презентације", + "Presentation script" : "Скрипта презентације", + "Write the text for your presentation here" : "Овде напишите тест за вашу презентацију", + "Generated slide deck" : "Генерисани шпил слајдова", + "The slide deck generated" : "Шпил слајдова је генерисан", + "Nextcloud Office text document generator" : "Nextcloud Office генератор текст докумената", + "Document format" : "формат документа", + "The format of the generated document" : "Формат генерисаног документа", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "Генериши Office текст документ", + "Generate an Office text document from a prompt" : "Генериши Office текст документ на основу упита", + "Instructions" : "Упутства", + "Describe the document you want the assistant to generate" : "Опишите документ који желите да асистент генерише", + "Generated Office document" : "Генерисани Office документ", + "The Office document that was generated from the description" : "Office документ је генерисан на основу описа", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office генератор табеле", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Генериши Office документ табеле", + "Generate an Office spreadsheet document from a prompt" : "Генериши Office документ табеле на основу упита", "Empty" : "Празно", "Anonymous guest" : "Анонимни гост", "%s (Guest)" : "%s (Гост)", "Edit office documents directly in your browser." : "Мењајте канцеларијска документа директно у веб читачу.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Ова апликација може да се повеже са Collabora Online (или неким другим) сервером (WOPI клијентом). Nextcloud је WOPI хост. Молимо вас да прочитате документацију ако желите да сазнате више о овоме.\n\nСвоје документе можете да уређујете и ван мреже са Collabora Office апликацијом са **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** и **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** продавнице.", - "Global Templates" : "Глобални шаблони", - "New" : "Нов", + "Accepted file types: {accepts}" : "Дозвољени типови фајлова: {accepts}", "Uploaded template \"{name}\"" : "Отпремљен је шаблон „{name}”", "Template \"{name}\" already exists" : "Шаблон „{name}” већ постоји", "Unable to delete template" : "Не може да се обрише шаблон", "Deleted template" : "Обрисани шаблон", + "Global Templates" : "Глобални шаблони", + "New" : "Нов", + "Contact {0} to get an own installation." : "Обратите се {0} да набавите сопствену инсталацију.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Обезбедите постављање следеће URL адресе: {url} у coolwsd.xml фајлу вашег Collabora Online сервера омогућава аутоматско учитавање додатих фонтова. Водите рачуна да ће http:// функционисати само са дибаг изградњама Collabora Online. За продукцију морате да користите https:// за конфигурисање удаљених фонтова.", + "Failed to save settings" : "Грешка приликом чувања поставки", + "Font format not supported ({mime})" : "Није подржан формат фонта ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Офис је моћна свита мрежи канцеларијских програма на мрежи заснована на Collabora Online која подржава заједничко уређивање и све главне формате докумената, табела и презентација, и која ради у свим модерним прегледачима.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online је моћни канцеларијски пакет базиран на LibreOffice-у са могућношћу заједничком уређивања. Подржани су сви главни типови формата фајлова докумената, табела и презентација, а ради из свих модерних веб читача.", "Could not establish connection to the Collabora Online server." : "Не могу да успоставим везу са Collabora Online сервером", @@ -109,60 +151,66 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "У случају да их има више, канонски облик веб корена који ће Collabora да користи. Унесите онај са најмање ограничења. Нпр. користите веб корен који не садржи Shibboleth ако се инстанци може приступити и преко Shibboleth-а и без њега. Можете да прескочите ово подешавање ако постоји само један веб корен који инстанца користи.", "Enable access for external apps" : "Дозволи приступ за спољне апликације", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Листа IPV4 и IPV6 IP адреса и подмрежа којима је дозвољено да обављају захтеве ка WOPI крајњима тачкама. Ако се не наведе ништа, биће дозвољено свим хостовима. Нпр. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Додатни фонтови", - "Upload extra font file" : "Отпреми фајл додатног фонта", + "Custom Fonts" : "Произвољни фонтови", + "Upload font file" : "Отпреми фајл фонта", "Upload a font file" : "Отпреми фајл фонта", "Available fonts" : "Доступни фонтови", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Да бисте имали савршену компатибилност докумената, саветујемо вам да инсталирате фонтове који се уобичајено користе. Ако ваши корисници раде са Microsoft Office пакетом, инсталирање њихових власничких фонтова може да се уради ако се следе упутства из документације.", "Custom fonts documentation" : "Документација за произвољне фонтове", - "Secure view settings" : "Подешавања безбедног приказа", - "Secure view enables you to secure documents by embedding a watermark" : "Безбедни преглед омогућава да обезбедите документе тако што ћете им убацити водени жиг", + "Secure View" : "Безбедни приказ", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Безбедни приказ омогућава да обезбедите офис документе тако што ћете блокирати преузимања, прегледе и убацити им водени жиг", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Подешавања се примењују само на компатибилне офис фајлове који се отварају са Nextcloud Офис", + "Downloading the file through WebDAV will be blocked" : "Преузимање фајла кроз WebDAV ће бити блокирано", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Искључиће се следеће опције у Nextcloud Офис: Копирај, Преузми, Извези, Штампај", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Фајлови још увек могу да се преузму са Nextcloud осим ако им се не ограничи приступ на други начин, путем подешавања дељења или контроле приступа", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "У случају да WOPI подешавања нису исправно постављена, фајлови још увек могу да се преузимају WOPI захтевима", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Прегледи фајлова са воденим жиховима ће се блокирати да не би процурио изглед прве стране докумената", - "Enable watermarking" : "Укључи уметање воденог жига", + "Previews will be blocked" : "Блокираће се прегледи", + "Enable secure view" : "Укључи безбедни приказ", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Подржани чувари места: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Приказуј водени жиг на означеним фајловима", + "Enforce secure view on tagged files" : "Форисирај безбедни приказ означених фајлова", "Select tags to enforce watermarking" : "Изаберите ознаке које форсирају постављање воденог жига", - "Show watermark for users of groups" : "Приказуј водени жиг корисницима или групама", - "Show watermark for all shares" : "Приказуј водени жиг на свим дељењима", - "Show watermark for read only shares" : "Показуј ведени жиг у дељењима само-за-читање", - "Show watermark for shares without download permission" : "Прикажи водени жиг у дељењима без дозволе преузимања", - "Show watermark for all link shares" : "Показуј ведени жиг у свим дељењима преко линка", - "Show watermark for download hidden shares" : "Приказуј водени жиг за преузимање скривених дељења", - "Show watermark for read only link shares" : "Показуј ведени жиг у дељењима преко линка која могу само да се читају", - "Show watermark on link shares with specific system tags" : "Приказуј водени жиг у дељењима са одређеним системским ознакама", - "Electronic signature settings" : "Поставке електронског потписа", + "Enforce secure view for users of groups" : "Форисирај безбедни приказ за кориснике група", + "Enforce secure view for all shares" : "Форисирај безбедни приказ за сва дељења", + "Enforce secure view for read only shares" : "Форисирај безбедни приказ за дељења која могу само да се читају", + "Enforce secure view for all public Talk shares" : "Форисирај безбедни приказ за сва јавна Talk дељења", + "Enforce secure view for shares without download permission" : "Форсирај безбедни приказ дељења без дозволе преузимања", + "Enforce secure view for all link shares" : "Форисирај безбедни приказ за сва дељења ликом", + "Enforce secure view for download hidden shares" : "Форисирај безбедни приказ за дељења скривена од преузимања", + "Enforce secure view for read only link shares" : "Форисирај безбедни приказ за дељења ликом која могу само да се читају", + "Enforce secure view on link shares with specific system tags" : "Форисирај безбедни приказ за дељења линком са одређеним системским ознакама", + "Select tags to enforce secure view" : "Изаберите ознаке које форсирају безбедни приказ", + "Electronic Signature" : "Електронски потпис", "Client ID for the electronic signature API" : "ID клијента за API електронског потписа", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Да бисте добили ID клијента и тајну, попуните формулар за регистрацију на https://eideasy.com/signup.", "Secret for the electronic signature API" : "Тајна за API електронског потписа", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "У случају да WOPI подешавања нису исправно постављена, тајна може да се преузме WOPI захтевима.", - "Contact {0} to get an own installation." : "Обратите се {0} да набавите сопствену инсталацију.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Обезбедите постављање следеће URL адресе: {url} у coolwsd.xml фајлу вашег Collabora Online сервера омогућава аутоматско учитавање додатих фонтова. Водите рачуна да ће http:// функционисати само са дибаг изградњама Collabora Online. За продукцију морате да користите https:// за конфигурисање удаљених фонтова.", - "Failed to save settings" : "Грешка приликом чувања поставки", - "Font format not supported ({mime})" : "Није подржан формат фонта ({mime})", "Save" : "Сачувај", "Remove" : "Уклони", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Молимо вас да унесете име госта које желите да користите пре него што наставите ка документу. Ако не наведете име, употребиће се подразумевано.", "Guest name" : "Име госта", "Submit name" : "Поднеси име", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Молимо вас да унесете име госта које желите да користите пре него што наставите ка документу. Ако не наведете име, употребиће се подразумевано.", "Confirm" : "Потврди", "Cancel" : "Одустани", + "Save As" : "Сачувај као", "Save as" : "Сачувај као", "Path to save" : "Путања за чување", - "Save As" : "Сачувај као", + "Invalid file name" : "Неисправно име фајла", + "File name already exists" : "Име фајла већ постоји", + "Select template" : "Одаберите шаблон", + "File name" : "Име фајла", + "Create" : "Направи", + "Failed to set Zotero API key" : "Није успело постављање Zotero API кључа", "Link to your Zotero library" : "Линка на вашу Zotero библиотеку", "Connect your Zotero account to make use of references within Office." : "Повежите се са вашим Zotero налогом тако да можете користити референце у Office.", "You can generate an account key here:" : "Кључ налога можете да генеришете овде:", "Zotero account settings" : "Подешавања Zotero налога", "Zotero API key" : "Zotero API кључ", "Submit" : "Пошаљи", - "Failed to set Zotero API key" : "Није успело постављање Zotero API кључа", + "Select a personal template folder" : "Одаберите личну фасциклу за шаблоне", + "Settings saved successfully." : "Подешавања су успешно сачувана.", + "Failed to save settings." : "Није успело чување подешавања.", + "Unexpected error occurred." : "Дошло је до неочекиване грешке.", "Personal Settings for Nextcloud Office" : "Лична подешавања за Nextcloud Office", "Select a template directory" : "Одаберите директоријум за шаблоне", - "Select a personal template folder" : "Одаберите личну фасциклу за шаблоне", "Remove personal template folder" : "Уклони личну фасциклу за шаблоне", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблони унутар овог директоријума ће се додати у Nextcloud Офис бирач шаблона.", "Zotero" : "Zotero", @@ -177,30 +225,27 @@ OC.L10N.register( "Enter document signing CA chain" : "Унесите CA ланац потписивања документа", "To use document signing, specify your signing certificate, key and CA chain here." : "Да бисте користили потписивање документа, наведите овде свој сертификат за потписивање, кључ и CA ланац.", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Ова инстанца не подржава потписивање документа, јер недостаје та функционалност или је искључена. Молимо вас да се обратите администратору.", - "Settings saved successfully." : "Подешавања су успешно сачувана.", - "Failed to save settings." : "Није успело чување подешавања.", - "Unexpected error occurred." : "Дошло је до неочекиване грешке.", "Description" : "Опис", "Add new token" : "Додај нови жетон", "No font overview" : "Нема прегледа фонта", "Delete this font" : "Обриши овај фонт", "No results" : "Нема резултата", + "Select file" : "Изаберите фајл", "Select file or folder to link to" : "Изаберите фајл или фолдер на који показује линк", "Could not find any section in the document" : "Не може да се пронађе ниједан одељак у документу", - "Select file" : "Изаберите фајл", + "{productName} is not configured" : "{productName} није подешен", + "Starting the built-in CODE server failed" : "Није успело покретање уграђеног CODE сервера", + "Loading {filename} …" : "Учитава се {filename} …", + "Failed to load {productName} - please try again later" : "Не могу да учитам {productName} - покушајте поново касније", + "Open in local editor" : "Отвори у локалном едитору", + "Cluster is scaling …" : "Кластер се скалира…", + "The collaborative editing was terminated by another user" : "Зајднеичко уређивање је прекинуо други корисник", "Document loading failed" : "Није успело учитавање документа", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Молимо вас да за више детаља погледате дневник Collabora Online сервера и обезбедите да је Nextcloud достижан са те локације.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Веза утичнице је неочекивано прекинута. Можда је поглешно подешен обрнути прокси, молимо вас да се обратите администратору.", "More information can be found in the reverse proxy documentation" : "Више информација можете да пронађете у документацији обрнутог проксија", "Close" : "Затвори", "Edit" : "Измени", - "Starting the built-in CODE server failed" : "Није успело покретање уграђеног CODE сервера", - "Loading {filename} …" : "Учитава се {filename} …", - "Open in local editor" : "Отвори у локалном едитору", - "Cluster is scaling …" : "Кластер се скалира…", - "The collaborative editing was terminated by another user" : "Зајднеичко уређивање је прекинуо други корисник", - "Failed to load {productName} - please try again later" : "Не могу да учитам {productName} - покушајте поново касније", - "{productName} is not configured" : "{productName} није подешен", "Built-in CODE Server is starting up shortly, please wait." : "Уграђени CODE сервер се покреће, молимо вас сачекајте.", "Built-in CODE Server is restarting, please wait." : "Уграђени CODE сервер се поново покреће, молимо вас сачекајте.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Грешка: не може да се пронађе AppImage, молимо вас да поново инсталирате Collabora Online уграђени сервер.", @@ -234,15 +279,24 @@ OC.L10N.register( "Follow current editor" : "Пратите тренутни уређивач", "New file" : "Нови фајл", "Please enter the filename for the new file" : "Молимо вас да унесете име за нови фајл:", - "Create" : "Направи", - "New drawing" : "Нови цртеж", "Could not create file" : "Не могу да креирам фајл", - "Select template" : "Одаберите шаблон", + "Could not load templates" : "Не могу да се учитају шаблони", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Сачувану уз грешку: Collabora Online би требало да користи исти протокол као и серверска инсталација.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Не може да се успостави веза са Collabora Online сервером. Разлог за то може бите непостојећа конфигурација вашег веб сервера. За више информација, молимо вас да посетите: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "За обезбеђивање могућности уређивања, Nextcloud Офис захтева посебан сервер на којем се извршава Collabora Online.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online захтева посебан сервер који се понаша као WOPI-Client да бисте добили могућност уређивања.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Подразумевано сви корисници могу да уређују документе са {productName}. Када је ово подешавање укључено, само чланови наведених група могу да уређују, а сви остали могу само да прегледају документе.", + "Secure view settings" : "Подешавања безбедног приказа", + "Secure view enables you to secure documents by embedding a watermark" : "Безбедни преглед омогућава да обезбедите документе тако што ћете им убацити водени жиг", + "Enable watermarking" : "Укључи уметање воденог жига", + "Show watermark on tagged files" : "Приказуј водени жиг на означеним фајловима", + "Show watermark for users of groups" : "Приказуј водени жиг корисницима или групама", + "Show watermark for all shares" : "Приказуј водени жиг на свим дељењима", + "Show watermark for read only shares" : "Показуј ведени жиг у дељењима само-за-читање", + "Show watermark for all link shares" : "Показуј ведени жиг у свим дељењима преко линка", + "Show watermark for download hidden shares" : "Приказуј водени жиг за преузимање скривених дељења", + "Show watermark for read only link shares" : "Показуј ведени жиг у дељењима преко линка која могу само да се читају", + "Show watermark on link shares with specific system tags" : "Приказуј водени жиг у дељењима са одређеним системским ознакама", "Error" : "Грешка", "An error occurred" : "Догодила се грешка", "Please choose your nickname to continue as guest user." : "Одаберите надимак да наставите као гост-корисник.", @@ -250,6 +304,8 @@ OC.L10N.register( "Set" : "Постави", "Please enter the filename to store the document as." : "Унесите име фајла како желите да документ буде сачуван.", "New filename" : "Ново име фајла", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online још увек није подешена. Молимо вас да се обратите администратору.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Пошто подаци за пријаву на спољно складиште нису доступни без сесије, отварање фајла се не подржава", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Не могу да се повежем на {productName}. Покушајте касније или контактирајте администратора.", "Saving…" : "Снимам…", "Insert from {name}" : "Убаци из {name}", @@ -263,6 +319,10 @@ OC.L10N.register( "No templates defined." : "Нема дефинисаних шаблона", "Add a new one?" : "Додај нови?", "template preview" : "претпреглед шаблона", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Фајлови још увек могу да се преузму са Nextcloud осим ако им се не ограничи приступ на други начин, путем подешавања дељења или контроле приступа", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Прегледи фајлова са воденим жиховима ће се блокирати да не би процурио изглед прве стране докумената", + "Show watermark for shares without download permission" : "Прикажи водени жиг у дељењима без дозволе преузимања", + "New drawing" : "Нови цртеж", "Collabora Online" : "Collabora Online", "Document already exists" : "Документ већ постоји", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online је укључена подразумевано за све кориснике. Када је ово подешавање укључено, само чланови означених група је могу користити.", diff --git a/l10n/sr.json b/l10n/sr.json index 57fa22e92b..2bfe4eb4f7 100644 --- a/l10n/sr.json +++ b/l10n/sr.json @@ -26,6 +26,19 @@ "Only template files can be uploaded" : "Само шаблонски фајлови могу бити отпремљени", "Invalid file provided" : "Дати фајл је неисправан", "Template not found" : "Шаблон није нађен", + "Unable to determine the proper file extension for %1$s" : "Не може да се одреди исправна екстензија фајла за %1$s", + "Unable to fetch information on %1$s" : "Нису могле да се прибаве информације о %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Слика (.png)", + "Image (.svg)" : "Слика (.svg)", + "Text (.rtf)" : "Текст (.rtf)", + "Text (.txt)" : "Текст (.txt)", + "Word Document (.docx)" : "Word документ (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument текст (.odt)", + "Excel Workbook (.xlsx)" : "Excel радна свеска (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument радна свеска (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint презентација (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument презентација (.odp)", "New document" : "Нови документ", "New spreadsheet" : "Нова табела", "New presentation" : "Нова презентација", @@ -39,17 +52,46 @@ "Sheets" : "Листови", "Slides" : "Слајдови", "Office" : "Канцеларија", + "Nextcloud Assistant Slide Deck Generator" : "Генератор шпила слајдова за Nextcloud Асистента", + "Generate Slide Deck" : "Генериши шпил слајдова", + "Generate a slide deck from a presentation script" : "Генерише шпил слајдова из скрипте презентације", + "Presentation script" : "Скрипта презентације", + "Write the text for your presentation here" : "Овде напишите тест за вашу презентацију", + "Generated slide deck" : "Генерисани шпил слајдова", + "The slide deck generated" : "Шпил слајдова је генерисан", + "Nextcloud Office text document generator" : "Nextcloud Office генератор текст докумената", + "Document format" : "формат документа", + "The format of the generated document" : "Формат генерисаног документа", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "Генериши Office текст документ", + "Generate an Office text document from a prompt" : "Генериши Office текст документ на основу упита", + "Instructions" : "Упутства", + "Describe the document you want the assistant to generate" : "Опишите документ који желите да асистент генерише", + "Generated Office document" : "Генерисани Office документ", + "The Office document that was generated from the description" : "Office документ је генерисан на основу описа", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office генератор табеле", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Генериши Office документ табеле", + "Generate an Office spreadsheet document from a prompt" : "Генериши Office документ табеле на основу упита", "Empty" : "Празно", "Anonymous guest" : "Анонимни гост", "%s (Guest)" : "%s (Гост)", "Edit office documents directly in your browser." : "Мењајте канцеларијска документа директно у веб читачу.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Ова апликација може да се повеже са Collabora Online (или неким другим) сервером (WOPI клијентом). Nextcloud је WOPI хост. Молимо вас да прочитате документацију ако желите да сазнате више о овоме.\n\nСвоје документе можете да уређујете и ван мреже са Collabora Office апликацијом са **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** и **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** продавнице.", - "Global Templates" : "Глобални шаблони", - "New" : "Нов", + "Accepted file types: {accepts}" : "Дозвољени типови фајлова: {accepts}", "Uploaded template \"{name}\"" : "Отпремљен је шаблон „{name}”", "Template \"{name}\" already exists" : "Шаблон „{name}” већ постоји", "Unable to delete template" : "Не може да се обрише шаблон", "Deleted template" : "Обрисани шаблон", + "Global Templates" : "Глобални шаблони", + "New" : "Нов", + "Contact {0} to get an own installation." : "Обратите се {0} да набавите сопствену инсталацију.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Обезбедите постављање следеће URL адресе: {url} у coolwsd.xml фајлу вашег Collabora Online сервера омогућава аутоматско учитавање додатих фонтова. Водите рачуна да ће http:// функционисати само са дибаг изградњама Collabora Online. За продукцију морате да користите https:// за конфигурисање удаљених фонтова.", + "Failed to save settings" : "Грешка приликом чувања поставки", + "Font format not supported ({mime})" : "Није подржан формат фонта ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Офис је моћна свита мрежи канцеларијских програма на мрежи заснована на Collabora Online која подржава заједничко уређивање и све главне формате докумената, табела и презентација, и која ради у свим модерним прегледачима.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online је моћни канцеларијски пакет базиран на LibreOffice-у са могућношћу заједничком уређивања. Подржани су сви главни типови формата фајлова докумената, табела и презентација, а ради из свих модерних веб читача.", "Could not establish connection to the Collabora Online server." : "Не могу да успоставим везу са Collabora Online сервером", @@ -107,60 +149,66 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "У случају да их има више, канонски облик веб корена који ће Collabora да користи. Унесите онај са најмање ограничења. Нпр. користите веб корен који не садржи Shibboleth ако се инстанци може приступити и преко Shibboleth-а и без њега. Можете да прескочите ово подешавање ако постоји само један веб корен који инстанца користи.", "Enable access for external apps" : "Дозволи приступ за спољне апликације", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Листа IPV4 и IPV6 IP адреса и подмрежа којима је дозвољено да обављају захтеве ка WOPI крајњима тачкама. Ако се не наведе ништа, биће дозвољено свим хостовима. Нпр. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Додатни фонтови", - "Upload extra font file" : "Отпреми фајл додатног фонта", + "Custom Fonts" : "Произвољни фонтови", + "Upload font file" : "Отпреми фајл фонта", "Upload a font file" : "Отпреми фајл фонта", "Available fonts" : "Доступни фонтови", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Да бисте имали савршену компатибилност докумената, саветујемо вам да инсталирате фонтове који се уобичајено користе. Ако ваши корисници раде са Microsoft Office пакетом, инсталирање њихових власничких фонтова може да се уради ако се следе упутства из документације.", "Custom fonts documentation" : "Документација за произвољне фонтове", - "Secure view settings" : "Подешавања безбедног приказа", - "Secure view enables you to secure documents by embedding a watermark" : "Безбедни преглед омогућава да обезбедите документе тако што ћете им убацити водени жиг", + "Secure View" : "Безбедни приказ", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Безбедни приказ омогућава да обезбедите офис документе тако што ћете блокирати преузимања, прегледе и убацити им водени жиг", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Подешавања се примењују само на компатибилне офис фајлове који се отварају са Nextcloud Офис", + "Downloading the file through WebDAV will be blocked" : "Преузимање фајла кроз WebDAV ће бити блокирано", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Искључиће се следеће опције у Nextcloud Офис: Копирај, Преузми, Извези, Штампај", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Фајлови још увек могу да се преузму са Nextcloud осим ако им се не ограничи приступ на други начин, путем подешавања дељења или контроле приступа", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "У случају да WOPI подешавања нису исправно постављена, фајлови још увек могу да се преузимају WOPI захтевима", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Прегледи фајлова са воденим жиховима ће се блокирати да не би процурио изглед прве стране докумената", - "Enable watermarking" : "Укључи уметање воденог жига", + "Previews will be blocked" : "Блокираће се прегледи", + "Enable secure view" : "Укључи безбедни приказ", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Подржани чувари места: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Приказуј водени жиг на означеним фајловима", + "Enforce secure view on tagged files" : "Форисирај безбедни приказ означених фајлова", "Select tags to enforce watermarking" : "Изаберите ознаке које форсирају постављање воденог жига", - "Show watermark for users of groups" : "Приказуј водени жиг корисницима или групама", - "Show watermark for all shares" : "Приказуј водени жиг на свим дељењима", - "Show watermark for read only shares" : "Показуј ведени жиг у дељењима само-за-читање", - "Show watermark for shares without download permission" : "Прикажи водени жиг у дељењима без дозволе преузимања", - "Show watermark for all link shares" : "Показуј ведени жиг у свим дељењима преко линка", - "Show watermark for download hidden shares" : "Приказуј водени жиг за преузимање скривених дељења", - "Show watermark for read only link shares" : "Показуј ведени жиг у дељењима преко линка која могу само да се читају", - "Show watermark on link shares with specific system tags" : "Приказуј водени жиг у дељењима са одређеним системским ознакама", - "Electronic signature settings" : "Поставке електронског потписа", + "Enforce secure view for users of groups" : "Форисирај безбедни приказ за кориснике група", + "Enforce secure view for all shares" : "Форисирај безбедни приказ за сва дељења", + "Enforce secure view for read only shares" : "Форисирај безбедни приказ за дељења која могу само да се читају", + "Enforce secure view for all public Talk shares" : "Форисирај безбедни приказ за сва јавна Talk дељења", + "Enforce secure view for shares without download permission" : "Форсирај безбедни приказ дељења без дозволе преузимања", + "Enforce secure view for all link shares" : "Форисирај безбедни приказ за сва дељења ликом", + "Enforce secure view for download hidden shares" : "Форисирај безбедни приказ за дељења скривена од преузимања", + "Enforce secure view for read only link shares" : "Форисирај безбедни приказ за дељења ликом која могу само да се читају", + "Enforce secure view on link shares with specific system tags" : "Форисирај безбедни приказ за дељења линком са одређеним системским ознакама", + "Select tags to enforce secure view" : "Изаберите ознаке које форсирају безбедни приказ", + "Electronic Signature" : "Електронски потпис", "Client ID for the electronic signature API" : "ID клијента за API електронског потписа", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Да бисте добили ID клијента и тајну, попуните формулар за регистрацију на https://eideasy.com/signup.", "Secret for the electronic signature API" : "Тајна за API електронског потписа", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "У случају да WOPI подешавања нису исправно постављена, тајна може да се преузме WOPI захтевима.", - "Contact {0} to get an own installation." : "Обратите се {0} да набавите сопствену инсталацију.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Обезбедите постављање следеће URL адресе: {url} у coolwsd.xml фајлу вашег Collabora Online сервера омогућава аутоматско учитавање додатих фонтова. Водите рачуна да ће http:// функционисати само са дибаг изградњама Collabora Online. За продукцију морате да користите https:// за конфигурисање удаљених фонтова.", - "Failed to save settings" : "Грешка приликом чувања поставки", - "Font format not supported ({mime})" : "Није подржан формат фонта ({mime})", "Save" : "Сачувај", "Remove" : "Уклони", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Молимо вас да унесете име госта које желите да користите пре него што наставите ка документу. Ако не наведете име, употребиће се подразумевано.", "Guest name" : "Име госта", "Submit name" : "Поднеси име", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Молимо вас да унесете име госта које желите да користите пре него што наставите ка документу. Ако не наведете име, употребиће се подразумевано.", "Confirm" : "Потврди", "Cancel" : "Одустани", + "Save As" : "Сачувај као", "Save as" : "Сачувај као", "Path to save" : "Путања за чување", - "Save As" : "Сачувај као", + "Invalid file name" : "Неисправно име фајла", + "File name already exists" : "Име фајла већ постоји", + "Select template" : "Одаберите шаблон", + "File name" : "Име фајла", + "Create" : "Направи", + "Failed to set Zotero API key" : "Није успело постављање Zotero API кључа", "Link to your Zotero library" : "Линка на вашу Zotero библиотеку", "Connect your Zotero account to make use of references within Office." : "Повежите се са вашим Zotero налогом тако да можете користити референце у Office.", "You can generate an account key here:" : "Кључ налога можете да генеришете овде:", "Zotero account settings" : "Подешавања Zotero налога", "Zotero API key" : "Zotero API кључ", "Submit" : "Пошаљи", - "Failed to set Zotero API key" : "Није успело постављање Zotero API кључа", + "Select a personal template folder" : "Одаберите личну фасциклу за шаблоне", + "Settings saved successfully." : "Подешавања су успешно сачувана.", + "Failed to save settings." : "Није успело чување подешавања.", + "Unexpected error occurred." : "Дошло је до неочекиване грешке.", "Personal Settings for Nextcloud Office" : "Лична подешавања за Nextcloud Office", "Select a template directory" : "Одаберите директоријум за шаблоне", - "Select a personal template folder" : "Одаберите личну фасциклу за шаблоне", "Remove personal template folder" : "Уклони личну фасциклу за шаблоне", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблони унутар овог директоријума ће се додати у Nextcloud Офис бирач шаблона.", "Zotero" : "Zotero", @@ -175,30 +223,27 @@ "Enter document signing CA chain" : "Унесите CA ланац потписивања документа", "To use document signing, specify your signing certificate, key and CA chain here." : "Да бисте користили потписивање документа, наведите овде свој сертификат за потписивање, кључ и CA ланац.", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Ова инстанца не подржава потписивање документа, јер недостаје та функционалност или је искључена. Молимо вас да се обратите администратору.", - "Settings saved successfully." : "Подешавања су успешно сачувана.", - "Failed to save settings." : "Није успело чување подешавања.", - "Unexpected error occurred." : "Дошло је до неочекиване грешке.", "Description" : "Опис", "Add new token" : "Додај нови жетон", "No font overview" : "Нема прегледа фонта", "Delete this font" : "Обриши овај фонт", "No results" : "Нема резултата", + "Select file" : "Изаберите фајл", "Select file or folder to link to" : "Изаберите фајл или фолдер на који показује линк", "Could not find any section in the document" : "Не може да се пронађе ниједан одељак у документу", - "Select file" : "Изаберите фајл", + "{productName} is not configured" : "{productName} није подешен", + "Starting the built-in CODE server failed" : "Није успело покретање уграђеног CODE сервера", + "Loading {filename} …" : "Учитава се {filename} …", + "Failed to load {productName} - please try again later" : "Не могу да учитам {productName} - покушајте поново касније", + "Open in local editor" : "Отвори у локалном едитору", + "Cluster is scaling …" : "Кластер се скалира…", + "The collaborative editing was terminated by another user" : "Зајднеичко уређивање је прекинуо други корисник", "Document loading failed" : "Није успело учитавање документа", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Молимо вас да за више детаља погледате дневник Collabora Online сервера и обезбедите да је Nextcloud достижан са те локације.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Веза утичнице је неочекивано прекинута. Можда је поглешно подешен обрнути прокси, молимо вас да се обратите администратору.", "More information can be found in the reverse proxy documentation" : "Више информација можете да пронађете у документацији обрнутог проксија", "Close" : "Затвори", "Edit" : "Измени", - "Starting the built-in CODE server failed" : "Није успело покретање уграђеног CODE сервера", - "Loading {filename} …" : "Учитава се {filename} …", - "Open in local editor" : "Отвори у локалном едитору", - "Cluster is scaling …" : "Кластер се скалира…", - "The collaborative editing was terminated by another user" : "Зајднеичко уређивање је прекинуо други корисник", - "Failed to load {productName} - please try again later" : "Не могу да учитам {productName} - покушајте поново касније", - "{productName} is not configured" : "{productName} није подешен", "Built-in CODE Server is starting up shortly, please wait." : "Уграђени CODE сервер се покреће, молимо вас сачекајте.", "Built-in CODE Server is restarting, please wait." : "Уграђени CODE сервер се поново покреће, молимо вас сачекајте.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Грешка: не може да се пронађе AppImage, молимо вас да поново инсталирате Collabora Online уграђени сервер.", @@ -232,15 +277,24 @@ "Follow current editor" : "Пратите тренутни уређивач", "New file" : "Нови фајл", "Please enter the filename for the new file" : "Молимо вас да унесете име за нови фајл:", - "Create" : "Направи", - "New drawing" : "Нови цртеж", "Could not create file" : "Не могу да креирам фајл", - "Select template" : "Одаберите шаблон", + "Could not load templates" : "Не могу да се учитају шаблони", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Сачувану уз грешку: Collabora Online би требало да користи исти протокол као и серверска инсталација.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Не може да се успостави веза са Collabora Online сервером. Разлог за то може бите непостојећа конфигурација вашег веб сервера. За више информација, молимо вас да посетите: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "За обезбеђивање могућности уређивања, Nextcloud Офис захтева посебан сервер на којем се извршава Collabora Online.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online захтева посебан сервер који се понаша као WOPI-Client да бисте добили могућност уређивања.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Подразумевано сви корисници могу да уређују документе са {productName}. Када је ово подешавање укључено, само чланови наведених група могу да уређују, а сви остали могу само да прегледају документе.", + "Secure view settings" : "Подешавања безбедног приказа", + "Secure view enables you to secure documents by embedding a watermark" : "Безбедни преглед омогућава да обезбедите документе тако што ћете им убацити водени жиг", + "Enable watermarking" : "Укључи уметање воденог жига", + "Show watermark on tagged files" : "Приказуј водени жиг на означеним фајловима", + "Show watermark for users of groups" : "Приказуј водени жиг корисницима или групама", + "Show watermark for all shares" : "Приказуј водени жиг на свим дељењима", + "Show watermark for read only shares" : "Показуј ведени жиг у дељењима само-за-читање", + "Show watermark for all link shares" : "Показуј ведени жиг у свим дељењима преко линка", + "Show watermark for download hidden shares" : "Приказуј водени жиг за преузимање скривених дељења", + "Show watermark for read only link shares" : "Показуј ведени жиг у дељењима преко линка која могу само да се читају", + "Show watermark on link shares with specific system tags" : "Приказуј водени жиг у дељењима са одређеним системским ознакама", "Error" : "Грешка", "An error occurred" : "Догодила се грешка", "Please choose your nickname to continue as guest user." : "Одаберите надимак да наставите као гост-корисник.", @@ -248,6 +302,8 @@ "Set" : "Постави", "Please enter the filename to store the document as." : "Унесите име фајла како желите да документ буде сачуван.", "New filename" : "Ново име фајла", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online још увек није подешена. Молимо вас да се обратите администратору.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Пошто подаци за пријаву на спољно складиште нису доступни без сесије, отварање фајла се не подржава", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Не могу да се повежем на {productName}. Покушајте касније или контактирајте администратора.", "Saving…" : "Снимам…", "Insert from {name}" : "Убаци из {name}", @@ -261,6 +317,10 @@ "No templates defined." : "Нема дефинисаних шаблона", "Add a new one?" : "Додај нови?", "template preview" : "претпреглед шаблона", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Фајлови још увек могу да се преузму са Nextcloud осим ако им се не ограничи приступ на други начин, путем подешавања дељења или контроле приступа", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Прегледи фајлова са воденим жиховима ће се блокирати да не би процурио изглед прве стране докумената", + "Show watermark for shares without download permission" : "Прикажи водени жиг у дељењима без дозволе преузимања", + "New drawing" : "Нови цртеж", "Collabora Online" : "Collabora Online", "Document already exists" : "Документ већ постоји", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online је укључена подразумевано за све кориснике. Када је ово подешавање укључено, само чланови означених група је могу користити.", diff --git a/l10n/sr@latin.js b/l10n/sr@latin.js index f73bfa8c0b..27439930c5 100644 --- a/l10n/sr@latin.js +++ b/l10n/sr@latin.js @@ -15,6 +15,8 @@ OC.L10N.register( "New" : "Nov", "Save" : "Save", "Cancel" : "Cancel", + "Select template" : "Odaberite šablon", + "Create" : "Napravi", "Description" : "Opis", "No results" : "Nema rezultata", "Close" : "Zatvori", @@ -24,8 +26,6 @@ OC.L10N.register( "Details" : "Detalji", "Download" : "Preuzmi", "Guest" : "Gost", - "Create" : "Napravi", - "Select template" : "Odaberite šablon", "Error" : "Greška" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/l10n/sr@latin.json b/l10n/sr@latin.json index a45f50326a..09ffa09dfd 100644 --- a/l10n/sr@latin.json +++ b/l10n/sr@latin.json @@ -13,6 +13,8 @@ "New" : "Nov", "Save" : "Save", "Cancel" : "Cancel", + "Select template" : "Odaberite šablon", + "Create" : "Napravi", "Description" : "Opis", "No results" : "Nema rezultata", "Close" : "Zatvori", @@ -22,8 +24,6 @@ "Details" : "Detalji", "Download" : "Preuzmi", "Guest" : "Gost", - "Create" : "Napravi", - "Select template" : "Odaberite šablon", "Error" : "Greška" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" } \ No newline at end of file diff --git a/l10n/sv.js b/l10n/sv.js index 3deeeff8db..973382a144 100644 --- a/l10n/sv.js +++ b/l10n/sv.js @@ -28,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "Endast mallfiler kan laddas upp", "Invalid file provided" : "Ogiltig fil tillhandahölls", "Template not found" : "Mallen kunde inte hittas", + "Unable to determine the proper file extension for %1$s" : "Kan inte fastställa rätt filändelse för %1$s", + "Unable to fetch information on %1$s" : "Kan inte hämta information om %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Bild (.png)", + "Image (.svg)" : "Bild (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Word-dokument (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument-text (.odt)", + "Excel Workbook (.xlsx)" : "Excel-arbetsbok (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument-kalkylblad (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint-presentation (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument-presentation (.odp)", "New document" : "Nytt dokument", "New spreadsheet" : "Nytt kalkylblad", "New presentation" : "Ny presentation", @@ -41,17 +54,20 @@ OC.L10N.register( "Sheets" : "Blad", "Slides" : "Bilder", "Office" : "Office", + "Instructions" : "Instruktioner", "Empty" : "Tom", "Anonymous guest" : "Anonym gäst", "%s (Guest)" : "%s (Gäst)", "Edit office documents directly in your browser." : "Redigera dokument direkt i din webbläsare.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Appen kan ansluta till en Collabora Online-server (eller annan WOPI-liknande-klient). Nextcloud är WOPI-värd. Läs mer i dokumentationen.\n\nDu kan också redigera dina dokument off-line med Collabora Office app från appbutikerna för **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** och **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", - "Global Templates" : "Globala mallar", - "New" : "Ny", "Uploaded template \"{name}\"" : "Uppladdad mall \"{name}\"", "Template \"{name}\" already exists" : "Mallen \"{name}\" finns redan", "Unable to delete template" : "Kunde inte radera mallen", "Deleted template" : "Raderad mall", + "Global Templates" : "Globala mallar", + "New" : "Ny", + "Failed to save settings" : "Kunde inte spara inställningarna", + "Font format not supported ({mime})" : "Fontformat stöds inte ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office är ett kraftfullt Collabora Online-baserat kontorsprogram med gemensamredigering som stöder alla viktiga filfomat för dokument, kalkylblad och presentationer och fungerar i alla moderna webbläsare.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online är en kraftfull LibreOffice-baserad onlinelösning med gemensamredigering. Stöder alla dokument-, kalkylarks- och presentations-filformat och fungerar i alla moderna webbläsare.", "Could not establish connection to the Collabora Online server." : "Kunde inte ansluta till Collabora Online-servern.", @@ -105,42 +121,38 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Kanonisk webbrot, om det finns flera kommer Collabora Online använda denna. Ange den med minst antal restriktioner. T ex använd icke-shibbolethiserad webbrot om instansen kan användas av både med och utan Shibboleth.\nDu kan ignorera denna inställning om det endast finns en webbrot till instansen.", "Enable access for external apps" : "Aktivera åtkomst för externa appar", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista över IPV4 och IPV6 IP-adresser och subnät som får utföra förfrågningar från WOPI-ändpunkterna. Om ingen tillåtelselista anges kommer alla värdar att tillåtas. T.ex. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Extra typsnitt", - "Upload extra font file" : "Ladda upp extra typsnitts-fil", + "Custom Fonts" : "Anpassade typsnitt", + "Upload font file" : "Ladda upp typsnittsfil", "Upload a font file" : "Ladda upp typsnitts-fil", "Available fonts" : "Tillgängliga typsnitt", + "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "För optimal dokumentkompatibilitet rekommenderar vi att du installerar vanligt använda typsnitt. Om dina användare arbetar med Microsoft Office kan du installera deras proprietära typsnitt enligt dokumentationen.", "Custom fonts documentation" : "Dokumentation för anpassade teckensnitt", - "Secure view settings" : "Inställningar säker vy", - "Secure view enables you to secure documents by embedding a watermark" : "Med säker vy kan du säkra dokument genom att bädda in en vattenstämpel", + "Secure View" : "Säker vy", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Inställningarna gäller endast för kompatibla office-filer som öppnas i Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Följande alternativ inom Nextcloud Office kommer att inaktiveras: Kopiera, Ladda ner, Exportera, Skriv ut", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Filer kan fortfarande vara nedladdningsbara via Nextcloud om inte annat begränsas genom delning eller åtkomstkontrollinställningar", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Förhandsgranskningar kommer att blockeras för filer med vattenstämpel för att inte läcka den första sidan i dokument", - "Enable watermarking" : "Aktivera vattenstämpel", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Platshållare som stöds: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Visa vattenstämpel på taggade filer", "Select tags to enforce watermarking" : "Välj taggar för att framtvinga vattenmärkning", - "Show watermark for users of groups" : "Visa vattenstämpel för användare av grupper", - "Show watermark for all shares" : "Visa vattenstämpel för alla delningar", - "Show watermark for read only shares" : "Visa vattenstämpel för skrivskyddade delningar", - "Show watermark for shares without download permission" : "Visa vattenstämpel för delningar utan nedladdningstillstånd", - "Show watermark for all link shares" : "Visa vattenstämpel för alla länkdelningar", - "Electronic signature settings" : "Inställningar för elektroniska signaturer", - "Failed to save settings" : "Kunde inte spara inställningarna", - "Font format not supported ({mime})" : "Fontformat stöds inte ({mime})", "Save" : "Spara", "Remove" : "Ta bort", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Ange gästnamnet du vill använda innan du fortsätter till dokumentet. Om du inte tillhandahåller något, kommer ett standardnamn att användas.", "Guest name" : "Gästnamn", "Submit name" : "Skicka namn", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Ange gästnamnet du vill använda innan du fortsätter till dokumentet. Om du inte tillhandahåller något, kommer ett standardnamn att användas.", "Confirm" : "Bekräfta", "Cancel" : "Avbryt", + "Save As" : "Spara som", "Save as" : "Spara som", "Path to save" : "Sökväg för att spara", - "Save As" : "Spara som", + "Invalid file name" : "Ogiltigt filnamn", + "Select template" : "Välj mall", + "File name" : "Filnamn", + "Create" : "Skapa", "Submit" : "Skicka", - "Select a template directory" : "Välj en mallmapp", "Select a personal template folder" : "Välj en personlig mallmapp", + "Settings saved successfully." : "Inställningarna har sparats.", + "Failed to save settings." : "Det gick inte att spara inställningarna.", + "Unexpected error occurred." : "Ett oväntat fel inträffade.", + "Personal Settings for Nextcloud Office" : "Personliga inställningar för Nextcloud Office", + "Select a template directory" : "Välj en mallmapp", "Remove personal template folder" : "Ta bort personlig mallmapp", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Mallar i denna mapp läggs till i mallväljaren för Nextcloud Office.", "Zotero" : "Zotero", @@ -153,19 +165,20 @@ OC.L10N.register( "No font overview" : "Ingen typsnittsöversikt", "Delete this font" : "Ta bort detta typsnitt", "No results" : "Inga resultat", + "Select file" : "Välj fil", "Select file or folder to link to" : "Välj fil eller mapp att länka till", "Could not find any section in the document" : "Kunde inte hitta något avsnitt i dokumentet", - "Select file" : "Välj fil", - "Document loading failed" : "Kunde inte ladda dokumentet", - "Close" : "Stäng", - "Edit" : "Redigera", + "{productName} is not configured" : "{productName} är inte konfigurerad", "Loading {filename} …" : "Öppnar {filename} ...", + "Failed to load {productName} - please try again later" : "Kunde inte läsa in {productName} - vänligen försök igen senare", "Open in local editor" : "Öppna i lokal editor", "The collaborative editing was terminated by another user" : "Samarbetsredigeringen avslutades av en annan användare", - "Failed to load {productName} - please try again later" : "Kunde inte läsa in {productName} - vänligen försök igen senare", - "{productName} is not configured" : "{productName} är inte konfigurerad", + "Document loading failed" : "Kunde inte ladda dokumentet", + "Close" : "Stäng", + "Edit" : "Redigera", "Close version preview" : "Stäng förhandsgranskning av version", "Edit with {productName}" : "Redigera med {productName}", + "Insert into document" : "Infoga i dokument", "Open file locally" : "Öppna filen lokalt", "When opening a file locally, the document will close for all users currently viewing the document." : "När du öppnar en fil lokalt stängs dokumentet för alla användare som för närvarande tittar på dokumentet.", "Open locally" : "Öppna lokalt", @@ -186,14 +199,20 @@ OC.L10N.register( "Follow current editor" : "Följ nuvarande redaktör", "New file" : "Ny fil", "Please enter the filename for the new file" : "Ange filnamnet för den nya filen", - "Create" : "Skapa", - "New drawing" : "Ny ritning", "Could not create file" : "Kunde inte skapa fil", - "Select template" : "Välj mall", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Sparad med felmeddelande: Collabora Online bör använda samma protokoll som serverinstallationen.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Kunde inte ansluta till Collabora Online-servern. Det kan t ex bero på en saknad konfiguration. Se mer: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office kräver en separat server som kör Collabora Online för att tillhandahålla redigeringsmöjligheter.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online kräver en separat server som agerar WOPI-klient och tillhandahåller redigeringsmöjligheter. ", + "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Alla användare kan redigera dokument med {productName} som standard. När den här inställningen är aktiv kan endast medlemmarna i de angivna grupperna redigera, medan de andra bara kan se dokument.", + "Secure view settings" : "Inställningar säker vy", + "Secure view enables you to secure documents by embedding a watermark" : "Med säker vy kan du säkra dokument genom att bädda in en vattenstämpel", + "Enable watermarking" : "Aktivera vattenstämpel", + "Show watermark on tagged files" : "Visa vattenstämpel på taggade filer", + "Show watermark for users of groups" : "Visa vattenstämpel för användare av grupper", + "Show watermark for all shares" : "Visa vattenstämpel för alla delningar", + "Show watermark for read only shares" : "Visa vattenstämpel för skrivskyddade delningar", + "Show watermark for all link shares" : "Visa vattenstämpel för alla länkdelningar", "Error" : "Fel", "An error occurred" : "Ett fel uppstod", "Please choose your nickname to continue as guest user." : "Välj ditt smeknamn för att fortsätta som gästanvändare.", @@ -214,6 +233,10 @@ OC.L10N.register( "No templates defined." : "Inga mallar definierade.", "Add a new one?" : "Lägg till en ny?", "template preview" : "Förhandsgranskning av mall", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Filer kan fortfarande vara nedladdningsbara via Nextcloud om inte annat begränsas genom delning eller åtkomstkontrollinställningar", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Förhandsgranskningar kommer att blockeras för filer med vattenstämpel för att inte läcka den första sidan i dokument", + "Show watermark for shares without download permission" : "Visa vattenstämpel för delningar utan nedladdningstillstånd", + "New drawing" : "Ny ritning", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokumentet finns redan", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online är aktiverat för alla användare som skön. När den här inställningen är aktiv kan endast medlemmar i de angivna grupperna använda det.", diff --git a/l10n/sv.json b/l10n/sv.json index 932e49971a..b577ccbb7e 100644 --- a/l10n/sv.json +++ b/l10n/sv.json @@ -26,6 +26,19 @@ "Only template files can be uploaded" : "Endast mallfiler kan laddas upp", "Invalid file provided" : "Ogiltig fil tillhandahölls", "Template not found" : "Mallen kunde inte hittas", + "Unable to determine the proper file extension for %1$s" : "Kan inte fastställa rätt filändelse för %1$s", + "Unable to fetch information on %1$s" : "Kan inte hämta information om %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Bild (.png)", + "Image (.svg)" : "Bild (.svg)", + "Text (.rtf)" : "Text (.rtf)", + "Text (.txt)" : "Text (.txt)", + "Word Document (.docx)" : "Word-dokument (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument-text (.odt)", + "Excel Workbook (.xlsx)" : "Excel-arbetsbok (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument-kalkylblad (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint-presentation (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument-presentation (.odp)", "New document" : "Nytt dokument", "New spreadsheet" : "Nytt kalkylblad", "New presentation" : "Ny presentation", @@ -39,17 +52,20 @@ "Sheets" : "Blad", "Slides" : "Bilder", "Office" : "Office", + "Instructions" : "Instruktioner", "Empty" : "Tom", "Anonymous guest" : "Anonym gäst", "%s (Guest)" : "%s (Gäst)", "Edit office documents directly in your browser." : "Redigera dokument direkt i din webbläsare.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Appen kan ansluta till en Collabora Online-server (eller annan WOPI-liknande-klient). Nextcloud är WOPI-värd. Läs mer i dokumentationen.\n\nDu kan också redigera dina dokument off-line med Collabora Office app från appbutikerna för **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** och **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**.", - "Global Templates" : "Globala mallar", - "New" : "Ny", "Uploaded template \"{name}\"" : "Uppladdad mall \"{name}\"", "Template \"{name}\" already exists" : "Mallen \"{name}\" finns redan", "Unable to delete template" : "Kunde inte radera mallen", "Deleted template" : "Raderad mall", + "Global Templates" : "Globala mallar", + "New" : "Ny", + "Failed to save settings" : "Kunde inte spara inställningarna", + "Font format not supported ({mime})" : "Fontformat stöds inte ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office är ett kraftfullt Collabora Online-baserat kontorsprogram med gemensamredigering som stöder alla viktiga filfomat för dokument, kalkylblad och presentationer och fungerar i alla moderna webbläsare.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online är en kraftfull LibreOffice-baserad onlinelösning med gemensamredigering. Stöder alla dokument-, kalkylarks- och presentations-filformat och fungerar i alla moderna webbläsare.", "Could not establish connection to the Collabora Online server." : "Kunde inte ansluta till Collabora Online-servern.", @@ -103,42 +119,38 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Kanonisk webbrot, om det finns flera kommer Collabora Online använda denna. Ange den med minst antal restriktioner. T ex använd icke-shibbolethiserad webbrot om instansen kan användas av både med och utan Shibboleth.\nDu kan ignorera denna inställning om det endast finns en webbrot till instansen.", "Enable access for external apps" : "Aktivera åtkomst för externa appar", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Lista över IPV4 och IPV6 IP-adresser och subnät som får utföra förfrågningar från WOPI-ändpunkterna. Om ingen tillåtelselista anges kommer alla värdar att tillåtas. T.ex. 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Extra typsnitt", - "Upload extra font file" : "Ladda upp extra typsnitts-fil", + "Custom Fonts" : "Anpassade typsnitt", + "Upload font file" : "Ladda upp typsnittsfil", "Upload a font file" : "Ladda upp typsnitts-fil", "Available fonts" : "Tillgängliga typsnitt", + "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "För optimal dokumentkompatibilitet rekommenderar vi att du installerar vanligt använda typsnitt. Om dina användare arbetar med Microsoft Office kan du installera deras proprietära typsnitt enligt dokumentationen.", "Custom fonts documentation" : "Dokumentation för anpassade teckensnitt", - "Secure view settings" : "Inställningar säker vy", - "Secure view enables you to secure documents by embedding a watermark" : "Med säker vy kan du säkra dokument genom att bädda in en vattenstämpel", + "Secure View" : "Säker vy", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Inställningarna gäller endast för kompatibla office-filer som öppnas i Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Följande alternativ inom Nextcloud Office kommer att inaktiveras: Kopiera, Ladda ner, Exportera, Skriv ut", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Filer kan fortfarande vara nedladdningsbara via Nextcloud om inte annat begränsas genom delning eller åtkomstkontrollinställningar", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Förhandsgranskningar kommer att blockeras för filer med vattenstämpel för att inte läcka den första sidan i dokument", - "Enable watermarking" : "Aktivera vattenstämpel", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Platshållare som stöds: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Visa vattenstämpel på taggade filer", "Select tags to enforce watermarking" : "Välj taggar för att framtvinga vattenmärkning", - "Show watermark for users of groups" : "Visa vattenstämpel för användare av grupper", - "Show watermark for all shares" : "Visa vattenstämpel för alla delningar", - "Show watermark for read only shares" : "Visa vattenstämpel för skrivskyddade delningar", - "Show watermark for shares without download permission" : "Visa vattenstämpel för delningar utan nedladdningstillstånd", - "Show watermark for all link shares" : "Visa vattenstämpel för alla länkdelningar", - "Electronic signature settings" : "Inställningar för elektroniska signaturer", - "Failed to save settings" : "Kunde inte spara inställningarna", - "Font format not supported ({mime})" : "Fontformat stöds inte ({mime})", "Save" : "Spara", "Remove" : "Ta bort", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Ange gästnamnet du vill använda innan du fortsätter till dokumentet. Om du inte tillhandahåller något, kommer ett standardnamn att användas.", "Guest name" : "Gästnamn", "Submit name" : "Skicka namn", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Ange gästnamnet du vill använda innan du fortsätter till dokumentet. Om du inte tillhandahåller något, kommer ett standardnamn att användas.", "Confirm" : "Bekräfta", "Cancel" : "Avbryt", + "Save As" : "Spara som", "Save as" : "Spara som", "Path to save" : "Sökväg för att spara", - "Save As" : "Spara som", + "Invalid file name" : "Ogiltigt filnamn", + "Select template" : "Välj mall", + "File name" : "Filnamn", + "Create" : "Skapa", "Submit" : "Skicka", - "Select a template directory" : "Välj en mallmapp", "Select a personal template folder" : "Välj en personlig mallmapp", + "Settings saved successfully." : "Inställningarna har sparats.", + "Failed to save settings." : "Det gick inte att spara inställningarna.", + "Unexpected error occurred." : "Ett oväntat fel inträffade.", + "Personal Settings for Nextcloud Office" : "Personliga inställningar för Nextcloud Office", + "Select a template directory" : "Välj en mallmapp", "Remove personal template folder" : "Ta bort personlig mallmapp", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Mallar i denna mapp läggs till i mallväljaren för Nextcloud Office.", "Zotero" : "Zotero", @@ -151,19 +163,20 @@ "No font overview" : "Ingen typsnittsöversikt", "Delete this font" : "Ta bort detta typsnitt", "No results" : "Inga resultat", + "Select file" : "Välj fil", "Select file or folder to link to" : "Välj fil eller mapp att länka till", "Could not find any section in the document" : "Kunde inte hitta något avsnitt i dokumentet", - "Select file" : "Välj fil", - "Document loading failed" : "Kunde inte ladda dokumentet", - "Close" : "Stäng", - "Edit" : "Redigera", + "{productName} is not configured" : "{productName} är inte konfigurerad", "Loading {filename} …" : "Öppnar {filename} ...", + "Failed to load {productName} - please try again later" : "Kunde inte läsa in {productName} - vänligen försök igen senare", "Open in local editor" : "Öppna i lokal editor", "The collaborative editing was terminated by another user" : "Samarbetsredigeringen avslutades av en annan användare", - "Failed to load {productName} - please try again later" : "Kunde inte läsa in {productName} - vänligen försök igen senare", - "{productName} is not configured" : "{productName} är inte konfigurerad", + "Document loading failed" : "Kunde inte ladda dokumentet", + "Close" : "Stäng", + "Edit" : "Redigera", "Close version preview" : "Stäng förhandsgranskning av version", "Edit with {productName}" : "Redigera med {productName}", + "Insert into document" : "Infoga i dokument", "Open file locally" : "Öppna filen lokalt", "When opening a file locally, the document will close for all users currently viewing the document." : "När du öppnar en fil lokalt stängs dokumentet för alla användare som för närvarande tittar på dokumentet.", "Open locally" : "Öppna lokalt", @@ -184,14 +197,20 @@ "Follow current editor" : "Följ nuvarande redaktör", "New file" : "Ny fil", "Please enter the filename for the new file" : "Ange filnamnet för den nya filen", - "Create" : "Skapa", - "New drawing" : "Ny ritning", "Could not create file" : "Kunde inte skapa fil", - "Select template" : "Välj mall", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Sparad med felmeddelande: Collabora Online bör använda samma protokoll som serverinstallationen.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Kunde inte ansluta till Collabora Online-servern. Det kan t ex bero på en saknad konfiguration. Se mer: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office kräver en separat server som kör Collabora Online för att tillhandahålla redigeringsmöjligheter.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online kräver en separat server som agerar WOPI-klient och tillhandahåller redigeringsmöjligheter. ", + "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Alla användare kan redigera dokument med {productName} som standard. När den här inställningen är aktiv kan endast medlemmarna i de angivna grupperna redigera, medan de andra bara kan se dokument.", + "Secure view settings" : "Inställningar säker vy", + "Secure view enables you to secure documents by embedding a watermark" : "Med säker vy kan du säkra dokument genom att bädda in en vattenstämpel", + "Enable watermarking" : "Aktivera vattenstämpel", + "Show watermark on tagged files" : "Visa vattenstämpel på taggade filer", + "Show watermark for users of groups" : "Visa vattenstämpel för användare av grupper", + "Show watermark for all shares" : "Visa vattenstämpel för alla delningar", + "Show watermark for read only shares" : "Visa vattenstämpel för skrivskyddade delningar", + "Show watermark for all link shares" : "Visa vattenstämpel för alla länkdelningar", "Error" : "Fel", "An error occurred" : "Ett fel uppstod", "Please choose your nickname to continue as guest user." : "Välj ditt smeknamn för att fortsätta som gästanvändare.", @@ -212,6 +231,10 @@ "No templates defined." : "Inga mallar definierade.", "Add a new one?" : "Lägg till en ny?", "template preview" : "Förhandsgranskning av mall", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Filer kan fortfarande vara nedladdningsbara via Nextcloud om inte annat begränsas genom delning eller åtkomstkontrollinställningar", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Förhandsgranskningar kommer att blockeras för filer med vattenstämpel för att inte läcka den första sidan i dokument", + "Show watermark for shares without download permission" : "Visa vattenstämpel för delningar utan nedladdningstillstånd", + "New drawing" : "Ny ritning", "Collabora Online" : "Collabora Online", "Document already exists" : "Dokumentet finns redan", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online är aktiverat för alla användare som skön. När den här inställningen är aktiv kan endast medlemmar i de angivna grupperna använda det.", diff --git a/l10n/sw.js b/l10n/sw.js new file mode 100644 index 0000000000..712946e958 --- /dev/null +++ b/l10n/sw.js @@ -0,0 +1,56 @@ +OC.L10N.register( + "richdocuments", + { + "File already exists" : "Faili lipo tayari", + "Saved" : "Imehifadhiwa", + "The file was uploaded" : "Faili lilipakiwa", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Faili lililopakiwa linazidi kiwango cha juu cha ukubwa wa faili linalielekea katika php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Faili iliyopakiliwa imezidi kiwango cha ukubwa wa faili iliyoelekezwa maalum katika fomu ya HTML", + "The file was only partially uploaded" : "Faili lilipakiwa kwa sehemu ndogo tu", + "No file was uploaded" : "Hakuna faili lililopakiwa", + "Missing a temporary folder" : "Imekosa faili la muda", + "Could not write file to disk" : "Haikuweza kuandika faili kwenye disk", + "A PHP extension stopped the file upload" : "Uongezaji wa PHP umesimamisha upakiaji wa faili", + "No file uploaded or file size exceeds maximum of %s" : "Hakuna faili lililopakiwa au faili lilizidi kiwango cha juu cha %s", + "File is too big" : "Faili ni kubwa mno", + "Invalid file provided" : "Faili iliyotolewa si halali", + "New document" : "Waraka mpya", + "New spreadsheet" : "New spreadsheet", + "New presentation" : "New presentation", + "Images" : "Picha", + "Instructions" : "Maelekezo", + "New" : "Mpya", + "Failed to save settings" : "Failed to save settings", + "Advanced settings" : "Mipangilio ya kiwangi cha juu", + "Select groups" : "Chagua makundi", + "Save" : "Hifadhi", + "Remove" : "Ondoa", + "Submit name" : "Submit name", + "Confirm" : "Thibitisha", + "Cancel" : "Cancel", + "Save as" : "Hifadhi kama", + "Select template" : "Select template", + "File name" : "Jina la faili", + "Create" : "Tengeneza", + "Submit" : "Wasilisha", + "Description" : "Maelezo", + "No results" : "No results", + "Select file" : "Select file", + "Select file or folder to link to" : "Chagua faili au kisanduku cha kuunga kwa", + "Loading {filename} …" : "inapakia {filename}", + "Close" : "Funga", + "Edit" : "Hariri", + "Open file locally" : "Fungua faili kikawaida", + "Open locally" : "Fungua kikawaida", + "Remove from favorites" : "Ondoa kutoka katika pendwa", + "Add to favorites" : "Ongeza kwenye pendwa", + "Details" : "Maelezo ya kina", + "Download" : "Pakua", + "Guest" : "Mgeni", + "New file" : "Faili mpya", + "Error" : "Hitilafu", + "An error occurred" : "Hitilafu imetokea", + "Set" : "Imetumwa", + "Saving…" : "Inahifadhi..." +}, +"nplurals=2; plural=(n != 1);"); diff --git a/l10n/sw.json b/l10n/sw.json new file mode 100644 index 0000000000..6c91f4b408 --- /dev/null +++ b/l10n/sw.json @@ -0,0 +1,54 @@ +{ "translations": { + "File already exists" : "Faili lipo tayari", + "Saved" : "Imehifadhiwa", + "The file was uploaded" : "Faili lilipakiwa", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Faili lililopakiwa linazidi kiwango cha juu cha ukubwa wa faili linalielekea katika php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Faili iliyopakiliwa imezidi kiwango cha ukubwa wa faili iliyoelekezwa maalum katika fomu ya HTML", + "The file was only partially uploaded" : "Faili lilipakiwa kwa sehemu ndogo tu", + "No file was uploaded" : "Hakuna faili lililopakiwa", + "Missing a temporary folder" : "Imekosa faili la muda", + "Could not write file to disk" : "Haikuweza kuandika faili kwenye disk", + "A PHP extension stopped the file upload" : "Uongezaji wa PHP umesimamisha upakiaji wa faili", + "No file uploaded or file size exceeds maximum of %s" : "Hakuna faili lililopakiwa au faili lilizidi kiwango cha juu cha %s", + "File is too big" : "Faili ni kubwa mno", + "Invalid file provided" : "Faili iliyotolewa si halali", + "New document" : "Waraka mpya", + "New spreadsheet" : "New spreadsheet", + "New presentation" : "New presentation", + "Images" : "Picha", + "Instructions" : "Maelekezo", + "New" : "Mpya", + "Failed to save settings" : "Failed to save settings", + "Advanced settings" : "Mipangilio ya kiwangi cha juu", + "Select groups" : "Chagua makundi", + "Save" : "Hifadhi", + "Remove" : "Ondoa", + "Submit name" : "Submit name", + "Confirm" : "Thibitisha", + "Cancel" : "Cancel", + "Save as" : "Hifadhi kama", + "Select template" : "Select template", + "File name" : "Jina la faili", + "Create" : "Tengeneza", + "Submit" : "Wasilisha", + "Description" : "Maelezo", + "No results" : "No results", + "Select file" : "Select file", + "Select file or folder to link to" : "Chagua faili au kisanduku cha kuunga kwa", + "Loading {filename} …" : "inapakia {filename}", + "Close" : "Funga", + "Edit" : "Hariri", + "Open file locally" : "Fungua faili kikawaida", + "Open locally" : "Fungua kikawaida", + "Remove from favorites" : "Ondoa kutoka katika pendwa", + "Add to favorites" : "Ongeza kwenye pendwa", + "Details" : "Maelezo ya kina", + "Download" : "Pakua", + "Guest" : "Mgeni", + "New file" : "Faili mpya", + "Error" : "Hitilafu", + "An error occurred" : "Hitilafu imetokea", + "Set" : "Imetumwa", + "Saving…" : "Inahifadhi..." +},"pluralForm" :"nplurals=2; plural=(n != 1);" +} \ No newline at end of file diff --git a/l10n/ta.js b/l10n/ta.js index ac185de2b6..36d7585b29 100644 --- a/l10n/ta.js +++ b/l10n/ta.js @@ -8,6 +8,8 @@ OC.L10N.register( "Save" : "சேமிக்க ", "Remove" : "அகற்றுக", "Cancel" : "இரத்து செய்க", + "File name" : "கோப்பு பெயரைக்", + "Create" : "உருவாக்குக", "Description" : "விவரிப்பு", "Close" : "மூடுக", "Edit" : "தொகுக்க", @@ -15,7 +17,6 @@ OC.L10N.register( "Add to favorites" : "Add to favorites", "Details" : "விவரங்கள்", "Download" : "பதிவிறக்குக", - "Create" : "உருவாக்குக", "Error" : "வழு", "Nickname" : "பட்டப்பெயர்" }, diff --git a/l10n/ta.json b/l10n/ta.json index eb6bf4b073..10de1da242 100644 --- a/l10n/ta.json +++ b/l10n/ta.json @@ -6,6 +6,8 @@ "Save" : "சேமிக்க ", "Remove" : "அகற்றுக", "Cancel" : "இரத்து செய்க", + "File name" : "கோப்பு பெயரைக்", + "Create" : "உருவாக்குக", "Description" : "விவரிப்பு", "Close" : "மூடுக", "Edit" : "தொகுக்க", @@ -13,7 +15,6 @@ "Add to favorites" : "Add to favorites", "Details" : "விவரங்கள்", "Download" : "பதிவிறக்குக", - "Create" : "உருவாக்குக", "Error" : "வழு", "Nickname" : "பட்டப்பெயர்" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/th.js b/l10n/th.js index 0692db5a8e..937d0e460d 100644 --- a/l10n/th.js +++ b/l10n/th.js @@ -35,6 +35,7 @@ OC.L10N.register( "Edit office documents directly in your browser." : "แก้ไขเอกสารออฟฟิศได้โดยตรงในเบราว์เซอร์ของคุณ", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "แอปพลิเคชันนี้สามารถเชื่อมต่อกับเซิร์ฟเวอร์ Collabora Online หรือเซิร์ฟเวอร์อื่นได้ (ไคลเอ็นต์คล้าย WOPI) Nextcloud เป็นโฮสต์ WOPI กรุณาอ่านเอกสารประกอบสำหรับข้อมูลเพิ่มเติม\n\nคุณยังสามารถแก้ไขเอกสารของคุณแบบออฟไลน์ด้วยแอป Collabora Office จากร้านค้าแอป **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** และ **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**", "New" : "ใหม่", + "Failed to save settings" : "ไม่สามารถบันทึกการตั้งค่าได้", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online เป็นชุดโปรแกรมสำนักงานออนไลน์ที่ทรงพลังที่ขึ้นอยู่บน LibreOffice และมาพร้อมการแก้ไขร่วมกัน รองรับไฟล์เอกสาร สเปรดชีต และงานนำเสนอชั้นนำทุกรูปแบบ และทำงานได้บนเบราว์เซอร์ยุคใหม่ทุกตัว", "Could not establish connection to the Collabora Online server." : "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ Collabora Online", "Setting up a new server" : "การตั้งค่าเซิร์ฟเวอร์ใหม่", @@ -48,11 +49,11 @@ OC.L10N.register( "Use a demo server" : "ใช้เซิร์ฟเวอร์สาธิต", "Advanced settings" : "การตั้งค่าขั้นสูง", "Select groups" : "เลือกกลุ่ม", - "Failed to save settings" : "ไม่สามารถบันทึกการตั้งค่าได้", "Save" : "บันทึก", "Remove" : "ลบออก", "Confirm" : "ยืนยัน", "Cancel" : "ยกเลิก", + "Create" : "สร้าง", "Submit" : "ส่ง", "Description" : "คำอธิบาย", "No results" : "ไม่มีผลลัพธ์", @@ -64,7 +65,6 @@ OC.L10N.register( "Details" : "รายละเอียด", "Download" : "ดาวน์โหลด", "New file" : "ไฟล์ใหม่", - "Create" : "สร้าง", "Could not create file" : "ไม่สามารถสร้างไฟล์", "Saved with error: Collabora Online should use the same protocol as the server installation." : "บันทึกแล้ว แต่มีข้อผิดพลาด: Collabora Online ควรใช้โปรโตคอลเดียวกับการติดตั้งบนเซิร์ฟเวอร์", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "ไม่สามารถสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ Collabora Online ซึ่งอาจเกิดจากการกำหนดค่าเว็บเซิร์ฟเวอร์ของคุณขาดหายไป สำหรับข้อมูลเพิ่มเติม กรุณาเยี่ยมชม:", diff --git a/l10n/th.json b/l10n/th.json index f811782dc3..606f75c74a 100644 --- a/l10n/th.json +++ b/l10n/th.json @@ -33,6 +33,7 @@ "Edit office documents directly in your browser." : "แก้ไขเอกสารออฟฟิศได้โดยตรงในเบราว์เซอร์ของคุณ", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "แอปพลิเคชันนี้สามารถเชื่อมต่อกับเซิร์ฟเวอร์ Collabora Online หรือเซิร์ฟเวอร์อื่นได้ (ไคลเอ็นต์คล้าย WOPI) Nextcloud เป็นโฮสต์ WOPI กรุณาอ่านเอกสารประกอบสำหรับข้อมูลเพิ่มเติม\n\nคุณยังสามารถแก้ไขเอกสารของคุณแบบออฟไลน์ด้วยแอป Collabora Office จากร้านค้าแอป **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** และ **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)**", "New" : "ใหม่", + "Failed to save settings" : "ไม่สามารถบันทึกการตั้งค่าได้", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online เป็นชุดโปรแกรมสำนักงานออนไลน์ที่ทรงพลังที่ขึ้นอยู่บน LibreOffice และมาพร้อมการแก้ไขร่วมกัน รองรับไฟล์เอกสาร สเปรดชีต และงานนำเสนอชั้นนำทุกรูปแบบ และทำงานได้บนเบราว์เซอร์ยุคใหม่ทุกตัว", "Could not establish connection to the Collabora Online server." : "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ Collabora Online", "Setting up a new server" : "การตั้งค่าเซิร์ฟเวอร์ใหม่", @@ -46,11 +47,11 @@ "Use a demo server" : "ใช้เซิร์ฟเวอร์สาธิต", "Advanced settings" : "การตั้งค่าขั้นสูง", "Select groups" : "เลือกกลุ่ม", - "Failed to save settings" : "ไม่สามารถบันทึกการตั้งค่าได้", "Save" : "บันทึก", "Remove" : "ลบออก", "Confirm" : "ยืนยัน", "Cancel" : "ยกเลิก", + "Create" : "สร้าง", "Submit" : "ส่ง", "Description" : "คำอธิบาย", "No results" : "ไม่มีผลลัพธ์", @@ -62,7 +63,6 @@ "Details" : "รายละเอียด", "Download" : "ดาวน์โหลด", "New file" : "ไฟล์ใหม่", - "Create" : "สร้าง", "Could not create file" : "ไม่สามารถสร้างไฟล์", "Saved with error: Collabora Online should use the same protocol as the server installation." : "บันทึกแล้ว แต่มีข้อผิดพลาด: Collabora Online ควรใช้โปรโตคอลเดียวกับการติดตั้งบนเซิร์ฟเวอร์", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "ไม่สามารถสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ Collabora Online ซึ่งอาจเกิดจากการกำหนดค่าเว็บเซิร์ฟเวอร์ของคุณขาดหายไป สำหรับข้อมูลเพิ่มเติม กรุณาเยี่ยมชม:", diff --git a/l10n/tr.js b/l10n/tr.js index 4f912cea3d..189cae0c98 100644 --- a/l10n/tr.js +++ b/l10n/tr.js @@ -28,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "Yalnızca kalıp dosyaları yüklenebilir", "Invalid file provided" : "Belirtilen dosya geçersiz", "Template not found" : "Kalıp bulunamadı", + "Unable to determine the proper file extension for %1$s" : "%1$s için doğru dosya uzantısı belirlenemedi", + "Unable to fetch information on %1$s" : "%1$s üzerine bilgiler alınamadı", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Görsel (.png)", + "Image (.svg)" : "Görsel (.svg)", + "Text (.rtf)" : "Metin (.rtf)", + "Text (.txt)" : "Metin (.txt)", + "Word Document (.docx)" : "Word belgesi (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument metni (.odt)", + "Excel Workbook (.xlsx)" : "Excel çalışma sayfası (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument çalışma sayfası (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint sunumu (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument sunumu (.odp)", "New document" : "Yeni belge", "New spreadsheet" : "Yeni çalışma sayfası", "New presentation" : "Yeni sunum", @@ -41,17 +54,46 @@ OC.L10N.register( "Sheets" : "Sayfalar", "Slides" : "Saydamlar", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud Yardımcı kayan tahta oluşturucu", + "Generate Slide Deck" : "Kayan tahta oluştur", + "Generate a slide deck from a presentation script" : "Bir sunum senaryosundan bir kayan tahta oluştur", + "Presentation script" : "Sunum senaryosu", + "Write the text for your presentation here" : "Sunumunuzun metnini buraya yazın", + "Generated slide deck" : "Oluşturulan kayan tahta", + "The slide deck generated" : "Kayan tahta oluşturuldu", + "Nextcloud Office text document generator" : "Nextcloud Office metin belgesi oluşturucu", + "Document format" : "Belge biçimi", + "The format of the generated document" : "Oluşturulan belgenin biçimi", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "Office metin belgesi oluştur", + "Generate an Office text document from a prompt" : "Bir istemden bir Office metin belgesi oluşturun", + "Instructions" : "Yönerge", + "Describe the document you want the assistant to generate" : "Yardımcının oluşturmasını istediğiniz belgeyi tanımlayın", + "Generated Office document" : "Oluşturulan Office belgesi", + "The Office document that was generated from the description" : "Açıklamadan oluşturulan Office belgesi", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office çalışma sayfası oluşturucu", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Office çalışma sayfası belgesi oluştur", + "Generate an Office spreadsheet document from a prompt" : "Bir istemden bir Office çalışma sayfası belgesi oluşturun", "Empty" : "Boş", "Anonymous guest" : "Anonim konuk", "%s (Guest)" : "%s (Konuk)", "Edit office documents directly in your browser." : "Bu uygulama ofis belgelerinin doğrudan tarayıcı üzerinde düzenlenebilmesini sağlar.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Bu uygulama bir Collabora Online (ya da başka bir) sunucuya bağlanabilir (WOPI benzeri istemci). Nextcloud WOPI sunucusudur. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.\n\nÇevrim dışı iken belgelerinizi düzenlemek için **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** ve **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** adresindeki Collabora Office uygulamalarını kullanabilirsiniz.", - "Global Templates" : "Genel kalıplar", - "New" : "Yeni", + "Accepted file types: {accepts}" : "Kabul edilen dosya türleri: {accepts}", "Uploaded template \"{name}\"" : "\"{name}\" kalıbı yüklendi", "Template \"{name}\" already exists" : "\"{name}\" kalıbı zaten var", "Unable to delete template" : "Kalıp silinemedi", "Deleted template" : "Kalıp silindi", + "Global Templates" : "Genel kalıplar", + "New" : "Yeni", + "Contact {0} to get an own installation." : "{0} kişisi kendi kurulumunu alacak.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Eklenen yazı tiplerinin otomatik olarak yükleneceğinden emin olmak için Collabora Online sunucunuzdaki coolwsd.xml dosyasında bu adresin ayarlandığından emin olun: {url}. Lütfen http:// seçeneğinin yalnızca Collabora Online hata ayıklama sürümleri ile çalışacağını unutmayın. Üretim sürümlerinde uzaktan yazı tipi yapılandırması için https:// kullanmalısınız.", + "Failed to save settings" : "Ayarlar kaydedilemedi", + "Font format not supported ({mime})" : "Yazı tipi biçimi desteklenmiyor ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office, tüm önemli belge, elektronik tablo ve sunum dosyası biçimlerini destekleyerek iş birlikli çalışma olanağı sağlayan ve tüm modern tarayıcılar ile birlikte çalışan, Collabora Online tabanlı güçlü bir çevrim içi ofis paketidir.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online, tüm önemli belge, elektronik tablo ve sunum dosyası biçimlerini destekleyerek iş birlikli çalışma olanağı sağlayan ve tüm modern tarayıcılar ile birlikte çalışan, güçlü bir LibreOffice tabanlı çevrim içi ofis paketidir.", "Could not establish connection to the Collabora Online server." : "Collabora Online sunucusu ile bağlantı kurulamadı.", @@ -71,7 +113,7 @@ OC.L10N.register( "Nextcloud Office requires a separate server running Collabora Online to provide editing capabilities." : "Nextcloud Office düzenleme özelliklerinin kullanılabilmesi için Collabora Online çalıştıran ayrı bir sunucu gereklidir.", "Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online düzenleme özelliklerinin kullanılabilmesi için WOPI benzeri istemci olarak çalışacak ayrı bir sunucu gereklidir.", "URL (and Port) of Collabora Online-server" : "Collabora Online sunucusunun adresi (ve bağlantı noktası)", - "Disable certificate verification (insecure)" : "Sertifika doğrulaması kullanımdan kaldırılsın (güvenli değil)", + "Disable certificate verification (insecure)" : "Sertifika doğrulanmasın (güvenli değil)", "Enable if your Collabora Online server uses a self signed certificate" : "Collabora Online sunucunuz kendinden imzalı bir sertifika kullanıyorsa açın", "Use the built-in CODE - Collabora Online Development Edition" : "İç CODE kullanılsın - Collabora Online Development Edition", "Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Kişisel ya da küçük ekipler için kurması ve kullanması kolaydır. Bağımsız bir sunucudan biraz daha yavaştır ve gelişmiş ölçeklenebilirlik özellikleri yoktur.", @@ -101,67 +143,74 @@ OC.L10N.register( "Advanced settings" : "Gelişmiş ayarlar", "Use Office Open XML (OOXML) instead of OpenDocument Format (ODF) by default for new files" : "Yeni dosyalar için OpenDocument Biçimi (ODF) yerine Office Open XML (OOXML) biçimi kullanılsın", "Restrict usage to specific groups" : "Kullanımı belirli gruplarla sınırla", - "{productName} is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "{productName} tüm kullanıcılar için varsayılan olarak kullanıma alınır. Bu seçenek kullanıma alındığında, yalnızca belirtilen grupların üyeleri tarafından kullanılabilir.", + "{productName} is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "{productName} tüm kullanıcılar için varsayılan olarak açılır. Bu seçenek açıksa, yalnızca belirtilen grupların üyeleri tarafından kullanılabilir.", "Select groups" : "Grupları seçin", "Restrict edit to specific groups" : "Düzenlemeyi belirli gruplarla sınırla", - "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit, whereas the others can only view documents." : "Varsayılan olarak tüm kullanıcılar belgeleri {productName} ile düzenleyebilir. Bu seçenek kullanıma alındığında, belgeleri yalnızca belirtilen grupların üyeleri düzenleyebilirken, diğer kullanıcılar görüntüleyebilir ama düzenleyemez.", + "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit, whereas the others can only view documents." : "Varsayılan olarak tüm kullanıcılar belgeleri {productName} ile düzenleyebilir. Bu seçenek açıksa, belgeleri yalnızca belirtilen grupların üyeleri düzenleyebilirken, diğer kullanıcılar görüntüleyebilir ama düzenleyemez.", "Use Canonical webroot" : "Yinelenen kök klasörü kullanılsın", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Birden çok olması durumunda Collabora tarafından kullanılacak yinelenen site kök klasörü. En az kısıtlaması olanı kullanın. Örnek: Kopyanın kök klasörüne Shibbolet kullanılarak ve kullanılmadan erişiliyorsa Shibbolize olmayan bir site kök klasörü kullanın. Bu kopya için yalnızca bir site kök klasörü kullanılıyorsa bu ayarı yok sayabilirsiniz.", "Enable access for external apps" : "Dış uygulamalara erişilebilsin", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "WOPI uç noktalarının isteklerini gerçekleştirmesine izin verilen IPV4 ve IPV6 IP adreslerinin ve alt ağların listesi. İzin verilenler listesi yoksa, tüm adreslere izin verilir. Örnek: 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Ek yazı tipleri", - "Upload extra font file" : "Ek yazı tipi dosyası yükle", + "Custom Fonts" : "Özel yazı tipleri", + "Upload font file" : "Yazı tipi yükle", "Upload a font file" : "Bir yazı tipi dosyası yükle", "Available fonts" : "Kullanıcılabilecek yazı tipleri", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "İdeal belge uyumluluğu için sık kullanılan yazı tiplerini kurmanız önerilir. Kullanıcılarınız Microsoft Office ile kendi yazı tiplerini kullanıyorsa belgelere bakılarak kurulabilir.", "Custom fonts documentation" : "Özel yazı tipleri belgeleri", - "Secure view settings" : "Güvenli görüntüleme ayarları", - "Secure view enables you to secure documents by embedding a watermark" : "Güvenli görünüm belgelere bir filigran ekleyerek korumanızı sağlar", + "Secure View" : "Güvenli görünüm", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Güvenli görünüm, indirme ile ön izlemeyi engelleyerek ve belgelere bir filigran ekleyerek ofis belgelerinizi korumanızı sağlar", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ayarlar yalnızca Nextcloud Office ile açılan uyumlu ofis dosyaları için geçerlidir.", + "Downloading the file through WebDAV will be blocked" : "Dosyanın WebDAV üzerinden indirilmesi engellenecek", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Şu Nextcloud Office seçenekleri kullanımdan kaldırılacak: Kopyalama, İndirme, Dışa aktarma, Yazdırma", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dosyalar, paylaşım ya da erişim denetimi ayarları ile kısıtlanmadıkça, Nextcloud üzerinden indirilebilmelidir", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "WOPI ayarları doğru yapılandırılmamışsa, dosyalar WOPI istekleri kullanılarak indirilebilir", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Filigranlı dosyaların belgelerin ilk sayfasını sızdırmaması için ön izlemeler engellenecek", - "Enable watermarking" : "Filigran kullanılsın", + "Previews will be blocked" : "Ön izlemeler engellenecek", + "Enable secure view" : "Güvenli görünüm özelliğini aç", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Desteklenen kodlar: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Etiketlenmiş dosyalarda filigran görüntülensin", - "Select tags to enforce watermarking" : "Filigran kullanılacak etiketleri seçin", - "Show watermark for users of groups" : "Kullanıcı gruplarında filigran görüntülensin", - "Show watermark for all shares" : "Tüm paylaşımlarda filigran görüntülensin", - "Show watermark for read only shares" : "Salt okunur paylaşımlarda filigran görüntülensin", - "Show watermark for shares without download permission" : "İndirme izni olmayan paylaşımlarda filigran görüntülensin", - "Show watermark for all link shares" : "Tüm bağlantı paylaşımlarında filigran görüntülensin", - "Show watermark for download hidden shares" : "Gizli paylaşımlar indirilirken filigran görüntülensin", - "Show watermark for read only link shares" : "Salt okunur bağlantı paylaşımlarında filigran görüntülensin", - "Show watermark on link shares with specific system tags" : "Belirli sistem etiketlerinin salt okunur bağlantı paylaşımlarında filigran görüntülensin", - "Electronic signature settings" : "Elektronik imza ayarları", + "Enforce secure view on tagged files" : "Etiketlenmiş dosyalarda güvenli görünüm zorunlu kılınsın", + "Select tags to enforce watermarking" : "Filigranın zorunlu kılınacağı etiketleri seçin", + "Enforce secure view for users of groups" : "Kullanıcılar ve gruplar için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for all shares" : "Tüm paylaşımlar için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for read only shares" : "Salt okunur paylaşımlar için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for all public Talk shares" : "Tüm herkese açık Konuş paylaşımları için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for shares without download permission" : "İndirme izni olmayan paylaşımlar için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for all link shares" : "Tüm bağlantı paylaşımları için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for download hidden shares" : "Gizli paylaşımları indirmek için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for read only link shares" : "Salt okunur bağlantı paylaşımları için güvenli görünüm zorunlu kılınsın", + "Enforce secure view on link shares with specific system tags" : "Belirli sistem etiketlerinin bağlantı paylaşımları için güvenli görünüm zorunlu kılınsın", + "Select tags to enforce secure view" : "Güvenli görünümün zorunlu kılınacağı etiketleri seçin", + "Electronic Signature" : "Elektronik imza", "Client ID for the electronic signature API" : "Elektronik imza API için istemci kimliği", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "İstemci kimliği ve parolanızı almak için https://eideasy.com/signup adresindeki kayıt formunu doldurun.", "Secret for the electronic signature API" : "Elektronik imza API için parola", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "WOPI izin listesi doğru yapılandırılmamışsa, parola WOPI istekleri kullanılarak indirilebilir.", - "Contact {0} to get an own installation." : "{0} kişisi kendi kurulumunu alacak.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Eklenen yazı tiplerinin otomatik olarak yükleneceğinden emin olmak için Collabora Online sunucunuzdaki coolwsd.xml dosyasında bu adresin ayarlandığından emin olun: {url}. Lütfen http:// seçeneğinin yalnızca Collabora Online hata ayıklama sürümleri ile çalışacağını unutmayın. Üretim sürümlerinde uzaktan yazı tipi yapılandırması için https:// kullanmalısınız.", - "Failed to save settings" : "Ayarlar kaydedilemedi", - "Font format not supported ({mime})" : "Yazı tipi biçimi desteklenmiyor ({mime})", "Save" : "Kaydet", "Remove" : "Kaldır", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Lütfen belgeye geçmeden önce kullanmak istediğiniz konuk adını yazın. Bir ad yazmazsanız, varsayılan ad kullanılır.", "Guest name" : "Konuk adı", "Submit name" : "Adı gönder", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Lütfen belgeye geçmeden önce kullanmak istediğiniz konuk adını yazın. Bir ad yazmazsanız, varsayılan ad kullanılır.", "Confirm" : "Onayla", "Cancel" : "İptal", + "Save As" : "Farklı kaydet", "Save as" : "Farklı kaydet", "Path to save" : "Kaydedilecek yol", - "Save As" : "Farklı kaydet", + "Invalid file name" : "Dosya adı geçersiz", + "File name already exists" : "Dosya adı zaten var", + "Select template" : "Kalıp seçin", + "File name" : "Dosya adı", + "Create" : "Ekle", + "Failed to set Zotero API key" : "Zotero API anahtarı ayarlanamadı", "Link to your Zotero library" : "Zotero kitaplığınızın bağlantısı", "Connect your Zotero account to make use of references within Office." : "Office içindeki referanslardan yararlanmak için Zotero hesabınızı bağlayın.", "You can generate an account key here:" : "Buradan bir hesap anahtarı oluşturabilirsiniz:", "Zotero account settings" : "Zotero hesabı ayarları", "Zotero API key" : "Zotero API anahtarı", "Submit" : "Gönder", - "Failed to set Zotero API key" : "Zotero API anahtarı ayarlanamadı", - "Select a template directory" : "Bir kalıp klasörü seçin", "Select a personal template folder" : "Bir kişisel kalıp klasörü seçin", + "Settings saved successfully." : "Ayarlar kaydedildi.", + "Failed to save settings." : "Ayarlar kaydedilemedi.", + "Unexpected error occurred." : "Beklenmeyen bir sorun çıktı.", + "Personal Settings for Nextcloud Office" : "Kişisel Nextcloud Office ayarları", + "Select a template directory" : "Bir kalıp klasörü seçin", "Remove personal template folder" : "Kişisel kalıp klasörünü sil", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Bu klasör içindeki kalıplar Nextcloud Office kalıp seçicisine eklenecek.", "Zotero" : "Zotero", @@ -175,28 +224,28 @@ OC.L10N.register( "Enter document signing key" : "Belge imzalama sertifikasını yazın", "Enter document signing CA chain" : "Belge imzalama sertifika yetkilisi (CA) zincirini yazın", "To use document signing, specify your signing certificate, key and CA chain here." : "Belge imzalamayı kullanmak için imzalama sertifikanızı, anahtarınızı ve sertifika yetkilisi (CA) zincirinizi buraya yazın.", - "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Bu kopyada eksik ya da kullanımdan kaldırılmış olduğundan belge imzalama desteklenmiyor. Lütfen yöneticiniz ile görüşün.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Belge imzalama, bu kopyada eksik ya da kullanımdan kaldırılmış olduğundan desteklenmiyor. Lütfen yöneticiniz ile görüşün.", "Description" : "Açıklama", "Add new token" : "Yeni kod ekle", "No font overview" : "Yazı tipi özeti yok", "Delete this font" : "Bu yazı tipini sil", "No results" : "Herhangi bir sonuç bulunamadı", + "Select file" : "Dosyayı seç", "Select file or folder to link to" : "Bağlantı verilecek dosya ya da klasörü seçin", "Could not find any section in the document" : "Belgede herhangi bir bölüm bulunamadı", - "Select file" : "Dosyayı seç", + "{productName} is not configured" : "{productName} yapılandırılmamış", + "Starting the built-in CODE server failed" : "İç CODE sunucusu başlatılamadı", + "Loading {filename} …" : "{filename} yükleniyor…", + "Failed to load {productName} - please try again later" : "{productName} yüklenemedi. Lütfen bir süre sonra yeniden deneyin", + "Open in local editor" : "Yerel düzenleyicide aç", + "Cluster is scaling …" : "Küme ölçekleniyor…", + "The collaborative editing was terminated by another user" : "İş birlikli düzenleme başka bir kullanıcı tarafından sonlandırıldı", "Document loading failed" : "Belge yüklenemedi", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Daha fazla ayrıntı için lütfen Collabora Online sunucu günlüğüne bakın ve buradan Nextcloud üzerine erişilebildiğinden emin olun.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Soket bağlantısı beklenmedik bir şekilde kapandı. Ters vekil sunucu yanlış yapılandırılmış olabilir, lütfen yöneticiyle görüşün.", "More information can be found in the reverse proxy documentation" : "Ayrıntılı bilgi almak için ters vekil sunucu belgelerine bakabilirsiniz", "Close" : "Kapat", "Edit" : "Düzenle", - "Starting the built-in CODE server failed" : "İç CODE sunucusu başlatılamadı", - "Loading {filename} …" : "{filename} yükleniyor…", - "Open in local editor" : "Yerel düzenleyicide aç", - "Cluster is scaling …" : "Küme ölçekleniyor…", - "The collaborative editing was terminated by another user" : "İş birlikli düzenleme başka bir kullanıcı tarafından sonlandırıldı", - "Failed to load {productName} - please try again later" : "{productName} yüklenemedi. Lütfen bir süre sonra yeniden deneyin", - "{productName} is not configured" : "{productName} yapılandırılmamış", "Built-in CODE Server is starting up shortly, please wait." : "İç CODE sunucusu kısa süre içinde başlatılacak. Lütfen bekleyin.", "Built-in CODE Server is restarting, please wait." : "İç CODE sunucusu yeniden başlatılıyor. Lütfen bekleyin.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Hata: AppImage bulunamadı. Lütfen Collabora Online iç sunucusunu yeniden kurun.", @@ -213,7 +262,7 @@ OC.L10N.register( "When opening a file locally, the document will close for all users currently viewing the document." : "Bir dosya yerel olarak açıldığında, görüntüleyen diğer tüm kullanıcılarda kapatılır.", "Open locally" : "Yerel olarak aç", "Continue editing online" : "Düzenlemeyi çevrim içi sürdür", - "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Dosya yerel olarak açılmalıdır. Bu gerçekleşmiyorsa, sisteminizde masaüstü istemcisinin kurulu olduğundan emin olun.", + "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Dosya yerel olarak açılmalıdır. Bu gerçekleşmiyorsa, sisteminizde bilgisayar istemcisinin kurulu olduğundan emin olun.", "Retry to open locally" : "Yerel olarak açmak için yeniden deneyin", "Save a copy of the file under a new name and continue editing the new file" : "Yeni bir adla dosyanın başka bir kopyasını kaydedin ve yeni dosyayı düzenlemeyi sürdürün", "Failed to revert the document to older version" : "Belgenin önceki sürümü geri yüklenemedi", @@ -230,15 +279,24 @@ OC.L10N.register( "Follow current editor" : "Geçerli düzenleyici kullanılsın", "New file" : "Yeni dosya", "Please enter the filename for the new file" : "Lütfen yeni dosyanın dosya adını yazın", - "Create" : "Ekle", - "New drawing" : "Yeni çizim", "Could not create file" : "Dosya oluşturulamadı", - "Select template" : "Kalıp seçin", + "Could not load templates" : "Kalıplar yüklenemedi", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Sorunlu olarak kaydedildi: Collabora Online sunucuda kurulu olan iletişim kuralını kullanmalıdır.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Collabora Online sunucusu ile bağlantı kurulamadı. Bu sorun site sunucunuzdaki bir yapılandırma eksikliğinden kaynaklanıyor olabilir. Ayrıntılı bilgi almak için şuraya bakabilirsiniz:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office düzenleme özelliklerinin kullanılabilmesi için Collabora Online çalıştıran ayrı bir sunucu gereklidir.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online düzenleme özelliklerinin kullanılabilmesi için WOPI benzeri istemci olarak çalışacak ayrı bir sunucu gereklidir.", - "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Varsayılan olarak tüm kullanıcılar belgeleri {productName} ile düzenleyebilir. Bu seçenek kullanıma alındığında, belgeleri yalnız belirtilen grupların üyeleri düzenleyebilirken, diğer kullanıcılar görüntüleyebilir ama düzenleyemez.", + "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Varsayılan olarak tüm kullanıcılar belgeleri {productName} ile düzenleyebilir. Bu seçenek açıksa, belgeleri yalnızca belirtilen grupların üyeleri düzenleyebilirken, diğer kullanıcılar görüntüleyebilir ama düzenleyemez.", + "Secure view settings" : "Güvenli görüntüleme ayarları", + "Secure view enables you to secure documents by embedding a watermark" : "Güvenli görünüm belgelere bir filigran ekleyerek korumanızı sağlar", + "Enable watermarking" : "Filigran kullanılsın", + "Show watermark on tagged files" : "Etiketlenmiş dosyalarda filigran görüntülensin", + "Show watermark for users of groups" : "Kullanıcı gruplarında filigran görüntülensin", + "Show watermark for all shares" : "Tüm paylaşımlarda filigran görüntülensin", + "Show watermark for read only shares" : "Salt okunur paylaşımlarda filigran görüntülensin", + "Show watermark for all link shares" : "Tüm bağlantı paylaşımlarında filigran görüntülensin", + "Show watermark for download hidden shares" : "Gizli paylaşımlar indirilirken filigran görüntülensin", + "Show watermark for read only link shares" : "Salt okunur bağlantı paylaşımlarında filigran görüntülensin", + "Show watermark on link shares with specific system tags" : "Belirli sistem etiketlerinin salt okunur bağlantı paylaşımlarında filigran görüntülensin", "Error" : "Hata", "An error occurred" : "Bir sorun çıktı", "Please choose your nickname to continue as guest user." : "Konuk kullanıcı olarak kullanmayı sürdürmek için bir takma ad seçin.", @@ -246,6 +304,8 @@ OC.L10N.register( "Set" : "Ayarla", "Please enter the filename to store the document as." : "Lütfen belgenin kaydedileceği adı yazın.", "New filename" : "Yeni dosya adı", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online henüz kurulmamış. Lütfen yöneticinizle görüşün.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Dış depolama alanı için kimlik bilgileri bir oturum olmadan kullanılamadığı için dosyanın açılması desteklenmiyor", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "{productName} ile bağlantı kurulurken bir sorun çıktı. Lütfen bir süre sonra yeniden deneyin ya da BT yöneticiniz ile görüşün.", "Saving…" : "Kaydediliyor …", "Insert from {name}" : "{name} üzerinden ekle", @@ -259,9 +319,13 @@ OC.L10N.register( "No templates defined." : "Herhangi bir kalıp tanımlanmamış.", "Add a new one?" : "Yeni bir kalıp eklemek ister misiniz?", "template preview" : "kalıp ön izleme", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dosyalar, paylaşım ya da erişim denetimi ayarları ile kısıtlanmadıkça, Nextcloud üzerinden indirilebilmelidir", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Filigranlı dosyaların belgelerin ilk sayfasını sızdırmaması için ön izlemeler engellenecek", + "Show watermark for shares without download permission" : "İndirme izni olmayan paylaşımlarda filigran görüntülensin", + "New drawing" : "Yeni çizim", "Collabora Online" : "Collabora Online", "Document already exists" : "Belge zaten var", - "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online, varsayılan olarak tüm kullanıcılar için kullanıma alınmıştır. Bu seçenek kullanıma alındığında, yalnızca belirtilen grupların üyeleri kullanabilir.", + "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online, varsayılan olarak tüm kullanıcılar için kullanıma alınmıştır. Bu seçenek açıksa, yalnızca belirtilen grupların üyeleri kullanabilir.", "Templates inside of this directory will be added to the template selector of Collabora Online." : "Klasör içindeki kalıplar Collabora Online kalıp seçicisine eklenecek." }, "nplurals=2; plural=(n > 1);"); diff --git a/l10n/tr.json b/l10n/tr.json index d276c28b24..27510dd3c2 100644 --- a/l10n/tr.json +++ b/l10n/tr.json @@ -26,6 +26,19 @@ "Only template files can be uploaded" : "Yalnızca kalıp dosyaları yüklenebilir", "Invalid file provided" : "Belirtilen dosya geçersiz", "Template not found" : "Kalıp bulunamadı", + "Unable to determine the proper file extension for %1$s" : "%1$s için doğru dosya uzantısı belirlenemedi", + "Unable to fetch information on %1$s" : "%1$s üzerine bilgiler alınamadı", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Görsel (.png)", + "Image (.svg)" : "Görsel (.svg)", + "Text (.rtf)" : "Metin (.rtf)", + "Text (.txt)" : "Metin (.txt)", + "Word Document (.docx)" : "Word belgesi (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument metni (.odt)", + "Excel Workbook (.xlsx)" : "Excel çalışma sayfası (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument çalışma sayfası (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint sunumu (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument sunumu (.odp)", "New document" : "Yeni belge", "New spreadsheet" : "Yeni çalışma sayfası", "New presentation" : "Yeni sunum", @@ -39,17 +52,46 @@ "Sheets" : "Sayfalar", "Slides" : "Saydamlar", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud Yardımcı kayan tahta oluşturucu", + "Generate Slide Deck" : "Kayan tahta oluştur", + "Generate a slide deck from a presentation script" : "Bir sunum senaryosundan bir kayan tahta oluştur", + "Presentation script" : "Sunum senaryosu", + "Write the text for your presentation here" : "Sunumunuzun metnini buraya yazın", + "Generated slide deck" : "Oluşturulan kayan tahta", + "The slide deck generated" : "Kayan tahta oluşturuldu", + "Nextcloud Office text document generator" : "Nextcloud Office metin belgesi oluşturucu", + "Document format" : "Belge biçimi", + "The format of the generated document" : "Oluşturulan belgenin biçimi", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "Office metin belgesi oluştur", + "Generate an Office text document from a prompt" : "Bir istemden bir Office metin belgesi oluşturun", + "Instructions" : "Yönerge", + "Describe the document you want the assistant to generate" : "Yardımcının oluşturmasını istediğiniz belgeyi tanımlayın", + "Generated Office document" : "Oluşturulan Office belgesi", + "The Office document that was generated from the description" : "Açıklamadan oluşturulan Office belgesi", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office çalışma sayfası oluşturucu", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Office çalışma sayfası belgesi oluştur", + "Generate an Office spreadsheet document from a prompt" : "Bir istemden bir Office çalışma sayfası belgesi oluşturun", "Empty" : "Boş", "Anonymous guest" : "Anonim konuk", "%s (Guest)" : "%s (Konuk)", "Edit office documents directly in your browser." : "Bu uygulama ofis belgelerinin doğrudan tarayıcı üzerinde düzenlenebilmesini sağlar.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Bu uygulama bir Collabora Online (ya da başka bir) sunucuya bağlanabilir (WOPI benzeri istemci). Nextcloud WOPI sunucusudur. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.\n\nÇevrim dışı iken belgelerinizi düzenlemek için **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** ve **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** adresindeki Collabora Office uygulamalarını kullanabilirsiniz.", - "Global Templates" : "Genel kalıplar", - "New" : "Yeni", + "Accepted file types: {accepts}" : "Kabul edilen dosya türleri: {accepts}", "Uploaded template \"{name}\"" : "\"{name}\" kalıbı yüklendi", "Template \"{name}\" already exists" : "\"{name}\" kalıbı zaten var", "Unable to delete template" : "Kalıp silinemedi", "Deleted template" : "Kalıp silindi", + "Global Templates" : "Genel kalıplar", + "New" : "Yeni", + "Contact {0} to get an own installation." : "{0} kişisi kendi kurulumunu alacak.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Eklenen yazı tiplerinin otomatik olarak yükleneceğinden emin olmak için Collabora Online sunucunuzdaki coolwsd.xml dosyasında bu adresin ayarlandığından emin olun: {url}. Lütfen http:// seçeneğinin yalnızca Collabora Online hata ayıklama sürümleri ile çalışacağını unutmayın. Üretim sürümlerinde uzaktan yazı tipi yapılandırması için https:// kullanmalısınız.", + "Failed to save settings" : "Ayarlar kaydedilemedi", + "Font format not supported ({mime})" : "Yazı tipi biçimi desteklenmiyor ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office, tüm önemli belge, elektronik tablo ve sunum dosyası biçimlerini destekleyerek iş birlikli çalışma olanağı sağlayan ve tüm modern tarayıcılar ile birlikte çalışan, Collabora Online tabanlı güçlü bir çevrim içi ofis paketidir.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online, tüm önemli belge, elektronik tablo ve sunum dosyası biçimlerini destekleyerek iş birlikli çalışma olanağı sağlayan ve tüm modern tarayıcılar ile birlikte çalışan, güçlü bir LibreOffice tabanlı çevrim içi ofis paketidir.", "Could not establish connection to the Collabora Online server." : "Collabora Online sunucusu ile bağlantı kurulamadı.", @@ -69,7 +111,7 @@ "Nextcloud Office requires a separate server running Collabora Online to provide editing capabilities." : "Nextcloud Office düzenleme özelliklerinin kullanılabilmesi için Collabora Online çalıştıran ayrı bir sunucu gereklidir.", "Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online düzenleme özelliklerinin kullanılabilmesi için WOPI benzeri istemci olarak çalışacak ayrı bir sunucu gereklidir.", "URL (and Port) of Collabora Online-server" : "Collabora Online sunucusunun adresi (ve bağlantı noktası)", - "Disable certificate verification (insecure)" : "Sertifika doğrulaması kullanımdan kaldırılsın (güvenli değil)", + "Disable certificate verification (insecure)" : "Sertifika doğrulanmasın (güvenli değil)", "Enable if your Collabora Online server uses a self signed certificate" : "Collabora Online sunucunuz kendinden imzalı bir sertifika kullanıyorsa açın", "Use the built-in CODE - Collabora Online Development Edition" : "İç CODE kullanılsın - Collabora Online Development Edition", "Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Kişisel ya da küçük ekipler için kurması ve kullanması kolaydır. Bağımsız bir sunucudan biraz daha yavaştır ve gelişmiş ölçeklenebilirlik özellikleri yoktur.", @@ -99,67 +141,74 @@ "Advanced settings" : "Gelişmiş ayarlar", "Use Office Open XML (OOXML) instead of OpenDocument Format (ODF) by default for new files" : "Yeni dosyalar için OpenDocument Biçimi (ODF) yerine Office Open XML (OOXML) biçimi kullanılsın", "Restrict usage to specific groups" : "Kullanımı belirli gruplarla sınırla", - "{productName} is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "{productName} tüm kullanıcılar için varsayılan olarak kullanıma alınır. Bu seçenek kullanıma alındığında, yalnızca belirtilen grupların üyeleri tarafından kullanılabilir.", + "{productName} is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "{productName} tüm kullanıcılar için varsayılan olarak açılır. Bu seçenek açıksa, yalnızca belirtilen grupların üyeleri tarafından kullanılabilir.", "Select groups" : "Grupları seçin", "Restrict edit to specific groups" : "Düzenlemeyi belirli gruplarla sınırla", - "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit, whereas the others can only view documents." : "Varsayılan olarak tüm kullanıcılar belgeleri {productName} ile düzenleyebilir. Bu seçenek kullanıma alındığında, belgeleri yalnızca belirtilen grupların üyeleri düzenleyebilirken, diğer kullanıcılar görüntüleyebilir ama düzenleyemez.", + "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit, whereas the others can only view documents." : "Varsayılan olarak tüm kullanıcılar belgeleri {productName} ile düzenleyebilir. Bu seçenek açıksa, belgeleri yalnızca belirtilen grupların üyeleri düzenleyebilirken, diğer kullanıcılar görüntüleyebilir ama düzenleyemez.", "Use Canonical webroot" : "Yinelenen kök klasörü kullanılsın", "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Birden çok olması durumunda Collabora tarafından kullanılacak yinelenen site kök klasörü. En az kısıtlaması olanı kullanın. Örnek: Kopyanın kök klasörüne Shibbolet kullanılarak ve kullanılmadan erişiliyorsa Shibbolize olmayan bir site kök klasörü kullanın. Bu kopya için yalnızca bir site kök klasörü kullanılıyorsa bu ayarı yok sayabilirsiniz.", "Enable access for external apps" : "Dış uygulamalara erişilebilsin", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "WOPI uç noktalarının isteklerini gerçekleştirmesine izin verilen IPV4 ve IPV6 IP adreslerinin ve alt ağların listesi. İzin verilenler listesi yoksa, tüm adreslere izin verilir. Örnek: 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Ek yazı tipleri", - "Upload extra font file" : "Ek yazı tipi dosyası yükle", + "Custom Fonts" : "Özel yazı tipleri", + "Upload font file" : "Yazı tipi yükle", "Upload a font file" : "Bir yazı tipi dosyası yükle", "Available fonts" : "Kullanıcılabilecek yazı tipleri", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "İdeal belge uyumluluğu için sık kullanılan yazı tiplerini kurmanız önerilir. Kullanıcılarınız Microsoft Office ile kendi yazı tiplerini kullanıyorsa belgelere bakılarak kurulabilir.", "Custom fonts documentation" : "Özel yazı tipleri belgeleri", - "Secure view settings" : "Güvenli görüntüleme ayarları", - "Secure view enables you to secure documents by embedding a watermark" : "Güvenli görünüm belgelere bir filigran ekleyerek korumanızı sağlar", + "Secure View" : "Güvenli görünüm", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Güvenli görünüm, indirme ile ön izlemeyi engelleyerek ve belgelere bir filigran ekleyerek ofis belgelerinizi korumanızı sağlar", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ayarlar yalnızca Nextcloud Office ile açılan uyumlu ofis dosyaları için geçerlidir.", + "Downloading the file through WebDAV will be blocked" : "Dosyanın WebDAV üzerinden indirilmesi engellenecek", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Şu Nextcloud Office seçenekleri kullanımdan kaldırılacak: Kopyalama, İndirme, Dışa aktarma, Yazdırma", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dosyalar, paylaşım ya da erişim denetimi ayarları ile kısıtlanmadıkça, Nextcloud üzerinden indirilebilmelidir", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "WOPI ayarları doğru yapılandırılmamışsa, dosyalar WOPI istekleri kullanılarak indirilebilir", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Filigranlı dosyaların belgelerin ilk sayfasını sızdırmaması için ön izlemeler engellenecek", - "Enable watermarking" : "Filigran kullanılsın", + "Previews will be blocked" : "Ön izlemeler engellenecek", + "Enable secure view" : "Güvenli görünüm özelliğini aç", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Desteklenen kodlar: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Etiketlenmiş dosyalarda filigran görüntülensin", - "Select tags to enforce watermarking" : "Filigran kullanılacak etiketleri seçin", - "Show watermark for users of groups" : "Kullanıcı gruplarında filigran görüntülensin", - "Show watermark for all shares" : "Tüm paylaşımlarda filigran görüntülensin", - "Show watermark for read only shares" : "Salt okunur paylaşımlarda filigran görüntülensin", - "Show watermark for shares without download permission" : "İndirme izni olmayan paylaşımlarda filigran görüntülensin", - "Show watermark for all link shares" : "Tüm bağlantı paylaşımlarında filigran görüntülensin", - "Show watermark for download hidden shares" : "Gizli paylaşımlar indirilirken filigran görüntülensin", - "Show watermark for read only link shares" : "Salt okunur bağlantı paylaşımlarında filigran görüntülensin", - "Show watermark on link shares with specific system tags" : "Belirli sistem etiketlerinin salt okunur bağlantı paylaşımlarında filigran görüntülensin", - "Electronic signature settings" : "Elektronik imza ayarları", + "Enforce secure view on tagged files" : "Etiketlenmiş dosyalarda güvenli görünüm zorunlu kılınsın", + "Select tags to enforce watermarking" : "Filigranın zorunlu kılınacağı etiketleri seçin", + "Enforce secure view for users of groups" : "Kullanıcılar ve gruplar için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for all shares" : "Tüm paylaşımlar için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for read only shares" : "Salt okunur paylaşımlar için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for all public Talk shares" : "Tüm herkese açık Konuş paylaşımları için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for shares without download permission" : "İndirme izni olmayan paylaşımlar için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for all link shares" : "Tüm bağlantı paylaşımları için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for download hidden shares" : "Gizli paylaşımları indirmek için güvenli görünüm zorunlu kılınsın", + "Enforce secure view for read only link shares" : "Salt okunur bağlantı paylaşımları için güvenli görünüm zorunlu kılınsın", + "Enforce secure view on link shares with specific system tags" : "Belirli sistem etiketlerinin bağlantı paylaşımları için güvenli görünüm zorunlu kılınsın", + "Select tags to enforce secure view" : "Güvenli görünümün zorunlu kılınacağı etiketleri seçin", + "Electronic Signature" : "Elektronik imza", "Client ID for the electronic signature API" : "Elektronik imza API için istemci kimliği", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "İstemci kimliği ve parolanızı almak için https://eideasy.com/signup adresindeki kayıt formunu doldurun.", "Secret for the electronic signature API" : "Elektronik imza API için parola", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "WOPI izin listesi doğru yapılandırılmamışsa, parola WOPI istekleri kullanılarak indirilebilir.", - "Contact {0} to get an own installation." : "{0} kişisi kendi kurulumunu alacak.", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Eklenen yazı tiplerinin otomatik olarak yükleneceğinden emin olmak için Collabora Online sunucunuzdaki coolwsd.xml dosyasında bu adresin ayarlandığından emin olun: {url}. Lütfen http:// seçeneğinin yalnızca Collabora Online hata ayıklama sürümleri ile çalışacağını unutmayın. Üretim sürümlerinde uzaktan yazı tipi yapılandırması için https:// kullanmalısınız.", - "Failed to save settings" : "Ayarlar kaydedilemedi", - "Font format not supported ({mime})" : "Yazı tipi biçimi desteklenmiyor ({mime})", "Save" : "Kaydet", "Remove" : "Kaldır", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Lütfen belgeye geçmeden önce kullanmak istediğiniz konuk adını yazın. Bir ad yazmazsanız, varsayılan ad kullanılır.", "Guest name" : "Konuk adı", "Submit name" : "Adı gönder", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Lütfen belgeye geçmeden önce kullanmak istediğiniz konuk adını yazın. Bir ad yazmazsanız, varsayılan ad kullanılır.", "Confirm" : "Onayla", "Cancel" : "İptal", + "Save As" : "Farklı kaydet", "Save as" : "Farklı kaydet", "Path to save" : "Kaydedilecek yol", - "Save As" : "Farklı kaydet", + "Invalid file name" : "Dosya adı geçersiz", + "File name already exists" : "Dosya adı zaten var", + "Select template" : "Kalıp seçin", + "File name" : "Dosya adı", + "Create" : "Ekle", + "Failed to set Zotero API key" : "Zotero API anahtarı ayarlanamadı", "Link to your Zotero library" : "Zotero kitaplığınızın bağlantısı", "Connect your Zotero account to make use of references within Office." : "Office içindeki referanslardan yararlanmak için Zotero hesabınızı bağlayın.", "You can generate an account key here:" : "Buradan bir hesap anahtarı oluşturabilirsiniz:", "Zotero account settings" : "Zotero hesabı ayarları", "Zotero API key" : "Zotero API anahtarı", "Submit" : "Gönder", - "Failed to set Zotero API key" : "Zotero API anahtarı ayarlanamadı", - "Select a template directory" : "Bir kalıp klasörü seçin", "Select a personal template folder" : "Bir kişisel kalıp klasörü seçin", + "Settings saved successfully." : "Ayarlar kaydedildi.", + "Failed to save settings." : "Ayarlar kaydedilemedi.", + "Unexpected error occurred." : "Beklenmeyen bir sorun çıktı.", + "Personal Settings for Nextcloud Office" : "Kişisel Nextcloud Office ayarları", + "Select a template directory" : "Bir kalıp klasörü seçin", "Remove personal template folder" : "Kişisel kalıp klasörünü sil", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Bu klasör içindeki kalıplar Nextcloud Office kalıp seçicisine eklenecek.", "Zotero" : "Zotero", @@ -173,28 +222,28 @@ "Enter document signing key" : "Belge imzalama sertifikasını yazın", "Enter document signing CA chain" : "Belge imzalama sertifika yetkilisi (CA) zincirini yazın", "To use document signing, specify your signing certificate, key and CA chain here." : "Belge imzalamayı kullanmak için imzalama sertifikanızı, anahtarınızı ve sertifika yetkilisi (CA) zincirinizi buraya yazın.", - "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Bu kopyada eksik ya da kullanımdan kaldırılmış olduğundan belge imzalama desteklenmiyor. Lütfen yöneticiniz ile görüşün.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Belge imzalama, bu kopyada eksik ya da kullanımdan kaldırılmış olduğundan desteklenmiyor. Lütfen yöneticiniz ile görüşün.", "Description" : "Açıklama", "Add new token" : "Yeni kod ekle", "No font overview" : "Yazı tipi özeti yok", "Delete this font" : "Bu yazı tipini sil", "No results" : "Herhangi bir sonuç bulunamadı", + "Select file" : "Dosyayı seç", "Select file or folder to link to" : "Bağlantı verilecek dosya ya da klasörü seçin", "Could not find any section in the document" : "Belgede herhangi bir bölüm bulunamadı", - "Select file" : "Dosyayı seç", + "{productName} is not configured" : "{productName} yapılandırılmamış", + "Starting the built-in CODE server failed" : "İç CODE sunucusu başlatılamadı", + "Loading {filename} …" : "{filename} yükleniyor…", + "Failed to load {productName} - please try again later" : "{productName} yüklenemedi. Lütfen bir süre sonra yeniden deneyin", + "Open in local editor" : "Yerel düzenleyicide aç", + "Cluster is scaling …" : "Küme ölçekleniyor…", + "The collaborative editing was terminated by another user" : "İş birlikli düzenleme başka bir kullanıcı tarafından sonlandırıldı", "Document loading failed" : "Belge yüklenemedi", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Daha fazla ayrıntı için lütfen Collabora Online sunucu günlüğüne bakın ve buradan Nextcloud üzerine erişilebildiğinden emin olun.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "Soket bağlantısı beklenmedik bir şekilde kapandı. Ters vekil sunucu yanlış yapılandırılmış olabilir, lütfen yöneticiyle görüşün.", "More information can be found in the reverse proxy documentation" : "Ayrıntılı bilgi almak için ters vekil sunucu belgelerine bakabilirsiniz", "Close" : "Kapat", "Edit" : "Düzenle", - "Starting the built-in CODE server failed" : "İç CODE sunucusu başlatılamadı", - "Loading {filename} …" : "{filename} yükleniyor…", - "Open in local editor" : "Yerel düzenleyicide aç", - "Cluster is scaling …" : "Küme ölçekleniyor…", - "The collaborative editing was terminated by another user" : "İş birlikli düzenleme başka bir kullanıcı tarafından sonlandırıldı", - "Failed to load {productName} - please try again later" : "{productName} yüklenemedi. Lütfen bir süre sonra yeniden deneyin", - "{productName} is not configured" : "{productName} yapılandırılmamış", "Built-in CODE Server is starting up shortly, please wait." : "İç CODE sunucusu kısa süre içinde başlatılacak. Lütfen bekleyin.", "Built-in CODE Server is restarting, please wait." : "İç CODE sunucusu yeniden başlatılıyor. Lütfen bekleyin.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Hata: AppImage bulunamadı. Lütfen Collabora Online iç sunucusunu yeniden kurun.", @@ -211,7 +260,7 @@ "When opening a file locally, the document will close for all users currently viewing the document." : "Bir dosya yerel olarak açıldığında, görüntüleyen diğer tüm kullanıcılarda kapatılır.", "Open locally" : "Yerel olarak aç", "Continue editing online" : "Düzenlemeyi çevrim içi sürdür", - "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Dosya yerel olarak açılmalıdır. Bu gerçekleşmiyorsa, sisteminizde masaüstü istemcisinin kurulu olduğundan emin olun.", + "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Dosya yerel olarak açılmalıdır. Bu gerçekleşmiyorsa, sisteminizde bilgisayar istemcisinin kurulu olduğundan emin olun.", "Retry to open locally" : "Yerel olarak açmak için yeniden deneyin", "Save a copy of the file under a new name and continue editing the new file" : "Yeni bir adla dosyanın başka bir kopyasını kaydedin ve yeni dosyayı düzenlemeyi sürdürün", "Failed to revert the document to older version" : "Belgenin önceki sürümü geri yüklenemedi", @@ -228,15 +277,24 @@ "Follow current editor" : "Geçerli düzenleyici kullanılsın", "New file" : "Yeni dosya", "Please enter the filename for the new file" : "Lütfen yeni dosyanın dosya adını yazın", - "Create" : "Ekle", - "New drawing" : "Yeni çizim", "Could not create file" : "Dosya oluşturulamadı", - "Select template" : "Kalıp seçin", + "Could not load templates" : "Kalıplar yüklenemedi", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Sorunlu olarak kaydedildi: Collabora Online sunucuda kurulu olan iletişim kuralını kullanmalıdır.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Collabora Online sunucusu ile bağlantı kurulamadı. Bu sorun site sunucunuzdaki bir yapılandırma eksikliğinden kaynaklanıyor olabilir. Ayrıntılı bilgi almak için şuraya bakabilirsiniz:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office düzenleme özelliklerinin kullanılabilmesi için Collabora Online çalıştıran ayrı bir sunucu gereklidir.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online düzenleme özelliklerinin kullanılabilmesi için WOPI benzeri istemci olarak çalışacak ayrı bir sunucu gereklidir.", - "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Varsayılan olarak tüm kullanıcılar belgeleri {productName} ile düzenleyebilir. Bu seçenek kullanıma alındığında, belgeleri yalnız belirtilen grupların üyeleri düzenleyebilirken, diğer kullanıcılar görüntüleyebilir ama düzenleyemez.", + "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Varsayılan olarak tüm kullanıcılar belgeleri {productName} ile düzenleyebilir. Bu seçenek açıksa, belgeleri yalnızca belirtilen grupların üyeleri düzenleyebilirken, diğer kullanıcılar görüntüleyebilir ama düzenleyemez.", + "Secure view settings" : "Güvenli görüntüleme ayarları", + "Secure view enables you to secure documents by embedding a watermark" : "Güvenli görünüm belgelere bir filigran ekleyerek korumanızı sağlar", + "Enable watermarking" : "Filigran kullanılsın", + "Show watermark on tagged files" : "Etiketlenmiş dosyalarda filigran görüntülensin", + "Show watermark for users of groups" : "Kullanıcı gruplarında filigran görüntülensin", + "Show watermark for all shares" : "Tüm paylaşımlarda filigran görüntülensin", + "Show watermark for read only shares" : "Salt okunur paylaşımlarda filigran görüntülensin", + "Show watermark for all link shares" : "Tüm bağlantı paylaşımlarında filigran görüntülensin", + "Show watermark for download hidden shares" : "Gizli paylaşımlar indirilirken filigran görüntülensin", + "Show watermark for read only link shares" : "Salt okunur bağlantı paylaşımlarında filigran görüntülensin", + "Show watermark on link shares with specific system tags" : "Belirli sistem etiketlerinin salt okunur bağlantı paylaşımlarında filigran görüntülensin", "Error" : "Hata", "An error occurred" : "Bir sorun çıktı", "Please choose your nickname to continue as guest user." : "Konuk kullanıcı olarak kullanmayı sürdürmek için bir takma ad seçin.", @@ -244,6 +302,8 @@ "Set" : "Ayarla", "Please enter the filename to store the document as." : "Lütfen belgenin kaydedileceği adı yazın.", "New filename" : "Yeni dosya adı", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online henüz kurulmamış. Lütfen yöneticinizle görüşün.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Dış depolama alanı için kimlik bilgileri bir oturum olmadan kullanılamadığı için dosyanın açılması desteklenmiyor", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "{productName} ile bağlantı kurulurken bir sorun çıktı. Lütfen bir süre sonra yeniden deneyin ya da BT yöneticiniz ile görüşün.", "Saving…" : "Kaydediliyor …", "Insert from {name}" : "{name} üzerinden ekle", @@ -257,9 +317,13 @@ "No templates defined." : "Herhangi bir kalıp tanımlanmamış.", "Add a new one?" : "Yeni bir kalıp eklemek ister misiniz?", "template preview" : "kalıp ön izleme", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Dosyalar, paylaşım ya da erişim denetimi ayarları ile kısıtlanmadıkça, Nextcloud üzerinden indirilebilmelidir", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Filigranlı dosyaların belgelerin ilk sayfasını sızdırmaması için ön izlemeler engellenecek", + "Show watermark for shares without download permission" : "İndirme izni olmayan paylaşımlarda filigran görüntülensin", + "New drawing" : "Yeni çizim", "Collabora Online" : "Collabora Online", "Document already exists" : "Belge zaten var", - "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online, varsayılan olarak tüm kullanıcılar için kullanıma alınmıştır. Bu seçenek kullanıma alındığında, yalnızca belirtilen grupların üyeleri kullanabilir.", + "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online, varsayılan olarak tüm kullanıcılar için kullanıma alınmıştır. Bu seçenek açıksa, yalnızca belirtilen grupların üyeleri kullanabilir.", "Templates inside of this directory will be added to the template selector of Collabora Online." : "Klasör içindeki kalıplar Collabora Online kalıp seçicisine eklenecek." },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/l10n/ug.js b/l10n/ug.js index bc87a5795a..f44c80ba2e 100644 --- a/l10n/ug.js +++ b/l10n/ug.js @@ -40,12 +40,16 @@ OC.L10N.register( "Sheets" : "Sheets", "Slides" : "تام تەسۋىر", "Office" : "Office", + "Instructions" : "كۆرسەتمە", "Empty" : "قۇرۇق", "Anonymous guest" : "نامسىز مېھمان", "%s (Guest)" : "% s (مېھمان)", "Edit office documents directly in your browser." : "ئىشخانا ھۆججەتلىرىنى تور كۆرگۈچىڭىزدە بىۋاسىتە تەھرىرلەڭ.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "بۇ پروگرامما Collabora Online (ياكى باشقا) مۇلازىمېتىرغا (WOPI غا ئوخشاش خېرىدار) ئۇلىنالايدۇ. Nextcloud بولسا WOPI رىياسەتچىسى. بۇ توغرىلىق تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن ھۆججەتلەرنى ئوقۇڭ.\n\nسىز ** [ئاندىرويىد] (https://play.google.com/store/apps/details?id=com.collabora.libreoffice) ** ۋە * دىن Collabora Office دېتالى بىلەن ھۆججەتلىرىڭىزنى تور سىرتىدا تەھرىرلىيەلەيسىز. * [iOS] (https://apps.apple.com/us/app/collabora-office/id1440482071) ** دۇكىنى.", "New" : "يېڭى", + "Contact {0} to get an own installation." : "قاچىلاش ئۈچۈن {0} Contact بىلەن ئالاقىلىشىڭ.", + "Failed to save settings" : "تەڭشەكلەرنى ساقلىيالمىدى", + "Font format not supported ({mime})" : "خەت نۇسخىسىنى قوللىمايدۇ ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office ھەمكارلىشىپ تەھرىرلەيدىغان كۈچلۈك Collabora Online نى ئاساس قىلغان تور ئىشخانا يۈرۈشلۈك دېتالى بولۇپ ، ئۇ بارلىق ئاساسلىق ھۆججەتلەر ، ئېلېكترونلۇق جەدۋەل ۋە تونۇشتۇرۇش ھۆججەت فورماتىنى قوللايدۇ ھەمدە بارلىق زامانىۋى توركۆرگۈچلەر بىلەن ھەمكارلىشىدۇ.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online بىرلىشىپ تەھرىرلەيدىغان كۈچلۈك LibreOffice نى ئاساس قىلغان تور ئىشخانا يۈرۈشلۈك دېتالى بولۇپ ، ئۇ بارلىق ئاساسلىق ھۆججەتلەر ، ئېلېكترونلۇق جەدۋەل ۋە تونۇشتۇرۇش ھۆججەت فورماتىنى قوللايدۇ ھەمدە بارلىق زامانىۋى توركۆرگۈچلەر بىلەن ھەمكارلىشىدۇ.", "Could not establish connection to the Collabora Online server." : "Collabora تور مۇلازىمېتىرىغا ئۇلىنىش قۇرالمىدى.", @@ -103,53 +107,37 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroot ، ئەگەر كۆپ بولسا ، Collabora نىڭ ئىشلىتىشى ئۈچۈن. ئەڭ ئاز چەكلىمىسى بار بىرىنى تەمىنلەڭ. مەسىلەن: ئەگەر بۇ مىسالنى ھەم تەۋرىنىشسىز ھەم تورمۇزلانمىغان تور بېكەتلەر زىيارەت قىلالىسا ، تەۋرىنىشتىن باشقا تورنى ئىشلىتىڭ. ئەگەر بۇ مىسالنى زىيارەت قىلىش ئۈچۈن پەقەت بىرلا تور بەت ئىشلىتىلسە ، بۇ تەڭشەكنى نەزەردىن ساقىت قىلالايسىز.", "Enable access for external apps" : "سىرتقى ئەپلەرنى زىيارەت قىلىڭ", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "WOPI ئاخىرقى نۇقتىلىرىنىڭ تەلىپىنى ئورۇنداشقا رۇخسەت قىلىنغان IPV4 ۋە IPV6 IP ئادرېس ۋە تارماق تور بېكەتلەرنىڭ تىزىملىكى. ئەگەر رۇخسەت تىزىملىكى ئېنىقلانمىغان بولسا ، بارلىق ساھىبجاماللارغا رۇخسەت قىلىنىدۇ. مەسىلەن: 10.0.0.20,10.0.4.0 / 24", - "Extra fonts" : "قوشۇمچە خەت نۇسخىسى", - "Upload extra font file" : "قوشۇمچە خەت ھۆججىتىنى يۈكلەڭ", "Upload a font file" : "خەت نۇسخىسىنى يۈكلەڭ", "Available fonts" : "ئىشلەتكىلى بولىدىغان خەت نۇسخىسى", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "كۆڭۈلدىكىدەك ھۆججەت ماسلىشىشچانلىقى ئۈچۈن كۆپ ئىشلىتىلىدىغان خەت نۇسخىسىنى ئورنىتىشىڭىزنى تەۋسىيە قىلىمىز. ئەگەر ئىشلەتكۈچىلىرىڭىز Microsoft Office بىلەن ھەمكارلىشىۋاتقان بولسا ، ئۇلارنىڭ خاس خەت نۇسخىسىنى قاچىلاش ھۆججەتلەردىن كېيىن ئېلىپ بېرىلسا بولىدۇ.", "Custom fonts documentation" : "خاس خەت نۇسخىسى", - "Secure view settings" : "بىخەتەر كۆرۈنۈش تەڭشەكلىرى", - "Secure view enables you to secure documents by embedding a watermark" : "بىخەتەر كۆرۈنۈش سۇ بەلگىسىنى قىستۇرۇش ئارقىلىق ھۆججەتلەرنى بىخەتەر قىلالايدۇ", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "بۇ تەڭشەك پەقەت Nextcloud ئىشخانىسىدا ئېچىلغان ماس كېلىدىغان ئىشخانا ھۆججەتلىرىگىلا ماس كېلىدۇ", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office ئىچىدىكى تۆۋەندىكى تاللاشلار چەكلىنىدۇ: كۆچۈرۈش ، چۈشۈرۈش ، چىقىرىش ، بېسىش", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "ھەمبەھىرلىنىش ياكى زىيارەت كونترول تەڭشىكى ئارقىلىق چەكلەنمىسە ، ھۆججەتلەرنى Nextcloud ئارقىلىق چۈشۈرگىلى بولىدۇ", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "ئەگەر WOPI تەڭشىكى توغرا تەڭشەلمىگەن بولسا ، ھۆججەتلەرنى يەنىلا WOPI تەلىپى ئارقىلىق چۈشۈرگىلى بولىدۇ", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "سۇ باسقان ھۆججەتلەرنىڭ ھۆججەتلەرنىڭ بىرىنچى بېتىنى ئاشكارىلىماسلىقى ئۈچۈن ئالدىن كۆرۈش توسۇلۇپ قالىدۇ", - "Enable watermarking" : "سۇ بەلگىسىنى قوزغىتىڭ", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "قوللايدىغان ئورۇن ئىگىلىرى: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "بەلگە قويۇلغان ھۆججەتلەردە سۇ بەلگىسىنى كۆرسەت", "Select tags to enforce watermarking" : "خەتكۈچنى تاللاش ئۈچۈن بەلگە تاللاڭ", - "Show watermark for users of groups" : "گۇرۇپپىلارنى ئىشلەتكۈچىلەر ئۈچۈن سۇ بەلگىسىنى كۆرسەت", - "Show watermark for all shares" : "بارلىق پايلارنىڭ سۇ بەلگىسىنى كۆرسەت", - "Show watermark for read only shares" : "پەقەت پاي ئوقۇشقا ئىشلىتىلىدىغان سۇ بەلگىسىنى كۆرسەت", - "Show watermark for shares without download permission" : "چۈشۈرۈش رۇخسىتىسىز پاي چېكىنىڭ سۇ بەلگىسىنى كۆرسىتىڭ", - "Show watermark for all link shares" : "بارلىق ئۇلىنىش ھەمبەھىرلىرىنىڭ سۇ بەلگىسىنى كۆرسەت", - "Show watermark for download hidden shares" : "يوشۇرۇن ھەمبەھىرلەرنى چۈشۈرۈش ئۈچۈن سۇ بەلگىسىنى كۆرسەت", - "Show watermark for read only link shares" : "پەقەت ئۇلىنىش ھەمبەھىرلىرىنى ئوقۇش ئۈچۈن سۇ بەلگىسىنى كۆرسەت", - "Show watermark on link shares with specific system tags" : "ئالاھىدە سىستېما بەلگىسى بىلەن ئۇلىنىش ھەمبەھىرلىرىدە سۇ بەلگىسىنى كۆرسىتىڭ", - "Contact {0} to get an own installation." : "قاچىلاش ئۈچۈن {0} Contact بىلەن ئالاقىلىشىڭ.", - "Failed to save settings" : "تەڭشەكلەرنى ساقلىيالمىدى", - "Font format not supported ({mime})" : "خەت نۇسخىسىنى قوللىمايدۇ ({mime})", "Save" : "ساقلا", "Remove" : "ئۆچۈرۈڭ", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "ھۆججەتكە ئۆتۈشتىن بۇرۇن ئىشلەتمەكچى بولغان مېھمان نامىنى كىرگۈزۈڭ. بىرنى تەمىنلىمىسىڭىز سۈكۈتتىكى ھالەتتە ئىشلىتىلىدۇ.", "Guest name" : "مېھمان ئىسمى", "Submit name" : "ئىسىم يوللاڭ", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "ھۆججەتكە ئۆتۈشتىن بۇرۇن ئىشلەتمەكچى بولغان مېھمان نامىنى كىرگۈزۈڭ. بىرنى تەمىنلىمىسىڭىز سۈكۈتتىكى ھالەتتە ئىشلىتىلىدۇ.", "Confirm" : "جەزملەشتۈرۈڭ", "Cancel" : "ۋاز كەچ", + "Save As" : "Save As", "Save as" : "ساقلاڭ", "Path to save" : "ساقلاش يولى", - "Save As" : "Save As", + "Select template" : "قېلىپنى تاللاڭ", + "File name" : "ھۆججەت ئىسمى", + "Create" : "قۇر", + "Failed to set Zotero API key" : "Zotero API ئاچقۇچىنى تەڭشەش مەغلۇب بولدى", "Link to your Zotero library" : "Zotero كۈتۈپخانىڭىزغا ئۇلاڭ", "Connect your Zotero account to make use of references within Office." : "Office دىكى پايدىلانمىلارنى ئىشلىتىش ئۈچۈن Zotero ھېساباتىڭىزنى ئۇلاڭ.", "You can generate an account key here:" : "بۇ يەردە ھېسابات ئاچالايسىز:", "Zotero account settings" : "Zotero ھېسابات تەڭشىكى", "Zotero API key" : "Zotero API ئاچقۇچى", "Submit" : "يوللاڭ", - "Failed to set Zotero API key" : "Zotero API ئاچقۇچىنى تەڭشەش مەغلۇب بولدى", - "Select a template directory" : "قېلىپ مۇندەرىجىسىنى تاللاڭ", "Select a personal template folder" : "شەخسىي قېلىپ ھۆججەت قىسقۇچىنى تاللاڭ", + "Select a template directory" : "قېلىپ مۇندەرىجىسىنى تاللاڭ", "Remove personal template folder" : "شەخسىي قېلىپ ھۆججەت قىسقۇچىنى ئۆچۈرۈڭ", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "بۇ مۇندەرىجە ئىچىدىكى قېلىپلار Nextcloud Office نىڭ قېلىپ تاللىغۇچقا قوشۇلىدۇ.", "Zotero" : "Zotero", @@ -169,22 +157,22 @@ OC.L10N.register( "No font overview" : "خەت نۇسخىسى يوق", "Delete this font" : "بۇ خەتنى ئۆچۈرۈڭ", "No results" : "ھېچقانداق نەتىجە يوق", + "Select file" : "ھۆججەتنى تاللاڭ", "Select file or folder to link to" : "ئۇلىنىدىغان ھۆججەت ياكى ھۆججەت قىسقۇچنى تاللاڭ", "Could not find any section in the document" : "ھۆججەتتىن ھېچقانداق بۆلەك تاپالمىدى", - "Select file" : "ھۆججەتنى تاللاڭ", + "{productName} is not configured" : "{productName} سەپلەنمىگەن", + "Starting the built-in CODE server failed" : "قاچىلانغان CODE مۇلازىمېتىرنى قوزغىتىش مەغلۇب بولدى", + "Loading {filename} …" : "يۈكلەش {filename} ئىسمى}…", + "Failed to load {productName} - please try again later" : "{productName} load نى يۈكلىيەلمىدى - كېيىن قايتا سىناڭ", + "Open in local editor" : "يەرلىك تەھرىرلىگۈچتە ئېچىڭ", + "Cluster is scaling …" : "Cluster is scale…", + "The collaborative editing was terminated by another user" : "ھەمكارلىشىپ تەھرىرلەش باشقا بىر ئىشلەتكۈچى تەرىپىدىن ئاخىرلاشتى", "Document loading failed" : "ھۆججەت يۈكلەش مەغلۇب بولدى", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "تېخىمۇ كۆپ تەپسىلاتلار ئۈچۈن Collabora Online مۇلازىمېتىر خاتىرىسىنى تەكشۈرۈپ ، Nextcloud نىڭ ئۇ يەردىن يېتىپ بارالايدىغانلىقىنى جەزملەشتۈرۈڭ.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "ئويلىمىغان يەردىن ئۇلىنىش ئۇلىنىشى. تەتۈر ۋاكالەتچى خاتا سەپلەنگەن بولۇشى مۇمكىن ، باشقۇرغۇچى بىلەن ئالاقىلىشىڭ.", "More information can be found in the reverse proxy documentation" : "تەتۈر ۋاكالەتچى ھۆججىتىدىن تېخىمۇ كۆپ ئۇچۇرلارنى تاپقىلى بولىدۇ", "Close" : "ياپ", "Edit" : "تەھرىر", - "Starting the built-in CODE server failed" : "قاچىلانغان CODE مۇلازىمېتىرنى قوزغىتىش مەغلۇب بولدى", - "Loading {filename} …" : "يۈكلەش {filename} ئىسمى}…", - "Open in local editor" : "يەرلىك تەھرىرلىگۈچتە ئېچىڭ", - "Cluster is scaling …" : "Cluster is scale…", - "The collaborative editing was terminated by another user" : "ھەمكارلىشىپ تەھرىرلەش باشقا بىر ئىشلەتكۈچى تەرىپىدىن ئاخىرلاشتى", - "Failed to load {productName} - please try again later" : "{productName} load نى يۈكلىيەلمىدى - كېيىن قايتا سىناڭ", - "{productName} is not configured" : "{productName} سەپلەنمىگەن", "Built-in CODE Server is starting up shortly, please wait." : "قاچىلانغان CODE مۇلازىمېتىرى پات ئارىدا قوزغىلىدۇ ، ساقلاپ تۇرۇڭ.", "Built-in CODE Server is restarting, please wait." : "قاچىلانغان CODE مۇلازىمېتىرى قايتا قوزغىتىلدى ، ساقلاپ تۇرۇڭ.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "خاتالىق: AppImage نى تاپالمىدى ، Collabora Online قاچىلانغان مۇلازىمېتىرنى قايتا قاچىلاڭ.", @@ -215,15 +203,23 @@ OC.L10N.register( "Follow current editor" : "ھازىرقى تەھرىرگە ئەگىشىڭ", "New file" : "يېڭى ھۆججەت", "Please enter the filename for the new file" : "يېڭى ھۆججەتنىڭ ھۆججەت نامىنى كىرگۈزۈڭ", - "Create" : "قۇر", - "New drawing" : "يېڭى رەسىم", "Could not create file" : "ھۆججەت قۇرالمىدى", - "Select template" : "قېلىپنى تاللاڭ", "Saved with error: Collabora Online should use the same protocol as the server installation." : "خاتالىق بىلەن ساقلاندى: Collabora Online مۇلازىمېتىر ئورنىتىش بىلەن ئوخشاش كېلىشىمنى ئىشلىتىشى كېرەك.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Collabora تور مۇلازىمېتىرىغا ئۇلىنىش قۇرالمىدى. بۇ بەلكىم تور مۇلازىمېتىرىڭىزنىڭ كەملىكىدىن بولۇشى مۇمكىن. تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن زىيارەت قىلىڭ: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office تەھرىرلەش ئىقتىدارى بىلەن تەمىنلەش ئۈچۈن Collabora Online نى ئىجرا قىلىدىغان ئالاھىدە مۇلازىمېتىرنى تەلەپ قىلىدۇ.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online تەھرىرلەش ئىقتىدارىنى تەمىنلەش ئۈچۈن WOPI غا ئوخشاش Client رولىنى ئوينايدىغان ئالاھىدە مۇلازىمېتىرنى تەلەپ قىلىدۇ.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "بارلىق ئىشلەتكۈچىلەر كۆڭۈلدىكى ئەھۋالدا {productName} with بىلەن ھۆججەتلەرنى تەھرىرلىيەلەيدۇ. بۇ تەڭشەك ئاكتىپ بولغاندا ، پەقەت كۆرسىتىلگەن گۇرۇپپىنىڭ ئەزالىرىلا تەھرىرلىيەلەيدۇ ، باشقىلار پەقەت ھۆججەتلەرنىلا كۆرەلەيدۇ.", + "Secure view settings" : "بىخەتەر كۆرۈنۈش تەڭشەكلىرى", + "Secure view enables you to secure documents by embedding a watermark" : "بىخەتەر كۆرۈنۈش سۇ بەلگىسىنى قىستۇرۇش ئارقىلىق ھۆججەتلەرنى بىخەتەر قىلالايدۇ", + "Enable watermarking" : "سۇ بەلگىسىنى قوزغىتىڭ", + "Show watermark on tagged files" : "بەلگە قويۇلغان ھۆججەتلەردە سۇ بەلگىسىنى كۆرسەت", + "Show watermark for users of groups" : "گۇرۇپپىلارنى ئىشلەتكۈچىلەر ئۈچۈن سۇ بەلگىسىنى كۆرسەت", + "Show watermark for all shares" : "بارلىق پايلارنىڭ سۇ بەلگىسىنى كۆرسەت", + "Show watermark for read only shares" : "پەقەت پاي ئوقۇشقا ئىشلىتىلىدىغان سۇ بەلگىسىنى كۆرسەت", + "Show watermark for all link shares" : "بارلىق ئۇلىنىش ھەمبەھىرلىرىنىڭ سۇ بەلگىسىنى كۆرسەت", + "Show watermark for download hidden shares" : "يوشۇرۇن ھەمبەھىرلەرنى چۈشۈرۈش ئۈچۈن سۇ بەلگىسىنى كۆرسەت", + "Show watermark for read only link shares" : "پەقەت ئۇلىنىش ھەمبەھىرلىرىنى ئوقۇش ئۈچۈن سۇ بەلگىسىنى كۆرسەت", + "Show watermark on link shares with specific system tags" : "ئالاھىدە سىستېما بەلگىسى بىلەن ئۇلىنىش ھەمبەھىرلىرىدە سۇ بەلگىسىنى كۆرسىتىڭ", "Error" : "خاتالىق", "An error occurred" : "خاتالىق كۆرۈلدى", "Please choose your nickname to continue as guest user." : "مېھمان ئىشلەتكۈچى سۈپىتىدە داۋاملاشتۇرۇش ئۈچۈن لەقىمىڭىزنى تاللاڭ.", @@ -244,6 +240,10 @@ OC.L10N.register( "No templates defined." : "قېلىپلار ئېنىقلانمىدى.", "Add a new one?" : "يېڭىنى قوشامسىز؟", "template preview" : "قېلىپنى ئالدىن كۆرۈش", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "ھەمبەھىرلىنىش ياكى زىيارەت كونترول تەڭشىكى ئارقىلىق چەكلەنمىسە ، ھۆججەتلەرنى Nextcloud ئارقىلىق چۈشۈرگىلى بولىدۇ", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "سۇ باسقان ھۆججەتلەرنىڭ ھۆججەتلەرنىڭ بىرىنچى بېتىنى ئاشكارىلىماسلىقى ئۈچۈن ئالدىن كۆرۈش توسۇلۇپ قالىدۇ", + "Show watermark for shares without download permission" : "چۈشۈرۈش رۇخسىتىسىز پاي چېكىنىڭ سۇ بەلگىسىنى كۆرسىتىڭ", + "New drawing" : "يېڭى رەسىم", "Collabora Online" : "Collabora Online", "Document already exists" : "ھۆججەت ئاللىقاچان مەۋجۇت", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "كۆڭۈلدىكى ئەھۋالدا بارلىق ئىشلەتكۈچىلەر ئۈچۈن Collabora Online قوزغىتىلغان. بۇ تەڭشەك ئاكتىپ بولغاندا ، پەقەت كۆرسىتىلگەن گۇرۇپپىنىڭ ئەزالىرىلا ئىشلىتەلەيدۇ.", diff --git a/l10n/ug.json b/l10n/ug.json index 0ada990532..68b2dea322 100644 --- a/l10n/ug.json +++ b/l10n/ug.json @@ -38,12 +38,16 @@ "Sheets" : "Sheets", "Slides" : "تام تەسۋىر", "Office" : "Office", + "Instructions" : "كۆرسەتمە", "Empty" : "قۇرۇق", "Anonymous guest" : "نامسىز مېھمان", "%s (Guest)" : "% s (مېھمان)", "Edit office documents directly in your browser." : "ئىشخانا ھۆججەتلىرىنى تور كۆرگۈچىڭىزدە بىۋاسىتە تەھرىرلەڭ.", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "بۇ پروگرامما Collabora Online (ياكى باشقا) مۇلازىمېتىرغا (WOPI غا ئوخشاش خېرىدار) ئۇلىنالايدۇ. Nextcloud بولسا WOPI رىياسەتچىسى. بۇ توغرىلىق تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن ھۆججەتلەرنى ئوقۇڭ.\n\nسىز ** [ئاندىرويىد] (https://play.google.com/store/apps/details?id=com.collabora.libreoffice) ** ۋە * دىن Collabora Office دېتالى بىلەن ھۆججەتلىرىڭىزنى تور سىرتىدا تەھرىرلىيەلەيسىز. * [iOS] (https://apps.apple.com/us/app/collabora-office/id1440482071) ** دۇكىنى.", "New" : "يېڭى", + "Contact {0} to get an own installation." : "قاچىلاش ئۈچۈن {0} Contact بىلەن ئالاقىلىشىڭ.", + "Failed to save settings" : "تەڭشەكلەرنى ساقلىيالمىدى", + "Font format not supported ({mime})" : "خەت نۇسخىسىنى قوللىمايدۇ ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office ھەمكارلىشىپ تەھرىرلەيدىغان كۈچلۈك Collabora Online نى ئاساس قىلغان تور ئىشخانا يۈرۈشلۈك دېتالى بولۇپ ، ئۇ بارلىق ئاساسلىق ھۆججەتلەر ، ئېلېكترونلۇق جەدۋەل ۋە تونۇشتۇرۇش ھۆججەت فورماتىنى قوللايدۇ ھەمدە بارلىق زامانىۋى توركۆرگۈچلەر بىلەن ھەمكارلىشىدۇ.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online بىرلىشىپ تەھرىرلەيدىغان كۈچلۈك LibreOffice نى ئاساس قىلغان تور ئىشخانا يۈرۈشلۈك دېتالى بولۇپ ، ئۇ بارلىق ئاساسلىق ھۆججەتلەر ، ئېلېكترونلۇق جەدۋەل ۋە تونۇشتۇرۇش ھۆججەت فورماتىنى قوللايدۇ ھەمدە بارلىق زامانىۋى توركۆرگۈچلەر بىلەن ھەمكارلىشىدۇ.", "Could not establish connection to the Collabora Online server." : "Collabora تور مۇلازىمېتىرىغا ئۇلىنىش قۇرالمىدى.", @@ -101,53 +105,37 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Canonical webroot ، ئەگەر كۆپ بولسا ، Collabora نىڭ ئىشلىتىشى ئۈچۈن. ئەڭ ئاز چەكلىمىسى بار بىرىنى تەمىنلەڭ. مەسىلەن: ئەگەر بۇ مىسالنى ھەم تەۋرىنىشسىز ھەم تورمۇزلانمىغان تور بېكەتلەر زىيارەت قىلالىسا ، تەۋرىنىشتىن باشقا تورنى ئىشلىتىڭ. ئەگەر بۇ مىسالنى زىيارەت قىلىش ئۈچۈن پەقەت بىرلا تور بەت ئىشلىتىلسە ، بۇ تەڭشەكنى نەزەردىن ساقىت قىلالايسىز.", "Enable access for external apps" : "سىرتقى ئەپلەرنى زىيارەت قىلىڭ", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "WOPI ئاخىرقى نۇقتىلىرىنىڭ تەلىپىنى ئورۇنداشقا رۇخسەت قىلىنغان IPV4 ۋە IPV6 IP ئادرېس ۋە تارماق تور بېكەتلەرنىڭ تىزىملىكى. ئەگەر رۇخسەت تىزىملىكى ئېنىقلانمىغان بولسا ، بارلىق ساھىبجاماللارغا رۇخسەت قىلىنىدۇ. مەسىلەن: 10.0.0.20,10.0.4.0 / 24", - "Extra fonts" : "قوشۇمچە خەت نۇسخىسى", - "Upload extra font file" : "قوشۇمچە خەت ھۆججىتىنى يۈكلەڭ", "Upload a font file" : "خەت نۇسخىسىنى يۈكلەڭ", "Available fonts" : "ئىشلەتكىلى بولىدىغان خەت نۇسخىسى", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "كۆڭۈلدىكىدەك ھۆججەت ماسلىشىشچانلىقى ئۈچۈن كۆپ ئىشلىتىلىدىغان خەت نۇسخىسىنى ئورنىتىشىڭىزنى تەۋسىيە قىلىمىز. ئەگەر ئىشلەتكۈچىلىرىڭىز Microsoft Office بىلەن ھەمكارلىشىۋاتقان بولسا ، ئۇلارنىڭ خاس خەت نۇسخىسىنى قاچىلاش ھۆججەتلەردىن كېيىن ئېلىپ بېرىلسا بولىدۇ.", "Custom fonts documentation" : "خاس خەت نۇسخىسى", - "Secure view settings" : "بىخەتەر كۆرۈنۈش تەڭشەكلىرى", - "Secure view enables you to secure documents by embedding a watermark" : "بىخەتەر كۆرۈنۈش سۇ بەلگىسىنى قىستۇرۇش ئارقىلىق ھۆججەتلەرنى بىخەتەر قىلالايدۇ", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "بۇ تەڭشەك پەقەت Nextcloud ئىشخانىسىدا ئېچىلغان ماس كېلىدىغان ئىشخانا ھۆججەتلىرىگىلا ماس كېلىدۇ", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office ئىچىدىكى تۆۋەندىكى تاللاشلار چەكلىنىدۇ: كۆچۈرۈش ، چۈشۈرۈش ، چىقىرىش ، بېسىش", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "ھەمبەھىرلىنىش ياكى زىيارەت كونترول تەڭشىكى ئارقىلىق چەكلەنمىسە ، ھۆججەتلەرنى Nextcloud ئارقىلىق چۈشۈرگىلى بولىدۇ", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "ئەگەر WOPI تەڭشىكى توغرا تەڭشەلمىگەن بولسا ، ھۆججەتلەرنى يەنىلا WOPI تەلىپى ئارقىلىق چۈشۈرگىلى بولىدۇ", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "سۇ باسقان ھۆججەتلەرنىڭ ھۆججەتلەرنىڭ بىرىنچى بېتىنى ئاشكارىلىماسلىقى ئۈچۈن ئالدىن كۆرۈش توسۇلۇپ قالىدۇ", - "Enable watermarking" : "سۇ بەلگىسىنى قوزغىتىڭ", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "قوللايدىغان ئورۇن ئىگىلىرى: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "بەلگە قويۇلغان ھۆججەتلەردە سۇ بەلگىسىنى كۆرسەت", "Select tags to enforce watermarking" : "خەتكۈچنى تاللاش ئۈچۈن بەلگە تاللاڭ", - "Show watermark for users of groups" : "گۇرۇپپىلارنى ئىشلەتكۈچىلەر ئۈچۈن سۇ بەلگىسىنى كۆرسەت", - "Show watermark for all shares" : "بارلىق پايلارنىڭ سۇ بەلگىسىنى كۆرسەت", - "Show watermark for read only shares" : "پەقەت پاي ئوقۇشقا ئىشلىتىلىدىغان سۇ بەلگىسىنى كۆرسەت", - "Show watermark for shares without download permission" : "چۈشۈرۈش رۇخسىتىسىز پاي چېكىنىڭ سۇ بەلگىسىنى كۆرسىتىڭ", - "Show watermark for all link shares" : "بارلىق ئۇلىنىش ھەمبەھىرلىرىنىڭ سۇ بەلگىسىنى كۆرسەت", - "Show watermark for download hidden shares" : "يوشۇرۇن ھەمبەھىرلەرنى چۈشۈرۈش ئۈچۈن سۇ بەلگىسىنى كۆرسەت", - "Show watermark for read only link shares" : "پەقەت ئۇلىنىش ھەمبەھىرلىرىنى ئوقۇش ئۈچۈن سۇ بەلگىسىنى كۆرسەت", - "Show watermark on link shares with specific system tags" : "ئالاھىدە سىستېما بەلگىسى بىلەن ئۇلىنىش ھەمبەھىرلىرىدە سۇ بەلگىسىنى كۆرسىتىڭ", - "Contact {0} to get an own installation." : "قاچىلاش ئۈچۈن {0} Contact بىلەن ئالاقىلىشىڭ.", - "Failed to save settings" : "تەڭشەكلەرنى ساقلىيالمىدى", - "Font format not supported ({mime})" : "خەت نۇسخىسىنى قوللىمايدۇ ({mime})", "Save" : "ساقلا", "Remove" : "ئۆچۈرۈڭ", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "ھۆججەتكە ئۆتۈشتىن بۇرۇن ئىشلەتمەكچى بولغان مېھمان نامىنى كىرگۈزۈڭ. بىرنى تەمىنلىمىسىڭىز سۈكۈتتىكى ھالەتتە ئىشلىتىلىدۇ.", "Guest name" : "مېھمان ئىسمى", "Submit name" : "ئىسىم يوللاڭ", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "ھۆججەتكە ئۆتۈشتىن بۇرۇن ئىشلەتمەكچى بولغان مېھمان نامىنى كىرگۈزۈڭ. بىرنى تەمىنلىمىسىڭىز سۈكۈتتىكى ھالەتتە ئىشلىتىلىدۇ.", "Confirm" : "جەزملەشتۈرۈڭ", "Cancel" : "ۋاز كەچ", + "Save As" : "Save As", "Save as" : "ساقلاڭ", "Path to save" : "ساقلاش يولى", - "Save As" : "Save As", + "Select template" : "قېلىپنى تاللاڭ", + "File name" : "ھۆججەت ئىسمى", + "Create" : "قۇر", + "Failed to set Zotero API key" : "Zotero API ئاچقۇچىنى تەڭشەش مەغلۇب بولدى", "Link to your Zotero library" : "Zotero كۈتۈپخانىڭىزغا ئۇلاڭ", "Connect your Zotero account to make use of references within Office." : "Office دىكى پايدىلانمىلارنى ئىشلىتىش ئۈچۈن Zotero ھېساباتىڭىزنى ئۇلاڭ.", "You can generate an account key here:" : "بۇ يەردە ھېسابات ئاچالايسىز:", "Zotero account settings" : "Zotero ھېسابات تەڭشىكى", "Zotero API key" : "Zotero API ئاچقۇچى", "Submit" : "يوللاڭ", - "Failed to set Zotero API key" : "Zotero API ئاچقۇچىنى تەڭشەش مەغلۇب بولدى", - "Select a template directory" : "قېلىپ مۇندەرىجىسىنى تاللاڭ", "Select a personal template folder" : "شەخسىي قېلىپ ھۆججەت قىسقۇچىنى تاللاڭ", + "Select a template directory" : "قېلىپ مۇندەرىجىسىنى تاللاڭ", "Remove personal template folder" : "شەخسىي قېلىپ ھۆججەت قىسقۇچىنى ئۆچۈرۈڭ", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "بۇ مۇندەرىجە ئىچىدىكى قېلىپلار Nextcloud Office نىڭ قېلىپ تاللىغۇچقا قوشۇلىدۇ.", "Zotero" : "Zotero", @@ -167,22 +155,22 @@ "No font overview" : "خەت نۇسخىسى يوق", "Delete this font" : "بۇ خەتنى ئۆچۈرۈڭ", "No results" : "ھېچقانداق نەتىجە يوق", + "Select file" : "ھۆججەتنى تاللاڭ", "Select file or folder to link to" : "ئۇلىنىدىغان ھۆججەت ياكى ھۆججەت قىسقۇچنى تاللاڭ", "Could not find any section in the document" : "ھۆججەتتىن ھېچقانداق بۆلەك تاپالمىدى", - "Select file" : "ھۆججەتنى تاللاڭ", + "{productName} is not configured" : "{productName} سەپلەنمىگەن", + "Starting the built-in CODE server failed" : "قاچىلانغان CODE مۇلازىمېتىرنى قوزغىتىش مەغلۇب بولدى", + "Loading {filename} …" : "يۈكلەش {filename} ئىسمى}…", + "Failed to load {productName} - please try again later" : "{productName} load نى يۈكلىيەلمىدى - كېيىن قايتا سىناڭ", + "Open in local editor" : "يەرلىك تەھرىرلىگۈچتە ئېچىڭ", + "Cluster is scaling …" : "Cluster is scale…", + "The collaborative editing was terminated by another user" : "ھەمكارلىشىپ تەھرىرلەش باشقا بىر ئىشلەتكۈچى تەرىپىدىن ئاخىرلاشتى", "Document loading failed" : "ھۆججەت يۈكلەش مەغلۇب بولدى", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "تېخىمۇ كۆپ تەپسىلاتلار ئۈچۈن Collabora Online مۇلازىمېتىر خاتىرىسىنى تەكشۈرۈپ ، Nextcloud نىڭ ئۇ يەردىن يېتىپ بارالايدىغانلىقىنى جەزملەشتۈرۈڭ.", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "ئويلىمىغان يەردىن ئۇلىنىش ئۇلىنىشى. تەتۈر ۋاكالەتچى خاتا سەپلەنگەن بولۇشى مۇمكىن ، باشقۇرغۇچى بىلەن ئالاقىلىشىڭ.", "More information can be found in the reverse proxy documentation" : "تەتۈر ۋاكالەتچى ھۆججىتىدىن تېخىمۇ كۆپ ئۇچۇرلارنى تاپقىلى بولىدۇ", "Close" : "ياپ", "Edit" : "تەھرىر", - "Starting the built-in CODE server failed" : "قاچىلانغان CODE مۇلازىمېتىرنى قوزغىتىش مەغلۇب بولدى", - "Loading {filename} …" : "يۈكلەش {filename} ئىسمى}…", - "Open in local editor" : "يەرلىك تەھرىرلىگۈچتە ئېچىڭ", - "Cluster is scaling …" : "Cluster is scale…", - "The collaborative editing was terminated by another user" : "ھەمكارلىشىپ تەھرىرلەش باشقا بىر ئىشلەتكۈچى تەرىپىدىن ئاخىرلاشتى", - "Failed to load {productName} - please try again later" : "{productName} load نى يۈكلىيەلمىدى - كېيىن قايتا سىناڭ", - "{productName} is not configured" : "{productName} سەپلەنمىگەن", "Built-in CODE Server is starting up shortly, please wait." : "قاچىلانغان CODE مۇلازىمېتىرى پات ئارىدا قوزغىلىدۇ ، ساقلاپ تۇرۇڭ.", "Built-in CODE Server is restarting, please wait." : "قاچىلانغان CODE مۇلازىمېتىرى قايتا قوزغىتىلدى ، ساقلاپ تۇرۇڭ.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "خاتالىق: AppImage نى تاپالمىدى ، Collabora Online قاچىلانغان مۇلازىمېتىرنى قايتا قاچىلاڭ.", @@ -213,15 +201,23 @@ "Follow current editor" : "ھازىرقى تەھرىرگە ئەگىشىڭ", "New file" : "يېڭى ھۆججەت", "Please enter the filename for the new file" : "يېڭى ھۆججەتنىڭ ھۆججەت نامىنى كىرگۈزۈڭ", - "Create" : "قۇر", - "New drawing" : "يېڭى رەسىم", "Could not create file" : "ھۆججەت قۇرالمىدى", - "Select template" : "قېلىپنى تاللاڭ", "Saved with error: Collabora Online should use the same protocol as the server installation." : "خاتالىق بىلەن ساقلاندى: Collabora Online مۇلازىمېتىر ئورنىتىش بىلەن ئوخشاش كېلىشىمنى ئىشلىتىشى كېرەك.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Collabora تور مۇلازىمېتىرىغا ئۇلىنىش قۇرالمىدى. بۇ بەلكىم تور مۇلازىمېتىرىڭىزنىڭ كەملىكىدىن بولۇشى مۇمكىن. تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن زىيارەت قىلىڭ: ", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office تەھرىرلەش ئىقتىدارى بىلەن تەمىنلەش ئۈچۈن Collabora Online نى ئىجرا قىلىدىغان ئالاھىدە مۇلازىمېتىرنى تەلەپ قىلىدۇ.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online تەھرىرلەش ئىقتىدارىنى تەمىنلەش ئۈچۈن WOPI غا ئوخشاش Client رولىنى ئوينايدىغان ئالاھىدە مۇلازىمېتىرنى تەلەپ قىلىدۇ.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "بارلىق ئىشلەتكۈچىلەر كۆڭۈلدىكى ئەھۋالدا {productName} with بىلەن ھۆججەتلەرنى تەھرىرلىيەلەيدۇ. بۇ تەڭشەك ئاكتىپ بولغاندا ، پەقەت كۆرسىتىلگەن گۇرۇپپىنىڭ ئەزالىرىلا تەھرىرلىيەلەيدۇ ، باشقىلار پەقەت ھۆججەتلەرنىلا كۆرەلەيدۇ.", + "Secure view settings" : "بىخەتەر كۆرۈنۈش تەڭشەكلىرى", + "Secure view enables you to secure documents by embedding a watermark" : "بىخەتەر كۆرۈنۈش سۇ بەلگىسىنى قىستۇرۇش ئارقىلىق ھۆججەتلەرنى بىخەتەر قىلالايدۇ", + "Enable watermarking" : "سۇ بەلگىسىنى قوزغىتىڭ", + "Show watermark on tagged files" : "بەلگە قويۇلغان ھۆججەتلەردە سۇ بەلگىسىنى كۆرسەت", + "Show watermark for users of groups" : "گۇرۇپپىلارنى ئىشلەتكۈچىلەر ئۈچۈن سۇ بەلگىسىنى كۆرسەت", + "Show watermark for all shares" : "بارلىق پايلارنىڭ سۇ بەلگىسىنى كۆرسەت", + "Show watermark for read only shares" : "پەقەت پاي ئوقۇشقا ئىشلىتىلىدىغان سۇ بەلگىسىنى كۆرسەت", + "Show watermark for all link shares" : "بارلىق ئۇلىنىش ھەمبەھىرلىرىنىڭ سۇ بەلگىسىنى كۆرسەت", + "Show watermark for download hidden shares" : "يوشۇرۇن ھەمبەھىرلەرنى چۈشۈرۈش ئۈچۈن سۇ بەلگىسىنى كۆرسەت", + "Show watermark for read only link shares" : "پەقەت ئۇلىنىش ھەمبەھىرلىرىنى ئوقۇش ئۈچۈن سۇ بەلگىسىنى كۆرسەت", + "Show watermark on link shares with specific system tags" : "ئالاھىدە سىستېما بەلگىسى بىلەن ئۇلىنىش ھەمبەھىرلىرىدە سۇ بەلگىسىنى كۆرسىتىڭ", "Error" : "خاتالىق", "An error occurred" : "خاتالىق كۆرۈلدى", "Please choose your nickname to continue as guest user." : "مېھمان ئىشلەتكۈچى سۈپىتىدە داۋاملاشتۇرۇش ئۈچۈن لەقىمىڭىزنى تاللاڭ.", @@ -242,6 +238,10 @@ "No templates defined." : "قېلىپلار ئېنىقلانمىدى.", "Add a new one?" : "يېڭىنى قوشامسىز؟", "template preview" : "قېلىپنى ئالدىن كۆرۈش", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "ھەمبەھىرلىنىش ياكى زىيارەت كونترول تەڭشىكى ئارقىلىق چەكلەنمىسە ، ھۆججەتلەرنى Nextcloud ئارقىلىق چۈشۈرگىلى بولىدۇ", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "سۇ باسقان ھۆججەتلەرنىڭ ھۆججەتلەرنىڭ بىرىنچى بېتىنى ئاشكارىلىماسلىقى ئۈچۈن ئالدىن كۆرۈش توسۇلۇپ قالىدۇ", + "Show watermark for shares without download permission" : "چۈشۈرۈش رۇخسىتىسىز پاي چېكىنىڭ سۇ بەلگىسىنى كۆرسىتىڭ", + "New drawing" : "يېڭى رەسىم", "Collabora Online" : "Collabora Online", "Document already exists" : "ھۆججەت ئاللىقاچان مەۋجۇت", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "كۆڭۈلدىكى ئەھۋالدا بارلىق ئىشلەتكۈچىلەر ئۈچۈن Collabora Online قوزغىتىلغان. بۇ تەڭشەك ئاكتىپ بولغاندا ، پەقەت كۆرسىتىلگەن گۇرۇپپىنىڭ ئەزالىرىلا ئىشلىتەلەيدۇ.", diff --git a/l10n/uk.js b/l10n/uk.js index e0c61cc29d..0ca8dcdadb 100644 --- a/l10n/uk.js +++ b/l10n/uk.js @@ -1,6 +1,7 @@ OC.L10N.register( "richdocuments", { + "No files found for this task." : "Для цього завдання не знайдено файлів.", "Cannot create document" : "Неможливо створити документ", "New Document.odt" : "Новий документ.odt", "New Spreadsheet.ods" : "Нова таблиця.ods", @@ -27,10 +28,24 @@ OC.L10N.register( "Only template files can be uploaded" : "Можна завантажити лише шаблони файлів", "Invalid file provided" : "Надано невірний файл", "Template not found" : "Шаблон не знайдено", + "Unable to determine the proper file extension for %1$s" : "Не вдалося визначити потрібне розширення файлу для %1$s", + "Unable to fetch information on %1$s" : "Не вдалося отримати інформацію для %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Зображення (.png)", + "Image (.svg)" : "Зображення (.svg)", + "Text (.rtf)" : "Текст (.rtf)", + "Text (.txt)" : "Текст (.txt)", + "Word Document (.docx)" : "Документ Word (.docx)", + "OpenDocument Text (.odt)" : "Текст OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Робоча книга Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Таблиця OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Презентація PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Презентація OpenDocument (.odp)", "New document" : "Новий документ", "New spreadsheet" : "Нова електронна таблиця", "New presentation" : "Нова презентація", "New diagram" : "Нова діаграма", + "{user} has mentioned you in {node}" : "{user} згадав вас у {node}", "Link to office document section" : "Прив'язати до розділу офісного документу", "Nextcloud Office" : "Nextcloud Office", "Headings" : "Заголовок", @@ -39,19 +54,55 @@ OC.L10N.register( "Sheets" : "Аркуші", "Slides" : "Слайди", "Office" : "Офіс", + "Nextcloud Assistant Slide Deck Generator" : "Генератор слайдів Nextcloud Assistant", + "Generate Slide Deck" : "Створіть набір слайдів", + "Generate a slide deck from a presentation script" : "Створити набір слайдів на основі сценарію презентації", + "Presentation script" : "Сценарій презентації", + "Write the text for your presentation here" : "Напишіть текст для презентації тут", + "Generated slide deck" : "Згенерована слайд-панель", + "The slide deck generated" : "Згенерована слайд-дека", + "Nextcloud Office text document generator" : "Ґенератор текстових документів Офісу для Nextcloud", + "Document format" : "Формат документу", + "The format of the generated document" : "Формат зґенерованого документу", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Портативний формат документа (pdf)", + "Generate Office text document" : "Зґенерувати офісний текстовий документ", + "Generate an Office text document from a prompt" : "Зґенерувати офісний текстовий документ із запиту", + "Instructions" : "Інструкції", + "Describe the document you want the assistant to generate" : "Опишіть документ, який потрібно зґенерувати асистенту", + "Generated Office document" : "Зґенерувати офісний документ", + "The Office document that was generated from the description" : "Офісний документ, який було зґенеровано на основі опису", + "Nextcloud Office spreadsheet generator" : "Ґенератор таблиць Офісу для Nextcloud", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Зґенерувати офісний табличний документ", + "Generate an Office spreadsheet document from a prompt" : "Зґенерувати офісну табличний документ із запиту", "Empty" : "Порожньо", "Anonymous guest" : "Анонімний гість", "%s (Guest)" : "%s (гість)", "Edit office documents directly in your browser." : "Редагуйте офісні документу прямо у вашому браузері", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Цей застосунок може підключатися до сервера Collabora Online (або іншого) (клієнт, подібний до WOPI). Nextcloud є хостом WOPI. Прочитайте документацію, щоб дізнатися більше про це. \n\nВи також можете редагувати документи, коли перебуваєте в офлайні, за допомогою програми Collabora Office із **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** і * *[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** каталогу.", + "Accepted file types: {accepts}" : "Прийнятні типи файлів: {accepts}", + "Uploaded template \"{name}\"" : "Завантажено шаблон \"{name}\"", + "Template \"{name}\" already exists" : "Шаблон \"{name}\" вже присутній", + "Unable to delete template" : "Не вдалося вилучити шаблон", + "Deleted template" : "Вилучено шаблон", + "Global Templates" : "Загальні шаблони", "New" : "Створити", + "Contact {0} to get an own installation." : "Зверніться до {0}, щоб отримати власну установку.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Обов'язково встановіть цей URL: {url} у файлі coolwsd.xml вашого сервера Collabora Online, щоби пересвідчитися, що додані шифти автоматично завантажуються. Зауважте, що http:// працюватиме тільки у збірках Collabora Online для зневадження. У виробничому середовищі ви маєте використовувати https:// для віддаленого налаштування шрифтів.", + "Failed to save settings" : "Неможливо зберегти налаштування", + "Font format not supported ({mime})" : "Формат шрифту не підтримується ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office — це потужний офісний онлайн-пакет на базі Collabora Online зі спільним редагуванням, який підтримує всі основні формати документів, електронних таблиць і файлів презентацій і працює разом з усіма сучасними браузерами.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online — це потужний офісний онлайн-пакет на основі LibreOffice із спільним редагуванням, який підтримує всі основні формати документів, електронних таблиць і файлів презентацій і працює разом з усіма сучасними браузерами.", "Could not establish connection to the Collabora Online server." : "Не вдалося встановити з’єднання із сервером Collabora Online.", + "This might be due to a missing configuration of your web server. For more information, please visit: " : "Це могло статися через відсутні належні налаштування вашого вебсервера. Для докладної інформації перегляньте:", "Connecting Collabora Online Single Click with Nginx" : "Підключення Collabora Online Single Click до Nginx", "Setting up a new server" : "Налаштування нового сервера", "Collabora Online should use the same protocol as the server installation." : "Collabora Online має використовувати той самий протокол, що й інсталяція сервера.", "Your browser has been unable to connect to the Collabora server:" : "Ваш бравзер не зміг з'єднатися із сервером Collabora:", + "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Цей URL визначено у налаштуваннях серверу Collabora, чи з налаштувань URL або в параметрі server_name у файлі налаштувань coolwsd.xml.", "Collabora Online server is reachable." : "Сервер Collabora Online доступний.", "URL used by the browser:" : "URL, який було використано бравзером:", "Nextcloud URL used by Collabora:" : "URL Nextcloud для Collabora:", @@ -63,6 +114,7 @@ OC.L10N.register( "Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities." : "Для роботи Collabora Online потрібен окремий сервер, який би діяв як WOPI-подібний клієнт, щоб забезпечити можливості редагування.", "URL (and Port) of Collabora Online-server" : "URL-адреса (і порт) онлайн-сервера Collabora", "Disable certificate verification (insecure)" : "Вимкнути перевірку сертифіката (небезпечно)", + "Enable if your Collabora Online server uses a self signed certificate" : "Увімкніть, якщо ваш сервер Collabora Online використову самопідписний сертифікат", "Use the built-in CODE - Collabora Online Development Edition" : "Використовуйте вбудований КОД - Collabora Online Development Edition", "Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Легко встановити, для домашнього використання або невеликих груп. Трохи повільніше, ніж окремий сервер, і без розширених функцій масштабування.", "This installation does not have a built in server." : "Ця установка не має вбудованого сервера.", @@ -99,72 +151,101 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Канонічний веб-корінь, якщо їх декілька, для використання Collabora. Забезпечте те, що має найменші обмеження. Наприклад: використовуйте нешибболізований веб-корінь, якщо до цього сервера звертаються як шибболізовані, так і нешибболізовані веб-корені. Ви можете ігнорувати цей параметр, якщо для доступу до цього сервера використовується лише один веб-корінь.", "Enable access for external apps" : "Увімкніть доступ для зовнішніх застосунків", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Список IP-адрес і підмереж IPV4 і IPV6, яким дозволено виконувати запити кінцевих точок WOPI. Якщо список дозволених не вказано, усі хости будуть дозволені. наприклад 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Додаткові шрифти", - "Upload extra font file" : "Завантажте додатковий файл шрифту", + "Custom Fonts" : "Власні шрифти", + "Upload font file" : "Завантажити файл шрифту", "Upload a font file" : "Завантажте файл шрифту", "Available fonts" : "Доступні шрифти", - "Secure view settings" : "Налаштування безпечного перегляду", - "Secure view enables you to secure documents by embedding a watermark" : "Безпечний перегляд дає змогу захистити документи, вставивши водяний знак", + "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Для кращого сумісництва документів рекомендується встановити шрифти, які загально використовуються. Якщо ваші користувачі працюють у Microsoft Office, перегляньте документацію зі встановлення пропрієтарних шрифтів.", + "Custom fonts documentation" : "Документація з власних шрифтів", + "Secure View" : "Безпечний вигляд", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Безпечний перегляд дозволяє захистити офісні документи, блокуючи завантаження, попередній перегляд та відображаючи водяний знак.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ці налаштування стосуються лише сумісних офісних файлів, які відкрито у Nextcloud Office", + "Downloading the file through WebDAV will be blocked" : "Завантаження файлу через WebDAV буде заблоковано", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Такі функції буде вимкнено у Nextcloud Office: копіюванння, звантаження, експорт, друк", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файли все одно можна буде звантажити через Nextcloud, якщо не налаштовано обмеження у спільному доступі або налаштуваннях доступу.", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Файли все одно можна буде звантажити через запити WOPI, якщо відповідні налаштування не здійснено належним чином.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Для файлів, що містять водяні знаки, попередній перегляд буде вимкнено, щоби не показувати першу сторінку документів.", - "Enable watermarking" : "Увімкнути водяний знак", + "Previews will be blocked" : "Попередній перегляд буде заблоковано", + "Enable secure view" : "Увімкнути безпечний перегляд", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Підтримувані шаблони заміни: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Показувати водяний знак на файлах із мітками", + "Enforce secure view on tagged files" : "Увімкніть безпечний перегляд файлів з тегами", "Select tags to enforce watermarking" : "Виберіть мітки для застосування водяних знаків", - "Show watermark for users of groups" : "Показувати водяний знак для користувачів груп", - "Show watermark for all shares" : "Показувати водяний знак для всіх спільних ресурсів", - "Show watermark for read only shares" : "Показувати водяний знак для спільного доступу лише для читання", - "Show watermark for shares without download permission" : "Показувати водяний знак для файлів у спільному доступі, які не мають права на звантаження", - "Show watermark for all link shares" : "Показувати водяний знак для всіх посилань спільного доступу", - "Show watermark for download hidden shares" : "Показувати водяний знак для прихованих спільних скачувань", - "Show watermark for read only link shares" : "Показувати водяний знак для посилань спільного доступу, які є лише для читання", - "Show watermark on link shares with specific system tags" : "Показувати водяний знак на спільних посиланнях із певними системними мітками", - "Contact {0} to get an own installation." : "Зверніться до {0}, щоб отримати власну установку.", - "Failed to save settings" : "Неможливо зберегти налаштування", - "Font format not supported ({mime})" : "Формат шрифту не підтримується ({mime})", + "Enforce secure view for users of groups" : "Забезпечити безпечний перегляд для користувачів груп", + "Enforce secure view for all shares" : "Увімкніть безпечний перегляд для всіх спільних файлів", + "Enforce secure view for read only shares" : "Увімкніть безпечний перегляд для дописів \"тільки для читання\"", + "Enforce secure view for all public Talk shares" : "Ввімкніть безпечний перегляд для всіх публічних дописів у Talk", + "Enforce secure view for shares without download permission" : "Забезпечити безпечний перегляд для спільних ресурсів без дозволу на завантаження", + "Enforce secure view for all link shares" : "Ввімкніть безпечний перегляд для всіх спільних ресурсів посилань", + "Enforce secure view for download hidden shares" : "Увімкніть безпечний перегляд для завантаження прихованих ресурсів", + "Enforce secure view for read only link shares" : "Ввімкніть безпечний перегляд для спільних посилань \"тільки для читання\"", + "Enforce secure view on link shares with specific system tags" : "Забезпечте безпечний перегляд спільних посилань за допомогою спеціальних системних тегів", + "Select tags to enforce secure view" : "Виберіть теги, щоб забезпечити безпечний перегляд", + "Electronic Signature" : "Електронний підпис", + "Client ID for the electronic signature API" : "ID клієнта для API електронного підпису", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Заповніть реєстраційну форму на сайті https://eideasy.com/signup, щоби отримати ID клієнта та секретну фразу.", + "Secret for the electronic signature API" : "Секретна фраза для API електронного підпису", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Секретну фразу можна звантажити через запит WOPI, якщо список дозволених адрес WOPI неправильно налаштовано.", "Save" : "Зберегти", "Remove" : "Вилучити", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Зазначте ім'я гостя, яке ви бажаєте використовувати перед ти, як перейти до документу. Якщо ви не зазначите імени, то буде використано типове ім'я.", + "Guest name" : "Ім'я гостя", "Submit name" : "Надайте ім'я", "Confirm" : "Підтвердити", "Cancel" : "Скасувати", + "Save As" : "Зберегти як", "Save as" : "Зберегти як", "Path to save" : "Шлях для збереження", - "Save As" : "Зберегти як", + "Invalid file name" : "Недійсне ім'я файлу", + "File name already exists" : "Ім'я файлу вже існує", + "Select template" : "Оберіть шаблон", + "File name" : "Ім'я файлу", + "Create" : "Створити", + "Failed to set Zotero API key" : "Не вдалося встановити API ключ для Zotero", "Link to your Zotero library" : "Посилання на вашу бібліотеку Zotero", "Connect your Zotero account to make use of references within Office." : "Під'єднайте ваш обліковий запис Zotero, щоби увімкнути посилання в офісі.", "You can generate an account key here:" : "Тут можна створити ключ облікового запису:", "Zotero account settings" : "Налаштування облікового запису Zotero", "Zotero API key" : "Ключ API для Zotero", "Submit" : "Гаразд", - "Failed to set Zotero API key" : "Не вдалося встановити API ключ для Zotero", - "Select a template directory" : "Виберіть каталог для шаблонів", "Select a personal template folder" : "Виберіть каталог для ваших шаблонів", + "Settings saved successfully." : "Налаштування успішно збережено.", + "Failed to save settings." : "Не вдалося зберегти налаштування.", + "Unexpected error occurred." : "Неочікувана помилка.", + "Personal Settings for Nextcloud Office" : "Особисті налаштування для Офісу Nextcloud", + "Select a template directory" : "Виберіть каталог для шаблонів", "Remove personal template folder" : "Вилучити каталог з вашими шаблонами", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблони всередині цього каталогу буде додано до селектора шаблонів Nextcloud Office.", + "Zotero" : "Zotero", "Enter Zotero API Key" : "Зазначте ключ API для Zotero", "Remove Zotero API Key" : "Вилучити ключ API для Zotero", "To use Zotero specify your API key here. You can create your API key in your" : "Щоби використовувати Zotero, будь ласка, зазначте тут ключ API. Ви можете створити власний ключ API у", "Zotero account API settings." : "налаштуваннях облікового запису Zotero.", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Цей примірник не підтримує Zotero, оскільки цю функціональність вимкнено або вона відсутня. Будь ласка, сконтактуйте з адміністратором.", + "Document signing" : "Підписування документу", + "Enter document signing cert (in PEM format)" : "Зазначте сертифікат підпису документу (у форматі PEM)", + "Enter document signing key" : "Зазначте ключ сертифікату підписування документу", + "Enter document signing CA chain" : "Зазначе ланцюжок кореневих сертифікатів сертифікату підписування документу", + "To use document signing, specify your signing certificate, key and CA chain here." : "Щоби підписати документ, зазначте тут ваш сертифікат підпису, ключ та ланцюжок кореневих сертифікатів.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Цей примірник хмари не підтримує підписування документів, оскільки відповідна функція відсутня або її вимкнено. Рекомендуємо сконтактувати з адміністратором.", "Description" : "Опис", "Add new token" : "Додати новий токен", "No font overview" : "Немає огляду шрифтів", "Delete this font" : "Вилучити цей шрифт", "No results" : "Немає результатів", + "Select file" : "Виберіть файл", "Select file or folder to link to" : "Виберіть файл або каталог, до якого потрібно застосувати посилання", "Could not find any section in the document" : "Неможливо знайти жодного розділу у документі", - "Select file" : "Виберіть файл", - "Document loading failed" : "Не вдалося завантажити документ", - "Close" : "закрити", - "Edit" : "Редагувати", + "{productName} is not configured" : "{productName} не налаштовано", "Starting the built-in CODE server failed" : "Не вдалося запустити вбудований сервер CODE", "Loading {filename} …" : "Завантаження {filename}…", - "Open in local editor" : "Відкрити в локальному редакторі", "Failed to load {productName} - please try again later" : "Неможливо завантажити {productName} - спробуйте пізніше", - "{productName} is not configured" : "{productName} не налаштовано", + "Open in local editor" : "Відкрити в локальному редакторі", + "Cluster is scaling …" : "Масштабування кластеру ...", + "The collaborative editing was terminated by another user" : "Спільне редагування зупинено іншим користувачем", + "Document loading failed" : "Не вдалося завантажити документ", + "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Перевірте журнал сервера Collabora Online для додаткової інформації та перевірте, що Nextcloud доступний звідти.", + "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "З'єднання сокет неочікувано завершено. Зворотній сервер проксі може бути неправильно налаштовано. Рекомендуємо сконтактувати з адміністратором.", + "More information can be found in the reverse proxy documentation" : "Докладну інформацію можна знайти у документації з налаштування зворотнього сервера проксі.", + "Close" : "закрити", + "Edit" : "Редагувати", "Built-in CODE Server is starting up shortly, please wait." : "Вбудований сервер CODE незабаром запуститься, зачекайте.", "Built-in CODE Server is restarting, please wait." : "Вбудований сервер CODE перезапускається, зачекайте.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Помилка: не вдається знайти AppImage, переінсталюйте вбудований сервер Collabora Online.", @@ -176,14 +257,18 @@ OC.L10N.register( "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Помилка: не вдається запустити вбудований сервер Collabora Online. Налаштуйте окремий сервер.", "Close version preview" : "Закрити попередній перегляд версії", "Edit with {productName}" : "Редагувати з {productName}", + "Insert into document" : "Вставити у документ", "Open file locally" : "Відкрити файл локально", "When opening a file locally, the document will close for all users currently viewing the document." : "Під час локального відкриття файлу документ буде закрито для всіх користувачів, які зараз переглядають документ.", "Open locally" : "Відкрити локально", "Continue editing online" : "Продовжити редагування онлайн", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Зараз файл можна бути відкривати на пристрої. Якщо така можливість відсутня, переконайтеся, що настільний клієнт встановлено на вашій системі.", "Retry to open locally" : "Спробувати ще раз відкрити на пристрої", + "Save a copy of the file under a new name and continue editing the new file" : "Зберегти копію файлу під новим ім'ям та продовжити редагування у новому файлі", "Failed to revert the document to older version" : "Не вдалося повернутися до старішої версії", "Built-in CODE server failed to start" : "Не вдалося запустити вбудований сервер CODE", + "Insert file from {name}" : "Вставити файл із {name}", + "Insert file" : "Вставити файл", "Remove from favorites" : "Прибрати зірочку", "Add to favorites" : "Додати зірочку", "Details" : "Деталі", @@ -193,15 +278,25 @@ OC.L10N.register( "Guest" : "Гість", "Follow current editor" : "Слідкувати за поточним дописувачем", "New file" : "Новий файл", - "Create" : "Створити", - "New drawing" : "Новий малюнок", + "Please enter the filename for the new file" : "Введіть ім'я файлу для нового файлу", "Could not create file" : "Не вдалося створити файл", - "Select template" : "Оберіть шаблон", + "Could not load templates" : "Не вдалося завантажити шаблони", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Збережено з помилкою: Collabora Online має використовувати той же саме протокол, як й інші серверні інсталяції.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Не вдалося встановити з’єднання із сервером Collabora Online. Це може бути пов’язано з відсутністю конфігурації вашого веб-сервера. Для отримання додаткової інформації відвідайте:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office потребує окремого сервера, на якому працює Collabora Online, щоб забезпечити можливості редагування.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Для Collabora Online потрібен окремий сервер, який діятиме як WOPI-подібний клієнт, щоб надавати можливості редагування.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Типово усі користувачі можуть редагувати документи за допомогою {productName}. Коли цей параметр активний, лише учасники вказаних груп можуть редагувати, а інші можуть лише переглядати документи.", + "Secure view settings" : "Налаштування безпечного перегляду", + "Secure view enables you to secure documents by embedding a watermark" : "Безпечний перегляд дає змогу захистити документи, вставивши водяний знак", + "Enable watermarking" : "Увімкнути водяний знак", + "Show watermark on tagged files" : "Показувати водяний знак на файлах із мітками", + "Show watermark for users of groups" : "Показувати водяний знак для користувачів груп", + "Show watermark for all shares" : "Показувати водяний знак для всіх спільних ресурсів", + "Show watermark for read only shares" : "Показувати водяний знак для спільного доступу лише для читання", + "Show watermark for all link shares" : "Показувати водяний знак для всіх посилань спільного доступу", + "Show watermark for download hidden shares" : "Показувати водяний знак для прихованих спільних скачувань", + "Show watermark for read only link shares" : "Показувати водяний знак для посилань спільного доступу, які є лише для читання", + "Show watermark on link shares with specific system tags" : "Показувати водяний знак на спільних посиланнях із певними системними мітками", "Error" : "Помилка", "An error occurred" : "Виникла помилка", "Please choose your nickname to continue as guest user." : "Виберіть свій псевдонім, щоб продовжити як гостьовий користувач.", @@ -209,6 +304,8 @@ OC.L10N.register( "Set" : "Встановити", "Please enter the filename to store the document as." : "Будь ласка, введіть ім’я файлу, під яким потрібно зберегти документ.", "New filename" : "Нове ім'я файлу", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online ще не налаштована. Зверніться до адміністратора.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Відкриття файлу не підтримується, оскільки облікові дані для зовнішнього сховища недоступні без сеансу.", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Не вдалося з'єднатися з {productName}. Спробуйте пізніше або зверніться до адміністратора вашого сервера.", "Saving…" : "Збереження...", "Insert from {name}" : "Вставити з {name}", @@ -222,6 +319,10 @@ OC.L10N.register( "No templates defined." : "Не визначено шаблони.", "Add a new one?" : "Додати новий?", "template preview" : "перегляд шаблону", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файли все одно можна буде звантажити через Nextcloud, якщо не налаштовано обмеження у спільному доступі або налаштуваннях доступу.", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Для файлів, що містять водяні знаки, попередній перегляд буде вимкнено, щоби не показувати першу сторінку документів.", + "Show watermark for shares without download permission" : "Показувати водяний знак для файлів у спільному доступі, які не мають права на звантаження", + "New drawing" : "Новий малюнок", "Collabora Online" : "Collabora Online", "Document already exists" : "Документ уже існує", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online увімкнено для всіх користувачів за замовчуванням. Коли цей параметр активний, ним можуть користуватися лише учасники вказаних груп.", diff --git a/l10n/uk.json b/l10n/uk.json index 775f234fd2..cd5a06d807 100644 --- a/l10n/uk.json +++ b/l10n/uk.json @@ -1,4 +1,5 @@ { "translations": { + "No files found for this task." : "Для цього завдання не знайдено файлів.", "Cannot create document" : "Неможливо створити документ", "New Document.odt" : "Новий документ.odt", "New Spreadsheet.ods" : "Нова таблиця.ods", @@ -25,10 +26,24 @@ "Only template files can be uploaded" : "Можна завантажити лише шаблони файлів", "Invalid file provided" : "Надано невірний файл", "Template not found" : "Шаблон не знайдено", + "Unable to determine the proper file extension for %1$s" : "Не вдалося визначити потрібне розширення файлу для %1$s", + "Unable to fetch information on %1$s" : "Не вдалося отримати інформацію для %1$s", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "Зображення (.png)", + "Image (.svg)" : "Зображення (.svg)", + "Text (.rtf)" : "Текст (.rtf)", + "Text (.txt)" : "Текст (.txt)", + "Word Document (.docx)" : "Документ Word (.docx)", + "OpenDocument Text (.odt)" : "Текст OpenDocument (.odt)", + "Excel Workbook (.xlsx)" : "Робоча книга Excel (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "Таблиця OpenDocument (.ods)", + "PowerPoint Presentation (.pptx)" : "Презентація PowerPoint (.pptx)", + "OpenDocument Presentation (.odp)" : "Презентація OpenDocument (.odp)", "New document" : "Новий документ", "New spreadsheet" : "Нова електронна таблиця", "New presentation" : "Нова презентація", "New diagram" : "Нова діаграма", + "{user} has mentioned you in {node}" : "{user} згадав вас у {node}", "Link to office document section" : "Прив'язати до розділу офісного документу", "Nextcloud Office" : "Nextcloud Office", "Headings" : "Заголовок", @@ -37,19 +52,55 @@ "Sheets" : "Аркуші", "Slides" : "Слайди", "Office" : "Офіс", + "Nextcloud Assistant Slide Deck Generator" : "Генератор слайдів Nextcloud Assistant", + "Generate Slide Deck" : "Створіть набір слайдів", + "Generate a slide deck from a presentation script" : "Створити набір слайдів на основі сценарію презентації", + "Presentation script" : "Сценарій презентації", + "Write the text for your presentation here" : "Напишіть текст для презентації тут", + "Generated slide deck" : "Згенерована слайд-панель", + "The slide deck generated" : "Згенерована слайд-дека", + "Nextcloud Office text document generator" : "Ґенератор текстових документів Офісу для Nextcloud", + "Document format" : "Формат документу", + "The format of the generated document" : "Формат зґенерованого документу", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Портативний формат документа (pdf)", + "Generate Office text document" : "Зґенерувати офісний текстовий документ", + "Generate an Office text document from a prompt" : "Зґенерувати офісний текстовий документ із запиту", + "Instructions" : "Інструкції", + "Describe the document you want the assistant to generate" : "Опишіть документ, який потрібно зґенерувати асистенту", + "Generated Office document" : "Зґенерувати офісний документ", + "The Office document that was generated from the description" : "Офісний документ, який було зґенеровано на основі опису", + "Nextcloud Office spreadsheet generator" : "Ґенератор таблиць Офісу для Nextcloud", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "Зґенерувати офісний табличний документ", + "Generate an Office spreadsheet document from a prompt" : "Зґенерувати офісну табличний документ із запиту", "Empty" : "Порожньо", "Anonymous guest" : "Анонімний гість", "%s (Guest)" : "%s (гість)", "Edit office documents directly in your browser." : "Редагуйте офісні документу прямо у вашому браузері", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Цей застосунок може підключатися до сервера Collabora Online (або іншого) (клієнт, подібний до WOPI). Nextcloud є хостом WOPI. Прочитайте документацію, щоб дізнатися більше про це. \n\nВи також можете редагувати документи, коли перебуваєте в офлайні, за допомогою програми Collabora Office із **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** і * *[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** каталогу.", + "Accepted file types: {accepts}" : "Прийнятні типи файлів: {accepts}", + "Uploaded template \"{name}\"" : "Завантажено шаблон \"{name}\"", + "Template \"{name}\" already exists" : "Шаблон \"{name}\" вже присутній", + "Unable to delete template" : "Не вдалося вилучити шаблон", + "Deleted template" : "Вилучено шаблон", + "Global Templates" : "Загальні шаблони", "New" : "Створити", + "Contact {0} to get an own installation." : "Зверніться до {0}, щоб отримати власну установку.", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Обов'язково встановіть цей URL: {url} у файлі coolwsd.xml вашого сервера Collabora Online, щоби пересвідчитися, що додані шифти автоматично завантажуються. Зауважте, що http:// працюватиме тільки у збірках Collabora Online для зневадження. У виробничому середовищі ви маєте використовувати https:// для віддаленого налаштування шрифтів.", + "Failed to save settings" : "Неможливо зберегти налаштування", + "Font format not supported ({mime})" : "Формат шрифту не підтримується ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office — це потужний офісний онлайн-пакет на базі Collabora Online зі спільним редагуванням, який підтримує всі основні формати документів, електронних таблиць і файлів презентацій і працює разом з усіма сучасними браузерами.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online — це потужний офісний онлайн-пакет на основі LibreOffice із спільним редагуванням, який підтримує всі основні формати документів, електронних таблиць і файлів презентацій і працює разом з усіма сучасними браузерами.", "Could not establish connection to the Collabora Online server." : "Не вдалося встановити з’єднання із сервером Collabora Online.", + "This might be due to a missing configuration of your web server. For more information, please visit: " : "Це могло статися через відсутні належні налаштування вашого вебсервера. Для докладної інформації перегляньте:", "Connecting Collabora Online Single Click with Nginx" : "Підключення Collabora Online Single Click до Nginx", "Setting up a new server" : "Налаштування нового сервера", "Collabora Online should use the same protocol as the server installation." : "Collabora Online має використовувати той самий протокол, що й інсталяція сервера.", "Your browser has been unable to connect to the Collabora server:" : "Ваш бравзер не зміг з'єднатися із сервером Collabora:", + "This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Цей URL визначено у налаштуваннях серверу Collabora, чи з налаштувань URL або в параметрі server_name у файлі налаштувань coolwsd.xml.", "Collabora Online server is reachable." : "Сервер Collabora Online доступний.", "URL used by the browser:" : "URL, який було використано бравзером:", "Nextcloud URL used by Collabora:" : "URL Nextcloud для Collabora:", @@ -61,6 +112,7 @@ "Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities." : "Для роботи Collabora Online потрібен окремий сервер, який би діяв як WOPI-подібний клієнт, щоб забезпечити можливості редагування.", "URL (and Port) of Collabora Online-server" : "URL-адреса (і порт) онлайн-сервера Collabora", "Disable certificate verification (insecure)" : "Вимкнути перевірку сертифіката (небезпечно)", + "Enable if your Collabora Online server uses a self signed certificate" : "Увімкніть, якщо ваш сервер Collabora Online використову самопідписний сертифікат", "Use the built-in CODE - Collabora Online Development Edition" : "Використовуйте вбудований КОД - Collabora Online Development Edition", "Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Легко встановити, для домашнього використання або невеликих груп. Трохи повільніше, ніж окремий сервер, і без розширених функцій масштабування.", "This installation does not have a built in server." : "Ця установка не має вбудованого сервера.", @@ -97,72 +149,101 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Канонічний веб-корінь, якщо їх декілька, для використання Collabora. Забезпечте те, що має найменші обмеження. Наприклад: використовуйте нешибболізований веб-корінь, якщо до цього сервера звертаються як шибболізовані, так і нешибболізовані веб-корені. Ви можете ігнорувати цей параметр, якщо для доступу до цього сервера використовується лише один веб-корінь.", "Enable access for external apps" : "Увімкніть доступ для зовнішніх застосунків", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Список IP-адрес і підмереж IPV4 і IPV6, яким дозволено виконувати запити кінцевих точок WOPI. Якщо список дозволених не вказано, усі хости будуть дозволені. наприклад 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "Додаткові шрифти", - "Upload extra font file" : "Завантажте додатковий файл шрифту", + "Custom Fonts" : "Власні шрифти", + "Upload font file" : "Завантажити файл шрифту", "Upload a font file" : "Завантажте файл шрифту", "Available fonts" : "Доступні шрифти", - "Secure view settings" : "Налаштування безпечного перегляду", - "Secure view enables you to secure documents by embedding a watermark" : "Безпечний перегляд дає змогу захистити документи, вставивши водяний знак", + "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Для кращого сумісництва документів рекомендується встановити шрифти, які загально використовуються. Якщо ваші користувачі працюють у Microsoft Office, перегляньте документацію зі встановлення пропрієтарних шрифтів.", + "Custom fonts documentation" : "Документація з власних шрифтів", + "Secure View" : "Безпечний вигляд", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "Безпечний перегляд дозволяє захистити офісні документи, блокуючи завантаження, попередній перегляд та відображаючи водяний знак.", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ці налаштування стосуються лише сумісних офісних файлів, які відкрито у Nextcloud Office", + "Downloading the file through WebDAV will be blocked" : "Завантаження файлу через WebDAV буде заблоковано", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Такі функції буде вимкнено у Nextcloud Office: копіюванння, звантаження, експорт, друк", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файли все одно можна буде звантажити через Nextcloud, якщо не налаштовано обмеження у спільному доступі або налаштуваннях доступу.", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "Файли все одно можна буде звантажити через запити WOPI, якщо відповідні налаштування не здійснено належним чином.", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "Для файлів, що містять водяні знаки, попередній перегляд буде вимкнено, щоби не показувати першу сторінку документів.", - "Enable watermarking" : "Увімкнути водяний знак", + "Previews will be blocked" : "Попередній перегляд буде заблоковано", + "Enable secure view" : "Увімкнути безпечний перегляд", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Підтримувані шаблони заміни: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Показувати водяний знак на файлах із мітками", + "Enforce secure view on tagged files" : "Увімкніть безпечний перегляд файлів з тегами", "Select tags to enforce watermarking" : "Виберіть мітки для застосування водяних знаків", - "Show watermark for users of groups" : "Показувати водяний знак для користувачів груп", - "Show watermark for all shares" : "Показувати водяний знак для всіх спільних ресурсів", - "Show watermark for read only shares" : "Показувати водяний знак для спільного доступу лише для читання", - "Show watermark for shares without download permission" : "Показувати водяний знак для файлів у спільному доступі, які не мають права на звантаження", - "Show watermark for all link shares" : "Показувати водяний знак для всіх посилань спільного доступу", - "Show watermark for download hidden shares" : "Показувати водяний знак для прихованих спільних скачувань", - "Show watermark for read only link shares" : "Показувати водяний знак для посилань спільного доступу, які є лише для читання", - "Show watermark on link shares with specific system tags" : "Показувати водяний знак на спільних посиланнях із певними системними мітками", - "Contact {0} to get an own installation." : "Зверніться до {0}, щоб отримати власну установку.", - "Failed to save settings" : "Неможливо зберегти налаштування", - "Font format not supported ({mime})" : "Формат шрифту не підтримується ({mime})", + "Enforce secure view for users of groups" : "Забезпечити безпечний перегляд для користувачів груп", + "Enforce secure view for all shares" : "Увімкніть безпечний перегляд для всіх спільних файлів", + "Enforce secure view for read only shares" : "Увімкніть безпечний перегляд для дописів \"тільки для читання\"", + "Enforce secure view for all public Talk shares" : "Ввімкніть безпечний перегляд для всіх публічних дописів у Talk", + "Enforce secure view for shares without download permission" : "Забезпечити безпечний перегляд для спільних ресурсів без дозволу на завантаження", + "Enforce secure view for all link shares" : "Ввімкніть безпечний перегляд для всіх спільних ресурсів посилань", + "Enforce secure view for download hidden shares" : "Увімкніть безпечний перегляд для завантаження прихованих ресурсів", + "Enforce secure view for read only link shares" : "Ввімкніть безпечний перегляд для спільних посилань \"тільки для читання\"", + "Enforce secure view on link shares with specific system tags" : "Забезпечте безпечний перегляд спільних посилань за допомогою спеціальних системних тегів", + "Select tags to enforce secure view" : "Виберіть теги, щоб забезпечити безпечний перегляд", + "Electronic Signature" : "Електронний підпис", + "Client ID for the electronic signature API" : "ID клієнта для API електронного підпису", + "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Заповніть реєстраційну форму на сайті https://eideasy.com/signup, щоби отримати ID клієнта та секретну фразу.", + "Secret for the electronic signature API" : "Секретна фраза для API електронного підпису", + "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Секретну фразу можна звантажити через запит WOPI, якщо список дозволених адрес WOPI неправильно налаштовано.", "Save" : "Зберегти", "Remove" : "Вилучити", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Зазначте ім'я гостя, яке ви бажаєте використовувати перед ти, як перейти до документу. Якщо ви не зазначите імени, то буде використано типове ім'я.", + "Guest name" : "Ім'я гостя", "Submit name" : "Надайте ім'я", "Confirm" : "Підтвердити", "Cancel" : "Скасувати", + "Save As" : "Зберегти як", "Save as" : "Зберегти як", "Path to save" : "Шлях для збереження", - "Save As" : "Зберегти як", + "Invalid file name" : "Недійсне ім'я файлу", + "File name already exists" : "Ім'я файлу вже існує", + "Select template" : "Оберіть шаблон", + "File name" : "Ім'я файлу", + "Create" : "Створити", + "Failed to set Zotero API key" : "Не вдалося встановити API ключ для Zotero", "Link to your Zotero library" : "Посилання на вашу бібліотеку Zotero", "Connect your Zotero account to make use of references within Office." : "Під'єднайте ваш обліковий запис Zotero, щоби увімкнути посилання в офісі.", "You can generate an account key here:" : "Тут можна створити ключ облікового запису:", "Zotero account settings" : "Налаштування облікового запису Zotero", "Zotero API key" : "Ключ API для Zotero", "Submit" : "Гаразд", - "Failed to set Zotero API key" : "Не вдалося встановити API ключ для Zotero", - "Select a template directory" : "Виберіть каталог для шаблонів", "Select a personal template folder" : "Виберіть каталог для ваших шаблонів", + "Settings saved successfully." : "Налаштування успішно збережено.", + "Failed to save settings." : "Не вдалося зберегти налаштування.", + "Unexpected error occurred." : "Неочікувана помилка.", + "Personal Settings for Nextcloud Office" : "Особисті налаштування для Офісу Nextcloud", + "Select a template directory" : "Виберіть каталог для шаблонів", "Remove personal template folder" : "Вилучити каталог з вашими шаблонами", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблони всередині цього каталогу буде додано до селектора шаблонів Nextcloud Office.", + "Zotero" : "Zotero", "Enter Zotero API Key" : "Зазначте ключ API для Zotero", "Remove Zotero API Key" : "Вилучити ключ API для Zotero", "To use Zotero specify your API key here. You can create your API key in your" : "Щоби використовувати Zotero, будь ласка, зазначте тут ключ API. Ви можете створити власний ключ API у", "Zotero account API settings." : "налаштуваннях облікового запису Zotero.", "This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Цей примірник не підтримує Zotero, оскільки цю функціональність вимкнено або вона відсутня. Будь ласка, сконтактуйте з адміністратором.", + "Document signing" : "Підписування документу", + "Enter document signing cert (in PEM format)" : "Зазначте сертифікат підпису документу (у форматі PEM)", + "Enter document signing key" : "Зазначте ключ сертифікату підписування документу", + "Enter document signing CA chain" : "Зазначе ланцюжок кореневих сертифікатів сертифікату підписування документу", + "To use document signing, specify your signing certificate, key and CA chain here." : "Щоби підписати документ, зазначте тут ваш сертифікат підпису, ключ та ланцюжок кореневих сертифікатів.", + "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Цей примірник хмари не підтримує підписування документів, оскільки відповідна функція відсутня або її вимкнено. Рекомендуємо сконтактувати з адміністратором.", "Description" : "Опис", "Add new token" : "Додати новий токен", "No font overview" : "Немає огляду шрифтів", "Delete this font" : "Вилучити цей шрифт", "No results" : "Немає результатів", + "Select file" : "Виберіть файл", "Select file or folder to link to" : "Виберіть файл або каталог, до якого потрібно застосувати посилання", "Could not find any section in the document" : "Неможливо знайти жодного розділу у документі", - "Select file" : "Виберіть файл", - "Document loading failed" : "Не вдалося завантажити документ", - "Close" : "закрити", - "Edit" : "Редагувати", + "{productName} is not configured" : "{productName} не налаштовано", "Starting the built-in CODE server failed" : "Не вдалося запустити вбудований сервер CODE", "Loading {filename} …" : "Завантаження {filename}…", - "Open in local editor" : "Відкрити в локальному редакторі", "Failed to load {productName} - please try again later" : "Неможливо завантажити {productName} - спробуйте пізніше", - "{productName} is not configured" : "{productName} не налаштовано", + "Open in local editor" : "Відкрити в локальному редакторі", + "Cluster is scaling …" : "Масштабування кластеру ...", + "The collaborative editing was terminated by another user" : "Спільне редагування зупинено іншим користувачем", + "Document loading failed" : "Не вдалося завантажити документ", + "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Перевірте журнал сервера Collabora Online для додаткової інформації та перевірте, що Nextcloud доступний звідти.", + "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "З'єднання сокет неочікувано завершено. Зворотній сервер проксі може бути неправильно налаштовано. Рекомендуємо сконтактувати з адміністратором.", + "More information can be found in the reverse proxy documentation" : "Докладну інформацію можна знайти у документації з налаштування зворотнього сервера проксі.", + "Close" : "закрити", + "Edit" : "Редагувати", "Built-in CODE Server is starting up shortly, please wait." : "Вбудований сервер CODE незабаром запуститься, зачекайте.", "Built-in CODE Server is restarting, please wait." : "Вбудований сервер CODE перезапускається, зачекайте.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Помилка: не вдається знайти AppImage, переінсталюйте вбудований сервер Collabora Online.", @@ -174,14 +255,18 @@ "Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Помилка: не вдається запустити вбудований сервер Collabora Online. Налаштуйте окремий сервер.", "Close version preview" : "Закрити попередній перегляд версії", "Edit with {productName}" : "Редагувати з {productName}", + "Insert into document" : "Вставити у документ", "Open file locally" : "Відкрити файл локально", "When opening a file locally, the document will close for all users currently viewing the document." : "Під час локального відкриття файлу документ буде закрито для всіх користувачів, які зараз переглядають документ.", "Open locally" : "Відкрити локально", "Continue editing online" : "Продовжити редагування онлайн", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Зараз файл можна бути відкривати на пристрої. Якщо така можливість відсутня, переконайтеся, що настільний клієнт встановлено на вашій системі.", "Retry to open locally" : "Спробувати ще раз відкрити на пристрої", + "Save a copy of the file under a new name and continue editing the new file" : "Зберегти копію файлу під новим ім'ям та продовжити редагування у новому файлі", "Failed to revert the document to older version" : "Не вдалося повернутися до старішої версії", "Built-in CODE server failed to start" : "Не вдалося запустити вбудований сервер CODE", + "Insert file from {name}" : "Вставити файл із {name}", + "Insert file" : "Вставити файл", "Remove from favorites" : "Прибрати зірочку", "Add to favorites" : "Додати зірочку", "Details" : "Деталі", @@ -191,15 +276,25 @@ "Guest" : "Гість", "Follow current editor" : "Слідкувати за поточним дописувачем", "New file" : "Новий файл", - "Create" : "Створити", - "New drawing" : "Новий малюнок", + "Please enter the filename for the new file" : "Введіть ім'я файлу для нового файлу", "Could not create file" : "Не вдалося створити файл", - "Select template" : "Оберіть шаблон", + "Could not load templates" : "Не вдалося завантажити шаблони", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Збережено з помилкою: Collabora Online має використовувати той же саме протокол, як й інші серверні інсталяції.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Не вдалося встановити з’єднання із сервером Collabora Online. Це може бути пов’язано з відсутністю конфігурації вашого веб-сервера. Для отримання додаткової інформації відвідайте:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office потребує окремого сервера, на якому працює Collabora Online, щоб забезпечити можливості редагування.", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Для Collabora Online потрібен окремий сервер, який діятиме як WOPI-подібний клієнт, щоб надавати можливості редагування.", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "Типово усі користувачі можуть редагувати документи за допомогою {productName}. Коли цей параметр активний, лише учасники вказаних груп можуть редагувати, а інші можуть лише переглядати документи.", + "Secure view settings" : "Налаштування безпечного перегляду", + "Secure view enables you to secure documents by embedding a watermark" : "Безпечний перегляд дає змогу захистити документи, вставивши водяний знак", + "Enable watermarking" : "Увімкнути водяний знак", + "Show watermark on tagged files" : "Показувати водяний знак на файлах із мітками", + "Show watermark for users of groups" : "Показувати водяний знак для користувачів груп", + "Show watermark for all shares" : "Показувати водяний знак для всіх спільних ресурсів", + "Show watermark for read only shares" : "Показувати водяний знак для спільного доступу лише для читання", + "Show watermark for all link shares" : "Показувати водяний знак для всіх посилань спільного доступу", + "Show watermark for download hidden shares" : "Показувати водяний знак для прихованих спільних скачувань", + "Show watermark for read only link shares" : "Показувати водяний знак для посилань спільного доступу, які є лише для читання", + "Show watermark on link shares with specific system tags" : "Показувати водяний знак на спільних посиланнях із певними системними мітками", "Error" : "Помилка", "An error occurred" : "Виникла помилка", "Please choose your nickname to continue as guest user." : "Виберіть свій псевдонім, щоб продовжити як гостьовий користувач.", @@ -207,6 +302,8 @@ "Set" : "Встановити", "Please enter the filename to store the document as." : "Будь ласка, введіть ім’я файлу, під яким потрібно зберегти документ.", "New filename" : "Нове ім'я файлу", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online ще не налаштована. Зверніться до адміністратора.", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "Відкриття файлу не підтримується, оскільки облікові дані для зовнішнього сховища недоступні без сеансу.", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "Не вдалося з'єднатися з {productName}. Спробуйте пізніше або зверніться до адміністратора вашого сервера.", "Saving…" : "Збереження...", "Insert from {name}" : "Вставити з {name}", @@ -220,6 +317,10 @@ "No templates defined." : "Не визначено шаблони.", "Add a new one?" : "Додати новий?", "template preview" : "перегляд шаблону", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "Файли все одно можна буде звантажити через Nextcloud, якщо не налаштовано обмеження у спільному доступі або налаштуваннях доступу.", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "Для файлів, що містять водяні знаки, попередній перегляд буде вимкнено, щоби не показувати першу сторінку документів.", + "Show watermark for shares without download permission" : "Показувати водяний знак для файлів у спільному доступі, які не мають права на звантаження", + "New drawing" : "Новий малюнок", "Collabora Online" : "Collabora Online", "Document already exists" : "Документ уже існує", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online увімкнено для всіх користувачів за замовчуванням. Коли цей параметр активний, ним можуть користуватися лише учасники вказаних груп.", diff --git a/l10n/uz.js b/l10n/uz.js index 9f9383a2d5..eddce867e4 100644 --- a/l10n/uz.js +++ b/l10n/uz.js @@ -2,18 +2,35 @@ OC.L10N.register( "richdocuments", { "Saved" : "Saved", + "The file was uploaded" : "Fayl yuklangan edi", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Yuklangan fayl php.ini dagi php-dagi upload_max_filesize direktivasidan oshadi", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Yuklangan fayl HTML shaklida ko'rsatilgan MAX_FILE_SIZE direktivasidan oshadi", + "The file was only partially uploaded" : "Fayl faqat qisman yuklandi", + "No file was uploaded" : "Fayl yuklanmadi", + "Missing a temporary folder" : "Vaqtinchalik papka etishmayapti", + "Could not write file to disk" : "Faylni diskka yozib bo'lmadi", + "A PHP extension stopped the file upload" : "PHP kengaytmasi faylni yuklashni to'xtatdi", "File is too big" : "File is too big", "Invalid file provided" : "Invalid file provided", + "New document" : "Yangi hujjat", "Images" : "Images", + "Instructions" : "Ko'rsatmalar", "New" : "New", - "Save" : "Save", - "Remove" : "Remove", + "Failed to save settings" : "Sozlamalarni saqlab bo'lmadi", + "Save" : "Saqlash", + "Remove" : "O'chirish", "Confirm" : "Confirm", - "Cancel" : "Cancel", - "Close" : "Close", + "Cancel" : "Bekor qilish", + "Create" : "Yaratish", + "Description" : "Tavsif", + "Select file" : "Faylni tanlang", + "Close" : "Yopish", + "Edit" : "Tahrirlash", + "Remove from favorites" : "Sevimlilardan olib tashlang", + "Add to favorites" : "Sevimlilarga qo'shing", "Details" : "Details", - "Download" : "Download", - "Error" : "Error", + "Download" : "Yuklab olish", + "Error" : "Xatolik", "Saving…" : "Saving…" }, "nplurals=1; plural=0;"); diff --git a/l10n/uz.json b/l10n/uz.json index 1ff58e09c5..39100d8cd9 100644 --- a/l10n/uz.json +++ b/l10n/uz.json @@ -1,17 +1,34 @@ { "translations": { "Saved" : "Saved", + "The file was uploaded" : "Fayl yuklangan edi", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Yuklangan fayl php.ini dagi php-dagi upload_max_filesize direktivasidan oshadi", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Yuklangan fayl HTML shaklida ko'rsatilgan MAX_FILE_SIZE direktivasidan oshadi", + "The file was only partially uploaded" : "Fayl faqat qisman yuklandi", + "No file was uploaded" : "Fayl yuklanmadi", + "Missing a temporary folder" : "Vaqtinchalik papka etishmayapti", + "Could not write file to disk" : "Faylni diskka yozib bo'lmadi", + "A PHP extension stopped the file upload" : "PHP kengaytmasi faylni yuklashni to'xtatdi", "File is too big" : "File is too big", "Invalid file provided" : "Invalid file provided", + "New document" : "Yangi hujjat", "Images" : "Images", + "Instructions" : "Ko'rsatmalar", "New" : "New", - "Save" : "Save", - "Remove" : "Remove", + "Failed to save settings" : "Sozlamalarni saqlab bo'lmadi", + "Save" : "Saqlash", + "Remove" : "O'chirish", "Confirm" : "Confirm", - "Cancel" : "Cancel", - "Close" : "Close", + "Cancel" : "Bekor qilish", + "Create" : "Yaratish", + "Description" : "Tavsif", + "Select file" : "Faylni tanlang", + "Close" : "Yopish", + "Edit" : "Tahrirlash", + "Remove from favorites" : "Sevimlilardan olib tashlang", + "Add to favorites" : "Sevimlilarga qo'shing", "Details" : "Details", - "Download" : "Download", - "Error" : "Error", + "Download" : "Yuklab olish", + "Error" : "Xatolik", "Saving…" : "Saving…" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/vi.js b/l10n/vi.js index 2f24abd9e9..e47c2487ed 100644 --- a/l10n/vi.js +++ b/l10n/vi.js @@ -39,12 +39,15 @@ OC.L10N.register( "Sheets" : "Trang tính", "Slides" : "Trang trình bày", "Office" : "Văn phòng", + "Instructions" : "Hướng dẫn", "Empty" : "Trống", "Anonymous guest" : "Khách ẩn danh", "%s (Guest)" : "%s (Khách)", "Edit office documents directly in your browser." : "Chỉnh sửa tài liệu trực tiếp trên trình duyệt của bạn", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Ứng dụng này có thể kết nối với máy chủ Collabora Online (hoặc máy chủ khác) (Máy khách giống WOPI). vWorkspace là Máy chủ WOPI. Vui lòng đọc tài liệu để tìm hiểu thêm về điều đó.\n\nBạn cũng có thể chỉnh sửa ngoại tuyến tài liệu của mình bằng ứng dụng Collabora Office từ cửa hàng**[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** và **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** .", "New" : "Tạo mới", + "Contact {0} to get an own installation." : "Liên hệ với {0} để nhận một bản cài đặt riêng.", + "Failed to save settings" : "Lưu cấu hình thất bại", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office lả một bộ ứng dụng văn phòng trực tuyến mạnh mẽ dựa trên Collabora Online với khả năng hỗ trợ tính năng cộng tác chỉnh sửa (bạn và bạn bè có thể thao tác đồng thời trên cùng một tài liệu tại cùng một thời điểm), hỗ trợ hầu hết các loại định dạng tài liệu, bảng tính và tệp trình chiếu cũng như tương thích với mọi trình duyệt mới hiện nay.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online là bộ ứng dụng văn phòng trực tuyến dựa trên LibreOffice với khả năng cộng tác chỉnh sửa, hỗ trợ tất cả các tài liệu chính, định dạng tệp bảng tính, bản trình bày và hoạt động cùng với tất cả các trình duyệt hiện đại.", "Could not establish connection to the Collabora Online server." : "Không thể thiết lập kết nỗi với máy chủ Collabora Online.", @@ -94,40 +97,30 @@ OC.L10N.register( "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Danh sách các địa chỉ IP và mạng con IPv4 và IPv6 được cho phép thực hiện các yêu cầu của các điểm WOPI. Nếu không có danh sách cho phép nào được chỉ định, tất cả máy chủ sẽ được cho phép. Vd: 10.0.0.20,10.0.4.0/24", "Upload a font file" : "Tải lên một tệp font", "Available fonts" : "Fonts khả dụng", - "Secure view settings" : "Cài đặt chế độ xem an toàn", - "Secure view enables you to secure documents by embedding a watermark" : "Chế độ xem an toàn cho phép bạn bảo mật tài liệu bằng cách nhúng hình mờ", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Thiết lập này chỉ áp dụng cho những tệp tương thích khi được mở bằng Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Các chức năng sau sẽ bị tắt trong Nextcloud Office: Sao chép (Copy), Tải xuống (Download), Xuất (Export), In (Print)", - "Enable watermarking" : "Bật chế độ làm mờ (watermaking)", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Các placeholders được hỗ trợ: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Hiển thị hình mờ trên các tệp được gắn thẻ", "Select tags to enforce watermarking" : "Chọn các thẻ để thực thi watermarking", - "Show watermark for users of groups" : "Hiển thị hình mờ cho người dùng của các nhóm", - "Show watermark for all shares" : "Hiển thị hình mờ cho tất cả chia sẻ", - "Show watermark for read only shares" : "Hiển thị hình mờ cho những chia sẻ chỉ đọc", - "Show watermark for all link shares" : "Hiển thị hình mờ cho tất cả những đường dẫn chia sẻ", - "Show watermark for download hidden shares" : "Hiển thị hình mờ để tải xuống những chia sẻ ẩn", - "Show watermark for read only link shares" : "Hiển thị hình mờ cho những chia sẻ của đường dẫn chỉ đọc", - "Show watermark on link shares with specific system tags" : "Hiển thị hình mờ trên những chia sẻ đường dẫn với các thẻ hệ thống cụ thể", - "Contact {0} to get an own installation." : "Liên hệ với {0} để nhận một bản cài đặt riêng.", - "Failed to save settings" : "Lưu cấu hình thất bại", "Save" : "Lưu", "Remove" : "Xoá", "Confirm" : "Xác nhận", "Cancel" : "Hủy bỏ", "Save As" : "Lưu như", + "Select template" : "Chọn mẫu", + "File name" : "Tên tệp tin", + "Create" : "Tạo mới", "Submit" : "Gửi đi", - "Select a template directory" : "Chọn một thư mục mẫu", "Select a personal template folder" : "Chọn một mẫu thư mục cá nhân", + "Select a template directory" : "Chọn một thư mục mẫu", "Remove personal template folder" : "Xóa mẫu thư mục cá nhân", "Description" : "Mô tả", "Add new token" : "Thêm token mới", "No results" : "Không có kết quả", - "Select file or folder to link to" : "Chọn tập tin hoặc thư mục để liên kết đến", "Select file" : "Chọn tập tin", + "Select file or folder to link to" : "Chọn tập tin hoặc thư mục để liên kết đến", + "Failed to load {productName} - please try again later" : "Không tải được {productName} - vui lòng thử lại sau", "Close" : "Đóng", "Edit" : "Chỉnh sửa", - "Failed to load {productName} - please try again later" : "Không tải được {productName} - vui lòng thử lại sau", "Built-in CODE Server is starting up shortly, please wait." : "Máy chủ CODE được tích hợp sẵn sẽ sớm khởi động, vui lòng đợi.", "Built-in CODE Server is restarting, please wait." : "Máy chủ CODE được tích hợp sẵn đang được khởi động lại, vui lòng đợi.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Lỗi: Không thể tìm thấy Applmage, vui lòng cài đặt lại máy chủ tích hợp sẵn của Collabora Online", @@ -153,12 +146,21 @@ OC.L10N.register( "Guest" : "Khách", "Follow current editor" : "Theo dõi trình chỉnh sửa hiện tại", "New file" : "Tập tin mới", - "Create" : "Tạo mới", "Could not create file" : "Không thể tạo file", - "Select template" : "Chọn mẫu", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Đã lưu với lỗi: Collabora Online nên sử dụng cùng một giao thức với máy chủ.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Không thể thiết lập kết nối với máy chủ Collabora Online. Điều này có thể do máy chủ web của bạn cấu hình chưa chính xác. Để biết thêm thông tin, vui lòng truy cập:", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online yêu cầu một máy chủ riêng biệt hoạt động như một Máy khách giống WOPI để cung cấp khả năng chỉnh sửa.", + "Secure view settings" : "Cài đặt chế độ xem an toàn", + "Secure view enables you to secure documents by embedding a watermark" : "Chế độ xem an toàn cho phép bạn bảo mật tài liệu bằng cách nhúng hình mờ", + "Enable watermarking" : "Bật chế độ làm mờ (watermaking)", + "Show watermark on tagged files" : "Hiển thị hình mờ trên các tệp được gắn thẻ", + "Show watermark for users of groups" : "Hiển thị hình mờ cho người dùng của các nhóm", + "Show watermark for all shares" : "Hiển thị hình mờ cho tất cả chia sẻ", + "Show watermark for read only shares" : "Hiển thị hình mờ cho những chia sẻ chỉ đọc", + "Show watermark for all link shares" : "Hiển thị hình mờ cho tất cả những đường dẫn chia sẻ", + "Show watermark for download hidden shares" : "Hiển thị hình mờ để tải xuống những chia sẻ ẩn", + "Show watermark for read only link shares" : "Hiển thị hình mờ cho những chia sẻ của đường dẫn chỉ đọc", + "Show watermark on link shares with specific system tags" : "Hiển thị hình mờ trên những chia sẻ đường dẫn với các thẻ hệ thống cụ thể", "Error" : "Lỗi", "An error occurred" : "Có lỗi đã xảy ra", "Please choose your nickname to continue as guest user." : "Vui lòng chọn tên của bạn để tiếp tục với tư cách là khách hàng người dùng", diff --git a/l10n/vi.json b/l10n/vi.json index 2878bea27c..6443da7b49 100644 --- a/l10n/vi.json +++ b/l10n/vi.json @@ -37,12 +37,15 @@ "Sheets" : "Trang tính", "Slides" : "Trang trình bày", "Office" : "Văn phòng", + "Instructions" : "Hướng dẫn", "Empty" : "Trống", "Anonymous guest" : "Khách ẩn danh", "%s (Guest)" : "%s (Khách)", "Edit office documents directly in your browser." : "Chỉnh sửa tài liệu trực tiếp trên trình duyệt của bạn", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Ứng dụng này có thể kết nối với máy chủ Collabora Online (hoặc máy chủ khác) (Máy khách giống WOPI). vWorkspace là Máy chủ WOPI. Vui lòng đọc tài liệu để tìm hiểu thêm về điều đó.\n\nBạn cũng có thể chỉnh sửa ngoại tuyến tài liệu của mình bằng ứng dụng Collabora Office từ cửa hàng**[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** và **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** .", "New" : "Tạo mới", + "Contact {0} to get an own installation." : "Liên hệ với {0} để nhận một bản cài đặt riêng.", + "Failed to save settings" : "Lưu cấu hình thất bại", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office lả một bộ ứng dụng văn phòng trực tuyến mạnh mẽ dựa trên Collabora Online với khả năng hỗ trợ tính năng cộng tác chỉnh sửa (bạn và bạn bè có thể thao tác đồng thời trên cùng một tài liệu tại cùng một thời điểm), hỗ trợ hầu hết các loại định dạng tài liệu, bảng tính và tệp trình chiếu cũng như tương thích với mọi trình duyệt mới hiện nay.", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online là bộ ứng dụng văn phòng trực tuyến dựa trên LibreOffice với khả năng cộng tác chỉnh sửa, hỗ trợ tất cả các tài liệu chính, định dạng tệp bảng tính, bản trình bày và hoạt động cùng với tất cả các trình duyệt hiện đại.", "Could not establish connection to the Collabora Online server." : "Không thể thiết lập kết nỗi với máy chủ Collabora Online.", @@ -92,40 +95,30 @@ "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Danh sách các địa chỉ IP và mạng con IPv4 và IPv6 được cho phép thực hiện các yêu cầu của các điểm WOPI. Nếu không có danh sách cho phép nào được chỉ định, tất cả máy chủ sẽ được cho phép. Vd: 10.0.0.20,10.0.4.0/24", "Upload a font file" : "Tải lên một tệp font", "Available fonts" : "Fonts khả dụng", - "Secure view settings" : "Cài đặt chế độ xem an toàn", - "Secure view enables you to secure documents by embedding a watermark" : "Chế độ xem an toàn cho phép bạn bảo mật tài liệu bằng cách nhúng hình mờ", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "Thiết lập này chỉ áp dụng cho những tệp tương thích khi được mở bằng Nextcloud Office", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Các chức năng sau sẽ bị tắt trong Nextcloud Office: Sao chép (Copy), Tải xuống (Download), Xuất (Export), In (Print)", - "Enable watermarking" : "Bật chế độ làm mờ (watermaking)", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "Các placeholders được hỗ trợ: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "Hiển thị hình mờ trên các tệp được gắn thẻ", "Select tags to enforce watermarking" : "Chọn các thẻ để thực thi watermarking", - "Show watermark for users of groups" : "Hiển thị hình mờ cho người dùng của các nhóm", - "Show watermark for all shares" : "Hiển thị hình mờ cho tất cả chia sẻ", - "Show watermark for read only shares" : "Hiển thị hình mờ cho những chia sẻ chỉ đọc", - "Show watermark for all link shares" : "Hiển thị hình mờ cho tất cả những đường dẫn chia sẻ", - "Show watermark for download hidden shares" : "Hiển thị hình mờ để tải xuống những chia sẻ ẩn", - "Show watermark for read only link shares" : "Hiển thị hình mờ cho những chia sẻ của đường dẫn chỉ đọc", - "Show watermark on link shares with specific system tags" : "Hiển thị hình mờ trên những chia sẻ đường dẫn với các thẻ hệ thống cụ thể", - "Contact {0} to get an own installation." : "Liên hệ với {0} để nhận một bản cài đặt riêng.", - "Failed to save settings" : "Lưu cấu hình thất bại", "Save" : "Lưu", "Remove" : "Xoá", "Confirm" : "Xác nhận", "Cancel" : "Hủy bỏ", "Save As" : "Lưu như", + "Select template" : "Chọn mẫu", + "File name" : "Tên tệp tin", + "Create" : "Tạo mới", "Submit" : "Gửi đi", - "Select a template directory" : "Chọn một thư mục mẫu", "Select a personal template folder" : "Chọn một mẫu thư mục cá nhân", + "Select a template directory" : "Chọn một thư mục mẫu", "Remove personal template folder" : "Xóa mẫu thư mục cá nhân", "Description" : "Mô tả", "Add new token" : "Thêm token mới", "No results" : "Không có kết quả", - "Select file or folder to link to" : "Chọn tập tin hoặc thư mục để liên kết đến", "Select file" : "Chọn tập tin", + "Select file or folder to link to" : "Chọn tập tin hoặc thư mục để liên kết đến", + "Failed to load {productName} - please try again later" : "Không tải được {productName} - vui lòng thử lại sau", "Close" : "Đóng", "Edit" : "Chỉnh sửa", - "Failed to load {productName} - please try again later" : "Không tải được {productName} - vui lòng thử lại sau", "Built-in CODE Server is starting up shortly, please wait." : "Máy chủ CODE được tích hợp sẵn sẽ sớm khởi động, vui lòng đợi.", "Built-in CODE Server is restarting, please wait." : "Máy chủ CODE được tích hợp sẵn đang được khởi động lại, vui lòng đợi.", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "Lỗi: Không thể tìm thấy Applmage, vui lòng cài đặt lại máy chủ tích hợp sẵn của Collabora Online", @@ -151,12 +144,21 @@ "Guest" : "Khách", "Follow current editor" : "Theo dõi trình chỉnh sửa hiện tại", "New file" : "Tập tin mới", - "Create" : "Tạo mới", "Could not create file" : "Không thể tạo file", - "Select template" : "Chọn mẫu", "Saved with error: Collabora Online should use the same protocol as the server installation." : "Đã lưu với lỗi: Collabora Online nên sử dụng cùng một giao thức với máy chủ.", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Không thể thiết lập kết nối với máy chủ Collabora Online. Điều này có thể do máy chủ web của bạn cấu hình chưa chính xác. Để biết thêm thông tin, vui lòng truy cập:", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online yêu cầu một máy chủ riêng biệt hoạt động như một Máy khách giống WOPI để cung cấp khả năng chỉnh sửa.", + "Secure view settings" : "Cài đặt chế độ xem an toàn", + "Secure view enables you to secure documents by embedding a watermark" : "Chế độ xem an toàn cho phép bạn bảo mật tài liệu bằng cách nhúng hình mờ", + "Enable watermarking" : "Bật chế độ làm mờ (watermaking)", + "Show watermark on tagged files" : "Hiển thị hình mờ trên các tệp được gắn thẻ", + "Show watermark for users of groups" : "Hiển thị hình mờ cho người dùng của các nhóm", + "Show watermark for all shares" : "Hiển thị hình mờ cho tất cả chia sẻ", + "Show watermark for read only shares" : "Hiển thị hình mờ cho những chia sẻ chỉ đọc", + "Show watermark for all link shares" : "Hiển thị hình mờ cho tất cả những đường dẫn chia sẻ", + "Show watermark for download hidden shares" : "Hiển thị hình mờ để tải xuống những chia sẻ ẩn", + "Show watermark for read only link shares" : "Hiển thị hình mờ cho những chia sẻ của đường dẫn chỉ đọc", + "Show watermark on link shares with specific system tags" : "Hiển thị hình mờ trên những chia sẻ đường dẫn với các thẻ hệ thống cụ thể", "Error" : "Lỗi", "An error occurred" : "Có lỗi đã xảy ra", "Please choose your nickname to continue as guest user." : "Vui lòng chọn tên của bạn để tiếp tục với tư cách là khách hàng người dùng", diff --git a/l10n/zh_CN.js b/l10n/zh_CN.js index b83a3ae893..7044452bfa 100644 --- a/l10n/zh_CN.js +++ b/l10n/zh_CN.js @@ -23,11 +23,24 @@ OC.L10N.register( "Could not write file to disk" : "无法向磁盘中写入文件", "A PHP extension stopped the file upload" : "一个 PHP 扩展终止了文件上传", "No file uploaded or file size exceeds maximum of %s" : "文件未上传,或者文件大小超出了最大 %s 的限制", - "Failed to upload the file" : "上传文件失败", + "Failed to upload the file" : "无法上传文件", "File is too big" : "文件太大", "Only template files can be uploaded" : "只有模板文件能够上传", "Invalid file provided" : "提供的文件无效", "Template not found" : "模板未找到", + "Unable to determine the proper file extension for %1$s" : "无法确定 %1$s 的正确文件扩展名", + "Unable to fetch information on %1$s" : "无法获取 %1$s 的信息", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "图片 (.png)", + "Image (.svg)" : "图片 (.svg)", + "Text (.rtf)" : "文本 (.rtf)", + "Text (.txt)" : "文本 (.txt)", + "Word Document (.docx)" : "Word 文档 (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument 文本 (.odt)", + "Excel Workbook (.xlsx)" : "Excel 工作簿 (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument 电子表格 (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint 演示文稿 (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument 演示文稿 (.odp)", "New document" : "新文档", "New spreadsheet" : "新表格", "New presentation" : "新演示文稿", @@ -41,17 +54,46 @@ OC.L10N.register( "Sheets" : "工作表", "Slides" : "幻灯片", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud 助手幻灯片 Deck 生成器", + "Generate Slide Deck" : "生成幻灯片 Deck", + "Generate a slide deck from a presentation script" : "从演示文稿脚本生成幻灯片 Deck", + "Presentation script" : "演示文稿脚本", + "Write the text for your presentation here" : "在此处为您的演示文稿写文本", + "Generated slide deck" : "已生成幻灯片 Deck", + "The slide deck generated" : "幻灯片 Deck 已生成", + "Nextcloud Office text document generator" : "Nextcloud Office 文本文档生成器", + "Document format" : "文档格式", + "The format of the generated document" : "生成文档的格式", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "便携式文档格式 (pdf)", + "Generate Office text document" : "生成 Office 文本文档", + "Generate an Office text document from a prompt" : "根据提示生成 Office 文本文档", + "Instructions" : "说明", + "Describe the document you want the assistant to generate" : "描述您想要助手生成的文档", + "Generated Office document" : "生成的 Office 文档", + "The Office document that was generated from the description" : "根据描述生成的 Office 文档", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office 电子表格生成器", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "生成 Office 电子表格文档", + "Generate an Office spreadsheet document from a prompt" : "根据提示生成 Office 电子表格文档", "Empty" : "空", "Anonymous guest" : "匿名访客", "%s (Guest)" : "%s(访客)", "Edit office documents directly in your browser." : "在您的浏览器中直接编辑办公文档。", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "本应用程序可以连接到 Collabora Online(或其他)服务器(类似 WOPI 的客户端)。 Nextcloud 是 WOPI 主机。请阅读文档以了解更多信息。\n\n您也可以从 **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** 和 **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** 商店下载 Collabora Office 应用程序来离线编辑文档。", - "Global Templates" : "全局模板", - "New" : "新建", + "Accepted file types: {accepts}" : "接受的文件类型:{accepts}", "Uploaded template \"{name}\"" : "已上传模板 “{name}”", "Template \"{name}\" already exists" : "模板 “{name}” 已存在", "Unable to delete template" : "无法删除模板", "Deleted template" : "已删除模板", + "Global Templates" : "全局模板", + "New" : "新建", + "Contact {0} to get an own installation." : "联系 {0} 以获取自有安装。", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "请务必在 Collabora Online 服务器 coolwsd.xml 文件中设置该URL:{url} 以确保自动载入字体。请注意,http:// 只适用于 Collabora Online 调试版,在生产环境中,为了在线字体被正确设置,你必须使用 https://。", + "Failed to save settings" : "无法保存设置", + "Font format not supported ({mime})" : "不支持的字体格式({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office 是一个强大的,以 Collabora Online 为基础的在线办公套件,支持协同编辑,支持所有主流的文档、电子表格和演示文稿格式,并可用于所有现代浏览器。", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online 是一个强大的,以 LibreOffice 为基础的在线办公套件,支持协同编辑,支持所有主流的文档、电子表格和演示文稿格式,并可用于所有现代浏览器。", "Could not establish connection to the Collabora Online server." : "无法建立与 Collabora Online 服务器的连接。", @@ -109,59 +151,66 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "给 Collabora 使用的 Canonical webroot(如果有多个)。请提供一个限制最少的。例如,若这个实例同时被 shibbolized 和非 shibbolized 的 webroot 访问,则应选择非 shibbolized 的 webroot。如果只有一个 webroot 用来访问这个实例,您可忽略此设置。", "Enable access for external apps" : "启用外部应用的访问权限", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "允许执行 WOPI 端点请求的 IPV4 和 IPV6 地址和子网列表。如果没有指定允许列表,所有的主机都将被允许。例如:10.0.0.20,10.0.4.0/24", - "Extra fonts" : "扩展字体", - "Upload extra font file" : "上传扩展字体文件", + "Custom Fonts" : "自定义字体", + "Upload font file" : "上传字体文件", "Upload a font file" : "上传字体文件", "Available fonts" : "可用字体", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "为了获得理想的文档兼容性,我们建议您安装常用字体。如果您的用户使用的是 Microsoft Office,则可以按照文档安装其专有字体。", "Custom fonts documentation" : "自定义字体文档", - "Secure view settings" : "安全视图设置", - "Secure view enables you to secure documents by embedding a watermark" : "安全查看允许您嵌入水印来保护文档", - "The settings only apply to compatible office files that are opened in Nextcloud Office" : "此设置仅适用于 Nextcloud Office 中打开的兼容 office 文件", + "Secure View" : "安全视图", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "安全视图使您能够通过阻止下载、预览和显示水印来保护办公文档", + "The settings only apply to compatible office files that are opened in Nextcloud Office" : "此设置仅适用于在 Nextcloud Office 中打开的兼容办公文件", + "Downloading the file through WebDAV will be blocked" : "将会阻止通过 WebDav 下载文件", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office 中的下列选项将被禁用:复制、下载、导出、打印", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非通过分享和访问控制设置限制,文件仍然可以被 Nextcloud 下载", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "如果 WOPI 没有正确配置,文件仍然可能通过 WOPI 请求下载", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "对于包含水印的文档,预览将被禁用以避免泄露文件的第一页。", - "Enable watermarking" : "启用水印功能", - "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "受支持的占位符: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "在已打标签的文件上显示水印", + "Previews will be blocked" : "将会阻止预览", + "Enable secure view" : "启用安全视图", + "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "支持的占位符:{userId}、{userDisplayName}、{email}、{date}、{themingName}", + "Enforce secure view on tagged files" : "对标记的文件强制执行安全视图", "Select tags to enforce watermarking" : "选择标签以强制打水印", - "Show watermark for users of groups" : "为分组的用户显示标签", - "Show watermark for all shares" : "为所有共享显示水印", - "Show watermark for read only shares" : "为只读共享显示水印", - "Show watermark for shares without download permission" : "为没有下载权限的共享显示水印", - "Show watermark for all link shares" : "为所有的链接共享显示水印", - "Show watermark for download hidden shares" : "为隐藏下载的共享显示水印", - "Show watermark for read only link shares" : "为只读的链接共享显示水印", - "Show watermark on link shares with specific system tags" : "为打了特定系统标签的链接共享显示水印", - "Electronic signature settings" : "电子签名设置", + "Enforce secure view for users of groups" : "为群组用户强制执行安全视图", + "Enforce secure view for all shares" : "为所有分享强制执行安全视图", + "Enforce secure view for read only shares" : "为只读分享强制执行安全视图", + "Enforce secure view for all public Talk shares" : "为所有公共 Talk 分享强制执行安全视图", + "Enforce secure view for shares without download permission" : "为没有下载权限的分享强制执行安全视图", + "Enforce secure view for all link shares" : "为所有链接分享强制执行安全视图", + "Enforce secure view for download hidden shares" : "为下载的隐藏分享强制执行安全视图", + "Enforce secure view for read only link shares" : "为只读链接分享强制执行安全视图", + "Enforce secure view on link shares with specific system tags" : "对具有特定系统标签的链接分享强制执行安全视图", + "Select tags to enforce secure view" : "选择标签以强制执行安全视图", + "Electronic Signature" : "电子签名", "Client ID for the electronic signature API" : "电子签名API的客户端ID", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "通过 https://eideasy.com/signup 注册账号以获取客户端ID以及秘钥。", "Secret for the electronic signature API" : "电子签名API的秘钥", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "如果未正确配置WOPI允许列表,文件可能会通过WOPI请求被下载。", - "Contact {0} to get an own installation." : "联系 {0} 以获取自有安装。", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "请务必在 Collabora Online 服务器 coolwsd.xml 文件中设置该URL:{url} 以确保自动载入字体。请注意,http:// 只适用于 Collabora Online 调试版,在生产环境中,为了在线字体被正确设置,你必须使用 https://。", - "Failed to save settings" : "保存设置失败", - "Font format not supported ({mime})" : "不支持的字体格式({mime})", "Save" : "保存", "Remove" : "移除", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在继续处理文件之前,请输入您希望使用的客人姓名。 如果您不提供,则将使用默认值。", "Guest name" : "访客名称", "Submit name" : "提交名称", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在继续处理文件之前,请输入您希望使用的客人姓名。 如果您不提供,则将使用默认值。", "Confirm" : "确认", "Cancel" : "取消", + "Save As" : "另存为", "Save as" : "另存为", "Path to save" : "存储路径", - "Save As" : "另存为", + "Invalid file name" : "无效文件名称", + "File name already exists" : "文件名已存在", + "Select template" : "选择模板", + "File name" : "文件名", + "Create" : "创建", + "Failed to set Zotero API key" : "无法设置 Zotero API 密钥", "Link to your Zotero library" : "连接到您的 Zotero 资料库", "Connect your Zotero account to make use of references within Office." : "连接到您的 Zotero 账号以在 Office 中进行引用。", "You can generate an account key here:" : "你可以在此处生成账号密钥:", "Zotero account settings" : "Zotero 账号设置", "Zotero API key" : "Zotero API 密钥", "Submit" : "提交", - "Failed to set Zotero API key" : "无法设置 Zotero API 密钥", - "Select a template directory" : "选择模板目录", "Select a personal template folder" : "选择个人模板文件夹", + "Settings saved successfully." : "设置已成功保存。", + "Failed to save settings." : "无法保存设置。", + "Unexpected error occurred." : "发生意外错误。", + "Personal Settings for Nextcloud Office" : "Nextcloud Office 的个人设置", + "Select a template directory" : "选择模板目录", "Remove personal template folder" : "移除个人模板文件夹", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "这个目录中的模板将被添加到 Nextcloud Office 的模板选择器中。", "Zotero" : "Zotero", @@ -181,22 +230,22 @@ OC.L10N.register( "No font overview" : "没有字体概览", "Delete this font" : "删除该字体", "No results" : "无结果", + "Select file" : "选择文件", "Select file or folder to link to" : "选择需要链接的文件或文件夹", "Could not find any section in the document" : "在此文档中找不到任何节", - "Select file" : "选择文件", + "{productName} is not configured" : "未配置 {productName}", + "Starting the built-in CODE server failed" : "未能启动内置的 CODE 服务器", + "Loading {filename} …" : "正在加载 {filename} ...", + "Failed to load {productName} - please try again later" : "无法加载 {productName} — 请稍后重试", + "Open in local editor" : "在本地编辑器中打开", + "Cluster is scaling …" : "集群正在调整 ...", + "The collaborative editing was terminated by another user" : "协作编辑被另一用户终止", "Document loading failed" : "文档加载失败", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "请检查 Collabora Online 服务器日志以查看更多信息,并确保 Nextcloud 可以连接至该服务器。", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "网络连接意外关闭。反向代理可能配置错误,请联系管理员处理。", "More information can be found in the reverse proxy documentation" : "更多信息可以在反向代理相关文档找到", "Close" : "关闭", "Edit" : "编辑", - "Starting the built-in CODE server failed" : "未能启动内置的 CODE 服务器", - "Loading {filename} …" : "正在加载 {filename} ...", - "Open in local editor" : "在本地编辑器中打开", - "Cluster is scaling …" : "集群正在调整 ...", - "The collaborative editing was terminated by another user" : "协作编辑被另一用户终止", - "Failed to load {productName} - please try again later" : "加载 {productName} 失败,请稍后重试", - "{productName} is not configured" : "未配置 {productName}", "Built-in CODE Server is starting up shortly, please wait." : "内建 CODE 服务器即将启动,请等待。", "Built-in CODE Server is restarting, please wait." : "内建 CODE 服务器正在重启,请等待。", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "错误:找不到 AppImage,请重新安装 Collabora Online 内建服务器。", @@ -216,8 +265,8 @@ OC.L10N.register( "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "文件应在本地打开。如果你看不到任何文件被打开,请先确保在你的电脑中已安装相关的桌面客户端。", "Retry to open locally" : "重试本地打开", "Save a copy of the file under a new name and continue editing the new file" : "以新名称创建文件副本并进行编辑", - "Failed to revert the document to older version" : "文档回滚旧版本失败", - "Built-in CODE server failed to start" : "内置 CODE 服务器启动失败", + "Failed to revert the document to older version" : "无法将文档恢复到旧版本", + "Built-in CODE server failed to start" : "内置 CODE 服务器无法启动", "Insert file from {name}" : "从 {name} 中插入文件", "Insert file" : "插入文件", "Remove from favorites" : "取消收藏", @@ -230,15 +279,24 @@ OC.L10N.register( "Follow current editor" : "跟踪当前编辑器", "New file" : "新文件", "Please enter the filename for the new file" : "请输入新文件的文件名", - "Create" : "创建", - "New drawing" : "新绘图", "Could not create file" : "无法创建文件", - "Select template" : "选择模板", + "Could not load templates" : "无法加载模板", "Saved with error: Collabora Online should use the same protocol as the server installation." : "保存时出错:Collabora Online 应使用与服务器安装相同的协议。", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "无法与 Collabora Online 服务器建立连接。这可能是由于您的 Web 服务器配置缺失导致。要获取更多信息,请访问:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office 需要一台运行 Collabora Online 的独立服务器来提供编辑功能。", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online (在线协作)需要一台单独的服务器作为类似网络应用开放平台接口(WOPI-like)的客户端来提供编辑功能。", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "默认情况下所有用户都能使用 {productName} 编辑文档。当此设置激活时,只有特定分组的成员才能编辑文档,而其他用户只能查看文档。", + "Secure view settings" : "安全视图设置", + "Secure view enables you to secure documents by embedding a watermark" : "安全查看允许您嵌入水印来保护文档", + "Enable watermarking" : "启用水印功能", + "Show watermark on tagged files" : "在已打标签的文件上显示水印", + "Show watermark for users of groups" : "为分组的用户显示标签", + "Show watermark for all shares" : "为所有共享显示水印", + "Show watermark for read only shares" : "为只读共享显示水印", + "Show watermark for all link shares" : "为所有的链接共享显示水印", + "Show watermark for download hidden shares" : "为隐藏下载的共享显示水印", + "Show watermark for read only link shares" : "为只读的链接共享显示水印", + "Show watermark on link shares with specific system tags" : "为打了特定系统标签的链接共享显示水印", "Error" : "错误", "An error occurred" : "发生了一个错误", "Please choose your nickname to continue as guest user." : "请选择你的昵称来以一个访客的身份继续使用", @@ -246,7 +304,9 @@ OC.L10N.register( "Set" : "设置", "Please enter the filename to store the document as." : "请输入要保存文档的文件名", "New filename" : "新文件名", - "Failed to connect to {productName}. Please try again later or contact your server administrator." : "连接到 {productName} 失败。请稍后重试或联系您的服务器管理员。", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online 尚未设置。请联系您的管理员。", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "不支持打开文件,因为没有会话,外部存储的凭据就不可用", + "Failed to connect to {productName}. Please try again later or contact your server administrator." : "无法连接到 {productName}。请稍后重试或联系您的服务器管理员。", "Saving…" : "正在保存 ...", "Insert from {name}" : "从 {name} 插入", "Last saved version" : "最近保存版本", @@ -259,6 +319,10 @@ OC.L10N.register( "No templates defined." : "没有已定义的模板。", "Add a new one?" : "添加一个新的?", "template preview" : "模板预览", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非通过分享和访问控制设置限制,文件仍然可以被 Nextcloud 下载", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "对于包含水印的文档,预览将被禁用以避免泄露文件的第一页。", + "Show watermark for shares without download permission" : "为没有下载权限的共享显示水印", + "New drawing" : "新绘图", "Collabora Online" : "Collabora Online", "Document already exists" : "文档已存在", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online(在线协作)已默认为所有用户启用。当此设置激活时,只有指定组的成员可以使用它。", diff --git a/l10n/zh_CN.json b/l10n/zh_CN.json index 9ee31ec229..3cab9b7a04 100644 --- a/l10n/zh_CN.json +++ b/l10n/zh_CN.json @@ -21,11 +21,24 @@ "Could not write file to disk" : "无法向磁盘中写入文件", "A PHP extension stopped the file upload" : "一个 PHP 扩展终止了文件上传", "No file uploaded or file size exceeds maximum of %s" : "文件未上传,或者文件大小超出了最大 %s 的限制", - "Failed to upload the file" : "上传文件失败", + "Failed to upload the file" : "无法上传文件", "File is too big" : "文件太大", "Only template files can be uploaded" : "只有模板文件能够上传", "Invalid file provided" : "提供的文件无效", "Template not found" : "模板未找到", + "Unable to determine the proper file extension for %1$s" : "无法确定 %1$s 的正确文件扩展名", + "Unable to fetch information on %1$s" : "无法获取 %1$s 的信息", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "图片 (.png)", + "Image (.svg)" : "图片 (.svg)", + "Text (.rtf)" : "文本 (.rtf)", + "Text (.txt)" : "文本 (.txt)", + "Word Document (.docx)" : "Word 文档 (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument 文本 (.odt)", + "Excel Workbook (.xlsx)" : "Excel 工作簿 (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument 电子表格 (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint 演示文稿 (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument 演示文稿 (.odp)", "New document" : "新文档", "New spreadsheet" : "新表格", "New presentation" : "新演示文稿", @@ -39,17 +52,46 @@ "Sheets" : "工作表", "Slides" : "幻灯片", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud 助手幻灯片 Deck 生成器", + "Generate Slide Deck" : "生成幻灯片 Deck", + "Generate a slide deck from a presentation script" : "从演示文稿脚本生成幻灯片 Deck", + "Presentation script" : "演示文稿脚本", + "Write the text for your presentation here" : "在此处为您的演示文稿写文本", + "Generated slide deck" : "已生成幻灯片 Deck", + "The slide deck generated" : "幻灯片 Deck 已生成", + "Nextcloud Office text document generator" : "Nextcloud Office 文本文档生成器", + "Document format" : "文档格式", + "The format of the generated document" : "生成文档的格式", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "便携式文档格式 (pdf)", + "Generate Office text document" : "生成 Office 文本文档", + "Generate an Office text document from a prompt" : "根据提示生成 Office 文本文档", + "Instructions" : "说明", + "Describe the document you want the assistant to generate" : "描述您想要助手生成的文档", + "Generated Office document" : "生成的 Office 文档", + "The Office document that was generated from the description" : "根据描述生成的 Office 文档", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office 电子表格生成器", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "生成 Office 电子表格文档", + "Generate an Office spreadsheet document from a prompt" : "根据提示生成 Office 电子表格文档", "Empty" : "空", "Anonymous guest" : "匿名访客", "%s (Guest)" : "%s(访客)", "Edit office documents directly in your browser." : "在您的浏览器中直接编辑办公文档。", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "本应用程序可以连接到 Collabora Online(或其他)服务器(类似 WOPI 的客户端)。 Nextcloud 是 WOPI 主机。请阅读文档以了解更多信息。\n\n您也可以从 **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** 和 **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** 商店下载 Collabora Office 应用程序来离线编辑文档。", - "Global Templates" : "全局模板", - "New" : "新建", + "Accepted file types: {accepts}" : "接受的文件类型:{accepts}", "Uploaded template \"{name}\"" : "已上传模板 “{name}”", "Template \"{name}\" already exists" : "模板 “{name}” 已存在", "Unable to delete template" : "无法删除模板", "Deleted template" : "已删除模板", + "Global Templates" : "全局模板", + "New" : "新建", + "Contact {0} to get an own installation." : "联系 {0} 以获取自有安装。", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "请务必在 Collabora Online 服务器 coolwsd.xml 文件中设置该URL:{url} 以确保自动载入字体。请注意,http:// 只适用于 Collabora Online 调试版,在生产环境中,为了在线字体被正确设置,你必须使用 https://。", + "Failed to save settings" : "无法保存设置", + "Font format not supported ({mime})" : "不支持的字体格式({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office 是一个强大的,以 Collabora Online 为基础的在线办公套件,支持协同编辑,支持所有主流的文档、电子表格和演示文稿格式,并可用于所有现代浏览器。", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online 是一个强大的,以 LibreOffice 为基础的在线办公套件,支持协同编辑,支持所有主流的文档、电子表格和演示文稿格式,并可用于所有现代浏览器。", "Could not establish connection to the Collabora Online server." : "无法建立与 Collabora Online 服务器的连接。", @@ -107,59 +149,66 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "给 Collabora 使用的 Canonical webroot(如果有多个)。请提供一个限制最少的。例如,若这个实例同时被 shibbolized 和非 shibbolized 的 webroot 访问,则应选择非 shibbolized 的 webroot。如果只有一个 webroot 用来访问这个实例,您可忽略此设置。", "Enable access for external apps" : "启用外部应用的访问权限", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "允许执行 WOPI 端点请求的 IPV4 和 IPV6 地址和子网列表。如果没有指定允许列表,所有的主机都将被允许。例如:10.0.0.20,10.0.4.0/24", - "Extra fonts" : "扩展字体", - "Upload extra font file" : "上传扩展字体文件", + "Custom Fonts" : "自定义字体", + "Upload font file" : "上传字体文件", "Upload a font file" : "上传字体文件", "Available fonts" : "可用字体", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "为了获得理想的文档兼容性,我们建议您安装常用字体。如果您的用户使用的是 Microsoft Office,则可以按照文档安装其专有字体。", "Custom fonts documentation" : "自定义字体文档", - "Secure view settings" : "安全视图设置", - "Secure view enables you to secure documents by embedding a watermark" : "安全查看允许您嵌入水印来保护文档", - "The settings only apply to compatible office files that are opened in Nextcloud Office" : "此设置仅适用于 Nextcloud Office 中打开的兼容 office 文件", + "Secure View" : "安全视图", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "安全视图使您能够通过阻止下载、预览和显示水印来保护办公文档", + "The settings only apply to compatible office files that are opened in Nextcloud Office" : "此设置仅适用于在 Nextcloud Office 中打开的兼容办公文件", + "Downloading the file through WebDAV will be blocked" : "将会阻止通过 WebDav 下载文件", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office 中的下列选项将被禁用:复制、下载、导出、打印", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非通过分享和访问控制设置限制,文件仍然可以被 Nextcloud 下载", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "如果 WOPI 没有正确配置,文件仍然可能通过 WOPI 请求下载", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "对于包含水印的文档,预览将被禁用以避免泄露文件的第一页。", - "Enable watermarking" : "启用水印功能", - "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "受支持的占位符: {userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "在已打标签的文件上显示水印", + "Previews will be blocked" : "将会阻止预览", + "Enable secure view" : "启用安全视图", + "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "支持的占位符:{userId}、{userDisplayName}、{email}、{date}、{themingName}", + "Enforce secure view on tagged files" : "对标记的文件强制执行安全视图", "Select tags to enforce watermarking" : "选择标签以强制打水印", - "Show watermark for users of groups" : "为分组的用户显示标签", - "Show watermark for all shares" : "为所有共享显示水印", - "Show watermark for read only shares" : "为只读共享显示水印", - "Show watermark for shares without download permission" : "为没有下载权限的共享显示水印", - "Show watermark for all link shares" : "为所有的链接共享显示水印", - "Show watermark for download hidden shares" : "为隐藏下载的共享显示水印", - "Show watermark for read only link shares" : "为只读的链接共享显示水印", - "Show watermark on link shares with specific system tags" : "为打了特定系统标签的链接共享显示水印", - "Electronic signature settings" : "电子签名设置", + "Enforce secure view for users of groups" : "为群组用户强制执行安全视图", + "Enforce secure view for all shares" : "为所有分享强制执行安全视图", + "Enforce secure view for read only shares" : "为只读分享强制执行安全视图", + "Enforce secure view for all public Talk shares" : "为所有公共 Talk 分享强制执行安全视图", + "Enforce secure view for shares without download permission" : "为没有下载权限的分享强制执行安全视图", + "Enforce secure view for all link shares" : "为所有链接分享强制执行安全视图", + "Enforce secure view for download hidden shares" : "为下载的隐藏分享强制执行安全视图", + "Enforce secure view for read only link shares" : "为只读链接分享强制执行安全视图", + "Enforce secure view on link shares with specific system tags" : "对具有特定系统标签的链接分享强制执行安全视图", + "Select tags to enforce secure view" : "选择标签以强制执行安全视图", + "Electronic Signature" : "电子签名", "Client ID for the electronic signature API" : "电子签名API的客户端ID", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "通过 https://eideasy.com/signup 注册账号以获取客户端ID以及秘钥。", "Secret for the electronic signature API" : "电子签名API的秘钥", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "如果未正确配置WOPI允许列表,文件可能会通过WOPI请求被下载。", - "Contact {0} to get an own installation." : "联系 {0} 以获取自有安装。", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "请务必在 Collabora Online 服务器 coolwsd.xml 文件中设置该URL:{url} 以确保自动载入字体。请注意,http:// 只适用于 Collabora Online 调试版,在生产环境中,为了在线字体被正确设置,你必须使用 https://。", - "Failed to save settings" : "保存设置失败", - "Font format not supported ({mime})" : "不支持的字体格式({mime})", "Save" : "保存", "Remove" : "移除", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在继续处理文件之前,请输入您希望使用的客人姓名。 如果您不提供,则将使用默认值。", "Guest name" : "访客名称", "Submit name" : "提交名称", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在继续处理文件之前,请输入您希望使用的客人姓名。 如果您不提供,则将使用默认值。", "Confirm" : "确认", "Cancel" : "取消", + "Save As" : "另存为", "Save as" : "另存为", "Path to save" : "存储路径", - "Save As" : "另存为", + "Invalid file name" : "无效文件名称", + "File name already exists" : "文件名已存在", + "Select template" : "选择模板", + "File name" : "文件名", + "Create" : "创建", + "Failed to set Zotero API key" : "无法设置 Zotero API 密钥", "Link to your Zotero library" : "连接到您的 Zotero 资料库", "Connect your Zotero account to make use of references within Office." : "连接到您的 Zotero 账号以在 Office 中进行引用。", "You can generate an account key here:" : "你可以在此处生成账号密钥:", "Zotero account settings" : "Zotero 账号设置", "Zotero API key" : "Zotero API 密钥", "Submit" : "提交", - "Failed to set Zotero API key" : "无法设置 Zotero API 密钥", - "Select a template directory" : "选择模板目录", "Select a personal template folder" : "选择个人模板文件夹", + "Settings saved successfully." : "设置已成功保存。", + "Failed to save settings." : "无法保存设置。", + "Unexpected error occurred." : "发生意外错误。", + "Personal Settings for Nextcloud Office" : "Nextcloud Office 的个人设置", + "Select a template directory" : "选择模板目录", "Remove personal template folder" : "移除个人模板文件夹", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "这个目录中的模板将被添加到 Nextcloud Office 的模板选择器中。", "Zotero" : "Zotero", @@ -179,22 +228,22 @@ "No font overview" : "没有字体概览", "Delete this font" : "删除该字体", "No results" : "无结果", + "Select file" : "选择文件", "Select file or folder to link to" : "选择需要链接的文件或文件夹", "Could not find any section in the document" : "在此文档中找不到任何节", - "Select file" : "选择文件", + "{productName} is not configured" : "未配置 {productName}", + "Starting the built-in CODE server failed" : "未能启动内置的 CODE 服务器", + "Loading {filename} …" : "正在加载 {filename} ...", + "Failed to load {productName} - please try again later" : "无法加载 {productName} — 请稍后重试", + "Open in local editor" : "在本地编辑器中打开", + "Cluster is scaling …" : "集群正在调整 ...", + "The collaborative editing was terminated by another user" : "协作编辑被另一用户终止", "Document loading failed" : "文档加载失败", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "请检查 Collabora Online 服务器日志以查看更多信息,并确保 Nextcloud 可以连接至该服务器。", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "网络连接意外关闭。反向代理可能配置错误,请联系管理员处理。", "More information can be found in the reverse proxy documentation" : "更多信息可以在反向代理相关文档找到", "Close" : "关闭", "Edit" : "编辑", - "Starting the built-in CODE server failed" : "未能启动内置的 CODE 服务器", - "Loading {filename} …" : "正在加载 {filename} ...", - "Open in local editor" : "在本地编辑器中打开", - "Cluster is scaling …" : "集群正在调整 ...", - "The collaborative editing was terminated by another user" : "协作编辑被另一用户终止", - "Failed to load {productName} - please try again later" : "加载 {productName} 失败,请稍后重试", - "{productName} is not configured" : "未配置 {productName}", "Built-in CODE Server is starting up shortly, please wait." : "内建 CODE 服务器即将启动,请等待。", "Built-in CODE Server is restarting, please wait." : "内建 CODE 服务器正在重启,请等待。", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "错误:找不到 AppImage,请重新安装 Collabora Online 内建服务器。", @@ -214,8 +263,8 @@ "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "文件应在本地打开。如果你看不到任何文件被打开,请先确保在你的电脑中已安装相关的桌面客户端。", "Retry to open locally" : "重试本地打开", "Save a copy of the file under a new name and continue editing the new file" : "以新名称创建文件副本并进行编辑", - "Failed to revert the document to older version" : "文档回滚旧版本失败", - "Built-in CODE server failed to start" : "内置 CODE 服务器启动失败", + "Failed to revert the document to older version" : "无法将文档恢复到旧版本", + "Built-in CODE server failed to start" : "内置 CODE 服务器无法启动", "Insert file from {name}" : "从 {name} 中插入文件", "Insert file" : "插入文件", "Remove from favorites" : "取消收藏", @@ -228,15 +277,24 @@ "Follow current editor" : "跟踪当前编辑器", "New file" : "新文件", "Please enter the filename for the new file" : "请输入新文件的文件名", - "Create" : "创建", - "New drawing" : "新绘图", "Could not create file" : "无法创建文件", - "Select template" : "选择模板", + "Could not load templates" : "无法加载模板", "Saved with error: Collabora Online should use the same protocol as the server installation." : "保存时出错:Collabora Online 应使用与服务器安装相同的协议。", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "无法与 Collabora Online 服务器建立连接。这可能是由于您的 Web 服务器配置缺失导致。要获取更多信息,请访问:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office 需要一台运行 Collabora Online 的独立服务器来提供编辑功能。", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online (在线协作)需要一台单独的服务器作为类似网络应用开放平台接口(WOPI-like)的客户端来提供编辑功能。", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "默认情况下所有用户都能使用 {productName} 编辑文档。当此设置激活时,只有特定分组的成员才能编辑文档,而其他用户只能查看文档。", + "Secure view settings" : "安全视图设置", + "Secure view enables you to secure documents by embedding a watermark" : "安全查看允许您嵌入水印来保护文档", + "Enable watermarking" : "启用水印功能", + "Show watermark on tagged files" : "在已打标签的文件上显示水印", + "Show watermark for users of groups" : "为分组的用户显示标签", + "Show watermark for all shares" : "为所有共享显示水印", + "Show watermark for read only shares" : "为只读共享显示水印", + "Show watermark for all link shares" : "为所有的链接共享显示水印", + "Show watermark for download hidden shares" : "为隐藏下载的共享显示水印", + "Show watermark for read only link shares" : "为只读的链接共享显示水印", + "Show watermark on link shares with specific system tags" : "为打了特定系统标签的链接共享显示水印", "Error" : "错误", "An error occurred" : "发生了一个错误", "Please choose your nickname to continue as guest user." : "请选择你的昵称来以一个访客的身份继续使用", @@ -244,7 +302,9 @@ "Set" : "设置", "Please enter the filename to store the document as." : "请输入要保存文档的文件名", "New filename" : "新文件名", - "Failed to connect to {productName}. Please try again later or contact your server administrator." : "连接到 {productName} 失败。请稍后重试或联系您的服务器管理员。", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online 尚未设置。请联系您的管理员。", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "不支持打开文件,因为没有会话,外部存储的凭据就不可用", + "Failed to connect to {productName}. Please try again later or contact your server administrator." : "无法连接到 {productName}。请稍后重试或联系您的服务器管理员。", "Saving…" : "正在保存 ...", "Insert from {name}" : "从 {name} 插入", "Last saved version" : "最近保存版本", @@ -257,6 +317,10 @@ "No templates defined." : "没有已定义的模板。", "Add a new one?" : "添加一个新的?", "template preview" : "模板预览", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非通过分享和访问控制设置限制,文件仍然可以被 Nextcloud 下载", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "对于包含水印的文档,预览将被禁用以避免泄露文件的第一页。", + "Show watermark for shares without download permission" : "为没有下载权限的共享显示水印", + "New drawing" : "新绘图", "Collabora Online" : "Collabora Online", "Document already exists" : "文档已存在", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online(在线协作)已默认为所有用户启用。当此设置激活时,只有指定组的成员可以使用它。", diff --git a/l10n/zh_HK.js b/l10n/zh_HK.js index dc220a525d..2f2f82466d 100644 --- a/l10n/zh_HK.js +++ b/l10n/zh_HK.js @@ -28,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "僅可上傳範本檔案", "Invalid file provided" : "提供的檔案無效", "Template not found" : "找不到模板", + "Unable to determine the proper file extension for %1$s" : "無法確認 %1$s 的正確副檔名", + "Unable to fetch information on %1$s" : "無法擷取 %1$s 的資料", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "圖片 (.png)", + "Image (.svg)" : "圖片 (.svg)", + "Text (.rtf)" : "文字 (.rtf)", + "Text (.txt)" : "文字 (.txt)", + "Word Document (.docx)" : "Word 文件 (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument 文字 (.odt)", + "Excel Workbook (.xlsx)" : "Excel 活頁簿 (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument 試算表 (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint 簡報 (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument 簡報 (.odp)", "New document" : "新文字文件", "New spreadsheet" : "新試算表", "New presentation" : "新簡報", @@ -41,17 +54,46 @@ OC.L10N.register( "Sheets" : "工作表", "Slides" : "幻燈片", "Office" : "Nextcloud Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud 小幫手幻燈片產生器", + "Generate Slide Deck" : "産生幻燈片", + "Generate a slide deck from a presentation script" : "從簡報講稿產生投影片", + "Presentation script" : "簡報講稿", + "Write the text for your presentation here" : "在此寫下您的簡報文字", + "Generated slide deck" : "已産生的幻燈片", + "The slide deck generated" : "已產生幻燈片", + "Nextcloud Office text document generator" : "Nextcloud Office 文字文件產生器", + "Document format" : "文件格式", + "The format of the generated document" : "產生文件的格式", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "產生 Office 文字文件", + "Generate an Office text document from a prompt" : "根據指令產生 Office 文字文件", + "Instructions" : "烹飪方法", + "Describe the document you want the assistant to generate" : "描述您想要助手產生的文件", + "Generated Office document" : "已產生 Office 文件", + "The Office document that was generated from the description" : "根據描述產生的 Office 文件", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office 試算表產生器", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "產生 Office 試算表文件", + "Generate an Office spreadsheet document from a prompt" : "根據指令產生 Office 試算表文件", "Empty" : "空的", "Anonymous guest" : "匿名訪客", "%s (Guest)" : "%s(訪客)", "Edit office documents directly in your browser." : "直接在您的瀏覽器中編輯辦公室文件。", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "此應用程式可以連線到 Collabora Online(或其他的)伺服器(類 WOPI 的客戶端)。Nextcloud 是 WOPI 主機。請閱讀文件以取得更多資訊。\n\n您也可以從 **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** 與 **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** 的應用程式商店安裝並使用 Collabora Office 應用程式離線編輯您的文件。", - "Global Templates" : "整體的模板", - "New" : "新", + "Accepted file types: {accepts}" : "接受的檔案類型:{accepts}", "Uploaded template \"{name}\"" : "已上傳模板「{name}」", "Template \"{name}\" already exists" : "模板「{name}」已存在", "Unable to delete template" : "無法刪除模板", "Deleted template" : "已刪除模板", + "Global Templates" : "整體的模板", + "New" : "新", + "Contact {0} to get an own installation." : "與 {0} 聯絡以自行安裝。", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "請在您的 Collabora Online 伺服器的 coolwsd.xml 檔案中設定此 URL:{url},以確保其會自動載入新增的字型。請注意,http:// 僅適用於 Collabora Online 的除錯版本。在生產版本中,您必須使用 https:// 進行遠端字體設定。", + "Failed to save settings" : "設定儲存失敗", + "Font format not supported ({mime})" : "不支持字體格式 ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office 是一套以 Collabora Online 為基礎的線上辦公室套裝軟體,可用來協作編輯,支援所有主要文件、試算表與簡報檔案格式,並可與所有現代的瀏覽器共同運作。", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online 是一套以 LibreOffice 為基礎的線上辦公室套裝軟體,可用來協作編輯,支援所有主要文件、試算表與簡報檔案格式,並可與所有現代的瀏覽器共同運作。", "Could not establish connection to the Collabora Online server." : "無法建立到 Collabora Online 伺服器的連線。", @@ -109,59 +151,66 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "如果有多個 Canonical webroot 供 Collabora 使用。將提供限制最少的一個。例如,若此站台同時可透過 shibbolized 與非 shibbolized 的 webroot 存取,將會使用非 shibbolized 的 webroot。如果僅會使用一個 webroot 存取此站台,那麼您可以忽略此設定。", "Enable access for external apps" : "啟用對外部應用程式的存取", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "允許對 WOPI 端點執行請求的 IPV4 和 IPV6 IP 地址和子網列表。如果未指定允許列表,則將允許所有主機。例如 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "額外的字體", - "Upload extra font file" : "上傳額外的字體檔案", + "Custom Fonts" : "自訂字體", + "Upload font file" : "上傳字體檔案", "Upload a font file" : "上傳字體檔案", "Available fonts" : "可用字體", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "為了獲得理想的文件相容性,我們建議您安裝常用字型。如果您的使用者使用 Microsoft Office,則可以依照文件安裝其專有字型。", "Custom fonts documentation" : "自訂字型文件", - "Secure view settings" : "安全檢視設定", - "Secure view enables you to secure documents by embedding a watermark" : "安全檢視讓您可以透過嵌入水印來保護文件", + "Secure View" : "安全檢視", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "安全視圖可讓您通過阻止下載、預覽和顯示水印來保護辦公文件", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "該設定僅適用於在 Nextcloud Office 中開啟的相容 Office 檔案", + "Downloading the file through WebDAV will be blocked" : "將會阻止通過 WebDAV 下載該檔案", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office 中的以下選項將被停用:複製、下載、導出、列印", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非透過分享或存取控制設定限制,否則檔案仍可透過 Nextcloud 下載", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "若 WOPI 設定未正確設定,檔案仍可透過 WOPI 請求下載", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "將會阻止有水印的檔案之預覽,以免洩露文件的第一頁", - "Enable watermarking" : "啟用水印", + "Previews will be blocked" : "預覽將被阻止", + "Enable secure view" : "啟用安全檢視", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "支援的佔位字串:{userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "在已標記的檔案上顯示水印", - "Select tags to enforce watermarking" : "選擇要強制加上水印的標籤", - "Show watermark for users of groups" : "對群組用戶顯示水印", - "Show watermark for all shares" : "對所有分享顯示水印", - "Show watermark for read only shares" : "對唯讀分享顯示水印", - "Show watermark for shares without download permission" : "為無下載權限的分享顯示水印", - "Show watermark for all link shares" : "對所有連結分享顯示水印", - "Show watermark for download hidden shares" : "對下載隱藏分享顯示水印", - "Show watermark for read only link shares" : "對唯讀連結分享顯示水印", - "Show watermark on link shares with specific system tags" : "在具有特定系統標籤的連結分享上顯示水印", - "Electronic signature settings" : "電子簽名設定", + "Enforce secure view on tagged files" : "在已標記的檔案上實施安全檢視", + "Select tags to enforce watermarking" : "選擇要實施加上水印的標籤", + "Enforce secure view for users of groups" : "對群組的用戶實施安全檢視", + "Enforce secure view for all shares" : "對所有分享實施安全檢視", + "Enforce secure view for read only shares" : "對唯讀分享實施安全檢視", + "Enforce secure view for all public Talk shares" : "對所有公共 Talk 分享實施安全檢視", + "Enforce secure view for shares without download permission" : "對沒有下載許可的分享實施安全檢視", + "Enforce secure view for all link shares" : "對所有連結分享實施安全檢視", + "Enforce secure view for download hidden shares" : "對所有下載隱藏分享實施安全檢視", + "Enforce secure view for read only link shares" : "對唯讀連結分享實施安全檢視", + "Enforce secure view on link shares with specific system tags" : "對具有特定系統標籤的連結分享實施安全檢視", + "Select tags to enforce secure view" : "選擇標籤以實施安全檢視", + "Electronic Signature" : "電子簽名", "Client ID for the electronic signature API" : "電子簽名 API 的客戶 ID", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "填寫註冊表格 https://eideasy.com/signup 以獲取客戶 ID 和密鑰", "Secret for the electronic signature API" : "電子簽名 API 的密鑰", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "如果 WOPI 允許清單未正確配置,則可能通過 WOPI 請求下載密鑰。", - "Contact {0} to get an own installation." : "與 {0} 聯絡以自行安裝。", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "請在您的 Collabora Online 伺服器的 coolwsd.xml 檔案中設定此 URL:{url},以確保其會自動載入新增的字型。請注意,http:// 僅適用於 Collabora Online 的除錯版本。在生產版本中,您必須使用 https:// 進行遠端字體設定。", - "Failed to save settings" : "設定儲存失敗", - "Font format not supported ({mime})" : "不支持字體格式 ({mime})", "Save" : "儲存", "Remove" : "移除", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在繼續訪問文件之前,請提供您希望使用的訪客名稱。如果您未提供名稱,將使用默認名稱。請輸入您的訪客名稱:", "Guest name" : "訪客名字", "Submit name" : "遞交名字", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在繼續訪問文件之前,請提供您希望使用的訪客名稱。如果您未提供名稱,將使用默認名稱。請輸入您的訪客名稱:", "Confirm" : "確認", "Cancel" : "取消", + "Save As" : "另存為", "Save as" : "另存為", "Path to save" : "保存的路徑", - "Save As" : "另存為", + "Invalid file name" : "檔案名稱無效", + "File name already exists" : "檔案名已存在", + "Select template" : "選擇範本", + "File name" : "檔案名稱", + "Create" : "建立", + "Failed to set Zotero API key" : "設定 Zotero API 密鑰失敗", "Link to your Zotero library" : "連結至 Zotero 媒體庫", "Connect your Zotero account to make use of references within Office." : "連接您的 Zotero 帳戶以在 Office 中進行引用。", "You can generate an account key here:" : "您可以在此產生帳戶密鑰:", "Zotero account settings" : "Zotero 帳戶設定", "Zotero API key" : "Zotero API 密鑰", "Submit" : "遞交", - "Failed to set Zotero API key" : "設定 Zotero API 密鑰失敗", - "Select a template directory" : "選擇範本目錄", "Select a personal template folder" : "選擇個人範本資料夾", + "Settings saved successfully." : "成功儲存設定。", + "Failed to save settings." : "儲存設定失敗。", + "Unexpected error occurred." : "發生意外錯誤。", + "Personal Settings for Nextcloud Office" : "Nextcloud Office 的個人設定", + "Select a template directory" : "選擇範本目錄", "Remove personal template folder" : "移除個人範本資料夾", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "此目錄中的模板將會新增到 Nextcloud Office 的模板選擇器中。", "Zotero" : "Zotero", @@ -181,22 +230,22 @@ OC.L10N.register( "No font overview" : "沒有字體概觀", "Delete this font" : "刪除此字體", "No results" : "沒有符合搜尋的項目", + "Select file" : "選擇檔案", "Select file or folder to link to" : "選擇要連結的檔案或資料夾", "Could not find any section in the document" : "在文件中找不到任何區塊", - "Select file" : "選擇檔案", + "{productName} is not configured" : "未配置 {productName}", + "Starting the built-in CODE server failed" : "未能啟動內置的 CODE 伺服器", + "Loading {filename} …" : "正在加載 {filename} …", + "Failed to load {productName} - please try again later" : "載入 {productName} 失敗,請稍後再試", + "Open in local editor" : "在近端編輯器中打開", + "Cluster is scaling …" : "集群正在進行擴展 ...", + "The collaborative editing was terminated by another user" : "協作編輯被另一個用戶終止", "Document loading failed" : "文件加載失敗", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "請檢查 Collabora Online 伺服器記錄以獲取更多詳細資訊,並確保 Nextcloud 可以從該伺服器連接。", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "套接字連接意外關閉。反向代理可能配置不正確,請聯繫管理員處理。", "More information can be found in the reverse proxy documentation" : "更多資訊可以在反向代理伺服器說明書中找到", "Close" : "關閉", "Edit" : "編輯", - "Starting the built-in CODE server failed" : "未能啟動內置的 CODE 伺服器", - "Loading {filename} …" : "正在加載 {filename} …", - "Open in local editor" : "在近端編輯器中打開", - "Cluster is scaling …" : "集群正在進行擴展 ...", - "The collaborative editing was terminated by another user" : "協作編輯被另一個用戶終止", - "Failed to load {productName} - please try again later" : "載入 {productName} 失敗,請稍後再試", - "{productName} is not configured" : "未配置 {productName}", "Built-in CODE Server is starting up shortly, please wait." : "內建的 CODE 伺服器即將啟動,請稍候。", "Built-in CODE Server is restarting, please wait." : "內建的 CODE 伺服器正在重新啟動,請稍候。", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "錯誤:找不到 AppImage,請重新安裝 Collabora Online 內建伺服器。", @@ -210,7 +259,7 @@ OC.L10N.register( "Edit with {productName}" : "使用 {productName} 編輯", "Insert into document" : "插入到文件中", "Open file locally" : "在近端打開檔案", - "When opening a file locally, the document will close for all users currently viewing the document." : "在近端打開文件時,該文件將對目前查看該文件的所有用戶關閉。", + "When opening a file locally, the document will close for all users currently viewing the document." : "在近端打開檔案時,該文件將對目前查看該文件的所有用戶關閉。", "Open locally" : "在近端打開", "Continue editing online" : "繼續在線編輯", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "該檔案現在應該在近端打開。如果檔案無法在近端打開,請確保您的系統上安裝了桌面客戶端。", @@ -229,16 +278,25 @@ OC.L10N.register( "Guest" : "訪客", "Follow current editor" : "跟隨目前編輯者", "New file" : "新增檔案", - "Please enter the filename for the new file" : "請輸入新文件的檔案名稱", - "Create" : "建立", - "New drawing" : "新繪圖", + "Please enter the filename for the new file" : "請輸入新檔案的檔案名稱", "Could not create file" : "無法建立檔案", - "Select template" : "選擇範本", + "Could not load templates" : "無法載入模板", "Saved with error: Collabora Online should use the same protocol as the server installation." : "儲存時發生錯誤:Collabora Online 應該使用與伺服器安裝相同的協定。", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "無法建立到 Collabora Online 伺服器的連線。這可能是因為您網路伺服器的設定遺失的關係。要取得更多資訊,請造訪:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office 需要運行 Collabora Online 的單獨伺服器來提供編輯功能。 ", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online 需要獨立的伺服器作為類 WOPI 的客戶端來提供編輯功能。", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "默認情況下,所有用戶都可以使用 {productName} 編輯文件。當此設置處於活動狀態時,只有指定組的成員可以編輯,其他人只能查看文件。", + "Secure view settings" : "安全檢視設定", + "Secure view enables you to secure documents by embedding a watermark" : "安全檢視讓您可以透過嵌入水印來保護文件", + "Enable watermarking" : "啟用水印", + "Show watermark on tagged files" : "在已標記的檔案上顯示水印", + "Show watermark for users of groups" : "對群組用戶顯示水印", + "Show watermark for all shares" : "對所有分享顯示水印", + "Show watermark for read only shares" : "對唯讀分享顯示水印", + "Show watermark for all link shares" : "對所有連結分享顯示水印", + "Show watermark for download hidden shares" : "對下載隱藏分享顯示水印", + "Show watermark for read only link shares" : "對唯讀連結分享顯示水印", + "Show watermark on link shares with specific system tags" : "在具有特定系統標籤的連結分享上顯示水印", "Error" : "錯誤", "An error occurred" : "發生錯誤", "Please choose your nickname to continue as guest user." : "若要繼續以訪客身分瀏覽,請選擇一個暱稱。", @@ -246,6 +304,8 @@ OC.L10N.register( "Set" : "設定", "Please enter the filename to store the document as." : "請輸入檔案名稱來儲存文件。", "New filename" : "新檔案名稱", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online 尚未設置。請聯絡管理員。", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "無法打開該檔案,因為在沒有連接節的情況下無法獲取外部存儲的憑據。", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "連線到 {productName} 失敗。請稍後再試或聯絡您的伺服器管理員。", "Saving…" : "儲存中...", "Insert from {name}" : "從 {name} 插入", @@ -259,6 +319,10 @@ OC.L10N.register( "No templates defined." : "未定義範本。", "Add a new one?" : "加入新的?", "template preview" : "範本預覽", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非透過分享或存取控制設定限制,否則檔案仍可透過 Nextcloud 下載", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "將會阻止有水印的檔案之預覽,以免洩露文件的第一頁", + "Show watermark for shares without download permission" : "為無下載權限的分享顯示水印", + "New drawing" : "新繪圖", "Collabora Online" : "Collabora Online", "Document already exists" : "文件已存在", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online 預設對所有用戶啟用。當此設定啟用時,僅特定群組的用戶可以使用它。", diff --git a/l10n/zh_HK.json b/l10n/zh_HK.json index c9ac7d72ea..1c7ca9e9e3 100644 --- a/l10n/zh_HK.json +++ b/l10n/zh_HK.json @@ -26,6 +26,19 @@ "Only template files can be uploaded" : "僅可上傳範本檔案", "Invalid file provided" : "提供的檔案無效", "Template not found" : "找不到模板", + "Unable to determine the proper file extension for %1$s" : "無法確認 %1$s 的正確副檔名", + "Unable to fetch information on %1$s" : "無法擷取 %1$s 的資料", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "圖片 (.png)", + "Image (.svg)" : "圖片 (.svg)", + "Text (.rtf)" : "文字 (.rtf)", + "Text (.txt)" : "文字 (.txt)", + "Word Document (.docx)" : "Word 文件 (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument 文字 (.odt)", + "Excel Workbook (.xlsx)" : "Excel 活頁簿 (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument 試算表 (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint 簡報 (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument 簡報 (.odp)", "New document" : "新文字文件", "New spreadsheet" : "新試算表", "New presentation" : "新簡報", @@ -39,17 +52,46 @@ "Sheets" : "工作表", "Slides" : "幻燈片", "Office" : "Nextcloud Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud 小幫手幻燈片產生器", + "Generate Slide Deck" : "産生幻燈片", + "Generate a slide deck from a presentation script" : "從簡報講稿產生投影片", + "Presentation script" : "簡報講稿", + "Write the text for your presentation here" : "在此寫下您的簡報文字", + "Generated slide deck" : "已産生的幻燈片", + "The slide deck generated" : "已產生幻燈片", + "Nextcloud Office text document generator" : "Nextcloud Office 文字文件產生器", + "Document format" : "文件格式", + "The format of the generated document" : "產生文件的格式", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "產生 Office 文字文件", + "Generate an Office text document from a prompt" : "根據指令產生 Office 文字文件", + "Instructions" : "烹飪方法", + "Describe the document you want the assistant to generate" : "描述您想要助手產生的文件", + "Generated Office document" : "已產生 Office 文件", + "The Office document that was generated from the description" : "根據描述產生的 Office 文件", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office 試算表產生器", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "產生 Office 試算表文件", + "Generate an Office spreadsheet document from a prompt" : "根據指令產生 Office 試算表文件", "Empty" : "空的", "Anonymous guest" : "匿名訪客", "%s (Guest)" : "%s(訪客)", "Edit office documents directly in your browser." : "直接在您的瀏覽器中編輯辦公室文件。", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "此應用程式可以連線到 Collabora Online(或其他的)伺服器(類 WOPI 的客戶端)。Nextcloud 是 WOPI 主機。請閱讀文件以取得更多資訊。\n\n您也可以從 **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** 與 **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** 的應用程式商店安裝並使用 Collabora Office 應用程式離線編輯您的文件。", - "Global Templates" : "整體的模板", - "New" : "新", + "Accepted file types: {accepts}" : "接受的檔案類型:{accepts}", "Uploaded template \"{name}\"" : "已上傳模板「{name}」", "Template \"{name}\" already exists" : "模板「{name}」已存在", "Unable to delete template" : "無法刪除模板", "Deleted template" : "已刪除模板", + "Global Templates" : "整體的模板", + "New" : "新", + "Contact {0} to get an own installation." : "與 {0} 聯絡以自行安裝。", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "請在您的 Collabora Online 伺服器的 coolwsd.xml 檔案中設定此 URL:{url},以確保其會自動載入新增的字型。請注意,http:// 僅適用於 Collabora Online 的除錯版本。在生產版本中,您必須使用 https:// 進行遠端字體設定。", + "Failed to save settings" : "設定儲存失敗", + "Font format not supported ({mime})" : "不支持字體格式 ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office 是一套以 Collabora Online 為基礎的線上辦公室套裝軟體,可用來協作編輯,支援所有主要文件、試算表與簡報檔案格式,並可與所有現代的瀏覽器共同運作。", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online 是一套以 LibreOffice 為基礎的線上辦公室套裝軟體,可用來協作編輯,支援所有主要文件、試算表與簡報檔案格式,並可與所有現代的瀏覽器共同運作。", "Could not establish connection to the Collabora Online server." : "無法建立到 Collabora Online 伺服器的連線。", @@ -107,59 +149,66 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "如果有多個 Canonical webroot 供 Collabora 使用。將提供限制最少的一個。例如,若此站台同時可透過 shibbolized 與非 shibbolized 的 webroot 存取,將會使用非 shibbolized 的 webroot。如果僅會使用一個 webroot 存取此站台,那麼您可以忽略此設定。", "Enable access for external apps" : "啟用對外部應用程式的存取", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "允許對 WOPI 端點執行請求的 IPV4 和 IPV6 IP 地址和子網列表。如果未指定允許列表,則將允許所有主機。例如 10.0.0.20,10.0.4.0/24", - "Extra fonts" : "額外的字體", - "Upload extra font file" : "上傳額外的字體檔案", + "Custom Fonts" : "自訂字體", + "Upload font file" : "上傳字體檔案", "Upload a font file" : "上傳字體檔案", "Available fonts" : "可用字體", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "為了獲得理想的文件相容性,我們建議您安裝常用字型。如果您的使用者使用 Microsoft Office,則可以依照文件安裝其專有字型。", "Custom fonts documentation" : "自訂字型文件", - "Secure view settings" : "安全檢視設定", - "Secure view enables you to secure documents by embedding a watermark" : "安全檢視讓您可以透過嵌入水印來保護文件", + "Secure View" : "安全檢視", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "安全視圖可讓您通過阻止下載、預覽和顯示水印來保護辦公文件", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "該設定僅適用於在 Nextcloud Office 中開啟的相容 Office 檔案", + "Downloading the file through WebDAV will be blocked" : "將會阻止通過 WebDAV 下載該檔案", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office 中的以下選項將被停用:複製、下載、導出、列印", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非透過分享或存取控制設定限制,否則檔案仍可透過 Nextcloud 下載", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "若 WOPI 設定未正確設定,檔案仍可透過 WOPI 請求下載", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "將會阻止有水印的檔案之預覽,以免洩露文件的第一頁", - "Enable watermarking" : "啟用水印", + "Previews will be blocked" : "預覽將被阻止", + "Enable secure view" : "啟用安全檢視", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "支援的佔位字串:{userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "在已標記的檔案上顯示水印", - "Select tags to enforce watermarking" : "選擇要強制加上水印的標籤", - "Show watermark for users of groups" : "對群組用戶顯示水印", - "Show watermark for all shares" : "對所有分享顯示水印", - "Show watermark for read only shares" : "對唯讀分享顯示水印", - "Show watermark for shares without download permission" : "為無下載權限的分享顯示水印", - "Show watermark for all link shares" : "對所有連結分享顯示水印", - "Show watermark for download hidden shares" : "對下載隱藏分享顯示水印", - "Show watermark for read only link shares" : "對唯讀連結分享顯示水印", - "Show watermark on link shares with specific system tags" : "在具有特定系統標籤的連結分享上顯示水印", - "Electronic signature settings" : "電子簽名設定", + "Enforce secure view on tagged files" : "在已標記的檔案上實施安全檢視", + "Select tags to enforce watermarking" : "選擇要實施加上水印的標籤", + "Enforce secure view for users of groups" : "對群組的用戶實施安全檢視", + "Enforce secure view for all shares" : "對所有分享實施安全檢視", + "Enforce secure view for read only shares" : "對唯讀分享實施安全檢視", + "Enforce secure view for all public Talk shares" : "對所有公共 Talk 分享實施安全檢視", + "Enforce secure view for shares without download permission" : "對沒有下載許可的分享實施安全檢視", + "Enforce secure view for all link shares" : "對所有連結分享實施安全檢視", + "Enforce secure view for download hidden shares" : "對所有下載隱藏分享實施安全檢視", + "Enforce secure view for read only link shares" : "對唯讀連結分享實施安全檢視", + "Enforce secure view on link shares with specific system tags" : "對具有特定系統標籤的連結分享實施安全檢視", + "Select tags to enforce secure view" : "選擇標籤以實施安全檢視", + "Electronic Signature" : "電子簽名", "Client ID for the electronic signature API" : "電子簽名 API 的客戶 ID", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "填寫註冊表格 https://eideasy.com/signup 以獲取客戶 ID 和密鑰", "Secret for the electronic signature API" : "電子簽名 API 的密鑰", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "如果 WOPI 允許清單未正確配置,則可能通過 WOPI 請求下載密鑰。", - "Contact {0} to get an own installation." : "與 {0} 聯絡以自行安裝。", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "請在您的 Collabora Online 伺服器的 coolwsd.xml 檔案中設定此 URL:{url},以確保其會自動載入新增的字型。請注意,http:// 僅適用於 Collabora Online 的除錯版本。在生產版本中,您必須使用 https:// 進行遠端字體設定。", - "Failed to save settings" : "設定儲存失敗", - "Font format not supported ({mime})" : "不支持字體格式 ({mime})", "Save" : "儲存", "Remove" : "移除", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在繼續訪問文件之前,請提供您希望使用的訪客名稱。如果您未提供名稱,將使用默認名稱。請輸入您的訪客名稱:", "Guest name" : "訪客名字", "Submit name" : "遞交名字", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在繼續訪問文件之前,請提供您希望使用的訪客名稱。如果您未提供名稱,將使用默認名稱。請輸入您的訪客名稱:", "Confirm" : "確認", "Cancel" : "取消", + "Save As" : "另存為", "Save as" : "另存為", "Path to save" : "保存的路徑", - "Save As" : "另存為", + "Invalid file name" : "檔案名稱無效", + "File name already exists" : "檔案名已存在", + "Select template" : "選擇範本", + "File name" : "檔案名稱", + "Create" : "建立", + "Failed to set Zotero API key" : "設定 Zotero API 密鑰失敗", "Link to your Zotero library" : "連結至 Zotero 媒體庫", "Connect your Zotero account to make use of references within Office." : "連接您的 Zotero 帳戶以在 Office 中進行引用。", "You can generate an account key here:" : "您可以在此產生帳戶密鑰:", "Zotero account settings" : "Zotero 帳戶設定", "Zotero API key" : "Zotero API 密鑰", "Submit" : "遞交", - "Failed to set Zotero API key" : "設定 Zotero API 密鑰失敗", - "Select a template directory" : "選擇範本目錄", "Select a personal template folder" : "選擇個人範本資料夾", + "Settings saved successfully." : "成功儲存設定。", + "Failed to save settings." : "儲存設定失敗。", + "Unexpected error occurred." : "發生意外錯誤。", + "Personal Settings for Nextcloud Office" : "Nextcloud Office 的個人設定", + "Select a template directory" : "選擇範本目錄", "Remove personal template folder" : "移除個人範本資料夾", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "此目錄中的模板將會新增到 Nextcloud Office 的模板選擇器中。", "Zotero" : "Zotero", @@ -179,22 +228,22 @@ "No font overview" : "沒有字體概觀", "Delete this font" : "刪除此字體", "No results" : "沒有符合搜尋的項目", + "Select file" : "選擇檔案", "Select file or folder to link to" : "選擇要連結的檔案或資料夾", "Could not find any section in the document" : "在文件中找不到任何區塊", - "Select file" : "選擇檔案", + "{productName} is not configured" : "未配置 {productName}", + "Starting the built-in CODE server failed" : "未能啟動內置的 CODE 伺服器", + "Loading {filename} …" : "正在加載 {filename} …", + "Failed to load {productName} - please try again later" : "載入 {productName} 失敗,請稍後再試", + "Open in local editor" : "在近端編輯器中打開", + "Cluster is scaling …" : "集群正在進行擴展 ...", + "The collaborative editing was terminated by another user" : "協作編輯被另一個用戶終止", "Document loading failed" : "文件加載失敗", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "請檢查 Collabora Online 伺服器記錄以獲取更多詳細資訊,並確保 Nextcloud 可以從該伺服器連接。", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "套接字連接意外關閉。反向代理可能配置不正確,請聯繫管理員處理。", "More information can be found in the reverse proxy documentation" : "更多資訊可以在反向代理伺服器說明書中找到", "Close" : "關閉", "Edit" : "編輯", - "Starting the built-in CODE server failed" : "未能啟動內置的 CODE 伺服器", - "Loading {filename} …" : "正在加載 {filename} …", - "Open in local editor" : "在近端編輯器中打開", - "Cluster is scaling …" : "集群正在進行擴展 ...", - "The collaborative editing was terminated by another user" : "協作編輯被另一個用戶終止", - "Failed to load {productName} - please try again later" : "載入 {productName} 失敗,請稍後再試", - "{productName} is not configured" : "未配置 {productName}", "Built-in CODE Server is starting up shortly, please wait." : "內建的 CODE 伺服器即將啟動,請稍候。", "Built-in CODE Server is restarting, please wait." : "內建的 CODE 伺服器正在重新啟動,請稍候。", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "錯誤:找不到 AppImage,請重新安裝 Collabora Online 內建伺服器。", @@ -208,7 +257,7 @@ "Edit with {productName}" : "使用 {productName} 編輯", "Insert into document" : "插入到文件中", "Open file locally" : "在近端打開檔案", - "When opening a file locally, the document will close for all users currently viewing the document." : "在近端打開文件時,該文件將對目前查看該文件的所有用戶關閉。", + "When opening a file locally, the document will close for all users currently viewing the document." : "在近端打開檔案時,該文件將對目前查看該文件的所有用戶關閉。", "Open locally" : "在近端打開", "Continue editing online" : "繼續在線編輯", "The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "該檔案現在應該在近端打開。如果檔案無法在近端打開,請確保您的系統上安裝了桌面客戶端。", @@ -227,16 +276,25 @@ "Guest" : "訪客", "Follow current editor" : "跟隨目前編輯者", "New file" : "新增檔案", - "Please enter the filename for the new file" : "請輸入新文件的檔案名稱", - "Create" : "建立", - "New drawing" : "新繪圖", + "Please enter the filename for the new file" : "請輸入新檔案的檔案名稱", "Could not create file" : "無法建立檔案", - "Select template" : "選擇範本", + "Could not load templates" : "無法載入模板", "Saved with error: Collabora Online should use the same protocol as the server installation." : "儲存時發生錯誤:Collabora Online 應該使用與伺服器安裝相同的協定。", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "無法建立到 Collabora Online 伺服器的連線。這可能是因為您網路伺服器的設定遺失的關係。要取得更多資訊,請造訪:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office 需要運行 Collabora Online 的單獨伺服器來提供編輯功能。 ", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online 需要獨立的伺服器作為類 WOPI 的客戶端來提供編輯功能。", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "默認情況下,所有用戶都可以使用 {productName} 編輯文件。當此設置處於活動狀態時,只有指定組的成員可以編輯,其他人只能查看文件。", + "Secure view settings" : "安全檢視設定", + "Secure view enables you to secure documents by embedding a watermark" : "安全檢視讓您可以透過嵌入水印來保護文件", + "Enable watermarking" : "啟用水印", + "Show watermark on tagged files" : "在已標記的檔案上顯示水印", + "Show watermark for users of groups" : "對群組用戶顯示水印", + "Show watermark for all shares" : "對所有分享顯示水印", + "Show watermark for read only shares" : "對唯讀分享顯示水印", + "Show watermark for all link shares" : "對所有連結分享顯示水印", + "Show watermark for download hidden shares" : "對下載隱藏分享顯示水印", + "Show watermark for read only link shares" : "對唯讀連結分享顯示水印", + "Show watermark on link shares with specific system tags" : "在具有特定系統標籤的連結分享上顯示水印", "Error" : "錯誤", "An error occurred" : "發生錯誤", "Please choose your nickname to continue as guest user." : "若要繼續以訪客身分瀏覽,請選擇一個暱稱。", @@ -244,6 +302,8 @@ "Set" : "設定", "Please enter the filename to store the document as." : "請輸入檔案名稱來儲存文件。", "New filename" : "新檔案名稱", + "Collabora Online is not setup yet. Please contact your administrator." : "Collabora Online 尚未設置。請聯絡管理員。", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "無法打開該檔案,因為在沒有連接節的情況下無法獲取外部存儲的憑據。", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "連線到 {productName} 失敗。請稍後再試或聯絡您的伺服器管理員。", "Saving…" : "儲存中...", "Insert from {name}" : "從 {name} 插入", @@ -257,6 +317,10 @@ "No templates defined." : "未定義範本。", "Add a new one?" : "加入新的?", "template preview" : "範本預覽", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非透過分享或存取控制設定限制,否則檔案仍可透過 Nextcloud 下載", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "將會阻止有水印的檔案之預覽,以免洩露文件的第一頁", + "Show watermark for shares without download permission" : "為無下載權限的分享顯示水印", + "New drawing" : "新繪圖", "Collabora Online" : "Collabora Online", "Document already exists" : "文件已存在", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online 預設對所有用戶啟用。當此設定啟用時,僅特定群組的用戶可以使用它。", diff --git a/l10n/zh_TW.js b/l10n/zh_TW.js index f04b43d588..2ddc9d4467 100644 --- a/l10n/zh_TW.js +++ b/l10n/zh_TW.js @@ -28,6 +28,19 @@ OC.L10N.register( "Only template files can be uploaded" : "僅可上傳範本檔案", "Invalid file provided" : "提供的檔案無效", "Template not found" : "找不到範本", + "Unable to determine the proper file extension for %1$s" : "無法確認 %1$s 的正確副檔名", + "Unable to fetch information on %1$s" : "無法擷取 %1$s 上的資料", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "圖片 (.png)", + "Image (.svg)" : "圖片 (.svg)", + "Text (.rtf)" : "文字 (.rtf)", + "Text (.txt)" : "文字 (.txt)", + "Word Document (.docx)" : "Word 文件 (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument 文字 (.odt)", + "Excel Workbook (.xlsx)" : "Excel 活頁簿 (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument 試算表 (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint 簡報 (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument 簡報 (.odp)", "New document" : "新文字文件", "New spreadsheet" : "新試算表", "New presentation" : "新簡報", @@ -41,17 +54,46 @@ OC.L10N.register( "Sheets" : "工作表", "Slides" : "投影片", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud 小幫手投影片產生器", + "Generate Slide Deck" : "產生投影片", + "Generate a slide deck from a presentation script" : "從簡報講稿產生投影片", + "Presentation script" : "簡報講稿", + "Write the text for your presentation here" : "在此寫下您的簡報文字", + "Generated slide deck" : "產生的投影片", + "The slide deck generated" : "已產生投影片", + "Nextcloud Office text document generator" : "Nextcloud Office 文字文件產生器", + "Document format" : "文件格式", + "The format of the generated document" : "產生文件的格式", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "產生 Office 文字文件", + "Generate an Office text document from a prompt" : "根據指令產生 Office 文字文件", + "Instructions" : "說明", + "Describe the document you want the assistant to generate" : "描述您想要助手產生的文件", + "Generated Office document" : "已產生 Office 文件", + "The Office document that was generated from the description" : "根據描述產生的 Office 文件", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office 試算表產生器", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "產生 Office 試算表文件", + "Generate an Office spreadsheet document from a prompt" : "根據指令產生 Office 試算表文件", "Empty" : "空的", "Anonymous guest" : "匿名訪客", "%s (Guest)" : "%s(訪客)", "Edit office documents directly in your browser." : "直接在您的瀏覽器中編輯辦公室文件。", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "此應用程式可以連線到 Collabora Online(或其他的)伺服器(類 WOPI 的客戶端)。Nextcloud 是 WOPI 主機。請閱讀文件以取得更多資訊。\n\n您也可以從 **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** 與 **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** 的應用程式商店安裝並使用 Collabora Office 應用程式離線編輯您的文件。", - "Global Templates" : "全域範本", - "New" : "建立新的", + "Accepted file types: {accepts}" : "接受的檔案類型:{accepts}", "Uploaded template \"{name}\"" : "已上傳範本「{name}」", "Template \"{name}\" already exists" : "範本「{name}」已存在!", "Unable to delete template" : "無法刪除範本", "Deleted template" : "已刪除範本", + "Global Templates" : "全域範本", + "New" : "建立新的", + "Contact {0} to get an own installation." : "與 {0} 聯絡以自行安裝。", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "請在您的 Collabora Online 伺服器的 coolwsd.xml 檔案中設定此 URL:{url},以確保其會自動載入新增的字型。請注意,http:// 僅適用於 Collabora Online 的除錯版本。在生產版本中,您必須使用 https:// 進行遠端字體設定。", + "Failed to save settings" : "設定儲存失敗", + "Font format not supported ({mime})" : "不支援的字型格式 ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office 是一款功能強大,以 Collabora Online 為基礎的線上辦公室套裝軟體,支援協作編輯,支援所有主要文件、試算表與簡報檔案格式,並可與所有現代的瀏覽器共同運作。", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online 是一套以 LibreOffice 為基礎的線上辦公室套裝軟體,可用來協作編輯,支援所有主要文件、試算表與簡報檔案格式,並可與所有現代的瀏覽器共同運作。", "Could not establish connection to the Collabora Online server." : "無法建立到 Collabora Online 伺服器的連線。", @@ -109,60 +151,66 @@ OC.L10N.register( "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "如果有多個 Canonical webroot 供 Collabora 使用。將提供限制最少的一個。例如,若此站台同時可透過 shibbolized 與非 shibbolized 的 webroot 存取,將會使用非 shibbolized 的 webroot。如果僅會使用一個 webroot 存取此站台,那麼您可以忽略此設定。", "Enable access for external apps" : "啟用對外部應用程式的存取", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "允許對 WOPI 端點執行請求的 IPv4 與 IPv6 IP 地址與子網路清單。如果未指定允許清單,則將允許所有主機。例如:10.0.0.20,10.0.4.0/24", - "Extra fonts" : "額外字型", - "Upload extra font file" : "上傳額外的字型檔案", + "Custom Fonts" : "自訂字型", + "Upload font file" : "上傳字型檔案", "Upload a font file" : "上傳字型檔案", "Available fonts" : "可用字型", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "為了獲得理想的文件相容性,我們建議您安裝常用字型。如果您的使用者使用 Microsoft Office,則可以依照文件安裝其專有字型。", "Custom fonts documentation" : "自訂字型文件", - "Secure view settings" : "安全檢視設定", - "Secure view enables you to secure documents by embedding a watermark" : "安全檢視讓您可以透過嵌入水印來保護文件", + "Secure View" : "安全檢視", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "安全檢視讓您可以透過封鎖下載、預覽與顯示水印來保護辦公室文件", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "該設定僅適用於在 Nextcloud Office 中開啟的相容 office 檔案", + "Downloading the file through WebDAV will be blocked" : "將會阻止透過 WebDAV 下載檔案", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office 中的以下選項將被停用:複製、下載、匯出、列印", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非透過分享或存取控制設定限制,否則檔案仍可透過 Nextcloud 下載", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "若 WOPI 設定未正確設定,檔案仍可透過 WOPI 請求下載", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "將會阻止有水印的檔案之預覽,以免洩露文件的第一頁", - "Enable watermarking" : "啟用水印", + "Previews will be blocked" : "將會封鎖預覽", + "Enable secure view" : "啟用安全檢視", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "支援的佔位字串:{userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "在已標記的檔案上顯示水印", + "Enforce secure view on tagged files" : "對已標記的檔案強制執行安全檢視", "Select tags to enforce watermarking" : "選取要強制加上水印的標籤", - "Show watermark for users of groups" : "對群組使用者顯示水印", - "Show watermark for all shares" : "對所有分享顯示水印", - "Show watermark for read only shares" : "對唯讀分享顯示水印", - "Show watermark for shares without download permission" : "為無下載權限的分享顯示水印", - "Show watermark for all link shares" : "對所有連結分享顯示水印", - "Show watermark for download hidden shares" : "對下載隱藏分享顯示水印", - "Show watermark for read only link shares" : "對唯讀連結分享顯示水印", - "Show watermark on link shares with specific system tags" : "在具有特定系統標籤的連結分享上顯示水印", - "Electronic signature settings" : "電子簽章設定", + "Enforce secure view for users of groups" : "為群組使用者強制執行安全檢視", + "Enforce secure view for all shares" : "為所有分享強制執行安全檢視", + "Enforce secure view for read only shares" : "為唯讀分享強制執行安全檢視", + "Enforce secure view for all public Talk shares" : "為所有公開 Talk 分享強制執行安全檢視", + "Enforce secure view for shares without download permission" : "為沒有下載權限的分享強制執行安全檢視", + "Enforce secure view for all link shares" : "為所有連結分享強制執行安全檢視", + "Enforce secure view for download hidden shares" : "為下載的隱藏分享強制執行安全檢視", + "Enforce secure view for read only link shares" : "為唯讀連結分享強制執行安全檢視", + "Enforce secure view on link shares with specific system tags" : "為有特定系統標籤的連結分享強制執行安全檢視", + "Select tags to enforce secure view" : "選取要強制執行安全檢視的標籤", + "Electronic Signature" : "電子簽章", "Client ID for the electronic signature API" : "電子簽章 API 的客戶 ID", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "填寫 https://eideasy.com/signup 上的註冊表單,以取得客戶端 ID 與密碼。", "Secret for the electronic signature API" : "電子簽章 API 的祕密", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "若未正確設定 WOPI 允許清單,則可透過 WOPI 請求下載該祕密。", - "Contact {0} to get an own installation." : "與 {0} 聯絡以自行安裝。", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "請在您的 Collabora Online 伺服器的 coolwsd.xml 檔案中設定此 URL:{url},以確保其會自動載入新增的字型。請注意,http:// 僅適用於 Collabora Online 的除錯版本。在生產版本中,您必須使用 https:// 進行遠端字體設定。", - "Failed to save settings" : "設定儲存失敗", - "Font format not supported ({mime})" : "不支援的字型格式 ({mime})", "Save" : "儲存", "Remove" : "移除", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在繼續處理文件前,請輸入您希望使用的訪客名稱。若您未提供名稱,將使用預設名稱。", "Guest name" : "訪客名稱", "Submit name" : "遞交名稱", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在繼續處理文件前,請輸入您希望使用的訪客名稱。若您未提供名稱,將使用預設名稱。", "Confirm" : "確認", "Cancel" : "取消", + "Save As" : "另存為", "Save as" : "另存新檔", "Path to save" : "儲存路徑", - "Save As" : "另存為", + "Invalid file name" : "無效的檔案名稱", + "File name already exists" : "檔案名稱已存在", + "Select template" : "選擇範本", + "File name" : "檔案名稱", + "Create" : "建立", + "Failed to set Zotero API key" : "設定 Zotero API 金鑰失敗", "Link to your Zotero library" : "連結至 Zotero 媒體庫", "Connect your Zotero account to make use of references within Office." : "連結您的 Zotero 帳號以於辦公室套裝軟體中用於參考文獻。", "You can generate an account key here:" : "您可以在此產生帳號金鑰:", "Zotero account settings" : "Zotero 帳號設定", "Zotero API key" : "Zotero API 金鑰", "Submit" : "遞交", - "Failed to set Zotero API key" : "設定 Zotero API 金鑰失敗", + "Select a personal template folder" : "選取個人範本資料夾", + "Settings saved successfully." : "成功儲存設定。", + "Failed to save settings." : "儲存設定失敗。", + "Unexpected error occurred." : "發生意外錯誤。", "Personal Settings for Nextcloud Office" : "Nextcloud Office 的個人設定", "Select a template directory" : "選取範本目錄", - "Select a personal template folder" : "選取個人範本資料夾", "Remove personal template folder" : "移除個人範本資料夾", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "此目錄內的範本將會被新增至 Nextcloud Office 的範本選擇器中。", "Zotero" : "Zotero", @@ -177,30 +225,27 @@ OC.L10N.register( "Enter document signing CA chain" : "輸入文件簽署 CA 鏈", "To use document signing, specify your signing certificate, key and CA chain here." : "要使用文件簽署,請在此處指定您的簽署憑證、金鑰與 CA 鏈。", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "此站台不支援文件簽署,因為缺少功能或已停用。請聯絡管理員。", - "Settings saved successfully." : "成功儲存設定。", - "Failed to save settings." : "儲存設定失敗。", - "Unexpected error occurred." : "發生意外錯誤。", "Description" : "描述", "Add new token" : "加入新的權杖", "No font overview" : "無字型概覽", "Delete this font" : "刪除此字型", "No results" : "沒有符合搜尋的項目", + "Select file" : "選擇檔案", "Select file or folder to link to" : "選取要連結的檔案或資料夾", "Could not find any section in the document" : "在文件中找不到任何區塊", - "Select file" : "選擇檔案", + "{productName} is not configured" : "{productName} 沒有設定好", + "Starting the built-in CODE server failed" : "啟動內建的 CODE 伺服器失敗", + "Loading {filename} …" : "正在載入 {filename}……", + "Failed to load {productName} - please try again later" : "載入 {productName} 失敗,請稍後再試", + "Open in local editor" : "在本機編輯器中開啟", + "Cluster is scaling …" : "正在擴展叢集……", + "The collaborative editing was terminated by another user" : "協作編輯被另一個使用者終止", "Document loading failed" : "文件載入失敗", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "請檢查 Collabora Online 伺服器紀錄檔以取得更多資訊,並確保可以從該處存取 Nextcloud。", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "網路插座連線意外關閉。反向代理伺服器設定可能不正確,請聯絡管理員。", "More information can be found in the reverse proxy documentation" : "更多資訊可在反向代理伺服器文件中找到", "Close" : "關閉", "Edit" : "編輯", - "Starting the built-in CODE server failed" : "啟動內建的 CODE 伺服器失敗", - "Loading {filename} …" : "正在載入 {filename}……", - "Open in local editor" : "在本機編輯器中開啟", - "Cluster is scaling …" : "正在擴展叢集……", - "The collaborative editing was terminated by another user" : "協作編輯被另一個使用者終止", - "Failed to load {productName} - please try again later" : "載入 {productName} 失敗,請稍後再試", - "{productName} is not configured" : "{productName} 沒有設定好", "Built-in CODE Server is starting up shortly, please wait." : "內建的 CODE 伺服器即將啟動,請稍候。", "Built-in CODE Server is restarting, please wait." : "內建的 CODE 伺服器正在重新啟動,請稍候。", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "錯誤:找不到 AppImage,請重新安裝 Collabora Online 內建伺服器。", @@ -234,15 +279,24 @@ OC.L10N.register( "Follow current editor" : "跟隨目前編輯者", "New file" : "新增檔案", "Please enter the filename for the new file" : "請輸入新檔案的檔案名稱", - "Create" : "建立", - "New drawing" : "新繪圖", "Could not create file" : "無法建立檔案", - "Select template" : "選擇範本", + "Could not load templates" : "無法載入範本", "Saved with error: Collabora Online should use the same protocol as the server installation." : "儲存時發生錯誤:Collabora Online 應該使用與伺服器安裝相同的協定。", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "無法建立到 Collabora Online 伺服器的連線。這可能是因為您網路伺服器的設定遺失的關係。要取得更多資訊,請造訪:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office 需要一台執行 Collabora Online 的獨立伺服器來提供編輯功能。", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online 需要獨立的伺服器作為類 WOPI 的客戶端來提供編輯功能。", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "預設情況下,所有使用者都可以使用 {productName} 編輯文件。當此設定啟用時,只有指定群組的成員才能編輯,其他人只能檢視文件。", + "Secure view settings" : "安全檢視設定", + "Secure view enables you to secure documents by embedding a watermark" : "安全檢視讓您可以透過嵌入水印來保護文件", + "Enable watermarking" : "啟用水印", + "Show watermark on tagged files" : "在已標記的檔案上顯示水印", + "Show watermark for users of groups" : "對群組使用者顯示水印", + "Show watermark for all shares" : "對所有分享顯示水印", + "Show watermark for read only shares" : "對唯讀分享顯示水印", + "Show watermark for all link shares" : "對所有連結分享顯示水印", + "Show watermark for download hidden shares" : "對下載隱藏分享顯示水印", + "Show watermark for read only link shares" : "對唯讀連結分享顯示水印", + "Show watermark on link shares with specific system tags" : "在具有特定系統標籤的連結分享上顯示水印", "Error" : "錯誤", "An error occurred" : "發生錯誤", "Please choose your nickname to continue as guest user." : "若要繼續以訪客身分瀏覽,請選擇一個暱稱。", @@ -250,6 +304,8 @@ OC.L10N.register( "Set" : "設定", "Please enter the filename to store the document as." : "請輸入檔案名稱來儲存文件。", "New filename" : "新檔案名稱", + "Collabora Online is not setup yet. Please contact your administrator." : "尚未設定好 Collabora Online。請聯絡您的管理員。", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "不支援開啟檔案,因為在沒有工作階段的情況下無法取得外部儲存空間的憑證。", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "連線到 {productName} 失敗。請稍後再試或聯絡您的伺服器管理員。", "Saving…" : "儲存中...", "Insert from {name}" : "從 {name} 插入", @@ -263,6 +319,10 @@ OC.L10N.register( "No templates defined." : "未定義範本。", "Add a new one?" : "加入新的?", "template preview" : "範本預覽", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非透過分享或存取控制設定限制,否則檔案仍可透過 Nextcloud 下載", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "將會阻止有水印的檔案之預覽,以免洩露文件的第一頁", + "Show watermark for shares without download permission" : "為無下載權限的分享顯示水印", + "New drawing" : "新繪圖", "Collabora Online" : "Collabora Online", "Document already exists" : "文件已存在", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online 預設對所有使用者啟用。當此設定啟用時,僅特定群組的使用者可以使用它。", diff --git a/l10n/zh_TW.json b/l10n/zh_TW.json index 3ffc493ebb..2db35135ff 100644 --- a/l10n/zh_TW.json +++ b/l10n/zh_TW.json @@ -26,6 +26,19 @@ "Only template files can be uploaded" : "僅可上傳範本檔案", "Invalid file provided" : "提供的檔案無效", "Template not found" : "找不到範本", + "Unable to determine the proper file extension for %1$s" : "無法確認 %1$s 的正確副檔名", + "Unable to fetch information on %1$s" : "無法擷取 %1$s 上的資料", + "PDF (.pdf)" : "PDF (.pdf)", + "Image (.png)" : "圖片 (.png)", + "Image (.svg)" : "圖片 (.svg)", + "Text (.rtf)" : "文字 (.rtf)", + "Text (.txt)" : "文字 (.txt)", + "Word Document (.docx)" : "Word 文件 (.docx)", + "OpenDocument Text (.odt)" : "OpenDocument 文字 (.odt)", + "Excel Workbook (.xlsx)" : "Excel 活頁簿 (.xlsx)", + "OpenDocument Spreadsheet (.ods)" : "OpenDocument 試算表 (.ods)", + "PowerPoint Presentation (.pptx)" : "PowerPoint 簡報 (.pptx)", + "OpenDocument Presentation (.odp)" : "OpenDocument 簡報 (.odp)", "New document" : "新文字文件", "New spreadsheet" : "新試算表", "New presentation" : "新簡報", @@ -39,17 +52,46 @@ "Sheets" : "工作表", "Slides" : "投影片", "Office" : "Office", + "Nextcloud Assistant Slide Deck Generator" : "Nextcloud 小幫手投影片產生器", + "Generate Slide Deck" : "產生投影片", + "Generate a slide deck from a presentation script" : "從簡報講稿產生投影片", + "Presentation script" : "簡報講稿", + "Write the text for your presentation here" : "在此寫下您的簡報文字", + "Generated slide deck" : "產生的投影片", + "The slide deck generated" : "已產生投影片", + "Nextcloud Office text document generator" : "Nextcloud Office 文字文件產生器", + "Document format" : "文件格式", + "The format of the generated document" : "產生文件的格式", + "OpenXML (docx)" : "OpenXML (docx)", + "OpenDocument (odt)" : "OpenDocument (odt)", + "Portable Document Format (pdf)" : "Portable Document Format (pdf)", + "Generate Office text document" : "產生 Office 文字文件", + "Generate an Office text document from a prompt" : "根據指令產生 Office 文字文件", + "Instructions" : "說明", + "Describe the document you want the assistant to generate" : "描述您想要助手產生的文件", + "Generated Office document" : "已產生 Office 文件", + "The Office document that was generated from the description" : "根據描述產生的 Office 文件", + "Nextcloud Office spreadsheet generator" : "Nextcloud Office 試算表產生器", + "OpenXML (xlsx)" : "OpenXML (xlsx)", + "OpenDocument (ods)" : "OpenDocument (ods)", + "Generate Office spreadsheet document" : "產生 Office 試算表文件", + "Generate an Office spreadsheet document from a prompt" : "根據指令產生 Office 試算表文件", "Empty" : "空的", "Anonymous guest" : "匿名訪客", "%s (Guest)" : "%s(訪客)", "Edit office documents directly in your browser." : "直接在您的瀏覽器中編輯辦公室文件。", "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "此應用程式可以連線到 Collabora Online(或其他的)伺服器(類 WOPI 的客戶端)。Nextcloud 是 WOPI 主機。請閱讀文件以取得更多資訊。\n\n您也可以從 **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** 與 **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** 的應用程式商店安裝並使用 Collabora Office 應用程式離線編輯您的文件。", - "Global Templates" : "全域範本", - "New" : "建立新的", + "Accepted file types: {accepts}" : "接受的檔案類型:{accepts}", "Uploaded template \"{name}\"" : "已上傳範本「{name}」", "Template \"{name}\" already exists" : "範本「{name}」已存在!", "Unable to delete template" : "無法刪除範本", "Deleted template" : "已刪除範本", + "Global Templates" : "全域範本", + "New" : "建立新的", + "Contact {0} to get an own installation." : "與 {0} 聯絡以自行安裝。", + "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "請在您的 Collabora Online 伺服器的 coolwsd.xml 檔案中設定此 URL:{url},以確保其會自動載入新增的字型。請注意,http:// 僅適用於 Collabora Online 的除錯版本。在生產版本中,您必須使用 https:// 進行遠端字體設定。", + "Failed to save settings" : "設定儲存失敗", + "Font format not supported ({mime})" : "不支援的字型格式 ({mime})", "Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office 是一款功能強大,以 Collabora Online 為基礎的線上辦公室套裝軟體,支援協作編輯,支援所有主要文件、試算表與簡報檔案格式,並可與所有現代的瀏覽器共同運作。", "Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online 是一套以 LibreOffice 為基礎的線上辦公室套裝軟體,可用來協作編輯,支援所有主要文件、試算表與簡報檔案格式,並可與所有現代的瀏覽器共同運作。", "Could not establish connection to the Collabora Online server." : "無法建立到 Collabora Online 伺服器的連線。", @@ -107,60 +149,66 @@ "Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "如果有多個 Canonical webroot 供 Collabora 使用。將提供限制最少的一個。例如,若此站台同時可透過 shibbolized 與非 shibbolized 的 webroot 存取,將會使用非 shibbolized 的 webroot。如果僅會使用一個 webroot 存取此站台,那麼您可以忽略此設定。", "Enable access for external apps" : "啟用對外部應用程式的存取", "List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "允許對 WOPI 端點執行請求的 IPv4 與 IPv6 IP 地址與子網路清單。如果未指定允許清單,則將允許所有主機。例如:10.0.0.20,10.0.4.0/24", - "Extra fonts" : "額外字型", - "Upload extra font file" : "上傳額外的字型檔案", + "Custom Fonts" : "自訂字型", + "Upload font file" : "上傳字型檔案", "Upload a font file" : "上傳字型檔案", "Available fonts" : "可用字型", "For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "為了獲得理想的文件相容性,我們建議您安裝常用字型。如果您的使用者使用 Microsoft Office,則可以依照文件安裝其專有字型。", "Custom fonts documentation" : "自訂字型文件", - "Secure view settings" : "安全檢視設定", - "Secure view enables you to secure documents by embedding a watermark" : "安全檢視讓您可以透過嵌入水印來保護文件", + "Secure View" : "安全檢視", + "Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark" : "安全檢視讓您可以透過封鎖下載、預覽與顯示水印來保護辦公室文件", "The settings only apply to compatible office files that are opened in Nextcloud Office" : "該設定僅適用於在 Nextcloud Office 中開啟的相容 office 檔案", + "Downloading the file through WebDAV will be blocked" : "將會阻止透過 WebDAV 下載檔案", "The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Nextcloud Office 中的以下選項將被停用:複製、下載、匯出、列印", - "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非透過分享或存取控制設定限制,否則檔案仍可透過 Nextcloud 下載", "Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured" : "若 WOPI 設定未正確設定,檔案仍可透過 WOPI 請求下載", - "Previews will be blocked for watermarked files to not leak the first page of documents" : "將會阻止有水印的檔案之預覽,以免洩露文件的第一頁", - "Enable watermarking" : "啟用水印", + "Previews will be blocked" : "將會封鎖預覽", + "Enable secure view" : "啟用安全檢視", "Supported placeholders: {userId}, {userDisplayName}, {email}, {date}, {themingName}" : "支援的佔位字串:{userId}, {userDisplayName}, {email}, {date}, {themingName}", - "Show watermark on tagged files" : "在已標記的檔案上顯示水印", + "Enforce secure view on tagged files" : "對已標記的檔案強制執行安全檢視", "Select tags to enforce watermarking" : "選取要強制加上水印的標籤", - "Show watermark for users of groups" : "對群組使用者顯示水印", - "Show watermark for all shares" : "對所有分享顯示水印", - "Show watermark for read only shares" : "對唯讀分享顯示水印", - "Show watermark for shares without download permission" : "為無下載權限的分享顯示水印", - "Show watermark for all link shares" : "對所有連結分享顯示水印", - "Show watermark for download hidden shares" : "對下載隱藏分享顯示水印", - "Show watermark for read only link shares" : "對唯讀連結分享顯示水印", - "Show watermark on link shares with specific system tags" : "在具有特定系統標籤的連結分享上顯示水印", - "Electronic signature settings" : "電子簽章設定", + "Enforce secure view for users of groups" : "為群組使用者強制執行安全檢視", + "Enforce secure view for all shares" : "為所有分享強制執行安全檢視", + "Enforce secure view for read only shares" : "為唯讀分享強制執行安全檢視", + "Enforce secure view for all public Talk shares" : "為所有公開 Talk 分享強制執行安全檢視", + "Enforce secure view for shares without download permission" : "為沒有下載權限的分享強制執行安全檢視", + "Enforce secure view for all link shares" : "為所有連結分享強制執行安全檢視", + "Enforce secure view for download hidden shares" : "為下載的隱藏分享強制執行安全檢視", + "Enforce secure view for read only link shares" : "為唯讀連結分享強制執行安全檢視", + "Enforce secure view on link shares with specific system tags" : "為有特定系統標籤的連結分享強制執行安全檢視", + "Select tags to enforce secure view" : "選取要強制執行安全檢視的標籤", + "Electronic Signature" : "電子簽章", "Client ID for the electronic signature API" : "電子簽章 API 的客戶 ID", "Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "填寫 https://eideasy.com/signup 上的註冊表單,以取得客戶端 ID 與密碼。", "Secret for the electronic signature API" : "電子簽章 API 的祕密", "The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "若未正確設定 WOPI 允許清單,則可透過 WOPI 請求下載該祕密。", - "Contact {0} to get an own installation." : "與 {0} 聯絡以自行安裝。", - "Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "請在您的 Collabora Online 伺服器的 coolwsd.xml 檔案中設定此 URL:{url},以確保其會自動載入新增的字型。請注意,http:// 僅適用於 Collabora Online 的除錯版本。在生產版本中,您必須使用 https:// 進行遠端字體設定。", - "Failed to save settings" : "設定儲存失敗", - "Font format not supported ({mime})" : "不支援的字型格式 ({mime})", "Save" : "儲存", "Remove" : "移除", + "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在繼續處理文件前,請輸入您希望使用的訪客名稱。若您未提供名稱,將使用預設名稱。", "Guest name" : "訪客名稱", "Submit name" : "遞交名稱", - "Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "在繼續處理文件前,請輸入您希望使用的訪客名稱。若您未提供名稱,將使用預設名稱。", "Confirm" : "確認", "Cancel" : "取消", + "Save As" : "另存為", "Save as" : "另存新檔", "Path to save" : "儲存路徑", - "Save As" : "另存為", + "Invalid file name" : "無效的檔案名稱", + "File name already exists" : "檔案名稱已存在", + "Select template" : "選擇範本", + "File name" : "檔案名稱", + "Create" : "建立", + "Failed to set Zotero API key" : "設定 Zotero API 金鑰失敗", "Link to your Zotero library" : "連結至 Zotero 媒體庫", "Connect your Zotero account to make use of references within Office." : "連結您的 Zotero 帳號以於辦公室套裝軟體中用於參考文獻。", "You can generate an account key here:" : "您可以在此產生帳號金鑰:", "Zotero account settings" : "Zotero 帳號設定", "Zotero API key" : "Zotero API 金鑰", "Submit" : "遞交", - "Failed to set Zotero API key" : "設定 Zotero API 金鑰失敗", + "Select a personal template folder" : "選取個人範本資料夾", + "Settings saved successfully." : "成功儲存設定。", + "Failed to save settings." : "儲存設定失敗。", + "Unexpected error occurred." : "發生意外錯誤。", "Personal Settings for Nextcloud Office" : "Nextcloud Office 的個人設定", "Select a template directory" : "選取範本目錄", - "Select a personal template folder" : "選取個人範本資料夾", "Remove personal template folder" : "移除個人範本資料夾", "Templates inside of this directory will be added to the template selector of Nextcloud Office." : "此目錄內的範本將會被新增至 Nextcloud Office 的範本選擇器中。", "Zotero" : "Zotero", @@ -175,30 +223,27 @@ "Enter document signing CA chain" : "輸入文件簽署 CA 鏈", "To use document signing, specify your signing certificate, key and CA chain here." : "要使用文件簽署,請在此處指定您的簽署憑證、金鑰與 CA 鏈。", "This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "此站台不支援文件簽署,因為缺少功能或已停用。請聯絡管理員。", - "Settings saved successfully." : "成功儲存設定。", - "Failed to save settings." : "儲存設定失敗。", - "Unexpected error occurred." : "發生意外錯誤。", "Description" : "描述", "Add new token" : "加入新的權杖", "No font overview" : "無字型概覽", "Delete this font" : "刪除此字型", "No results" : "沒有符合搜尋的項目", + "Select file" : "選擇檔案", "Select file or folder to link to" : "選取要連結的檔案或資料夾", "Could not find any section in the document" : "在文件中找不到任何區塊", - "Select file" : "選擇檔案", + "{productName} is not configured" : "{productName} 沒有設定好", + "Starting the built-in CODE server failed" : "啟動內建的 CODE 伺服器失敗", + "Loading {filename} …" : "正在載入 {filename}……", + "Failed to load {productName} - please try again later" : "載入 {productName} 失敗,請稍後再試", + "Open in local editor" : "在本機編輯器中開啟", + "Cluster is scaling …" : "正在擴展叢集……", + "The collaborative editing was terminated by another user" : "協作編輯被另一個使用者終止", "Document loading failed" : "文件載入失敗", "Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "請檢查 Collabora Online 伺服器紀錄檔以取得更多資訊,並確保可以從該處存取 Nextcloud。", "Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "網路插座連線意外關閉。反向代理伺服器設定可能不正確,請聯絡管理員。", "More information can be found in the reverse proxy documentation" : "更多資訊可在反向代理伺服器文件中找到", "Close" : "關閉", "Edit" : "編輯", - "Starting the built-in CODE server failed" : "啟動內建的 CODE 伺服器失敗", - "Loading {filename} …" : "正在載入 {filename}……", - "Open in local editor" : "在本機編輯器中開啟", - "Cluster is scaling …" : "正在擴展叢集……", - "The collaborative editing was terminated by another user" : "協作編輯被另一個使用者終止", - "Failed to load {productName} - please try again later" : "載入 {productName} 失敗,請稍後再試", - "{productName} is not configured" : "{productName} 沒有設定好", "Built-in CODE Server is starting up shortly, please wait." : "內建的 CODE 伺服器即將啟動,請稍候。", "Built-in CODE Server is restarting, please wait." : "內建的 CODE 伺服器正在重新啟動,請稍候。", "Error: Cannot find the AppImage, please reinstall the Collabora Online Built-in server." : "錯誤:找不到 AppImage,請重新安裝 Collabora Online 內建伺服器。", @@ -232,15 +277,24 @@ "Follow current editor" : "跟隨目前編輯者", "New file" : "新增檔案", "Please enter the filename for the new file" : "請輸入新檔案的檔案名稱", - "Create" : "建立", - "New drawing" : "新繪圖", "Could not create file" : "無法建立檔案", - "Select template" : "選擇範本", + "Could not load templates" : "無法載入範本", "Saved with error: Collabora Online should use the same protocol as the server installation." : "儲存時發生錯誤:Collabora Online 應該使用與伺服器安裝相同的協定。", "Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "無法建立到 Collabora Online 伺服器的連線。這可能是因為您網路伺服器的設定遺失的關係。要取得更多資訊,請造訪:", "Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office 需要一台執行 Collabora Online 的獨立伺服器來提供編輯功能。", "Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online 需要獨立的伺服器作為類 WOPI 的客戶端來提供編輯功能。", "All users can edit documents with {productName} by default. When this setting is active, only the members of the specified groups can edit and the others can only view documents." : "預設情況下,所有使用者都可以使用 {productName} 編輯文件。當此設定啟用時,只有指定群組的成員才能編輯,其他人只能檢視文件。", + "Secure view settings" : "安全檢視設定", + "Secure view enables you to secure documents by embedding a watermark" : "安全檢視讓您可以透過嵌入水印來保護文件", + "Enable watermarking" : "啟用水印", + "Show watermark on tagged files" : "在已標記的檔案上顯示水印", + "Show watermark for users of groups" : "對群組使用者顯示水印", + "Show watermark for all shares" : "對所有分享顯示水印", + "Show watermark for read only shares" : "對唯讀分享顯示水印", + "Show watermark for all link shares" : "對所有連結分享顯示水印", + "Show watermark for download hidden shares" : "對下載隱藏分享顯示水印", + "Show watermark for read only link shares" : "對唯讀連結分享顯示水印", + "Show watermark on link shares with specific system tags" : "在具有特定系統標籤的連結分享上顯示水印", "Error" : "錯誤", "An error occurred" : "發生錯誤", "Please choose your nickname to continue as guest user." : "若要繼續以訪客身分瀏覽,請選擇一個暱稱。", @@ -248,6 +302,8 @@ "Set" : "設定", "Please enter the filename to store the document as." : "請輸入檔案名稱來儲存文件。", "New filename" : "新檔案名稱", + "Collabora Online is not setup yet. Please contact your administrator." : "尚未設定好 Collabora Online。請聯絡您的管理員。", + "Opening the file is not supported, since the credentials for the external storage are not available without a session" : "不支援開啟檔案,因為在沒有工作階段的情況下無法取得外部儲存空間的憑證。", "Failed to connect to {productName}. Please try again later or contact your server administrator." : "連線到 {productName} 失敗。請稍後再試或聯絡您的伺服器管理員。", "Saving…" : "儲存中...", "Insert from {name}" : "從 {name} 插入", @@ -261,6 +317,10 @@ "No templates defined." : "未定義範本。", "Add a new one?" : "加入新的?", "template preview" : "範本預覽", + "Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings" : "除非透過分享或存取控制設定限制,否則檔案仍可透過 Nextcloud 下載", + "Previews will be blocked for watermarked files to not leak the first page of documents" : "將會阻止有水印的檔案之預覽,以免洩露文件的第一頁", + "Show watermark for shares without download permission" : "為無下載權限的分享顯示水印", + "New drawing" : "新繪圖", "Collabora Online" : "Collabora Online", "Document already exists" : "文件已存在", "Collabora Online is enabled for all users by default. When this setting is active, only members of the specified groups can use it." : "Collabora Online 預設對所有使用者啟用。當此設定啟用時,僅特定群組的使用者可以使用它。", diff --git a/lib/AppConfig.php b/lib/AppConfig.php index ce05280730..6261afc752 100644 --- a/lib/AppConfig.php +++ b/lib/AppConfig.php @@ -8,6 +8,7 @@ use OCA\Richdocuments\AppInfo\Application; use OCA\Richdocuments\Service\FederationService; use OCP\App\IAppManager; +use OCP\AppFramework\Services\IAppConfig; use OCP\GlobalScale\IConfig as GlobalScaleConfig; use OCP\IConfig; @@ -38,6 +39,7 @@ class AppConfig { 'watermark_allTagsList' => [], 'watermark_linkTagsList' => [], 'token_ttl' => 36000, // 10 hours + 'doc_format' => 'ooxml', ]; public const WATERMARK_APP_NAMESPACE = 'files'; @@ -55,6 +57,7 @@ class AppConfig { public function __construct( private IConfig $config, + private IAppConfig $appConfig, private IAppManager $appManager, private GlobalScaleConfig $globalScaleConfig, ) { @@ -202,6 +205,14 @@ public function useSecureViewAdditionalMimes(): bool { return $this->config->getAppValue(Application::APPNAME, self::USE_SECURE_VIEW_ADDITIONAL_MIMES, 'no') === 'yes'; } + public function getMimeTypes(): array { + return array_merge( + Capabilities::MIMETYPES, + Capabilities::MIMETYPES_MSOFFICE, + Capabilities::MIMETYPES_OPTIONAL, + ); + } + public function getDomainList(): array { $urls = array_merge( [ $this->domainOnly($this->getCollaboraUrlPublic()) ], @@ -232,6 +243,10 @@ private function getFederationDomains(): array { return array_map(fn ($url) => $this->domainOnly($url), array_merge($trustedNextcloudDomains, $trustedCollaboraDomains)); } + public function isPreviewGenerationEnabled(): bool { + return $this->appConfig->getAppValueBool('preview_generation', true); + } + private function getGSDomains(): array { if (!$this->globalScaleConfig->isGlobalScaleEnabled()) { return []; diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 1bf44468a9..77e22e30c4 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -8,17 +8,22 @@ namespace OCA\Richdocuments\AppInfo; +use OCA\DAV\Events\SabrePluginAddEvent; use OCA\Files_Sharing\Event\ShareLinkAccessedEvent; +use OCA\Richdocuments\AppConfig; use OCA\Richdocuments\Capabilities; +use OCA\Richdocuments\Conversion\ConversionProvider; use OCA\Richdocuments\Db\WopiMapper; use OCA\Richdocuments\Listener\AddContentSecurityPolicyListener; use OCA\Richdocuments\Listener\AddFeaturePolicyListener; +use OCA\Richdocuments\Listener\AddSabrePluginListener; use OCA\Richdocuments\Listener\BeforeFetchPreviewListener; use OCA\Richdocuments\Listener\BeforeGetTemplatesListener; use OCA\Richdocuments\Listener\BeforeTemplateRenderedListener; use OCA\Richdocuments\Listener\FileCreatedFromTemplateListener; use OCA\Richdocuments\Listener\LoadAdditionalListener; use OCA\Richdocuments\Listener\LoadViewerListener; +use OCA\Richdocuments\Listener\OverwritePublicSharePropertiesListener; use OCA\Richdocuments\Listener\ReferenceListener; use OCA\Richdocuments\Listener\RegisterTemplateFileCreatorListener; use OCA\Richdocuments\Listener\ShareLinkListener; @@ -31,21 +36,33 @@ use OCA\Richdocuments\Preview\OpenDocument; use OCA\Richdocuments\Preview\Pdf; use OCA\Richdocuments\Reference\OfficeTargetReferenceProvider; +use OCA\Richdocuments\Storage\SecureViewWrapper; +use OCA\Richdocuments\TaskProcessing\SlideDeckGenerationProvider; +use OCA\Richdocuments\TaskProcessing\SlideDeckGenerationTaskType; +use OCA\Richdocuments\TaskProcessing\TextToDocumentProvider; +use OCA\Richdocuments\TaskProcessing\TextToDocumentTaskType; +use OCA\Richdocuments\TaskProcessing\TextToSpreadsheetProvider; +use OCA\Richdocuments\TaskProcessing\TextToSpreadsheetTaskType; use OCA\Richdocuments\Template\CollaboraTemplateProvider; +use OCA\Talk\Events\OverwritePublicSharePropertiesEvent; use OCA\Viewer\Event\LoadViewer; use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; use OCP\AppFramework\Bootstrap\IRegistrationContext; use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; +use OCP\BeforeSabrePubliclyLoadedEvent; use OCP\Collaboration\Reference\RenderReferenceEvent; use OCP\Collaboration\Resources\LoadAdditionalScriptsEvent; +use OCP\Files\Storage\IStorage; use OCP\Files\Template\BeforeGetTemplatesEvent; use OCP\Files\Template\FileCreatedFromTemplateEvent; use OCP\Files\Template\RegisterTemplateCreatorEvent; +use OCP\IAppConfig; use OCP\Preview\BeforePreviewFetchedEvent; use OCP\Security\CSP\AddContentSecurityPolicyEvent; use OCP\Security\FeaturePolicy\AddFeaturePolicyEvent; +use OCP\Server; class Application extends App implements IBootstrap { public const APPNAME = 'richdocuments'; @@ -55,6 +72,8 @@ public function __construct(array $urlParams = []) { } public function register(IRegistrationContext $context): void { + \OCP\Util::connectHook('OC_Filesystem', 'preSetup', $this, 'addStorageWrapper'); + $context->registerTemplateProvider(CollaboraTemplateProvider::class); $context->registerCapability(Capabilities::class); $context->registerMiddleWare(WOPIMiddleware::class); @@ -69,6 +88,9 @@ public function register(IRegistrationContext $context): void { $context->registerEventListener(RenderReferenceEvent::class, ReferenceListener::class); $context->registerEventListener(BeforeTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class); $context->registerEventListener(BeforeGetTemplatesEvent::class, BeforeGetTemplatesListener::class); + $context->registerEventListener(OverwritePublicSharePropertiesEvent::class, OverwritePublicSharePropertiesListener::class); + $context->registerEventListener(SabrePluginAddEvent::class, AddSabrePluginListener::class); + $context->registerEventListener(BeforeSabrePubliclyLoadedEvent::class, AddSabrePluginListener::class); $context->registerReferenceProvider(OfficeTargetReferenceProvider::class); $context->registerSensitiveMethods(WopiMapper::class, [ 'getPathForToken', @@ -81,9 +103,45 @@ public function register(IRegistrationContext $context): void { $context->registerPreviewProvider(OOXML::class, OOXML::MIMETYPE_REGEX); $context->registerPreviewProvider(OpenDocument::class, OpenDocument::MIMETYPE_REGEX); $context->registerPreviewProvider(Pdf::class, Pdf::MIMETYPE_REGEX); + $context->registerFileConversionProvider(ConversionProvider::class); $context->registerNotifierService(Notifier::class); + + $context->registerTaskProcessingTaskType(TextToDocumentTaskType::class); + $context->registerTaskProcessingProvider(TextToDocumentProvider::class); + $context->registerTaskProcessingTaskType(TextToSpreadsheetTaskType::class); + $context->registerTaskProcessingProvider(TextToSpreadsheetProvider::class); + $context->registerTaskProcessingProvider(SlideDeckGenerationProvider::class); + $context->registerTaskProcessingTaskType(SlideDeckGenerationTaskType::class); } public function boot(IBootContext $context): void { } + + /** + * @internal + */ + public function addStorageWrapper(): void { + if (Server::get(IAppConfig::class)->getValueString(AppConfig::WATERMARK_APP_NAMESPACE, 'watermark_enabled', 'no') === 'no') { + return; + } + + \OC\Files\Filesystem::addStorageWrapper('richdocuments', [$this, 'addStorageWrapperCallback'], -10); + } + + /** + * @param $mountPoint + * @param IStorage $storage + * @return SecureViewWrapper|IStorage + *@internal + */ + public function addStorageWrapperCallback($mountPoint, IStorage $storage) { + if (!\OC::$CLI && $mountPoint !== '/') { + return new SecureViewWrapper([ + 'storage' => $storage, + 'mountPoint' => $mountPoint, + ]); + } + + return $storage; + } } diff --git a/lib/Capabilities.php b/lib/Capabilities.php index ecf40773cb..87b46e838e 100644 --- a/lib/Capabilities.php +++ b/lib/Capabilities.php @@ -38,7 +38,6 @@ class Capabilities implements ICapability { ]; public const MIMETYPES_MSOFFICE = [ - 'application/msonenote', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', @@ -118,14 +117,6 @@ public function getCapabilities() { array_push($optionalMimetypes, ...self::MIMETYPES_MSOFFICE); } - // If version is too old, draw is not supported - if (!$this->capabilitiesService->hasDrawSupport()) { - $defaultMimetypes = array_diff($defaultMimetypes, [ - 'application/vnd.oasis.opendocument.graphics', - 'application/vnd.oasis.opendocument.graphics-flat-xml', - ]); - } - if (!$this->appManager->isEnabledForUser('files_pdfviewer')) { $defaultMimetypes[] = 'application/pdf'; $optionalMimetypes = array_diff($optionalMimetypes, ['application/pdf']); @@ -134,7 +125,7 @@ public function getCapabilities() { $this->capabilities = [ 'richdocuments' => [ 'version' => $this->appManager->getAppVersion('richdocuments'), - 'mimetypes' => array_values($defaultMimetypes), + 'mimetypes' => $defaultMimetypes, 'mimetypesNoDefaultOpen' => array_values($optionalMimetypes), 'mimetypesSecureView' => $this->config->useSecureViewAdditionalMimes() ? self::SECURE_VIEW_ADDITIONAL_MIMES : [], 'collabora' => $collaboraCapabilities, diff --git a/lib/Command/ConvertToBigInt.php b/lib/Command/ConvertToBigInt.php index a66cffe441..b8511c14d7 100644 --- a/lib/Command/ConvertToBigInt.php +++ b/lib/Command/ConvertToBigInt.php @@ -32,7 +32,7 @@ protected function configure() { protected function getColumnsByTable() { return [ - 'richdocuments_wopi' => ['id', 'fileid', 'version', 'template_id', 'template_destination', 'expiry'], + 'richdocuments_wopi' => ['id', 'fileid', 'template_id', 'template_destination', 'expiry'], 'richdocuments_direct' => ['id', 'fileid', 'template_id', 'template_destination', 'timestamp'], 'richdocuments_assets' => ['id', 'fileid', 'timestamp'], ]; diff --git a/lib/Controller/AssetsController.php b/lib/Controller/AssetsController.php index 39c6d5cbc4..87b7942b63 100644 --- a/lib/Controller/AssetsController.php +++ b/lib/Controller/AssetsController.php @@ -6,9 +6,9 @@ namespace OCA\Richdocuments\Controller; -use OCA\Files_Sharing\SharedStorage; use OCA\Richdocuments\Controller\Attribute\RestrictToWopiServer; use OCA\Richdocuments\Db\AssetMapper; +use OCA\Richdocuments\Helper; use OCA\Richdocuments\Service\UserScopeService; use OCP\AppFramework\Controller; use OCP\AppFramework\Db\DoesNotExistException; @@ -36,6 +36,7 @@ public function __construct( private IURLGenerator $urlGenerator, private IManager $taskProcessingManager, private IL10N $l10n, + private Helper $helper, ) { parent::__construct($appName, $request); } @@ -57,14 +58,12 @@ public function create($path) { return new JSONResponse([], Http::STATUS_NOT_FOUND); } - $storage = $node->getStorage(); - if ($storage->instanceOfStorage(SharedStorage::class)) { - /** @var SharedStorage $storage */ - $share = $storage->getShare(); - $attributes = $share->getAttributes(); - if ($attributes !== null && $attributes->getAttribute('permissions', 'download') === false) { - throw new NotPermittedException(); - } + $share = $this->helper->getShareFromNode($node); + $attributes = $share?->getAttributes(); + if ($attributes !== null + && $attributes->getAttribute('permissions', 'download') === false + ) { + throw new NotPermittedException(); } } catch (NotFoundException) { return new JSONResponse([], Http::STATUS_NOT_FOUND); diff --git a/lib/Controller/DirectViewController.php b/lib/Controller/DirectViewController.php index 30b72c933d..c772886fb0 100644 --- a/lib/Controller/DirectViewController.php +++ b/lib/Controller/DirectViewController.php @@ -26,6 +26,7 @@ use OCP\Files\NotFoundException; use OCP\IConfig; use OCP\IRequest; +use OCP\Share\IManager as ShareManager; use Psr\Log\LoggerInterface; class DirectViewController extends Controller { @@ -34,6 +35,7 @@ class DirectViewController extends Controller { public function __construct( string $appName, IRequest $request, + private ShareManager $shareManager, private IRootFolder $rootFolder, private TokenManager $tokenManager, private DirectMapper $directMapper, @@ -89,7 +91,6 @@ public function show($token) { $federatedUrl = $this->federationService->getRemoteRedirectURL($item, $direct); if ($federatedUrl !== null) { $response = new RedirectResponse($federatedUrl); - $response->addHeader('X-Frame-Options', 'ALLOW'); return $response; } @@ -122,6 +123,7 @@ public function show($token) { 'urlsrc' => $urlSrc, 'path' => $relativePath, 'direct' => true, + 'userId' => $direct->getUid(), ]; return $this->documentTemplateResponse($wopi, $params); @@ -133,7 +135,7 @@ public function show($token) { public function showPublicShare(Direct $direct) { try { - $share = \OC::$server->getShareManager()->getShareByToken($direct->getShare()); + $share = $this->shareManager->getShareByToken($direct->getShare()); $node = $share->getNode(); if ($node instanceof Folder) { @@ -147,16 +149,14 @@ public function showPublicShare(Direct $direct) { $federatedUrl = $this->federationService->getRemoteRedirectURL($node, $direct, $share); if ($federatedUrl !== null) { $response = new RedirectResponse($federatedUrl); - $response->addHeader('X-Frame-Options', 'ALLOW'); return $response; } - $this->settings = \OC::$server->getConfig(); if ($node instanceof Node) { $params = [ 'permissions' => $share->getPermissions(), 'title' => $node->getName(), - 'fileId' => $node->getId() . '_' . $this->settings->getSystemValue('instanceid'), + 'fileId' => $node->getId() . '_' . $this->config->getSystemValueString('instanceid'), 'path' => '/', 'userId' => null, 'direct' => true, @@ -164,7 +164,7 @@ public function showPublicShare(Direct $direct) { ]; $urlSrc = $this->tokenManager->getUrlSrc($node); - $wopi = $this->tokenManager->generateWopiToken($node->getId(), $direct->getShare(), $direct->getUid(), true); + $wopi = $this->tokenManager->generateWopiToken((string)$node->getId(), $direct->getShare(), $direct->getUid(), true); if (!empty($direct->getInitiatorHost())) { $this->tokenManager->upgradeFromDirectInitiator($direct, $wopi); } diff --git a/lib/Controller/DocumentAPIController.php b/lib/Controller/DocumentAPIController.php index e26253d633..f8e69cfeb3 100644 --- a/lib/Controller/DocumentAPIController.php +++ b/lib/Controller/DocumentAPIController.php @@ -65,9 +65,11 @@ public function create(string $mimeType, string $fileName, string $directoryPath $share = $this->shareManager->getShareByToken($shareToken); if ($share->getPassword()) { - if (!$this->session->exists('public_link_authenticated') - || $this->session->get('public_link_authenticated') !== (string)$share->getId() - ) { + $authenticatedLinks = $this->session->get('public_link_authenticated'); + + $isAuthenticated = (is_array($authenticatedLinks) && in_array($share->getId(), $authenticatedLinks)); + $isAuthenticated = $isAuthenticated || ($authenticatedLinks === (string)$share->getId()); + if (!$isAuthenticated) { throw new Exception('Invalid password'); } } diff --git a/lib/Controller/DocumentController.php b/lib/Controller/DocumentController.php index 55d0c91fae..013d394cb5 100644 --- a/lib/Controller/DocumentController.php +++ b/lib/Controller/DocumentController.php @@ -6,7 +6,6 @@ namespace OCA\Richdocuments\Controller; use Exception; -use OC; use OC\User\NoUserException; use OCA\Richdocuments\AppConfig; use OCA\Richdocuments\Db\Wopi; @@ -24,6 +23,8 @@ use OCP\AppFramework\Http\RedirectResponse; use OCP\AppFramework\Http\TemplateResponse; use OCP\Constants; +use OCP\Encryption\IFile as EncryptionFilesHelper; +use OCP\Encryption\IManager as IEncryptionManager; use OCP\Files\File; use OCP\Files\Folder; use OCP\Files\IRootFolder; @@ -116,7 +117,6 @@ public function index($fileId, ?string $path = null): RedirectResponse|TemplateR $federatedUrl = $this->federationService->getRemoteRedirectURL($file); if ($federatedUrl !== null) { $response = new RedirectResponse($federatedUrl); - $response->addHeader('X-Frame-Options', 'ALLOW'); return $response; } @@ -140,12 +140,12 @@ public function index($fileId, ?string $path = null): RedirectResponse|TemplateR } } - $encryptionManager = OC::$server->getEncryptionManager(); + $encryptionManager = \OCP\Server::get(IEncryptionManager::class); if ($encryptionManager->isEnabled()) { // Update the current file to be accessible with system public shared key $owner = $file->getOwner()->getUID(); $absPath = '/' . $owner . '/' . $file->getInternalPath(); - $accessList = OC::$server->getEncryptionFilesHelper()->getAccessList($absPath); + $accessList = \OCP\Server::get(EncryptionFilesHelper::class)->getAccessList($absPath); $accessList['public'] = true; $encryptionManager->getEncryptionModule()->update($absPath, $owner, $accessList); } @@ -206,7 +206,6 @@ public function publicPage(string $shareToken, ?string $fileName = null, ?int $f $federatedUrl = $this->federationService->getRemoteRedirectURL($file, null, $share); if ($federatedUrl !== null) { $response = new RedirectResponse($federatedUrl); - $response->addHeader('X-Frame-Options', 'ALLOW'); return $response; } @@ -241,9 +240,11 @@ public function remote(string $shareToken, string $remoteServer, string $remoteS $share = $this->shareManager->getShareByToken($shareToken); // not authenticated ? if ($share->getPassword()) { - if (!$this->session->exists('public_link_authenticated') - || $this->session->get('public_link_authenticated') !== (string)$share->getId() - ) { + $authenticatedLinks = $this->session->get('public_link_authenticated'); + + $isAuthenticated = (is_array($authenticatedLinks) && in_array($share->getId(), $authenticatedLinks)); + $isAuthenticated = $isAuthenticated || ($authenticatedLinks === (string)$share->getId()); + if (!$isAuthenticated) { throw new Exception('Invalid password'); } } @@ -284,7 +285,6 @@ public function remote(string $shareToken, string $remoteServer, string $remoteS ]; $response = $this->documentTemplateResponse($wopi, $params); - $response->addHeader('X-Frame-Options', 'ALLOW'); return $response; } } catch (ShareNotFound) { @@ -400,8 +400,20 @@ public function token(int $fileId, ?string $shareToken = null, ?string $path = n $this->tokenManager->setGuestName($wopi, $guestName); + $params = [ + 'urlSrc' => $this->tokenManager->getUrlSrc($file) + ]; + + $targetData = $this->session->get(self::SESSION_FILE_TARGET); + if ($targetData) { + $this->session->remove(self::SESSION_FILE_TARGET); + if ($targetData['fileId'] === $fileId) { + $params['target'] = $targetData['target']; + } + } + return new DataResponse(array_merge( - [ 'urlSrc' => $this->tokenManager->getUrlSrc($file) ], + $params, $wopi->jsonSerialize(), )); } catch (Exception $e) { @@ -446,9 +458,12 @@ private function getFileForUser(int $fileId, ?string $path = null): File { private function getFileForShare(IShare $share, ?int $fileId, ?string $path = null): File { // not authenticated ? if ($share->getPassword()) { - if (!$this->session->exists('public_link_authenticated') - || $this->session->get('public_link_authenticated') !== (string)$share->getId() - ) { + $authenticatedLinks = $this->session->get('public_link_authenticated'); + + $isAuthenticated = (is_array($authenticatedLinks) && in_array($share->getId(), $authenticatedLinks)); + $isAuthenticated = $isAuthenticated || ($authenticatedLinks === (string)$share->getId()); + + if (!$isAuthenticated) { throw new NotPermittedException('Invalid password'); } } @@ -479,26 +494,29 @@ private function getFileForShare(IShare $share, ?int $fileId, ?string $path = nu throw new NotFoundException(); } - private function getToken(File $file, ?IShare $share = null, ?int $version = null, bool $isGuest = false): Wopi { - // Pass through $version + private function getToken(File $file, ?IShare $share = null, ?string $version = null, bool $isGuest = false): Wopi { $templateFile = $this->templateManager->getTemplateSource($file->getId()); if ($templateFile) { $owneruid = $share?->getShareOwner() ?? $file->getOwner()->getUID(); - return $this->tokenManager->generateWopiTokenForTemplate( + $wopiToken = $this->tokenManager->generateWopiTokenForTemplate( $templateFile, $file->getId(), $owneruid, $isGuest, false, - $share?->getPermissions() + $share?->getPermissions(), + $this->userId, ); + $this->tokenManager->setShareToken($wopiToken, $share?->getToken()); + return $wopiToken; } + return $this->tokenManager->generateWopiToken($this->getWopiFileId($file->getId(), $version), $share?->getToken(), $this->userId); } - private function getWopiFileId(int $fileId, ?int $version = null): string { + private function getWopiFileId(int $fileId, ?string $version = null): string { return $fileId . '_' . $this->config->getSystemValue('instanceid') . ($version ? '_' . $version : ''); } } diff --git a/lib/Controller/DocumentTrait.php b/lib/Controller/DocumentTrait.php index 99520dc7a8..5d25811ded 100644 --- a/lib/Controller/DocumentTrait.php +++ b/lib/Controller/DocumentTrait.php @@ -16,7 +16,7 @@ trait DocumentTrait { private AppConfig $appConfig; private function documentTemplateResponse(Wopi $wopi, array $params): TemplateResponse { - $eventDispatcher = \OC::$server->get(IEventDispatcher::class); + $eventDispatcher = \OCP\Server::get(IEventDispatcher::class); $eventDispatcher->dispatchTyped(new RenderReferenceEvent()); $this->initialState->provideDocument($wopi, $params); $response = new TemplateResponse('richdocuments', 'documents', $params, 'base'); @@ -33,8 +33,6 @@ private function applyPolicies($response) { $featurePolicy = new FeaturePolicy(); $featurePolicy->addAllowedFullScreenDomain($collaboraHost); $response->setFeaturePolicy($featurePolicy); - - $response->addHeader('X-Frame-Options', 'ALLOW'); } /** diff --git a/lib/Controller/FederationController.php b/lib/Controller/FederationController.php index 7397af88c3..f315cb87b5 100644 --- a/lib/Controller/FederationController.php +++ b/lib/Controller/FederationController.php @@ -12,6 +12,7 @@ use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCS\OCSNotFoundException; use OCP\AppFramework\OCSController; +use OCP\Http\Client\IClientService; use OCP\IConfig; use OCP\IRequest; use OCP\IURLGenerator; @@ -27,6 +28,7 @@ public function __construct( private WopiMapper $wopiMapper, private IUserManager $userManager, private IURLGenerator $urlGenerator, + private IClientService $clientService, ) { parent::__construct($appName, $request); } @@ -40,7 +42,6 @@ public function index(): DataResponse { $response = new DataResponse([ 'wopi_url' => $this->config->getAppValue('richdocuments', 'wopi_url') ]); - $response->setHeaders(['X-Frame-Options' => 'ALLOW']); return $response; } @@ -62,7 +63,7 @@ public function remoteWopiToken($token): DataResponse { try { $initiatorWopi = $this->wopiMapper->getWopiForToken($token); if (empty($initiatorWopi->getEditorUid()) && !empty($initiatorWopi->getRemoteServer()) && !empty($initiatorWopi->getRemoteServerToken())) { - $client = \OC::$server->getHTTPClientService()->newClient(); + $client = $this->clientService->newClient(); $response = $client->post( rtrim($initiatorWopi->getRemoteServer(), '/') . '/ocs/v2.php/apps/richdocuments/api/v1/federation/user?format=json', [ 'body' => [ 'token' => $initiatorWopi->getRemoteServerToken() ], 'timeout' => 10 ] diff --git a/lib/Controller/OCSController.php b/lib/Controller/OCSController.php index 0d9fd422f2..4ce31cf8ba 100644 --- a/lib/Controller/OCSController.php +++ b/lib/Controller/OCSController.php @@ -23,6 +23,7 @@ use OCP\Files\Folder; use OCP\Files\IRootFolder; use OCP\Files\NotFoundException; +use OCP\Http\Client\IClientService; use OCP\IRequest; use OCP\IURLGenerator; use OCP\Share\Exceptions\ShareNotFound; @@ -37,6 +38,7 @@ public function __construct( string $appName, IRequest $request, private IRootFolder $rootFolder, + private IClientService $clientService, private $userId, private DirectMapper $directMapper, private IURLGenerator $urlGenerator, @@ -105,11 +107,11 @@ public function createPublic( $wopi = $this->tokenManager->newInitiatorToken($host, null, $shareToken, true, $this->userId); - $client = \OC::$server->getHTTPClientService()->newClient(); + $client = $this->clientService->newClient(); try { $response = $client->post(rtrim($host, '/') . '/ocs/v2.php/apps/richdocuments/api/v1/direct/share/initiator?format=json', [ 'body' => [ - 'initiatorServer' => \OC::$server->getURLGenerator()->getAbsoluteURL(''), + 'initiatorServer' => $this->urlGenerator->getAbsoluteURL(''), 'initiatorToken' => $wopi->getToken(), 'shareToken' => $shareToken, 'path' => $path, diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php index 6dee13062f..7a11306ead 100644 --- a/lib/Controller/SettingsController.php +++ b/lib/Controller/SettingsController.php @@ -7,11 +7,14 @@ use OCA\Richdocuments\AppConfig; use OCA\Richdocuments\Capabilities; +use OCA\Richdocuments\Db\WopiMapper; use OCA\Richdocuments\Service\CapabilitiesService; use OCA\Richdocuments\Service\ConnectivityService; use OCA\Richdocuments\Service\DemoService; use OCA\Richdocuments\Service\DiscoveryService; use OCA\Richdocuments\Service\FontService; +use OCA\Richdocuments\Service\SettingsService; +use OCA\Richdocuments\TemplateManager; use OCA\Richdocuments\UploadException; use OCP\App\IAppManager; use OCP\AppFramework\Controller; @@ -54,8 +57,12 @@ public function __construct( private CapabilitiesService $capabilitiesService, private DemoService $demoService, private FontService $fontService, + private SettingsService $settingsService, private LoggerInterface $logger, + private IURLGenerator $urlGenerator, + private WopiMapper $wopiMapper, private ?string $userId, + private TemplateManager $templateManager, ) { parent::__construct($appName, $request); } @@ -92,11 +99,9 @@ public function demoServers(): DataResponse { return new DataResponse([], Http::STATUS_NOT_FOUND); } - #[NoAdminRequired] public function getSettings(): JSONResponse { return new JSONResponse($this->getSettingsData()); } - private function getSettingsData(): array { return [ 'wopi_url' => $this->appConfig->getCollaboraUrlInternal(), @@ -113,6 +118,7 @@ private function getSettingsData(): array { 'esignature_base_url' => $this->appConfig->getAppValue('esignature_base_url'), 'esignature_client_id' => $this->appConfig->getAppValue('esignature_client_id'), 'esignature_secret' => $this->appConfig->getAppValue('esignature_secret'), + 'userId' => $this->userId ]; } @@ -206,6 +212,7 @@ public function updateWatermarkSettings($settings = []): JSONResponse { 'watermark_shareAll', 'watermark_shareRead', 'watermark_shareDisabledDownload', + 'watermark_shareTalkPublic', 'watermark_linkSecure', 'watermark_linkRead', 'watermark_linkAll', @@ -407,6 +414,23 @@ public function getFontFileOverview(string $name): DataDisplayResponse { } } + /** + * @NoAdminRequired + * + * @param string $type - Type is 'admin' or 'user' + * @return DataResponse + */ + public function generateIframeToken(string $type): DataResponse { + try { + $response = $this->settingsService->generateIframeToken($type, $this->userId); + return new DataResponse($response); + } catch (\Exception $e) { + return new DataResponse([ + 'message' => 'Settings token not generated.' + ], Http::STATUS_INTERNAL_SERVER_ERROR); + } + } + /** * @param string $name * @return DataResponse @@ -450,6 +474,49 @@ public function uploadFontFile(): JSONResponse { } } + /** + * @param string $type + * @param string $token + * @param string $category + * @param string $name + * + * @return DataDisplayResponse + * + * @NoAdminRequired + * @PublicPage + * @NoCSRFRequired + **/ + public function getSettingsFile(string $type, string $token, string $category, string $name) { + try { + $wopi = $this->wopiMapper->getWopiForToken($token); + $userId = $wopi->getEditorUid() ?: $wopi->getOwnerUid(); + if ($type === 'userconfig') { + $type = $type . '/' . $userId; + } + + // special handling for presentation template + if ($category === 'template') { + $this->templateManager->setUserId($userId); + $templateId = $this->request->getParam('identifier'); + $systemFile = $this->templateManager->get((int)$templateId); + } else { + $systemFile = $this->settingsService->getSettingsFile($type, $category, $name); + } + + return new DataDisplayResponse( + $systemFile->getContent(), + 200, + [ + 'Content-Type' => $systemFile->getMimeType() ?: 'application/octet-stream' + ] + ); + } catch (NotFoundException $e) { + return new DataDisplayResponse('File not found.', 404); + } catch (\Exception $e) { + return new DataDisplayResponse('Something went wrong', 500); + } + } + /** * @param string $key * @return array diff --git a/lib/Controller/WopiController.php b/lib/Controller/WopiController.php index a6f7fcbdfa..62a264238c 100644 --- a/lib/Controller/WopiController.php +++ b/lib/Controller/WopiController.php @@ -16,11 +16,14 @@ use OCA\Richdocuments\Exceptions\UnknownTokenException; use OCA\Richdocuments\Helper; use OCA\Richdocuments\PermissionManager; +use OCA\Richdocuments\Service\CapabilitiesService; use OCA\Richdocuments\Service\FederationService; +use OCA\Richdocuments\Service\SettingsService; use OCA\Richdocuments\Service\UserScopeService; use OCA\Richdocuments\TaskProcessingManager; use OCA\Richdocuments\TemplateManager; use OCA\Richdocuments\TokenManager; +use OCA\Richdocuments\WOPI\SettingsUrl; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\Attribute\FrontpageRoute; @@ -31,8 +34,11 @@ use OCP\AppFramework\Http\StreamResponse; use OCP\AppFramework\QueryException; use OCP\Constants; +use OCP\Contacts\IManager as IContactsManager; +use OCP\Defaults; use OCP\Encryption\IManager as IEncryptionManager; use OCP\EventDispatcher\IEventDispatcher; +use OCP\Federation\ICloudIdManager; use OCP\Files\File; use OCP\Files\Folder; use OCP\Files\GenericFileException; @@ -44,6 +50,7 @@ use OCP\Files\Lock\OwnerLockedException; use OCP\Files\Node; use OCP\Files\NotFoundException; +use OCP\Files\NotPermittedException; use OCP\IConfig; use OCP\IGroupManager; use OCP\IRequest; @@ -60,8 +67,8 @@ #[RestrictToWopiServer] class WopiController extends Controller { - // Signifies LOOL that document has been changed externally in this storage - public const LOOL_STATUS_DOC_CHANGED = 1010; + // Signifies COOL that document has been changed externally in this storage + public const COOL_STATUS_DOC_CHANGED = 1010; public const WOPI_AVATAR_SIZE = 64; @@ -86,6 +93,9 @@ public function __construct( private ILockManager $lockManager, private IEventDispatcher $eventDispatcher, private TaskProcessingManager $taskProcessingManager, + private SettingsService $settingsService, + private CapabilitiesService $capabilitiesService, + private Helper $helper, ) { parent::__construct($appName, $request); } @@ -118,13 +128,16 @@ public function checkFileInfo(string $fileId, string $access_token): JSONRespons } $isPublic = empty($wopi->getEditorUid()); - $guestUserId = 'Guest-' . \OC::$server->getSecureRandom()->generate(8); + $guestUserId = 'Guest-' . \OCP\Server::get(\OCP\Security\ISecureRandom::class)->generate(8); $user = $this->userManager->get($wopi->getEditorUid()); $userDisplayName = $user !== null && !$isPublic ? $user->getDisplayName() : $wopi->getGuestDisplayname(); $isVersion = $version !== '0'; $isSmartPickerEnabled = (bool)$wopi->getCanwrite() && !$isPublic && !$wopi->getDirect(); $isTaskProcessingEnabled = $isSmartPickerEnabled && $this->taskProcessingManager->isTaskProcessingEnabled(); + $share = $this->getShareForWopiToken($wopi, $file); + $shouldUseSecureView = $this->permissionManager->shouldWatermark($file, $wopi->getEditorUid(), $share); + // If the file is locked manually by a user we want to open it read only for all others $canWriteThroughLock = true; try { @@ -133,17 +146,20 @@ public function checkFileInfo(string $fileId, string $access_token): JSONRespons } catch (NoLockProviderException|PreConditionNotMetException) { } + $userId = !$isPublic ? $wopi->getEditorUid() : $guestUserId; + + $response = [ 'BaseFileName' => $file->getName(), 'Size' => $file->getSize(), 'Version' => $version, - 'UserId' => !$isPublic ? $wopi->getEditorUid() : $guestUserId, + 'UserId' => $userId, 'OwnerId' => $wopi->getOwnerUid(), 'UserFriendlyName' => $userDisplayName, 'UserExtraInfo' => [], 'UserPrivateInfo' => [], 'UserCanWrite' => $canWriteThroughLock && (bool)$wopi->getCanwrite(), - 'UserCanNotWriteRelative' => $isPublic || $this->encryptionManager->isEnabled() || $wopi->getHideDownload() || $wopi->isRemoteToken(), + 'UserCanNotWriteRelative' => $isPublic || $this->encryptionManager->isEnabled() || $wopi->getHideDownload() || $wopi->isRemoteToken() || $shouldUseSecureView, 'PostMessageOrigin' => $wopi->getServerHost(), 'LastModifiedTime' => Helper::toISO8601($file->getMTime()), 'SupportsRename' => !$isVersion && !$wopi->isRemoteToken(), @@ -153,11 +169,11 @@ public function checkFileInfo(string $fileId, string $access_token): JSONRespons 'EnableShare' => $file->isShareable() && !$isVersion && !$isPublic, 'HideUserList' => '', 'EnableOwnerTermination' => $wopi->getCanwrite() && !$isPublic, - 'DisablePrint' => $wopi->getHideDownload(), - 'DisableExport' => $wopi->getHideDownload(), - 'DisableCopy' => $wopi->getHideDownload(), - 'HideExportOption' => $wopi->getHideDownload(), - 'HidePrintOption' => $wopi->getHideDownload(), + 'DisablePrint' => $wopi->getHideDownload() || $shouldUseSecureView, + 'DisableExport' => $wopi->getHideDownload() || $shouldUseSecureView, + 'DisableCopy' => $wopi->getHideDownload() || $shouldUseSecureView, + 'HideExportOption' => $wopi->getHideDownload() || $shouldUseSecureView, + 'HidePrintOption' => $wopi->getHideDownload() || $shouldUseSecureView, 'DownloadAsPostMessage' => $wopi->getDirect(), 'SupportsLocks' => $this->lockManager->isLockProviderAvailable(), 'IsUserLocked' => $this->permissionManager->userIsFeatureLocked($wopi->getEditorUid()), @@ -167,6 +183,14 @@ public function checkFileInfo(string $fileId, string $access_token): JSONRespons 'ServerPrivateInfo' => [], ]; + if ($this->capabilitiesService->hasSettingIframeSupport()) { + $token = $this->generateSettingToken($userId); + if (!$isPublic) { + $response['UserSettings'] = $this->generateSettings($token, 'userconfig', $userId); + } + $response['SharedSettings'] = $this->generateSettings($token, 'systemconfig'); + } + $enableZotero = $this->config->getAppValue(Application::APPNAME, 'zoteroEnabled', 'yes') === 'yes'; if (!$isPublic && $enableZotero) { $zoteroAPIKey = $this->config->getUserValue($wopi->getEditorUid(), 'richdocuments', 'zoteroAPIKey', ''); @@ -202,8 +226,7 @@ public function checkFileInfo(string $fileId, string $access_token): JSONRespons $response['TemplateSource'] = $this->getWopiUrlForTemplate($wopi); } - $share = $this->getShareForWopiToken($wopi); - if ($this->permissionManager->shouldWatermark($file, $wopi->getEditorUid(), $share)) { + if ($shouldUseSecureView) { $email = $user !== null && !$isPublic ? $user->getEMailAddress() : ''; $currentDateTime = new \DateTime( 'now', @@ -212,7 +235,7 @@ public function checkFileInfo(string $fileId, string $access_token): JSONRespons $replacements = [ 'userId' => $wopi->getEditorUid(), 'date' => $currentDateTime->format('Y-m-d H:i:s'), - 'themingName' => \OC::$server->getThemingDefaults()->getName(), + 'themingName' => \OCP\Server::get(Defaults::class)->getName(), 'userDisplayName' => $userDisplayName, 'email' => $email, ]; @@ -259,16 +282,16 @@ public function checkFileInfo(string $fileId, string $access_token): JSONRespons private function setFederationFileInfo(Wopi $wopi, $response) { - $response['UserId'] = 'Guest-' . \OC::$server->getSecureRandom()->generate(8); + $response['UserId'] = 'Guest-' . \OCP\Server::get(\OCP\Security\ISecureRandom::class)->generate(8); if ($wopi->getTokenType() === Wopi::TOKEN_TYPE_REMOTE_USER) { $remoteUserId = $wopi->getGuestDisplayname(); - $cloudID = \OC::$server->getCloudIdManager()->resolveCloudId($remoteUserId); + $cloudID = \OCP\Server::get(ICloudIdManager::class)->resolveCloudId($remoteUserId); $response['UserId'] = $cloudID->getDisplayId(); $response['UserFriendlyName'] = $cloudID->getDisplayId(); $response['UserExtraInfo']['avatar'] = $this->urlGenerator->linkToRouteAbsolute('core.avatar.getAvatar', ['userId' => explode('@', $remoteUserId)[0], 'size' => self::WOPI_AVATAR_SIZE]); $cleanCloudId = str_replace(['http://', 'https://'], '', $cloudID->getId()); - $addressBookEntries = \OC::$server->getContactsManager()->search($cleanCloudId, ['CLOUD']); + $addressBookEntries = \OCP\Server::get(IContactsManager::class)->search($cleanCloudId, ['CLOUD']); foreach ($addressBookEntries as $entry) { if (isset($entry['CLOUD'])) { foreach ($entry['CLOUD'] as $cloudID) { @@ -305,7 +328,7 @@ private function setFederationFileInfo(Wopi $wopi, $response) { #[NoCSRFRequired] #[PublicPage] #[FrontpageRoute(verb: 'GET', url: 'wopi/files/{fileId}/contents')] - public function getFile(string $fileId, string $access_token): JSONResponse|StreamResponse { + public function getFile(string $fileId, string $access_token): JSONResponse|StreamResponse|Http\Response { [$fileId, , $version] = Helper::parseFileId($fileId); try { @@ -330,7 +353,7 @@ public function getFile(string $fileId, string $access_token): JSONResponse|Stre $file = $this->getFileForWopiToken($wopi); \OC_User::setIncognitoMode(true); if ($version !== '0') { - $versionManager = \OC::$server->get(IVersionManager::class); + $versionManager = \OCP\Server::get(IVersionManager::class); $info = $versionManager->getVersionFile($this->userManager->get($wopi->getUserForFileAccess()), $file, $version); if ($info->getSize() === 0) { $response = new Http\Response(); @@ -344,7 +367,6 @@ public function getFile(string $fileId, string $access_token): JSONResponse|Stre $filesize = $file->getSize(); if ($this->request->getHeader('Range')) { - $partialContent = true; preg_match('/bytes=(\d+)-(\d+)?/', $this->request->getHeader('Range'), $matches); $offset = intval($matches[1] ?? 0); @@ -355,13 +377,13 @@ public function getFile(string $fileId, string $access_token): JSONResponse|Stre $fp = $file->fopen('rb'); $rangeStream = fopen('php://temp', 'w+b'); - stream_copy_to_stream($fp, $rangeStream, $length, $offset); + stream_copy_to_stream($fp, $rangeStream, (int)$length, $offset); fclose($fp); fseek($rangeStream, 0); $response = new StreamResponse($rangeStream); $response->addHeader('Accept-Ranges', 'bytes'); - $response->addHeader('Content-Length', $filesize); + $response->addHeader('Content-Length', (string)$filesize); $response->setStatus(Http::STATUS_PARTIAL_CONTENT); $response->addHeader('Content-Range', 'bytes ' . $offset . '-' . ($offset + $length) . '/' . $filesize); } else { @@ -381,6 +403,127 @@ public function getFile(string $fileId, string $access_token): JSONResponse|Stre } } + #[NoAdminRequired] + #[NoCSRFRequired] + #[PublicPage] + #[FrontpageRoute(verb: 'GET', url: 'wopi/settings')] + public function getSettings(string $type, string $access_token): JSONResponse { + if (empty($type)) { + return new JSONResponse(['error' => 'Invalid type parameter'], Http::STATUS_BAD_REQUEST); + } + + try { + $wopi = $this->wopiMapper->getWopiForToken($access_token); + if ($wopi->getTokenType() !== Wopi::TOKEN_TYPE_SETTING_AUTH && $wopi->getTokenType() !== Wopi::TOKEN_TYPE_USER) { + return new JSONResponse(['error' => 'Invalid token type'], Http::STATUS_BAD_REQUEST); + } + + $isPublic = empty($wopi->getEditorUid()); + $guestUserId = 'Guest-' . \OCP\Server::get(\OCP\Security\ISecureRandom::class)->generate(8); + $userId = !$isPublic ? $wopi->getEditorUid() : $guestUserId; + + $userConfig = $this->settingsService->generateSettingsConfig($type, $userId); + return new JSONResponse($userConfig, Http::STATUS_OK); + } catch (UnknownTokenException|ExpiredTokenException $e) { + $this->logger->debug($e->getMessage(), ['exception' => $e]); + return new JSONResponse(['error' => 'Unauthorized'], Http::STATUS_UNAUTHORIZED); + } catch (\Exception $e) { + $this->logger->error($e->getMessage(), ['exception' => $e]); + return new JSONResponse(['error' => 'Internal Server Error'], Http::STATUS_INTERNAL_SERVER_ERROR); + } + } + + #[NoAdminRequired] + #[NoCSRFRequired] + #[PublicPage] + #[FrontpageRoute(verb: 'POST', url: 'wopi/settings/upload')] + public function uploadSettingsFile(string $fileId, string $access_token): JSONResponse { + try { + $wopi = $this->wopiMapper->getWopiForToken($access_token); + $userId = $wopi->getEditorUid(); + + if (empty($userId)) { + throw new \Exception('UserID is empty'); + } + + $isUserAdmin = $this->groupManager->isAdmin($userId); + // Use the fileId as a file path URL (e.g., "/settings/systemconfig/wordbook/en_US%20(1).dic") + $settingsUrl = new SettingsUrl($fileId); + if ($settingsUrl->isSystemConfig() && !$isUserAdmin) { + throw new NotPermittedException(); + } + + $content = fopen('php://input', 'rb'); + if (!$content) { + throw new \Exception('Failed to read input stream.'); + } + + $fileContent = stream_get_contents($content); + fclose($content); + + + $result = $this->settingsService->uploadFile($settingsUrl, $fileContent, $userId); + + return new JSONResponse([ + 'status' => 'success', + 'filename' => $settingsUrl->getFileName(), + 'details' => $result, + ], Http::STATUS_OK); + + } catch (UnknownTokenException $e) { + $this->logger->debug($e->getMessage(), ['exception' => $e]); + return new JSONResponse(['error' => 'Invalid token'], Http::STATUS_FORBIDDEN); + } catch (NotPermittedException $e) { + return new JSONResponse(['error' => 'Not permitted'], Http::STATUS_FORBIDDEN); + } catch (\Exception $e) { + $this->logger->error($e->getMessage(), ['exception' => $e]); + return new JSONResponse(['error' => $e->getMessage()], Http::STATUS_INTERNAL_SERVER_ERROR); + } + } + + #[NoAdminRequired] + #[NoCSRFRequired] + #[PublicPage] + #[FrontpageRoute(verb: 'DELETE', url: 'wopi/settings')] + public function deleteSettingsFile(string $fileId, string $access_token): JSONResponse { + try { + $wopi = $this->wopiMapper->getWopiForToken($access_token); + if ($wopi->getTokenType() !== Wopi::TOKEN_TYPE_SETTING_AUTH) { + return new JSONResponse(['error' => 'Invalid token type'], Http::STATUS_FORBIDDEN); + } + + // Parse the dynamic file path from `fileId`, e.g. "/settings/systemconfig/wordbook/en_US (1).dic" + $settingsUrl = new SettingsUrl($fileId); + $type = $settingsUrl->getType(); + $category = $settingsUrl->getCategory(); + $fileName = $settingsUrl->getFileName(); + $userId = $wopi->getEditorUid(); + $isUserAdmin = $this->groupManager->isAdmin($userId); + + if ($settingsUrl->isSystemConfig() && !$isUserAdmin) { + throw new NotPermittedException(); + } + + $this->settingsService->deleteSettingsFile($type, $category, $fileName, $userId); + + return new JSONResponse([ + 'status' => 'success', + 'message' => "File '$fileName' deleted from '$category' of type '$type'." + ], Http::STATUS_OK); + } catch (UnknownTokenException $e) { + $this->logger->debug($e->getMessage(), ['exception' => $e]); + return new JSONResponse(['error' => 'Invalid token'], Http::STATUS_FORBIDDEN); + } catch (NotFoundException $e) { + return new JSONResponse(['error' => 'File not found'], Http::STATUS_NOT_FOUND); + } catch (NotPermittedException $e) { + return new JSONResponse(['error' => 'Not permitted'], Http::STATUS_FORBIDDEN); + } catch (\Exception $e) { + $this->logger->error($e->getMessage(), ['exception' => $e]); + return new JSONResponse(['error' => 'Internal Server Error'], Http::STATUS_INTERNAL_SERVER_ERROR); + } + } + + /** * Given an access token and a fileId, replaces the files with the request body. * Expects a valid token in access_token parameter. @@ -429,7 +572,7 @@ public function putFile(string $fileId, string $access_token): JSONResponse { return new JSONResponse([], Http::STATUS_NOT_FOUND); } $suggested = $this->request->getHeader('X-WOPI-SuggestedTarget'); - $suggested = mb_convert_encoding($suggested, 'utf-8', 'utf-7'); + $suggested = (string)mb_convert_encoding($suggested, 'utf-8', 'utf-7'); if ($suggested[0] === '.') { $path = dirname($file->getPath()) . '/New File' . $suggested; @@ -457,7 +600,7 @@ public function putFile(string $fileId, string $access_token): JSONResponse { $file = $this->rootFolder->get($path); } else { $file = $this->getFileForWopiToken($wopi); - $wopiHeaderTime = $this->request->getHeader('X-LOOL-WOPI-Timestamp'); + $wopiHeaderTime = $this->request->getHeader('X-COOL-WOPI-Timestamp'); if (!empty($wopiHeaderTime) && $wopiHeaderTime !== Helper::toISO8601($file->getMTime() ?? 0)) { $this->logger->debug('Document timestamp mismatch ! WOPI client says mtime {headerTime} but storage says {storageTime}', [ @@ -465,7 +608,7 @@ public function putFile(string $fileId, string $access_token): JSONResponse { 'storageTime' => Helper::toISO8601($file->getMTime() ?? 0) ]); // Tell WOPI client about this conflict. - return new JSONResponse(['LOOLStatusCode' => self::LOOL_STATUS_DOC_CHANGED], Http::STATUS_CONFLICT); + return new JSONResponse(['COOLStatusCode' => self::COOL_STATUS_DOC_CHANGED], Http::STATUS_CONFLICT); } } @@ -535,6 +678,10 @@ public function postFile(string $fileId, string $access_token): JSONResponse { return new JSONResponse([], Http::STATUS_FORBIDDEN); } + if (!$wopi->getCanwrite()) { + return new JSONResponse([], Http::STATUS_FORBIDDEN); + } + switch ($wopiOverride) { case 'LOCK': return $this->lock($wopi, $wopiLock); @@ -553,10 +700,6 @@ public function postFile(string $fileId, string $access_token): JSONResponse { $isRenameFile = ($this->request->getHeader('X-WOPI-Override') === 'RENAME_FILE'); - if (!$wopi->getCanwrite()) { - return new JSONResponse([], Http::STATUS_FORBIDDEN); - } - // Unless the editor is empty (public link) we modify the files as the current editor $editor = $wopi->getEditorUid(); $isPublic = $editor === null && !$wopi->isRemoteToken(); @@ -635,7 +778,7 @@ public function postFile(string $fileId, string $access_token): JSONResponse { // generate a token for the new file (the user still has to be // logged in) - $wopi = $this->tokenManager->generateWopiToken((string)$file->getId(), null, $wopi->getEditorUid(), $wopi->getDirect()); + $wopi = $this->tokenManager->generateWopiToken((string)$file->getId(), $wopi->getShare(), $wopi->getEditorUid(), $wopi->getDirect()); return new JSONResponse(['Name' => $file->getName(), 'Url' => $this->getWopiUrlForFile($wopi, $file)], Http::STATUS_OK); } catch (NotFoundException $e) { @@ -799,9 +942,13 @@ private function getFileForWopiToken(Wopi $wopi) { return array_shift($files); } - private function getShareForWopiToken(Wopi $wopi): ?IShare { + private function getShareForWopiToken(Wopi $wopi, File $file): ?IShare { try { - return $wopi->getShare() ? $this->shareManager->getShareByToken($wopi->getShare()) : null; + $shareToken = $wopi->getShare(); + if ($shareToken) { + return $this->shareManager->getShareByToken($shareToken); + } + return $this->helper->getShareFromNode($file); } catch (ShareNotFound) { } @@ -846,7 +993,7 @@ public function getTemplate(string $fileId, string $access_token): JSONResponse| */ private function isMasterKeyEnabled(): bool { try { - $util = \OC::$server->query(\OCA\Encryption\Util::class); + $util = \OCP\Server::get(\OCA\Encryption\Util::class); return $util->isMasterKeyEnabled(); } catch (QueryException) { // No encryption module enabled @@ -863,4 +1010,18 @@ private function getWopiUrlForTemplate(Wopi $wopi): string { $nextcloudUrl = $this->appConfig->getNextcloudUrl() ?: trim($this->urlGenerator->getAbsoluteURL(''), '/'); return $nextcloudUrl . '/index.php/apps/richdocuments/wopi/template/' . $wopi->getTemplateId() . '?access_token=' . $wopi->getToken(); } + + private function generateSettingToken(string $userId): string { + return $this->settingsService->generateIframeToken('user', $userId)['token']; + } + + private function generateSettings(string $token, string $type, string $userId = ''): array { + $nextcloudUrl = $this->appConfig->getNextcloudUrl() ?: trim($this->urlGenerator->getAbsoluteURL(''), '/'); + $uri = $nextcloudUrl . '/index.php/apps/richdocuments/wopi/settings' . '?type=' . $type . '&access_token=' . $token . '&fileId=' . '-1'; + $etag = $this->settingsService->getFolderEtag($type) . $this->settingsService->getPresentationFolderEtag($type, $userId); + return [ + 'uri' => $uri, + 'stamp' => $etag + ]; + } } diff --git a/lib/Conversion/ConversionProvider.php b/lib/Conversion/ConversionProvider.php new file mode 100644 index 0000000000..fe3e563b7e --- /dev/null +++ b/lib/Conversion/ConversionProvider.php @@ -0,0 +1,253 @@ + [ + 'doc' => 'application/msword', + 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', + 'ott' => 'application/vnd.oasis.opendocument.text-template', + 'odt' => 'application/vnd.oasis.opendocument.text', + ], + 'sheets' => [ + 'xls' => 'application/vnd.ms-excel', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', + 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', + 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', + ], + 'presentations' => [ + 'ppt' => 'application/vnd.ms-powerpoint', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', + 'odp' => 'application/vnd.oasis.opendocument.presentation', + 'otp' => 'application/vnd.oasis.opendocument.presentation-template', + ], + 'drawings' => [ + 'vsdx' => 'application/vnd.visio', + 'odg' => 'application/vnd.oasis.opendocument.graphics', + 'otg' => 'application/vnd.oasis.opendocument.graphics-template', + ], + ]; + + public function __construct( + private RemoteService $remoteService, + private LoggerInterface $logger, + IFactory $l10nFactory, + ) { + $this->l10n = $l10nFactory->get('richdocuments'); + } + + public function getSupportedMimeTypes(): array { + $documents = self::MIME_TYPES['documents']; + $sheets = self::MIME_TYPES['sheets']; + $presentations = self::MIME_TYPES['presentations']; + $drawings = self::MIME_TYPES['drawings']; + + $pdfConversions = array_merge( + [], + self::MIME_TYPES['documents'], + self::MIME_TYPES['sheets'], + self::MIME_TYPES['presentations'], + self::MIME_TYPES['drawings'], + ); + + $documentConversions = [ + // OpenDocument Text to Word Document + 'docx' => [$documents['odt']], + + // Word Document to OpenDocument Text + 'odt' => [$documents['doc'], $documents['docx']], + + // Documents to Rich Text Format + 'rtf' => [$documents['odt'], $documents['doc'], $documents['docx']], + + // Documents to text + 'txt' => [$documents['odt'], $documents['doc'], $documents['docx']], + ]; + + $spreadsheetConversions = [ + // OpenDocument Spreadsheet to Excel Workbook + 'xlsx' => [$sheets['ods']], + + // Excel Workbook to OpenDocument Spreadsheet + 'ods' => [$sheets['xls'], $sheets['xlsx']], + ]; + + $presentationConversions = [ + // OpenDocument Presentation to PowerPoint Presentation + 'pptx' => [$presentations['odp']], + + // PowerPoint Presentation to OpenDocument Presentation + 'odp' => [$presentations['ppt'], $presentations['pptx']], + ]; + + $drawingConversions = [ + // OpenDocument Drawing to Portable Network Graphics + 'png' => [$drawings['odg']], + + // OpenDocument Drawing to Scalable Vector Graphics + 'svg' => [$drawings['odg']], + ]; + + return [ + // PDF conversions + ...$this->getMimeProvidersFor($pdfConversions, 'application/pdf'), + + // Document conversions + ...$this->getMimeProvidersFor($documentConversions['docx'], $documents['docx']), + ...$this->getMimeProvidersFor($documentConversions['odt'], $documents['odt']), + ...$this->getMimeProvidersFor($documentConversions['rtf'], 'application/rtf'), + ...$this->getMimeProvidersFor($documentConversions['txt'], 'text/plain'), + + // Spreadsheet conversions + ...$this->getMimeProvidersFor($spreadsheetConversions['xlsx'], $sheets['xlsx']), + ...$this->getMimeProvidersFor($spreadsheetConversions['ods'], $sheets['ods']), + + // Presentation conversions + ...$this->getMimeProvidersFor($presentationConversions['pptx'], $presentations['pptx']), + ...$this->getMimeProvidersFor($presentationConversions['odp'], $presentations['odp']), + + // Drawing conversions + ...$this->getMimeProvidersFor($drawingConversions['png'], 'image/png'), + ...$this->getMimeProvidersFor($drawingConversions['svg'], 'image/svg+xml'), + ]; + } + + public function convertFile(File $file, string $targetMimeType): mixed { + $targetFileExtension = $this->getExtensionForMimeType($targetMimeType); + if ($targetFileExtension === null) { + throw new \Exception($this->l10n->t( + 'Unable to determine the proper file extension for %1$s', + [$targetMimeType] + )); + } + + return $this->remoteService->convertFileTo($file, $targetFileExtension); + } + + private function getMimeProvidersFor(array $inputMimeTypes, string $outputMimeType): array { + $outputMimeInfo = $this->getMimeInfoFor($outputMimeType); + if ($outputMimeInfo === null) { + $this->logger->error( + /* + * TRANSLATORS + * Shows the MIME type of the file (the file type) + * For example: + * - application/pdf (.pdf) + * - application/msword (.doc) + * - text/plain (.txt) + */ + $this->l10n->t('Unable to fetch information on %1$s', + [$outputMimeType] + )); + throw new \Exception(); + } + + $conversionMimeProviders = []; + foreach ($inputMimeTypes as $mimeType) { + $conversionMimeProviders[] = new ConversionMimeProvider( + $mimeType, + ...$outputMimeInfo + ); + } + + return $conversionMimeProviders; + } + + private function getMimeInfoFor(string $targetMimeType): ?array { + foreach ($this->getTargetMimeTypes() as $mimeType => $mimeInfo) { + if ($mimeType === $targetMimeType) { + return [ + 'to' => $mimeType, + 'extension' => $mimeInfo['extension'], + 'displayName' => $mimeInfo['displayName'], + ]; + } + } + + return null; + } + + private function getTargetMimeTypes(): array { + $documents = self::MIME_TYPES['documents']; + $sheets = self::MIME_TYPES['sheets']; + $presentations = self::MIME_TYPES['presentations']; + + return [ + 'application/pdf' => [ + 'extension' => 'pdf', + 'displayName' => $this->l10n->t('PDF (.pdf)'), + ], + 'image/png' => [ + 'extension' => 'png', + 'displayName' => $this->l10n->t('Image (.png)'), + ], + 'image/svg+xml' => [ + 'extension' => 'svg', + 'displayName' => $this->l10n->t('Image (.svg)'), + ], + 'application/rtf' => [ + 'extension' => 'rtf', + 'displayName' => $this->l10n->t('Text (.rtf)'), + ], + 'text/plain' => [ + 'extension' => 'txt', + 'displayName' => $this->l10n->t('Text (.txt)'), + ], + $documents['docx'] => [ + 'extension' => 'docx', + 'displayName' => $this->l10n->t('Word Document (.docx)'), + ], + $documents['odt'] => [ + 'extension' => 'odt', + 'displayName' => $this->l10n->t('OpenDocument Text (.odt)'), + ], + $sheets['xlsx'] => [ + 'extension' => 'xlsx', + 'displayName' => $this->l10n->t('Excel Workbook (.xlsx)'), + ], + $sheets['ods'] => [ + 'extension' => 'ods', + 'displayName' => $this->l10n->t('OpenDocument Spreadsheet (.ods)'), + ], + $presentations['pptx'] => [ + 'extension' => 'pptx', + 'displayName' => $this->l10n->t('PowerPoint Presentation (.pptx)'), + ], + $presentations['odp'] => [ + 'extension' => 'odp', + 'displayName' => $this->l10n->t('OpenDocument Presentation (.odp)'), + ], + ]; + } + + private function getExtensionForMimeType(string $mimeType): ?string { + foreach ($this->getTargetMimeTypes() as $targetMimeType => $targetMimeInfo) { + if ($targetMimeType === $mimeType) { + return $targetMimeInfo['extension']; + } + } + + return null; + } +} diff --git a/lib/DAV/SecureViewPlugin.php b/lib/DAV/SecureViewPlugin.php new file mode 100644 index 0000000000..10f3b66e99 --- /dev/null +++ b/lib/DAV/SecureViewPlugin.php @@ -0,0 +1,85 @@ +secureViewService->isEnabled()) { + return; + } + $server->on('propFind', $this->handleGetProperties(...)); + } + + private function handleGetProperties(PropFind $propFind, INode $node): void { + if (!$node instanceof Node) { + return; + } + + $requestedProperties = $propFind->getRequestedProperties(); + if (!in_array(FilesPlugin::SHARE_HIDE_DOWNLOAD_PROPERTYNAME, $requestedProperties, true)) { + return; + } + $currentValue = $propFind->get(FilesPlugin::SHARE_HIDE_DOWNLOAD_PROPERTYNAME); + if ($currentValue === 'true') { + // We won't unhide, hence can return early + return; + } + + if (!$this->isDownloadable($node->getNode())) { + // FIXME: coordinate with Files how a better solution looks like. Maybe by setting it only to 'true' by any provider? To avoid overwriting. Or throwing a dedicated event in just this case? + $propFind->set(FilesPlugin::SHARE_HIDE_DOWNLOAD_PROPERTYNAME, 'true'); + // avoid potential race condition with FilesPlugin that may set it to "false" + $propFind->handle(FilesPlugin::SHARE_HIDE_DOWNLOAD_PROPERTYNAME, 'true'); + } + } + + private function isDownloadable(\OCP\Files\Node $node): bool { + $storage = $node->getStorage(); + if ($this->wopiMiddleware->isWOPIRequest() + || $storage === null + || !$storage->instanceOfStorage(SecureViewWrapper::class) + ) { + return true; + } + + try { + return !$this->secureViewService->shouldSecure($node->getInternalPath(), $storage); + } catch (StorageNotAvailableException|ForbiddenException|NotFoundException $e) { + // Exceptions cannot be nicely inferred. + return false; + } catch (\Throwable $e) { + $this->logger->warning('SecureViewPlugin caught an exception that likely is ignorable. Still preventing download.', + ['exception' => $e,] + ); + return false; + } + } +} diff --git a/lib/Db/Wopi.php b/lib/Db/Wopi.php index 729c8a8cf3..32a4a02217 100644 --- a/lib/Db/Wopi.php +++ b/lib/Db/Wopi.php @@ -17,8 +17,8 @@ * @method string getEditorUid() * @method void setFileid(int $fileid) * @method int getFileid() - * @method void setVersion(int $version) - * @method int getVersion() + * @method void setVersion(string $version) + * @method string getVersion() * @method void setCanwrite(bool $canwrite) * @method bool getCanwrite() * @method void setServerHost(string $host) @@ -68,6 +68,11 @@ class Wopi extends Entity implements \JsonSerializable { */ public const TOKEN_TYPE_INITIATOR = 4; + /* + * Temporary token that is used for authentication while communication between cool iframe and user/admin settings + */ + public const TOKEN_TYPE_SETTING_AUTH = 5; + /** @var string */ protected $ownerUid; @@ -77,7 +82,7 @@ class Wopi extends Entity implements \JsonSerializable { /** @var int */ protected $fileid; - /** @var int */ + /** @var string */ protected $version; /** @var bool */ @@ -123,7 +128,7 @@ public function __construct() { $this->addType('ownerUid', Types::STRING); $this->addType('editorUid', Types::STRING); $this->addType('fileid', Types::INTEGER); - $this->addType('version', Types::INTEGER); + $this->addType('version', Types::STRING); $this->addType('canwrite', Types::BOOLEAN); $this->addType('serverHost', Types::STRING); $this->addType('token', Types::STRING); diff --git a/lib/Db/WopiMapper.php b/lib/Db/WopiMapper.php index ebb472206c..17247d9fdb 100644 --- a/lib/Db/WopiMapper.php +++ b/lib/Db/WopiMapper.php @@ -31,7 +31,7 @@ public function __construct( * @param int $fileId * @param string $owner * @param string $editor - * @param int $version + * @param string $version * @param bool $updatable * @param string $serverHost * @param string $guestDisplayname @@ -66,6 +66,28 @@ public function generateFileToken($fileId, $owner, $editor, $version, $updatable return $wopi; } + public function generateUserSettingsToken($fileId, $userId, $version, $serverHost) { + $token = $this->random->generate(32, ISecureRandom::CHAR_LOWER . ISecureRandom::CHAR_UPPER . ISecureRandom::CHAR_DIGITS); + + $wopi = Wopi::fromParams([ + 'fileid' => $fileId, + 'ownerUid' => $userId, + 'editorUid' => $userId, + 'version' => $version, + 'canwrite' => true, + 'serverHost' => $serverHost, + 'token' => $token, + 'expiry' => $this->calculateNewTokenExpiry(), + 'templateId' => '0', + 'tokenType' => Wopi::TOKEN_TYPE_SETTING_AUTH, + ]); + + /** @var Wopi $wopi */ + $wopi = $this->insert($wopi); + + return $wopi; + } + public function generateInitiatorToken($uid, $remoteServer) { $token = $this->random->generate(32, ISecureRandom::CHAR_LOWER . ISecureRandom::CHAR_UPPER . ISecureRandom::CHAR_DIGITS); diff --git a/lib/Exceptions/WopiException.php b/lib/Exceptions/WopiException.php new file mode 100644 index 0000000000..7522263448 --- /dev/null +++ b/lib/Exceptions/WopiException.php @@ -0,0 +1,9 @@ +getStorage(); + } catch (NotFoundException) { + return null; + } + if ($storage->instanceOfStorage(SharedStorage::class)) { + /** @var SharedStorage $storage */ + return $storage->getShare(); + } + return null; + } } diff --git a/lib/Listener/AddSabrePluginListener.php b/lib/Listener/AddSabrePluginListener.php new file mode 100644 index 0000000000..b8ff149e32 --- /dev/null +++ b/lib/Listener/AddSabrePluginListener.php @@ -0,0 +1,35 @@ + */ +class AddSabrePluginListener implements IEventListener { + + public function __construct( + protected ContainerInterface $server, + ) { + } + + public function handle(Event $event): void { + if ( + !$event instanceof SabrePluginAddEvent + && !$event instanceof BeforeSabrePubliclyLoadedEvent + ) { + return; + } + $davServer = $event->getServer(); + $davServer->addPlugin($this->server->get(SecureViewPlugin::class)); + } +} diff --git a/lib/Listener/BeforeFetchPreviewListener.php b/lib/Listener/BeforeFetchPreviewListener.php index e0a6924460..f8e0ed20e0 100644 --- a/lib/Listener/BeforeFetchPreviewListener.php +++ b/lib/Listener/BeforeFetchPreviewListener.php @@ -10,7 +10,7 @@ namespace OCA\Richdocuments\Listener; -use OCA\Files_Sharing\SharedStorage; +use OCA\Richdocuments\Helper; use OCA\Richdocuments\PermissionManager; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; @@ -20,7 +20,6 @@ use OCP\Preview\BeforePreviewFetchedEvent; use OCP\Share\Exceptions\ShareNotFound; use OCP\Share\IManager; -use OCP\Share\IShare; /** @template-implements IEventListener */ class BeforeFetchPreviewListener implements IEventListener { @@ -29,6 +28,7 @@ public function __construct( private IUserSession $userSession, private IRequest $request, private IManager $shareManager, + private Helper $helper, ) { } @@ -39,19 +39,12 @@ public function handle(Event $event): void { $shareToken = $this->request->getParam('token'); $share = null; - - // Get share for internal shares - $storage = $event->getNode()->getStorage(); - if (!$shareToken && $storage->instanceOfStorage(SharedStorage::class)) { - if (method_exists(IShare::class, 'getAttributes')) { - /** @var SharedStorage $storage */ - $share = $storage->getShare(); - } - } - - // Get different share for public previews as the share from the node is only set for mounted shares try { - $share = $shareToken ? $this->shareManager->getShareByToken($shareToken) : $share; + $share = $shareToken ? + // Get different share for public previews as the share from the node is only set for mounted shares + $this->shareManager->getShareByToken($shareToken) + // Get share for internal shares + : $this->helper->getShareFromNode($event->getNode()); } catch (ShareNotFound) { } diff --git a/lib/Listener/BeforeGetTemplatesListener.php b/lib/Listener/BeforeGetTemplatesListener.php index 6d9e5d4d4d..7aed26f117 100644 --- a/lib/Listener/BeforeGetTemplatesListener.php +++ b/lib/Listener/BeforeGetTemplatesListener.php @@ -24,10 +24,15 @@ public function handle(Event $event): void { return; } + /** @psalm-suppress RedundantCondition */ + if (method_exists($event, 'shouldGetFields') && !$event->shouldGetFields()) { + return; + } + foreach ($event->getTemplates() as $template) { - $templateFileId = $template->jsonSerialize()['fileid']; - $fields = $this->templateFieldService->extractFields($templateFileId); - + $templateId = $template->jsonSerialize()['fileid']; + $fields = $this->templateFieldService->extractFields($templateId); + $template->setFields($fields); } } diff --git a/lib/Listener/FileCreatedFromTemplateListener.php b/lib/Listener/FileCreatedFromTemplateListener.php index 8553a20b8a..0a347318c8 100644 --- a/lib/Listener/FileCreatedFromTemplateListener.php +++ b/lib/Listener/FileCreatedFromTemplateListener.php @@ -35,7 +35,7 @@ public function handle(Event $event): void { } $targetFile = $event->getTarget(); - if (!in_array($targetFile->getMimetype(), Capabilities::MIMETYPES) && $targetFile->getMimeType() !== 'application/pdf') { + if (!in_array($targetFile->getMimetype(), array_merge(Capabilities::MIMETYPES, Capabilities::MIMETYPES_MSOFFICE)) && $targetFile->getMimeType() !== 'application/pdf') { return; } @@ -54,18 +54,18 @@ public function handle(Event $event): void { return; } - if ($this->templateManager->isSupportedTemplateSource($templateFile->getExtension())) { - // Only use TemplateSource if supported filetype - $this->templateManager->setTemplateSource($event->getTarget()->getId(), $templateFile->getId()); - } - if ($this->capabilitiesService->hasFormFilling()) { try { - $filledTemplate = $this->templateFieldService->fillFields($templateFile, $event->getTemplateFields()); + $filledTemplate = $this->templateFieldService->fillFields($templateFile, $event->getTemplateFields(), null, $event->getTarget()->getExtension()); $event->getTarget()->putContent($filledTemplate); } catch (\Exception $e) { $this->logger->error($e->getMessage(), ['exception' => $e]); } + } else { + if ($this->templateManager->isSupportedTemplateSource($templateFile->getExtension())) { + // Only use TemplateSource if supported filetype + $this->templateManager->setTemplateSource($event->getTarget()->getId(), $templateFile->getId()); + } } // Avoid having the mimetype of the source file set diff --git a/lib/Listener/LoadViewerListener.php b/lib/Listener/LoadViewerListener.php index 0a76ecdae4..7e11bbd177 100644 --- a/lib/Listener/LoadViewerListener.php +++ b/lib/Listener/LoadViewerListener.php @@ -11,6 +11,7 @@ namespace OCA\Richdocuments\Listener; +use OCA\Richdocuments\AppInfo\Application; use OCA\Richdocuments\PermissionManager; use OCA\Richdocuments\Service\InitialStateService; use OCA\Viewer\Event\LoadViewer; @@ -36,7 +37,8 @@ public function handle(Event $event): void { } if ($this->permissionManager->isEnabledForUser() && $this->userId !== null) { $this->initialStateService->provideCapabilities(); - Util::addScript('richdocuments', 'richdocuments-viewer', 'viewer'); + Util::addInitScript(Application::APPNAME, Application::APPNAME . '-init-viewer'); + Util::addScript(Application::APPNAME, Application::APPNAME . '-viewer', 'viewer'); $this->eventDispatcher->dispatchTyped(new RenderReferenceEvent()); } } diff --git a/lib/Listener/OverwritePublicSharePropertiesListener.php b/lib/Listener/OverwritePublicSharePropertiesListener.php new file mode 100644 index 0000000000..fadfa49817 --- /dev/null +++ b/lib/Listener/OverwritePublicSharePropertiesListener.php @@ -0,0 +1,40 @@ + */ +class OverwritePublicSharePropertiesListener implements IEventListener { + public function __construct( + private PermissionManager $permissionManager, + private ?string $userId, + ) { + } + + public function handle(Event $event): void { + if (!$event instanceof OverwritePublicSharePropertiesEvent) { + return; + } + + $share = $event->getShare(); + try { + $node = $share->getNode(); + } catch (NotFoundException) { + return; + } + + if ($this->permissionManager->shouldWatermark($node, $this->userId, $share)) { + $share->setHideDownload(true); + } + } +} diff --git a/lib/Listener/RegisterTemplateFileCreatorListener.php b/lib/Listener/RegisterTemplateFileCreatorListener.php index c538da96d5..8ba11aa39d 100644 --- a/lib/Listener/RegisterTemplateFileCreatorListener.php +++ b/lib/Listener/RegisterTemplateFileCreatorListener.php @@ -34,12 +34,18 @@ public function handle(Event $event): void { return; } - if (!$this->permissionManager->isEnabledForUser() || empty($this->capabilitiesService->getCapabilities())) { + if (empty($this->capabilitiesService->getCapabilities())) { + return; + } + + $user = $this->permissionManager->loggedInUser(); + $userCanCreate = $this->permissionManager->isEnabledForUser($user) && $this->permissionManager->userCanEdit($user); + if ($user && !$userCanCreate) { return; } $templateManager = $event->getTemplateManager(); - $ooxml = $this->config->getAppValue(Application::APPNAME, 'doc_format', '') === 'ooxml'; + $ooxml = $this->config->getAppValue(Application::APPNAME, 'doc_format', 'ooxml') === 'ooxml'; $appPath = $this->appManager->getAppPath('richdocuments'); $templateManager->registerTemplateFileCreator(function () use ($ooxml, $appPath) { @@ -82,9 +88,6 @@ public function handle(Event $event): void { return $odpType; }); - if (!$this->capabilitiesService->hasDrawSupport()) { - return; - } $templateManager->registerTemplateFileCreator(function () use ($ooxml, $appPath) { $odpType = new TemplateFileCreator('richdocuments', $this->l10n->t('New diagram'), '.odg'); $odpType->addMimetype('application/vnd.oasis.opendocument.graphics'); diff --git a/lib/Listener/ShareLinkListener.php b/lib/Listener/ShareLinkListener.php index b4346c923f..7d627b0d0e 100644 --- a/lib/Listener/ShareLinkListener.php +++ b/lib/Listener/ShareLinkListener.php @@ -12,6 +12,7 @@ namespace OCA\Richdocuments\Listener; use OCA\Files_Sharing\Event\ShareLinkAccessedEvent; +use OCA\Richdocuments\AppInfo\Application; use OCA\Richdocuments\PermissionManager; use OCA\Richdocuments\Service\InitialStateService; use OCP\EventDispatcher\Event; @@ -38,11 +39,11 @@ public function handle(Event $event): void { $loggedInUser = $this->permissionManager->loggedInUser(); if ($this->permissionManager->isEnabledForUser($owner)) { - $this->initialStateService->prepareParams(['userId' => $loggedInUser]); $this->initialStateService->provideCapabilities(); - Util::addScript('richdocuments', 'richdocuments-viewer', 'viewer'); - Util::addScript('richdocuments', 'richdocuments-public', 'viewer'); + Util::addInitScript(Application::APPNAME, Application::APPNAME . '-init-viewer'); + Util::addScript(Application::APPNAME, Application::APPNAME . '-viewer', 'viewer'); + Util::addScript(Application::APPNAME, Application::APPNAME . '-public', 'viewer'); } } } diff --git a/lib/Middleware/WOPIMiddleware.php b/lib/Middleware/WOPIMiddleware.php index de5aa2322f..988698c740 100644 --- a/lib/Middleware/WOPIMiddleware.php +++ b/lib/Middleware/WOPIMiddleware.php @@ -14,7 +14,10 @@ use OCA\Richdocuments\Db\WopiMapper; use OCA\Richdocuments\Exceptions\ExpiredTokenException; use OCA\Richdocuments\Exceptions\UnknownTokenException; +use OCA\Richdocuments\Exceptions\WopiException; use OCA\Richdocuments\Helper; +use OCA\Richdocuments\Service\DiscoveryService; +use OCA\Richdocuments\Service\ProofKeyService; use OCP\AppFramework\Http; use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\Response; @@ -22,6 +25,7 @@ use OCP\Files\NotPermittedException; use OCP\IConfig; use OCP\IRequest; +use OCP\IURLGenerator; use Psr\Log\LoggerInterface; use ReflectionClass; use ReflectionMethod; @@ -30,9 +34,13 @@ class WOPIMiddleware extends Middleware { public function __construct( private IConfig $config, + private IURLGenerator $urlGenerator, private IRequest $request, + private DiscoveryService $discoveryService, private WopiMapper $wopiMapper, private LoggerInterface $logger, + private ProofKeyService $proofKeyService, + private bool $isWOPIRequest = false, ) { } @@ -55,9 +63,52 @@ public function beforeController($controller, $methodName) { return; } + if (str_contains($this->request->getRequestUri(), '/wopi/settings')) { + return; + } + try { - $fileId = $this->request->getParam('fileId'); $accessToken = $this->request->getParam('access_token'); + $isWopiSettingsUrl = str_contains($this->request->getRequestUri(), '/wopi/settings'); + + if (!$isWopiSettingsUrl) { + $wopiProof = $this->request->getHeader('X-WOPI-Proof'); + $wopiProofOld = $this->request->getHeader('X-WOPI-ProofOld'); + $hasProofKey = $this->discoveryService->hasProofKey(); + + // This could mean the discovery cache needs to be updated + // e.g. if Collabora sends a WOPI proof but the cached discovery + // says there is not one, then we should re-fetch it + if ($hasProofKey !== (bool)$wopiProof) { + $this->discoveryService->fetch(); + $hasProofKey = $this->discoveryService->hasProofKey(); + } + + if ($hasProofKey) { + $wopiTimestamp = $this->request->getHeader('X-WOPI-TimeStamp'); + $wopiTimestampIsOld = $this->proofKeyService->isOldTimestamp((int)$wopiTimestamp); + + if ($wopiTimestampIsOld) { + throw new WopiException('X-WOPI-TimeStamp header is older than 20 minutes'); + } + + $url = $this->urlGenerator->getAbsoluteURL($this->request->getRequestUri()); + + $isProofValid = $this->proofKeyService->isProofValid( + $accessToken, + $url, + $wopiTimestamp, + $wopiProof, + $wopiProofOld + ); + + if (!$isProofValid) { + throw new WopiException('Invalid WOPI proof'); + } + } + } + + $fileId = $this->request->getParam('fileId'); [$fileId, ,] = Helper::parseFileId($fileId); $wopi = $this->wopiMapper->getWopiForToken($accessToken); if ((int)$fileId !== $wopi->getFileid() && (int)$fileId !== $wopi->getTemplateId()) { @@ -70,13 +121,24 @@ public function beforeController($controller, $methodName) { $this->logger->info('Invalid token for WOPI access', [ 'exception' => $e ]); } throw new NotPermittedException(); + } catch (WopiException $e) { + $this->logger->error('WOPI error: ' . $e->getMessage(), [ + 'exception' => $e, + ]); + throw new WopiException(); } catch (\Exception $e) { $this->logger->error('Failed to validate WOPI access', [ 'exception' => $e ]); throw new NotPermittedException(); } + + $this->isWOPIRequest = true; } public function afterException($controller, $methodName, \Exception $exception): Response { + if ($exception instanceof WopiException && $controller instanceof WopiController) { + return new JSONResponse([], Http::STATUS_INTERNAL_SERVER_ERROR); + } + if ($exception instanceof NotPermittedException && $controller instanceof WopiController) { return new JSONResponse([], Http::STATUS_FORBIDDEN); } @@ -106,4 +168,8 @@ public function isWOPIAllowed(): bool { $this->logger->warning('WOPI request denied from ' . $userIp . ' as it does not match the configured ranges: ' . implode(', ', $allowedRanges)); return false; } + + public function isWOPIRequest(): bool { + return $this->isWOPIRequest; + } } diff --git a/lib/Migration/Version10000Date20251217143558.php b/lib/Migration/Version10000Date20251217143558.php new file mode 100644 index 0000000000..152d602fc2 --- /dev/null +++ b/lib/Migration/Version10000Date20251217143558.php @@ -0,0 +1,78 @@ +hasTable('richdocuments_wopi')) { + return null; + } + + $table = $schema->getTable('richdocuments_wopi'); + + if (!$table->hasColumn('version')) { + return null; + } + + $column = $table->getColumn('version'); + + if ($column->getType()->getName() === 'string') { + return null; + } + + $table->changeColumn('version', [ + 'type' => Type::getType('string'), + 'notnull' => false, + 'length' => 1024, + 'default' => '0', + ]); + + return $schema; + } + + /** + * @param IOutput $output + * @param Closure(): ISchemaWrapper $schemaClosure + * @param array $options + */ + #[Override] + public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void { + } +} diff --git a/lib/Migration/Version2060Date20200302131958.php b/lib/Migration/Version2060Date20200302131958.php index 09bd814509..00494892c8 100644 --- a/lib/Migration/Version2060Date20200302131958.php +++ b/lib/Migration/Version2060Date20200302131958.php @@ -9,6 +9,7 @@ use Closure; use OCP\DB\ISchemaWrapper; +use OCP\IDBConnection; use OCP\Migration\IOutput; use OCP\Migration\SimpleMigrationStep; @@ -16,6 +17,23 @@ * Auto-generated migration step: Please modify to your needs! */ class Version2060Date20200302131958 extends SimpleMigrationStep { + + public function __construct( + private IDBConnection $connection, + ) { + } + + public function preSchemaChange(IOutput $output, Closure $schemaClosure, array $options) { + /** @var ISchemaWrapper $schema */ + $schema = $schemaClosure(); + + if ($schema->hasTable('richdocuments_wopi')) { + $qb = $this->connection->getQueryBuilder(); + $qb->delete('richdocuments_wopi'); + $qb->executeStatement(); + } + } + /** * @param IOutput $output * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` @@ -26,6 +44,10 @@ public function changeSchema(IOutput $output, Closure $schemaClosure, array $opt /** @var ISchemaWrapper $schema */ $schema = $schemaClosure(); + if ($schema->hasTable('richdocuments_wopi')) { + $schema->dropTable('richdocuments_wopi'); + } + if (!$schema->hasTable('richdocuments_wopi')) { $table = $schema->createTable('richdocuments_wopi'); $table->addColumn('id', 'bigint', [ @@ -44,17 +66,16 @@ public function changeSchema(IOutput $output, Closure $schemaClosure, array $opt ]); $table->addColumn('guest_displayname', 'string', [ 'notnull' => false, - 'length' => 64, + 'length' => 255, ]); $table->addColumn('fileid', 'bigint', [ 'notnull' => true, 'length' => 20, ]); - $table->addColumn('version', 'bigint', [ - //'notnull' => true, + $table->addColumn('version', 'string', [ 'notnull' => false, - 'length' => 20, - 'default' => 0, + 'length' => 1024, + 'default' => '0', ]); $table->addColumn('canwrite', 'boolean', [ //'notnull' => true, diff --git a/lib/Migration/Version9000Date20250128212050.php b/lib/Migration/Version9000Date20250128212050.php new file mode 100644 index 0000000000..5b2d75e05b --- /dev/null +++ b/lib/Migration/Version9000Date20250128212050.php @@ -0,0 +1,39 @@ +hasTable('richdocuments_wopi')) { + return null; + } + + $table = $schema->getTable('richdocuments_wopi'); + if (!$table->hasColumn('guest_displayname')) { + return null; + } + + $column = $table->getColumn('guest_displayname'); + if ($column->getLength() === 255) { + return null; + } + + $column->setLength(255); + return $schema; + } +} diff --git a/lib/PermissionManager.php b/lib/PermissionManager.php index 49f0a79eaa..e7806a8675 100644 --- a/lib/PermissionManager.php +++ b/lib/PermissionManager.php @@ -9,6 +9,7 @@ namespace OCA\Richdocuments; use OCP\Constants; +use OCP\Files\Cache\ICacheEntry; use OCP\Files\Node; use OCP\IConfig; use OCP\IGroupManager; @@ -112,14 +113,21 @@ public function userIsFeatureLocked(?string $userId = null): bool { return false; } - public function shouldWatermark(Node $node, ?string $userId = null, ?IShare $share = null): bool { + public function shouldWatermark(Node|ICacheEntry $nodeOrCacheEntry, ?string $userId = null, ?IShare $share = null, ?string $ownerId = null): bool { if ($this->config->getAppValue(AppConfig::WATERMARK_APP_NAMESPACE, 'watermark_enabled', 'no') === 'no') { return false; } - $fileId = $node->getId(); + if (!in_array($nodeOrCacheEntry->getMimetype(), $this->appConfig->getMimeTypes(), true)) { + return false; + } - $isUpdatable = $node->isUpdateable() && (!$share || $share->getPermissions() & Constants::PERMISSION_UPDATE); + $fileId = $nodeOrCacheEntry->getId(); + + $isUpdatable = $nodeOrCacheEntry instanceof Node + ? $nodeOrCacheEntry->isUpdateable() + : $nodeOrCacheEntry->getPermissions() & Constants::PERMISSION_UPDATE; + $isUpdatable = $isUpdatable && (!$share || $share->getPermissions() & Constants::PERMISSION_UPDATE); $hasShareAttributes = $share && method_exists($share, 'getAttributes') && $share->getAttributes() instanceof IAttributes; $isDisabledDownload = $hasShareAttributes && $share->getAttributes()->getAttribute('permissions', 'download') === false; @@ -149,7 +157,10 @@ public function shouldWatermark(Node $node, ?string $userId = null, ?IShare $sha } if ($this->config->getAppValue(AppConfig::WATERMARK_APP_NAMESPACE, 'watermark_shareAll', 'no') === 'yes') { - if ($userId === null || $node->getOwner()?->getUID() !== $userId) { + if (!$ownerId && $nodeOrCacheEntry instanceof Node) { + $ownerId = $nodeOrCacheEntry->getOwner()?->getUID(); + } + if ($userId === null || $ownerId !== $userId) { return true; } } @@ -162,6 +173,12 @@ public function shouldWatermark(Node $node, ?string $userId = null, ?IShare $sha return true; } + if ($this->config->getAppValue(AppConfig::WATERMARK_APP_NAMESPACE, 'watermark_shareTalkPublic', 'no') === 'yes') { + if ($userId === null && $share?->getShareType() === IShare::TYPE_ROOM) { + return true; + } + } + if ($userId !== null && $this->config->getAppValue(AppConfig::WATERMARK_APP_NAMESPACE, 'watermark_allGroups', 'no') === 'yes') { $groups = $this->appConfig->getAppValueArray('watermark_allGroupsList'); foreach ($groups as $group) { diff --git a/lib/Preview/Office.php b/lib/Preview/Office.php index 8b8caa8390..b93536836b 100644 --- a/lib/Preview/Office.php +++ b/lib/Preview/Office.php @@ -5,6 +5,7 @@ */ namespace OCA\Richdocuments\Preview; +use OCA\Richdocuments\AppConfig; use OCA\Richdocuments\Capabilities; use OCA\Richdocuments\Service\RemoteService; use OCP\Files\File; @@ -20,6 +21,7 @@ abstract class Office implements IProviderV2 { public function __construct( private RemoteService $remoteService, private LoggerInterface $logger, + private AppConfig $appConfig, Capabilities $capabilities, ) { $this->capabilities = $capabilities->getCapabilities()['richdocuments'] ?? []; @@ -27,7 +29,7 @@ public function __construct( public function isAvailable(FileInfo $file): bool { if (isset($this->capabilities['collabora']['convert-to']['available'])) { - return (bool)$this->capabilities['collabora']['convert-to']['available']; + return (bool)$this->capabilities['collabora']['convert-to']['available'] && $this->appConfig->isPreviewGenerationEnabled(); } return false; } diff --git a/lib/Service/CapabilitiesService.php b/lib/Service/CapabilitiesService.php index a97c7a234b..e66ce23210 100644 --- a/lib/Service/CapabilitiesService.php +++ b/lib/Service/CapabilitiesService.php @@ -69,10 +69,6 @@ public function hasNextcloudBranding(): bool { return $this->isVersionAtLeast('21.11'); } - public function hasDrawSupport(): bool { - return $this->isVersionAtLeast('6.4.7'); - } - public function hasTemplateSource(): bool { return $this->getCapabilities()['hasTemplateSource'] ?? false; } @@ -81,6 +77,10 @@ public function hasZoteroSupport(): bool { return $this->getCapabilities()['hasZoteroSupport'] ?? false; } + public function hasSettingIframeSupport(): bool { + return $this->getCapabilities()['hasSettingIframeSupport'] ?? false; + } + public function hasWASMSupport(): bool { return $this->getCapabilities()['hasWASMSupport'] ?? false; } @@ -90,7 +90,8 @@ public function hasDocumentSigningSupport(): bool { } public function hasFormFilling(): bool { - return $this->isVersionAtLeast('24.04.5.2'); + $productVersion = $this->getCapabilities()['productVersion'] ?? '0.0.0.0'; + return $this->isVersionAtLeast('24.04.5.2') || $productVersion === '0.0.0.0'; } private function isVersionAtLeast(string $version): bool { @@ -135,6 +136,9 @@ protected function sendRequest(IClient $client): string { private function getParsedCapabilities() { $response = $this->get(); + if (!$response) { + return []; + } return json_decode($response, true); } } diff --git a/lib/Service/DiscoveryService.php b/lib/Service/DiscoveryService.php index 7cd10be775..f7d7fb4564 100644 --- a/lib/Service/DiscoveryService.php +++ b/lib/Service/DiscoveryService.php @@ -28,6 +28,7 @@ namespace OCA\Richdocuments\Service; +use OCA\Richdocuments\WOPI\ProofKey; use OCP\Files\AppData\IAppDataFactory; use OCP\Http\Client\IClient; use OCP\Http\Client\IClientService; @@ -35,6 +36,7 @@ use OCP\ICacheFactory; use OCP\IConfig; use Psr\Log\LoggerInterface; +use SimpleXMLElement; class DiscoveryService extends CachedRequestService { public function __construct( @@ -63,6 +65,64 @@ protected function sendRequest(IClient $client): string { private function getDiscoveryEndpoint(): string { $remoteHost = $this->config->getAppValue('richdocuments', 'wopi_url'); return rtrim($remoteHost, '/') . '/hosting/discovery'; + } + + public function hasProofKey(): bool { + try { + $parsed = $this->getParsed(); + } catch (\Exception $e) { + return false; + } + + if (!$parsed->xpath('//proof-key')) { + return false; + } + + return (bool)$parsed->xpath('//proof-key'); + } + + public function getProofKey(): ?ProofKey { + try { + $parsed = $this->getParsed(); + } catch (\Exception $e) { + return null; + } + + $publicKey = (string)$parsed->xpath('//proof-key/@value')[0]; + $modulus = (string)$parsed->xpath('//proof-key/@modulus')[0]; + $exponent = (string)$parsed->xpath('//proof-key/@exponent')[0]; + + return new ProofKey( + $exponent, + $modulus, + $publicKey + ); + } + + public function getProofKeyOld(): ?ProofKey { + try { + $parsed = $this->getParsed(); + } catch (\Exception $e) { + return null; + } + + $publicKey = (string)$parsed->xpath('//proof-key/@oldvalue')[0]; + $modulus = (string)$parsed->xpath('//proof-key/@oldmodulus')[0]; + $exponent = (string)$parsed->xpath('//proof-key/@oldexponent')[0]; + + return new ProofKey( + $exponent, + $modulus, + $publicKey + ); + } + private function getParsed(): SimpleXMLElement { + try { + return new SimpleXMLElement($this->get()); + } catch (\Exception $e) { + $this->logger->error($e->getMessage()); + throw new \Exception('Could not parse discovery XML'); + } } } diff --git a/lib/Service/DocumentGenerationService.php b/lib/Service/DocumentGenerationService.php new file mode 100644 index 0000000000..6c7a31b801 --- /dev/null +++ b/lib/Service/DocumentGenerationService.php @@ -0,0 +1,106 @@ +runTextToTextTask($taskInput, $userId); + $converter = new GithubFlavoredMarkdownConverter(); + $htmlContent = $converter->convert($markdownContent)->getContent(); + $htmlStream = $this->stringToStream($htmlContent); + $docxContent = $this->remoteService->convertTo('document.html', $htmlStream, $targetFormat); + + return $docxContent; + } + + public function generateSpreadSheetDocument(?string $userId, string $description, string $targetFormat = TextToSpreadsheetProvider::DEFAULT_TARGET_FORMAT) { + $prompt = self::SPREADSHEET_PROMPT; + $taskInput = $prompt . "\n\n" . $description; + $csvContent = $this->runTextToTextTask($taskInput, $userId); + $csvStream = $this->stringToStream($csvContent); + + // Passing these will ensure the CSV is correctly + // parsed into a spreadsheet + $conversionOptions = [ + // Sets the input filter to use the following: + // 44 - , (comma) as the field separator + // 34 - " (double quote) as the text delimiter + // 76 - UTF-8 as the character set + // 1 - Start at line one of the input + 'infilterOptions' => '44,34,76,1', + ]; + + $xlsxContent = $this->remoteService->convertTo('document.csv', $csvStream, $targetFormat, $conversionOptions); + + return $xlsxContent; + } + + private function runTextToTextTask(string $input, ?string $userId): string { + $task = new Task( + TextToText::ID, + ['input' => $input], + Application::APPNAME, + $userId, + ); + try { + $task = $this->taskProcessingManager->runTask($task); + } catch (PreConditionNotMetException|UnauthorizedException|ValidationException|Exception $e) { + throw new RuntimeException($e->getMessage(), $e->getCode(), $e); + } + $taskOutput = $task->getOutput(); + if ($taskOutput === null) { + throw new RuntimeException('Task with id ' . $task->getId() . ' does not have any output'); + } + + /** @var string $taskOutputString */ + $taskOutputString = $taskOutput['output']; + + return $taskOutputString; + } + + private function stringToStream(string $text) { + $stream = fopen('php://memory', 'r+'); + fwrite($stream, $text); + rewind($stream); + return $stream; + } +} diff --git a/lib/Service/FederationService.php b/lib/Service/FederationService.php index 1ef612bde3..e37c5e102c 100644 --- a/lib/Service/FederationService.php +++ b/lib/Service/FederationService.php @@ -24,6 +24,7 @@ use OCP\ICacheFactory; use OCP\IRequest; use OCP\IURLGenerator; +use OCP\Security\ITrustedDomainHelper; use OCP\Share\IShare; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; @@ -43,10 +44,11 @@ public function __construct( private AppConfig $appConfig, private IRequest $request, private IURLGenerator $urlGenerator, + private ITrustedDomainHelper $trustedDomainHelper, ) { $this->cache = $cacheFactory->createDistributed('richdocuments_remote/'); try { - $this->trustedServers = \OC::$server->get(\OCA\Federation\TrustedServers::class); + $this->trustedServers = \OCP\Server::get(\OCA\Federation\TrustedServers::class); } catch (NotFoundExceptionInterface|ContainerExceptionInterface|AutoloadNotAllowedException) { } } @@ -73,6 +75,11 @@ public function getRemoteCollaboraURL($remote) { if (!$this->isTrustedRemote($remote)) { throw new \Exception('Unable to determine collabora URL of remote server ' . $remote . ' - Remote is not a trusted server'); } + + if ($this->trustedDomainHelper->isTrustedUrl($remote)) { + return $this->appConfig->getCollaboraUrlInternal(); + } + $remoteCollabora = $this->cache->get('richdocuments_remote/' . $remote); if ($remoteCollabora !== null) { return $remoteCollabora; @@ -112,7 +119,12 @@ public function isTrustedRemote($domainWithPort) { if (!is_string($trusted)) { break; } + + // This regular expression ensures that wildcards for trusted domains + // are parsed properly in order to match subdomains: + // *.example.com => /^[-\.a-zA-Z0-9]*\.example\.com$/i $regex = '/^' . implode('[-\.a-zA-Z0-9]*', array_map(fn ($v) => preg_quote($v, '/'), explode('*', $trusted))) . '$/i'; + if (preg_match($regex, $domain) || preg_match($regex, $domainWithPort)) { return true; } @@ -199,14 +211,18 @@ public function getRemoteRedirectURL(File $item, ?Direct $direct = null, ?IShare $this->tokenManager->extendWithInitiatorUserToken($wopi, $direct->getInitiatorHost(), $direct->getInitiatorToken()); } + $url = rtrim($remote, '/') . '/index.php/apps/richdocuments/remote'; + $params = [ + 'shareToken' => $item->getStorage()->getToken(), + 'remoteServer' => $initiatorServer, + 'remoteServerToken' => $initiatorToken, + ]; - $url = rtrim($remote, '/') . '/index.php/apps/richdocuments/remote?shareToken=' . $item->getStorage()->getToken() . - '&remoteServer=' . $initiatorServer . - '&remoteServerToken=' . $initiatorToken; if ($item->getInternalPath() !== '') { - $url .= '&filePath=' . $item->getInternalPath(); + $params['filePath'] = $item->getInternalPath(); } - return $url; + + return $url . '?' . http_build_query($params); } throw new NotFoundException('Failed to connect to remote collabora instance for ' . $item->getId()); diff --git a/lib/Service/FontService.php b/lib/Service/FontService.php index 621697b1f1..be170d3fd8 100644 --- a/lib/Service/FontService.php +++ b/lib/Service/FontService.php @@ -213,7 +213,7 @@ private function generateFontOverview(ISimpleFile $fontFile): void { * @throws Exception */ public function installDefaultFonts(): void { - $dirPath = __DIR__ . '/../../assets/fonts'; + $dirPath = __DIR__ . '/../../fonts'; if (!is_dir($dirPath)) { throw new Exception("Directory \"$dirPath\" does not exist!"); diff --git a/lib/Service/InitialStateService.php b/lib/Service/InitialStateService.php index cf20af01e7..f33dde453c 100644 --- a/lib/Service/InitialStateService.php +++ b/lib/Service/InitialStateService.php @@ -40,7 +40,7 @@ public function provideCapabilities(): void { } $this->initialState->provideInitialState('productName', $this->capabilitiesService->getProductName()); - $this->initialState->provideInitialState('hasDrawSupport', $this->capabilitiesService->hasDrawSupport()); + $this->initialState->provideInitialState('hasDrawSupport', true); $this->initialState->provideInitialState('hasNextcloudBranding', $this->capabilitiesService->hasNextcloudBranding()); $this->initialState->provideInitialState('instanceId', $this->config->getSystemValue('instanceid')); $this->initialState->provideInitialState('wopi_callback_url', $this->appConfig->getNextcloudUrl()); @@ -68,6 +68,14 @@ public function provideAdminSettings(): void { $this->initialState->provideInitialState('adminSettings', [ 'templatesAvailable' => $this->capabilitiesService->hasTemplateSource(), 'templates' => $this->templateManager->getSystemFormatted(), + + 'acceptedTemplateTypes' => [ + '.ott', '.otg', '.otp', '.ots', + '.odt', '.odg', '.odp', '.ods', + '.dot', '.dotx', '.doc', '.docx', + '.xlt', '.xltx', '.xls', '.xlsx', + '.pot', '.potx', '.ppt', '.pptx', + ], ]); } diff --git a/lib/Service/ProofKeyService.php b/lib/Service/ProofKeyService.php new file mode 100644 index 0000000000..cb07c184d9 --- /dev/null +++ b/lib/Service/ProofKeyService.php @@ -0,0 +1,143 @@ +constructProof( + $accessToken, + $url, + $wopiTimestamp + ); + + $proofKey = $this->discoveryService->getProofKey(); + $proofKeyOld = $this->discoveryService->getProofKeyOld(); + + $key = $this->calculateRSAKey($proofKey->getModulus(), $proofKey->getExponent()); + $keyOld = $this->calculateRSAKey($proofKeyOld->getModulus(), $proofKeyOld->getExponent()); + + $isValid = ($this->verifyKey($expected, $proof, $key) || + $this->verifyKey($expected, $proof, $keyOld) || + $this->verifyKey($expected, $proofOld, $key)); + + return $isValid; + } + + public function windowsToUnixTimestamp(string $windowsTimestamp): string { + // Convert the epochs to timestamps + $windowsEpoch = strtotime(self::WINDOWS_EPOCH); + $unixEpoch = strtotime(self::UNIX_EPOCH); + + // Calculate the difference between the Unix and Windows epochs in seconds + $epochOffset = (float)($unixEpoch - $windowsEpoch); + + // Convert the Windows timestamp from 100-nanoseconds intervals to seconds + $windowsTimestampSeconds = ((float)$windowsTimestamp) / 1e7; + + // Finally, subtract the number of seconds between the Windows and Unix epochs + // from the number of seconds in the given Windows timestamp + $convertedWindowsTimestamp = (int)($windowsTimestampSeconds - $epochOffset); + + return (string)$convertedWindowsTimestamp; + } + + public function isOldTimestamp(int $timestamp): bool { + $timestampDateTime = new DateTime(); + $timestampDateTime->setTimestamp($timestamp); + + $now = new DateTimeImmutable(); + $controlDateTime = $now->modify('-20 minutes'); + + // The timestamp is old if it is from over 20 minutes ago + if ($timestampDateTime < $controlDateTime) { + return true; + } + + return false; + } + + private function calculateRSAKey(string $modulus, string $exponent): string { + $rsa = PublicKeyLoader::load([ + 'e' => new BigInteger(base64_decode($exponent, true), 256), + 'n' => new BigInteger(base64_decode($modulus, true), 256), + ]); + + return (string)$rsa->__toString(); + } + + private function constructProof( + string $accessToken, + string $url, + string $wopiTimeStamp, + ): string { + // Four bytes representing the length, in bytes, of the access token + $accessTokenLength = pack('N', strlen($accessToken)); + + // The access token in UTF-8 encoding + $accessToken = mb_convert_encoding($accessToken, 'UTF-8', 'auto'); + + // Four bytes representing the length, in bytes, of the URL + $urlLength = pack('N', strlen($url)); + + // The UTF-8 encoded URL converted to uppercase + $uppercaseURL = mb_strtoupper(mb_convert_encoding($url, 'UTF-8', 'auto'), 'UTF-8'); + + // Four bytes representing the size, in bytes, of the WOPI timestamp + // Note: The WOPI timestamp should be converted to a long, so this + // is architecture dependant (here we use PHP_INT_SIZE) + $wopiTimestampSize = pack('N', PHP_INT_SIZE); + + // The WOPI timestamp converted to a long (in PHP we use int) + $wopiTimestamp = pack('J', $wopiTimeStamp); + + return sprintf( + '%s%s%s%s%s%s', + $accessTokenLength, + $accessToken, + $urlLength, + $uppercaseURL, + $wopiTimestampSize, + $wopiTimestamp + ); + } + + private function verifyKey(string $expected, string $proof, string $proofKey): bool { + try { + /** @var RSA\PublicKey */ + $key = PublicKeyLoader::loadPublicKey($proofKey); + } catch (Throwable $e) { + return false; + } + + $proof = (string)base64_decode($proof, true); + + $key = $key->withHash('sha256'); + $key = $key->withPadding(RSA::SIGNATURE_PKCS1); + + return $key->verify($expected, $proof); + } +} diff --git a/lib/Service/RemoteService.php b/lib/Service/RemoteService.php index 06937d373b..6b8c5cc693 100644 --- a/lib/Service/RemoteService.php +++ b/lib/Service/RemoteService.php @@ -16,6 +16,7 @@ class RemoteService { public function __construct( private AppConfig $appConfig, private IClientService $clientService, + private CapabilitiesService $capabilitiesService, private LoggerInterface $logger, ) { } @@ -58,13 +59,8 @@ public function fetchTargetThumbnail(File $file, string $target): ?string { * @return resource|string */ public function convertFileTo(File $file, string $format) { - $useTempFile = $file->isEncrypted() || !$file->getStorage()->isLocal(); - if ($useTempFile) { - $fileName = $file->getStorage()->getLocalFile($file->getInternalPath()); - $stream = fopen($fileName, 'r'); - } else { - $stream = $file->fopen('r'); - } + $fileName = $file->getStorage()->getLocalFile($file->getInternalPath()); + $stream = fopen($fileName, 'rb'); if ($stream === false) { throw new Exception('Failed to open stream'); @@ -76,7 +72,7 @@ public function convertFileTo(File $file, string $format) { * @param resource $stream * @return resource|string */ - public function convertTo(string $filename, $stream, string $format) { + public function convertTo(string $filename, $stream, string $format, ?array $conversionOptions = []) { $client = $this->clientService->newClient(); $options = RemoteOptionsService::getDefaultOptions(); // FIXME: can be removed once https://github.com/CollaboraOnline/online/issues/6983 is fixed upstream @@ -86,28 +82,139 @@ public function convertTo(string $filename, $stream, string $format) { $options['verify'] = false; } - $options['multipart'] = [['name' => $filename, 'contents' => $stream]]; + $options['multipart'] = [ + array_merge([ + 'name' => $filename, + 'filename' => $filename, + 'contents' => $stream + ], $conversionOptions), + ]; try { $response = $client->post($this->appConfig->getCollaboraUrlInternal() . '/cool/convert-to/' . $format, $options); - return $response->getBody(); + $body = $response->getBody(); + + if (is_null($body)) { + throw new \Exception('Empty response from Collabora server'); + } + + return $body; } catch (\Exception $e) { $this->logger->error('Failed to convert preview: ' . $e->getMessage(), ['exception' => $e]); throw $e; } } - private function getRequestOptionsForFile(File $file, ?string $target = null): array { - $useTempFile = $file->isEncrypted() || !$file->getStorage()->isLocal(); - if ($useTempFile) { - $localFile = $file->getStorage()->getLocalFile($file->getInternalPath()); - if (!is_string($localFile)) { - throw new NotFoundException('Could not get local file'); + /** + * @param string $filename + * @param resource $stream + * @return array + */ + public function extractDocumentStructure(string $filename, $stream, string $filter): array { + if (!$this->capabilitiesService->hasFormFilling()) { + return []; + } + + $collaboraUrl = $this->appConfig->getCollaboraUrlInternal(); + $client = $this->clientService->newClient(); + + $options = RemoteOptionsService::getDefaultOptions(); + $options['expect'] = false; + + if ($this->appConfig->getDisableCertificateValidation()) { + $options['verify'] = false; + } + + $options['query'] = ['filter' => $filter]; + $options['multipart'] = [ + [ + 'name' => 'data', + 'filename' => $filename, + 'contents' => $stream, + 'headers' => [ 'Content-Type' => 'multipart/form-data' ], + ], + ]; + + try { + $response = $client->post( + $collaboraUrl . '/cool/extract-document-structure', + $options + ); + + return json_decode($response->getBody(), true)['DocStructure'] ?? []; + } catch (\Exception $e) { + $this->logger->error($e->getMessage()); + return []; + } + } + + /** + * @param string $filename + * @param resource $stream + * @return string|resource + */ + public function transformDocumentStructure(string $filename, $stream, array $values, ?string $format = null) { + if (!$this->capabilitiesService->hasFormFilling()) { + throw new \RuntimeException('Form filling not supported by the Collabora server'); + } + + $collaboraUrl = $this->appConfig->getCollaboraUrlInternal(); + $client = $this->clientService->newClient(); + + $options = RemoteOptionsService::getDefaultOptions(); + $options['expect'] = false; + + if ($this->appConfig->getDisableCertificateValidation()) { + $options['verify'] = false; + } + + $data = [ + 'name' => 'data', + 'filename' => $filename, + 'contents' => $stream, + 'headers' => [ 'Content-Type' => 'multipart/form-data' ], + ]; + + $transform = [ + 'name' => 'transform', + 'contents' => '{"Transforms": ' . json_encode($values) . '}', + 'headers' => [ 'Content-Type' => 'application/json' ], + ]; + + $options['multipart'] = [$data, $transform]; + + if ($format !== null) { + $options['multipart'][] = [ + 'name' => 'format', + 'contents' => $format, + ]; + } + + try { + $response = $client->post( + $collaboraUrl . '/cool/transform-document-structure', + $options + ); + + $body = $response->getBody(); + + if (is_null($body)) { + throw new \Exception('Empty response from Collabora server'); } - $stream = fopen($localFile, 'rb'); - } else { - $stream = $file->fopen('rb'); + + return $body; + } catch (\Exception $e) { + $this->logger->error($e->getMessage()); + throw $e; + } + } + + private function getRequestOptionsForFile(File $file, ?string $target = null): array { + $localFile = $file->getStorage()->getLocalFile($file->getInternalPath()); + if (!is_string($localFile)) { + throw new NotFoundException('Could not get local file'); } + $stream = fopen($localFile, 'rb'); $options = RemoteOptionsService::getDefaultOptions(25); $options['multipart'] = [ diff --git a/lib/Service/SecureViewService.php b/lib/Service/SecureViewService.php new file mode 100644 index 0000000000..894dc2f2f2 --- /dev/null +++ b/lib/Service/SecureViewService.php @@ -0,0 +1,60 @@ +appConfig->getValueString(AppConfig::WATERMARK_APP_NAMESPACE, 'watermark_enabled', 'no') !== 'no'; + } + + /** + * @throws NotFoundException + */ + public function shouldSecure(string $path, IStorage $storage, bool $tryOpen = true): bool { + if ($tryOpen) { + // pity… fopen() does not document any possible Exceptions + $fp = $storage->fopen($path, 'r'); + fclose($fp); + } + + $cacheEntry = $storage->getCache()->get($path); + if (!$cacheEntry) { + $parent = dirname($path); + if ($parent === '.') { + $parent = ''; + } + $cacheEntry = $storage->getCache()->get($parent); + if (!$cacheEntry) { + throw new NotFoundException(sprintf('Could not find cache entry for path and parent of %s within storage %s ', $path, $storage->getId())); + } + } + + $isSharedStorage = $storage->instanceOfStorage(ISharedStorage::class); + /** @noinspection PhpPossiblePolymorphicInvocationInspection */ + /** @psalm-suppress UndefinedMethod **/ + $share = $isSharedStorage ? $storage->getShare() : null; + $userId = $this->userSession->getUser()?->getUID(); + + return $this->permissionManager->shouldWatermark($cacheEntry, $userId, $share, $storage->getOwner($path) ?: null); + } +} diff --git a/lib/Service/SettingsService.php b/lib/Service/SettingsService.php new file mode 100644 index 0000000000..bc8b0e741a --- /dev/null +++ b/lib/Service/SettingsService.php @@ -0,0 +1,416 @@ +cache = $cacheFactory->createDistributed(Application::APPNAME); + } + + /** + * Ensure the settings directory exists, if it doesn't exist then create it. + * + * @param SettingsUrl $settingsUrl + * @return ISimpleFolder + */ + + public function ensureDirectory(SettingsUrl $settingsUrl, string $userId): ISimpleFolder { + $type = $settingsUrl->getType(); + $category = $settingsUrl->getCategory(); + + try { + $baseFolder = $this->appData->getFolder($type); + } catch (NotFoundException $e) { + $baseFolder = $this->appData->newFolder($type); + } + + if ($type === 'userconfig') { + try { + $baseFolder = $baseFolder->getFolder($userId); + } catch (NotFoundException $e) { + $baseFolder = $baseFolder->newFolder($userId); + } + } + + try { + $categoryFolder = $baseFolder->getFolder($category); + } catch (NotFoundException $e) { + $categoryFolder = $baseFolder->newFolder($category); + } + + return $categoryFolder; + } + + /** + * Upload a file to the settings directory. + * ex. $type/$category/$filename + * + * @param SettingsUrl $settingsUrl + * @param string $fileData + * @return array ['stamp' => string, 'uri' => string] + */ + + public function uploadFile(SettingsUrl $settingsUrl, string $fileData, string $userId): array { + $categoryFolder = $this->ensureDirectory($settingsUrl, $userId); + $fileName = $settingsUrl->getFileName(); + $newFile = $categoryFolder->newFile($fileName, $fileData); + $token = $this->generateIframeToken($settingsUrl->getType(), $userId); + $fileUri = $this->generateFileUri($settingsUrl->getType(), $settingsUrl->getCategory(), $fileName, $token['token']); + $this->refreshFolderEtag($settingsUrl->getType()); + + return [ + 'stamp' => $newFile->getETag(), + 'uri' => $fileUri, + ]; + } + + /** + * Get list of files in a setting category. + * + * @param string $type + * @param string $category + * @param string $token + * @return array Each item has 'stamp' and 'uri'. + */ + public function getCategoryFileList(string $type, string $category, string $token): array { + try { + $categoryFolder = $this->appData->getFolder($type . '/' . $category); + } catch (NotFoundException $e) { + return []; + } + + $files = $categoryFolder->getDirectoryListing(); + + return array_map(function (ISimpleFile $file) use ($type, $category, $token) { + return [ + 'stamp' => $file->getETag(), + 'uri' => $this->generateFileUri($type, $category, $file->getName(), $token), + ]; + }, $files); + } + + /** + * Get list of files in a setting category. + * + * @param string $type + * @param string $userId + */ + + public function generateIframeToken(string $type, string $userId): array { + try { + if ($type === 'admin' && !$this->groupManager->isAdmin($userId)) { + throw new NotPermittedException('Permission denied'); + } + + $serverHost = $this->urlGenerator->getAbsoluteURL('/'); + $version = $this->capabilitiesService->getProductVersion(); + + $wopi = $this->wopiMapper->generateUserSettingsToken(-1, $userId, $version, $serverHost); + + return [ + 'token' => $wopi->getToken(), + 'token_ttl' => $wopi->getExpiry(), + ]; + } catch (NotPermittedException $e) { + throw $e; + } + } + + /** + * + * @param string $type + * @return string + */ + public function getFolderEtag($type) : string { + return $this->getTypeFolder($type)->getEtag(); + } + + /** + * + * @param string $type + * @param string $userId + * @return string + */ + public function getPresentationFolderEtag(string $type, string $userId) : string { + if ($type === 'systemconfig') { + return $this->templateManager->getSystemTemplateDir()->getEtag(); + } + try { + $this->templateManager->setUserId($userId); + return $this->templateManager->getUserTemplateDir()->getEtag(); + } catch (\Exception $e) { + return ''; + } + } + + public const SUPPORTED_PRESENTATION_MIMES = [ + 'application/vnd.oasis.opendocument.presentation', + 'application/vnd.oasis.opendocument.presentation-template', + ]; + + /** + * @param string $type + * @param string $userId + * @param string $token + * @return array + */ + public function getPresentationTemplates(string $type, string $userId, string $token): array { + $this->templateManager->setUserId($userId); + $templates = array_filter( + $type === 'systemconfig' ? $this->templateManager->getSystem('presentation') : $this->templateManager->getUser('presentation'), + function ($template) { + return in_array( + $template->getMimeType(), + self::SUPPORTED_PRESENTATION_MIMES, + true + ); + } + ); + + $result = []; + foreach ($templates as $template) { + $uri = $this->generateFileUri($type, 'template', $template->getName(), $token, $template->getId()); + $result[] = [ + 'uri' => $uri, + 'stamp' => $template->getEtag(), + ]; + } + return $result; + } + + /** + * generate setting config + * + * @param string $type + * @return array + */ + public function generateSettingsConfig(string $type, string $userId): array { + $kind = $type === 'userconfig' ? 'user' : 'shared'; + + $config = [ + 'kind' => $kind, + ]; + + if ($type === 'userconfig') { + $type = $type . '/' . $userId; + } + + $categories = $this->getAllCategories($type); + $token = $this->generateIframeToken($type, $userId)['token']; + + foreach ($categories as $category) { + $files = $this->getCategoryFileList($type, $category, $token); + $config[$category] = $files; + } + + $config['template'] = $this->getPresentationTemplates($type, $userId, $token); + return $config; + } + + /** + * Get all setting categories for a setting type. + * + * @param string $type + * @return string[] + */ + private function getAllCategories(string $type): array { + try { + $categories = []; + $directories = $this->getCategoryDirFolderList($type); + foreach ($directories as $dir) { + if ($dir instanceof Folder) { + $categories[] = $dir->getName(); + } + } + return $categories; + } catch (NotFoundException $e) { + return []; + } + } + + /** + * + * @param string $type + * @return Folder[] + */ + private function getCategoryDirFolderList(string $type) : array { + try { + $folder = $this->getTypeFolder($type); + if (!$folder instanceof Folder) { + return []; + } + return $folder->getDirectoryListing(); + } catch (NotFoundException $e) { + return []; + } + } + + /** + * extract folder of $type + * + * @param string $type + * @return Folder + */ + private function getTypeFolder($type) { + $instanceId = $this->config->getSystemValue('instanceid', null); + if ($instanceId === null) { + throw new NotFoundException('Instance ID not found'); + } + $rootFolder = $this->rootFolder; + try { + $folder = $rootFolder->get('appdata_' . $instanceId . '/richdocuments' . '/' . $type); + } catch (NotFoundException $e) { + $baseFolder = $this->appData->newFolder($type); + $folder = $rootFolder->get('appdata_' . $instanceId . '/richdocuments' . '/' . $type); + } + return $folder; + } + + /** + * + * @param string $type + */ + private function refreshFolderEtag($type) { + $folder = $this->getTypeFolder($type); + $folder->getStorage()->getCache()->update($folder->getId(), [ 'etag' => uniqid() ]); + } + + /** + * Generate file URL. + * + * @param string $type + * @param string $category + * @param string $fileName + * @return string + */ + private function generateFileUri(string $type, string $category, string $fileName, string $token, ?int $identifier = null): string { + // Passing userId is dangerous so we have to trim from url... + if (strpos($type, '/') !== false) { + $type = explode('/', $type)[0]; + } + + return $this->urlGenerator->linkToRouteAbsolute( + 'richdocuments.settings.getSettingsFile', + [ + 'type' => $type, + 'token' => $token, + 'category' => $category, + 'name' => $fileName, + 'identifier' => $identifier, + ] + ); + } + + /** + * Get a specific settings file. + * + * @param string $type + * @param string $category + * @param string $name + * @return ISimpleFile + */ + public function getSettingsFile(string $type, string $category, string $name): ISimpleFile { + try { + $baseFolder = $this->appData->getFolder($type); + } catch (NotFoundException $e) { + throw new NotFoundException("Type folder '{$type}' not found."); + } + + try { + $categoryFolder = $baseFolder->getFolder($category); + } catch (NotFoundException $e) { + throw new NotFoundException("Category folder '{$category}' not found in type '{$type}'."); + } + + try { + return $categoryFolder->getFile($name); + } catch (NotFoundException $e) { + throw new NotFoundException("File '{$name}' not found in category '{$category}' for type '{$type}'."); + } + } + + /** + * Delete a specific settings file from the type/category directory. + * + * @param string $type + * @param string $category + * @param string $name + */ + public function deleteSettingsFile(string $type, string $category, string $name, string $userId): void { + try { + $baseFolder = $this->appData->getFolder($type); + } catch (NotFoundException $e) { + throw new NotFoundException("Type folder '{$type}' not found."); + } + + if ($type === 'userconfig') { + try { + $baseFolder = $baseFolder->getFolder($userId); + } catch (NotFoundException $e) { + throw new NotFoundException("User folder '{$userId}' not found."); + } + } + + try { + $categoryFolder = $baseFolder->getFolder($category); + } catch (NotFoundException $e) { + throw new NotFoundException("Category folder '{$category}' not found in type '{$type}'."); + } + + try { + if (!$categoryFolder->fileExists($name)) { + throw new NotFoundException("File '{$name}' not found in category '{$category}' for type '{$type}'."); + } + $categoryFolder->getFile($name)->delete(); + $this->refreshFolderEtag($type); + } catch (NotFoundException $e) { + throw $e; + } catch (NotPermittedException $e) { + throw $e; + } + } +} diff --git a/lib/Service/SlideDeckService.php b/lib/Service/SlideDeckService.php new file mode 100644 index 0000000000..ad1d54b680 --- /dev/null +++ b/lib/Service/SlideDeckService.php @@ -0,0 +1,198 @@ +runLLMQuery($userId, $presentationText); + + $ooxml = $this->config->getAppValue(Application::APPNAME, 'doc_format', 'ooxml') === 'ooxml'; + $format = $ooxml ? 'pptx' : 'odp'; + + try { + [$presentationStyle, $parsedStructure] = $this->parseModelJSON($rawModelOutput); + } catch (\JsonException) { + throw new RuntimeException('LLM generated faulty JSON data'); + } + + $emptyPresentation = $this->getPresentationTemplate($presentationStyle); + + try { + $transformedPresentation = $this->remoteService->transformDocumentStructure( + 'presentation.' . $format, + $emptyPresentation, + $parsedStructure, + $format + ); + + return $transformedPresentation; + } catch (\Exception) { + throw new RuntimeException('Unable to apply transformations to presentation file'); + } + } + + /** + * Parses the JSON output from the LLM into + * JSON that Collabora expects + * + * @param string $jsonString + * @return array + */ + private function parseModelJSON(string $jsonString): array { + $jsonString = trim($jsonString, "` \n\r\t\v\0"); + $modelJSON = json_decode( + $jsonString, + associative: true, + flags: JSON_THROW_ON_ERROR + ); + + $layoutTypes = array_column(LayoutType::cases(), 'value'); + $presentation = new Presentation(); + + foreach ($modelJSON as $index => $slideJSON) { + if ($slideJSON['presentationStyle']) { + $presentation->setStyle($slideJSON['presentationStyle']); + continue; + } + + $validLayout = array_key_exists($slideJSON['layout'], $layoutTypes); + + if (!$validLayout) { + continue; + } + + $slideLayout = LayoutType::from($layoutTypes[$slideJSON['layout']]); + + $slide = match ($slideLayout) { + LayoutType::Title => new TitleSlide($index, $slideJSON['title'], $slideJSON['subtitle']), + + LayoutType::TitleContent => new TitleContentSlide($index, $slideJSON['title'], $slideJSON['content']), + + default => null, + }; + + if (is_null($slide)) { + continue; + } + + $presentation->addSlide($slide); + } + + return [$presentation->getStyle(), $presentation->getSlideCommands()]; + } + + /** + * Creates a presentation file in memory + * + * @param string $name + * @return resource + */ + private function getPresentationTemplate(string $name = '') { + $emptyPresentationContent = $this->templateManager->getAITemplate($name); + $memoryStream = fopen('php://memory', 'r+'); + + if (!$memoryStream) { + throw new RuntimeException('Unable to open file stream'); + } + + fwrite($memoryStream, $emptyPresentationContent); + rewind($memoryStream); + + return $memoryStream; + } + + private function runLLMQuery(?string $userId, string $presentationText) { + $prompt = self::PROMPT; + $task = new Task( + TextToText::ID, + ['input' => $prompt . "\n\n" . $presentationText], + Application::APPNAME, + $userId + ); + + try { + $task = $this->taskProcessingManager->runTask($task); + } catch (PreConditionNotMetException|UnauthorizedException|ValidationException|Exception $e) { + throw new RuntimeException($e->getMessage(), $e->getCode(), $e); + } + $taskOutput = $task->getOutput(); + if ($taskOutput === null) { + throw new RuntimeException('Task with id ' . $task->getId() . ' does not have any output'); + } + + /** @var string $taskOutputString */ + $taskOutputString = $taskOutput['output']; + + return $taskOutputString; + } +} diff --git a/lib/Service/TemplateFieldService.php b/lib/Service/TemplateFieldService.php index 917a23a6fc..1eb081417d 100644 --- a/lib/Service/TemplateFieldService.php +++ b/lib/Service/TemplateFieldService.php @@ -43,10 +43,6 @@ public function __construct( * @throws NotFoundException */ public function extractFields(Node|int $file): array { - if (!$this->capabilitiesService->hasFormFilling()) { - return []; - } - if (is_int($file)) { $file = $this->rootFolder->getFirstNodeById($file); } @@ -74,23 +70,12 @@ public function extractFields(Node|int $file): array { return []; } - $collaboraUrl = $this->appConfig->getCollaboraUrlInternal(); - $httpClient = $this->clientService->newClient(); - - $form = RemoteOptionsService::getDefaultOptions(); - $form['query'] = ['filter' => 'contentcontrol']; - $form['multipart'] = [[ - 'name' => 'data', - 'contents' => $file->getStorage()->fopen($file->getInternalPath(), 'r'), - 'headers' => ['Content-Type' => 'multipart/form-data'], - ]]; - - $response = $httpClient->post( - $collaboraUrl . '/cool/extract-document-structure', - $form + $documentStructure = $this->remoteService->extractDocumentStructure( + $file->getName(), + $file->getStorage()->fopen($file->getInternalPath(), 'r'), + 'contentcontrol' ); - $documentStructure = json_decode($response->getBody(), true)['DocStructure'] ?? []; $fields = []; foreach ($documentStructure as $index => $attr) { @@ -138,10 +123,6 @@ public function extractFields(Node|int $file): array { * @return string|resource */ public function fillFields(Node|int $file, array $fields = [], ?string $destination = null, ?string $format = null) { - if (!$this->capabilitiesService->hasFormFilling()) { - throw new \RuntimeException('Form filling not supported by the Collabora server'); - } - if (is_int($file)) { $file = $this->rootFolder->getFirstNodeById($file); } @@ -161,46 +142,18 @@ public function fillFields(Node|int $file, array $fields = [], ?string $destinat return $content; } - $collaboraUrl = $this->appConfig->getCollaboraUrlInternal(); - $httpClient = $this->clientService->newClient(); - - $formData = [ - 'name' => 'data', - 'contents' => $file->getStorage()->fopen($file->getInternalPath(), 'r'), - 'headers' => ['Content-Type' => 'multipart/form-data'], - ]; - - $formTransform = [ - 'name' => 'transform', - 'contents' => '{"Transforms": ' . json_encode($fields) . '}', - ]; - - $formFormat = [ - 'name' => 'format', - 'contents' => $file->getExtension(), - ]; - - $form = RemoteOptionsService::getDefaultOptions(); - $form['multipart'] = [$formData, $formTransform, $formFormat]; - try { - $response = $httpClient->post( - $collaboraUrl . '/cool/transform-document-structure', - $form + $content = $this->remoteService->transformDocumentStructure( + $file->getName(), + $file->getStorage()->fopen($file->getInternalPath(), 'r'), + $fields, + $format === null ? $file->getExtension() : $format ); - $content = $response->getBody(); - - if ($format !== null) { - $tmp = $this->tempManager->getTemporaryFile(); - file_put_contents($tmp, $content); - $fp = fopen($tmp, 'rb'); - $content = $this->remoteService->convertTo($file->getName(), $fp, $format); - } - if ($destination !== null) { $this->writeToDestination($destination, $content); } + return $content; } catch (\Exception $e) { $this->logger->error($e->getMessage()); diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php index 7dc7158bb6..b9475b22c0 100644 --- a/lib/Settings/Admin.php +++ b/lib/Settings/Admin.php @@ -12,6 +12,7 @@ use OCA\Richdocuments\Service\FontService; use OCA\Richdocuments\Service\InitialStateService; use OCA\Richdocuments\TemplateManager; +use OCA\Richdocuments\TokenManager; use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; use OCP\Settings\ISettings; @@ -25,6 +26,7 @@ public function __construct( private DemoService $demoService, private FontService $fontService, private InitialStateService $initialStateService, + private TokenManager $tokenManager, ) { } @@ -43,7 +45,7 @@ public function getForm(): TemplateResponse { 'wopi_allowlist' => $this->config->getAppValue('richdocuments', 'wopi_allowlist'), 'edit_groups' => $this->config->getAppValue('richdocuments', 'edit_groups'), 'use_groups' => $this->config->getAppValue('richdocuments', 'use_groups'), - 'doc_format' => $this->config->getAppValue('richdocuments', 'doc_format'), + 'doc_format' => $this->config->getAppValue('richdocuments', 'doc_format', 'ooxml'), 'external_apps' => $this->config->getAppValue('richdocuments', 'external_apps'), 'canonical_webroot' => $this->config->getAppValue('richdocuments', 'canonical_webroot'), 'disable_certificate_verification' => $this->config->getAppValue('richdocuments', 'disable_certificate_verification', '') === 'yes', @@ -56,6 +58,8 @@ public function getForm(): TemplateResponse { 'esignature_base_url' => $this->config->getAppValue('richdocuments', 'esignature_base_url'), 'esignature_client_id' => $this->config->getAppValue('richdocuments', 'esignature_client_id'), 'esignature_secret' => $this->config->getAppValue('richdocuments', 'esignature_secret'), + 'hasSettingIframeSupport' => $this->capabilitiesService->hasSettingIframeSupport(), + 'setting_iframe_url' => $this->tokenManager->getUrlSrcForMimeType('Settings'), ], ], 'blank' diff --git a/lib/Settings/Personal.php b/lib/Settings/Personal.php index a6e45228d2..b616658bef 100644 --- a/lib/Settings/Personal.php +++ b/lib/Settings/Personal.php @@ -6,8 +6,10 @@ namespace OCA\Richdocuments\Settings; +use OCA\Richdocuments\AppConfig; use OCA\Richdocuments\Service\CapabilitiesService; use OCA\Richdocuments\Service\InitialStateService; +use OCA\Richdocuments\TokenManager; use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; use OCP\Settings\ISettings; @@ -15,8 +17,10 @@ class Personal implements ISettings { public function __construct( private IConfig $config, + private AppConfig $appConfig, private CapabilitiesService $capabilitiesService, private InitialStateService $initialState, + private TokenManager $tokenManager, private ?string $userId, ) { } @@ -39,7 +43,10 @@ public function getForm() { 'documentSigningKey' => $this->config->getUserValue($this->userId, 'richdocuments', 'documentSigningKey', ''), 'documentSigningCa' => $this->config->getUserValue($this->userId, 'richdocuments', 'documentSigningCa', ''), 'hasZoteroSupport' => $this->capabilitiesService->hasZoteroSupport(), - 'zoteroAPIKey' => $this->config->getUserValue($this->userId, 'richdocuments', 'zoteroAPIKey', '') + 'hasSettingIframeSupport' => $this->capabilitiesService->hasSettingIframeSupport(), + 'zoteroAPIKey' => $this->config->getUserValue($this->userId, 'richdocuments', 'zoteroAPIKey', ''), + 'publicWopiUrl' => $this->appConfig->getCollaboraUrlPublic(), + 'setting_iframe_url' => $this->tokenManager->getUrlSrcForMimeType('Settings'), ], 'blank' ); diff --git a/lib/Storage/SecureViewWrapper.php b/lib/Storage/SecureViewWrapper.php new file mode 100644 index 0000000000..86a72ac083 --- /dev/null +++ b/lib/Storage/SecureViewWrapper.php @@ -0,0 +1,94 @@ +permissionManager = Server::get(PermissionManager::class); + $this->wopiMiddleware = Server::get(WOPIMiddleware::class); + $this->rootFolder = Server::get(IRootFolder::class); + $this->userSession = Server::get(IUserSession::class); + $this->secureViewService = Server::get(SecureViewService::class); + + $this->mountPoint = $parameters['mountPoint']; + } + + public function fopen($path, $mode) { + $this->checkFileAccess($path); + + return $this->storage->fopen($path, $mode); + } + + public function file_get_contents(string $path): false|string { + $this->checkFileAccess($path); + + return $this->storage->file_get_contents($path); + } + + public function copy(string $source, string $target): bool { + $this->checkSourceAndTarget($source, $target); + + return parent::copy($source, $target); + } + + public function copyFromStorage(IStorage $sourceStorage, string $sourceInternalPath, string $targetInternalPath): bool { + $this->checkSourceAndTarget($sourceInternalPath, $targetInternalPath, $sourceStorage); + + return parent::copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath); + } + + public function moveFromStorage(IStorage $sourceStorage, string $sourceInternalPath, string $targetInternalPath): bool { + $this->checkSourceAndTarget($sourceInternalPath, $targetInternalPath, $sourceStorage); + + return parent::moveFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath); + } + + public function rename(string $source, string $target): bool { + $this->checkSourceAndTarget($source, $target); + + return parent::rename($source, $target); + } + + /** + * @throws ForbiddenException + */ + private function checkFileAccess(string $path): void { + if (!$this->wopiMiddleware->isWOPIRequest() && $this->secureViewService->shouldSecure($path, $this, false)) { + throw new ForbiddenException('Download blocked due the secure view policy', false); + } + } + + private function checkSourceAndTarget(string $source, string $target, ?IStorage $sourceStorage = null): void { + if ($this->secureViewService->shouldSecure($source, $sourceStorage ?? $this, $sourceStorage !== null) + && !$this->secureViewService->shouldSecure($target, $this) + ) { + throw new ForbiddenException('Download blocked due the secure view policy. The source requires secure view that the target cannot offer.', false); + } + } +} diff --git a/lib/TaskProcessing/Presentation/ISlide.php b/lib/TaskProcessing/Presentation/ISlide.php new file mode 100644 index 0000000000..c7684d8093 --- /dev/null +++ b/lib/TaskProcessing/Presentation/ISlide.php @@ -0,0 +1,12 @@ +slides[] = $slide; + } + + /** + * @return ISlide[] Array of slides in the presentation + */ + public function getSlides(): array { + return $this->slides; + } + + public function setStyle(string $style): void { + $this->style = $style; + } + + public function getStyle(): string { + return $this->style; + } + + /** + * @return array Slide commands to be passed to an external API + */ + public function getSlideCommands(): array { + $slideCommands = array_map( + function (ISlide $slide) { + return $slide->getSlideCommands(); + }, + $this->getSlides(), + ); + + $slideCommands = array_merge([], ...$slideCommands); + + return [ 'SlideCommands' => $slideCommands ]; + } +} diff --git a/lib/TaskProcessing/Presentation/Slides/TitleContentSlide.php b/lib/TaskProcessing/Presentation/Slides/TitleContentSlide.php new file mode 100644 index 0000000000..a766d81852 --- /dev/null +++ b/lib/TaskProcessing/Presentation/Slides/TitleContentSlide.php @@ -0,0 +1,75 @@ +position = $position; + $this->title = $title; + $this->content = $content; + } + + public function getTitle(): string { + return $this->title; + } + + public function getContent(): string|array { + return $this->content; + } + + public function getPosition(): int { + return $this->position; + } + + public function getSlideCommands(): array { + $slideCommands = []; + + if ($this->getPosition() > 1) { + $slideCommands[] = [ 'DuplicateSlide' => $this->getPosition() - 1 ]; + } + + $slideCommands[] = [ 'JumpToSlide' => $this->getPosition() ]; + + $slideCommands[] = [ + 'EditTextObject.0' => [ + 'SelectParagraph' => 0, + 'InsertText' => $this->getTitle(), + ] + ]; + + if (is_array($this->getContent())) { + $slideCommands[] = [ + 'EditTextObject.1' => [ + 'SelectText' => [], + 'UnoCommand' => '.uno:Cut', + 'InsertText' => implode(PHP_EOL, array_map(function ($bulletPoint) { + return '• ' . $bulletPoint; + }, $this->getContent())), + ] + ]; + } else { + $slideCommands[] = [ + 'EditTextObject.1' => [ + 'SelectText' => [], + 'UnoCommand' => '.uno:Cut', + 'InsertText' => $this->getContent(), + ] + ]; + } + + return $slideCommands; + } +} diff --git a/lib/TaskProcessing/Presentation/Slides/TitleSlide.php b/lib/TaskProcessing/Presentation/Slides/TitleSlide.php new file mode 100644 index 0000000000..82ff3defcb --- /dev/null +++ b/lib/TaskProcessing/Presentation/Slides/TitleSlide.php @@ -0,0 +1,56 @@ +position = $position; + $this->title = $title; + $this->subtitle = $subtitle; + } + + public function getTitle(): string { + return $this->title; + } + + public function getSubtitle(): string { + return $this->subtitle; + } + + public function getPosition(): int { + return $this->position; + } + + public function getSlideCommands(): array { + $slideCommands = []; + + $slideCommands[] = [ + 'EditTextObject.0' => [ + 'SelectParagraph' => 0, + 'InsertText' => $this->getTitle(), + ] + ]; + + $slideCommands[] = [ + 'EditTextObject.1' => [ + 'SelectParagraph' => 0, + 'InsertText' => $this->getSubtitle(), + ] + ]; + + return $slideCommands; + } +} diff --git a/lib/TaskProcessing/SlideDeckGenerationProvider.php b/lib/TaskProcessing/SlideDeckGenerationProvider.php new file mode 100644 index 0000000000..b892bcaed4 --- /dev/null +++ b/lib/TaskProcessing/SlideDeckGenerationProvider.php @@ -0,0 +1,107 @@ +l10n->t('Nextcloud Assistant Slide Deck Generator'); + } + + public function getTaskTypeId(): string { + return SlideDeckGenerationTaskType::ID; + } + + public function getExpectedRuntime(): int { + return 120; + } + + public function getInputShapeEnumValues(): array { + return []; + } + + public function getInputShapeDefaults(): array { + return []; + } + + public function getOptionalInputShape(): array { + return []; + } + + public function getOptionalInputShapeEnumValues(): array { + return []; + } + + public function getOptionalInputShapeDefaults(): array { + return []; + } + + public function getOutputShapeEnumValues(): array { + return []; + } + + public function getOptionalOutputShape(): array { + return []; + } + + public function getOptionalOutputShapeEnumValues(): array { + return []; + } + /** + * @inheritDoc + */ + public function process(?string $userId, array $input, callable $reportProgress): array { + if ($userId === null) { + throw new \RuntimeException('User ID is required to process the prompt.'); + } + + if (!isset($input['text']) || !is_string($input['text'])) { + throw new \RuntimeException('Invalid input, expected "text" key with string value'); + } + + $response = $this->withRetry(function () use ($userId, $input) { + return $this->slideDeckService->generateSlideDeck( + $userId, + $input['text'], + ); + }); + + return ['slide_deck' => $response]; + } + + private function withRetry(callable $action, $maxAttempts = 2) { + $attempt = 0; + + while ($attempt < $maxAttempts) { + try { + $attempt += 1; + return $action(); + } catch (\Exception $e) { + if ($attempt === $maxAttempts) { + throw $e; + } + } + } + } +} diff --git a/lib/TaskProcessing/SlideDeckGenerationTaskType.php b/lib/TaskProcessing/SlideDeckGenerationTaskType.php new file mode 100644 index 0000000000..db0d42ade9 --- /dev/null +++ b/lib/TaskProcessing/SlideDeckGenerationTaskType.php @@ -0,0 +1,71 @@ +l->t('Generate Slide Deck'); + } + + /** + * @inheritDoc + */ + public function getDescription(): string { + return $this->l->t('Generate a slide deck from a presentation script'); + } + + /** + * @return string + */ + public function getId(): string { + return self::ID; + } + + /** + * @return ShapeDescriptor[] + */ + public function getInputShape(): array { + return [ + 'text' => new ShapeDescriptor( + $this->l->t('Presentation script'), + $this->l->t('Write the text for your presentation here'), + EShapeType::Text, + ), + ]; + } + + /** + * @return ShapeDescriptor[] + */ + public function getOutputShape(): array { + return [ + 'slide_deck' => new ShapeDescriptor( + $this->l->t('Generated slide deck'), + $this->l->t('The slide deck generated'), + EShapeType::File, + ), + ]; + } +} diff --git a/lib/TaskProcessing/TextToDocumentProvider.php b/lib/TaskProcessing/TextToDocumentProvider.php new file mode 100644 index 0000000000..e1cb511c94 --- /dev/null +++ b/lib/TaskProcessing/TextToDocumentProvider.php @@ -0,0 +1,117 @@ +l->t('Nextcloud Office text document generator'); + } + + public function getTaskTypeId(): string { + return TextToDocumentTaskType::ID; + } + + public function getExpectedRuntime(): int { + return 120; + } + + public function getInputShapeEnumValues(): array { + return []; + } + + public function getInputShapeDefaults(): array { + return []; + } + + public function getOptionalInputShape(): array { + return [ + 'target_format' => new ShapeDescriptor( + $this->l->t('Document format'), + $this->l->t('The format of the generated document'), + EShapeType::Enum + ), + ]; + } + + public function getOptionalInputShapeEnumValues(): array { + return [ + 'target_format' => [ + new ShapeEnumValue($this->l->t('OpenXML (docx)'), 'docx'), + new ShapeEnumValue($this->l->t('OpenDocument (odt)'), 'odt'), + new ShapeEnumValue($this->l->t('Portable Document Format (pdf)'), 'pdf'), + ], + ]; + } + + public function getOptionalInputShapeDefaults(): array { + return [ + 'target_format' => self::DEFAULT_TARGET_FORMAT, + ]; + } + + public function getOutputShapeEnumValues(): array { + return []; + } + + public function getOptionalOutputShape(): array { + return []; + } + + public function getOptionalOutputShapeEnumValues(): array { + return []; + } + /** + * @inheritDoc + */ + public function process(?string $userId, array $input, callable $reportProgress): array { + if ($userId === null) { + throw new \RuntimeException('User ID is required to process the prompt.'); + } + + if (!isset($input['text']) || !is_string($input['text'])) { + throw new \RuntimeException('Invalid input, expected "text" key with string value'); + } + + $targetFormat = self::DEFAULT_TARGET_FORMAT; + if (isset($input['target_format']) && is_string($input['target_format']) && in_array($input['target_format'], ['docx', 'odt', 'pdf'], true)) { + $targetFormat = $input['target_format']; + } + + + $fileContent = $this->documentGenerationService->generateTextDocument( + $userId, + $input['text'], + $targetFormat, + ); + + return [ + 'file' => $fileContent, + ]; + } +} diff --git a/lib/TaskProcessing/TextToDocumentTaskType.php b/lib/TaskProcessing/TextToDocumentTaskType.php new file mode 100644 index 0000000000..b966c56589 --- /dev/null +++ b/lib/TaskProcessing/TextToDocumentTaskType.php @@ -0,0 +1,71 @@ +l->t('Generate Office text document'); + } + + /** + * @inheritDoc + */ + public function getDescription(): string { + return $this->l->t('Generate an Office text document from a prompt'); + } + + /** + * @return string + */ + public function getId(): string { + return self::ID; + } + + /** + * @return ShapeDescriptor[] + */ + public function getInputShape(): array { + return [ + 'text' => new ShapeDescriptor( + $this->l->t('Instructions'), + $this->l->t('Describe the document you want the assistant to generate'), + EShapeType::Text, + ), + ]; + } + + /** + * @return ShapeDescriptor[] + */ + public function getOutputShape(): array { + return [ + 'file' => new ShapeDescriptor( + $this->l->t('Generated Office document'), + $this->l->t('The Office document that was generated from the description'), + EShapeType::File, + ), + ]; + } +} diff --git a/lib/TaskProcessing/TextToSpreadsheetProvider.php b/lib/TaskProcessing/TextToSpreadsheetProvider.php new file mode 100644 index 0000000000..c3feedf9d3 --- /dev/null +++ b/lib/TaskProcessing/TextToSpreadsheetProvider.php @@ -0,0 +1,117 @@ +l->t('Nextcloud Office spreadsheet generator'); + } + + public function getTaskTypeId(): string { + return TextToSpreadsheetTaskType::ID; + } + + public function getExpectedRuntime(): int { + return 120; + } + + public function getInputShapeEnumValues(): array { + return []; + } + + public function getInputShapeDefaults(): array { + return [ + 'target_format' => self::DEFAULT_TARGET_FORMAT, + ]; + } + + public function getOptionalInputShape(): array { + return [ + 'target_format' => new ShapeDescriptor( + $this->l->t('Document format'), + $this->l->t('The format of the generated document'), + EShapeType::Enum + ), + ]; + } + + public function getOptionalInputShapeEnumValues(): array { + return [ + 'target_format' => [ + new ShapeEnumValue($this->l->t('OpenXML (xlsx)'), 'xlsx'), + new ShapeEnumValue($this->l->t('OpenDocument (ods)'), 'ods'), + ], + ]; + } + + public function getOptionalInputShapeDefaults(): array { + return [ + 'target_format' => self::DEFAULT_TARGET_FORMAT, + ]; + } + + public function getOutputShapeEnumValues(): array { + return []; + } + + public function getOptionalOutputShape(): array { + return []; + } + + public function getOptionalOutputShapeEnumValues(): array { + return []; + } + /** + * @inheritDoc + */ + public function process(?string $userId, array $input, callable $reportProgress): array { + if ($userId === null) { + throw new \RuntimeException('User ID is required to process the prompt.'); + } + + if (!isset($input['text']) || !is_string($input['text'])) { + throw new \RuntimeException('Invalid input, expected "text" key with string value'); + } + + $targetFormat = self::DEFAULT_TARGET_FORMAT; + if (isset($input['target_format']) && is_string($input['target_format']) && in_array($input['target_format'], ['xlsx', 'ods'], true)) { + $targetFormat = $input['target_format']; + } + + $fileContent = $this->documentGenerationService->generateSpreadsheetDocument( + $userId, + $input['text'], + $targetFormat, + ); + + return [ + 'file' => $fileContent, + ]; + } +} diff --git a/lib/TaskProcessing/TextToSpreadsheetTaskType.php b/lib/TaskProcessing/TextToSpreadsheetTaskType.php new file mode 100644 index 0000000000..9c333db095 --- /dev/null +++ b/lib/TaskProcessing/TextToSpreadsheetTaskType.php @@ -0,0 +1,71 @@ +l->t('Generate Office spreadsheet document'); + } + + /** + * @inheritDoc + */ + public function getDescription(): string { + return $this->l->t('Generate an Office spreadsheet document from a prompt'); + } + + /** + * @return string + */ + public function getId(): string { + return self::ID; + } + + /** + * @return ShapeDescriptor[] + */ + public function getInputShape(): array { + return [ + 'text' => new ShapeDescriptor( + $this->l->t('Instructions'), + $this->l->t('Describe the document you want the assistant to generate'), + EShapeType::Text, + ), + ]; + } + + /** + * @return ShapeDescriptor[] + */ + public function getOutputShape(): array { + return [ + 'file' => new ShapeDescriptor( + $this->l->t('Generated Office document'), + $this->l->t('The Office document that was generated from the description'), + EShapeType::File, + ), + ]; + } +} diff --git a/lib/Template/CollaboraTemplateProvider.php b/lib/Template/CollaboraTemplateProvider.php index b9f48ebd9c..3a51629cd3 100644 --- a/lib/Template/CollaboraTemplateProvider.php +++ b/lib/Template/CollaboraTemplateProvider.php @@ -46,7 +46,7 @@ public function getCustomTemplates(string $mimetype): array { return array_map(function (File $file) { $template = new Template(CollaboraTemplateProvider::class, (string)$file->getId(), $file); - $template->setCustomPreviewUrl($this->urlGenerator->linkToRouteAbsolute('richdocuments.templates.getPreview', ['fileId' => $file->getId()])); + $template->setCustomPreviewUrl($this->urlGenerator->linkToRouteAbsolute('richdocuments.templates.getPreview', ['fileId' => $file->getId(), 'a' => true])); return $template; }, $collaboraTemplates); } diff --git a/lib/TemplateManager.php b/lib/TemplateManager.php index b1709b3ebd..1c6e52beec 100644 --- a/lib/TemplateManager.php +++ b/lib/TemplateManager.php @@ -30,21 +30,25 @@ class TemplateManager { /** Accepted templates mime types */ public const MIMES_DOCUMENTS = [ 'application/vnd.oasis.opendocument.text-template', + 'application/vnd.oasis.opendocument.text', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'application/msword' ]; public const MIMES_SHEETS = [ 'application/vnd.oasis.opendocument.spreadsheet-template', + 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'application/vnd.ms-excel' ]; public const MIMES_PRESENTATIONS = [ 'application/vnd.oasis.opendocument.presentation-template', + 'application/vnd.oasis.opendocument.presentation', 'application/vnd.openxmlformats-officedocument.presentationml.template', 'application/vnd.ms-powerpoint' ]; public const MIMES_DRAWINGS = [ 'application/vnd.oasis.opendocument.graphics-template', + 'application/vnd.oasis.opendocument.graphics', ]; /** @var array Template mime types match */ @@ -55,7 +59,7 @@ class TemplateManager { 'drawing' => self::MIMES_DRAWINGS, ]; - public const TYPE_EXTENTION = [ + public const TYPE_EXTENSIONS = [ 'document' => 'odt', 'spreadsheet' => 'ods', 'presentation' => 'odp', @@ -235,10 +239,10 @@ public function getSystemFormatted($type = null) { /** * Get all user templates - * + * @param $type * @return File[] */ - public function getUser($type = null) { + public function getUser($type = null): array { if ($this->userId === null) { return []; } @@ -316,7 +320,7 @@ public function add($templateName, $templateFile) { $template = $folder->newFile($templateName); } $template->putContent($templateFile); - + $folder->getStorage()->getCache()->update($folder->getId(), [ 'etag' => uniqid() ]); return $this->formatNodeReturn($this->get($template->getId())); } @@ -327,11 +331,13 @@ public function add($templateName, $templateFile) { * @return boolean * @throws NotFoundException */ - public function delete($fileId) { - $files = $this->getSystemTemplateDir()->getDirectoryListing(); + public function delete($fileId): bool { + $folder = $this->getSystemTemplateDir(); + $files = $folder->getDirectoryListing(); foreach ($files as $file) { if ($file->getId() === $fileId) { $file->delete(); + $folder->getStorage()->getCache()->update($folder->getId(), [ 'etag' => uniqid() ]); return true; } } @@ -389,7 +395,7 @@ public function getUserTemplateDir() { /** * @return Folder */ - private function getSystemTemplateDir() { + public function getSystemTemplateDir() { $this->ensureAppDataFolders(); $path = 'appdata_' . $this->config->getSystemValue('instanceid', null) . '/richdocuments/templates'; return $this->rootFolder->get($path); @@ -411,7 +417,7 @@ private function getEmptyTemplateDir() { * @return array */ public function formatNodeReturn(File $template) { - $ooxml = $this->config->getAppValue(Application::APPNAME, 'doc_format', '') === 'ooxml'; + $ooxml = $this->config->getAppValue(Application::APPNAME, 'doc_format', 'ooxml') === 'ooxml'; $documentType = $this->flipTypes()[$template->getMimeType()]; return [ 'id' => $template->getId(), @@ -419,7 +425,7 @@ public function formatNodeReturn(File $template) { 'preview' => $this->urlGenerator->linkToRouteAbsolute('richdocuments.templates.getPreview', ['fileId' => $template->getId()]), 'type' => $this->flipTypes()[$template->getMimeType()], 'delete' => $this->urlGenerator->linkToRouteAbsolute('richdocuments.templates.delete', ['fileId' => $template->getId()]), - 'extension' => ($ooxml && isset(self::TYPE_EXTENSION_OOXML[$documentType])) ? self::TYPE_EXTENSION_OOXML[$documentType] : self::TYPE_EXTENTION[$documentType], + 'extension' => ($ooxml && isset(self::TYPE_EXTENSION_OOXML[$documentType])) ? self::TYPE_EXTENSION_OOXML[$documentType] : self::TYPE_EXTENSIONS[$documentType], ]; } @@ -440,13 +446,13 @@ public function isTemplate($fileId) { } public function formatEmpty(File $template) { - $ooxml = $this->config->getAppValue(Application::APPNAME, 'doc_format', '') === 'ooxml'; + $ooxml = $this->config->getAppValue(Application::APPNAME, 'doc_format', 'ooxml') === 'ooxml'; $documentType = $this->flipTypes()[$template->getMimeType()]; return [ 'id' => $template->getId(), 'name' => $this->l->t('Empty'), 'type' => $this->flipTypes()[$template->getMimeType()], - 'extension' => ($ooxml && isset(self::TYPE_EXTENSION_OOXML[$documentType])) ? self::TYPE_EXTENSION_OOXML[$documentType] : self::TYPE_EXTENTION[$documentType], + 'extension' => ($ooxml && isset(self::TYPE_EXTENSION_OOXML[$documentType])) ? self::TYPE_EXTENSION_OOXML[$documentType] : self::TYPE_EXTENSIONS[$documentType], ]; } @@ -465,6 +471,21 @@ public function isValidTemplateMime($mime, $type = null) { return true; } + public function getAITemplate(?string $templateName = 'security'): string { + $emptyAITemplates = __DIR__ . '/../emptyTemplates/ai/'; + $fullTemplatePath = $emptyAITemplates . $templateName . '.odp'; + + if (file_exists($fullTemplatePath)) { + $emptyFileContent = file_get_contents($fullTemplatePath); + + if ($emptyFileContent !== false) { + return $emptyFileContent; + } + } + + return ''; + } + /** * Return default content for empty files of a given filename by file extension */ @@ -473,7 +494,10 @@ public function getEmptyFileContent(string $extension): string { $emptyPath = __DIR__ . '/../emptyTemplates/template.' . $extension; if (in_array($extension, $supportedExtensions, true) && file_exists($emptyPath)) { - return file_get_contents($emptyPath); + $emptyFileContent = file_get_contents($emptyPath); + if ($emptyFileContent !== false) { + return $emptyFileContent; + } } return ''; @@ -518,7 +542,7 @@ public function getTemplateSource(int $fileId): ?File { $query = $this->db->getQueryBuilder(); $query->delete('richdocuments_template') - ->where($query->expr()->eq('userid', $query->createNamedParameter($this->userId))) + ->where($this->userId !== null ? $query->expr()->eq('userid', $query->createNamedParameter($this->userId, IQueryBuilder::PARAM_STR)) : $query->expr()->isNull('userid')) ->andWhere($query->expr()->eq('fileid', $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT))); $query->executeStatement(); } catch (Throwable $e) { diff --git a/lib/TokenManager.php b/lib/TokenManager.php index c4a8636354..68f53999f7 100644 --- a/lib/TokenManager.php +++ b/lib/TokenManager.php @@ -7,7 +7,6 @@ namespace OCA\Richdocuments; use Exception; -use OCA\Files_Sharing\SharedStorage; use OCA\Richdocuments\Db\Direct; use OCA\Richdocuments\Db\Wopi; use OCA\Richdocuments\Db\WopiMapper; @@ -24,7 +23,6 @@ use OCP\IURLGenerator; use OCP\Share\Exceptions\ShareNotFound; use OCP\Share\IManager; -use OCP\Share\IShare; use OCP\Util; use Psr\Log\LoggerInterface; @@ -51,7 +49,6 @@ public function generateWopiToken(string $fileId, ?string $shareToken = null, ?s [$fileId, , $version] = Helper::parseFileId($fileId); $owneruid = null; $hideDownload = false; - $rootFolder = $this->rootFolder; // if the user is not logged-in do use the sharers storage if ($shareToken !== null) { @@ -66,66 +63,37 @@ public function generateWopiToken(string $fileId, ?string $shareToken = null, ?s $updatable = (bool)($share->getPermissions() & \OCP\Constants::PERMISSION_UPDATE); $updatable = $updatable && $this->permissionManager->userCanEdit($owneruid); $hideDownload = $share->getHideDownload(); - $rootFolder = $this->rootFolder->getUserFolder($owneruid); - } elseif ($this->userId !== null) { - try { - $editoruid = $this->userId; - $rootFolder = $this->rootFolder->getUserFolder($editoruid); - - $files = $rootFolder->getById((int)$fileId); - $updatable = false; - foreach ($files as $file) { - if ($file->isUpdateable()) { - $updatable = true; - break; - } - } - - $updatable = $updatable && $this->permissionManager->userCanEdit($editoruid); - - // disable download if at least one shared access has it disabled - foreach ($files as $file) { - $storage = $file->getStorage(); - // using string as we have no guarantee that "files_sharing" app is loaded - if ($storage->instanceOfStorage(SharedStorage::class)) { - if (!method_exists(IShare::class, 'getAttributes')) { - break; - } - /** @var SharedStorage $storage */ - $share = $storage->getShare(); - $attributes = $share->getAttributes(); - if ($attributes !== null && $attributes->getAttribute('permissions', 'download') === false) { - $hideDownload = true; - break; - } - } + $userFolder = $this->rootFolder->getUserFolder($owneruid); + } else { + $editoruid = $this->userId ?? $editoruid; + $userFolder = $this->rootFolder->getUserFolder($editoruid); + + $files = $userFolder->getById((int)$fileId); + $updatable = false; + foreach ($files as $file) { + if ($file->isUpdateable()) { + $updatable = true; + break; } - } catch (Exception $e) { - throw $e; } - } else { - // no active user login while generating the token - // this is required during WopiPutRelativeFile - if (is_null($editoruid)) { - $this->logger->warning('Generating token for SaveAs without editoruid'); - $updatable = true; - } else { - // Make sure we use the user folder if available since fetching all files by id from the root might be expensive - $rootFolder = $this->rootFolder->getUserFolder($editoruid); - $updatable = false; - $files = $rootFolder->getById($fileId); - - foreach ($files as $file) { - if ($file->isUpdateable()) { - $updatable = true; - break; - } + $updatable = $updatable && $this->permissionManager->userCanEdit($editoruid); + + // disable download if at least one shared access has it disabled + foreach ($files as $file) { + $share = $this->helper->getShareFromNode($file); + $attributes = $share?->getAttributes(); + if ($attributes !== null + && $attributes->getAttribute('permissions', 'download') === false + ) { + $hideDownload = true; + break; } } } + /** @var File $file */ - $file = $rootFolder->getFirstNodeById($fileId); + $file = $userFolder->getFirstNodeById($fileId); // Check node readability (for storage wrapper overwrites like terms of services) if ($file === null || !$file->isReadable()) { @@ -197,8 +165,11 @@ public function generateWopiTokenForTemplate( bool $isGuest, bool $direct = false, ?int $sharePermissions = null, + ?string $editoruid = null, ): Wopi { - $editoruid = $isGuest ? null : $owneruid; + if (empty($editoruid)) { + $editoruid = $isGuest ? null : $owneruid; + } $rootFolder = $this->rootFolder->getUserFolder($owneruid); $targetFile = $rootFolder->getFirstNodeById($targetFileId); @@ -217,13 +188,15 @@ public function generateWopiTokenForTemplate( $updatable = $updatable && $shareUpdatable; } + $updatable = $updatable && $this->permissionManager->userCanEdit($owneruid); + $serverHost = $this->urlGenerator->getAbsoluteURL('/'); return $this->wopiMapper->generateFileToken( $targetFile->getId(), $owneruid, $editoruid, - 0, + '0', $updatable, $serverHost, $isGuest ? '' : null, @@ -282,6 +255,11 @@ public function updateGuestName(string $accessToken, string $guestName) { $this->wopiMapper->update($wopi); } + public function setShareToken(Wopi $wopi, ?string $shareToken): Wopi { + $wopi->setShare($shareToken); + return $this->wopiMapper->update($wopi); + } + public function setGuestName(Wopi $wopi, ?string $guestName = null): Wopi { if ($wopi->getTokenType() !== Wopi::TOKEN_TYPE_GUEST && $wopi->getTokenType() !== Wopi::TOKEN_TYPE_REMOTE_GUEST) { return $wopi; @@ -294,4 +272,13 @@ public function setGuestName(Wopi $wopi, ?string $guestName = null): Wopi { public function getUrlSrc(File $file): string { return $this->wopiParser->getUrlSrcValue($file->getMimeType()); } + + public function getUrlSrcForMimeType(string $type): ?string { + try { + return $this->wopiParser->getUrlSrcValue($type); + } catch (\Throwable $e) { + return null; + } + } + } diff --git a/lib/WOPI/ProofKey.php b/lib/WOPI/ProofKey.php new file mode 100644 index 0000000000..772e93acfb --- /dev/null +++ b/lib/WOPI/ProofKey.php @@ -0,0 +1,30 @@ +exponent; + } + + public function getModulus(): ?string { + return $this->modulus; + } + + public function getValue(): ?string { + return $this->value; + } +} diff --git a/lib/WOPI/SettingsUrl.php b/lib/WOPI/SettingsUrl.php new file mode 100644 index 0000000000..9fbce98e2e --- /dev/null +++ b/lib/WOPI/SettingsUrl.php @@ -0,0 +1,112 @@ +rawUrl = $url; + $this->parseUrl($url); + } + + /** + * Factory method to create a SettingsUrl instance based on individual parameters. + */ + public static function fromComponents(string $type, string $category, string $fileName): self { + $rawUrl = "settings/$type/$category/$fileName"; + return new self($rawUrl); + } + + /** + * Parses the settings URL and extracts type, category, and filename. + * + * @param string $url The settings URL to parse. + * @throws InvalidArgumentException If the URL is invalid or incorrectly formatted. + */ + private function parseUrl(string $url): void { + $decodedUrl = urldecode($url); + + $parsedUrl = parse_url($decodedUrl); + if (!isset($parsedUrl['path'])) { + throw new InvalidArgumentException('Invalid URL: Path not found.'); + } + + $path = $parsedUrl['path']; + + $settingsIndex = strpos($path, '/settings/'); + if ($settingsIndex === false) { + throw new InvalidArgumentException("Invalid settings URL format: '/settings/' segment missing."); + } + + $relevantPath = substr($path, $settingsIndex + strlen('/settings/')); + + $pathParts = explode('/', $relevantPath); + + if (count($pathParts) < 3) { + throw new InvalidArgumentException("Invalid settings URL format: Expected 'type/category/fileName'."); + } + + $this->type = $pathParts[0]; + $this->category = $pathParts[1]; + $this->fileName = implode('/', array_slice($pathParts, 2)); + } + + /** + * Get the setting type from the URL. + * + * @return string + */ + public function getType(): string { + return $this->type; + } + + /** + * Get the setting category from the URL. + * + * @return string + */ + public function getCategory(): string { + return $this->category; + } + + /** + * Get the original filename from the URL. + * + * @return string + */ + public function getFileName(): string { + return $this->fileName; + } + + /** + * Get the raw URL. + * + * @return string + */ + public function getRawUrl(): string { + return $this->rawUrl; + } + + /** + * Determines if this Settings URL leads to a system config file + * + * @return bool + */ + public function isSystemConfig(): bool { + return $this->getType() === 'systemconfig'; + } +} diff --git a/package-lock.json b/package-lock.json index 43381fd84e..ffde1b8bd5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,137 +1,129 @@ { "name": "richdocuments", - "version": "8.6.0-beta.1", + "version": "9.0.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "richdocuments", - "version": "8.6.0-beta.1", + "version": "9.0.4", "license": "AGPL-3.0-or-later", "dependencies": { - "@nextcloud/auth": "^2.4.0", - "@nextcloud/axios": "^2.5.1", - "@nextcloud/capabilities": "^1.2.0", - "@nextcloud/dialogs": "^6.0.1", - "@nextcloud/event-bus": "^3.3.1", - "@nextcloud/files": "^3.10.1", + "@nextcloud/auth": "^2.5.3", + "@nextcloud/axios": "^2.5.2", + "@nextcloud/capabilities": "^1.2.1", + "@nextcloud/dialogs": "^6.4.2", + "@nextcloud/event-bus": "^3.3.3", + "@nextcloud/files": "^3.10.2", "@nextcloud/initial-state": "^2.2.0", - "@nextcloud/l10n": "^3.1.0", - "@nextcloud/moment": "^1.3.2", - "@nextcloud/paths": "^2.2.1", + "@nextcloud/l10n": "^3.4.1", + "@nextcloud/moment": "^1.3.5", + "@nextcloud/paths": "^2.2.2", "@nextcloud/router": "^3.0.1", - "@nextcloud/sharing": "^0.2.4", - "@nextcloud/vue": "^8.22.0", + "@nextcloud/sharing": "^0.2.5", + "@nextcloud/viewer": "^1.0.0", + "@nextcloud/vue": "^8.36.0", "vue": "^2.7.16", "vue-material-design-icons": "^5.3.1" }, "devDependencies": { "@cypress/browserify-preprocessor": "^3.0.2", - "@cypress/webpack-preprocessor": "^6.0.2", - "@nextcloud/babel-config": "^1.2.0", - "@nextcloud/browserslist-config": "^3.0.1", - "@nextcloud/cypress": "^1.0.0-beta.12", - "@nextcloud/eslint-config": "^8.4.1", - "@nextcloud/stylelint-config": "^3.0.1", + "@cypress/webpack-batteries-included-preprocessor": "^4.0.4", + "@nextcloud/babel-config": "^1.3.0", + "@nextcloud/browserslist-config": "^3.1.2", + "@nextcloud/e2e-test-server": "^0.4.0", + "@nextcloud/eslint-config": "^8.4.2", + "@nextcloud/stylelint-config": "^3.1.1", "@nextcloud/webpack-vue-config": "^6.1.1", "babel-loader-exclude-node-modules-except": "^1.2.1", - "cypress": "^13.17.0", - "cypress-split": "^1.24.7", + "cypress": "^15.10.0", + "cypress-split": "^1.24.28", "eslint-plugin-cypress": "^3.5.0", - "ts-loader": "^9.5.2", - "typescript": "^5.7.3" + "ts-loader": "^9.5.4", + "typescript": "^5.8.3" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^22.0.0", + "npm": "^10.5.0" } }, "node_modules/@actions/core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", - "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-2.0.3.tgz", + "integrity": "sha512-Od9Thc3T1mQJYddvVPM4QGiLUewdh+3txmDYHHxoNdkqysR1MbCT+rFOtNUxYAz+7+6RIsqipVahY2GJqGPyxA==", "dev": true, "dependencies": { - "@actions/exec": "^1.1.1", - "@actions/http-client": "^2.0.1" + "@actions/exec": "^2.0.0", + "@actions/http-client": "^3.0.2" } }, "node_modules/@actions/exec": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", - "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-2.0.0.tgz", + "integrity": "sha512-k8ngrX2voJ/RIN6r9xB82NVqKpnMRtxDoiO+g3olkIUpQNqjArXrCQceduQZCQj3P3xm32pChRLqRrtXTlqhIw==", "dev": true, "dependencies": { - "@actions/io": "^1.0.1" + "@actions/io": "^2.0.0" } }, "node_modules/@actions/http-client": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", - "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.2.tgz", + "integrity": "sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==", "dev": true, "dependencies": { "tunnel": "^0.0.6", - "undici": "^5.25.4" + "undici": "^6.23.0" } }, "node_modules/@actions/io": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz", - "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-2.0.0.tgz", + "integrity": "sha512-Jv33IN09XLO+0HS79aaODsvIRyduiF7NY/F6LYeK5oeUmrsz7aFdRphQjFoESF4jS7lMauDOttKALcpapVDIAg==", "dev": true }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0" + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", - "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.24.5", - "@babel/helpers": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -172,67 +164,45 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", - "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.5", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/types": "^7.27.3" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -256,19 +226,18 @@ "dev": true }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz", - "integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.24.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.6", "semver": "^6.3.1" }, "engines": { @@ -279,13 +248,14 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", "semver": "^6.3.1" }, "engines": { @@ -296,91 +266,95 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz", + "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "resolve": "^1.22.11" }, "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "ms": "^2.1.3" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT" + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz", - "integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.5" + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", - "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.24.3", - "@babel/helper-simple-access": "^7.24.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/helper-validator-identifier": "^7.24.5" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -390,35 +364,38 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -428,14 +405,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", - "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -444,116 +422,82 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", - "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", - "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.5" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz", - "integrity": "sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", + "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.23.0", - "@babel/template": "^7.24.0", - "@babel/types": "^7.24.5" + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", - "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", - "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", - "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "dependencies": { - "@babel/types": "^7.25.8" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -563,13 +507,30 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz", - "integrity": "sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -579,12 +540,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", - "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -594,14 +556,15 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", - "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.24.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -611,13 +574,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", - "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", + "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -673,11 +637,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -685,25 +650,30 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", + "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -712,52 +682,58 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { + "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", - "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", - "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -766,37 +742,50 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", + "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", - "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -805,85 +794,120 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", + "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", + "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", + "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.12.0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", + "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", + "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/template": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", + "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -892,13 +916,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -907,14 +932,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -923,13 +949,14 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", - "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -938,16 +965,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", - "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", + "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -956,15 +982,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", - "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", + "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -973,13 +998,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", - "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -988,13 +1014,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz", - "integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1003,14 +1031,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", - "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1019,211 +1049,30 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", - "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", + "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.4", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.12.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz", - "integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.24.5", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", - "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/template": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz", - "integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", - "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", - "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", - "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", - "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", - "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", - "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", - "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", - "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", - "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1233,13 +1082,13 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", - "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", + "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1249,12 +1098,13 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", - "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1264,13 +1114,14 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", - "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1280,14 +1131,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", - "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1297,15 +1148,16 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", - "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", + "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.29.0" }, "engines": { "node": ">=6.9.0" @@ -1315,13 +1167,14 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", - "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1331,13 +1184,14 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1347,12 +1201,13 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", - "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1362,13 +1217,13 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", - "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", + "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1378,13 +1233,13 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", - "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", + "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1394,15 +1249,17 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz", - "integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", + "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.5" + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1412,13 +1269,14 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", - "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1428,13 +1286,13 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", - "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", + "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1444,14 +1302,14 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz", - "integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", + "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1461,12 +1319,13 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz", - "integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==", + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1476,13 +1335,14 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", - "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", + "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1492,15 +1352,15 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz", - "integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", + "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1510,12 +1370,13 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", - "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1525,12 +1386,13 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1540,16 +1402,17 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz", - "integrity": "sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz", + "integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.20.7" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-jsx": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1559,12 +1422,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" + "@babel/plugin-transform-react-jsx": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1574,13 +1438,14 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1590,13 +1455,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", - "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", + "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "regenerator-transform": "^0.15.2" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1605,13 +1470,31 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", + "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", - "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1621,17 +1504,18 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", - "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", + "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1641,12 +1525,13 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", - "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1656,13 +1541,14 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", - "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", + "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1672,12 +1558,13 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", - "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1687,12 +1574,13 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", - "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1702,12 +1590,13 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz", - "integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1717,12 +1606,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", - "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1732,13 +1622,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", - "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", + "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1748,13 +1639,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", - "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1764,13 +1656,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", - "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", + "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1780,91 +1673,81 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz", - "integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.0.tgz", + "integrity": "sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.1", - "@babel/plugin-syntax-import-attributes": "^7.24.1", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.1", - "@babel/plugin-transform-async-generator-functions": "^7.24.3", - "@babel/plugin-transform-async-to-generator": "^7.24.1", - "@babel/plugin-transform-block-scoped-functions": "^7.24.1", - "@babel/plugin-transform-block-scoping": "^7.24.5", - "@babel/plugin-transform-class-properties": "^7.24.1", - "@babel/plugin-transform-class-static-block": "^7.24.4", - "@babel/plugin-transform-classes": "^7.24.5", - "@babel/plugin-transform-computed-properties": "^7.24.1", - "@babel/plugin-transform-destructuring": "^7.24.5", - "@babel/plugin-transform-dotall-regex": "^7.24.1", - "@babel/plugin-transform-duplicate-keys": "^7.24.1", - "@babel/plugin-transform-dynamic-import": "^7.24.1", - "@babel/plugin-transform-exponentiation-operator": "^7.24.1", - "@babel/plugin-transform-export-namespace-from": "^7.24.1", - "@babel/plugin-transform-for-of": "^7.24.1", - "@babel/plugin-transform-function-name": "^7.24.1", - "@babel/plugin-transform-json-strings": "^7.24.1", - "@babel/plugin-transform-literals": "^7.24.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", - "@babel/plugin-transform-member-expression-literals": "^7.24.1", - "@babel/plugin-transform-modules-amd": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-modules-systemjs": "^7.24.1", - "@babel/plugin-transform-modules-umd": "^7.24.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.24.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", - "@babel/plugin-transform-numeric-separator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.5", - "@babel/plugin-transform-object-super": "^7.24.1", - "@babel/plugin-transform-optional-catch-binding": "^7.24.1", - "@babel/plugin-transform-optional-chaining": "^7.24.5", - "@babel/plugin-transform-parameters": "^7.24.5", - "@babel/plugin-transform-private-methods": "^7.24.1", - "@babel/plugin-transform-private-property-in-object": "^7.24.5", - "@babel/plugin-transform-property-literals": "^7.24.1", - "@babel/plugin-transform-regenerator": "^7.24.1", - "@babel/plugin-transform-reserved-words": "^7.24.1", - "@babel/plugin-transform-shorthand-properties": "^7.24.1", - "@babel/plugin-transform-spread": "^7.24.1", - "@babel/plugin-transform-sticky-regex": "^7.24.1", - "@babel/plugin-transform-template-literals": "^7.24.1", - "@babel/plugin-transform-typeof-symbol": "^7.24.5", - "@babel/plugin-transform-unicode-escapes": "^7.24.1", - "@babel/plugin-transform-unicode-property-regex": "^7.24.1", - "@babel/plugin-transform-unicode-regex": "^7.24.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.29.0", + "@babel/plugin-transform-async-to-generator": "^7.28.6", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.28.6", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", + "@babel/plugin-transform-modules-systemjs": "^7.29.0", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.29.0", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.31.0", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", "semver": "^6.3.1" }, "engines": { @@ -1874,56 +1757,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.0.tgz", + "integrity": "sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" + "@babel/helper-define-polyfill-provider": "^0.6.6", + "core-js-compat": "^3.48.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -1944,17 +1786,18 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1963,66 +1806,56 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, "node_modules/@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", - "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/types": "^7.24.5", - "debug": "^4.3.1", - "globals": "^11.1.0" + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", - "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dependencies": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -2042,20 +1875,10 @@ "node-fetch": "^3.3.0" } }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz", - "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", + "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", "dev": true, "funding": [ { @@ -2067,18 +1890,19 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "peer": true, "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.4" + "@csstools/css-tokenizer": "^3.0.3" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz", - "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", + "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", "dev": true, "funding": [ { @@ -2090,39 +1914,16 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "peer": true, "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz", - "integrity": "sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "peer": true, - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.6.1", - "@csstools/css-tokenizer": "^2.2.4" - } - }, - "node_modules/@csstools/selector-specificity": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz", - "integrity": "sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz", + "integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==", "dev": true, "funding": [ { @@ -2134,12 +1935,14 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "peer": true, "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" }, "peerDependencies": { - "postcss-selector-parser": "^6.0.13" + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" } }, "node_modules/@cypress/browserify-preprocessor": { @@ -2172,10 +1975,11 @@ } }, "node_modules/@cypress/request": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.6.tgz", - "integrity": "sha512-fi0eVdCOtKu5Ed6+E8mYxUF6ZTFJDZvHogCBelM0xVXmrDEkyM22gRArQzq1YcHPm1V47Vf/iAD+WgVdUlJCGg==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.10.tgz", + "integrity": "sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -2183,14 +1987,14 @@ "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", - "form-data": "~4.0.0", + "form-data": "~4.0.4", "http-signature": "~1.4.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "6.13.0", + "qs": "~6.14.1", "safe-buffer": "^5.1.2", "tough-cookie": "^5.0.0", "tunnel-agent": "^0.6.0", @@ -2200,20 +2004,150 @@ "node": ">= 6" } }, + "node_modules/@cypress/webpack-batteries-included-preprocessor": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@cypress/webpack-batteries-included-preprocessor/-/webpack-batteries-included-preprocessor-4.0.4.tgz", + "integrity": "sha512-aQ8aRvkbAjXVHzfC5U3Xpfwk0s1bVHR3Ze8GruEZflWhIQLfLD3I/ozAe1h92da/E9YeWheM51gI6R0C8cLNbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", + "@babel/plugin-transform-runtime": "^7.28.0", + "@babel/preset-env": "^7.28.0", + "@babel/preset-react": "^7.27.1", + "@babel/runtime": "^7.28.2", + "babel-loader": "^10.0.0", + "babel-plugin-add-module-exports": "^1.0.2", + "buffer": "^6.0.3", + "coffee-loader": "^4.0.0", + "coffeescript": "2.6.0", + "debug": "^4.3.4", + "get-tsconfig": "^4.10.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "stream-browserify": "^3.0.0", + "ts-loader": "9.5.2", + "tsconfig-paths-webpack-plugin": "^3.5.2", + "webpack": "^5.88.2", + "webpack-bundle-analyzer": "4.10.2" + }, + "peerDependencies": { + "@cypress/webpack-preprocessor": "^6.0.4" + } + }, + "node_modules/@cypress/webpack-batteries-included-preprocessor/node_modules/babel-loader": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", + "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": "^18.20.0 || ^20.10.0 || >=22.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5.61.0" + } + }, + "node_modules/@cypress/webpack-batteries-included-preprocessor/node_modules/coffee-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/coffee-loader/-/coffee-loader-4.0.0.tgz", + "integrity": "sha512-RvgC8c0JwRew5lq3x2J+P4z9Cvan/v91muEvV90VJXcTuJbJQN20taZxfj6/XC4yysA8PInPGpxdB1J9LphLuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "coffeescript": ">= 2.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/@cypress/webpack-batteries-included-preprocessor/node_modules/coffeescript": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.6.0.tgz", + "integrity": "sha512-gCGXhR72sTAdEr+oZh3FcOj04DrcMc9lZYSJUBNudkQ4tQXuPKE3cvcYVbK/HiVW+zFzLmnZdHexuJ33ufLZOg==", + "dev": true, + "license": "MIT", + "bin": { + "cake": "bin/cake", + "coffee": "bin/coffee" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@cypress/webpack-batteries-included-preprocessor/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@cypress/webpack-batteries-included-preprocessor/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/@cypress/webpack-batteries-included-preprocessor/node_modules/ts-loader": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.2.tgz", + "integrity": "sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, "node_modules/@cypress/webpack-preprocessor": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-6.0.2.tgz", - "integrity": "sha512-0+1+4iy4W9PE6R5ywBNKAZoFp8Sf//w3UJ+CKTqkcAjA29b+dtsD0iFT70DsYE0BMqUM1PO7HXFGbXllQ+bRAA==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-6.0.4.tgz", + "integrity": "sha512-ly+EcabWWbhrSPr2J/njQX7Y3da+QqOmFg8Og/MVmLxhDLKIzr2WhTdgzDYviPTLx/IKsdb41cc2RLYp6mSBRA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "bluebird": "3.7.1", "debug": "^4.3.4", - "lodash": "^4.17.20" + "lodash": "^4.17.20", + "semver": "^7.3.2" }, "peerDependencies": { - "@babel/core": "^7.0.1", - "@babel/preset-env": "^7.0.0", - "babel-loader": "^8.3 || ^9", + "@babel/core": "^7.25.2", + "@babel/preset-env": "^7.25.3", + "babel-loader": "^8.3 || ^9 || ^10", "webpack": "^4 || ^5" } }, @@ -2221,7 +2155,22 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", - "dev": true + "dev": true, + "peer": true + }, + "node_modules/@cypress/webpack-preprocessor/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, "node_modules/@cypress/xvfb": { "version": "1.2.4", @@ -2243,13 +2192,13 @@ } }, "node_modules/@dependents/detective-less": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-5.0.0.tgz", - "integrity": "sha512-D/9dozteKcutI5OdxJd8rU+fL6XgaaRg60sPPJWkT33OCiRfkCu5wO5B/yXTaaL2e6EB0lcCBGe5E0XscZCvvQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-5.0.1.tgz", + "integrity": "sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==", "dev": true, "dependencies": { "gonzales-pe": "^4.3.0", - "node-source-walk": "^7.0.0" + "node-source-walk": "^7.0.1" }, "engines": { "node": ">=18" @@ -2260,16 +2209,16 @@ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "peer": true, "engines": { "node": ">=10.0.0" } }, "node_modules/@dual-bundle/import-meta-resolve": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", - "integrity": "sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", "dev": true, + "license": "MIT", "peer": true, "funding": { "type": "github", @@ -2292,9 +2241,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", - "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", "cpu": [ "ppc64" ], @@ -2308,9 +2257,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", - "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", "cpu": [ "arm" ], @@ -2324,9 +2273,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", - "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", "cpu": [ "arm64" ], @@ -2340,9 +2289,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", - "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", "cpu": [ "x64" ], @@ -2356,9 +2305,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", - "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", "cpu": [ "arm64" ], @@ -2372,9 +2321,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", - "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", "cpu": [ "x64" ], @@ -2388,9 +2337,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", - "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", "cpu": [ "arm64" ], @@ -2404,9 +2353,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", - "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", "cpu": [ "x64" ], @@ -2420,9 +2369,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", - "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", "cpu": [ "arm" ], @@ -2436,9 +2385,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", - "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", "cpu": [ "arm64" ], @@ -2452,9 +2401,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", - "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", "cpu": [ "ia32" ], @@ -2468,9 +2417,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", - "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", "cpu": [ "loong64" ], @@ -2484,9 +2433,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", - "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", "cpu": [ "mips64el" ], @@ -2500,9 +2449,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", - "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", "cpu": [ "ppc64" ], @@ -2516,9 +2465,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", - "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", "cpu": [ "riscv64" ], @@ -2532,9 +2481,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", - "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", "cpu": [ "s390x" ], @@ -2548,9 +2497,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", - "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", "cpu": [ "x64" ], @@ -2563,10 +2512,26 @@ "node": ">=18" } }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", - "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", "cpu": [ "x64" ], @@ -2580,9 +2545,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", - "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", "cpu": [ "arm64" ], @@ -2596,9 +2561,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", - "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", "cpu": [ "x64" ], @@ -2611,10 +2576,26 @@ "node": ">=18" } }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/sunos-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", - "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", "cpu": [ "x64" ], @@ -2628,9 +2609,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", - "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", "cpu": [ "arm64" ], @@ -2644,9 +2625,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", - "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", "cpu": [ "ia32" ], @@ -2660,9 +2641,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", - "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", "cpu": [ "x64" ], @@ -2777,13 +2758,14 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "dev": true, - "engines": { - "node": ">=14" + "node_modules/@file-type/xml": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@file-type/xml/-/xml-0.4.4.tgz", + "integrity": "sha512-NhCyXoHlVZ8TqM476hyzwGJ24+D5IPSaZhmrPj7qXnEVb3q6jrFzA3mM9TBpknKSI9EuQeGTKRg2DXGUwvBBoQ==", + "license": "MIT", + "dependencies": { + "sax": "^1.4.1", + "strtok3": "^10.3.4" } }, "node_modules/@floating-ui/core": { @@ -2799,19 +2781,87 @@ "@floating-ui/core": "^0.3.0" } }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "node_modules/@grpc/grpc-js": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.13.2.tgz", + "integrity": "sha512-nnR5nmL6lxF8YBqb6gWvEgLdLh/Fn+kvAdX5hUOnt48sNSb0riz/93ASd2E5gvanPA41X6Yp25bIfGRp1SMb2g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@grpc/proto-loader": "^0.7.13", + "@js-sdsl/ordered-map": "^4.4.2" + }, + "engines": { + "node": ">=12.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz", + "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.5", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@hapi/address": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-5.1.1.tgz", + "integrity": "sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@hapi/hoek": "^9.0.0" + "@hapi/hoek": "^11.0.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/address/node_modules/@hapi/hoek": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.7.tgz", + "integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/formula": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-3.0.2.tgz", + "integrity": "sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/pinpoint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.1.tgz", + "integrity": "sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/tlds": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@hapi/tlds/-/tlds-1.1.6.tgz", + "integrity": "sha512-xdi7A/4NZokvV0ewovme3aUO5kQhW9pQ2YD1hRqZGhhSi5rBv4usHYidVocXSi9eihYsznZxLtAiEYYUL6VBGw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=14.0.0" } }, "node_modules/@humanwhocodes/config-array": { @@ -2851,16 +2901,25 @@ "peer": true }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, "node_modules/@jridgewell/resolve-uri": { @@ -2872,57 +2931,45 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@js-sdsl/ordered-map": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", + "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, "node_modules/@jsonjoy.com/base64": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", @@ -2983,6 +3030,17 @@ "tslib": "2" } }, + "node_modules/@keyv/serialize": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.3.tgz", + "integrity": "sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer": "^6.0.3" + } + }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", @@ -3040,141 +3098,161 @@ "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==" }, "node_modules/@nextcloud/auth": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.4.0.tgz", - "integrity": "sha512-T5OFltKd0O9Hfj47VrzE7TVjCwqOMHH9JLyjjLUR3pu2MaTY9WL6AjL79sHbFTXUaIkftZgJKu12lHYmqXnL2Q==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.5.3.tgz", + "integrity": "sha512-KIhWLk0BKcP4hvypE4o11YqKOPeFMfEFjRrhUUF+h7Fry+dhTBIEIxuQPVCKXMIpjTDd8791y8V6UdRZ2feKAQ==", "dependencies": { - "@nextcloud/browser-storage": "^0.4.0", - "@nextcloud/event-bus": "^3.3.1" + "@nextcloud/browser-storage": "^0.5.0", + "@nextcloud/event-bus": "^3.3.2" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/axios": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.5.1.tgz", - "integrity": "sha512-AA7BPF/rsOZWAiVxqlobGSdD67AEwjOnymZCKUIwEIBArKxYK7OQEqcILDjQwgj6G0e/Vg9Y8zTVsPZp+mlvwA==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.5.2.tgz", + "integrity": "sha512-8frJb77jNMbz00TjsSqs1PymY0nIEbNM4mVmwen2tXY7wNgRai6uXilIlXKOYB9jR/F/HKRj6B4vUwVwZbhdbw==", "dependencies": { - "@nextcloud/auth": "^2.3.0", + "@nextcloud/auth": "^2.5.1", "@nextcloud/router": "^3.0.1", - "axios": "^1.6.8" + "axios": "^1.12.2" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/babel-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/babel-config/-/babel-config-1.2.0.tgz", - "integrity": "sha512-QOESlmX99UOfXdPANpoeFtfoRWWfKhBm1wXgF2lLnwpOBq4ZzdtqI+wphhWA/lkdfw/sftZzd1UJF/gcPDpiAw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/babel-config/-/babel-config-1.3.0.tgz", + "integrity": "sha512-qk4mBJahzp2mkiizU9RbeABa6JhqSwR43SXptNQhM3kpxAuP2OAQQhomYnxog/XfFcYExZzOkgRBPlcLEoik0w==", "dev": true, + "license": "AGPL-3.0-or-later", "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20 || ^22 || ^24" }, "peerDependencies": { - "@babel/core": "^7.24.5", + "@babel/core": "^7.27.4", "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/preset-env": "^7.24.5" + "@babel/preset-env": "^7.27.2" } }, "node_modules/@nextcloud/browser-storage": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/browser-storage/-/browser-storage-0.4.0.tgz", - "integrity": "sha512-D6XxznxCYmJ3oBCC3p0JB6GZJ2RZ9dgbB1UqtTePXrIvHUMBAeF/YkiGKYxLAVZCZb+NSNZXgAYHm/3LnIUbDg==", - "dependencies": { - "core-js": "3.37.0" - }, + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@nextcloud/browser-storage/-/browser-storage-0.5.0.tgz", + "integrity": "sha512-usYr4GlJQlK3hgZURvklqWb9ivi7sgsSuFqXrs7s4hl1LTS4enzPrnkQumm6nRsQruf0ITS+OBsK+oELEbvYPA==", + "license": "GPL-3.0-or-later", "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^24 || ^22 || ^20" } }, "node_modules/@nextcloud/browserslist-config": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-3.0.1.tgz", - "integrity": "sha512-GZTxL5fsDgmFoot/qnRurjHCuHjSfOg+A6t4+P2TySXua2Q1Ex0lecZYlSnRuOR/W5BGOZ06ITTA/hbkSh1Ypg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-3.1.2.tgz", + "integrity": "sha512-2iXl1rqQOHvggFIl/V3J5OpbodVazOsO38Gz/2sUAmtWXuOpGZG+7i6zQcVqGVaT1VzyPJ1gPiMpyyZi/XRWNA==", "dev": true, + "license": "GPL-3.0-or-later", "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20 || ^22 || ^24", + "npm": ">=10.5.0" + }, + "peerDependencies": { + "browserslist": "^4.26.3" } }, "node_modules/@nextcloud/capabilities": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/capabilities/-/capabilities-1.2.0.tgz", - "integrity": "sha512-L1NQtOfHWzkfj0Ple1MEJt6HmOHWAi3y4qs+OnwSWexqJT0DtXTVPyRxi7ADyITwRxS5H9R/HMl6USAj4Nr1nQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@nextcloud/capabilities/-/capabilities-1.2.1.tgz", + "integrity": "sha512-snZ0/910zzwN6PDsIlx2Uvktr1S5x0ClhDUnfPlCj7ntNvECzuVHNY5wzby22LIkc+9ZjaDKtCwuCt2ye+9p/Q==", "dependencies": { - "@nextcloud/initial-state": "^2.1.0" + "@nextcloud/initial-state": "^3.0.0" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, - "node_modules/@nextcloud/cypress": { - "version": "1.0.0-beta.12", - "resolved": "https://registry.npmjs.org/@nextcloud/cypress/-/cypress-1.0.0-beta.12.tgz", - "integrity": "sha512-/o+DiuX5LKeaIKpRvBiao8e4WXl0GJY+jn1NZpFg3jzYDQz4jDFx+wANvAzIlPpxoRqkKPPifZWwZc4IMYe0XQ==", - "dev": true, - "dependencies": { - "dockerode": "^4.0.2", - "fast-xml-parser": "^4.3.6", - "wait-on": "^8.0.0" - }, + "node_modules/@nextcloud/capabilities/node_modules/@nextcloud/initial-state": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", + "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==", "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" - }, - "peerDependencies": { - "cypress": "^13.9.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/dialogs": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-6.0.1.tgz", - "integrity": "sha512-TlzNUy0eFPIjnop2Wfom45xJdUjLOoUwd/E8V/6ehh+PifrgIWGy6jqBYMRoQfUASc/LKtSYUrCN3yDgVrK8Tw==", - "license": "AGPL-3.0-or-later", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-6.4.2.tgz", + "integrity": "sha512-xj6fyUdb56StWt1DWeDHYnqK0Ck7EWQLUEyWtXHnneknoOV3x/Y0HPRL5L2PTJaDuVQB8TcVW53JjR38JG9W6Q==", "dependencies": { "@mdi/js": "^7.4.47", - "@nextcloud/auth": "^2.4.0", - "@nextcloud/axios": "^2.5.1", - "@nextcloud/event-bus": "^3.3.1", - "@nextcloud/files": "^3.9.0", - "@nextcloud/initial-state": "^2.2.0", - "@nextcloud/l10n": "^3.1.0", - "@nextcloud/router": "^3.0.1", - "@nextcloud/sharing": "^0.2.3", - "@nextcloud/typings": "^1.9.1", - "@types/toastify-js": "^1.12.3", - "@vueuse/core": "^11.2.0", + "@nextcloud/auth": "^2.5.3", + "@nextcloud/axios": "^2.5.2", + "@nextcloud/browser-storage": "^0.5.0", + "@nextcloud/event-bus": "^3.3.3", + "@nextcloud/files": "^3.12.2", + "@nextcloud/initial-state": "^3.0.0", + "@nextcloud/l10n": "^3.4.1", + "@nextcloud/paths": "^3.0.0", + "@nextcloud/router": "^3.1.0", + "@nextcloud/sharing": "^0.3.0", + "@types/toastify-js": "^1.12.4", + "@vueuse/core": "^11.3.0", "cancelable-promise": "^4.3.1", - "p-queue": "^8.0.1", + "p-queue": "^9.0.1", "toastify-js": "^1.12.0", "vue-frag": "^1.4.3", - "webdav": "^5.7.1" + "webdav": "^5.8.0" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" }, "peerDependencies": { - "@nextcloud/vue": "^8.16.0", + "@nextcloud/vue": "^8.24.0", "vue": "^2.7.16" } }, + "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/initial-state": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", + "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==", + "license": "GPL-3.0-or-later", + "engines": { + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" + } + }, + "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-3.0.0.tgz", + "integrity": "sha512-+sTfTkIbVUa2Ue3bkz3R7F1mhddvHPOWUxkSNg7Q5dAsimVFBaTRgiBAJmsAag3JPsxyuS8kUgeb0zdEssRdTA==", + "engines": { + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" + } + }, + "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/sharing": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz", + "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==", + "license": "GPL-3.0-or-later", + "dependencies": { + "@nextcloud/initial-state": "^3.0.0", + "is-svg": "^6.1.0" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" + }, + "optionalDependencies": { + "@nextcloud/files": "^3.12.0" + } + }, "node_modules/@nextcloud/dialogs/node_modules/@vueuse/core": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.2.0.tgz", - "integrity": "sha512-JIUwRcOqOWzcdu1dGlfW04kaJhW3EXnnjJJfLTtddJanymTL7lF1C0+dVVZ/siLfc73mWn+cGP1PE1PKPruRSA==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.3.0.tgz", + "integrity": "sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==", "license": "MIT", "dependencies": { "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "11.2.0", - "@vueuse/shared": "11.2.0", + "@vueuse/metadata": "11.3.0", + "@vueuse/shared": "11.3.0", "vue-demi": ">=0.14.10" }, "funding": { @@ -3208,18 +3286,18 @@ } }, "node_modules/@nextcloud/dialogs/node_modules/@vueuse/metadata": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.2.0.tgz", - "integrity": "sha512-L0ZmtRmNx+ZW95DmrgD6vn484gSpVeRbgpWevFKXwqqQxW9hnSi2Ppuh2BzMjnbv4aJRiIw8tQatXT9uOB23dQ==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.3.0.tgz", + "integrity": "sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@nextcloud/dialogs/node_modules/@vueuse/shared": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.2.0.tgz", - "integrity": "sha512-VxFjie0EanOudYSgMErxXfq6fo8vhr5ICI+BuE3I9FnX7ePllEsVrRQ7O6Q1TLgApeLuPKcHQxAXpP+KnlrJsg==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.3.0.tgz", + "integrity": "sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==", "license": "MIT", "dependencies": { "vue-demi": ">=0.14.10" @@ -3254,28 +3332,165 @@ } } }, + "node_modules/@nextcloud/dialogs/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, + "node_modules/@nextcloud/dialogs/node_modules/p-queue": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.0.1.tgz", + "integrity": "sha512-RhBdVhSwJb7Ocn3e8ULk4NMwBEuOxe+1zcgphUy9c2e5aR/xbEsdVXxHJ3lynw6Qiqu7OINEyHlZkiblEpaq7w==", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^7.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nextcloud/dialogs/node_modules/p-timeout": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", + "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nextcloud/e2e-test-server": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@nextcloud/e2e-test-server/-/e2e-test-server-0.4.0.tgz", + "integrity": "sha512-nKdLXOn4TY9+Z/dE4AKDsk6Fhp6xm5gUIFx4gW5z4Ivrp/nl7iGun5zDmbyjW7mHF55orqVxNl8GBHzVDTd0Sg==", + "dev": true, + "license": "AGPL-3.0-or-later", + "dependencies": { + "@nextcloud/paths": "^2.2.1", + "dockerode": "^4.0.2", + "fast-xml-parser": "^5.2.2", + "wait-on": "^9.0.1" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" + } + }, + "node_modules/@nextcloud/e2e-test-server/node_modules/@hapi/hoek": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.7.tgz", + "integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@nextcloud/e2e-test-server/node_modules/@hapi/topo": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz", + "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@nextcloud/e2e-test-server/node_modules/fast-xml-parser": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.4.2.tgz", + "integrity": "sha512-pw/6pIl4k0CSpElPEJhDppLzaixDEuWui2CUQQBH/ECDf7+y6YwA4Gf7Tyb0Rfe4DIMuZipYj4AEL0nACKglvQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "fast-xml-builder": "^1.0.0", + "strnum": "^2.1.2" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/@nextcloud/e2e-test-server/node_modules/joi": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-18.0.2.tgz", + "integrity": "sha512-RuCOQMIt78LWnktPoeBL0GErkNaJPTBGcYuyaBvUOQSpcpcLfWrHPPihYdOGbV5pam9VTWbeoF7TsGiHugcjGA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/address": "^5.1.1", + "@hapi/formula": "^3.0.2", + "@hapi/hoek": "^11.0.7", + "@hapi/pinpoint": "^2.0.1", + "@hapi/tlds": "^1.1.1", + "@hapi/topo": "^6.0.2", + "@standard-schema/spec": "^1.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@nextcloud/e2e-test-server/node_modules/strnum": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.2.tgz", + "integrity": "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/@nextcloud/e2e-test-server/node_modules/wait-on": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-9.0.4.tgz", + "integrity": "sha512-k8qrgfwrPVJXTeFY8tl6BxVHiclK11u72DVKhpybHfUL/K6KM4bdyK9EhIVYGytB5MJe/3lq4Tf0hrjM+pvJZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "axios": "^1.13.5", + "joi": "^18.0.2", + "lodash": "^4.17.23", + "minimist": "^1.2.8", + "rxjs": "^7.8.2" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/@nextcloud/eslint-config": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.4.1.tgz", - "integrity": "sha512-ilrPxOnfVkB4dAddtkhbJmbYK9FwEVZ5oIJ2ipiE97rQz82TUZxmfEHE1tr87FbIvz0drIcREgGil3zuNWHjrg==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.4.2.tgz", + "integrity": "sha512-zsDcBxvp2Vr/BgasK/vNYJ84LOXjl4RseJPrcp93zcnaB2WnygV50Sd0nQ5JN0ngTyPjiIlGd92MMzrMTofjRA==", "dev": true, + "license": "AGPL-3.0-or-later", "engines": { "node": "^20.0.0", "npm": "^10.0.0" }, "peerDependencies": { - "@babel/core": "^7.24.5", + "@babel/core": "^7.26.9", "@babel/eslint-parser": "^7.16.5", "@nextcloud/eslint-plugin": "^2.2.1", "@vue/eslint-config-typescript": "^13.0.0", "eslint": "^8.27.0", "eslint-config-standard": "^17.1.0", "eslint-import-resolver-exports": "^1.0.0-beta.5", - "eslint-import-resolver-typescript": "^3.6.1", + "eslint-import-resolver-typescript": "^3.8.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsdoc": "^46.2.6", "eslint-plugin-n": "^16.0.0", - "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-promise": "^6.6.0", "eslint-plugin-vue": "^9.7.0", "typescript": "^5.0.2" } @@ -3313,22 +3528,21 @@ } }, "node_modules/@nextcloud/event-bus": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.3.1.tgz", - "integrity": "sha512-VBYJspOVk5aZopgZwCUoMKFqcTLCNel2TLvtu0HMPV2gR5ZLPiPAKbkyKkYTh+Sd5QB1gR6l3STTv1gyal0soQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.3.3.tgz", + "integrity": "sha512-zIfvKmUGkXpVzRKoXrcO9hkoiKDm65fqNxy/XIbIxrQhZByPq3gDkjBpnu3V5Gs8JdYwa73R8DjzV9oH8HYhIg==", "dependencies": { - "@types/node": "^20.12.12", - "semver": "^7.6.2" + "@types/semver": "^7.7.0", + "semver": "^7.7.2" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20 || ^22 || ^24" } }, "node_modules/@nextcloud/event-bus/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "bin": { "semver": "bin/semver.js" }, @@ -3337,93 +3551,55 @@ } }, "node_modules/@nextcloud/files": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.10.1.tgz", - "integrity": "sha512-hYUK28ZEU4GTbMXd0/YXTUUKedWnzdr4Eva+6sTxiuJMnACJ4/pZvSzFL9i82fBXvR/0MI5DA6+1gryMyNv1ww==", - "dependencies": { - "@nextcloud/auth": "^2.4.0", - "@nextcloud/capabilities": "^1.2.0", - "@nextcloud/l10n": "^3.1.0", - "@nextcloud/logger": "^3.0.2", - "@nextcloud/paths": "^2.2.1", - "@nextcloud/router": "^3.0.1", - "@nextcloud/sharing": "^0.2.3", + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.12.2.tgz", + "integrity": "sha512-vBo8tf3Xh6efiF8CrEo3pKj9AtvAF6RdDGO1XKL65IxV8+UUd9Uxl2lUExHlzoDRRczCqfGfaWfRRaFhYqce5Q==", + "dependencies": { + "@nextcloud/auth": "^2.5.3", + "@nextcloud/capabilities": "^1.2.1", + "@nextcloud/l10n": "^3.4.1", + "@nextcloud/logger": "^3.0.3", + "@nextcloud/paths": "^3.0.0", + "@nextcloud/router": "^3.1.0", + "@nextcloud/sharing": "^0.3.0", "cancelable-promise": "^4.3.1", - "is-svg": "^5.1.0", - "typedoc-plugin-missing-exports": "^3.1.0", + "is-svg": "^6.1.0", "typescript-event-target": "^1.1.1", - "webdav": "^5.7.1" + "webdav": "^5.8.0" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, - "node_modules/@nextcloud/files/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0" + "node_modules/@nextcloud/files/node_modules/@nextcloud/initial-state": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", + "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==", + "engines": { + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, - "node_modules/@nextcloud/files/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "node_modules/@nextcloud/files/node_modules/@nextcloud/paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-3.0.0.tgz", + "integrity": "sha512-+sTfTkIbVUa2Ue3bkz3R7F1mhddvHPOWUxkSNg7Q5dAsimVFBaTRgiBAJmsAag3JPsxyuS8kUgeb0zdEssRdTA==", "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, - "node_modules/@nextcloud/files/node_modules/typedoc": { - "version": "0.26.11", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.11.tgz", - "integrity": "sha512-sFEgRRtrcDl2FxVP58Ze++ZK2UQAEvtvvH8rRlig1Ja3o7dDaMHmaBfvJmdGnNEFaLTpQsN8dpvZaTqJSu/Ugw==", - "peer": true, + "node_modules/@nextcloud/files/node_modules/@nextcloud/sharing": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz", + "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==", "dependencies": { - "lunr": "^2.3.9", - "markdown-it": "^14.1.0", - "minimatch": "^9.0.5", - "shiki": "^1.16.2", - "yaml": "^2.5.1" - }, - "bin": { - "typedoc": "bin/typedoc" + "@nextcloud/initial-state": "^3.0.0", + "is-svg": "^6.1.0" }, "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x" - } - }, - "node_modules/@nextcloud/files/node_modules/typedoc-plugin-missing-exports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-3.1.0.tgz", - "integrity": "sha512-Sogbaj+qDa21NjB3SlIw4JXSwmcl/WOjwiPNaVEcPhpNG/MiRTtpwV81cT7h1cbu9StpONFPbddYWR0KV/fTWA==", - "peerDependencies": { - "typedoc": "0.26.x || 0.27.x" - } - }, - "node_modules/@nextcloud/files/node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" }, - "engines": { - "node": ">=14.17" + "optionalDependencies": { + "@nextcloud/files": "^3.12.0" } }, "node_modules/@nextcloud/initial-state": { @@ -3436,195 +3612,158 @@ } }, "node_modules/@nextcloud/l10n": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-3.1.0.tgz", - "integrity": "sha512-unciqr8QSJ29vFBw9S1bquyoj1PTWHszNL8tcUNuxUAYpq0hX+8o7rpB5gimELA4sj4m9+VCJwgLtBZd1Yj0lg==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-3.4.1.tgz", + "integrity": "sha512-aTFinTcKiK2gEXwLgutXekpZZ8/v/4QiC8C3QCLH5m0o+WtxsBC+fqV142ebC/rfDnzCLhY4ZtswSu8bFbZocg==", "dependencies": { "@nextcloud/router": "^3.0.1", - "@nextcloud/typings": "^1.8.0", - "@types/dompurify": "^3.0.5", + "@nextcloud/typings": "^1.9.1", "@types/escape-html": "^1.0.4", - "dompurify": "^3.1.2", - "escape-html": "^1.0.3", - "node-gettext": "^3.0.0" + "dompurify": "^3.2.6", + "escape-html": "^1.0.3" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20 || ^22 || ^24" } }, "node_modules/@nextcloud/logger": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-3.0.2.tgz", - "integrity": "sha512-wByt0R0/6QC44RBpaJr1MWghjjOxk/pRbACHo/ZWWKht1qYbJRHB4GtEi+35KEIHY07ZpqxiDk6dIRuN7sXYWQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-3.0.3.tgz", + "integrity": "sha512-TcbVRL4/O5ffI1RXFmQAFD3gwwT15AAdr1770x+RNqVvfBdoGVyhzOwCIyA5Vfc3fA1iJXFa+rE6buJZSoqlcw==", "dependencies": { - "@nextcloud/auth": "^2.3.0" + "@nextcloud/auth": "^2.5.3" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/moment": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@nextcloud/moment/-/moment-1.3.2.tgz", - "integrity": "sha512-VfSPnllfciZe1eU4zaHS0fE/4pPWKRUjLFxZSNQec9gkUfbskMsKH2xyPqkYLlYP9FF1uQh2+wZbzkFd6QLc4A==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@nextcloud/moment/-/moment-1.3.5.tgz", + "integrity": "sha512-sQjQ/D40sdedtq4ywuANSxqG0VhIB/i+QtZ6Voz3nyZWhkyyqGxdj9rQu9AyEvas3/Jlspdom5chc+a8jOmHxQ==", "dependencies": { - "@nextcloud/l10n": "^2.2.0", - "moment": "^2.30.1", - "node-gettext": "^3.0.0" + "@nextcloud/l10n": "^3.4.0", + "moment": "^2.30.1" }, "engines": { "node": "^20.0.0", "npm": "^10.0.0" } }, - "node_modules/@nextcloud/moment/node_modules/@nextcloud/l10n": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-2.2.0.tgz", - "integrity": "sha512-UAM2NJcl/NR46MANSF7Gr7q8/Up672zRyGrxLpN3k4URNmWQM9upkbRME+1K3T29wPrUyOIbQu710ZjvZafqFA==", - "dependencies": { - "@nextcloud/router": "^2.1.2", - "@nextcloud/typings": "^1.7.0", - "dompurify": "^3.0.3", - "escape-html": "^1.0.3", - "node-gettext": "^3.0.0" - }, - "engines": { - "node": "^20.0.0", - "npm": "^9.0.0" - } - }, - "node_modules/@nextcloud/moment/node_modules/@nextcloud/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-2.2.0.tgz", - "integrity": "sha512-M4AVGnB5tt3MYO5RpH/R2jq7z/nW05AmRhk4Lh68krVwRIYGo8pgNikKrPGogHd2Q3UgzF5Py1drHz3uuV99bQ==", - "dependencies": { - "@nextcloud/typings": "^1.7.0", - "core-js": "^3.6.4" - }, - "engines": { - "node": "^20.0.0", - "npm": "^9.0.0" - } - }, "node_modules/@nextcloud/paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-2.2.1.tgz", - "integrity": "sha512-M3ShLjrxR7B48eKThLMoqbxTqTKyQXcwf9TgeXQGbCIhiHoXU6as5j8l5qNv/uZlANokVdowpuWHBi3b2+YNNA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-2.2.2.tgz", + "integrity": "sha512-RPFYsGO8zEfEFh1jjbXO0q3792f5sgpulcY8IC2pFe4N1mhFwpFJJ/5IgTMa7popuAhB42v/1lFc4c8njyrvYA==", "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/router": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-3.0.1.tgz", - "integrity": "sha512-Ci/uD3x8OKHdxSqXL6gRJ+mGJOEXjeiHjj7hqsZqVTsT7kOrCjDf0/J8z5RyLlokKZ0IpSe+hGxgi3YB7Gpw3Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-3.1.0.tgz", + "integrity": "sha512-e4dkIaxRSwdZJlZFpn9x03QgBn/Sa2hN1hp/BA7+AbzykmSAlKuWfdmX8j/8ewrLpQwYmZR23IZO9XwpJXq2Uw==", "dependencies": { - "@nextcloud/typings": "^1.7.0" + "@nextcloud/typings": "^1.10.0" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/sharing": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.2.4.tgz", - "integrity": "sha512-kOLAr0w4NDUGPF42L22i9iSs6Z3ylTsE0RudAGDBzw/pnxGY8PEwZI2j0IMAFRfQ7XFNcpV/EVHI5YCMxtxGMQ==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.2.5.tgz", + "integrity": "sha512-B3K5Dq9b5dexDA5n3AAuCF69Huwhrpw0J72fsVXV4KpPdImjhVPlExAv5o70AoXa+OqN4Rwn6gqJw+3ED892zg==", "dependencies": { "@nextcloud/initial-state": "^2.2.0" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/stylelint-config": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-3.0.1.tgz", - "integrity": "sha512-xZ9hhyDCK8bMxPchfcyMhGZ8oTG+H+fmzE+vvCIVni0O+SzCVBEKDuvtKWZJDUs3ngmnmNYN1tH5xjbZBBeYyw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-3.1.1.tgz", + "integrity": "sha512-nvkmeHkifV7MEmtNhkYVQXUgcqldm8pbq2TvKPSpdrXB247Xh6OpFhupDbTAgeEQDDRDneayEVfj6e6Kb9w3sQ==", "dev": true, + "dependencies": { + "stylelint-use-logical": "^2.1.2" + }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20 || ^22 || ^24" }, "peerDependencies": { - "stylelint": "^16.2.0", - "stylelint-config-recommended-scss": "^14.0.0", + "stylelint": "^16.13.2", + "stylelint-config-recommended-scss": "^15.0.1", "stylelint-config-recommended-vue": "^1.5.0" } }, - "node_modules/@nextcloud/timezones": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nextcloud/timezones/-/timezones-0.1.1.tgz", - "integrity": "sha512-ldLuLyz605sszetnp6jy6mtlThu4ICKsZThxHIZwn6t4QzjQH3xr+k8mRU7GIvKq9egUFDqBp4gBjxm3/ROZig==", - "dependencies": { - "ical.js": "^2.0.1" - }, - "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" - } - }, "node_modules/@nextcloud/typings": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.9.1.tgz", - "integrity": "sha512-i0l/L5gKW8EACbXHVxXM6wn3sUhY2qmnL2OijppzU4dENC7/hqySMQDer7/+cJbNSNG7uHF/Z+9JmHtDfRfuGg==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.10.0.tgz", + "integrity": "sha512-SMC42rDjOH3SspPTLMZRv76ZliHpj2JJkF8pGLP8l1QrVTZxE47Qz5qeKmbj2VL+dRv2e/NgixlAFmzVnxkhqg==", "dependencies": { "@types/jquery": "3.5.16" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" + } + }, + "node_modules/@nextcloud/viewer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/viewer/-/viewer-1.0.0.tgz", + "integrity": "sha512-AaVXh+KyJ0q28AaqjBwDjjEuVB+v1GarIuuLCO2nfpkg/ekngQw25rmb4PzKVvbN8N35nb92GpQXBpG1ZtBrzg==", + "license": "AGPL-3.0-or-later", + "peerDependencies": { + "vue": "^2.7.16" } }, "node_modules/@nextcloud/vue": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.22.0.tgz", - "integrity": "sha512-6smeLUVLl8lqh+ia9j+m3nk9fnjra/YNgNO8RI1He8LRuojB9ZQtIy3kGcqIN1BOi6fx9qLiBEkobazWzMmiSw==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.36.0.tgz", + "integrity": "sha512-x1MEh4nvCrD1zoJ3ybhtbSDox+1wyHRP7st95Uu14Wm630quRrfXGaQ1bxqaZ7en/wqaihR0NPyQKfmjrPmseg==", + "license": "AGPL-3.0-or-later", "dependencies": { - "@floating-ui/dom": "^1.1.0", + "@floating-ui/dom": "^1.7.5", "@linusborg/vue-simple-portal": "^0.1.5", - "@nextcloud/auth": "^2.4.0", - "@nextcloud/axios": "^2.5.0", - "@nextcloud/browser-storage": "^0.4.0", - "@nextcloud/capabilities": "^1.2.0", - "@nextcloud/event-bus": "^3.3.1", + "@nextcloud/auth": "^2.5.3", + "@nextcloud/axios": "^2.5.2", + "@nextcloud/browser-storage": "^0.5.0", + "@nextcloud/capabilities": "^1.2.1", + "@nextcloud/event-bus": "^3.3.3", "@nextcloud/initial-state": "^2.2.0", - "@nextcloud/l10n": "^3.1.0", - "@nextcloud/logger": "^3.0.2", - "@nextcloud/router": "^3.0.1", - "@nextcloud/sharing": "^0.2.3", - "@nextcloud/timezones": "^0.1.1", - "@nextcloud/vue-select": "^3.25.1", + "@nextcloud/l10n": "^3.4.1", + "@nextcloud/logger": "^3.0.3", + "@nextcloud/router": "^3.1.0", + "@nextcloud/sharing": "^0.3.0", + "@nextcloud/vue-select": "^3.26.0", "@vueuse/components": "^11.0.0", "@vueuse/core": "^11.0.0", + "blurhash": "^2.0.5", "clone": "^2.1.2", "debounce": "^2.2.0", - "dompurify": "^3.0.5", - "emoji-mart-vue-fast": "^15.0.1", + "dompurify": "^3.3.1", + "emoji-mart-vue-fast": "^15.0.5", "escape-html": "^1.0.3", "floating-vue": "^1.0.0-beta.19", - "focus-trap": "^7.4.3", - "linkify-string": "^4.0.0", + "focus-trap": "^7.8.0", + "linkify-string": "^4.3.2", "md5": "^2.3.0", + "p-queue": "^8.1.1", "rehype-external-links": "^3.0.0", - "rehype-highlight": "^7.0.1", + "rehype-highlight": "^7.0.2", "rehype-react": "^7.1.2", "remark-breaks": "^4.0.0", - "remark-gfm": "^4.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", + "remark-unlink-protocols": "^1.0.0", "splitpanes": "^2.4.1", "string-length": "^5.0.1", "striptags": "^3.2.0", - "tabbable": "^6.2.0", + "tabbable": "^6.4.0", "tributejs": "^5.1.3", "unified": "^11.0.1", "unist-builder": "^4.0.0", - "unist-util-visit": "^5.0.0", + "unist-util-visit": "^5.1.0", "vue": "^2.7.16", "vue-color": "^2.8.1", "vue-frag": "^1.4.3", @@ -3632,33 +3771,63 @@ "vue2-datepicker": "^3.11.0" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/vue-select": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/@nextcloud/vue-select/-/vue-select-3.25.1.tgz", - "integrity": "sha512-jqCi4G+Q0H6+Hm8wSN3vRX2+eXG2jXR2bwBX/sErVEsH5UaxT4Nb7KqgdeIjVfeF7ccIdRqpmIb4Pkf0lao67w==", + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/@nextcloud/vue-select/-/vue-select-3.26.0.tgz", + "integrity": "sha512-UvJExrxzx5pP3lv7j6zrv2yj6B1dXph7sh3lLNPnbJPjPoH/yg58mHNFBcPJrRYMbpy2t3hlC6F7s33KCTr9FA==", "license": "MIT", "engines": { - "node": "^20.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" }, "peerDependencies": { "vue": "2.x" } }, "node_modules/@nextcloud/vue/node_modules/@floating-ui/core": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.1.0.tgz", - "integrity": "sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ==" + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", + "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } }, "node_modules/@nextcloud/vue/node_modules/@floating-ui/dom": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.0.tgz", - "integrity": "sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", + "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.4", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@nextcloud/vue/node_modules/@nextcloud/sharing": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz", + "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==", + "license": "GPL-3.0-or-later", "dependencies": { - "@floating-ui/core": "^1.0.5" + "@nextcloud/initial-state": "^3.0.0", + "is-svg": "^6.1.0" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" + }, + "optionalDependencies": { + "@nextcloud/files": "^3.12.0" + } + }, + "node_modules/@nextcloud/vue/node_modules/@nextcloud/sharing/node_modules/@nextcloud/initial-state": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", + "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==", + "license": "GPL-3.0-or-later", + "engines": { + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/vue/node_modules/@types/unist": { @@ -3806,6 +3975,17 @@ "node": ">= 8" } }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.4.0" + } + }, "node_modules/@parcel/watcher": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", @@ -4105,95 +4285,99 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@shikijs/core": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.23.1.tgz", - "integrity": "sha512-NuOVgwcHgVC6jBVH5V7iblziw6iQbWWHrj5IlZI3Fqu2yx9awH7OIQkXIcsHsUmY19ckwSgUMgrqExEyP5A0TA==", - "peer": true, - "dependencies": { - "@shikijs/engine-javascript": "1.23.1", - "@shikijs/engine-oniguruma": "1.23.1", - "@shikijs/types": "1.23.1", - "@shikijs/vscode-textmate": "^9.3.0", - "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.3" - } + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" }, - "node_modules/@shikijs/core/node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "peer": true, - "dependencies": { - "@types/unist": "*" - } + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/@shikijs/engine-javascript": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.23.1.tgz", - "integrity": "sha512-i/LdEwT5k3FVu07SiApRFwRcSJs5QM9+tod5vYCPig1Ywi8GR30zcujbxGQFJHwYD7A5BUqagi8o5KS+LEVgBg==", - "peer": true, - "dependencies": { - "@shikijs/types": "1.23.1", - "@shikijs/vscode-textmate": "^9.3.0", - "oniguruma-to-es": "0.4.1" - } + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.23.1.tgz", - "integrity": "sha512-KQ+lgeJJ5m2ISbUZudLR1qHeH3MnSs2mjFg7bnencgs5jDVPeJ2NVDJ3N5ZHbcTsOIh0qIueyAJnwg7lg7kwXQ==", - "peer": true, - "dependencies": { - "@shikijs/types": "1.23.1", - "@shikijs/vscode-textmate": "^9.3.0" - } + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/@shikijs/types": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.23.1.tgz", - "integrity": "sha512-98A5hGyEhzzAgQh2dAeHKrWW4HfCMeoFER2z16p5eJ+vmPeF6lZ/elEne6/UCU551F/WqkopqRsr1l2Yu6+A0g==", - "peer": true, - "dependencies": { - "@shikijs/vscode-textmate": "^9.3.0", - "@types/hast": "^3.0.4" - } + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/@shikijs/types/node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "peer": true, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@types/unist": "*" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, - "node_modules/@shikijs/vscode-textmate": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.0.tgz", - "integrity": "sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==", - "peer": true + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } + "license": "BSD-3-Clause" }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "license": "MIT" }, "node_modules/@types/body-parser": { "version": "1.19.5", @@ -4245,29 +4429,44 @@ "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", "dependencies": { "@types/ms": "*" } }, - "node_modules/@types/dompurify": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", - "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", - "dependencies": { - "@types/trusted-types": "*" - } - }, "node_modules/@types/escape-html": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.4.tgz", "integrity": "sha512-qZ72SFTgUAZ5a7Tj6kf2SHLetiH5S6f8G5frB2SPQ3EyF02kxdyBFf4Tz4banE3xCgGnKgWLt//a6VuYHKYJTg==" }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/@types/express": { "version": "4.17.21", @@ -4336,15 +4535,13 @@ "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "peer": true + "dev": true }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "peer": true + "dev": true }, "node_modules/@types/mdast": { "version": "4.0.3", @@ -4363,14 +4560,16 @@ "peer": true }, "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" }, "node_modules/@types/node": { "version": "20.12.12", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "dev": true, "dependencies": { "undici-types": "~5.26.4" } @@ -4433,6 +4632,11 @@ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", "peer": true }, + "node_modules/@types/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==" + }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", @@ -4491,15 +4695,25 @@ "@types/node": "*" } }, + "node_modules/@types/tmp": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz", + "integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/toastify-js": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.3.tgz", - "integrity": "sha512-9RjLlbAHMSaae/KZNHGv19VG4gcLIm3YjvacCXBtfMfYn26h76YP5oxXI8k26q4iKXCB9LNfv18lsoS0JnFPTg==" + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.4.tgz", + "integrity": "sha512-zfZHU4tKffPCnZRe7pjv/eFKzTVHozKewFCKaCjZ4gFinKgJRz/t0bkZiMCXJxPhv/ZoeDGNOeRD09R0kQZ/nw==", + "license": "MIT" }, "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true }, "node_modules/@types/unist": { "version": "2.0.6", @@ -4595,6 +4809,63 @@ } } }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", + "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", + "dev": true, + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.54.0", + "@typescript-eslint/types": "^8.54.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", + "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/project-service/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/project-service/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, "node_modules/@typescript-eslint/scope-manager": { "version": "7.9.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.9.0.tgz", @@ -4613,6 +4884,22 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", + "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/@typescript-eslint/type-utils": { "version": "7.9.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.9.0.tgz", @@ -4646,6 +4933,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.9.0.tgz", "integrity": "sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==", "dev": true, + "peer": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -4659,6 +4947,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.9.0.tgz", "integrity": "sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/types": "7.9.0", "@typescript-eslint/visitor-keys": "7.9.0", @@ -4683,21 +4972,25 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, + "license": "ISC", + "peer": true, "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -4711,6 +5004,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, + "peer": true, "bin": { "semver": "bin/semver.js" }, @@ -4746,6 +5040,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.9.0.tgz", "integrity": "sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/types": "7.9.0", "eslint-visitor-keys": "^3.4.3" @@ -4763,6 +5058,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -4776,26 +5072,38 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, "node_modules/@vue/compiler-core": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", - "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "version": "3.5.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.27.tgz", + "integrity": "sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==", "dev": true, "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.13", - "entities": "^4.5.0", + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.27", + "entities": "^7.0.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.2.0" + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", - "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "version": "3.5.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.27.tgz", + "integrity": "sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==", "dev": true, "dependencies": { - "@vue/compiler-core": "3.5.13", - "@vue/shared": "3.5.13" + "@vue/compiler-core": "3.5.27", + "@vue/shared": "3.5.27" } }, "node_modules/@vue/compiler-sfc": { @@ -4812,13 +5120,13 @@ } }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", - "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "version": "3.5.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.27.tgz", + "integrity": "sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.5.13", - "@vue/shared": "3.5.13" + "@vue/compiler-dom": "3.5.27", + "@vue/shared": "3.5.27" } }, "node_modules/@vue/component-compiler-utils": { @@ -4910,9 +5218,9 @@ } }, "node_modules/@vue/shared": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", - "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "version": "3.5.27", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.27.tgz", + "integrity": "sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==", "dev": true }, "node_modules/@vueuse/components": { @@ -5034,163 +5342,163 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", "dev": true, - "peer": true, + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, @@ -5246,14 +5554,14 @@ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true, - "peer": true + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true, - "peer": true + "license": "Apache-2.0" }, "node_modules/abort-controller": { "version": "3.0.0", @@ -5285,10 +5593,11 @@ } }, "node_modules/acorn": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", - "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -5296,14 +5605,17 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", "dev": true, - "peer": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, "peerDependencies": { - "acorn": "^8" + "acorn": "^8.14.0" } }, "node_modules/acorn-jsx": { @@ -5362,10 +5674,11 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -5383,7 +5696,6 @@ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "peer": true, "dependencies": { "ajv": "^8.0.0" }, @@ -5397,16 +5709,16 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -5417,18 +5729,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "peer": true - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" - } + "dev": true }, "node_modules/ansi-colors": { "version": "4.1.3", @@ -5490,15 +5791,19 @@ } }, "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/anymatch": { @@ -5560,16 +5865,17 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, "peer": true }, "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { "node": ">= 0.4" @@ -5656,9 +5962,9 @@ } }, "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -5687,9 +5993,9 @@ } }, "node_modules/ast-module-types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-6.0.0.tgz", - "integrity": "sha512-LFRg7178Fw5R4FAEwZxVqiRI8IxSM+Ay2UBrHoCerXNme+kMMMfz7T3xDGV/c2fer87hcrtgJGsnSOfUrPK6ng==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-6.0.1.tgz", + "integrity": "sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==", "dev": true, "engines": { "node": ">=18" @@ -5704,12 +6010,6 @@ "node": ">=8" } }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -5725,10 +6025,14 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -5752,12 +6056,13 @@ "dev": true }, "node_modules/axios": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", - "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", + "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", "proxy-from-env": "^1.1.0" } }, @@ -5809,42 +6114,45 @@ "dev": true }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz", + "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.6", + "semver": "^6.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz", + "integrity": "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.6.6" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babelify": { @@ -5898,6 +6206,16 @@ } ] }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -5939,6 +6257,7 @@ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -5964,6 +6283,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -5974,6 +6294,7 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5995,49 +6316,45 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, + "node_modules/blurhash": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz", + "integrity": "sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w==", + "license": "MIT" + }, "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", + "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", + "dev": true, + "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -6049,6 +6366,28 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -6057,6 +6396,17 @@ "license": "MIT", "peer": true }, + "node_modules/body-parser/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/bonjour-service": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", @@ -6077,10 +6427,11 @@ "peer": true }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6230,49 +6581,60 @@ } }, "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", + "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", "dev": true, + "license": "MIT", "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "bn.js": "^5.2.1", + "randombytes": "^2.1.0", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" } }, + "node_modules/browserify-rsa/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/browserify-sign": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", - "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", + "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", "dev": true, "license": "ISC", "dependencies": { - "bn.js": "^5.2.1", - "browserify-rsa": "^4.1.0", + "bn.js": "^5.2.2", + "browserify-rsa": "^4.1.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.5", - "hash-base": "~3.0", + "elliptic": "^6.6.1", "inherits": "^2.0.4", - "parse-asn1": "^5.1.7", + "parse-asn1": "^5.1.9", "readable-stream": "^2.3.8", "safe-buffer": "^5.2.1" }, "engines": { - "node": ">= 0.12" - } - }, - "node_modules/browserify-sign/node_modules/hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": ">=4" + "node": ">= 0.10" } }, "node_modules/browserify-sign/node_modules/readable-stream": { @@ -6316,7 +6678,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/browserify-sign/node_modules/string_decoder": { "version": "1.1.1", @@ -6472,9 +6835,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -6490,11 +6853,13 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -6523,7 +6888,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -6628,9 +6992,9 @@ "integrity": "sha512-ovBpjmsgd/teRmgcPh23d4gJvxDoXtAzEL9xTfMU8Yc2kqCDb7L9jAG0XHl1nzuGl+h3ebCIF1i62UFyA9V/2Q==" }, "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "license": "MIT", "peer": true, @@ -6638,6 +7002,18 @@ "node": ">= 0.8" } }, + "node_modules/cacheable": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.9.0.tgz", + "integrity": "sha512-8D5htMCxPDUULux9gFzv30f04Xo3wCnik0oOxKoRTPIBoqA7HtOcJ87uBhQTs3jCfZZTrUBGsYIZOgE0ZRgMAg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "hookified": "^1.8.2", + "keyv": "^5.3.3" + } + }, "node_modules/cached-path-relative": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", @@ -6654,16 +7030,46 @@ } }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -6688,9 +7094,9 @@ "integrity": "sha512-A/8PwLk/T7IJDfUdQ68NR24QHa8rIlnN/stiJEBo6dmVUkD4K14LswG0w3VwdeK/o7qOwRUR1k2MhK5Rpy2m7A==" }, "node_modules/caniuse-lite": { - "version": "1.0.30001620", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz", - "integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==", + "version": "1.0.30001770", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", + "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", "dev": true, "funding": [ { @@ -6705,7 +7111,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/caseless": { "version": "0.12.0", @@ -6713,27 +7120,21 @@ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/char-regex": { @@ -6748,26 +7149,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "peer": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -6781,15 +7163,6 @@ "node": "*" } }, - "node_modules/check-more-types": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -6831,22 +7204,22 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, - "peer": true, "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", - "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", "dev": true, "funding": [ { @@ -6854,20 +7227,46 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", + "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", "dev": true, + "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" } }, + "node_modules/cipher-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/clamp": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", @@ -6895,10 +7294,11 @@ } }, "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", + "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", "dev": true, + "license": "MIT", "dependencies": { "string-width": "^4.2.0" }, @@ -6906,7 +7306,7 @@ "node": "10.* || >= 12.*" }, "optionalDependencies": { - "@colors/colors": "1.5.0" + "colors": "1.4.0" } }, "node_modules/cli-truncate": { @@ -6925,51 +7325,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-truncate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/cli-truncate/node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/cli-truncate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cli-truncate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/cli-truncate/node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/clone": { @@ -7035,19 +7417,24 @@ } }, "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" }, "node_modules/colord": { "version": "2.9.3", @@ -7062,6 +7449,17 @@ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/combine-source-map": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", @@ -7114,7 +7512,7 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/comment-parser": { "version": "1.4.1", @@ -7157,19 +7555,19 @@ } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { @@ -7195,6 +7593,39 @@ "license": "MIT", "peer": true }, + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -7375,12 +7806,13 @@ } }, "node_modules/core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz", + "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0" + "browserslist": "^4.28.1" }, "funding": { "type": "opencollective", @@ -7421,15 +7853,15 @@ } }, "node_modules/cpu-features": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", - "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.10.tgz", + "integrity": "sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==", "dev": true, "hasInstallScript": true, "optional": true, "dependencies": { "buildcheck": "~0.0.6", - "nan": "^2.17.0" + "nan": "^2.19.0" }, "engines": { "node": ">=10.0.0" @@ -7446,10 +7878,11 @@ } }, "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", + "dev": true, + "license": "MIT" }, "node_modules/create-hash": { "version": "1.2.0", @@ -7501,32 +7934,73 @@ } }, "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", + "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", "dev": true, + "license": "MIT", "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "browserify-cipher": "^1.0.1", + "browserify-sign": "^4.2.3", + "create-ecdh": "^4.0.4", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "diffie-hellman": "^5.0.3", + "hash-base": "~3.0.4", + "inherits": "^2.0.4", + "pbkdf2": "^3.1.2", + "public-encrypt": "^4.0.3", + "randombytes": "^2.1.0", + "randomfill": "^1.0.4" }, "engines": { - "node": "*" + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/crypto-browserify/node_modules/hash-base": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", + "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" } }, + "node_modules/crypto-browserify/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/css-functions-list": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz", - "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12 || >=16" @@ -7586,13 +8060,14 @@ } }, "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "mdn-data": "2.0.30", + "mdn-data": "2.12.2", "source-map-js": "^1.0.1" }, "engines": { @@ -7618,26 +8093,27 @@ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/cypress": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.17.0.tgz", - "integrity": "sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA==", + "version": "15.10.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-15.10.0.tgz", + "integrity": "sha512-OtUh7OMrfEjKoXydlAD1CfG2BvKxIqgWGY4/RMjrqQ3BKGBo5JFKoYNH+Tpcj4xKxWH4XK0Xri+9y8WkxhYbqQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { - "@cypress/request": "^3.0.6", + "@cypress/request": "^3.0.10", "@cypress/xvfb": "^1.2.4", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", + "@types/tmp": "^0.2.3", "arch": "^2.2.0", "blob-util": "^2.0.2", "bluebird": "^3.7.2", "buffer": "^5.7.1", "cachedir": "^2.3.0", "chalk": "^4.1.0", - "check-more-types": "^2.24.0", - "ci-info": "^4.0.0", + "ci-info": "^4.1.0", "cli-cursor": "^3.1.0", - "cli-table3": "~0.6.1", + "cli-table3": "0.6.1", "commander": "^6.2.1", "common-tags": "^1.8.0", "dayjs": "^1.10.4", @@ -7649,11 +8125,10 @@ "extract-zip": "2.0.1", "figures": "^3.2.0", "fs-extra": "^9.1.0", - "getos": "^3.2.1", + "hasha": "5.2.2", "is-installed-globally": "~0.4.0", - "lazy-ass": "^1.6.0", "listr2": "^3.8.3", - "lodash": "^4.17.21", + "lodash": "^4.17.23", "log-symbols": "^4.0.0", "minimist": "^1.2.8", "ospath": "^1.2.2", @@ -7661,9 +8136,9 @@ "process": "^0.11.10", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", - "semver": "^7.5.3", "supports-color": "^8.1.1", - "tmp": "~0.2.3", + "systeminformation": "^5.27.14", + "tmp": "~0.2.4", "tree-kill": "1.2.2", "untildify": "^4.0.0", "yauzl": "^2.10.0" @@ -7672,21 +8147,21 @@ "cypress": "bin/cypress" }, "engines": { - "node": "^16.0.0 || ^18.0.0 || >=20.0.0" + "node": "^20.1.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/cypress-split": { - "version": "1.24.7", - "resolved": "https://registry.npmjs.org/cypress-split/-/cypress-split-1.24.7.tgz", - "integrity": "sha512-JOxWgCQHi/JMOwznm6VF7V1GHYEM9Mxz6EipZu9WgQtqnRjk3QX6lBXJMjRXOPqArguL9S49OSFUQXDiC19hBg==", + "version": "1.24.28", + "resolved": "https://registry.npmjs.org/cypress-split/-/cypress-split-1.24.28.tgz", + "integrity": "sha512-6s6fAzZ2QG+p78ti2kBsOsLi+Pa1wEg+Z9uDj8B1I09QQm1JYZOsNo3fYtP2m3eWSQ9/iQhJ4VMlP63DALU7xQ==", "dev": true, "dependencies": { - "@actions/core": "^1.10.0", + "@actions/core": "2.0.3", "arg": "^5.0.2", "console.table": "^0.10.0", "debug": "^4.3.4", "fast-shuffle": "^6.1.0", - "find-cypress-specs": "1.46.2", + "find-cypress-specs": "1.54.9", "globby": "^11.1.0", "humanize-duration": "^3.28.0" }, @@ -7695,21 +8170,6 @@ "cypress-split-preview": "bin/preview.js" } }, - "node_modules/cypress/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/cypress/node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -7734,52 +8194,6 @@ "ieee754": "^1.1.13" } }, - "node_modules/cypress/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/cypress/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cypress/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cypress/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/cypress/node_modules/commander": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", @@ -7827,15 +8241,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cypress/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/cypress/node_modules/human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -7845,21 +8250,6 @@ "node": ">=8.12.0" } }, - "node_modules/cypress/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/cypress/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -7947,9 +8337,10 @@ } }, "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz", + "integrity": "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==", + "license": "MIT", "dependencies": { "character-entities": "^2.0.0" }, @@ -8135,15 +8526,15 @@ } }, "node_modules/dependency-tree": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/dependency-tree/-/dependency-tree-11.0.1.tgz", - "integrity": "sha512-eCt7HSKIC9NxgIykG2DRq3Aewn9UhVS14MB3rEn6l/AsEI1FBg6ZGSlCU0SZ6Tjm2kkhj6/8c2pViinuyKELhg==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/dependency-tree/-/dependency-tree-11.2.0.tgz", + "integrity": "sha512-+C1H3mXhcvMCeu5i2Jpg9dc0N29TWTuT6vJD7mHLAfVmAbo9zW8NlkvQ1tYd3PDMab0IRQM0ccoyX68EZtx9xw==", "dev": true, "dependencies": { - "commander": "^12.0.0", - "filing-cabinet": "^5.0.1", - "precinct": "^12.0.2", - "typescript": "^5.4.5" + "commander": "^12.1.0", + "filing-cabinet": "^5.0.3", + "precinct": "^12.2.0", + "typescript": "^5.8.3" }, "bin": { "dependency-tree": "bin/cli.js" @@ -8246,15 +8637,15 @@ } }, "node_modules/detective-amd": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-6.0.0.tgz", - "integrity": "sha512-NTqfYfwNsW7AQltKSEaWR66hGkTeD52Kz3eRQ+nfkA9ZFZt3iifRCWh+yZ/m6t3H42JFwVFTrml/D64R2PAIOA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-6.0.1.tgz", + "integrity": "sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==", "dev": true, "dependencies": { - "ast-module-types": "^6.0.0", + "ast-module-types": "^6.0.1", "escodegen": "^2.1.0", - "get-amd-module-type": "^6.0.0", - "node-source-walk": "^7.0.0" + "get-amd-module-type": "^6.0.1", + "node-source-walk": "^7.0.1" }, "bin": { "detective-amd": "bin/cli.js" @@ -8264,34 +8655,34 @@ } }, "node_modules/detective-cjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-6.0.0.tgz", - "integrity": "sha512-R55jTS6Kkmy6ukdrbzY4x+I7KkXiuDPpFzUViFV/tm2PBGtTCjkh9ZmTuJc1SaziMHJOe636dtiZLEuzBL9drg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-6.0.1.tgz", + "integrity": "sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==", "dev": true, "dependencies": { - "ast-module-types": "^6.0.0", - "node-source-walk": "^7.0.0" + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, "engines": { "node": ">=18" } }, "node_modules/detective-es6": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-5.0.0.tgz", - "integrity": "sha512-NGTnzjvgeMW1khUSEXCzPDoraLenWbUjCFjwxReH+Ir+P6LGjYtaBbAvITWn2H0VSC+eM7/9LFOTAkrta6hNYg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-5.0.1.tgz", + "integrity": "sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==", "dev": true, "dependencies": { - "node-source-walk": "^7.0.0" + "node-source-walk": "^7.0.1" }, "engines": { "node": ">=18" } }, "node_modules/detective-postcss": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-7.0.0.tgz", - "integrity": "sha512-pSXA6dyqmBPBuERpoOKKTUUjQCZwZPLRbd1VdsTbt6W+m/+6ROl4BbE87yQBUtLoK7yX8pvXHdKyM/xNIW9F7A==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-7.0.1.tgz", + "integrity": "sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==", "dev": true, "dependencies": { "is-url": "^1.2.4", @@ -8301,97 +8692,238 @@ "node": "^14.0.0 || >=16.0.0" }, "peerDependencies": { - "postcss": "^8.4.38" + "postcss": "^8.4.47" } }, "node_modules/detective-sass": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-6.0.0.tgz", - "integrity": "sha512-h5GCfFMkPm4ZUUfGHVPKNHKT8jV7cSmgK+s4dgQH4/dIUNh9/huR1fjEQrblOQNDalSU7k7g+tiW9LJ+nVEUhg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-6.0.1.tgz", + "integrity": "sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==", "dev": true, "dependencies": { "gonzales-pe": "^4.3.0", - "node-source-walk": "^7.0.0" + "node-source-walk": "^7.0.1" }, "engines": { "node": ">=18" } }, "node_modules/detective-scss": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-5.0.0.tgz", - "integrity": "sha512-Y64HyMqntdsCh1qAH7ci95dk0nnpA29g319w/5d/oYcHolcGUVJbIhOirOFjfN1KnMAXAFm5FIkZ4l2EKFGgxg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-5.0.1.tgz", + "integrity": "sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==", "dev": true, "dependencies": { "gonzales-pe": "^4.3.0", - "node-source-walk": "^7.0.0" + "node-source-walk": "^7.0.1" }, "engines": { "node": ">=18" } }, "node_modules/detective-stylus": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-5.0.0.tgz", - "integrity": "sha512-KMHOsPY6aq3196WteVhkY5FF+6Nnc/r7q741E+Gq+Ax9mhE2iwj8Hlw8pl+749hPDRDBHZ2WlgOjP+twIG61vQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-5.0.1.tgz", + "integrity": "sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==", "dev": true, "engines": { "node": ">=18" } }, "node_modules/detective-typescript": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-13.0.0.tgz", - "integrity": "sha512-tcMYfiFWoUejSbvSblw90NDt76/4mNftYCX0SMnVRYzSXv8Fvo06hi4JOPdNvVNxRtCAKg3MJ3cBJh+ygEMH+A==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-14.0.0.tgz", + "integrity": "sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "^7.6.0", - "ast-module-types": "^6.0.0", - "node-source-walk": "^7.0.0" + "@typescript-eslint/typescript-estree": "^8.23.0", + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, "engines": { - "node": "^14.14.0 || >=16.0.0" + "node": ">=18" }, "peerDependencies": { "typescript": "^5.4.4" } }, - "node_modules/detective-vue2": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detective-vue2/-/detective-vue2-2.1.0.tgz", - "integrity": "sha512-IHQVhwk7dKaJ+GHBsL27mS9NRO1/vLZJPSODqtJgKquij0/UL8NvrbXbADbYeTkwyh1ReW/v9u9IRyEO5dvGZg==", + "node_modules/detective-typescript/node_modules/@typescript-eslint/types": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", + "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/detective-typescript/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", + "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", "dev": true, "dependencies": { - "@dependents/detective-less": "^5.0.0", - "@vue/compiler-sfc": "^3.5.12", - "detective-es6": "^5.0.0", - "detective-sass": "^6.0.0", - "detective-scss": "^5.0.0", - "detective-stylus": "^5.0.0", - "detective-typescript": "^13.0.0" + "@typescript-eslint/project-service": "8.54.0", + "@typescript-eslint/tsconfig-utils": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": "^5.4.4" + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/detective-vue2/node_modules/@vue/compiler-sfc": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", - "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "node_modules/detective-typescript/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", + "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", "dev": true, "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.13", - "@vue/compiler-dom": "3.5.13", - "@vue/compiler-ssr": "3.5.13", - "@vue/shared": "3.5.13", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.11", - "postcss": "^8.4.48", - "source-map-js": "^1.2.0" + "@typescript-eslint/types": "8.54.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/detective-typescript/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/detective-typescript/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/detective-typescript/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/detective-typescript/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/detective-typescript/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/detective-typescript/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/detective-typescript/node_modules/ts-api-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "dev": true, + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/detective-vue2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/detective-vue2/-/detective-vue2-2.2.0.tgz", + "integrity": "sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==", + "dev": true, + "dependencies": { + "@dependents/detective-less": "^5.0.1", + "@vue/compiler-sfc": "^3.5.13", + "detective-es6": "^5.0.1", + "detective-sass": "^6.0.1", + "detective-scss": "^5.0.1", + "detective-stylus": "^5.0.1", + "detective-typescript": "^14.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "typescript": "^5.4.4" + } + }, + "node_modules/detective-vue2/node_modules/@vue/compiler-sfc": { + "version": "3.5.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.27.tgz", + "integrity": "sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.27", + "@vue/compiler-dom": "3.5.27", + "@vue/compiler-ssr": "3.5.27", + "@vue/shared": "3.5.27", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" } }, "node_modules/devlop": { @@ -8418,10 +8950,11 @@ } }, "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", + "dev": true, + "license": "MIT" }, "node_modules/dir-glob": { "version": "3.0.1", @@ -8450,10 +8983,11 @@ } }, "node_modules/docker-modem": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.3.tgz", - "integrity": "sha512-89zhop5YVhcPEt5FpUFGr3cDyceGhq/F9J+ZndQ4KfqNvfbJpPMfgeixFgUj5OjCYAboElqODxY5Z1EBsSa6sg==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.6.tgz", + "integrity": "sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "debug": "^4.1.1", "readable-stream": "^3.5.0", @@ -8469,6 +9003,7 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -8479,19 +9014,38 @@ } }, "node_modules/dockerode": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.2.tgz", - "integrity": "sha512-9wM1BVpVMFr2Pw3eJNXrYYt6DT9k0xMcsSCjtPvyQ+xa1iPg/Mo3T/gUcwI0B2cczqCeCYRPF8yFYDwtFXT0+w==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.5.tgz", + "integrity": "sha512-ZPmKSr1k1571Mrh7oIBS/j0AqAccoecY2yH420ni5j1KyNMgnoTh4Nu4FWunh0HZIJmRSmSysJjBIpa/zyWUEA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@balena/dockerignore": "^1.0.2", - "docker-modem": "^5.0.3", - "tar-fs": "~2.0.1" + "@grpc/grpc-js": "^1.11.1", + "@grpc/proto-loader": "^0.7.13", + "docker-modem": "^5.0.6", + "protobufjs": "^7.3.2", + "tar-fs": "~2.1.2", + "uuid": "^10.0.0" }, "engines": { "node": ">= 8.0" } }, + "node_modules/dockerode/node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -8564,9 +9118,16 @@ } }, "node_modules/dompurify": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", - "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.2.tgz", + "integrity": "sha512-6obghkliLdmKa56xdbLOpUZ43pAR6xFy1uOrxBaIDjT+yaRuuybLjGS9eVBoSR/UPU5fq3OXClEHLJNGvbxKpQ==", + "license": "(MPL-2.0 OR Apache-2.0)", + "engines": { + "node": ">=20" + }, + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } }, "node_modules/domutils": { "version": "3.1.0", @@ -8583,6 +9144,27 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, "node_modules/duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -8644,15 +9226,16 @@ "peer": true }, "node_modules/electron-to-chromium": { - "version": "1.4.774", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.774.tgz", - "integrity": "sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg==", - "dev": true + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "dev": true, + "license": "ISC" }, "node_modules/elliptic": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.0.tgz", - "integrity": "sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", "dev": true, "license": "MIT", "dependencies": { @@ -8666,15 +9249,17 @@ } }, "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", + "dev": true, + "license": "MIT" }, "node_modules/emoji-mart-vue-fast": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-15.0.1.tgz", - "integrity": "sha512-FcBio4MZsad+IwbaD2+1/obaK7W0F8EXlVXOXKgNCICaxkJD5WnA5bAtSXR0+FSBrMWz7DCAOqOojm7EapZ1eg==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-15.0.5.tgz", + "integrity": "sha512-wnxLor8ggpqshoOPwIc33MdOC3A1XFeDLgUwYLPtNPL8VeAtXJAVrnFq1CN5PeCYAFoLo4IufHQZ9CfHD4IZiw==", + "license": "BSD-3-Clause", "dependencies": { "@babel/runtime": "^7.18.6", "core-js": "^3.23.5" @@ -8689,12 +9274,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/emoji-regex-xs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", - "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", - "peer": true - }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", @@ -8726,13 +9305,14 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "tapable": "^2.3.0" }, "engines": { "node": ">=10.13.0" @@ -8755,6 +9335,8 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "peer": true, "engines": { "node": ">=0.12" }, @@ -8835,13 +9417,10 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -8850,7 +9429,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, "engines": { "node": ">= 0.4" } @@ -8882,11 +9460,38 @@ "dev": true }, "node_modules/es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "dev": true, - "peer": true + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/es-shim-unscopables": { "version": "1.0.0", @@ -8917,9 +9522,9 @@ } }, "node_modules/esbuild": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", - "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", "dev": true, "hasInstallScript": true, "bin": { @@ -8929,37 +9534,40 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.23.1", - "@esbuild/android-arm": "0.23.1", - "@esbuild/android-arm64": "0.23.1", - "@esbuild/android-x64": "0.23.1", - "@esbuild/darwin-arm64": "0.23.1", - "@esbuild/darwin-x64": "0.23.1", - "@esbuild/freebsd-arm64": "0.23.1", - "@esbuild/freebsd-x64": "0.23.1", - "@esbuild/linux-arm": "0.23.1", - "@esbuild/linux-arm64": "0.23.1", - "@esbuild/linux-ia32": "0.23.1", - "@esbuild/linux-loong64": "0.23.1", - "@esbuild/linux-mips64el": "0.23.1", - "@esbuild/linux-ppc64": "0.23.1", - "@esbuild/linux-riscv64": "0.23.1", - "@esbuild/linux-s390x": "0.23.1", - "@esbuild/linux-x64": "0.23.1", - "@esbuild/netbsd-x64": "0.23.1", - "@esbuild/openbsd-arm64": "0.23.1", - "@esbuild/openbsd-x64": "0.23.1", - "@esbuild/sunos-x64": "0.23.1", - "@esbuild/win32-arm64": "0.23.1", - "@esbuild/win32-ia32": "0.23.1", - "@esbuild/win32-x64": "0.23.1" + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -9143,19 +9751,20 @@ } }, "node_modules/eslint-import-resolver-typescript": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", - "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.8.3.tgz", + "integrity": "sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.12.0", - "eslint-module-utils": "^2.7.4", - "fast-glob": "^3.3.1", - "get-tsconfig": "^4.5.0", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3" + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.3.7", + "enhanced-resolve": "^5.15.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^1.0.2", + "stable-hash": "^0.0.4", + "tinyglobby": "^0.2.12" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -9165,9 +9774,45 @@ }, "peerDependencies": { "eslint": "*", - "eslint-plugin-import": "*" + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-typescript/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, + "node_modules/eslint-import-resolver-typescript/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/eslint-module-utils": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", @@ -9423,16 +10068,20 @@ } }, "node_modules/eslint-plugin-promise": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", - "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", + "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", "dev": true, + "license": "ISC", "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/eslint-plugin-vue": { @@ -9505,7 +10154,6 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "peer": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -9524,59 +10172,6 @@ "node": ">=10" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true - }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -9646,29 +10241,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/eslint/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -9754,7 +10326,6 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "peer": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -9767,7 +10338,6 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "peer": true, "engines": { "node": ">=4.0" } @@ -9777,7 +10347,6 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "peer": true, "engines": { "node": ">=4.0" } @@ -9852,6 +10421,29 @@ "safe-buffer": "^5.1.1" } }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/executable": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", @@ -9865,41 +10457,41 @@ } }, "node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "dev": true, "license": "MIT", "peer": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", + "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.13.0", + "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", + "send": "~0.19.0", + "serve-static": "~1.16.2", "setprototypeof": "1.2.0", - "statuses": "2.0.1", + "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -10006,20 +10598,20 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "peer": true + "dev": true }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -10066,20 +10658,47 @@ "pcg": "1.0.0" } }, - "node_modules/fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" + "url": "https://github.com/sponsors/fastify" }, { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fast-xml-builder": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.0.0.tgz", + "integrity": "sha512-fpZuDogrAgnyt9oDDz+5DBz0zgPdPZz6D4IR7iESxRXElrlGTRkHJ9eEt+SACRJwT0FNFrt71DFQIUFBJfX/uQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/fast-xml-parser": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.4.tgz", + "integrity": "sha512-jE8ugADnYOBsu1uaoayVl1tVKAMNOXyjwvv2U6udEA2ORBhDooJDWoGxTkhd4Qn4yh59JVVt/pKXtjPwx9OguQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" } ], + "license": "MIT", "dependencies": { "strnum": "^1.0.5" }, @@ -10180,22 +10799,22 @@ } }, "node_modules/filing-cabinet": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/filing-cabinet/-/filing-cabinet-5.0.2.tgz", - "integrity": "sha512-RZlFj8lzyu6jqtFBeXNqUjjNG6xm+gwXue3T70pRxw1W40kJwlgq0PSWAmh0nAnn5DHuBIecLXk9+1VKS9ICXA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/filing-cabinet/-/filing-cabinet-5.0.3.tgz", + "integrity": "sha512-PlPcMwVWg60NQkhvfoxZs4wEHjhlOO/y7OAm4sKM60o1Z9nttRY4mcdQxp/iZ+kg/Vv6Hw1OAaTbYVM9DA9pYg==", "dev": true, "dependencies": { "app-module-path": "^2.2.0", - "commander": "^12.0.0", - "enhanced-resolve": "^5.16.0", - "module-definition": "^6.0.0", - "module-lookup-amd": "^9.0.1", - "resolve": "^1.22.8", - "resolve-dependency-path": "^4.0.0", - "sass-lookup": "^6.0.1", - "stylus-lookup": "^6.0.0", + "commander": "^12.1.0", + "enhanced-resolve": "^5.18.0", + "module-definition": "^6.0.1", + "module-lookup-amd": "^9.0.3", + "resolve": "^1.22.10", + "resolve-dependency-path": "^4.0.1", + "sass-lookup": "^6.1.0", + "stylus-lookup": "^6.1.0", "tsconfig-paths": "^4.2.0", - "typescript": "^5.4.4" + "typescript": "^5.7.3" }, "bin": { "filing-cabinet": "bin/cli.js" @@ -10400,23 +11019,23 @@ } }, "node_modules/find-cypress-specs": { - "version": "1.46.2", - "resolved": "https://registry.npmjs.org/find-cypress-specs/-/find-cypress-specs-1.46.2.tgz", - "integrity": "sha512-eXvGQMftYDTbQflVX6TzJj7hA0ypO5+FfUrnMdRf1+yCu5xVY5wPv721AWp/xPBOpQXwx5jdoZRH9m95U/1c7A==", + "version": "1.54.9", + "resolved": "https://registry.npmjs.org/find-cypress-specs/-/find-cypress-specs-1.54.9.tgz", + "integrity": "sha512-Wc4SDIUV3Gtb+PblVLMLHP6xkcUzqkTOPRkSott0hIYVGl714jDztr3Blgt4x0dq7AKXaKCFT+8Bngrnd/yNBw==", "dev": true, "dependencies": { - "@actions/core": "^1.10.0", + "@actions/core": "^2.0.2", "arg": "^5.0.1", "console.table": "^0.10.0", "debug": "^4.3.3", - "find-test-names": "1.28.30", - "globby": "^11.1.0", - "minimatch": "^3.0.4", + "find-test-names": "1.29.19", + "minimatch": "^5.1.4", "pluralize": "^8.0.0", "require-and-forget": "^1.0.1", - "shelljs": "^0.8.5", - "spec-change": "^1.11.0", - "tsx": "^4.7.1" + "shelljs": "^0.10.0", + "spec-change": "^1.11.17", + "tinyglobby": "^0.2.15", + "tsx": "^4.19.3" }, "bin": { "find-cypress-specs": "bin/find.js" @@ -10425,18 +11044,40 @@ "node": ">=18" } }, + "node_modules/find-cypress-specs/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/find-cypress-specs/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/find-test-names": { - "version": "1.28.30", - "resolved": "https://registry.npmjs.org/find-test-names/-/find-test-names-1.28.30.tgz", - "integrity": "sha512-b5PLJ5WnskdaYHBf+38FN/4TKh5lqwrltITkqxuARsN2bW6civrhqOXbVA+4727YNowYLt/jtIC9Dsn7eJSP6A==", + "version": "1.29.19", + "resolved": "https://registry.npmjs.org/find-test-names/-/find-test-names-1.29.19.tgz", + "integrity": "sha512-fSO2GXgOU6dH+FdffmRXYN/kLdnd8zkBGIZrKsmAdfLSFUUDLpDFF7+F/h+wjmjDWQmMgD8hPfJZR+igiEUQHQ==", "dev": true, "dependencies": { - "@babel/parser": "^7.24.7", - "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/parser": "^7.27.2", + "@babel/plugin-syntax-jsx": "^7.27.1", "acorn-walk": "^8.2.0", "debug": "^4.3.3", - "globby": "^11.0.4", - "simple-bin-help": "^1.8.0" + "simple-bin-help": "^1.8.0", + "tinyglobby": "^0.2.13" }, "bin": { "find-test-names": "bin/find-test-names.js", @@ -10461,7 +11102,6 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "peer": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -10488,10 +11128,11 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/floating-vue": { @@ -10507,23 +11148,25 @@ } }, "node_modules/focus-trap": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.2.tgz", - "integrity": "sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.8.0.tgz", + "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==", + "license": "MIT", "dependencies": { - "tabbable": "^6.2.0" + "tabbable": "^6.4.0" } }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -10534,12 +11177,19 @@ } }, "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, + "license": "MIT", "dependencies": { - "is-callable": "^1.1.3" + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/forever-agent": { @@ -10552,12 +11202,15 @@ } }, "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.12" }, "engines": { @@ -10601,7 +11254,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fs-extra": { "version": "9.1.0", @@ -10642,7 +11296,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10685,13 +11338,13 @@ } }, "node_modules/get-amd-module-type": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-6.0.0.tgz", - "integrity": "sha512-hFM7oivtlgJ3d6XWD6G47l8Wyh/C6vFw5G24Kk1Tbq85yh5gcM8Fne5/lFhiuxB+RT6+SI7I1ThB9lG4FBh3jw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-6.0.1.tgz", + "integrity": "sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ==", "dev": true, "dependencies": { - "ast-module-types": "^6.0.0", - "node-source-walk": "^7.0.0" + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, "engines": { "node": ">=18" @@ -10703,17 +11356,32 @@ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", "dev": true }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -10728,6 +11396,31 @@ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -10746,10 +11439,11 @@ } }, "node_modules/get-tsconfig": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz", - "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", "dev": true, + "license": "MIT", "dependencies": { "resolve-pkg-maps": "^1.0.0" }, @@ -10757,15 +11451,6 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/getos": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", - "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", - "dev": true, - "dependencies": { - "async": "^3.2.0" - } - }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -10813,7 +11498,7 @@ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true, - "peer": true + "license": "BSD-2-Clause" }, "node_modules/global-dirs": { "version": "3.0.1", @@ -10880,15 +11565,6 @@ "which": "bin/which" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -10932,12 +11608,12 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10956,6 +11632,22 @@ "dev": true, "peer": true }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", @@ -10986,12 +11678,13 @@ } }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-property-descriptors": { @@ -11006,23 +11699,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11031,12 +11712,12 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -11046,33 +11727,44 @@ } }, "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", + "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.1" }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, + "node_modules/hash-base/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, "node_modules/hash-base/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -11093,6 +11785,23 @@ } ] }, + "node_modules/hash-base/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/hash-base/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, "node_modules/hash-sum": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", @@ -11110,16 +11819,43 @@ "minimalistic-assert": "^1.0.1" } }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.2" + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/hast-to-hyperscript": { @@ -11159,61 +11895,11 @@ "@types/unist": "*" } }, - "node_modules/hast-util-to-html": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz", - "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-html/node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "peer": true, - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/hast-util-to-html/node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "peer": true - }, - "node_modules/hast-util-to-html/node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/hast-util-to-text": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -11229,6 +11915,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", "dependencies": { "@types/unist": "*" } @@ -11236,7 +11923,8 @@ "node_modules/hast-util-to-text/node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" }, "node_modules/hast-util-whitespace": { "version": "2.0.1", @@ -11258,9 +11946,10 @@ } }, "node_modules/highlight.js": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", - "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", "engines": { "node": ">=12.0.0" } @@ -11276,6 +11965,14 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/hookified": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.9.0.tgz", + "integrity": "sha512-2yEEGqphImtKIe1NXWEhu6yD3hlFR4Mxk4Mtp3XEyScpSt4pQ4ymmXA1zzxZpj99QkFK+nN0nzjeb2+RUi/6CQ==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/hot-patcher": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/hot-patcher/-/hot-patcher-2.0.1.tgz", @@ -11323,23 +12020,12 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/html-tags": { "version": "3.3.1", @@ -11354,16 +12040,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/htmlescape": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", @@ -11444,9 +12120,9 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", - "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", "dev": true, "license": "MIT", "peer": true, @@ -11489,6 +12165,15 @@ "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", "dev": true }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, "node_modules/humanize-duration": { "version": "3.30.0", "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.30.0.tgz", @@ -11506,11 +12191,6 @@ "node": ">=10.18" } }, - "node_modules/ical.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ical.js/-/ical.js-2.0.1.tgz", - "integrity": "sha512-uYYb1CwTXbd9NP/xTtgQZ5ivv6bpUjQu9VM98s3X78L3XRu00uJW5ZtmnLwyxhztpf5fSiRyDpFW7ZNCePlaPw==" - }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -11568,9 +12248,9 @@ } }, "node_modules/immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.8.tgz", + "integrity": "sha512-d/Ld9aLbKpNwyl0KiM2CT1WYvkitQ1TSvmRtkcV8FKStiDoA7Slzgjmb/1G2yhKM1p0XeNOieaTbFZmU1d3Xuw==", "dev": true, "license": "MIT", "peer": true @@ -11699,14 +12379,15 @@ } }, "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -11761,13 +12442,14 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -11844,6 +12526,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-bun-module": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.3.0.tgz", + "integrity": "sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "semver": "^7.6.3" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -11857,12 +12564,16 @@ } }, "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -12181,14 +12892,15 @@ } }, "node_modules/is-svg": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-5.1.0.tgz", - "integrity": "sha512-uVg5yifaTxHoefNf5Jcx+i9RZe2OBYd/UStp1umx+EERa4xGRa3LLGXjoEph43qUORC0qkafUgrXZ6zzK89yGA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-6.1.0.tgz", + "integrity": "sha512-i7YPdvYuSCYcaLQrKwt8cvKTlwHcdA6Hp8N9SO3Q5jIzo8x6kH3N47W0BvPP7NdxVBmIHx7X9DK36czYYW7lHg==", + "license": "MIT", "dependencies": { - "fast-xml-parser": "^4.4.1" + "@file-type/xml": "^0.4.3" }, "engines": { - "node": ">=14.16" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -12210,12 +12922,13 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, + "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -12286,13 +12999,13 @@ } }, "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -12351,7 +13064,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -12361,22 +13074,12 @@ "node": ">= 10.13.0" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12387,30 +13090,19 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/joi": { - "version": "17.13.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", - "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "argparse": "^2.0.1" @@ -12436,30 +13128,23 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "peer": true - }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "peer": true + "dev": true }, "node_modules/json-schema": { "version": "0.4.0", @@ -12570,13 +13255,14 @@ } }, "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.3.tgz", + "integrity": "sha512-Rwu4+nXI9fqcxiEHtbkvoes2X+QfkTRo1TMkPfwzipGsJlJO/z69vqB4FNl9xJ3xCpAcbkvmEabZfPzrwN3+gQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "json-buffer": "3.0.1" + "@keyv/serialize": "^1.0.3" } }, "node_modules/kind-of": { @@ -12590,10 +13276,11 @@ } }, "node_modules/known-css-properties": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.30.0.tgz", - "integrity": "sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==", + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz", + "integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/labeled-stream-splicer": { @@ -12623,15 +13310,6 @@ "resolved": "https://registry.npmjs.org/layerr/-/layerr-3.0.0.tgz", "integrity": "sha512-tv754Ki2dXpPVApOrjTyRo4/QegVb9eVFq4mjqp4+NM5NaX7syQvN5BBNfV/ZpAHCEHV24XdUVrBAoka4jt3pA==" }, - "node_modules/lazy-ass": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", - "dev": true, - "engines": { - "node": "> 0.8" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -12653,27 +13331,20 @@ "dev": true, "peer": true }, - "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", - "peer": true, - "dependencies": { - "uc.micro": "^2.0.0" - } - }, "node_modules/linkify-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.0.2.tgz", - "integrity": "sha512-+HoBme50rPaKxh5TrEJqRLq4gphks1zj3cz6gMBKIHwJCFYVwHig8ii9aCzqGUz8DxF2otbq+Z3AJmKUnfOtKg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.3.2.tgz", + "integrity": "sha512-JqBuQpSa+CSj2tskIII70SKOjPfjXwDFyjRRNFTrlg76gp2nap36xeRj/cWaXxukqBNrxM+L07XyKRsUtH/DpQ==", + "license": "MIT", "peerDependencies": { "linkifyjs": "^4.0.0" } }, "node_modules/linkifyjs": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.0.2.tgz", - "integrity": "sha512-/VSoCZiglX0VMsXmL5PN3lRg45M86lrD9PskdkA2abWaTKap1bIcJ11LS4EE55bcUl9ZOR4eZ792UtQ9E/5xLA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.2.tgz", + "integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==", + "license": "MIT", "peer": true }, "node_modules/listr2": { @@ -12704,13 +13375,17 @@ } }, "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/loader-utils": { @@ -12746,7 +13421,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "peer": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -12758,10 +13432,18 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true, + "license": "MIT" }, "node_modules/lodash.clonedeep": { "version": "4.5.0", @@ -12773,12 +13455,8 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + "dev": true, + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "3.0.4", @@ -12809,6 +13487,7 @@ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/log-symbols": { @@ -12827,174 +13506,64 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "dev": true + }, + "node_modules/lowlight": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-3.3.0.tgz", + "integrity": "sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.0.0", + "highlight.js": "~11.11.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-update/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", - "dev": true - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lowlight": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-3.1.0.tgz", - "integrity": "sha512-CEbNVoSikAxwDMDPjXlqlFYiZLkDJHwyGu/MfOsJnF3d7f3tds5J3z8s/l9TMXhzfsJCCJEAsD78842mwmg0PQ==", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.0.0", - "highlight.js": "~11.9.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, "node_modules/lowlight/node_modules/@types/hast": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", "dependencies": { "@types/unist": "*" } @@ -13011,45 +13580,13 @@ "node": ">=10" } }, - "node_modules/lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "peer": true - }, "node_modules/magic-string": { - "version": "0.30.13", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.13.tgz", - "integrity": "sha512-8rYBO+MsWkgjDSOvLomYnzhdwEG51olQ4zL5KXnNJWV5MNmrb4rTZdrtkhxjnD/QyZUqR/Z/XDsUs/4ej2nx0g==", + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/markdown-it": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", - "peer": true, - "dependencies": { - "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", - "mdurl": "^2.0.0", - "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" - }, - "bin": { - "markdown-it": "bin/markdown-it.mjs" - } - }, - "node_modules/markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "@jridgewell/sourcemap-codec": "^1.5.5" } }, "node_modules/material-colors": { @@ -13057,6 +13594,15 @@ "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -13089,6 +13635,20 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/mdast-squeeze-paragraphs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-6.0.0.tgz", + "integrity": "sha512-6NDbJPTg0M0Ye+TlYwX1KJ1LFbp515P2immRJyJQhc9Na9cetHzSoHNYIQcXpANEAP1sm9yd/CTZU2uHqR5A+w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdast-util-find-and-replace": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", @@ -13116,9 +13676,10 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -13139,14 +13700,16 @@ } }, "node_modules/mdast-util-from-markdown/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" }, "node_modules/mdast-util-from-markdown/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -13155,101 +13718,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", - "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdast-util-newline-to-break": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz", @@ -13263,23 +13731,11 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdast-util-to-hast": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", - "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -13288,7 +13744,8 @@ "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", @@ -13303,34 +13760,58 @@ "@types/unist": "*" } }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "node_modules/mdast-util-to-hast/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-to-hast/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast/node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" + "vfile-message": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-to-markdown/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + "node_modules/mdast-util-to-hast/node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, "node_modules/mdast-util-to-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0" }, @@ -13340,16 +13821,11 @@ } }, "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", "dev": true, - "peer": true - }, - "node_modules/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "license": "CC0-1.0", "peer": true }, "node_modules/media-typer": { @@ -13445,9 +13921,9 @@ } }, "node_modules/micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", "funding": [ { "type": "GitHub Sponsors", @@ -13458,6 +13934,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", @@ -13478,157 +13955,44 @@ "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", - "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", - "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { + "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/micromark-factory-destination": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", "funding": [ { "type": "GitHub Sponsors", @@ -13639,6 +14003,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -13646,9 +14011,9 @@ } }, "node_modules/micromark-factory-label": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", "funding": [ { "type": "GitHub Sponsors", @@ -13659,6 +14024,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -13667,9 +14033,9 @@ } }, "node_modules/micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", "funding": [ { "type": "GitHub Sponsors", @@ -13680,15 +14046,16 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-factory-title": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", "funding": [ { "type": "GitHub Sponsors", @@ -13699,6 +14066,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -13707,9 +14075,9 @@ } }, "node_modules/micromark-factory-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", "funding": [ { "type": "GitHub Sponsors", @@ -13720,6 +14088,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -13747,9 +14116,9 @@ } }, "node_modules/micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", "funding": [ { "type": "GitHub Sponsors", @@ -13760,14 +14129,15 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-classify-character": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", "funding": [ { "type": "GitHub Sponsors", @@ -13778,6 +14148,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -13785,9 +14156,9 @@ } }, "node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", "funding": [ { "type": "GitHub Sponsors", @@ -13798,15 +14169,16 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", - "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", "funding": [ { "type": "GitHub Sponsors", @@ -13817,14 +14189,15 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", "funding": [ { "type": "GitHub Sponsors", @@ -13835,6 +14208,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -13858,9 +14232,9 @@ ] }, "node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", "funding": [ { "type": "GitHub Sponsors", @@ -13870,12 +14244,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", "funding": [ { "type": "GitHub Sponsors", @@ -13886,14 +14261,15 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", "funding": [ { "type": "GitHub Sponsors", @@ -13904,6 +14280,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-types": "^2.0.0" } @@ -13929,9 +14306,9 @@ } }, "node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", "funding": [ { "type": "GitHub Sponsors", @@ -13942,6 +14319,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", @@ -14006,10 +14384,11 @@ } }, "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", + "dev": true, + "license": "MIT" }, "node_modules/mime": { "version": "1.6.0", @@ -14066,10 +14445,11 @@ "dev": true }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -14093,13 +14473,13 @@ "dev": true }, "node_modules/module-definition": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-6.0.0.tgz", - "integrity": "sha512-sEGP5nKEXU7fGSZUML/coJbrO+yQtxcppDAYWRE9ovWsTbFoUHB2qDUx564WUzDaBHXsD46JBbIK5WVTwCyu3w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-6.0.1.tgz", + "integrity": "sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==", "dev": true, "dependencies": { - "ast-module-types": "^6.0.0", - "node-source-walk": "^7.0.0" + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, "bin": { "module-definition": "bin/cli.js" @@ -14162,9 +14542,9 @@ } }, "node_modules/module-lookup-amd": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/module-lookup-amd/-/module-lookup-amd-9.0.2.tgz", - "integrity": "sha512-p7PzSVEWiW9fHRX9oM+V4aV5B2nCVddVNv4DZ/JB6t9GsXY4E+ZVhPpnwUX7bbJyGeeVZqhS8q/JZ/H77IqPFA==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/module-lookup-amd/-/module-lookup-amd-9.0.5.tgz", + "integrity": "sha512-Rs5FVpVcBYRHPLuhHOjgbRhosaQYLtEo3JIeDIbmNo7mSssi1CTzwMh8v36gAzpbzLGXI9wB/yHh+5+3fY1QVw==", "dev": true, "dependencies": { "commander": "^12.1.0", @@ -14196,6 +14576,16 @@ "node": "*" } }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -14217,16 +14607,17 @@ } }, "node_modules/nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", + "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", @@ -14262,8 +14653,7 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "peer": true + "dev": true }, "node_modules/nested-property": { "version": "4.0.0", @@ -14314,9 +14704,9 @@ } }, "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", "dev": true, "license": "(BSD-3-Clause OR GPL-2.0)", "peer": true, @@ -14324,14 +14714,6 @@ "node": ">= 6.13.0" } }, - "node_modules/node-gettext": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/node-gettext/-/node-gettext-3.0.0.tgz", - "integrity": "sha512-/VRYibXmVoN6tnSAY2JWhNRhWYJ8Cd844jrZU/DwLVoI4vBI6ceYbd8i42sYZ9uOgDH3S7vslIKOWV/ZrT2YBA==", - "dependencies": { - "lodash.get": "^4.4.2" - } - }, "node_modules/node-polyfill-webpack-plugin": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-4.0.0.tgz", @@ -14373,18 +14755,19 @@ } }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" }, "node_modules/node-source-walk": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-7.0.0.tgz", - "integrity": "sha512-1uiY543L+N7Og4yswvlm5NCKgPKDEXd9AUR9Jh3gen6oOeBsesr6LqhXom1er3eRzSUcVRWXzhv8tSNrIfGHKw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-7.0.1.tgz", + "integrity": "sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==", "dev": true, "dependencies": { - "@babel/parser": "^7.24.4" + "@babel/parser": "^7.26.7" }, "engines": { "node": ">=18" @@ -14434,9 +14817,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, "license": "MIT", "engines": { @@ -14530,9 +14913,9 @@ } }, "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "dev": true, "license": "MIT", "peer": true, @@ -14564,17 +14947,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/oniguruma-to-es": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-0.4.1.tgz", - "integrity": "sha512-rNcEohFz095QKGRovP/yqPIKc+nP+Sjs4YTHMv33nMePGKrq/r2eu9Yh4646M5XluGJsUnmwoXuiXE69KDs+fQ==", - "peer": true, - "dependencies": { - "emoji-regex-xs": "^1.0.0", - "regex": "^5.0.0", - "regex-recursion": "^4.2.1" - } - }, "node_modules/open": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", @@ -14595,6 +14967,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -14639,7 +15021,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "peer": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -14655,7 +15036,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "peer": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -14682,9 +15062,9 @@ } }, "node_modules/p-queue": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz", - "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", "license": "MIT", "dependencies": { "eventemitter3": "^5.0.1", @@ -14723,9 +15103,9 @@ } }, "node_modules/p-timeout": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.3.tgz", - "integrity": "sha512-UJUyfKbwvr/uZSV6btANfb+0t/mOhKV/KXcCUTp8FcQI+v/0d+wXqH4htrW0E4rR6WiEO/EPvUFiV9D5OI4vlw==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", "license": "MIT", "engines": { "node": ">=14.16" @@ -14773,37 +15153,22 @@ } }, "node_modules/parse-asn1": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", - "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", + "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", "dev": true, "license": "ISC", "dependencies": { "asn1.js": "^4.10.1", "browserify-aes": "^1.2.0", "evp_bytestokey": "^1.0.3", - "hash-base": "~3.0", - "pbkdf2": "^3.1.2", + "pbkdf2": "^3.1.5", "safe-buffer": "^5.2.1" }, "engines": { "node": ">= 0.10" } }, - "node_modules/parse-asn1/node_modules/hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/parse-asn1/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -14866,7 +15231,6 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "peer": true, "engines": { "node": ">=8" } @@ -14927,21 +15291,44 @@ } }, "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", + "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", "dev": true, + "license": "MIT", "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "ripemd160": "^2.0.3", + "safe-buffer": "^5.2.1", + "sha.js": "^2.4.12", + "to-buffer": "^1.2.1" }, "engines": { - "node": ">=0.12" + "node": ">= 0.10" } }, + "node_modules/pbkdf2/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/pcg": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/pcg/-/pcg-1.0.0.tgz", @@ -15068,10 +15455,20 @@ "node": ">=4" } }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "funding": [ { "type": "opencollective", @@ -15087,7 +15484,7 @@ } ], "dependencies": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -15123,6 +15520,7 @@ "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/postcss-modules-extract-imports": { @@ -15192,10 +15590,11 @@ } }, "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/postcss-safe-parser": { @@ -15234,6 +15633,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "peer": true, "engines": { "node": ">=12.0" @@ -15280,33 +15680,27 @@ "postcss": "^8.2.9" } }, - "node_modules/postcss-values-parser/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/precinct": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/precinct/-/precinct-12.1.2.tgz", - "integrity": "sha512-x2qVN3oSOp3D05ihCd8XdkIPuEQsyte7PSxzLqiRgktu79S5Dr1I75/S+zAup8/0cwjoiJTQztE9h0/sWp9bJQ==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/precinct/-/precinct-12.2.0.tgz", + "integrity": "sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==", "dev": true, "dependencies": { - "@dependents/detective-less": "^5.0.0", + "@dependents/detective-less": "^5.0.1", "commander": "^12.1.0", - "detective-amd": "^6.0.0", - "detective-cjs": "^6.0.0", - "detective-es6": "^5.0.0", - "detective-postcss": "^7.0.0", - "detective-sass": "^6.0.0", - "detective-scss": "^5.0.0", - "detective-stylus": "^5.0.0", - "detective-typescript": "^13.0.0", - "detective-vue2": "^2.0.3", - "module-definition": "^6.0.0", - "node-source-walk": "^7.0.0", - "postcss": "^8.4.40", - "typescript": "^5.5.4" + "detective-amd": "^6.0.1", + "detective-cjs": "^6.0.1", + "detective-es6": "^5.0.1", + "detective-postcss": "^7.0.1", + "detective-sass": "^6.0.1", + "detective-scss": "^5.0.1", + "detective-stylus": "^5.0.1", + "detective-typescript": "^14.0.0", + "detective-vue2": "^2.2.0", + "module-definition": "^6.0.1", + "node-source-walk": "^7.0.1", + "postcss": "^8.5.1", + "typescript": "^5.7.3" }, "bin": { "precinct": "bin/cli.js" @@ -15385,6 +15779,31 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/protobufjs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz", + "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", + "dev": true, + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -15439,10 +15858,11 @@ } }, "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", + "dev": true, + "license": "MIT" }, "node_modules/pump": { "version": "3.0.0", @@ -15464,22 +15884,14 @@ "node": ">=6" } }, - "node_modules/punycode.js": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -15569,26 +15981,48 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "dev": true, "license": "MIT", "peer": true, @@ -15676,58 +16110,22 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "license": "MIT" }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/regex/-/regex-5.0.2.tgz", - "integrity": "sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==", - "peer": true, - "dependencies": { - "regex-utilities": "^2.3.0" - } - }, - "node_modules/regex-recursion": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-4.2.1.tgz", - "integrity": "sha512-QHNZyZAeKdndD1G3bKAbBEKOSSK4KOHQrAJ01N1LJeb0SoH4DJIeFhp0uUpETgONifS4+P3sOgoA1dhzgrQvhA==", - "peer": true, - "dependencies": { - "regex-utilities": "^2.3.0" + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" } }, - "node_modules/regex-utilities": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", - "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", - "peer": true - }, "node_modules/regexp.prototype.flags": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", @@ -15746,43 +16144,43 @@ } }, "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" + "unicode-match-property-value-ecmascript": "^2.2.1" }, "engines": { "node": ">=4" } }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.1.0" }, "bin": { "regjsparser": "bin/parser" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/rehype-external-links": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", @@ -15814,9 +16212,10 @@ "integrity": "sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==" }, "node_modules/rehype-highlight": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/rehype-highlight/-/rehype-highlight-7.0.1.tgz", - "integrity": "sha512-dB/vVGFsbm7xPglqnYbg0ABg6rAuIWKycTvuXaOO27SgLoOFNoTlniTBtAxp3n5ZyMioW1a3KwiNqgjkb6Skjg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rehype-highlight/-/rehype-highlight-7.0.2.tgz", + "integrity": "sha512-k158pK7wdC2qL3M5NcZROZ2tR/l7zOzjxXd5VGdcfIyoijjQqpHd3JKtYSBDpDZ38UI2WJWuFAtkMDxmx5kstA==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "hast-util-to-text": "^4.0.0", @@ -15833,6 +16232,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", "dependencies": { "@types/unist": "*" } @@ -15840,12 +16240,14 @@ "node_modules/rehype-highlight/node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" }, "node_modules/rehype-highlight/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -15858,6 +16260,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" @@ -15871,6 +16274,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" @@ -15986,100 +16390,11 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-gfm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", - "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/remark-gfm/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/remark-gfm/node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm/node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm/node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm/node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-parse": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", @@ -16092,14 +16407,16 @@ } }, "node_modules/remark-parse/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" }, "node_modules/remark-parse/node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -16108,9 +16425,10 @@ } }, "node_modules/remark-parse/node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", @@ -16129,6 +16447,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -16138,12 +16457,12 @@ } }, "node_modules/remark-parse/node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" }, "funding": { @@ -16155,6 +16474,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" @@ -16261,91 +16581,15 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "node_modules/remark-unlink-protocols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/remark-unlink-protocols/-/remark-unlink-protocols-1.0.0.tgz", + "integrity": "sha512-5j/F28jhFmxeyz8nuJYYIWdR4nNpKWZ8A+tVwnK/0pq7Rjue33CINEYSckSq2PZvedhKUwbn08qyiuGoPLBung==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/remark-stringify/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/remark-stringify/node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify/node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify/node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify/node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "mdast-squeeze-paragraphs": "^6.0.0", + "unist-util-visit": "^5.0.0" } }, "node_modules/request-progress": { @@ -16369,12 +16613,21 @@ "node": ">=6" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -16390,9 +16643,9 @@ } }, "node_modules/requirejs": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.7.tgz", - "integrity": "sha512-DouTG8T1WanGok6Qjg2SXuCMzszOo0eHeH9hDZ5Y4x8Je+9JB38HdTLT4/VA8OaUhBa0JPVHJ0pyBkM1z+pDsw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.8.tgz", + "integrity": "sha512-7/cTSLOdYkNBNJcDMWf+luFvMriVm7eYxp4BcFCsAX0wF421Vyce5SXP17c+Jd5otXKGNehIonFlyQXSowL6Mw==", "dev": true, "bin": { "r_js": "bin/r.js", @@ -16421,18 +16674,22 @@ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -16461,9 +16718,9 @@ } }, "node_modules/resolve-dependency-path": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-dependency-path/-/resolve-dependency-path-4.0.0.tgz", - "integrity": "sha512-hlY1SybBGm5aYN3PC4rp15MzsJLM1w+MEA/4KU3UBPfz4S0lL3FL6mgv7JgaA8a+ZTeEQAiF1a1BuN2nkqiIlg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/resolve-dependency-path/-/resolve-dependency-path-4.0.1.tgz", + "integrity": "sha512-YQftIIC4vzO9UMhO/sCgXukNyiwVRCVaxiWskCBy7Zpqkplm8kTAISZ8O1MoKW1ca6xzgLUBjZTcDgypXvXxiQ==", "dev": true, "engines": { "node": ">=18" @@ -16555,13 +16812,17 @@ } }, "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", + "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", "dev": true, + "license": "MIT", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "^3.1.2", + "inherits": "^2.0.4" + }, + "engines": { + "node": ">= 0.8" } }, "node_modules/run-applescript": { @@ -16602,10 +16863,11 @@ } }, "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } @@ -16700,12 +16962,13 @@ } }, "node_modules/sass-lookup": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/sass-lookup/-/sass-lookup-6.0.1.tgz", - "integrity": "sha512-nl9Wxbj9RjEJA5SSV0hSDoU2zYGtE+ANaDS4OFUR7nYrquvBFvPKZZtQHe3lvnxCcylEDV00KUijjdMTUElcVQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sass-lookup/-/sass-lookup-6.1.0.tgz", + "integrity": "sha512-Zx+lVyoWqXZxHuYWlTA17Z5sczJ6braNT2C7rmClw+c4E7r/n911Zwss3h1uHI9reR5AgHZyNHF7c2+VIp5AUA==", "dev": true, "dependencies": { - "commander": "^12.0.0" + "commander": "^12.1.0", + "enhanced-resolve": "^5.18.0" }, "bin": { "sass-lookup": "bin/cli.js" @@ -16755,12 +17018,18 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" + }, "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -16768,7 +17037,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -16776,16 +17045,16 @@ } }, "node_modules/schema-utils/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -16797,7 +17066,6 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -16809,8 +17077,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "peer": true + "dev": true }, "node_modules/select-hose": { "version": "2.0.0", @@ -16908,16 +17175,6 @@ "license": "MIT", "peer": true }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "peer": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", @@ -17077,18 +17334,47 @@ "peer": true }, "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", "dev": true, + "license": "(MIT AND BSD-3-Clause)", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" }, "bin": { "sha.js": "bin.js" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sha.js/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -17153,77 +17439,86 @@ } }, "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.10.0.tgz", + "integrity": "sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==", "dev": true, "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" + "execa": "^5.1.1", + "fast-glob": "^3.3.2" }, "engines": { - "node": ">=4" + "node": ">=18" } }, - "node_modules/shelljs/node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, "engines": { - "node": ">= 0.10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/shelljs/node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, + "license": "MIT", "dependencies": { - "resolve": "^1.1.6" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">= 0.10" - } - }, - "node_modules/shiki": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.23.1.tgz", - "integrity": "sha512-8kxV9TH4pXgdKGxNOkrSMydn1Xf6It8lsle0fiqxf7a1149K1WGtdOu3Zb91T5r1JpvRPxqxU3C2XdZZXQnrig==", - "peer": true, - "dependencies": { - "@shikijs/core": "1.23.1", - "@shikijs/engine-javascript": "1.23.1", - "@shikijs/engine-oniguruma": "1.23.1", - "@shikijs/types": "1.23.1", - "@shikijs/vscode-textmate": "^9.3.0", - "@types/hast": "^3.0.4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/shiki/node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "peer": true, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", "dependencies": { - "@types/unist": "*" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -17267,6 +17562,21 @@ } ] }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -17293,39 +17603,6 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -17360,7 +17637,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -17440,15 +17717,15 @@ } }, "node_modules/spec-change": { - "version": "1.11.11", - "resolved": "https://registry.npmjs.org/spec-change/-/spec-change-1.11.11.tgz", - "integrity": "sha512-wSxi1XKeNr8JxBlYj13Lw8TTMpojYU2zRlkmyXl0kHp+xGkwYUpXaVXcofiEmEqrq1HoGg7pwKEzvMjYcQubtw==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/spec-change/-/spec-change-1.11.20.tgz", + "integrity": "sha512-N9V0tptwsYs6WRvO3CYdHaptwj+EAaTAktTwIx9cEKkdboX4BBWY5//EhV9EoOzpGYO/4zHhs6lY3dHQPcMB6g==", "dev": true, "dependencies": { "arg": "^5.0.2", "debug": "^4.3.4", "deep-equal": "^2.2.3", - "dependency-tree": "^11.0.0", + "dependency-tree": "^11.1.1", "lazy-ass": "^2.0.3", "tinyglobby": "^0.2.0" }, @@ -17469,7 +17746,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/splitpanes": { "version": "2.4.1", @@ -17477,9 +17755,9 @@ "integrity": "sha512-kpEo1WuMXuc6QfdQdO2V/fl/trONlkUKp+pputsLTiW9RMtwEvjb4/aYGm2m3+KAzjmb+zLwr4A4SYZu74+pgQ==" }, "node_modules/ssh2": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.15.0.tgz", - "integrity": "sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.16.0.tgz", + "integrity": "sha512-r1X4KsBGedJqo7h8F5c4Ybpcr5RjyP+aWIG007uBPRjmdQWfEiVLzSK71Zji1B9sKxwaCvD8y8cwSkYrlLiRRg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -17490,8 +17768,8 @@ "node": ">=10.16.0" }, "optionalDependencies": { - "cpu-features": "~0.0.9", - "nan": "^2.18.0" + "cpu-features": "~0.0.10", + "nan": "^2.20.0" } }, "node_modules/sshpk": { @@ -17519,6 +17797,14 @@ "node": ">=0.10.0" } }, + "node_modules/stable-hash": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz", + "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -17531,12 +17817,13 @@ } }, "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", "dev": true, "dependencies": { - "internal-slot": "^1.0.4" + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -17773,20 +18060,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "peer": true, - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -17850,9 +18123,32 @@ "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==" }, "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/strtok3": { + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.4.tgz", + "integrity": "sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==", + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } }, "node_modules/style-loader": { "version": "4.0.0", @@ -17881,50 +18177,60 @@ } }, "node_modules/stylelint": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.5.0.tgz", - "integrity": "sha512-IlCBtVrG+qTy3v+tZTk50W8BIomjY/RUuzdrDqdnlCYwVuzXtPbiGfxYqtyYAyOMcb+195zRsuHn6tgfPmFfbw==", + "version": "16.19.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.19.1.tgz", + "integrity": "sha512-C1SlPZNMKl+d/C867ZdCRthrS+6KuZ3AoGW113RZCOL0M8xOGpgx7G70wq7lFvqvm4dcfdGFVLB/mNaLFChRKw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", "peer": true, "dependencies": { - "@csstools/css-parser-algorithms": "^2.6.1", - "@csstools/css-tokenizer": "^2.2.4", - "@csstools/media-query-list-parser": "^2.1.9", - "@csstools/selector-specificity": "^3.0.3", - "@dual-bundle/import-meta-resolve": "^4.0.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2", + "@csstools/selector-specificity": "^5.0.0", + "@dual-bundle/import-meta-resolve": "^4.1.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^9.0.0", - "css-functions-list": "^3.2.2", - "css-tree": "^2.3.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", + "css-functions-list": "^3.2.3", + "css-tree": "^3.1.0", + "debug": "^4.3.7", + "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^8.0.0", + "file-entry-cache": "^10.0.8", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", - "ignore": "^5.3.1", + "ignore": "^7.0.3", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.30.0", + "known-css-properties": "^0.36.0", "mathml-tag-names": "^2.1.3", "meow": "^13.2.0", - "micromatch": "^4.0.5", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.38", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^7.0.0", - "postcss-selector-parser": "^6.0.16", + "picocolors": "^1.1.1", + "postcss": "^8.5.3", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-safe-parser": "^7.0.1", + "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", - "strip-ansi": "^7.1.0", - "supports-hyperlinks": "^3.0.0", + "supports-hyperlinks": "^3.2.0", "svg-tags": "^1.0.0", - "table": "^6.8.2", + "table": "^6.9.0", "write-file-atomic": "^5.0.1" }, "bin": { @@ -17932,10 +18238,6 @@ }, "engines": { "node": ">=18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" } }, "node_modules/stylelint-config-html": { @@ -17956,35 +18258,47 @@ } }, "node_modules/stylelint-config-recommended": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz", - "integrity": "sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-16.0.0.tgz", + "integrity": "sha512-4RSmPjQegF34wNcK1e1O3Uz91HN8P1aFdFzio90wNK9mjgAI19u5vsU868cVZboKzCaa5XbpvtTzAAGQAxpcXA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", "peer": true, "engines": { "node": ">=18.12.0" }, "peerDependencies": { - "stylelint": "^16.0.0" + "stylelint": "^16.16.0" } }, "node_modules/stylelint-config-recommended-scss": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz", - "integrity": "sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-15.0.1.tgz", + "integrity": "sha512-V24bxkNkFGggqPVJlP9iXaBabwSGEG7QTz+PyxrRtjPkcF+/NsWtB3tKYvFYEmczRkWiIEfuFMhGpJFj9Fxe6Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "postcss-scss": "^4.0.9", - "stylelint-config-recommended": "^14.0.0", - "stylelint-scss": "^6.0.0" + "stylelint-config-recommended": "^16.0.0", + "stylelint-scss": "^6.12.0" }, "engines": { - "node": ">=18.12.0" + "node": ">=20" }, "peerDependencies": { "postcss": "^8.3.3", - "stylelint": "^16.0.2" + "stylelint": "^16.16.0" }, "peerDependenciesMeta": { "postcss": { @@ -18031,16 +18345,20 @@ } }, "node_modules/stylelint-scss": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.3.0.tgz", - "integrity": "sha512-8OSpiuf1xC7f8kllJsBOFAOYp/mR/C1FXMVeOFjtJPw+AFvEmC93FaklHt7MlOqU4poxuQ1TkYMyfI0V+1SxjA==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.0.tgz", + "integrity": "sha512-U7CKhi1YNkM1pXUXl/GMUXi8xKdhl4Ayxdyceie1nZ1XNIdaUgMV6OArpooWcDzEggwgYD0HP/xIgVJo9a655w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "known-css-properties": "^0.30.0", + "css-tree": "^3.0.1", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.36.0", + "mdn-data": "^2.21.0", "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-selector-parser": "^6.0.15", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -18050,17 +18368,64 @@ "stylelint": "^16.0.2" } }, - "node_modules/stylelint/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/stylelint-scss/node_modules/mdn-data": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.21.0.tgz", + "integrity": "sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ==", + "dev": true, + "license": "CC0-1.0", + "peer": true + }, + "node_modules/stylelint-scss/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "dev": true, + "license": "MIT", "peer": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, "engines": { - "node": ">=12" + "node": ">=4" + } + }, + "node_modules/stylelint-use-logical": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/stylelint-use-logical/-/stylelint-use-logical-2.1.2.tgz", + "integrity": "sha512-4ffvPNk/swH4KS3izExWuzQOuzLmi0gb0uOhvxWJ20vDA5W5xKCjcHHtLoAj1kKvTIX6eGIN5xGtaVin9PD0wg==", + "dev": true, + "license": "CC0-1.0", + "engines": { + "node": ">=14.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "peerDependencies": { + "stylelint": ">= 11 < 17" + } + }, + "node_modules/stylelint/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peer": true, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" } }, "node_modules/stylelint/node_modules/balanced-match": { @@ -18070,37 +18435,72 @@ "dev": true, "peer": true }, + "node_modules/stylelint/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.0.tgz", + "integrity": "sha512-Et/ex6smi3wOOB+n5mek+Grf7P2AxZR5ueqRUvAAn4qkyatXi3cUC1cuQXVkX0VlzBVsN4BkWJFmY/fYiRTdww==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "flat-cache": "^6.1.9" + } + }, + "node_modules/stylelint/node_modules/flat-cache": { + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.9.tgz", + "integrity": "sha512-DUqiKkTlAfhtl7g78IuwqYM+YqvT+as0mY+EVk6mfimy19U79pJCzDZQsnqk3Ou/T6hFXWLGbwbADzD/c8Tydg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" + "cacheable": "^1.9.0", + "flatted": "^3.3.3", + "hookified": "^1.8.2" } }, - "node_modules/stylelint/node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "node_modules/stylelint/node_modules/ignore": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", + "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", "dev": true, + "license": "MIT", "peer": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, "engines": { - "node": ">=16" + "node": ">= 4" } }, + "node_modules/stylelint/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/stylelint/node_modules/postcss-safe-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz", - "integrity": "sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", "dev": true, "funding": [ { @@ -18116,6 +18516,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "peer": true, "engines": { "node": ">=18.0" @@ -18124,6 +18525,21 @@ "postcss": "^8.4.31" } }, + "node_modules/stylelint/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/stylelint/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -18147,22 +18563,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/stylelint/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/stylelint/node_modules/write-file-atomic": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", @@ -18178,12 +18578,12 @@ } }, "node_modules/stylus-lookup": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylus-lookup/-/stylus-lookup-6.0.0.tgz", - "integrity": "sha512-RaWKxAvPnIXrdby+UWCr1WRfa+lrPMSJPySte4Q6a+rWyjeJyFOLJxr5GrAVfcMCsfVlCuzTAJ/ysYT8p8do7Q==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/stylus-lookup/-/stylus-lookup-6.1.0.tgz", + "integrity": "sha512-5QSwgxAzXPMN+yugy61C60PhoANdItfdjSEZR8siFwz7yL9jTmV0UBKDCfn3K8GkGB4g0Y9py7vTCX8rFu4/pQ==", "dev": true, "dependencies": { - "commander": "^12.0.0" + "commander": "^12.1.0" }, "bin": { "stylus-lookup": "bin/cli.js" @@ -18211,22 +18611,24 @@ } }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/supports-hyperlinks": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", - "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0", @@ -18234,29 +18636,9 @@ }, "engines": { "node": ">=14.18" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -18287,16 +18669,45 @@ "acorn-node": "^1.2.0" } }, + "node_modules/systeminformation": { + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.1.tgz", + "integrity": "sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA==", + "dev": true, + "license": "MIT", + "os": [ + "darwin", + "linux", + "win32", + "freebsd", + "openbsd", + "netbsd", + "sunos", + "android" + ], + "bin": { + "systeminformation": "lib/cli.js" + }, + "engines": { + "node": ">=8.0.0" + }, + "funding": { + "type": "Buy me a coffee", + "url": "https://www.buymeacoffee.com/systeminfo" + } + }, "node_modules/tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", + "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", + "license": "MIT" }, "node_modules/table": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", - "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "ajv": "^8.0.1", @@ -18310,16 +18721,17 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", - "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -18331,27 +18743,34 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/tar-fs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", - "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", "dev": true, + "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", - "tar-stream": "^2.0.0" + "tar-stream": "^2.1.4" } }, "node_modules/tar-stream": { @@ -18359,6 +18778,7 @@ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, + "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -18375,6 +18795,7 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -18385,14 +18806,14 @@ } }, "node_modules/terser": { - "version": "5.31.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", - "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", "dev": true, - "peer": true, + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", + "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -18404,17 +18825,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.17.tgz", + "integrity": "sha512-YR7PtUp6GMU91BgSJmlaX/rS2lGDbAF7D+Wtq7hRO+MiljNmodYvqslzCFiYVAgW+Qoaaia/QUIP4lGXufjdZw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", + "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" + "schema-utils": "^4.3.0", + "terser": "^5.31.1" }, "engines": { "node": ">= 10.13.0" @@ -18438,25 +18858,6 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -18555,23 +18956,29 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz", - "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==", + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "dependencies": { - "fdir": "^6.4.2", - "picomatch": "^4.0.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", - "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, + "engines": { + "node": ">=12.0.0" + }, "peerDependencies": { "picomatch": "^3 || ^4" }, @@ -18582,9 +18989,9 @@ } }, "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "engines": { "node": ">=12" @@ -18612,22 +19019,57 @@ "dev": true }, "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", + "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==", "dev": true, "engines": { "node": ">=14.14" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "node_modules/to-buffer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", + "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, + "node_modules/to-buffer/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-buffer/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -18656,6 +19098,16 @@ "node": ">=0.6" } }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/tough-cookie": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", @@ -18723,6 +19175,7 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, + "peer": true, "engines": { "node": ">=16" }, @@ -18731,9 +19184,9 @@ } }, "node_modules/ts-loader": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.2.tgz", - "integrity": "sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==", + "version": "9.5.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz", + "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==", "dev": true, "dependencies": { "chalk": "^4.1.0", @@ -18750,64 +19203,6 @@ "webpack": "^5.0.0" } }, - "node_modules/ts-loader/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ts-loader/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ts-loader/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ts-loader/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/ts-loader/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/ts-loader/node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -18832,24 +19227,11 @@ "node": ">= 8" } }, - "node_modules/ts-loader/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", "dev": true, - "peer": true, "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.1", @@ -18857,12 +19239,23 @@ "strip-bom": "^3.0.0" } }, + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz", + "integrity": "sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tsconfig-paths": "^3.9.0" + } + }, "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "peer": true, "dependencies": { "minimist": "^1.2.0" }, @@ -18877,12 +19270,12 @@ "dev": true }, "node_modules/tsx": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.2.tgz", - "integrity": "sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", "dev": true, "dependencies": { - "esbuild": "~0.23.0", + "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" }, "bin": { @@ -18970,6 +19363,21 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -18977,10 +19385,11 @@ "dev": true }, "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -18994,12 +19403,6 @@ "resolved": "https://registry.npmjs.org/typescript-event-target/-/typescript-event-target-1.1.1.tgz", "integrity": "sha512-dFSOFBKV6uwaloBCCUhxlD3Pr/P1a/tJdcmPrTXCHlEFD3faj0mztjcGn6VBAhQ0/Bdy8K3VWrrqwbt/ffsYsg==" }, - "node_modules/uc.micro": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", - "peer": true - }, "node_modules/umd": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", @@ -19042,27 +19445,26 @@ } }, "node_modules/undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", + "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==", "dev": true, - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, "engines": { - "node": ">=14.0" + "node": ">=18.17" } }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -19072,6 +19474,7 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -19081,19 +19484,21 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -19170,6 +19575,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" @@ -19182,7 +19588,8 @@ "node_modules/unist-util-find-after/node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" }, "node_modules/unist-util-is": { "version": "6.0.0", @@ -19231,9 +19638,10 @@ } }, "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", @@ -19297,9 +19705,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -19315,9 +19723,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -19703,25 +20112,6 @@ "vue": "^2.5.0" } }, - "node_modules/wait-on": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-8.0.1.tgz", - "integrity": "sha512-1wWQOyR2LVVtaqrcIL2+OM+x7bkpmzVROa0Nf6FryXkS+er5Sa1kzFGjzZRqLnHa3n1rACFLeTwUqE1ETL9Mig==", - "dev": true, - "dependencies": { - "axios": "^1.7.7", - "joi": "^17.13.3", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/watchify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz", @@ -19926,11 +20316,11 @@ } }, "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -19978,15 +20368,16 @@ } }, "node_modules/webdav": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.7.1.tgz", - "integrity": "sha512-JVPn3nLxXJfHSRvennHsOrDYjFLkilZ1Qlw8Ff6hpqp6AvkgF7a//aOh5wA4rMp+sLZ1Km0V+iv0LyO1FIwtXg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.8.0.tgz", + "integrity": "sha512-iuFG7NamJ41Oshg4930iQgfIpRrUiatPWIekeznYgEf2EOraTRcDPTjy7gIOMtkdpKTaqPk1E68NO5PAGtJahA==", + "license": "MIT", "dependencies": { "@buttercup/fetch": "^0.2.1", "base-64": "^1.0.0", "byte-length": "^1.0.2", - "entities": "^5.0.0", - "fast-xml-parser": "^4.4.1", + "entities": "^6.0.0", + "fast-xml-parser": "^4.5.1", "hot-patcher": "^2.0.1", "layerr": "^3.0.0", "md5": "^2.3.0", @@ -19998,21 +20389,23 @@ "url-parse": "^1.5.10" }, "engines": { - "node": ">=16" + "node": ">=14" } }, "node_modules/webdav/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/webdav/node_modules/entities": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-5.0.0.tgz", - "integrity": "sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", + "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -20021,11 +20414,12 @@ } }, "node_modules/webdav/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -20035,35 +20429,37 @@ } }, "node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "version": "5.105.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", + "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", + "enhanced-resolve": "^5.19.0", + "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", + "loader-runner": "^4.3.1", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" @@ -20081,6 +20477,98 @@ } } }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/webpack-cli": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", @@ -20169,9 +20657,9 @@ } }, "node_modules/webpack-dev-server": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.1.0.tgz", - "integrity": "sha512-aQpaN81X6tXie1FoOB7xlMfCsN19pSvRAeYUHOdFWOlhpQ/LlbfTqYwwmEDFV0h8GGuqmCmKmT+pxcUV/Nt2gQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", + "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", "dev": true, "license": "MIT", "peer": true, @@ -20179,6 +20667,7 @@ "@types/bonjour": "^3.5.13", "@types/connect-history-api-fallback": "^1.5.4", "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.21", "@types/serve-index": "^1.9.4", "@types/serve-static": "^1.15.5", "@types/sockjs": "^0.3.36", @@ -20189,10 +20678,9 @@ "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", - "express": "^4.19.2", + "express": "^4.21.2", "graceful-fs": "^4.2.6", - "html-entities": "^2.4.0", - "http-proxy-middleware": "^2.0.3", + "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", "launch-editor": "^2.6.1", "open": "^10.0.3", @@ -20242,34 +20730,15 @@ } }, "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -20347,16 +20816,19 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -20399,39 +20871,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -20480,22 +20919,49 @@ "node": ">=0.4" } }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/yaml": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", - "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", - "peer": true, - "bin": { - "yaml": "bin.mjs" + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">= 14" + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" } }, "node_modules/yauzl": { @@ -20513,102 +20979,83 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "peer": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } } }, "dependencies": { "@actions/core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", - "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-2.0.3.tgz", + "integrity": "sha512-Od9Thc3T1mQJYddvVPM4QGiLUewdh+3txmDYHHxoNdkqysR1MbCT+rFOtNUxYAz+7+6RIsqipVahY2GJqGPyxA==", "dev": true, "requires": { - "@actions/exec": "^1.1.1", - "@actions/http-client": "^2.0.1" + "@actions/exec": "^2.0.0", + "@actions/http-client": "^3.0.2" } }, "@actions/exec": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", - "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-2.0.0.tgz", + "integrity": "sha512-k8ngrX2voJ/RIN6r9xB82NVqKpnMRtxDoiO+g3olkIUpQNqjArXrCQceduQZCQj3P3xm32pChRLqRrtXTlqhIw==", "dev": true, "requires": { - "@actions/io": "^1.0.1" + "@actions/io": "^2.0.0" } }, "@actions/http-client": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", - "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.2.tgz", + "integrity": "sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==", "dev": true, "requires": { "tunnel": "^0.0.6", - "undici": "^5.25.4" + "undici": "^6.23.0" } }, "@actions/io": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz", - "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-2.0.0.tgz", + "integrity": "sha512-Jv33IN09XLO+0HS79aaODsvIRyduiF7NY/F6LYeK5oeUmrsz7aFdRphQjFoESF4jS7lMauDOttKALcpapVDIAg==", "dev": true }, - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, "@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "requires": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0" + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" } }, "@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true }, "@babel/core": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", - "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.24.5", - "@babel/helpers": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -20637,57 +21084,36 @@ } }, "@babel/generator": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", - "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "dev": true, "requires": { - "@babel/types": "^7.24.5", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - } - } + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" } }, "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, "requires": { - "@babel/types": "^7.22.15" + "@babel/types": "^7.27.3" } }, "@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -20710,263 +21136,237 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz", - "integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.24.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.6", "semver": "^6.3.1" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", "semver": "^6.3.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz", + "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "resolve": "^1.22.11" + }, + "dependencies": { + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } } }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } + "@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true }, "@babel/helper-member-expression-to-functions": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz", - "integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", "dev": true, "requires": { - "@babel/types": "^7.24.5" + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" } }, "@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, "requires": { - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" } }, "@babel/helper-module-transforms": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", - "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.24.3", - "@babel/helper-simple-access": "^7.24.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/helper-validator-identifier": "^7.24.5" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" } }, "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.27.1" } }, "@babel/helper-plugin-utils": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" } }, "@babel/helper-replace-supers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", - "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", - "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", "dev": true, "requires": { - "@babel/types": "^7.24.5" + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", "dev": true, "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", - "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", - "dev": true, - "requires": { - "@babel/types": "^7.24.5" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" } }, "@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==" + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==" }, "@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==" + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==" }, "@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz", - "integrity": "sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", + "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.23.0", - "@babel/template": "^7.24.0", - "@babel/types": "^7.24.5" + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" } }, "@babel/helpers": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", - "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "requires": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" } }, - "@babel/highlight": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", - "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", - "dev": true, + "@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "requires": { - "@babel/helper-validator-identifier": "^7.24.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/types": "^7.29.0" } }, - "@babel/parser": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", - "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "dev": true, "requires": { - "@babel/types": "^7.25.8" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" } }, - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz", - "integrity": "sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", - "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", - "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.24.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" } }, "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", - "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", + "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/traverse": "^7.28.6" } }, "@babel/plugin-proposal-class-properties": { @@ -20999,121 +21399,41 @@ "dev": true, "requires": {} }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, + "peer": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, "@babel/plugin-syntax-import-assertions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", - "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", + "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-syntax-import-attributes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", - "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.24.0" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-syntax-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", - "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-syntax-object-rest-spread": { @@ -21125,42 +21445,6 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, "@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", @@ -21172,673 +21456,645 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", - "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-async-generator-functions": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", - "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", + "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.29.0" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", - "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", - "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz", - "integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", + "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-class-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", - "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", + "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-class-static-block": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", - "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", + "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.24.4", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-classes": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz", - "integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", + "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.24.5", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/traverse": "^7.28.6" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", - "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", + "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/template": "^7.24.0" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/template": "^7.28.6" } }, "@babel/plugin-transform-destructuring": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz", - "integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", - "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", + "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", - "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.27.1" + } + }, + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-dynamic-import": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", - "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.27.1" + } + }, + "@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", + "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", - "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", + "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-export-namespace-from": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", - "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-for-of": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", - "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" } }, "@babel/plugin-transform-function-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", - "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" } }, "@babel/plugin-transform-json-strings": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", - "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", + "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", - "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", - "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", + "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", - "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", - "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", - "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", - "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", + "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.29.0" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", - "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-new-target": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", - "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", - "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", + "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-numeric-separator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", - "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", + "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-object-rest-spread": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz", - "integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", + "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.5" + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.6" } }, "@babel/plugin-transform-object-super": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", - "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" } }, "@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", - "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", + "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-optional-chaining": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz", - "integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", + "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" } }, "@babel/plugin-transform-parameters": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz", - "integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==", + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-private-methods": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", - "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", + "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-private-property-in-object": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz", - "integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", + "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-property-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", - "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz", - "integrity": "sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz", + "integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.20.7" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-jsx": "^7.28.6", + "@babel/types": "^7.28.6" } }, "@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", "dev": true, "requires": { - "@babel/plugin-transform-react-jsx": "^7.18.6" + "@babel/plugin-transform-react-jsx": "^7.27.1" } }, "@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-regenerator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", - "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", + "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "regenerator-transform": "^0.15.2" + "@babel/helper-plugin-utils": "^7.28.6" + } + }, + "@babel/plugin-transform-regexp-modifiers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", + "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", - "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-runtime": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", - "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", + "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", - "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", - "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", + "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", - "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-template-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", - "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz", - "integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", - "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", - "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", + "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", - "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", - "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", + "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/preset-env": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz", - "integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.0.tgz", + "integrity": "sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.1", - "@babel/plugin-syntax-import-attributes": "^7.24.1", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.1", - "@babel/plugin-transform-async-generator-functions": "^7.24.3", - "@babel/plugin-transform-async-to-generator": "^7.24.1", - "@babel/plugin-transform-block-scoped-functions": "^7.24.1", - "@babel/plugin-transform-block-scoping": "^7.24.5", - "@babel/plugin-transform-class-properties": "^7.24.1", - "@babel/plugin-transform-class-static-block": "^7.24.4", - "@babel/plugin-transform-classes": "^7.24.5", - "@babel/plugin-transform-computed-properties": "^7.24.1", - "@babel/plugin-transform-destructuring": "^7.24.5", - "@babel/plugin-transform-dotall-regex": "^7.24.1", - "@babel/plugin-transform-duplicate-keys": "^7.24.1", - "@babel/plugin-transform-dynamic-import": "^7.24.1", - "@babel/plugin-transform-exponentiation-operator": "^7.24.1", - "@babel/plugin-transform-export-namespace-from": "^7.24.1", - "@babel/plugin-transform-for-of": "^7.24.1", - "@babel/plugin-transform-function-name": "^7.24.1", - "@babel/plugin-transform-json-strings": "^7.24.1", - "@babel/plugin-transform-literals": "^7.24.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", - "@babel/plugin-transform-member-expression-literals": "^7.24.1", - "@babel/plugin-transform-modules-amd": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-modules-systemjs": "^7.24.1", - "@babel/plugin-transform-modules-umd": "^7.24.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.24.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", - "@babel/plugin-transform-numeric-separator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.5", - "@babel/plugin-transform-object-super": "^7.24.1", - "@babel/plugin-transform-optional-catch-binding": "^7.24.1", - "@babel/plugin-transform-optional-chaining": "^7.24.5", - "@babel/plugin-transform-parameters": "^7.24.5", - "@babel/plugin-transform-private-methods": "^7.24.1", - "@babel/plugin-transform-private-property-in-object": "^7.24.5", - "@babel/plugin-transform-property-literals": "^7.24.1", - "@babel/plugin-transform-regenerator": "^7.24.1", - "@babel/plugin-transform-reserved-words": "^7.24.1", - "@babel/plugin-transform-shorthand-properties": "^7.24.1", - "@babel/plugin-transform-spread": "^7.24.1", - "@babel/plugin-transform-sticky-regex": "^7.24.1", - "@babel/plugin-transform-template-literals": "^7.24.1", - "@babel/plugin-transform-typeof-symbol": "^7.24.5", - "@babel/plugin-transform-unicode-escapes": "^7.24.1", - "@babel/plugin-transform-unicode-property-regex": "^7.24.1", - "@babel/plugin-transform-unicode-regex": "^7.24.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.29.0", + "@babel/plugin-transform-async-to-generator": "^7.28.6", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.28.6", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", + "@babel/plugin-transform-modules-systemjs": "^7.29.0", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.29.0", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.31.0", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", "semver": "^6.3.1" }, "dependencies": { - "@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", - "semver": "^6.3.1" - } - }, "babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.0.tgz", + "integrity": "sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.2" + "@babel/helper-define-polyfill-provider": "^0.6.6", + "core-js-compat": "^3.48.0" } } } @@ -21855,70 +22111,57 @@ } }, "@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" } }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, "@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", - "requires": { - "regenerator-runtime": "^0.13.4" - } + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==" }, "@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" } }, "@babel/traverse": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", - "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/types": "^7.24.5", - "debug": "^4.3.1", - "globals": "^11.1.0" + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" } }, "@babel/types": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", - "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "requires": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" } }, "@balena/dockerignore": { @@ -21935,40 +22178,25 @@ "node-fetch": "^3.3.0" } }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true - }, "@csstools/css-parser-algorithms": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz", - "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", + "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", "dev": true, "peer": true, "requires": {} }, "@csstools/css-tokenizer": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz", - "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", + "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", "dev": true, "peer": true }, "@csstools/media-query-list-parser": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz", - "integrity": "sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==", - "dev": true, - "peer": true, - "requires": {} - }, - "@csstools/selector-specificity": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz", - "integrity": "sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz", + "integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==", "dev": true, "peer": true, "requires": {} @@ -22000,9 +22228,9 @@ } }, "@cypress/request": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.6.tgz", - "integrity": "sha512-fi0eVdCOtKu5Ed6+E8mYxUF6ZTFJDZvHogCBelM0xVXmrDEkyM22gRArQzq1YcHPm1V47Vf/iAD+WgVdUlJCGg==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.10.tgz", + "integrity": "sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -22011,36 +22239,125 @@ "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", - "form-data": "~4.0.0", + "form-data": "~4.0.4", "http-signature": "~1.4.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "6.13.0", + "qs": "~6.14.1", "safe-buffer": "^5.1.2", "tough-cookie": "^5.0.0", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" } }, + "@cypress/webpack-batteries-included-preprocessor": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@cypress/webpack-batteries-included-preprocessor/-/webpack-batteries-included-preprocessor-4.0.4.tgz", + "integrity": "sha512-aQ8aRvkbAjXVHzfC5U3Xpfwk0s1bVHR3Ze8GruEZflWhIQLfLD3I/ozAe1h92da/E9YeWheM51gI6R0C8cLNbg==", + "dev": true, + "requires": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", + "@babel/plugin-transform-runtime": "^7.28.0", + "@babel/preset-env": "^7.28.0", + "@babel/preset-react": "^7.27.1", + "@babel/runtime": "^7.28.2", + "babel-loader": "^10.0.0", + "babel-plugin-add-module-exports": "^1.0.2", + "buffer": "^6.0.3", + "coffee-loader": "^4.0.0", + "coffeescript": "2.6.0", + "debug": "^4.3.4", + "get-tsconfig": "^4.10.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "stream-browserify": "^3.0.0", + "ts-loader": "9.5.2", + "tsconfig-paths-webpack-plugin": "^3.5.2", + "webpack": "^5.88.2", + "webpack-bundle-analyzer": "4.10.2" + }, + "dependencies": { + "babel-loader": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", + "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", + "dev": true, + "requires": { + "find-up": "^5.0.0" + } + }, + "coffee-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/coffee-loader/-/coffee-loader-4.0.0.tgz", + "integrity": "sha512-RvgC8c0JwRew5lq3x2J+P4z9Cvan/v91muEvV90VJXcTuJbJQN20taZxfj6/XC4yysA8PInPGpxdB1J9LphLuQ==", + "dev": true, + "requires": {} + }, + "coffeescript": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.6.0.tgz", + "integrity": "sha512-gCGXhR72sTAdEr+oZh3FcOj04DrcMc9lZYSJUBNudkQ4tQXuPKE3cvcYVbK/HiVW+zFzLmnZdHexuJ33ufLZOg==", + "dev": true + }, + "semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true + }, + "source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true + }, + "ts-loader": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.2.tgz", + "integrity": "sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + } + } + } + }, "@cypress/webpack-preprocessor": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-6.0.2.tgz", - "integrity": "sha512-0+1+4iy4W9PE6R5ywBNKAZoFp8Sf//w3UJ+CKTqkcAjA29b+dtsD0iFT70DsYE0BMqUM1PO7HXFGbXllQ+bRAA==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-6.0.4.tgz", + "integrity": "sha512-ly+EcabWWbhrSPr2J/njQX7Y3da+QqOmFg8Og/MVmLxhDLKIzr2WhTdgzDYviPTLx/IKsdb41cc2RLYp6mSBRA==", "dev": true, + "peer": true, "requires": { "bluebird": "3.7.1", "debug": "^4.3.4", - "lodash": "^4.17.20" + "lodash": "^4.17.20", + "semver": "^7.3.2" }, "dependencies": { "bluebird": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", - "dev": true + "dev": true, + "peer": true + }, + "semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "peer": true } } }, @@ -22066,26 +22383,25 @@ } }, "@dependents/detective-less": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-5.0.0.tgz", - "integrity": "sha512-D/9dozteKcutI5OdxJd8rU+fL6XgaaRg60sPPJWkT33OCiRfkCu5wO5B/yXTaaL2e6EB0lcCBGe5E0XscZCvvQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-5.0.1.tgz", + "integrity": "sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==", "dev": true, "requires": { "gonzales-pe": "^4.3.0", - "node-source-walk": "^7.0.0" + "node-source-walk": "^7.0.1" } }, "@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "peer": true + "dev": true }, "@dual-bundle/import-meta-resolve": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", - "integrity": "sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", "dev": true, "peer": true }, @@ -22102,170 +22418,184 @@ } }, "@esbuild/aix-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", - "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", "dev": true, "optional": true }, "@esbuild/android-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", - "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", - "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", - "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", - "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", - "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", - "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", - "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", - "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", - "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", - "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", - "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", - "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", - "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", - "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", - "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", - "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", - "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", "dev": true, "optional": true }, "@esbuild/openbsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", - "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", - "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "dev": true, + "optional": true + }, + "@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", - "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", - "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", - "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", - "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", "dev": true, "optional": true }, @@ -22339,11 +22669,14 @@ "dev": true, "peer": true }, - "@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "dev": true + "@file-type/xml": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@file-type/xml/-/xml-0.4.4.tgz", + "integrity": "sha512-NhCyXoHlVZ8TqM476hyzwGJ24+D5IPSaZhmrPj7qXnEVb3q6jrFzA3mM9TBpknKSI9EuQeGTKRg2DXGUwvBBoQ==", + "requires": { + "sax": "^1.4.1", + "strtok3": "^10.3.4" + } }, "@floating-ui/core": { "version": "0.3.1", @@ -22358,21 +22691,68 @@ "@floating-ui/core": "^0.3.0" } }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true + "@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==" }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "@grpc/grpc-js": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.13.2.tgz", + "integrity": "sha512-nnR5nmL6lxF8YBqb6gWvEgLdLh/Fn+kvAdX5hUOnt48sNSb0riz/93ASd2E5gvanPA41X6Yp25bIfGRp1SMb2g==", + "dev": true, + "requires": { + "@grpc/proto-loader": "^0.7.13", + "@js-sdsl/ordered-map": "^4.4.2" + } + }, + "@grpc/proto-loader": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz", + "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==", + "dev": true, + "requires": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.5", + "yargs": "^17.7.2" + } + }, + "@hapi/address": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-5.1.1.tgz", + "integrity": "sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==", "dev": true, "requires": { - "@hapi/hoek": "^9.0.0" + "@hapi/hoek": "^11.0.2" + }, + "dependencies": { + "@hapi/hoek": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.7.tgz", + "integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==", + "dev": true + } } }, + "@hapi/formula": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-3.0.2.tgz", + "integrity": "sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==", + "dev": true + }, + "@hapi/pinpoint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.1.tgz", + "integrity": "sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==", + "dev": true + }, + "@hapi/tlds": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@hapi/tlds/-/tlds-1.1.6.tgz", + "integrity": "sha512-xdi7A/4NZokvV0ewovme3aUO5kQhW9pQ2YD1hRqZGhhSi5rBv4usHYidVocXSi9eihYsznZxLtAiEYYUL6VBGw==", + "dev": true + }, "@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -22400,13 +22780,23 @@ "peer": true }, "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, "@jridgewell/resolve-uri": { @@ -22415,53 +22805,38 @@ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true }, - "@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true - }, "@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", "dev": true, - "peer": true, "requires": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "peer": true, - "requires": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - } - } } }, "@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "@js-sdsl/ordered-map": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", + "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", + "dev": true + }, "@jsonjoy.com/base64": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", @@ -22491,6 +22866,16 @@ "peer": true, "requires": {} }, + "@keyv/serialize": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.3.tgz", + "integrity": "sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==", + "dev": true, + "peer": true, + "requires": { + "buffer": "^6.0.3" + } + }, "@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", @@ -22543,96 +22928,111 @@ "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==" }, "@nextcloud/auth": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.4.0.tgz", - "integrity": "sha512-T5OFltKd0O9Hfj47VrzE7TVjCwqOMHH9JLyjjLUR3pu2MaTY9WL6AjL79sHbFTXUaIkftZgJKu12lHYmqXnL2Q==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.5.3.tgz", + "integrity": "sha512-KIhWLk0BKcP4hvypE4o11YqKOPeFMfEFjRrhUUF+h7Fry+dhTBIEIxuQPVCKXMIpjTDd8791y8V6UdRZ2feKAQ==", "requires": { - "@nextcloud/browser-storage": "^0.4.0", - "@nextcloud/event-bus": "^3.3.1" + "@nextcloud/browser-storage": "^0.5.0", + "@nextcloud/event-bus": "^3.3.2" } }, "@nextcloud/axios": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.5.1.tgz", - "integrity": "sha512-AA7BPF/rsOZWAiVxqlobGSdD67AEwjOnymZCKUIwEIBArKxYK7OQEqcILDjQwgj6G0e/Vg9Y8zTVsPZp+mlvwA==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.5.2.tgz", + "integrity": "sha512-8frJb77jNMbz00TjsSqs1PymY0nIEbNM4mVmwen2tXY7wNgRai6uXilIlXKOYB9jR/F/HKRj6B4vUwVwZbhdbw==", "requires": { - "@nextcloud/auth": "^2.3.0", + "@nextcloud/auth": "^2.5.1", "@nextcloud/router": "^3.0.1", - "axios": "^1.6.8" + "axios": "^1.12.2" } }, "@nextcloud/babel-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/babel-config/-/babel-config-1.2.0.tgz", - "integrity": "sha512-QOESlmX99UOfXdPANpoeFtfoRWWfKhBm1wXgF2lLnwpOBq4ZzdtqI+wphhWA/lkdfw/sftZzd1UJF/gcPDpiAw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/babel-config/-/babel-config-1.3.0.tgz", + "integrity": "sha512-qk4mBJahzp2mkiizU9RbeABa6JhqSwR43SXptNQhM3kpxAuP2OAQQhomYnxog/XfFcYExZzOkgRBPlcLEoik0w==", "dev": true, "requires": {} }, "@nextcloud/browser-storage": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/browser-storage/-/browser-storage-0.4.0.tgz", - "integrity": "sha512-D6XxznxCYmJ3oBCC3p0JB6GZJ2RZ9dgbB1UqtTePXrIvHUMBAeF/YkiGKYxLAVZCZb+NSNZXgAYHm/3LnIUbDg==", - "requires": { - "core-js": "3.37.0" - } + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@nextcloud/browser-storage/-/browser-storage-0.5.0.tgz", + "integrity": "sha512-usYr4GlJQlK3hgZURvklqWb9ivi7sgsSuFqXrs7s4hl1LTS4enzPrnkQumm6nRsQruf0ITS+OBsK+oELEbvYPA==" }, "@nextcloud/browserslist-config": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-3.0.1.tgz", - "integrity": "sha512-GZTxL5fsDgmFoot/qnRurjHCuHjSfOg+A6t4+P2TySXua2Q1Ex0lecZYlSnRuOR/W5BGOZ06ITTA/hbkSh1Ypg==", - "dev": true + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-3.1.2.tgz", + "integrity": "sha512-2iXl1rqQOHvggFIl/V3J5OpbodVazOsO38Gz/2sUAmtWXuOpGZG+7i6zQcVqGVaT1VzyPJ1gPiMpyyZi/XRWNA==", + "dev": true, + "requires": {} }, "@nextcloud/capabilities": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/capabilities/-/capabilities-1.2.0.tgz", - "integrity": "sha512-L1NQtOfHWzkfj0Ple1MEJt6HmOHWAi3y4qs+OnwSWexqJT0DtXTVPyRxi7ADyITwRxS5H9R/HMl6USAj4Nr1nQ==", - "requires": { - "@nextcloud/initial-state": "^2.1.0" - } - }, - "@nextcloud/cypress": { - "version": "1.0.0-beta.12", - "resolved": "https://registry.npmjs.org/@nextcloud/cypress/-/cypress-1.0.0-beta.12.tgz", - "integrity": "sha512-/o+DiuX5LKeaIKpRvBiao8e4WXl0GJY+jn1NZpFg3jzYDQz4jDFx+wANvAzIlPpxoRqkKPPifZWwZc4IMYe0XQ==", - "dev": true, + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@nextcloud/capabilities/-/capabilities-1.2.1.tgz", + "integrity": "sha512-snZ0/910zzwN6PDsIlx2Uvktr1S5x0ClhDUnfPlCj7ntNvECzuVHNY5wzby22LIkc+9ZjaDKtCwuCt2ye+9p/Q==", "requires": { - "dockerode": "^4.0.2", - "fast-xml-parser": "^4.3.6", - "wait-on": "^8.0.0" + "@nextcloud/initial-state": "^3.0.0" + }, + "dependencies": { + "@nextcloud/initial-state": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", + "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==" + } } }, "@nextcloud/dialogs": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-6.0.1.tgz", - "integrity": "sha512-TlzNUy0eFPIjnop2Wfom45xJdUjLOoUwd/E8V/6ehh+PifrgIWGy6jqBYMRoQfUASc/LKtSYUrCN3yDgVrK8Tw==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-6.4.2.tgz", + "integrity": "sha512-xj6fyUdb56StWt1DWeDHYnqK0Ck7EWQLUEyWtXHnneknoOV3x/Y0HPRL5L2PTJaDuVQB8TcVW53JjR38JG9W6Q==", "requires": { "@mdi/js": "^7.4.47", - "@nextcloud/auth": "^2.4.0", - "@nextcloud/axios": "^2.5.1", - "@nextcloud/event-bus": "^3.3.1", - "@nextcloud/files": "^3.9.0", - "@nextcloud/initial-state": "^2.2.0", - "@nextcloud/l10n": "^3.1.0", - "@nextcloud/router": "^3.0.1", - "@nextcloud/sharing": "^0.2.3", - "@nextcloud/typings": "^1.9.1", - "@types/toastify-js": "^1.12.3", - "@vueuse/core": "^11.2.0", + "@nextcloud/auth": "^2.5.3", + "@nextcloud/axios": "^2.5.2", + "@nextcloud/browser-storage": "^0.5.0", + "@nextcloud/event-bus": "^3.3.3", + "@nextcloud/files": "^3.12.2", + "@nextcloud/initial-state": "^3.0.0", + "@nextcloud/l10n": "^3.4.1", + "@nextcloud/paths": "^3.0.0", + "@nextcloud/router": "^3.1.0", + "@nextcloud/sharing": "^0.3.0", + "@types/toastify-js": "^1.12.4", + "@vueuse/core": "^11.3.0", "cancelable-promise": "^4.3.1", - "p-queue": "^8.0.1", + "p-queue": "^9.0.1", "toastify-js": "^1.12.0", "vue-frag": "^1.4.3", - "webdav": "^5.7.1" + "webdav": "^5.8.0" }, "dependencies": { + "@nextcloud/initial-state": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", + "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==" + }, + "@nextcloud/paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-3.0.0.tgz", + "integrity": "sha512-+sTfTkIbVUa2Ue3bkz3R7F1mhddvHPOWUxkSNg7Q5dAsimVFBaTRgiBAJmsAag3JPsxyuS8kUgeb0zdEssRdTA==" + }, + "@nextcloud/sharing": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz", + "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==", + "requires": { + "@nextcloud/files": "^3.12.0", + "@nextcloud/initial-state": "^3.0.0", + "is-svg": "^6.1.0" + } + }, "@vueuse/core": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.2.0.tgz", - "integrity": "sha512-JIUwRcOqOWzcdu1dGlfW04kaJhW3EXnnjJJfLTtddJanymTL7lF1C0+dVVZ/siLfc73mWn+cGP1PE1PKPruRSA==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.3.0.tgz", + "integrity": "sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==", "requires": { "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "11.2.0", - "@vueuse/shared": "11.2.0", + "@vueuse/metadata": "11.3.0", + "@vueuse/shared": "11.3.0", "vue-demi": ">=0.14.10" }, "dependencies": { @@ -22645,14 +23045,14 @@ } }, "@vueuse/metadata": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.2.0.tgz", - "integrity": "sha512-L0ZmtRmNx+ZW95DmrgD6vn484gSpVeRbgpWevFKXwqqQxW9hnSi2Ppuh2BzMjnbv4aJRiIw8tQatXT9uOB23dQ==" + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.3.0.tgz", + "integrity": "sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==" }, "@vueuse/shared": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.2.0.tgz", - "integrity": "sha512-VxFjie0EanOudYSgMErxXfq6fo8vhr5ICI+BuE3I9FnX7ePllEsVrRQ7O6Q1TLgApeLuPKcHQxAXpP+KnlrJsg==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.3.0.tgz", + "integrity": "sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==", "requires": { "vue-demi": ">=0.14.10" }, @@ -22664,13 +23064,105 @@ "requires": {} } } + }, + "eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, + "p-queue": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.0.1.tgz", + "integrity": "sha512-RhBdVhSwJb7Ocn3e8ULk4NMwBEuOxe+1zcgphUy9c2e5aR/xbEsdVXxHJ3lynw6Qiqu7OINEyHlZkiblEpaq7w==", + "requires": { + "eventemitter3": "^5.0.1", + "p-timeout": "^7.0.0" + } + }, + "p-timeout": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", + "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==" + } + } + }, + "@nextcloud/e2e-test-server": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@nextcloud/e2e-test-server/-/e2e-test-server-0.4.0.tgz", + "integrity": "sha512-nKdLXOn4TY9+Z/dE4AKDsk6Fhp6xm5gUIFx4gW5z4Ivrp/nl7iGun5zDmbyjW7mHF55orqVxNl8GBHzVDTd0Sg==", + "dev": true, + "requires": { + "@nextcloud/paths": "^2.2.1", + "dockerode": "^4.0.2", + "fast-xml-parser": "^5.2.2", + "wait-on": "^9.0.1" + }, + "dependencies": { + "@hapi/hoek": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.7.tgz", + "integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==", + "dev": true + }, + "@hapi/topo": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz", + "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==", + "dev": true, + "requires": { + "@hapi/hoek": "^11.0.2" + } + }, + "fast-xml-parser": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.4.2.tgz", + "integrity": "sha512-pw/6pIl4k0CSpElPEJhDppLzaixDEuWui2CUQQBH/ECDf7+y6YwA4Gf7Tyb0Rfe4DIMuZipYj4AEL0nACKglvQ==", + "dev": true, + "requires": { + "fast-xml-builder": "^1.0.0", + "strnum": "^2.1.2" + } + }, + "joi": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-18.0.2.tgz", + "integrity": "sha512-RuCOQMIt78LWnktPoeBL0GErkNaJPTBGcYuyaBvUOQSpcpcLfWrHPPihYdOGbV5pam9VTWbeoF7TsGiHugcjGA==", + "dev": true, + "requires": { + "@hapi/address": "^5.1.1", + "@hapi/formula": "^3.0.2", + "@hapi/hoek": "^11.0.7", + "@hapi/pinpoint": "^2.0.1", + "@hapi/tlds": "^1.1.1", + "@hapi/topo": "^6.0.2", + "@standard-schema/spec": "^1.0.0" + } + }, + "strnum": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.2.tgz", + "integrity": "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==", + "dev": true + }, + "wait-on": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-9.0.4.tgz", + "integrity": "sha512-k8qrgfwrPVJXTeFY8tl6BxVHiclK11u72DVKhpybHfUL/K6KM4bdyK9EhIVYGytB5MJe/3lq4Tf0hrjM+pvJZQ==", + "dev": true, + "requires": { + "axios": "^1.13.5", + "joi": "^18.0.2", + "lodash": "^4.17.23", + "minimist": "^1.2.8", + "rxjs": "^7.8.2" + } } } }, "@nextcloud/eslint-config": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.4.1.tgz", - "integrity": "sha512-ilrPxOnfVkB4dAddtkhbJmbYK9FwEVZ5oIJ2ipiE97rQz82TUZxmfEHE1tr87FbIvz0drIcREgGil3zuNWHjrg==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.4.2.tgz", + "integrity": "sha512-zsDcBxvp2Vr/BgasK/vNYJ84LOXjl4RseJPrcp93zcnaB2WnygV50Sd0nQ5JN0ngTyPjiIlGd92MMzrMTofjRA==", "dev": true, "requires": {} }, @@ -22696,82 +23188,58 @@ } }, "@nextcloud/event-bus": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.3.1.tgz", - "integrity": "sha512-VBYJspOVk5aZopgZwCUoMKFqcTLCNel2TLvtu0HMPV2gR5ZLPiPAKbkyKkYTh+Sd5QB1gR6l3STTv1gyal0soQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.3.3.tgz", + "integrity": "sha512-zIfvKmUGkXpVzRKoXrcO9hkoiKDm65fqNxy/XIbIxrQhZByPq3gDkjBpnu3V5Gs8JdYwa73R8DjzV9oH8HYhIg==", "requires": { - "@types/node": "^20.12.12", - "semver": "^7.6.2" + "@types/semver": "^7.7.0", + "semver": "^7.7.2" }, "dependencies": { "semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==" } } }, "@nextcloud/files": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.10.1.tgz", - "integrity": "sha512-hYUK28ZEU4GTbMXd0/YXTUUKedWnzdr4Eva+6sTxiuJMnACJ4/pZvSzFL9i82fBXvR/0MI5DA6+1gryMyNv1ww==", - "requires": { - "@nextcloud/auth": "^2.4.0", - "@nextcloud/capabilities": "^1.2.0", - "@nextcloud/l10n": "^3.1.0", - "@nextcloud/logger": "^3.0.2", - "@nextcloud/paths": "^2.2.1", - "@nextcloud/router": "^3.0.1", - "@nextcloud/sharing": "^0.2.3", + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.12.2.tgz", + "integrity": "sha512-vBo8tf3Xh6efiF8CrEo3pKj9AtvAF6RdDGO1XKL65IxV8+UUd9Uxl2lUExHlzoDRRczCqfGfaWfRRaFhYqce5Q==", + "requires": { + "@nextcloud/auth": "^2.5.3", + "@nextcloud/capabilities": "^1.2.1", + "@nextcloud/l10n": "^3.4.1", + "@nextcloud/logger": "^3.0.3", + "@nextcloud/paths": "^3.0.0", + "@nextcloud/router": "^3.1.0", + "@nextcloud/sharing": "^0.3.0", "cancelable-promise": "^4.3.1", - "is-svg": "^5.1.0", - "typedoc-plugin-missing-exports": "^3.1.0", + "is-svg": "^6.1.0", "typescript-event-target": "^1.1.1", - "webdav": "^5.7.1" + "webdav": "^5.8.0" }, "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "peer": true, - "requires": { - "balanced-match": "^1.0.0" - } + "@nextcloud/initial-state": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", + "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==" }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "peer": true, - "requires": { - "brace-expansion": "^2.0.1" - } + "@nextcloud/paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-3.0.0.tgz", + "integrity": "sha512-+sTfTkIbVUa2Ue3bkz3R7F1mhddvHPOWUxkSNg7Q5dAsimVFBaTRgiBAJmsAag3JPsxyuS8kUgeb0zdEssRdTA==" }, - "typedoc": { - "version": "0.26.11", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.11.tgz", - "integrity": "sha512-sFEgRRtrcDl2FxVP58Ze++ZK2UQAEvtvvH8rRlig1Ja3o7dDaMHmaBfvJmdGnNEFaLTpQsN8dpvZaTqJSu/Ugw==", - "peer": true, + "@nextcloud/sharing": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz", + "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==", "requires": { - "lunr": "^2.3.9", - "markdown-it": "^14.1.0", - "minimatch": "^9.0.5", - "shiki": "^1.16.2", - "yaml": "^2.5.1" + "@nextcloud/files": "^3.12.0", + "@nextcloud/initial-state": "^3.0.0", + "is-svg": "^6.1.0" } - }, - "typedoc-plugin-missing-exports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-3.1.0.tgz", - "integrity": "sha512-Sogbaj+qDa21NjB3SlIw4JXSwmcl/WOjwiPNaVEcPhpNG/MiRTtpwV81cT7h1cbu9StpONFPbddYWR0KV/fTWA==", - "requires": {} - }, - "typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", - "peer": true } } }, @@ -22781,149 +23249,124 @@ "integrity": "sha512-cDW98L5KGGgpS8pzd+05304/p80cyu8U2xSDQGa+kGPTpUFmCbv2qnO5WrwwGTauyjYijCal2bmw82VddSH+Pg==" }, "@nextcloud/l10n": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-3.1.0.tgz", - "integrity": "sha512-unciqr8QSJ29vFBw9S1bquyoj1PTWHszNL8tcUNuxUAYpq0hX+8o7rpB5gimELA4sj4m9+VCJwgLtBZd1Yj0lg==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-3.4.1.tgz", + "integrity": "sha512-aTFinTcKiK2gEXwLgutXekpZZ8/v/4QiC8C3QCLH5m0o+WtxsBC+fqV142ebC/rfDnzCLhY4ZtswSu8bFbZocg==", "requires": { "@nextcloud/router": "^3.0.1", - "@nextcloud/typings": "^1.8.0", - "@types/dompurify": "^3.0.5", + "@nextcloud/typings": "^1.9.1", "@types/escape-html": "^1.0.4", - "dompurify": "^3.1.2", - "escape-html": "^1.0.3", - "node-gettext": "^3.0.0" + "dompurify": "^3.2.6", + "escape-html": "^1.0.3" } }, "@nextcloud/logger": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-3.0.2.tgz", - "integrity": "sha512-wByt0R0/6QC44RBpaJr1MWghjjOxk/pRbACHo/ZWWKht1qYbJRHB4GtEi+35KEIHY07ZpqxiDk6dIRuN7sXYWQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-3.0.3.tgz", + "integrity": "sha512-TcbVRL4/O5ffI1RXFmQAFD3gwwT15AAdr1770x+RNqVvfBdoGVyhzOwCIyA5Vfc3fA1iJXFa+rE6buJZSoqlcw==", "requires": { - "@nextcloud/auth": "^2.3.0" + "@nextcloud/auth": "^2.5.3" } }, "@nextcloud/moment": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@nextcloud/moment/-/moment-1.3.2.tgz", - "integrity": "sha512-VfSPnllfciZe1eU4zaHS0fE/4pPWKRUjLFxZSNQec9gkUfbskMsKH2xyPqkYLlYP9FF1uQh2+wZbzkFd6QLc4A==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@nextcloud/moment/-/moment-1.3.5.tgz", + "integrity": "sha512-sQjQ/D40sdedtq4ywuANSxqG0VhIB/i+QtZ6Voz3nyZWhkyyqGxdj9rQu9AyEvas3/Jlspdom5chc+a8jOmHxQ==", "requires": { - "@nextcloud/l10n": "^2.2.0", - "moment": "^2.30.1", - "node-gettext": "^3.0.0" - }, - "dependencies": { - "@nextcloud/l10n": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-2.2.0.tgz", - "integrity": "sha512-UAM2NJcl/NR46MANSF7Gr7q8/Up672zRyGrxLpN3k4URNmWQM9upkbRME+1K3T29wPrUyOIbQu710ZjvZafqFA==", - "requires": { - "@nextcloud/router": "^2.1.2", - "@nextcloud/typings": "^1.7.0", - "dompurify": "^3.0.3", - "escape-html": "^1.0.3", - "node-gettext": "^3.0.0" - } - }, - "@nextcloud/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-2.2.0.tgz", - "integrity": "sha512-M4AVGnB5tt3MYO5RpH/R2jq7z/nW05AmRhk4Lh68krVwRIYGo8pgNikKrPGogHd2Q3UgzF5Py1drHz3uuV99bQ==", - "requires": { - "@nextcloud/typings": "^1.7.0", - "core-js": "^3.6.4" - } - } + "@nextcloud/l10n": "^3.4.0", + "moment": "^2.30.1" } }, "@nextcloud/paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-2.2.1.tgz", - "integrity": "sha512-M3ShLjrxR7B48eKThLMoqbxTqTKyQXcwf9TgeXQGbCIhiHoXU6as5j8l5qNv/uZlANokVdowpuWHBi3b2+YNNA==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-2.2.2.tgz", + "integrity": "sha512-RPFYsGO8zEfEFh1jjbXO0q3792f5sgpulcY8IC2pFe4N1mhFwpFJJ/5IgTMa7popuAhB42v/1lFc4c8njyrvYA==" }, "@nextcloud/router": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-3.0.1.tgz", - "integrity": "sha512-Ci/uD3x8OKHdxSqXL6gRJ+mGJOEXjeiHjj7hqsZqVTsT7kOrCjDf0/J8z5RyLlokKZ0IpSe+hGxgi3YB7Gpw3Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-3.1.0.tgz", + "integrity": "sha512-e4dkIaxRSwdZJlZFpn9x03QgBn/Sa2hN1hp/BA7+AbzykmSAlKuWfdmX8j/8ewrLpQwYmZR23IZO9XwpJXq2Uw==", "requires": { - "@nextcloud/typings": "^1.7.0" + "@nextcloud/typings": "^1.10.0" } }, "@nextcloud/sharing": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.2.4.tgz", - "integrity": "sha512-kOLAr0w4NDUGPF42L22i9iSs6Z3ylTsE0RudAGDBzw/pnxGY8PEwZI2j0IMAFRfQ7XFNcpV/EVHI5YCMxtxGMQ==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.2.5.tgz", + "integrity": "sha512-B3K5Dq9b5dexDA5n3AAuCF69Huwhrpw0J72fsVXV4KpPdImjhVPlExAv5o70AoXa+OqN4Rwn6gqJw+3ED892zg==", "requires": { "@nextcloud/initial-state": "^2.2.0" } }, "@nextcloud/stylelint-config": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-3.0.1.tgz", - "integrity": "sha512-xZ9hhyDCK8bMxPchfcyMhGZ8oTG+H+fmzE+vvCIVni0O+SzCVBEKDuvtKWZJDUs3ngmnmNYN1tH5xjbZBBeYyw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-3.1.1.tgz", + "integrity": "sha512-nvkmeHkifV7MEmtNhkYVQXUgcqldm8pbq2TvKPSpdrXB247Xh6OpFhupDbTAgeEQDDRDneayEVfj6e6Kb9w3sQ==", "dev": true, - "requires": {} - }, - "@nextcloud/timezones": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nextcloud/timezones/-/timezones-0.1.1.tgz", - "integrity": "sha512-ldLuLyz605sszetnp6jy6mtlThu4ICKsZThxHIZwn6t4QzjQH3xr+k8mRU7GIvKq9egUFDqBp4gBjxm3/ROZig==", "requires": { - "ical.js": "^2.0.1" + "stylelint-use-logical": "^2.1.2" } }, "@nextcloud/typings": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.9.1.tgz", - "integrity": "sha512-i0l/L5gKW8EACbXHVxXM6wn3sUhY2qmnL2OijppzU4dENC7/hqySMQDer7/+cJbNSNG7uHF/Z+9JmHtDfRfuGg==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.10.0.tgz", + "integrity": "sha512-SMC42rDjOH3SspPTLMZRv76ZliHpj2JJkF8pGLP8l1QrVTZxE47Qz5qeKmbj2VL+dRv2e/NgixlAFmzVnxkhqg==", "requires": { "@types/jquery": "3.5.16" } }, + "@nextcloud/viewer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/viewer/-/viewer-1.0.0.tgz", + "integrity": "sha512-AaVXh+KyJ0q28AaqjBwDjjEuVB+v1GarIuuLCO2nfpkg/ekngQw25rmb4PzKVvbN8N35nb92GpQXBpG1ZtBrzg==", + "requires": {} + }, "@nextcloud/vue": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.22.0.tgz", - "integrity": "sha512-6smeLUVLl8lqh+ia9j+m3nk9fnjra/YNgNO8RI1He8LRuojB9ZQtIy3kGcqIN1BOi6fx9qLiBEkobazWzMmiSw==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.36.0.tgz", + "integrity": "sha512-x1MEh4nvCrD1zoJ3ybhtbSDox+1wyHRP7st95Uu14Wm630quRrfXGaQ1bxqaZ7en/wqaihR0NPyQKfmjrPmseg==", "requires": { - "@floating-ui/dom": "^1.1.0", + "@floating-ui/dom": "^1.7.5", "@linusborg/vue-simple-portal": "^0.1.5", - "@nextcloud/auth": "^2.4.0", - "@nextcloud/axios": "^2.5.0", - "@nextcloud/browser-storage": "^0.4.0", - "@nextcloud/capabilities": "^1.2.0", - "@nextcloud/event-bus": "^3.3.1", + "@nextcloud/auth": "^2.5.3", + "@nextcloud/axios": "^2.5.2", + "@nextcloud/browser-storage": "^0.5.0", + "@nextcloud/capabilities": "^1.2.1", + "@nextcloud/event-bus": "^3.3.3", "@nextcloud/initial-state": "^2.2.0", - "@nextcloud/l10n": "^3.1.0", - "@nextcloud/logger": "^3.0.2", - "@nextcloud/router": "^3.0.1", - "@nextcloud/sharing": "^0.2.3", - "@nextcloud/timezones": "^0.1.1", - "@nextcloud/vue-select": "^3.25.1", + "@nextcloud/l10n": "^3.4.1", + "@nextcloud/logger": "^3.0.3", + "@nextcloud/router": "^3.1.0", + "@nextcloud/sharing": "^0.3.0", + "@nextcloud/vue-select": "^3.26.0", "@vueuse/components": "^11.0.0", "@vueuse/core": "^11.0.0", + "blurhash": "^2.0.5", "clone": "^2.1.2", "debounce": "^2.2.0", - "dompurify": "^3.0.5", - "emoji-mart-vue-fast": "^15.0.1", + "dompurify": "^3.3.1", + "emoji-mart-vue-fast": "^15.0.5", "escape-html": "^1.0.3", "floating-vue": "^1.0.0-beta.19", - "focus-trap": "^7.4.3", - "linkify-string": "^4.0.0", + "focus-trap": "^7.8.0", + "linkify-string": "^4.3.2", "md5": "^2.3.0", + "p-queue": "^8.1.1", "rehype-external-links": "^3.0.0", - "rehype-highlight": "^7.0.1", + "rehype-highlight": "^7.0.2", "rehype-react": "^7.1.2", "remark-breaks": "^4.0.0", - "remark-gfm": "^4.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", + "remark-unlink-protocols": "^1.0.0", "splitpanes": "^2.4.1", "string-length": "^5.0.1", "striptags": "^3.2.0", - "tabbable": "^6.2.0", + "tabbable": "^6.4.0", "tributejs": "^5.1.3", "unified": "^11.0.1", "unist-builder": "^4.0.0", - "unist-util-visit": "^5.0.0", + "unist-util-visit": "^5.1.0", "vue": "^2.7.16", "vue-color": "^2.8.1", "vue-frag": "^1.4.3", @@ -22932,16 +23375,37 @@ }, "dependencies": { "@floating-ui/core": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.1.0.tgz", - "integrity": "sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ==" + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", + "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "requires": { + "@floating-ui/utils": "^0.2.10" + } }, "@floating-ui/dom": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.0.tgz", - "integrity": "sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", + "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", "requires": { - "@floating-ui/core": "^1.0.5" + "@floating-ui/core": "^1.7.4", + "@floating-ui/utils": "^0.2.10" + } + }, + "@nextcloud/sharing": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz", + "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==", + "requires": { + "@nextcloud/files": "^3.12.0", + "@nextcloud/initial-state": "^3.0.0", + "is-svg": "^6.1.0" + }, + "dependencies": { + "@nextcloud/initial-state": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", + "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==" + } } }, "@types/unist": { @@ -22998,9 +23462,9 @@ } }, "@nextcloud/vue-select": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/@nextcloud/vue-select/-/vue-select-3.25.1.tgz", - "integrity": "sha512-jqCi4G+Q0H6+Hm8wSN3vRX2+eXG2jXR2bwBX/sErVEsH5UaxT4Nb7KqgdeIjVfeF7ccIdRqpmIb4Pkf0lao67w==", + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/@nextcloud/vue-select/-/vue-select-3.26.0.tgz", + "integrity": "sha512-UvJExrxzx5pP3lv7j6zrv2yj6B1dXph7sh3lLNPnbJPjPoH/yg58mHNFBcPJrRYMbpy2t3hlC6F7s33KCTr9FA==", "requires": {} }, "@nextcloud/webpack-vue-config": { @@ -23046,6 +23510,13 @@ "fastq": "^1.6.0" } }, + "@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "peer": true + }, "@parcel/watcher": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", @@ -23167,100 +23638,87 @@ "optional": true, "peer": true }, - "@shikijs/core": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.23.1.tgz", - "integrity": "sha512-NuOVgwcHgVC6jBVH5V7iblziw6iQbWWHrj5IlZI3Fqu2yx9awH7OIQkXIcsHsUmY19ckwSgUMgrqExEyP5A0TA==", - "peer": true, - "requires": { - "@shikijs/engine-javascript": "1.23.1", - "@shikijs/engine-oniguruma": "1.23.1", - "@shikijs/types": "1.23.1", - "@shikijs/vscode-textmate": "^9.3.0", - "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.3" - }, - "dependencies": { - "@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "peer": true, - "requires": { - "@types/unist": "*" - } - } - } + "@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true }, - "@shikijs/engine-javascript": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.23.1.tgz", - "integrity": "sha512-i/LdEwT5k3FVu07SiApRFwRcSJs5QM9+tod5vYCPig1Ywi8GR30zcujbxGQFJHwYD7A5BUqagi8o5KS+LEVgBg==", - "peer": true, - "requires": { - "@shikijs/types": "1.23.1", - "@shikijs/vscode-textmate": "^9.3.0", - "oniguruma-to-es": "0.4.1" - } + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "dev": true }, - "@shikijs/engine-oniguruma": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.23.1.tgz", - "integrity": "sha512-KQ+lgeJJ5m2ISbUZudLR1qHeH3MnSs2mjFg7bnencgs5jDVPeJ2NVDJ3N5ZHbcTsOIh0qIueyAJnwg7lg7kwXQ==", - "peer": true, - "requires": { - "@shikijs/types": "1.23.1", - "@shikijs/vscode-textmate": "^9.3.0" - } + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true }, - "@shikijs/types": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.23.1.tgz", - "integrity": "sha512-98A5hGyEhzzAgQh2dAeHKrWW4HfCMeoFER2z16p5eJ+vmPeF6lZ/elEne6/UCU551F/WqkopqRsr1l2Yu6+A0g==", - "peer": true, - "requires": { - "@shikijs/vscode-textmate": "^9.3.0", - "@types/hast": "^3.0.4" - }, - "dependencies": { - "@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "peer": true, - "requires": { - "@types/unist": "*" - } - } - } + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true }, - "@shikijs/vscode-textmate": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.0.tgz", - "integrity": "sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==", - "peer": true + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "dev": true }, - "@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "dev": true, "requires": { - "@hapi/hoek": "^9.0.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, - "@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", "dev": true }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "dev": true + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "dev": true + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "dev": true + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", "dev": true }, + "@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true + }, + "@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + }, "@types/body-parser": { "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", @@ -23311,25 +23769,36 @@ "@types/ms": "*" } }, - "@types/dompurify": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", - "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", - "requires": { - "@types/trusted-types": "*" - } - }, "@types/escape-html": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.4.tgz", "integrity": "sha512-qZ72SFTgUAZ5a7Tj6kf2SHLetiH5S6f8G5frB2SPQ3EyF02kxdyBFf4Tz4banE3xCgGnKgWLt//a6VuYHKYJTg==" }, - "@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", "dev": true, - "peer": true + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true }, "@types/express": { "version": "4.17.21", @@ -23394,15 +23863,13 @@ "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "peer": true + "dev": true }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "peer": true + "dev": true }, "@types/mdast": { "version": "4.0.3", @@ -23420,14 +23887,15 @@ "peer": true }, "@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==" }, "@types/node": { "version": "20.12.12", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "dev": true, "requires": { "undici-types": "~5.26.4" } @@ -23486,6 +23954,11 @@ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", "peer": true }, + "@types/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==" + }, "@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", @@ -23540,15 +24013,22 @@ "@types/node": "*" } }, + "@types/tmp": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz", + "integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==", + "dev": true + }, "@types/toastify-js": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.3.tgz", - "integrity": "sha512-9RjLlbAHMSaae/KZNHGv19VG4gcLIm3YjvacCXBtfMfYn26h76YP5oxXI8k26q4iKXCB9LNfv18lsoS0JnFPTg==" + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.4.tgz", + "integrity": "sha512-zfZHU4tKffPCnZRe7pjv/eFKzTVHozKewFCKaCjZ4gFinKgJRz/t0bkZiMCXJxPhv/ZoeDGNOeRD09R0kQZ/nw==" }, "@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "optional": true }, "@types/unist": { "version": "2.0.6", @@ -23612,6 +24092,40 @@ "debug": "^4.3.4" } }, + "@typescript-eslint/project-service": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", + "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", + "dev": true, + "requires": { + "@typescript-eslint/tsconfig-utils": "^8.54.0", + "@typescript-eslint/types": "^8.54.0", + "debug": "^4.4.3" + }, + "dependencies": { + "@typescript-eslint/types": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", + "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", + "dev": true + }, + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, "@typescript-eslint/scope-manager": { "version": "7.9.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.9.0.tgz", @@ -23623,6 +24137,13 @@ "@typescript-eslint/visitor-keys": "7.9.0" } }, + "@typescript-eslint/tsconfig-utils": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", + "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", + "dev": true, + "requires": {} + }, "@typescript-eslint/type-utils": { "version": "7.9.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.9.0.tgz", @@ -23640,13 +24161,15 @@ "version": "7.9.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.9.0.tgz", "integrity": "sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==", - "dev": true + "dev": true, + "peer": true }, "@typescript-eslint/typescript-estree": { "version": "7.9.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.9.0.tgz", "integrity": "sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==", "dev": true, + "peer": true, "requires": { "@typescript-eslint/types": "7.9.0", "@typescript-eslint/visitor-keys": "7.9.0", @@ -23659,28 +24182,31 @@ }, "dependencies": { "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "peer": true, "requires": { "balanced-match": "^1.0.0" } }, "minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, + "peer": true, "requires": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" } }, "semver": { "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true + "dev": true, + "peer": true } } }, @@ -23702,6 +24228,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.9.0.tgz", "integrity": "sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==", "dev": true, + "peer": true, "requires": { "@typescript-eslint/types": "7.9.0", "eslint-visitor-keys": "^3.4.3" @@ -23711,7 +24238,8 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true + "dev": true, + "peer": true } } }, @@ -23721,26 +24249,34 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, "@vue/compiler-core": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", - "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "version": "3.5.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.27.tgz", + "integrity": "sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==", "dev": true, "requires": { - "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.13", - "entities": "^4.5.0", + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.27", + "entities": "^7.0.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.2.0" + "source-map-js": "^1.2.1" + }, + "dependencies": { + "entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true + } } }, "@vue/compiler-dom": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", - "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "version": "3.5.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.27.tgz", + "integrity": "sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==", "dev": true, "requires": { - "@vue/compiler-core": "3.5.13", - "@vue/shared": "3.5.13" + "@vue/compiler-core": "3.5.27", + "@vue/shared": "3.5.27" } }, "@vue/compiler-sfc": { @@ -23755,13 +24291,13 @@ } }, "@vue/compiler-ssr": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", - "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "version": "3.5.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.27.tgz", + "integrity": "sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==", "dev": true, "requires": { - "@vue/compiler-dom": "3.5.13", - "@vue/shared": "3.5.13" + "@vue/compiler-dom": "3.5.27", + "@vue/shared": "3.5.27" } }, "@vue/component-compiler-utils": { @@ -23833,9 +24369,9 @@ } }, "@vue/shared": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", - "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "version": "3.5.27", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.27.tgz", + "integrity": "sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==", "dev": true }, "@vueuse/components": { @@ -23897,163 +24433,148 @@ } }, "@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", "dev": true, - "peer": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true, - "peer": true + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true, - "peer": true + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true, - "peer": true + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true }, "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", "dev": true, - "peer": true, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true, - "peer": true + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", "dev": true, - "peer": true, "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", "dev": true, - "peer": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", "dev": true, - "peer": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true, - "peer": true + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", "dev": true, - "peer": true, "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", "dev": true, - "peer": true, "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", "dev": true, - "peer": true, "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", "dev": true, - "peer": true, "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", "dev": true, - "peer": true, "requires": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, @@ -24085,15 +24606,13 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "peer": true + "dev": true }, "@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "peer": true + "dev": true }, "abort-controller": { "version": "3.0.0", @@ -24117,17 +24636,16 @@ } }, "acorn": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", - "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true }, - "acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", "dev": true, - "peer": true, "requires": {} }, "acorn-jsx": { @@ -24174,9 +24692,9 @@ } }, "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "peer": true, "requires": { @@ -24191,41 +24709,30 @@ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "peer": true, "requires": { "ajv": "^8.0.0" }, "dependencies": { "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, - "peer": true, "requires": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" } }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "peer": true + "dev": true } } }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "requires": {} - }, "ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -24263,12 +24770,12 @@ "dev": true }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "anymatch": { @@ -24310,16 +24817,17 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, "peer": true }, "array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, "requires": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" } }, "array-flatten": { @@ -24383,9 +24891,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true } } @@ -24411,9 +24919,9 @@ "dev": true }, "ast-module-types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-6.0.0.tgz", - "integrity": "sha512-LFRg7178Fw5R4FAEwZxVqiRI8IxSM+Ay2UBrHoCerXNme+kMMMfz7T3xDGV/c2fer87hcrtgJGsnSOfUrPK6ng==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-6.0.1.tgz", + "integrity": "sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==", "dev": true }, "astral-regex": { @@ -24422,12 +24930,6 @@ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -24440,10 +24942,13 @@ "dev": true }, "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "requires": { + "possible-typed-array-names": "^1.0.0" + } }, "aws-sign2": { "version": "0.7.0", @@ -24458,12 +24963,12 @@ "dev": true }, "axios": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", - "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", + "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", "requires": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", "proxy-from-env": "^1.1.0" }, "dependencies": { @@ -24509,33 +25014,33 @@ "dev": true }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz", + "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==", "dev": true, "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.6", + "semver": "^6.3.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz", + "integrity": "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.6.6" } }, "babelify": { @@ -24566,6 +25071,12 @@ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, + "baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "dev": true + }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -24641,40 +25152,38 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, + "blurhash": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz", + "integrity": "sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w==" + }, "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", + "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", "dev": true }, "body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", "dev": true, "peer": true, "requires": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "peer": true - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -24685,12 +25194,33 @@ "ms": "2.0.0" } }, + "http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "peer": true, + "requires": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "peer": true + }, + "statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "peer": true } } }, @@ -24713,9 +25243,9 @@ "peer": true }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -24975,43 +25505,41 @@ } }, "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", + "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", "dev": true, "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "bn.js": "^5.2.1", + "randombytes": "^2.1.0", + "safe-buffer": "^5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "browserify-sign": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", - "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", + "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", "dev": true, "requires": { - "bn.js": "^5.2.1", - "browserify-rsa": "^4.1.0", + "bn.js": "^5.2.2", + "browserify-rsa": "^4.1.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.5", - "hash-base": "~3.0", + "elliptic": "^6.6.1", "inherits": "^2.0.4", - "parse-asn1": "^5.1.7", + "parse-asn1": "^5.1.9", "readable-stream": "^2.3.8", "safe-buffer": "^5.2.1" }, "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -25070,15 +25598,16 @@ } }, "browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" } }, "buffer": { @@ -25086,7 +25615,6 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, - "peer": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -25168,12 +25696,23 @@ "integrity": "sha512-ovBpjmsgd/teRmgcPh23d4gJvxDoXtAzEL9xTfMU8Yc2kqCDb7L9jAG0XHl1nzuGl+h3ebCIF1i62UFyA9V/2Q==" }, "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "peer": true }, + "cacheable": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.9.0.tgz", + "integrity": "sha512-8D5htMCxPDUULux9gFzv30f04Xo3wCnik0oOxKoRTPIBoqA7HtOcJ87uBhQTs3jCfZZTrUBGsYIZOgE0ZRgMAg==", + "dev": true, + "peer": true, + "requires": { + "hookified": "^1.8.2", + "keyv": "^5.3.3" + } + }, "cached-path-relative": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", @@ -25187,16 +25726,34 @@ "dev": true }, "call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, "requires": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" + } + }, + "call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" } }, "callsites": { @@ -25212,9 +25769,9 @@ "integrity": "sha512-A/8PwLk/T7IJDfUdQ68NR24QHa8rIlnN/stiJEBo6dmVUkD4K14LswG0w3VwdeK/o7qOwRUR1k2MhK5Rpy2m7A==" }, "caniuse-lite": { - "version": "1.0.30001620", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz", - "integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==", + "version": "1.0.30001770", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", + "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", "dev": true }, "caseless": { @@ -25223,20 +25780,14 @@ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, - "ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" - }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "char-regex": { @@ -25249,29 +25800,11 @@ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" }, - "character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "peer": true - }, - "character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "peer": true - }, "charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" }, - "check-more-types": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", - "dev": true - }, "chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -25309,23 +25842,30 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "peer": true + "dev": true }, "ci-info": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", - "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", "dev": true }, "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", + "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "clamp": { @@ -25349,12 +25889,12 @@ } }, "cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", + "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", "dev": true, "requires": { - "@colors/colors": "1.5.0", + "colors": "1.4.0", "string-width": "^4.2.0" } }, @@ -25368,30 +25908,6 @@ "string-width": "^4.2.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", @@ -25405,6 +25921,17 @@ } } }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -25451,18 +25978,18 @@ "dev": true }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "colord": { @@ -25478,6 +26005,13 @@ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "optional": true + }, "combine-source-map": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", @@ -25521,8 +26055,7 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "peer": true + "dev": true }, "comment-parser": { "version": "1.4.1", @@ -25555,18 +26088,18 @@ } }, "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", "dev": true, "peer": true, "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "dependencies": { @@ -25586,6 +26119,20 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "peer": true + }, + "negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "peer": true + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "peer": true } } }, @@ -25726,12 +26273,12 @@ "integrity": "sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==" }, "core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz", + "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==", "dev": true, "requires": { - "browserslist": "^4.23.0" + "browserslist": "^4.28.1" } }, "core-util-is": { @@ -25754,14 +26301,14 @@ } }, "cpu-features": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", - "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.10.tgz", + "integrity": "sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==", "dev": true, "optional": true, "requires": { "buildcheck": "~0.0.6", - "nan": "^2.17.0" + "nan": "^2.19.0" } }, "create-ecdh": { @@ -25775,9 +26322,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true } } @@ -25826,28 +26373,47 @@ "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" }, "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", + "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", "dev": true, "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "browserify-cipher": "^1.0.1", + "browserify-sign": "^4.2.3", + "create-ecdh": "^4.0.4", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "diffie-hellman": "^5.0.3", + "hash-base": "~3.0.4", + "inherits": "^2.0.4", + "pbkdf2": "^3.1.2", + "public-encrypt": "^4.0.3", + "randombytes": "^2.1.0", + "randomfill": "^1.0.4" + }, + "dependencies": { + "hash-base": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", + "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "css-functions-list": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz", - "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", "dev": true, "peer": true }, @@ -25881,13 +26447,13 @@ } }, "css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", "dev": true, "peer": true, "requires": { - "mdn-data": "2.0.30", + "mdn-data": "2.12.2", "source-map-js": "^1.0.1" } }, @@ -25904,25 +26470,25 @@ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "cypress": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.17.0.tgz", - "integrity": "sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA==", + "version": "15.10.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-15.10.0.tgz", + "integrity": "sha512-OtUh7OMrfEjKoXydlAD1CfG2BvKxIqgWGY4/RMjrqQ3BKGBo5JFKoYNH+Tpcj4xKxWH4XK0Xri+9y8WkxhYbqQ==", "dev": true, "requires": { - "@cypress/request": "^3.0.6", + "@cypress/request": "^3.0.10", "@cypress/xvfb": "^1.2.4", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", + "@types/tmp": "^0.2.3", "arch": "^2.2.0", "blob-util": "^2.0.2", "bluebird": "^3.7.2", "buffer": "^5.7.1", "cachedir": "^2.3.0", "chalk": "^4.1.0", - "check-more-types": "^2.24.0", - "ci-info": "^4.0.0", + "ci-info": "^4.1.0", "cli-cursor": "^3.1.0", - "cli-table3": "~0.6.1", + "cli-table3": "0.6.1", "commander": "^6.2.1", "common-tags": "^1.8.0", "dayjs": "^1.10.4", @@ -25934,11 +26500,10 @@ "extract-zip": "2.0.1", "figures": "^3.2.0", "fs-extra": "^9.1.0", - "getos": "^3.2.1", + "hasha": "5.2.2", "is-installed-globally": "~0.4.0", - "lazy-ass": "^1.6.0", "listr2": "^3.8.3", - "lodash": "^4.17.21", + "lodash": "^4.17.23", "log-symbols": "^4.0.0", "minimist": "^1.2.8", "ospath": "^1.2.2", @@ -25946,23 +26511,14 @@ "process": "^0.11.10", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", - "semver": "^7.5.3", "supports-color": "^8.1.1", - "tmp": "~0.2.3", + "systeminformation": "^5.27.14", + "tmp": "~0.2.4", "tree-kill": "1.2.2", "untildify": "^4.0.0", "yauzl": "^2.10.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -25973,42 +26529,6 @@ "ieee754": "^1.1.13" } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "commander": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", @@ -26041,27 +26561,12 @@ "pump": "^3.0.0" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -26074,17 +26579,17 @@ } }, "cypress-split": { - "version": "1.24.7", - "resolved": "https://registry.npmjs.org/cypress-split/-/cypress-split-1.24.7.tgz", - "integrity": "sha512-JOxWgCQHi/JMOwznm6VF7V1GHYEM9Mxz6EipZu9WgQtqnRjk3QX6lBXJMjRXOPqArguL9S49OSFUQXDiC19hBg==", + "version": "1.24.28", + "resolved": "https://registry.npmjs.org/cypress-split/-/cypress-split-1.24.28.tgz", + "integrity": "sha512-6s6fAzZ2QG+p78ti2kBsOsLi+Pa1wEg+Z9uDj8B1I09QQm1JYZOsNo3fYtP2m3eWSQ9/iQhJ4VMlP63DALU7xQ==", "dev": true, "requires": { - "@actions/core": "^1.10.0", + "@actions/core": "2.0.3", "arg": "^5.0.2", "console.table": "^0.10.0", "debug": "^4.3.4", "fast-shuffle": "^6.1.0", - "find-cypress-specs": "1.46.2", + "find-cypress-specs": "1.54.9", "globby": "^11.1.0", "humanize-duration": "^3.28.0" } @@ -26141,9 +26646,9 @@ } }, "decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz", + "integrity": "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==", "requires": { "character-entities": "^2.0.0" } @@ -26274,15 +26779,15 @@ "peer": true }, "dependency-tree": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/dependency-tree/-/dependency-tree-11.0.1.tgz", - "integrity": "sha512-eCt7HSKIC9NxgIykG2DRq3Aewn9UhVS14MB3rEn6l/AsEI1FBg6ZGSlCU0SZ6Tjm2kkhj6/8c2pViinuyKELhg==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/dependency-tree/-/dependency-tree-11.2.0.tgz", + "integrity": "sha512-+C1H3mXhcvMCeu5i2Jpg9dc0N29TWTuT6vJD7mHLAfVmAbo9zW8NlkvQ1tYd3PDMab0IRQM0ccoyX68EZtx9xw==", "dev": true, "requires": { - "commander": "^12.0.0", - "filing-cabinet": "^5.0.1", - "precinct": "^12.0.2", - "typescript": "^5.4.5" + "commander": "^12.1.0", + "filing-cabinet": "^5.0.3", + "precinct": "^12.2.0", + "typescript": "^5.8.3" }, "dependencies": { "commander": { @@ -26353,40 +26858,40 @@ } }, "detective-amd": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-6.0.0.tgz", - "integrity": "sha512-NTqfYfwNsW7AQltKSEaWR66hGkTeD52Kz3eRQ+nfkA9ZFZt3iifRCWh+yZ/m6t3H42JFwVFTrml/D64R2PAIOA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-6.0.1.tgz", + "integrity": "sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==", "dev": true, "requires": { - "ast-module-types": "^6.0.0", + "ast-module-types": "^6.0.1", "escodegen": "^2.1.0", - "get-amd-module-type": "^6.0.0", - "node-source-walk": "^7.0.0" + "get-amd-module-type": "^6.0.1", + "node-source-walk": "^7.0.1" } }, "detective-cjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-6.0.0.tgz", - "integrity": "sha512-R55jTS6Kkmy6ukdrbzY4x+I7KkXiuDPpFzUViFV/tm2PBGtTCjkh9ZmTuJc1SaziMHJOe636dtiZLEuzBL9drg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-6.0.1.tgz", + "integrity": "sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==", "dev": true, "requires": { - "ast-module-types": "^6.0.0", - "node-source-walk": "^7.0.0" + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" } }, "detective-es6": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-5.0.0.tgz", - "integrity": "sha512-NGTnzjvgeMW1khUSEXCzPDoraLenWbUjCFjwxReH+Ir+P6LGjYtaBbAvITWn2H0VSC+eM7/9LFOTAkrta6hNYg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-5.0.1.tgz", + "integrity": "sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==", "dev": true, "requires": { - "node-source-walk": "^7.0.0" + "node-source-walk": "^7.0.1" } }, "detective-postcss": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-7.0.0.tgz", - "integrity": "sha512-pSXA6dyqmBPBuERpoOKKTUUjQCZwZPLRbd1VdsTbt6W+m/+6ROl4BbE87yQBUtLoK7yX8pvXHdKyM/xNIW9F7A==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-7.0.1.tgz", + "integrity": "sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==", "dev": true, "requires": { "is-url": "^1.2.4", @@ -26394,72 +26899,159 @@ } }, "detective-sass": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-6.0.0.tgz", - "integrity": "sha512-h5GCfFMkPm4ZUUfGHVPKNHKT8jV7cSmgK+s4dgQH4/dIUNh9/huR1fjEQrblOQNDalSU7k7g+tiW9LJ+nVEUhg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-6.0.1.tgz", + "integrity": "sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==", "dev": true, "requires": { "gonzales-pe": "^4.3.0", - "node-source-walk": "^7.0.0" + "node-source-walk": "^7.0.1" } }, "detective-scss": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-5.0.0.tgz", - "integrity": "sha512-Y64HyMqntdsCh1qAH7ci95dk0nnpA29g319w/5d/oYcHolcGUVJbIhOirOFjfN1KnMAXAFm5FIkZ4l2EKFGgxg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-5.0.1.tgz", + "integrity": "sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==", "dev": true, "requires": { "gonzales-pe": "^4.3.0", - "node-source-walk": "^7.0.0" + "node-source-walk": "^7.0.1" } }, "detective-stylus": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-5.0.0.tgz", - "integrity": "sha512-KMHOsPY6aq3196WteVhkY5FF+6Nnc/r7q741E+Gq+Ax9mhE2iwj8Hlw8pl+749hPDRDBHZ2WlgOjP+twIG61vQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-5.0.1.tgz", + "integrity": "sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==", "dev": true }, "detective-typescript": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-13.0.0.tgz", - "integrity": "sha512-tcMYfiFWoUejSbvSblw90NDt76/4mNftYCX0SMnVRYzSXv8Fvo06hi4JOPdNvVNxRtCAKg3MJ3cBJh+ygEMH+A==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-14.0.0.tgz", + "integrity": "sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "^7.6.0", - "ast-module-types": "^6.0.0", - "node-source-walk": "^7.0.0" + "@typescript-eslint/typescript-estree": "^8.23.0", + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" + }, + "dependencies": { + "@typescript-eslint/types": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", + "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", + "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", + "dev": true, + "requires": { + "@typescript-eslint/project-service": "8.54.0", + "@typescript-eslint/tsconfig-utils": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", + "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "8.54.0", + "eslint-visitor-keys": "^4.2.1" + } + }, + "brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true + }, + "minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.2" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true + }, + "ts-api-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "dev": true, + "requires": {} + } } }, "detective-vue2": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detective-vue2/-/detective-vue2-2.1.0.tgz", - "integrity": "sha512-IHQVhwk7dKaJ+GHBsL27mS9NRO1/vLZJPSODqtJgKquij0/UL8NvrbXbADbYeTkwyh1ReW/v9u9IRyEO5dvGZg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/detective-vue2/-/detective-vue2-2.2.0.tgz", + "integrity": "sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==", "dev": true, "requires": { - "@dependents/detective-less": "^5.0.0", - "@vue/compiler-sfc": "^3.5.12", - "detective-es6": "^5.0.0", - "detective-sass": "^6.0.0", - "detective-scss": "^5.0.0", - "detective-stylus": "^5.0.0", - "detective-typescript": "^13.0.0" + "@dependents/detective-less": "^5.0.1", + "@vue/compiler-sfc": "^3.5.13", + "detective-es6": "^5.0.1", + "detective-sass": "^6.0.1", + "detective-scss": "^5.0.1", + "detective-stylus": "^5.0.1", + "detective-typescript": "^14.0.0" }, "dependencies": { "@vue/compiler-sfc": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", - "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "version": "3.5.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.27.tgz", + "integrity": "sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==", "dev": true, "requires": { - "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.13", - "@vue/compiler-dom": "3.5.13", - "@vue/compiler-ssr": "3.5.13", - "@vue/shared": "3.5.13", + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.27", + "@vue/compiler-dom": "3.5.27", + "@vue/compiler-ssr": "3.5.27", + "@vue/shared": "3.5.27", "estree-walker": "^2.0.2", - "magic-string": "^0.30.11", - "postcss": "^8.4.48", - "source-map-js": "^1.2.0" + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" } } } @@ -26484,9 +27076,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true } } @@ -26511,9 +27103,9 @@ } }, "docker-modem": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.3.tgz", - "integrity": "sha512-89zhop5YVhcPEt5FpUFGr3cDyceGhq/F9J+ZndQ4KfqNvfbJpPMfgeixFgUj5OjCYAboElqODxY5Z1EBsSa6sg==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.6.tgz", + "integrity": "sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==", "dev": true, "requires": { "debug": "^4.1.1", @@ -26536,14 +27128,26 @@ } }, "dockerode": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.2.tgz", - "integrity": "sha512-9wM1BVpVMFr2Pw3eJNXrYYt6DT9k0xMcsSCjtPvyQ+xa1iPg/Mo3T/gUcwI0B2cczqCeCYRPF8yFYDwtFXT0+w==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.5.tgz", + "integrity": "sha512-ZPmKSr1k1571Mrh7oIBS/j0AqAccoecY2yH420ni5j1KyNMgnoTh4Nu4FWunh0HZIJmRSmSysJjBIpa/zyWUEA==", "dev": true, "requires": { "@balena/dockerignore": "^1.0.2", - "docker-modem": "^5.0.3", - "tar-fs": "~2.0.1" + "@grpc/grpc-js": "^1.11.1", + "@grpc/proto-loader": "^0.7.13", + "docker-modem": "^5.0.6", + "protobufjs": "^7.3.2", + "tar-fs": "~2.1.2", + "uuid": "^10.0.0" + }, + "dependencies": { + "uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "dev": true + } } }, "doctrine": { @@ -26593,9 +27197,12 @@ } }, "dompurify": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", - "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.2.tgz", + "integrity": "sha512-6obghkliLdmKa56xdbLOpUZ43pAR6xFy1uOrxBaIDjT+yaRuuybLjGS9eVBoSR/UPU5fq3OXClEHLJNGvbxKpQ==", + "requires": { + "@types/trusted-types": "^2.0.7" + } }, "domutils": { "version": "3.1.0", @@ -26609,6 +27216,22 @@ "domhandler": "^5.0.3" } }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -26671,15 +27294,15 @@ "peer": true }, "electron-to-chromium": { - "version": "1.4.774", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.774.tgz", - "integrity": "sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg==", + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", "dev": true }, "elliptic": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.0.tgz", - "integrity": "sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", "dev": true, "requires": { "bn.js": "^4.11.9", @@ -26692,17 +27315,17 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true } } }, "emoji-mart-vue-fast": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-15.0.1.tgz", - "integrity": "sha512-FcBio4MZsad+IwbaD2+1/obaK7W0F8EXlVXOXKgNCICaxkJD5WnA5bAtSXR0+FSBrMWz7DCAOqOojm7EapZ1eg==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-15.0.5.tgz", + "integrity": "sha512-wnxLor8ggpqshoOPwIc33MdOC3A1XFeDLgUwYLPtNPL8VeAtXJAVrnFq1CN5PeCYAFoLo4IufHQZ9CfHD4IZiw==", "requires": { "@babel/runtime": "^7.18.6", "core-js": "^3.23.5" @@ -26714,12 +27337,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "emoji-regex-xs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", - "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", - "peer": true - }, "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", @@ -26744,13 +27361,13 @@ } }, "enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", "dev": true, "requires": { "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "tapable": "^2.3.0" } }, "enquirer": { @@ -26766,7 +27383,9 @@ "entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "peer": true }, "env-paths": { "version": "2.2.1", @@ -26826,19 +27445,14 @@ } }, "es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.4" - } + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" }, "es-errors": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" }, "es-get-iterator": { "version": "1.1.3", @@ -26866,11 +27480,29 @@ } }, "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true, - "peer": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "dev": true + }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "requires": { + "es-errors": "^1.3.0" + } + }, + "es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "requires": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + } }, "es-shim-unscopables": { "version": "1.0.0", @@ -26895,41 +27527,43 @@ } }, "esbuild": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", - "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", - "dev": true, - "requires": { - "@esbuild/aix-ppc64": "0.23.1", - "@esbuild/android-arm": "0.23.1", - "@esbuild/android-arm64": "0.23.1", - "@esbuild/android-x64": "0.23.1", - "@esbuild/darwin-arm64": "0.23.1", - "@esbuild/darwin-x64": "0.23.1", - "@esbuild/freebsd-arm64": "0.23.1", - "@esbuild/freebsd-x64": "0.23.1", - "@esbuild/linux-arm": "0.23.1", - "@esbuild/linux-arm64": "0.23.1", - "@esbuild/linux-ia32": "0.23.1", - "@esbuild/linux-loong64": "0.23.1", - "@esbuild/linux-mips64el": "0.23.1", - "@esbuild/linux-ppc64": "0.23.1", - "@esbuild/linux-riscv64": "0.23.1", - "@esbuild/linux-s390x": "0.23.1", - "@esbuild/linux-x64": "0.23.1", - "@esbuild/netbsd-x64": "0.23.1", - "@esbuild/openbsd-arm64": "0.23.1", - "@esbuild/openbsd-x64": "0.23.1", - "@esbuild/sunos-x64": "0.23.1", - "@esbuild/win32-arm64": "0.23.1", - "@esbuild/win32-ia32": "0.23.1", - "@esbuild/win32-x64": "0.23.1" + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" } }, "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true }, "escape-html": { @@ -27010,44 +27644,6 @@ "text-table": "^0.2.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true - }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -27090,23 +27686,6 @@ "type-fest": "^0.20.2" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -27166,19 +27745,38 @@ } }, "eslint-import-resolver-typescript": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", - "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.8.3.tgz", + "integrity": "sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==", "dev": true, "peer": true, "requires": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.12.0", - "eslint-module-utils": "^2.7.4", - "fast-glob": "^3.3.1", - "get-tsconfig": "^4.5.0", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3" + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.3.7", + "enhanced-resolve": "^5.15.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^1.0.2", + "stable-hash": "^0.0.4", + "tinyglobby": "^0.2.12" + }, + "dependencies": { + "debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + } } }, "eslint-module-utils": { @@ -27372,9 +27970,9 @@ } }, "eslint-plugin-promise": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", - "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", + "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", "dev": true, "peer": true, "requires": {} @@ -27427,7 +28025,6 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "peer": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -27491,7 +28088,6 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "peer": true, "requires": { "estraverse": "^5.2.0" }, @@ -27500,8 +28096,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "peer": true + "dev": true } } }, @@ -27509,8 +28104,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "peer": true + "dev": true }, "estree-walker": { "version": "2.0.2", @@ -27567,6 +28161,23 @@ "safe-buffer": "^5.1.1" } }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, "executable": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", @@ -27577,40 +28188,40 @@ } }, "express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "dev": true, "peer": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", + "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.13.0", + "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", + "send": "~0.19.0", + "serve-static": "~1.16.2", "setprototypeof": "1.2.0", - "statuses": "2.0.1", + "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -27680,20 +28291,19 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "peer": true + "dev": true }, "fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "dependencies": { "glob-parent": { @@ -27736,10 +28346,22 @@ "pcg": "1.0.0" } }, + "fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true + }, + "fast-xml-builder": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.0.0.tgz", + "integrity": "sha512-fpZuDogrAgnyt9oDDz+5DBz0zgPdPZz6D4IR7iESxRXElrlGTRkHJ9eEt+SACRJwT0FNFrt71DFQIUFBJfX/uQ==", + "dev": true + }, "fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.4.tgz", + "integrity": "sha512-jE8ugADnYOBsu1uaoayVl1tVKAMNOXyjwvv2U6udEA2ORBhDooJDWoGxTkhd4Qn4yh59JVVt/pKXtjPwx9OguQ==", "requires": { "strnum": "^1.0.5" } @@ -27808,22 +28430,22 @@ } }, "filing-cabinet": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/filing-cabinet/-/filing-cabinet-5.0.2.tgz", - "integrity": "sha512-RZlFj8lzyu6jqtFBeXNqUjjNG6xm+gwXue3T70pRxw1W40kJwlgq0PSWAmh0nAnn5DHuBIecLXk9+1VKS9ICXA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/filing-cabinet/-/filing-cabinet-5.0.3.tgz", + "integrity": "sha512-PlPcMwVWg60NQkhvfoxZs4wEHjhlOO/y7OAm4sKM60o1Z9nttRY4mcdQxp/iZ+kg/Vv6Hw1OAaTbYVM9DA9pYg==", "dev": true, "requires": { "app-module-path": "^2.2.0", - "commander": "^12.0.0", - "enhanced-resolve": "^5.16.0", - "module-definition": "^6.0.0", - "module-lookup-amd": "^9.0.1", - "resolve": "^1.22.8", - "resolve-dependency-path": "^4.0.0", - "sass-lookup": "^6.0.1", - "stylus-lookup": "^6.0.0", + "commander": "^12.1.0", + "enhanced-resolve": "^5.18.0", + "module-definition": "^6.0.1", + "module-lookup-amd": "^9.0.3", + "resolve": "^1.22.10", + "resolve-dependency-path": "^4.0.1", + "sass-lookup": "^6.1.0", + "stylus-lookup": "^6.1.0", "tsconfig-paths": "^4.2.0", - "typescript": "^5.4.4" + "typescript": "^5.7.3" }, "dependencies": { "commander": { @@ -27968,37 +28590,57 @@ } }, "find-cypress-specs": { - "version": "1.46.2", - "resolved": "https://registry.npmjs.org/find-cypress-specs/-/find-cypress-specs-1.46.2.tgz", - "integrity": "sha512-eXvGQMftYDTbQflVX6TzJj7hA0ypO5+FfUrnMdRf1+yCu5xVY5wPv721AWp/xPBOpQXwx5jdoZRH9m95U/1c7A==", + "version": "1.54.9", + "resolved": "https://registry.npmjs.org/find-cypress-specs/-/find-cypress-specs-1.54.9.tgz", + "integrity": "sha512-Wc4SDIUV3Gtb+PblVLMLHP6xkcUzqkTOPRkSott0hIYVGl714jDztr3Blgt4x0dq7AKXaKCFT+8Bngrnd/yNBw==", "dev": true, "requires": { - "@actions/core": "^1.10.0", + "@actions/core": "^2.0.2", "arg": "^5.0.1", "console.table": "^0.10.0", "debug": "^4.3.3", - "find-test-names": "1.28.30", - "globby": "^11.1.0", - "minimatch": "^3.0.4", + "find-test-names": "1.29.19", + "minimatch": "^5.1.4", "pluralize": "^8.0.0", "require-and-forget": "^1.0.1", - "shelljs": "^0.8.5", - "spec-change": "^1.11.0", - "tsx": "^4.7.1" + "shelljs": "^0.10.0", + "spec-change": "^1.11.17", + "tinyglobby": "^0.2.15", + "tsx": "^4.19.3" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "find-test-names": { - "version": "1.28.30", - "resolved": "https://registry.npmjs.org/find-test-names/-/find-test-names-1.28.30.tgz", - "integrity": "sha512-b5PLJ5WnskdaYHBf+38FN/4TKh5lqwrltITkqxuARsN2bW6civrhqOXbVA+4727YNowYLt/jtIC9Dsn7eJSP6A==", + "version": "1.29.19", + "resolved": "https://registry.npmjs.org/find-test-names/-/find-test-names-1.29.19.tgz", + "integrity": "sha512-fSO2GXgOU6dH+FdffmRXYN/kLdnd8zkBGIZrKsmAdfLSFUUDLpDFF7+F/h+wjmjDWQmMgD8hPfJZR+igiEUQHQ==", "dev": true, "requires": { - "@babel/parser": "^7.24.7", - "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/parser": "^7.27.2", + "@babel/plugin-syntax-jsx": "^7.27.1", "acorn-walk": "^8.2.0", "debug": "^4.3.3", - "globby": "^11.0.4", - "simple-bin-help": "^1.8.0" + "simple-bin-help": "^1.8.0", + "tinyglobby": "^0.2.13" }, "dependencies": { "acorn-walk": { @@ -28017,7 +28659,6 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "peer": true, "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -28035,9 +28676,9 @@ } }, "flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, "peer": true }, @@ -28051,25 +28692,25 @@ } }, "focus-trap": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.2.tgz", - "integrity": "sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.8.0.tgz", + "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==", "requires": { - "tabbable": "^6.2.0" + "tabbable": "^6.4.0" } }, "follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==" }, "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, "requires": { - "is-callable": "^1.1.3" + "is-callable": "^1.2.7" } }, "forever-agent": { @@ -28079,12 +28720,14 @@ "dev": true }, "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, @@ -28144,8 +28787,7 @@ "function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, "function.prototype.name": { "version": "1.1.5", @@ -28173,13 +28815,13 @@ "dev": true }, "get-amd-module-type": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-6.0.0.tgz", - "integrity": "sha512-hFM7oivtlgJ3d6XWD6G47l8Wyh/C6vFw5G24Kk1Tbq85yh5gcM8Fne5/lFhiuxB+RT6+SI7I1ThB9lG4FBh3jw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-6.0.1.tgz", + "integrity": "sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ==", "dev": true, "requires": { - "ast-module-types": "^6.0.0", - "node-source-walk": "^7.0.0" + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" } }, "get-assigned-identifiers": { @@ -28188,17 +28830,27 @@ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", "dev": true }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, "get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "requires": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" } }, "get-own-enumerable-property-symbols": { @@ -28207,6 +28859,21 @@ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, "get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -28219,23 +28886,14 @@ } }, "get-tsconfig": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz", - "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", "dev": true, "requires": { "resolve-pkg-maps": "^1.0.0" } }, - "getos": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", - "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", - "dev": true, - "requires": { - "async": "^3.2.0" - } - }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -28273,8 +28931,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "peer": true + "dev": true }, "global-dirs": { "version": "3.0.1", @@ -28327,12 +28984,6 @@ } } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, "globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -28364,13 +29015,9 @@ } }, "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" }, "graceful-fs": { "version": "4.2.11", @@ -28385,6 +29032,15 @@ "dev": true, "peer": true }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, "handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", @@ -28408,9 +29064,9 @@ "dev": true }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "has-property-descriptors": { @@ -28422,47 +29078,52 @@ "es-define-property": "^1.0.0" } }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true - }, "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" }, "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "requires": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" } }, "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", + "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", "dev": true, "requires": { "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.1" }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "safe-buffer": { @@ -28470,6 +29131,23 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } } } }, @@ -28490,11 +29168,28 @@ "minimalistic-assert": "^1.0.1" } }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, + "requires": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "requires": { "function-bind": "^1.1.2" } @@ -28530,51 +29225,6 @@ } } }, - "hast-util-to-html": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz", - "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==", - "peer": true, - "requires": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" - }, - "dependencies": { - "@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "peer": true, - "requires": { - "@types/unist": "*" - } - }, - "@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "peer": true - }, - "hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "peer": true, - "requires": { - "@types/hast": "^3.0.0" - } - } - } - }, "hast-util-to-text": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", @@ -28614,9 +29264,9 @@ "peer": true }, "highlight.js": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", - "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==" + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==" }, "hmac-drbg": { "version": "1.0.1", @@ -28629,6 +29279,13 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "hookified": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.9.0.tgz", + "integrity": "sha512-2yEEGqphImtKIe1NXWEhu6yD3hlFR4Mxk4Mtp3XEyScpSt4pQ4ymmXA1zzxZpj99QkFK+nN0nzjeb2+RUi/6CQ==", + "dev": true, + "peer": true + }, "hot-patcher": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/hot-patcher/-/hot-patcher-2.0.1.tgz", @@ -28675,12 +29332,11 @@ } } }, - "html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", - "dev": true, - "peer": true + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true }, "html-tags": { "version": "3.3.1", @@ -28689,12 +29345,6 @@ "dev": true, "peer": true }, - "html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "peer": true - }, "htmlescape": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", @@ -28755,9 +29405,9 @@ } }, "http-proxy-middleware": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", - "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", "dev": true, "peer": true, "requires": { @@ -28785,6 +29435,12 @@ "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", "dev": true }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, "humanize-duration": { "version": "3.30.0", "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.30.0.tgz", @@ -28798,11 +29454,6 @@ "dev": true, "peer": true }, - "ical.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ical.js/-/ical.js-2.0.1.tgz", - "integrity": "sha512-uYYb1CwTXbd9NP/xTtgQZ5ivv6bpUjQu9VM98s3X78L3XRu00uJW5ZtmnLwyxhztpf5fSiRyDpFW7ZNCePlaPw==" - }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -28834,9 +29485,9 @@ "dev": true }, "immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.8.tgz", + "integrity": "sha512-d/Ld9aLbKpNwyl0KiM2CT1WYvkitQ1TSvmRtkcV8FKStiDoA7Slzgjmb/1G2yhKM1p0XeNOieaTbFZmU1d3Xuw==", "dev": true, "peer": true }, @@ -28939,14 +29590,14 @@ } }, "internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, "requires": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" } }, "interpret": { @@ -28979,13 +29630,14 @@ } }, "is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" } }, "is-arrayish": { @@ -29038,6 +29690,25 @@ "builtin-modules": "^3.3.0" } }, + "is-bun-module": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.3.0.tgz", + "integrity": "sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==", + "dev": true, + "peer": true, + "requires": { + "semver": "^7.6.3" + }, + "dependencies": { + "semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "peer": true + } + } + }, "is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -29045,12 +29716,12 @@ "dev": true }, "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "requires": { - "has": "^1.0.3" + "hasown": "^2.0.2" } }, "is-date-object": { @@ -29238,11 +29909,11 @@ } }, "is-svg": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-5.1.0.tgz", - "integrity": "sha512-uVg5yifaTxHoefNf5Jcx+i9RZe2OBYd/UStp1umx+EERa4xGRa3LLGXjoEph43qUORC0qkafUgrXZ6zzK89yGA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-6.1.0.tgz", + "integrity": "sha512-i7YPdvYuSCYcaLQrKwt8cvKTlwHcdA6Hp8N9SO3Q5jIzo8x6kH3N47W0BvPP7NdxVBmIHx7X9DK36czYYW7lHg==", "requires": { - "fast-xml-parser": "^4.4.1" + "@file-type/xml": "^0.4.3" } }, "is-symbol": { @@ -29255,12 +29926,12 @@ } }, "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, "requires": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.16" } }, "is-typedarray": { @@ -29304,13 +29975,13 @@ } }, "is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, "requires": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" } }, "is-wsl": { @@ -29353,45 +30024,23 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "peer": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "peer": true, "requires": { "has-flag": "^4.0.0" } } } }, - "joi": { - "version": "17.13.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", - "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -29399,9 +30048,9 @@ "dev": true }, "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "peer": true, "requires": { @@ -29422,24 +30071,16 @@ "peer": true }, "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "peer": true - }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "peer": true + "dev": true }, "json-schema": { "version": "0.4.0", @@ -29527,13 +30168,13 @@ } }, "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.3.tgz", + "integrity": "sha512-Rwu4+nXI9fqcxiEHtbkvoes2X+QfkTRo1TMkPfwzipGsJlJO/z69vqB4FNl9xJ3xCpAcbkvmEabZfPzrwN3+gQ==", "dev": true, "peer": true, "requires": { - "json-buffer": "3.0.1" + "@keyv/serialize": "^1.0.3" } }, "kind-of": { @@ -29544,9 +30185,9 @@ "peer": true }, "known-css-properties": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.30.0.tgz", - "integrity": "sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==", + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz", + "integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==", "dev": true, "peer": true }, @@ -29576,12 +30217,6 @@ "resolved": "https://registry.npmjs.org/layerr/-/layerr-3.0.0.tgz", "integrity": "sha512-tv754Ki2dXpPVApOrjTyRo4/QegVb9eVFq4mjqp4+NM5NaX7syQvN5BBNfV/ZpAHCEHV24XdUVrBAoka4jt3pA==" }, - "lazy-ass": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", - "dev": true - }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -29598,27 +30233,18 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true, - "peer": true - }, - "linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", - "peer": true, - "requires": { - "uc.micro": "^2.0.0" - } + "peer": true }, "linkify-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.0.2.tgz", - "integrity": "sha512-+HoBme50rPaKxh5TrEJqRLq4gphks1zj3cz6gMBKIHwJCFYVwHig8ii9aCzqGUz8DxF2otbq+Z3AJmKUnfOtKg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.3.2.tgz", + "integrity": "sha512-JqBuQpSa+CSj2tskIII70SKOjPfjXwDFyjRRNFTrlg76gp2nap36xeRj/cWaXxukqBNrxM+L07XyKRsUtH/DpQ==", "requires": {} }, "linkifyjs": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.0.2.tgz", - "integrity": "sha512-/VSoCZiglX0VMsXmL5PN3lRg45M86lrD9PskdkA2abWaTKap1bIcJ11LS4EE55bcUl9ZOR4eZ792UtQ9E/5xLA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.2.tgz", + "integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==", "peer": true }, "listr2": { @@ -29638,11 +30264,10 @@ } }, "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "peer": true + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "dev": true }, "loader-utils": { "version": "1.4.2", @@ -29673,15 +30298,20 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "peer": true, "requires": { "p-locate": "^5.0.0" } }, "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", "dev": true }, "lodash.clonedeep": { @@ -29696,11 +30326,6 @@ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - }, "lodash.memoize": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", @@ -29740,57 +30365,6 @@ "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "log-update": { @@ -29805,30 +30379,6 @@ "wrap-ansi": "^6.2.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -29848,19 +30398,14 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", "dev": true }, - "longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==" - }, "lowlight": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-3.1.0.tgz", - "integrity": "sha512-CEbNVoSikAxwDMDPjXlqlFYiZLkDJHwyGu/MfOsJnF3d7f3tds5J3z8s/l9TMXhzfsJCCJEAsD78842mwmg0PQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-3.3.0.tgz", + "integrity": "sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==", "requires": { "@types/hast": "^3.0.0", "devlop": "^1.0.0", - "highlight.js": "~11.9.0" + "highlight.js": "~11.11.0" }, "dependencies": { "@types/hast": { @@ -29882,45 +30427,25 @@ "yallist": "^4.0.0" } }, - "lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "peer": true - }, "magic-string": { - "version": "0.30.13", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.13.tgz", - "integrity": "sha512-8rYBO+MsWkgjDSOvLomYnzhdwEG51olQ4zL5KXnNJWV5MNmrb4rTZdrtkhxjnD/QyZUqR/Z/XDsUs/4ej2nx0g==", + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, "requires": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "markdown-it": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", - "peer": true, - "requires": { - "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", - "mdurl": "^2.0.0", - "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" + "@jridgewell/sourcemap-codec": "^1.5.5" } }, - "markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==" - }, "material-colors": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" + }, "mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -29949,6 +30474,15 @@ "safe-buffer": "^5.1.2" } }, + "mdast-squeeze-paragraphs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-6.0.0.tgz", + "integrity": "sha512-6NDbJPTg0M0Ye+TlYwX1KJ1LFbp515P2immRJyJQhc9Na9cetHzSoHNYIQcXpANEAP1sm9yd/CTZU2uHqR5A+w==", + "requires": { + "@types/mdast": "^4.0.0", + "unist-util-visit": "^5.0.0" + } + }, "mdast-util-find-and-replace": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", @@ -29968,9 +30502,9 @@ } }, "mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", "requires": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -29987,9 +30521,9 @@ }, "dependencies": { "@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" }, "unist-util-stringify-position": { "version": "4.0.0", @@ -30001,77 +30535,6 @@ } } }, - "mdast-util-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", - "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", - "requires": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - } - }, - "mdast-util-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", - "requires": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - } - }, - "mdast-util-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", - "requires": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - } - }, - "mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "requires": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - } - }, - "mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "requires": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - } - }, - "mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "requires": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - } - }, "mdast-util-newline-to-break": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz", @@ -30081,19 +30544,10 @@ "mdast-util-find-and-replace": "^3.0.0" } }, - "mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "requires": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - } - }, "mdast-util-to-hast": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", - "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", "requires": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -30102,7 +30556,8 @@ "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" }, "dependencies": { "@types/hast": { @@ -30112,28 +30567,37 @@ "requires": { "@types/unist": "*" } - } - } - }, - "mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", - "requires": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "dependencies": { + }, "@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" + }, + "unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "requires": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + } + }, + "vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + } } } }, @@ -30146,18 +30610,12 @@ } }, "mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", "dev": true, "peer": true }, - "mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", - "peer": true - }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -30216,148 +30674,62 @@ }, "methods": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true, - "peer": true - }, - "micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", - "requires": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "micromark-core-commonmark": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", - "requires": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "requires": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "micromark-extension-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", - "requires": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "micromark-extension-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", - "requires": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "micromark-extension-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", - "requires": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "peer": true }, - "micromark-extension-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", - "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", "requires": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "requires": { - "micromark-util-types": "^2.0.0" - } - }, - "micromark-extension-gfm-task-list-item": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", - "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", "requires": { + "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "micromark-factory-destination": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", "requires": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -30365,9 +30737,9 @@ } }, "micromark-factory-label": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", "requires": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -30376,18 +30748,18 @@ } }, "micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", "requires": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "micromark-factory-title": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", "requires": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -30396,9 +30768,9 @@ } }, "micromark-factory-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", "requires": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -30416,17 +30788,17 @@ } }, "micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", "requires": { "micromark-util-symbol": "^2.0.0" } }, "micromark-util-classify-character": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", "requires": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -30434,26 +30806,26 @@ } }, "micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", "requires": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "micromark-util-decode-numeric-character-reference": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", - "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", "requires": { "micromark-util-symbol": "^2.0.0" } }, "micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", "requires": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -30467,22 +30839,22 @@ "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==" }, "micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==" }, "micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", "requires": { "micromark-util-symbol": "^2.0.0" } }, "micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", "requires": { "micromark-util-types": "^2.0.0" } @@ -30498,9 +30870,9 @@ } }, "micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", "requires": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", @@ -30539,9 +30911,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true } } @@ -30585,9 +30957,9 @@ "dev": true }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -30606,13 +30978,13 @@ "dev": true }, "module-definition": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-6.0.0.tgz", - "integrity": "sha512-sEGP5nKEXU7fGSZUML/coJbrO+yQtxcppDAYWRE9ovWsTbFoUHB2qDUx564WUzDaBHXsD46JBbIK5WVTwCyu3w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-6.0.1.tgz", + "integrity": "sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==", "dev": true, "requires": { - "ast-module-types": "^6.0.0", - "node-source-walk": "^7.0.0" + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" } }, "module-deps": { @@ -30665,9 +31037,9 @@ } }, "module-lookup-amd": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/module-lookup-amd/-/module-lookup-amd-9.0.2.tgz", - "integrity": "sha512-p7PzSVEWiW9fHRX9oM+V4aV5B2nCVddVNv4DZ/JB6t9GsXY4E+ZVhPpnwUX7bbJyGeeVZqhS8q/JZ/H77IqPFA==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/module-lookup-amd/-/module-lookup-amd-9.0.5.tgz", + "integrity": "sha512-Rs5FVpVcBYRHPLuhHOjgbRhosaQYLtEo3JIeDIbmNo7mSssi1CTzwMh8v36gAzpbzLGXI9wB/yHh+5+3fY1QVw==", "dev": true, "requires": { "commander": "^12.1.0", @@ -30689,6 +31061,12 @@ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" }, + "mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -30706,16 +31084,16 @@ } }, "nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", + "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", "dev": true, "optional": true }, "nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==" + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==" }, "natural-compare": { "version": "1.4.0", @@ -30735,8 +31113,7 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "peer": true + "dev": true }, "nested-property": { "version": "4.0.0", @@ -30766,20 +31143,12 @@ } }, "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", "dev": true, "peer": true }, - "node-gettext": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/node-gettext/-/node-gettext-3.0.0.tgz", - "integrity": "sha512-/VRYibXmVoN6tnSAY2JWhNRhWYJ8Cd844jrZU/DwLVoI4vBI6ceYbd8i42sYZ9uOgDH3S7vslIKOWV/ZrT2YBA==", - "requires": { - "lodash.get": "^4.4.2" - } - }, "node-polyfill-webpack-plugin": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-4.0.0.tgz", @@ -30814,18 +31183,18 @@ } }, "node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true }, "node-source-walk": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-7.0.0.tgz", - "integrity": "sha512-1uiY543L+N7Og4yswvlm5NCKgPKDEXd9AUR9Jh3gen6oOeBsesr6LqhXom1er3eRzSUcVRWXzhv8tSNrIfGHKw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-7.0.1.tgz", + "integrity": "sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==", "dev": true, "requires": { - "@babel/parser": "^7.24.4" + "@babel/parser": "^7.26.7" } }, "normalize-path": { @@ -30860,9 +31229,9 @@ "dev": true }, "object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true }, "object-is": { @@ -30923,9 +31292,9 @@ } }, "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "dev": true, "peer": true }, @@ -30947,17 +31316,6 @@ "mimic-fn": "^2.1.0" } }, - "oniguruma-to-es": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-0.4.1.tgz", - "integrity": "sha512-rNcEohFz095QKGRovP/yqPIKc+nP+Sjs4YTHMv33nMePGKrq/r2eu9Yh4646M5XluGJsUnmwoXuiXE69KDs+fQ==", - "peer": true, - "requires": { - "emoji-regex-xs": "^1.0.0", - "regex": "^5.0.0", - "regex-recursion": "^4.2.1" - } - }, "open": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", @@ -30971,6 +31329,12 @@ "is-wsl": "^3.1.0" } }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, "optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -31012,7 +31376,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "peer": true, "requires": { "yocto-queue": "^0.1.0" } @@ -31022,7 +31385,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "peer": true, "requires": { "p-limit": "^3.0.2" } @@ -31037,9 +31399,9 @@ } }, "p-queue": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz", - "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", "requires": { "eventemitter3": "^5.0.1", "p-timeout": "^6.1.2" @@ -31065,9 +31427,9 @@ } }, "p-timeout": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.3.tgz", - "integrity": "sha512-UJUyfKbwvr/uZSV6btANfb+0t/mOhKV/KXcCUTp8FcQI+v/0d+wXqH4htrW0E4rR6WiEO/EPvUFiV9D5OI4vlw==" + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==" }, "p-try": { "version": "2.2.0", @@ -31102,29 +31464,18 @@ } }, "parse-asn1": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", - "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", + "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", "dev": true, "requires": { "asn1.js": "^4.10.1", "browserify-aes": "^1.2.0", "evp_bytestokey": "^1.0.3", - "hash-base": "~3.0", - "pbkdf2": "^3.1.2", + "pbkdf2": "^3.1.5", "safe-buffer": "^5.2.1" }, "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -31163,8 +31514,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "peer": true + "dev": true }, "path-is-absolute": { "version": "1.0.1", @@ -31209,16 +31559,25 @@ "dev": true }, "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", + "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", "dev": true, "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "ripemd160": "^2.0.3", + "safe-buffer": "^5.2.1", + "sha.js": "^2.4.12", + "to-buffer": "^1.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "pcg": { @@ -31319,12 +31678,18 @@ "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", "dev": true }, + "possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true + }, "postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "requires": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } @@ -31399,9 +31764,9 @@ } }, "postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", "dev": true, "peer": true }, @@ -31448,37 +31813,29 @@ "color-name": "^1.1.4", "is-url-superb": "^4.0.0", "quote-unquote": "^1.0.0" - }, - "dependencies": { - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } } }, "precinct": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/precinct/-/precinct-12.1.2.tgz", - "integrity": "sha512-x2qVN3oSOp3D05ihCd8XdkIPuEQsyte7PSxzLqiRgktu79S5Dr1I75/S+zAup8/0cwjoiJTQztE9h0/sWp9bJQ==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/precinct/-/precinct-12.2.0.tgz", + "integrity": "sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==", "dev": true, "requires": { - "@dependents/detective-less": "^5.0.0", + "@dependents/detective-less": "^5.0.1", "commander": "^12.1.0", - "detective-amd": "^6.0.0", - "detective-cjs": "^6.0.0", - "detective-es6": "^5.0.0", - "detective-postcss": "^7.0.0", - "detective-sass": "^6.0.0", - "detective-scss": "^5.0.0", - "detective-stylus": "^5.0.0", - "detective-typescript": "^13.0.0", - "detective-vue2": "^2.0.3", - "module-definition": "^6.0.0", - "node-source-walk": "^7.0.0", - "postcss": "^8.4.40", - "typescript": "^5.5.4" + "detective-amd": "^6.0.1", + "detective-cjs": "^6.0.1", + "detective-es6": "^5.0.1", + "detective-postcss": "^7.0.1", + "detective-sass": "^6.0.1", + "detective-scss": "^5.0.1", + "detective-stylus": "^5.0.1", + "detective-typescript": "^14.0.0", + "detective-vue2": "^2.2.0", + "module-definition": "^6.0.1", + "node-source-walk": "^7.0.1", + "postcss": "^8.5.1", + "typescript": "^5.7.3" }, "dependencies": { "commander": { @@ -31525,6 +31882,26 @@ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==" }, + "protobufjs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz", + "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", + "dev": true, + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + } + }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -31573,9 +31950,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true } } @@ -31597,19 +31974,13 @@ "dev": true, "peer": true }, - "punycode.js": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", - "peer": true - }, "qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dev": true, "requires": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" } }, "querystring-es3": { @@ -31668,22 +32039,36 @@ "peer": true }, "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "peer": true, "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "peer": true, + "requires": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + } + }, + "statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "dev": true, "peer": true } @@ -31764,52 +32149,14 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", "dev": true, "requires": { "regenerate": "^1.4.2" } }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/regex/-/regex-5.0.2.tgz", - "integrity": "sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==", - "peer": true, - "requires": { - "regex-utilities": "^2.3.0" - } - }, - "regex-recursion": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-4.2.1.tgz", - "integrity": "sha512-QHNZyZAeKdndD1G3bKAbBEKOSSK4KOHQrAJ01N1LJeb0SoH4DJIeFhp0uUpETgONifS4+P3sOgoA1dhzgrQvhA==", - "peer": true, - "requires": { - "regex-utilities": "^2.3.0" - } - }, - "regex-utilities": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", - "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", - "peer": true - }, "regexp.prototype.flags": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", @@ -31822,34 +32169,32 @@ } }, "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", "dev": true, "requires": { - "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" + "unicode-match-property-value-ecmascript": "^2.2.1" } }, + "regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true + }, "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", "dev": true, "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } + "jsesc": "~3.1.0" } }, "rehype-external-links": { @@ -31881,9 +32226,9 @@ } }, "rehype-highlight": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/rehype-highlight/-/rehype-highlight-7.0.1.tgz", - "integrity": "sha512-dB/vVGFsbm7xPglqnYbg0ABg6rAuIWKycTvuXaOO27SgLoOFNoTlniTBtAxp3n5ZyMioW1a3KwiNqgjkb6Skjg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rehype-highlight/-/rehype-highlight-7.0.2.tgz", + "integrity": "sha512-k158pK7wdC2qL3M5NcZROZ2tR/l7zOzjxXd5VGdcfIyoijjQqpHd3JKtYSBDpDZ38UI2WJWuFAtkMDxmx5kstA==", "requires": { "@types/hast": "^3.0.0", "hast-util-to-text": "^4.0.0", @@ -31902,82 +32247,8 @@ }, "@types/unist": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" - }, - "unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "requires": { - "@types/unist": "^3.0.0" - } - }, - "vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", - "requires": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - } - }, - "vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "requires": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - } - } - } - }, - "rehype-react": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/rehype-react/-/rehype-react-7.1.2.tgz", - "integrity": "sha512-IWsFMS2M4NTbvWzumBBKhdb39ElV+r5YQHA2HafDDRrH84bEryJA2YPPNbF9he4QzAFOssaMJ9buSC6cDcJTLw==", - "requires": { - "@mapbox/hast-util-table-cell-style": "^0.2.0", - "@types/hast": "^2.0.0", - "hast-to-hyperscript": "^10.0.0", - "hast-util-whitespace": "^2.0.0", - "unified": "^10.0.0" - } - }, - "remark-breaks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz", - "integrity": "sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==", - "requires": { - "@types/mdast": "^4.0.0", - "mdast-util-newline-to-break": "^2.0.0", - "unified": "^11.0.0" - }, - "dependencies": { - "@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - }, - "unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", - "requires": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - } + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" }, "unist-util-stringify-position": { "version": "4.0.0", @@ -31988,12 +32259,11 @@ } }, "vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", "requires": { "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" } }, @@ -32008,16 +32278,25 @@ } } }, - "remark-gfm": { + "rehype-react": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/rehype-react/-/rehype-react-7.1.2.tgz", + "integrity": "sha512-IWsFMS2M4NTbvWzumBBKhdb39ElV+r5YQHA2HafDDRrH84bEryJA2YPPNbF9he4QzAFOssaMJ9buSC6cDcJTLw==", + "requires": { + "@mapbox/hast-util-table-cell-style": "^0.2.0", + "@types/hast": "^2.0.0", + "hast-to-hyperscript": "^10.0.0", + "hast-util-whitespace": "^2.0.0", + "unified": "^10.0.0" + } + }, + "remark-breaks": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", - "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "resolved": "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz", + "integrity": "sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==", "requires": { "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", + "mdast-util-newline-to-break": "^2.0.0", "unified": "^11.0.0" }, "dependencies": { @@ -32086,9 +32365,9 @@ }, "dependencies": { "@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" }, "is-plain-obj": { "version": "4.1.0", @@ -32096,9 +32375,9 @@ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" }, "unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", "requires": { "@types/unist": "^3.0.0", "bail": "^2.0.0", @@ -32118,12 +32397,11 @@ } }, "vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", "requires": { "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" } }, @@ -32211,67 +32489,14 @@ } } }, - "remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "remark-unlink-protocols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/remark-unlink-protocols/-/remark-unlink-protocols-1.0.0.tgz", + "integrity": "sha512-5j/F28jhFmxeyz8nuJYYIWdR4nNpKWZ8A+tVwnK/0pq7Rjue33CINEYSckSq2PZvedhKUwbn08qyiuGoPLBung==", "requires": { "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "dependencies": { - "@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - }, - "unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", - "requires": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - } - }, - "unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "requires": { - "@types/unist": "^3.0.0" - } - }, - "vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "requires": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - } - }, - "vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "requires": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - } - } + "mdast-squeeze-paragraphs": "^6.0.0", + "unist-util-visit": "^5.0.0" } }, "request-progress": { @@ -32292,12 +32517,17 @@ "debug": "4.3.4" } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "peer": true + "dev": true }, "requireindex": { "version": "1.2.0", @@ -32307,9 +32537,9 @@ "peer": true }, "requirejs": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.7.tgz", - "integrity": "sha512-DouTG8T1WanGok6Qjg2SXuCMzszOo0eHeH9hDZ5Y4x8Je+9JB38HdTLT4/VA8OaUhBa0JPVHJ0pyBkM1z+pDsw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.8.tgz", + "integrity": "sha512-7/cTSLOdYkNBNJcDMWf+luFvMriVm7eYxp4BcFCsAX0wF421Vyce5SXP17c+Jd5otXKGNehIonFlyQXSowL6Mw==", "dev": true }, "requirejs-config-file": { @@ -32328,12 +32558,12 @@ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, "requires": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -32358,9 +32588,9 @@ } }, "resolve-dependency-path": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-dependency-path/-/resolve-dependency-path-4.0.0.tgz", - "integrity": "sha512-hlY1SybBGm5aYN3PC4rp15MzsJLM1w+MEA/4KU3UBPfz4S0lL3FL6mgv7JgaA8a+ZTeEQAiF1a1BuN2nkqiIlg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/resolve-dependency-path/-/resolve-dependency-path-4.0.1.tgz", + "integrity": "sha512-YQftIIC4vzO9UMhO/sCgXukNyiwVRCVaxiWskCBy7Zpqkplm8kTAISZ8O1MoKW1ca6xzgLUBjZTcDgypXvXxiQ==", "dev": true }, "resolve-from": { @@ -32423,13 +32653,13 @@ } }, "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", + "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "^3.1.2", + "inherits": "^2.0.4" } }, "run-applescript": { @@ -32449,9 +32679,9 @@ } }, "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "dev": true, "requires": { "tslib": "^2.1.0" @@ -32524,12 +32754,13 @@ } }, "sass-lookup": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/sass-lookup/-/sass-lookup-6.0.1.tgz", - "integrity": "sha512-nl9Wxbj9RjEJA5SSV0hSDoU2zYGtE+ANaDS4OFUR7nYrquvBFvPKZZtQHe3lvnxCcylEDV00KUijjdMTUElcVQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sass-lookup/-/sass-lookup-6.1.0.tgz", + "integrity": "sha512-Zx+lVyoWqXZxHuYWlTA17Z5sczJ6braNT2C7rmClw+c4E7r/n911Zwss3h1uHI9reR5AgHZyNHF7c2+VIp5AUA==", "dev": true, "requires": { - "commander": "^12.0.0" + "commander": "^12.1.0", + "enhanced-resolve": "^5.18.0" }, "dependencies": { "commander": { @@ -32540,12 +32771,16 @@ } } }, + "sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + }, "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, - "peer": true, "requires": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -32554,16 +32789,15 @@ }, "dependencies": { "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, - "peer": true, "requires": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" } }, "ajv-keywords": { @@ -32571,7 +32805,6 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "peer": true, "requires": { "fast-deep-equal": "^3.1.3" } @@ -32580,8 +32813,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "peer": true + "dev": true } } }, @@ -32666,16 +32898,6 @@ } } }, - "serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "peer": true, - "requires": { - "randombytes": "^2.1.0" - } - }, "serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", @@ -32805,13 +33027,22 @@ "peer": true }, "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "shallow-clone": { @@ -32865,68 +33096,61 @@ "dev": true }, "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.10.0.tgz", + "integrity": "sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==", "dev": true, "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "dependencies": { - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - } + "execa": "^5.1.1", + "fast-glob": "^3.3.2" } }, - "shiki": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.23.1.tgz", - "integrity": "sha512-8kxV9TH4pXgdKGxNOkrSMydn1Xf6It8lsle0fiqxf7a1149K1WGtdOu3Zb91T5r1JpvRPxqxU3C2XdZZXQnrig==", - "peer": true, + "side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, "requires": { - "@shikijs/core": "1.23.1", - "@shikijs/engine-javascript": "1.23.1", - "@shikijs/engine-oniguruma": "1.23.1", - "@shikijs/types": "1.23.1", - "@shikijs/vscode-textmate": "^9.3.0", - "@types/hast": "^3.0.4" - }, - "dependencies": { - "@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "peer": true, - "requires": { - "@types/unist": "*" - } - } + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" } }, - "side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, "requires": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3" + } + }, + "side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + } + }, + "side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" } }, "signal-exit": { @@ -32947,6 +33171,17 @@ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true }, + "sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "requires": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + } + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -32962,32 +33197,6 @@ "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } } }, "sockjs": { @@ -33017,7 +33226,6 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "peer": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -33086,15 +33294,15 @@ } }, "spec-change": { - "version": "1.11.11", - "resolved": "https://registry.npmjs.org/spec-change/-/spec-change-1.11.11.tgz", - "integrity": "sha512-wSxi1XKeNr8JxBlYj13Lw8TTMpojYU2zRlkmyXl0kHp+xGkwYUpXaVXcofiEmEqrq1HoGg7pwKEzvMjYcQubtw==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/spec-change/-/spec-change-1.11.20.tgz", + "integrity": "sha512-N9V0tptwsYs6WRvO3CYdHaptwj+EAaTAktTwIx9cEKkdboX4BBWY5//EhV9EoOzpGYO/4zHhs6lY3dHQPcMB6g==", "dev": true, "requires": { "arg": "^5.0.2", "debug": "^4.3.4", "deep-equal": "^2.2.3", - "dependency-tree": "^11.0.0", + "dependency-tree": "^11.1.1", "lazy-ass": "^2.0.3", "tinyglobby": "^0.2.0" }, @@ -33119,15 +33327,15 @@ "integrity": "sha512-kpEo1WuMXuc6QfdQdO2V/fl/trONlkUKp+pputsLTiW9RMtwEvjb4/aYGm2m3+KAzjmb+zLwr4A4SYZu74+pgQ==" }, "ssh2": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.15.0.tgz", - "integrity": "sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.16.0.tgz", + "integrity": "sha512-r1X4KsBGedJqo7h8F5c4Ybpcr5RjyP+aWIG007uBPRjmdQWfEiVLzSK71Zji1B9sKxwaCvD8y8cwSkYrlLiRRg==", "dev": true, "requires": { "asn1": "^0.2.6", "bcrypt-pbkdf": "^1.0.2", - "cpu-features": "~0.0.9", - "nan": "^2.18.0" + "cpu-features": "~0.0.10", + "nan": "^2.20.0" } }, "sshpk": { @@ -33147,6 +33355,13 @@ "tweetnacl": "~0.14.0" } }, + "stable-hash": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz", + "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==", + "dev": true, + "peer": true + }, "statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -33155,12 +33370,13 @@ "peer": true }, "stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", "dev": true, "requires": { - "internal-slot": "^1.0.4" + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" } }, "stream-browserify": { @@ -33359,16 +33575,6 @@ "es-abstract": "^1.19.5" } }, - "stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "peer": true, - "requires": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - } - }, "stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -33414,9 +33620,17 @@ "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==" }, "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==" + }, + "strtok3": { + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.4.tgz", + "integrity": "sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==", + "requires": { + "@tokenizer/token": "^0.3.0" + } }, "style-loader": { "version": "4.0.0", @@ -33435,59 +33649,59 @@ } }, "stylelint": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.5.0.tgz", - "integrity": "sha512-IlCBtVrG+qTy3v+tZTk50W8BIomjY/RUuzdrDqdnlCYwVuzXtPbiGfxYqtyYAyOMcb+195zRsuHn6tgfPmFfbw==", + "version": "16.19.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.19.1.tgz", + "integrity": "sha512-C1SlPZNMKl+d/C867ZdCRthrS+6KuZ3AoGW113RZCOL0M8xOGpgx7G70wq7lFvqvm4dcfdGFVLB/mNaLFChRKw==", "dev": true, "peer": true, "requires": { - "@csstools/css-parser-algorithms": "^2.6.1", - "@csstools/css-tokenizer": "^2.2.4", - "@csstools/media-query-list-parser": "^2.1.9", - "@csstools/selector-specificity": "^3.0.3", - "@dual-bundle/import-meta-resolve": "^4.0.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2", + "@csstools/selector-specificity": "^5.0.0", + "@dual-bundle/import-meta-resolve": "^4.1.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^9.0.0", - "css-functions-list": "^3.2.2", - "css-tree": "^2.3.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", + "css-functions-list": "^3.2.3", + "css-tree": "^3.1.0", + "debug": "^4.3.7", + "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^8.0.0", + "file-entry-cache": "^10.0.8", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", - "ignore": "^5.3.1", + "ignore": "^7.0.3", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.30.0", + "known-css-properties": "^0.36.0", "mathml-tag-names": "^2.1.3", "meow": "^13.2.0", - "micromatch": "^4.0.5", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.38", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^7.0.0", - "postcss-selector-parser": "^6.0.16", + "picocolors": "^1.1.1", + "postcss": "^8.5.3", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-safe-parser": "^7.0.1", + "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", - "strip-ansi": "^7.1.0", - "supports-hyperlinks": "^3.0.0", + "supports-hyperlinks": "^3.2.0", "svg-tags": "^1.0.0", - "table": "^6.8.2", + "table": "^6.9.0", "write-file-atomic": "^5.0.1" }, "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", "dev": true, - "peer": true + "peer": true, + "requires": {} }, "balanced-match": { "version": "2.0.0", @@ -33496,35 +33710,71 @@ "dev": true, "peer": true }, - "file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.3" + } + }, + "file-entry-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.0.tgz", + "integrity": "sha512-Et/ex6smi3wOOB+n5mek+Grf7P2AxZR5ueqRUvAAn4qkyatXi3cUC1cuQXVkX0VlzBVsN4BkWJFmY/fYiRTdww==", + "dev": true, + "peer": true, + "requires": { + "flat-cache": "^6.1.9" + } + }, + "flat-cache": { + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.9.tgz", + "integrity": "sha512-DUqiKkTlAfhtl7g78IuwqYM+YqvT+as0mY+EVk6mfimy19U79pJCzDZQsnqk3Ou/T6hFXWLGbwbADzD/c8Tydg==", + "dev": true, + "peer": true, + "requires": { + "cacheable": "^1.9.0", + "flatted": "^3.3.3", + "hookified": "^1.8.2" + } + }, + "ignore": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", + "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", + "dev": true, + "peer": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + }, + "postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", "dev": true, "peer": true, - "requires": { - "flat-cache": "^4.0.0" - } + "requires": {} }, - "flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "dev": true, "peer": true, "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" } }, - "postcss-safe-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz", - "integrity": "sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==", - "dev": true, - "peer": true, - "requires": {} - }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -33539,16 +33789,6 @@ "dev": true, "peer": true }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "peer": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, "write-file-atomic": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", @@ -33571,23 +33811,23 @@ "requires": {} }, "stylelint-config-recommended": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz", - "integrity": "sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-16.0.0.tgz", + "integrity": "sha512-4RSmPjQegF34wNcK1e1O3Uz91HN8P1aFdFzio90wNK9mjgAI19u5vsU868cVZboKzCaa5XbpvtTzAAGQAxpcXA==", "dev": true, "peer": true, "requires": {} }, "stylelint-config-recommended-scss": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz", - "integrity": "sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-15.0.1.tgz", + "integrity": "sha512-V24bxkNkFGggqPVJlP9iXaBabwSGEG7QTz+PyxrRtjPkcF+/NsWtB3tKYvFYEmczRkWiIEfuFMhGpJFj9Fxe6Q==", "dev": true, "peer": true, "requires": { "postcss-scss": "^4.0.9", - "stylelint-config-recommended": "^14.0.0", - "stylelint-scss": "^6.0.0" + "stylelint-config-recommended": "^16.0.0", + "stylelint-scss": "^6.12.0" } }, "stylelint-config-recommended-vue": { @@ -33615,26 +33855,56 @@ } }, "stylelint-scss": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.3.0.tgz", - "integrity": "sha512-8OSpiuf1xC7f8kllJsBOFAOYp/mR/C1FXMVeOFjtJPw+AFvEmC93FaklHt7MlOqU4poxuQ1TkYMyfI0V+1SxjA==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.0.tgz", + "integrity": "sha512-U7CKhi1YNkM1pXUXl/GMUXi8xKdhl4Ayxdyceie1nZ1XNIdaUgMV6OArpooWcDzEggwgYD0HP/xIgVJo9a655w==", "dev": true, "peer": true, "requires": { - "known-css-properties": "^0.30.0", + "css-tree": "^3.0.1", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.36.0", + "mdn-data": "^2.21.0", "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-selector-parser": "^6.0.15", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0" + }, + "dependencies": { + "mdn-data": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.21.0.tgz", + "integrity": "sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ==", + "dev": true, + "peer": true + }, + "postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "peer": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + } } }, + "stylelint-use-logical": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/stylelint-use-logical/-/stylelint-use-logical-2.1.2.tgz", + "integrity": "sha512-4ffvPNk/swH4KS3izExWuzQOuzLmi0gb0uOhvxWJ20vDA5W5xKCjcHHtLoAj1kKvTIX6eGIN5xGtaVin9PD0wg==", + "dev": true, + "requires": {} + }, "stylus-lookup": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylus-lookup/-/stylus-lookup-6.0.0.tgz", - "integrity": "sha512-RaWKxAvPnIXrdby+UWCr1WRfa+lrPMSJPySte4Q6a+rWyjeJyFOLJxr5GrAVfcMCsfVlCuzTAJ/ysYT8p8do7Q==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/stylus-lookup/-/stylus-lookup-6.1.0.tgz", + "integrity": "sha512-5QSwgxAzXPMN+yugy61C60PhoANdItfdjSEZR8siFwz7yL9jTmV0UBKDCfn3K8GkGB4g0Y9py7vTCX8rFu4/pQ==", "dev": true, "requires": { - "commander": "^12.0.0" + "commander": "^12.1.0" }, "dependencies": { "commander": { @@ -33655,42 +33925,23 @@ } }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } }, "supports-hyperlinks": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", - "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, "peer": true, "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "supports-preserve-symlinks-flag": { @@ -33715,15 +33966,21 @@ "acorn-node": "^1.2.0" } }, + "systeminformation": { + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.1.tgz", + "integrity": "sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA==", + "dev": true + }, "tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", + "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==" }, "table": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", - "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", "dev": true, "peer": true, "requires": { @@ -33735,16 +33992,16 @@ }, "dependencies": { "ajv": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", - "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "peer": true, "requires": { "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" + "require-from-string": "^2.0.2" } }, "json-schema-traverse": { @@ -33757,21 +34014,21 @@ } }, "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true }, "tar-fs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", - "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", "dev": true, "requires": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", - "tar-stream": "^2.0.0" + "tar-stream": "^2.1.4" } }, "tar-stream": { @@ -33801,44 +34058,27 @@ } }, "terser": { - "version": "5.31.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", - "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", "dev": true, - "peer": true, "requires": { "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", + "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" } }, "terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.17.tgz", + "integrity": "sha512-YR7PtUp6GMU91BgSJmlaX/rS2lGDbAF7D+Wtq7hRO+MiljNmodYvqslzCFiYVAgW+Qoaaia/QUIP4lGXufjdZw==", "dev": true, - "peer": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.20", + "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "peer": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } + "schema-utils": "^4.3.0", + "terser": "^5.31.1" } }, "text-table": { @@ -33927,26 +34167,26 @@ "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" }, "tinyglobby": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz", - "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==", + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "requires": { - "fdir": "^6.4.2", - "picomatch": "^4.0.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "dependencies": { "fdir": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", - "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "requires": {} }, "picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true } } @@ -33967,15 +34207,35 @@ "dev": true }, "tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", + "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + "to-buffer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", + "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==", + "dev": true, + "requires": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } }, "to-regex-range": { "version": "5.0.1", @@ -33998,6 +34258,12 @@ "dev": true, "peer": true }, + "totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true + }, "tough-cookie": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", @@ -34041,12 +34307,13 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, + "peer": true, "requires": {} }, "ts-loader": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.2.tgz", - "integrity": "sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==", + "version": "9.5.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz", + "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -34056,46 +34323,6 @@ "source-map": "^0.7.4" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -34110,15 +34337,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -34127,7 +34345,6 @@ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", "dev": true, - "peer": true, "requires": { "@types/json5": "^0.0.29", "json5": "^1.0.1", @@ -34140,13 +34357,23 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "peer": true, "requires": { "minimist": "^1.2.0" } } } }, + "tsconfig-paths-webpack-plugin": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz", + "integrity": "sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tsconfig-paths": "^3.9.0" + } + }, "tslib": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", @@ -34154,12 +34381,12 @@ "dev": true }, "tsx": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.2.tgz", - "integrity": "sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", "dev": true, "requires": { - "esbuild": "~0.23.0", + "esbuild": "~0.27.0", "fsevents": "~2.3.3", "get-tsconfig": "^4.7.5" } @@ -34219,6 +34446,17 @@ "mime-types": "~2.1.24" } }, + "typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "requires": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + } + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -34226,9 +34464,9 @@ "dev": true }, "typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true }, "typescript-event-target": { @@ -34236,12 +34474,6 @@ "resolved": "https://registry.npmjs.org/typescript-event-target/-/typescript-event-target-1.1.1.tgz", "integrity": "sha512-dFSOFBKV6uwaloBCCUhxlD3Pr/P1a/tJdcmPrTXCHlEFD3faj0mztjcGn6VBAhQ0/Bdy8K3VWrrqwbt/ffsYsg==" }, - "uc.micro": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", - "peer": true - }, "umd": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", @@ -34275,23 +34507,21 @@ } }, "undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "dev": true, - "requires": { - "@fastify/busboy": "^2.0.0" - } + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", + "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==", + "dev": true }, "undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true }, "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true }, "unicode-match-property-ecmascript": { @@ -34305,15 +34535,15 @@ } }, "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", "dev": true }, "unified": { @@ -34412,9 +34642,9 @@ } }, "unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", "requires": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", @@ -34464,13 +34694,13 @@ "dev": true }, "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" } }, "uri-js": { @@ -34758,19 +34988,6 @@ "date-format-parse": "^0.2.7" } }, - "wait-on": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-8.0.1.tgz", - "integrity": "sha512-1wWQOyR2LVVtaqrcIL2+OM+x7bkpmzVROa0Nf6FryXkS+er5Sa1kzFGjzZRqLnHa3n1rACFLeTwUqE1ETL9Mig==", - "dev": true, - "requires": { - "axios": "^1.7.7", - "joi": "^17.13.3", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - } - }, "watchify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz", @@ -34961,11 +35178,10 @@ } }, "watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", "dev": true, - "peer": true, "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -35002,15 +35218,15 @@ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==" }, "webdav": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.7.1.tgz", - "integrity": "sha512-JVPn3nLxXJfHSRvennHsOrDYjFLkilZ1Qlw8Ff6hpqp6AvkgF7a//aOh5wA4rMp+sLZ1Km0V+iv0LyO1FIwtXg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.8.0.tgz", + "integrity": "sha512-iuFG7NamJ41Oshg4930iQgfIpRrUiatPWIekeznYgEf2EOraTRcDPTjy7gIOMtkdpKTaqPk1E68NO5PAGtJahA==", "requires": { "@buttercup/fetch": "^0.2.1", "base-64": "^1.0.0", "byte-length": "^1.0.2", - "entities": "^5.0.0", - "fast-xml-parser": "^4.4.1", + "entities": "^6.0.0", + "fast-xml-parser": "^4.5.1", "hot-patcher": "^2.0.1", "layerr": "^3.0.0", "md5": "^2.3.0", @@ -35023,71 +35239,114 @@ }, "dependencies": { "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "requires": { "balanced-match": "^1.0.0" } }, "entities": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-5.0.0.tgz", - "integrity": "sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", + "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==" }, "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "requires": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" } } } }, "webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", - "dev": true, - "peer": true, - "requires": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "version": "5.105.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", + "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", + "enhanced-resolve": "^5.19.0", + "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", + "loader-runner": "^4.3.1", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.3" + } + }, + "webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" }, "dependencies": { - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", "dev": true, - "peer": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "acorn": "^8.11.0" } + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "requires": {} } } }, @@ -35138,15 +35397,16 @@ } }, "webpack-dev-server": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.1.0.tgz", - "integrity": "sha512-aQpaN81X6tXie1FoOB7xlMfCsN19pSvRAeYUHOdFWOlhpQ/LlbfTqYwwmEDFV0h8GGuqmCmKmT+pxcUV/Nt2gQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", + "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", "dev": true, "peer": true, "requires": { "@types/bonjour": "^3.5.13", "@types/connect-history-api-fallback": "^1.5.4", "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.21", "@types/serve-index": "^1.9.4", "@types/serve-static": "^1.15.5", "@types/sockjs": "^0.3.36", @@ -35157,10 +35417,9 @@ "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", - "express": "^4.19.2", + "express": "^4.21.2", "graceful-fs": "^4.2.6", - "html-entities": "^2.4.0", - "http-proxy-middleware": "^2.0.3", + "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", "launch-editor": "^2.6.1", "open": "^10.0.3", @@ -35186,11 +35445,10 @@ } }, "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "peer": true + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "dev": true }, "websocket-driver": { "version": "0.7.4", @@ -35246,16 +35504,18 @@ } }, "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" } }, "wildcard": { @@ -35281,32 +35541,6 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } } }, "wrappy": { @@ -35336,17 +35570,38 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "yaml": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", - "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", - "peer": true + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true }, "yauzl": { "version": "2.10.0", @@ -35362,13 +35617,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "peer": true - }, - "zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==" + "dev": true } } } diff --git a/package.json b/package.json index 816fc4deac..c01f1e8405 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "richdocuments", "description": "Collabora online integration", - "version": "8.6.0-beta.1", + "version": "9.0.5", "authors": [ { "name": "Julius Härtl", @@ -24,19 +24,20 @@ "test:coverage": "NODE_ENV=test jest --coverage" }, "dependencies": { - "@nextcloud/auth": "^2.4.0", - "@nextcloud/axios": "^2.5.1", - "@nextcloud/capabilities": "^1.2.0", - "@nextcloud/dialogs": "^6.0.1", - "@nextcloud/event-bus": "^3.3.1", - "@nextcloud/files": "^3.10.1", + "@nextcloud/auth": "^2.5.3", + "@nextcloud/axios": "^2.5.2", + "@nextcloud/capabilities": "^1.2.1", + "@nextcloud/dialogs": "^6.4.2", + "@nextcloud/event-bus": "^3.3.3", + "@nextcloud/files": "^3.10.2", "@nextcloud/initial-state": "^2.2.0", - "@nextcloud/l10n": "^3.1.0", - "@nextcloud/moment": "^1.3.2", - "@nextcloud/paths": "^2.2.1", + "@nextcloud/l10n": "^3.4.1", + "@nextcloud/moment": "^1.3.5", + "@nextcloud/paths": "^2.2.2", "@nextcloud/router": "^3.0.1", - "@nextcloud/vue": "^8.22.0", - "@nextcloud/sharing": "^0.2.4", + "@nextcloud/sharing": "^0.2.5", + "@nextcloud/viewer": "^1.0.0", + "@nextcloud/vue": "^8.36.0", "vue": "^2.7.16", "vue-material-design-icons": "^5.3.1" }, @@ -44,24 +45,24 @@ "extends @nextcloud/browserslist-config" ], "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^22.0.0", + "npm": "^10.5.0" }, "devDependencies": { "@cypress/browserify-preprocessor": "^3.0.2", - "@cypress/webpack-preprocessor": "^6.0.2", - "@nextcloud/babel-config": "^1.2.0", - "@nextcloud/browserslist-config": "^3.0.1", - "@nextcloud/cypress": "^1.0.0-beta.12", - "@nextcloud/eslint-config": "^8.4.1", - "@nextcloud/stylelint-config": "^3.0.1", + "@cypress/webpack-batteries-included-preprocessor": "^4.0.4", + "@nextcloud/babel-config": "^1.3.0", + "@nextcloud/browserslist-config": "^3.1.2", + "@nextcloud/e2e-test-server": "^0.4.0", + "@nextcloud/eslint-config": "^8.4.2", + "@nextcloud/stylelint-config": "^3.1.1", "@nextcloud/webpack-vue-config": "^6.1.1", "babel-loader-exclude-node-modules-except": "^1.2.1", - "cypress": "^13.17.0", - "cypress-split": "^1.24.7", + "cypress": "^15.10.0", + "cypress-split": "^1.24.28", "eslint-plugin-cypress": "^3.5.0", - "ts-loader": "^9.5.2", - "typescript": "^5.7.3" + "ts-loader": "^9.5.4", + "typescript": "^5.8.3" }, "jest": { "verbose": true, @@ -86,4 +87,4 @@ ], "globalSetup": "/src/tests/setup.js" } -} +} \ No newline at end of file diff --git a/psalm.xml b/psalm.xml index e4ecde8a32..56b810d3d1 100644 --- a/psalm.xml +++ b/psalm.xml @@ -4,12 +4,15 @@ - SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -33,18 +36,12 @@ - - - - - - - + diff --git a/src/components/AdminSettings.vue b/src/components/AdminSettings.vue index 52b6b863e2..9f8c331ec8 100644 --- a/src/components/AdminSettings.vue +++ b/src/components/AdminSettings.vue @@ -286,8 +286,8 @@
-

{{ t('richdocuments', 'Extra fonts') }}

- {{ t('richdocuments', 'Custom Fonts') }} +
-

{{ t('richdocuments', 'Secure view settings') }}

-

{{ t('richdocuments', 'Secure view enables you to secure documents by embedding a watermark') }}

+

{{ t('richdocuments', 'Secure View') }}

+

{{ t('richdocuments', 'Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark') }}

  • {{ t('richdocuments', 'The settings only apply to compatible office files that are opened in Nextcloud Office') }}
  • +
  • {{ t('richdocuments', 'Downloading the file through WebDAV will be blocked') }}
  • {{ t('richdocuments', 'The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print') }}
  • -
  • {{ t('richdocuments', 'Files may still be downloadable through Nextcloud unless restricted otherwise through sharing or access control settings') }}
  • {{ t('richdocuments', 'Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured') }}
  • -
  • {{ t('richdocuments', 'Previews will be blocked for watermarked files to not leak the first page of documents') }}
  • +
  • {{ t('richdocuments', 'Previews will be blocked') }}
@@ -331,68 +331,73 @@ @update="update" />

+

Link shares

- +

-

{{ t('richdocuments', 'Electronic signature settings') }}

+

{{ t('richdocuments', 'Electronic Signature') }}

+ +
@@ -423,10 +436,14 @@ import SettingsExternalApps from './SettingsExternalApps.vue' import SettingsInputFile from './SettingsInputFile.vue' import SettingsFontList from './SettingsFontList.vue' import GlobalTemplates from './AdminSettings/GlobalTemplates.vue' +import { getCurrentUser } from '@nextcloud/auth' + +import { isPublicShare, getSharingToken } from '@nextcloud/sharing/public' import '@nextcloud/dialogs/style.css' -import { getCallbackBaseUrl } from '../helpers/url.js' +import { getCallbackBaseUrl, getConfigFileUrl } from '../helpers/url.js' import { getCapabilities } from '../services/capabilities.ts' +import CoolFrame from './CoolFrame.vue' const SERVER_STATE_OK = 0 const SERVER_STATE_LOADING = 1 @@ -456,6 +473,7 @@ export default { GlobalTemplates, NcModal, NcNoteCard, + CoolFrame, }, props: { initial: { @@ -499,6 +517,7 @@ export default { enabled: false, shareAll: false, shareRead: false, + shareTalkPublic: true, linkSecure: false, linkRead: false, linkAll: false, @@ -511,7 +530,15 @@ export default { text: '', }, fonts: [], + hasSettingIframeSupport: false, + setting_iframe_url: '', + doc_format: null, }, + accessToken: '', + accessTokenTTL: '', + userId: getCurrentUser()?.uid, + tokenGenerated: false, + wopiSettingBaseUrl: '', } }, computed: { @@ -532,6 +559,9 @@ export default { { url: this.fontHintUrl }, ) }, + shareToken() { + return getSharingToken() + }, fontXmlHint() { return ` @@ -553,6 +583,18 @@ export default { } }, }, + async mounted() { + if (this.settings.hasSettingIframeSupport && this.userId && this.userId.length > 0) { + await this.generateAccessToken() + if (this.accessToken) { + this.wopiSettingBaseUrl = getConfigFileUrl() + console.debug('wopiSettingBaseUrl', this.wopiSettingBaseUrl) + this.tokenGenerated = true + } + } else { + console.error('Setting Iframe not supported') + } + }, beforeMount() { for (const key in this.initial.settings) { if (!Object.prototype.hasOwnProperty.call(this.initial.settings, key)) { @@ -574,6 +616,8 @@ export default { Vue.set(this.settings, 'edit_groups', this.settings.edit_groups ? this.settings.edit_groups.split('|') : null) Vue.set(this.settings, 'use_groups', this.settings.use_groups ? this.settings.use_groups.split('|') : null) Vue.set(this.settings, 'fonts', this.initial.fonts ? this.initial.fonts : []) + Vue.set(this.settings, 'hasSettingIframeSupport', this.initial.hasSettingIframeSupport ?? false) + Vue.set(this.settings, 'setting_iframe_url', this.initial.setting_iframe_url ?? '') this.uiVisible.canonical_webroot = !!(this.settings.canonical_webroot && this.settings.canonical_webroot !== '') this.uiVisible.external_apps = !!(this.settings.external_apps && this.settings.external_apps !== '') @@ -599,6 +643,16 @@ export default { this.checkSettings() }, methods: { + async generateAccessToken() { + const { data } = await axios.get(generateUrl('/apps/richdocuments/settings/generateToken/admin')) + if (data.token) { + this.accessToken = data.token + this.accessTokenTTL = data.token_ttl + console.debug('Admin settings WOPI token generated:', this.accessToken, this.accessTokenTTL) + } else { + console.error('Failed to generate token for admin settings') + } + }, async checkSettings() { this.errorMessage = null this.updating = true @@ -656,6 +710,7 @@ export default { console.error(error) }) }, + async updateUseGroups(enabled) { if (typeof enabled === 'boolean') { this.settings.use_groups = (enabled) ? [] : null diff --git a/src/components/AdminSettings/GlobalTemplates.vue b/src/components/AdminSettings/GlobalTemplates.vue index 8127a98c3d..5b1a82c7b3 100644 --- a/src/components/AdminSettings/GlobalTemplates.vue +++ b/src/components/AdminSettings/GlobalTemplates.vue @@ -5,10 +5,12 @@