diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..bc4f4bc2d2 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +/appinfo/info.xml @vitormattos diff --git a/.github/workflows/appstore-build-publish.yml b/.github/workflows/appstore-build-publish.yml index 818eb3289f..db3e2ac841 100644 --- a/.github/workflows/appstore-build-publish.yml +++ b/.github/workflows/appstore-build-publish.yml @@ -10,13 +10,13 @@ on: types: [published] env: - PHP_VERSION: 8.1 + PHP_VERSION: 8.2 jobs: build_and_publish: runs-on: ubuntu-latest - # # Only allowed to be run on nextcloud-releases repositories + # Only allowed to be run on nextcloud-releases repositories # if: ${{ github.repository_owner == 'nextcloud-releases' }} steps: @@ -32,7 +32,7 @@ jobs: echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: path: ${{ env.APP_NAME }} @@ -44,19 +44,19 @@ jobs: expression: "//info//dependencies//nextcloud/@min-version" - name: Read package.json node and npm engines version - uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2 + uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2 id: versions # Continue if no package.json continue-on-error: true with: path: ${{ env.APP_NAME }} - fallbackNode: "^16" - fallbackNpm: "^7" + fallbackNode: '^20' + fallbackNpm: '^9' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} # Skip if no package.json if: ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3 + uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3 with: node-version: ${{ steps.versions.outputs.nodeVersion }} @@ -66,7 +66,7 @@ jobs: run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" - name: Set up php ${{ env.PHP_VERSION }} - uses: shivammathur/setup-php@1a18b2267f80291a81ca1d33e7c851fe09e7dfc4 # v2 + uses: shivammathur/setup-php@81cd5ae0920b34eef300e1775313071038a53429 # v2 with: php-version: ${{ env.PHP_VERSION }} coverage: none @@ -88,6 +88,8 @@ jobs: - name: Build ${{ env.APP_NAME }} # Skip if no package.json if: ${{ steps.versions.outputs.nodeVersion }} + env: + CYPRESS_INSTALL_BINARY: 0 run: | cd ${{ env.APP_NAME }} npm ci @@ -126,7 +128,7 @@ jobs: unzip latest-$NCVERSION.zip - name: Checkout server master fallback - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 if: ${{ steps.server-checkout.outcome != 'success' }} with: submodules: true @@ -149,7 +151,7 @@ jobs: tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }} - name: Attach tarball to github release - uses: svenstaro/upload-release-action@133984371c30d34e38222a64855679a414cb7575 # v2 + uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2 id: attach_to_release with: repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/behat.yml b/.github/workflows/behat.yml index 46e58bdd52..53f1513be6 100644 --- a/.github/workflows/behat.yml +++ b/.github/workflows/behat.yml @@ -27,7 +27,7 @@ jobs: strategy: fail-fast: false matrix: - php-versions: ['8.0'] + php-versions: ['8.0', '8.1', '8.2'] databases: ['sqlite', 'mysql', 'pgsql'] server-versions: ['master'] diff --git a/.github/workflows/dependabot-approve-merge.yml b/.github/workflows/dependabot-approve-merge.yml index 9951547f76..f5f4fe7aa7 100644 --- a/.github/workflows/dependabot-approve-merge.yml +++ b/.github/workflows/dependabot-approve-merge.yml @@ -29,12 +29,12 @@ jobs: steps: # Github actions bot approve - - uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2 + - uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v3.2.1 with: github-token: ${{ secrets.GITHUB_TOKEN }} # Nextcloud bot approve and merge request - - uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2 + - uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2.6.6 with: target: minor github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }} diff --git a/.github/workflows/lint-eslint.yml b/.github/workflows/lint-eslint.yml index edcd1e81d7..99b624d1a6 100644 --- a/.github/workflows/lint-eslint.yml +++ b/.github/workflows/lint-eslint.yml @@ -8,20 +8,7 @@ name: Lint eslint -on: - pull_request: - paths: - - '.github/workflows/**' - - 'src/**' - - 'appinfo/info.xml' - - 'package.json' - - 'package-lock.json' - - 'tsconfig.json' - - '.eslintrc.*' - - '.eslintignore' - - '**.js' - - '**.ts' - - '**.vue' +on: pull_request permissions: contents: read @@ -31,24 +18,52 @@ concurrency: cancel-in-progress: true jobs: + changes: + runs-on: ubuntu-latest + + outputs: + src: ${{ steps.changes.outputs.src}} + + steps: + - uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1 + id: changes + continue-on-error: true + with: + filters: | + src: + - '.github/workflows/**' + - 'src/**' + - 'appinfo/info.xml' + - 'package.json' + - 'package-lock.json' + - 'tsconfig.json' + - '.eslintrc.*' + - '.eslintignore' + - '**.js' + - '**.ts' + - '**.vue' + lint: runs-on: ubuntu-latest - name: eslint + needs: changes + if: needs.changes.outputs.src != 'false' + + name: NPM lint steps: - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Read package.json node and npm engines version - uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2 + uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2 id: versions with: - fallbackNode: '^16' - fallbackNpm: '^7' + fallbackNode: '^20' + fallbackNpm: '^9' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3 + uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3 with: node-version: ${{ steps.versions.outputs.nodeVersion }} @@ -56,7 +71,25 @@ jobs: run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" - name: Install dependencies + env: + CYPRESS_INSTALL_BINARY: 0 + PUPPETEER_SKIP_DOWNLOAD: true run: npm ci - name: Lint run: npm run lint + + summary: + permissions: + contents: none + runs-on: ubuntu-latest + needs: [changes, lint] + + if: always() + + # This is the summary, we just avoid to rename it so that branch protection rules still match + name: eslint + + steps: + - name: Summary status + run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi diff --git a/.github/workflows/lint-info-xml.yml b/.github/workflows/lint-info-xml.yml index 39615d39d4..bf6f178727 100644 --- a/.github/workflows/lint-info-xml.yml +++ b/.github/workflows/lint-info-xml.yml @@ -5,13 +5,7 @@ name: Lint info.xml -on: - pull_request: - push: - branches: - - main - - master - - stable* +on: pull_request permissions: contents: read @@ -27,13 +21,13 @@ jobs: name: info.xml lint steps: - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Download schema run: wget https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/api/v1/release/info.xsd - name: Lint info.xml - uses: ChristophWurst/xmllint-action@d18a551aab4728e4af449617638600634d7a48cb # v1 + uses: ChristophWurst/xmllint-action@36f2a302f84f8c83fceea0b9c59e1eb4a616d3c1 # v1.2 with: xml-file: ./appinfo/info.xml xml-schema-file: ./info.xsd diff --git a/.github/workflows/lint-php-cs.yml b/.github/workflows/lint-php-cs.yml index e581270a1c..c23fc7c401 100644 --- a/.github/workflows/lint-php-cs.yml +++ b/.github/workflows/lint-php-cs.yml @@ -22,12 +22,12 @@ jobs: steps: - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Set up php - uses: shivammathur/setup-php@1a18b2267f80291a81ca1d33e7c851fe09e7dfc4 # v2 + - name: Set up php8.2 + uses: shivammathur/setup-php@81cd5ae0920b34eef300e1775313071038a53429 # v2 with: - php-version: 8.1 + php-version: 8.2 coverage: none ini-file: development env: diff --git a/.github/workflows/lint-php.yml b/.github/workflows/lint-php.yml index 3bcfaaa8aa..92769c49f9 100644 --- a/.github/workflows/lint-php.yml +++ b/.github/workflows/lint-php.yml @@ -5,13 +5,7 @@ name: Lint php -on: - pull_request: - push: - branches: - - main - - master - - stable* +on: pull_request permissions: contents: read @@ -25,16 +19,16 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php-versions: [ "8.0", "8.1", "8.2" ] + php-versions: [ '8.0', '8.1', '8.2', '8.3' ] name: php-lint steps: - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Set up php ${{ matrix.php-versions }} - uses: shivammathur/setup-php@1a18b2267f80291a81ca1d33e7c851fe09e7dfc4 # v2 + uses: shivammathur/setup-php@81cd5ae0920b34eef300e1775313071038a53429 # v2 with: php-version: ${{ matrix.php-versions }} coverage: none diff --git a/.github/workflows/lint-stylelint.yml b/.github/workflows/lint-stylelint.yml index 90758fd87a..684bb6198e 100644 --- a/.github/workflows/lint-stylelint.yml +++ b/.github/workflows/lint-stylelint.yml @@ -22,17 +22,17 @@ jobs: steps: - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Read package.json node and npm engines version - uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2 + uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2 id: versions with: - fallbackNode: '^16' - fallbackNpm: '^7' + fallbackNode: '^20' + fallbackNpm: '^9' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3 + uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3 with: node-version: ${{ steps.versions.outputs.nodeVersion }} @@ -40,6 +40,8 @@ jobs: run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" - name: Install dependencies + env: + CYPRESS_INSTALL_BINARY: 0 run: npm ci - name: Lint diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index e3310644ec..75c32b44b6 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -5,23 +5,7 @@ name: Node -on: - pull_request: - paths: - - '.github/workflows/**' - - 'src/**' - - 'appinfo/info.xml' - - 'package.json' - - 'package-lock.json' - - 'tsconfig.json' - - '**.js' - - '**.ts' - - '**.vue' - push: - branches: - - main - - master - - stable* +on: pull_request permissions: contents: read @@ -31,23 +15,49 @@ concurrency: cancel-in-progress: true jobs: + changes: + runs-on: ubuntu-latest + + outputs: + src: ${{ steps.changes.outputs.src}} + + steps: + - uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1 + id: changes + continue-on-error: true + with: + filters: | + src: + - '.github/workflows/**' + - 'src/**' + - 'appinfo/info.xml' + - 'package.json' + - 'package-lock.json' + - 'tsconfig.json' + - '**.js' + - '**.ts' + - '**.vue' + build: runs-on: ubuntu-latest - name: node + needs: changes + if: needs.changes.outputs.src != 'false' + + name: NPM build steps: - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Read package.json node and npm engines version - uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2 + uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2 id: versions with: - fallbackNode: '^16' - fallbackNpm: '^7' + fallbackNode: '^20' + fallbackNpm: '^9' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3 + uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3 with: node-version: ${{ steps.versions.outputs.nodeVersion }} @@ -55,6 +65,9 @@ jobs: run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" - name: Install dependencies & build + env: + CYPRESS_INSTALL_BINARY: 0 + PUPPETEER_SKIP_DOWNLOAD: true run: | npm ci npm run build --if-present @@ -69,3 +82,18 @@ jobs: git status git --no-pager diff exit 1 # make it red to grab attention + + summary: + permissions: + contents: none + runs-on: ubuntu-latest + needs: [changes, build] + + if: always() + + # This is the summary, we just avoid to rename it so that branch protection rules still match + name: node + + steps: + - name: Summary status + run: if ${{ needs.changes.outputs.src != 'false' && needs.build.result != 'success' }}; then exit 1; fi diff --git a/.github/workflows/npm-audit-fix.yml b/.github/workflows/npm-audit-fix.yml new file mode 100644 index 0000000000..70838d04c2 --- /dev/null +++ b/.github/workflows/npm-audit-fix.yml @@ -0,0 +1,73 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization + +name: Npm audit fix and compile + +on: + workflow_dispatch: + schedule: + # At 2:30 on Sundays + - cron: '30 2 * * 0' + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + branches: ['main'] + + name: npm-audit-fix-${{ matrix.branches }} + + steps: + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + ref: ${{ matrix.branches }} + + - name: Read package.json node and npm engines version + uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2 + id: versions + with: + fallbackNode: '^20' + fallbackNpm: '^9' + + - name: Set up node ${{ steps.versions.outputs.nodeVersion }} + uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3 + with: + node-version: ${{ steps.versions.outputs.nodeVersion }} + + - name: Set up npm ${{ steps.versions.outputs.npmVersion }} + run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" + + - name: Fix npm audit + run: | + npm audit fix + + - name: Run npm ci and npm run build + if: always() + env: + CYPRESS_INSTALL_BINARY: 0 + run: | + npm ci + npm run build --if-present + + - name: Create Pull Request + if: always() + uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5 + with: + token: ${{ secrets.COMMAND_BOT_PAT }} + commit-message: "chore(deps): fix npm audit" + committer: GitHub + author: nextcloud-command + signoff: true + branch: automated/noid/${{ matrix.branches }}-fix-npm-audit + title: "[${{ matrix.branches }}] Fix npm audit" + body: | + Auto-generated fix of npm audit + labels: | + dependencies + 3. to review diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml index ff1c52c3a7..ee276490c6 100644 --- a/.github/workflows/phpunit.yml +++ b/.github/workflows/phpunit.yml @@ -30,7 +30,7 @@ jobs: # do not stop on another job's failure fail-fast: false matrix: - php-versions: [8.1] + php-versions: ['8.0', '8.1', '8.2'] databases: ['sqlite'] coverage: ['xdebug'] testsuite: [unit, api] @@ -47,7 +47,7 @@ jobs: steps: - name: Checkout server - uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: repository: nextcloud/server ref: ${{ matrix.server-versions }} @@ -60,12 +60,12 @@ jobs: git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 - name: Checkout app - uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: path: apps/${{ env.APP_NAME }} - name: Checkout site - uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: repository: libresign/libresign.github.io path: 'apps/${{ env.APP_NAME }}/build/site' diff --git a/.github/workflows/psalm.yml b/.github/workflows/psalm.yml index 28ed86243c..302873bcd2 100644 --- a/.github/workflows/psalm.yml +++ b/.github/workflows/psalm.yml @@ -5,24 +5,7 @@ name: Static analysis -on: - pull_request: - paths: - - '.github/workflows/**' - - 'appinfo/**' - - 'lib/**' - - 'templates/**' - - 'tests/**' - - 'vendor/**' - - 'vendor-bin/**' - - '.php-cs-fixer.dist.php' - - 'composer.json' - - 'composer.lock' - push: - branches: - - master - - main - - stable* +on: pull_request concurrency: group: psalm-${{ github.head_ref || github.run_id }} @@ -35,13 +18,14 @@ jobs: name: Nextcloud steps: - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Set up php - uses: shivammathur/setup-php@1a18b2267f80291a81ca1d33e7c851fe09e7dfc4 # v2 + - name: Set up php8.2 + uses: shivammathur/setup-php@81cd5ae0920b34eef300e1775313071038a53429 # v2 with: - php-version: 8.1 + php-version: 8.2 coverage: none + ini-file: development env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/update-nextcloud-ocp.yml b/.github/workflows/update-nextcloud-ocp.yml index 7adcef41aa..29043d6d4e 100644 --- a/.github/workflows/update-nextcloud-ocp.yml +++ b/.github/workflows/update-nextcloud-ocp.yml @@ -24,15 +24,15 @@ jobs: name: update-nextcloud-ocp-${{ matrix.ocp }} steps: - - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: ref: ${{ matrix.branch }} submodules: true - - name: Set up php8.0 - uses: shivammathur/setup-php@1a18b2267f80291a81ca1d33e7c851fe09e7dfc4 # v2 + - name: Set up php8.2 + uses: shivammathur/setup-php@81cd5ae0920b34eef300e1775313071038a53429 # v2 with: - php-version: 8.0 + php-version: 8.2 extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip coverage: none env: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8e0c6aef6f..9094d84424 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,54 +1,74 @@ -# How to contribute? +Contributing to LibreSign +========================= -**Simple way**: Fork and pull request! 😃 +Welcome +------- -**NOTE**: If the project does not have an issue for what you want to do, create an issue first. +We really appreciate everyone who would like to contribute to the LibreSign project! +There are many ways to contribute, including writing code, filing issues on GitHub, +helping people, assisting in triaging, reproducing, or fixing bugs that people have filed, +and enhancing our documentation. Also giving a star to the project is a really good way +to help and donate. -Feel free to submit [Github Issues](https://github.com/libresign/libresign/issues) or pull requests. +Before you get started, we encourage you to read our code of conduct, which describes our community norms: -But... follow the complete way: +1. [Our code of conduct](CODE_OF_CONDUCT.md), which explicitly stipulates that everyone must be gracious, +respectful, and professional. This also documents our conflict resolution policy and encourages people to ask questions. -## To start front and backend development environment +Quality Assurance +----------------- -* Start the Nextcloud development. - > **NOTE**: I suggest to use this: https://github.com/LibreCodeCoop/nextcloud-docker-development/ only because is the environment that I use 😅. I also suggest to use https://github.com/juliushaertl/nextcloud-docker-dev but the setup will be a bit different of this tutorial. -* Wait to be possible access `localhost` in your browser -* Inside the folder of nextcloud environment (the folder that contains the project of previous step), go to `volumes/nextloud/apps-extra` clone the LibreSign repository -* open bash in nextcloud container with `docker compose exec -u www-data nextcloud bash` -* Inside bash of Nextcloud, go to folder `apps-extra/libresign` -* Run the commands: - ```bash - # download composer dependencies - composer install - # download JS dependencies - npm ci - # build and watch JS changes - npm run watch - ``` -* Now, access the `localhost` on your browser +One of the most useful tasks, closely related to triage, is finding and filing bug reports. +Testing beta releases, looking for regressions, creating test cases, adding to our test suites, +and other work along these lines can significantly improve the quality of the product. +Creating tests that increase our test coverage and writing tests for issues others have filed are invaluable contributions to open source projects. -## To update API documentation +If this interests you, feel free to dive in and submit bug reports at any time! -[Repository of site and API documentation](https://github.com/libresign/libresign.github.io) +> As a personal side note, this is exactly the kind of work that first got me into open +> source. I was a Quality Assurance volunteer on the Mozilla project, writing test cases for +> browsers, long before I wrote a line of code for any open source project. —Hixie -## Executing tests -### PHPUnit, Psalm, PHPCS,... -* Run all tests inside `bash` of `nextcloud` service +Developing for LibreSign +------------------------ -Read more in composer.json scripts section +**NOTE**: If the project does not have an issue for what you want to do, create an issue first. -### Behat +If you would prefer to write code, you may wish to start with our list of good first issues for [LibreSign](https://github.com/LibreSign/libresign/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). +See the respective sections below for further instructions. -* Access bash of `nextcloud` service -* Go to folder `tests/integration` of Libresign app -* Install dependencies: - ```bash - composer i - ``` -* Run tests: +### Front and backend development environment + +This project depends on the NextCloud project, so to start writing code, you will need to set it up. +We recommend using Docker for this, but feel free to use another method if you prefer. We suggest these two setups: + +[Libre Code Coop Setup](https://github.com/LibreCodeCoop/nextcloud-docker-development/)
+[Julius Härtl Nextcloud Setup](https://github.com/juliushaertl/nextcloud-docker-dev) + +**If you have any problems with these setups open an issue at corresponding to the project that you select to use.** + +After executing these Docker setups, wait until it's possible to access localhost. +If access is not possible, go to your terminal, run the command docker ps, +and then find the "nextcloud" image or "ghcr.io/juliushaertl/nextcloud-dev-php**". +Access the address reported from the command output. +(If you cannot find the image, you likely encountered a problem running the Docker setup; please return to the previous step.) + +To get LibreSign executing go to the folder of the setup that you choose and find the folder called `volumes/nextcloud/apps-extra` and clone the LibreSign repository. + +Open bash in Nextcloud container with `docker compose exec -u www-data nextcloud bash` + +Inside bash of Nextcloud go to the folder `apps-extra/libresign` and then run the commands: ```bash - vendor/bin/behat + # Download composer dependencies + composer install + # Download JS dependencies + npm ci + # Build and watch JS changes + npm run watch ``` -You also can run a specific scenario +To update API Documentation +--------------------------- + +[Repository of site and API documentation](https://github.com/libresign/libresign.github.io) diff --git a/README.md b/README.md index 8833a65b98..994446d482 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,6 @@ Nextcloud app to sign PDF documents. -**Table of contents** -- [Setup](#setup) -- [Integrations](#integrations) -- [Full documentation](#full-documentation) -- [Contributing](#contributing) - ## Setup After installing LibreSign, go to `Administration Settings > LibreSign` and: @@ -24,10 +18,11 @@ After installing LibreSign, go to `Administration Settings > LibreSign` and: * [GLPI](https://github.com/LibreSign/libresign-glpi): Plugin to sign GLPI tickets * [Approval](https://github.com/nextcloud/approval): Approve/reject files based on workflows defined by admins -## Full documentation +## Contributing -[here](https://libresign.github.io/) +There are many ways to contribute, including writing code, filing issues on GitHub, helping people Overflow, helping to triage, reproduce, or fix bugs that people have filed, adding to our documentation. +To get more details go to our [contributing guide](CONTRIBUTING.md). -## Contributing +## API Documentation -[here](/CONTRIBUTING.md) +[API Documentation](https://libresign.github.io/) diff --git a/appinfo/info.xml b/appinfo/info.xml index fc5c3b8fc7..a4e3981af4 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -9,7 +9,7 @@ ]]> - 8.0.0-dev-2 + 9.0.0-dev-1 agpl Libre Code @@ -25,7 +25,7 @@ https://raw.githubusercontent.com/LibreSign/libresign/main/img/LibreSign.png openssl - + x86_64 aarch64 diff --git a/appinfo/routes/routesAccountController.php b/appinfo/routes/routesAccountController.php index 19b34d534b..fb1052d102 100644 --- a/appinfo/routes/routesAccountController.php +++ b/appinfo/routes/routesAccountController.php @@ -8,6 +8,9 @@ 'ocs' => [ ['name' => 'account#createToSign', 'url' => '/api/{apiVersion}/account/create/{uuid}', 'verb' => 'POST', 'requirements' => $requirements], ['name' => 'account#me', 'url' => '/api/{apiVersion}/account/me', 'verb' => 'GET', 'requirements' => $requirements], + ['name' => 'account#uploadPfx', 'url' => '/api/{apiVersion}/account/pfx', 'verb' => 'POST', 'requirements' => $requirements], + ['name' => 'account#updatePfxPassword', 'url' => '/api/{apiVersion}/account/pfx', 'verb' => 'PATCH', 'requirements' => $requirements], + ['name' => 'account#deletePfx', 'url' => '/api/{apiVersion}/account/pfx', 'verb' => 'DELETE', 'requirements' => $requirements], ['name' => 'account#updateSettings', 'url' => '/api/{apiVersion}/account/settings', 'verb' => 'PATCH', 'requirements' => $requirements], ['name' => 'account#signatureGenerate', 'url' => '/api/{apiVersion}/account/signature', 'verb' => 'POST', 'requirements' => $requirements], ['name' => 'account#addFiles', 'url' => '/api/{apiVersion}/account/files', 'verb' => 'POST', 'requirements' => $requirements], diff --git a/appinfo/routes/routesAdminController.php b/appinfo/routes/routesAdminController.php index 2738ec9931..f1282537e2 100644 --- a/appinfo/routes/routesAdminController.php +++ b/appinfo/routes/routesAdminController.php @@ -4,6 +4,8 @@ 'apiVersion' => 'v1', ]; +$this->create('adminSse#downloadStatusSse', '/apps/libresign/api/{apiVersion}/admin/download-status-sse', ['file' => __DIR__ . '/../../lib/Controller/AdminSseController.php']); + return [ 'ocs' => [ ['name' => 'admin#generateCertificateCfssl', 'url' => '/api/{apiVersion}/admin/certificate/cfssl', 'verb' => 'POST', 'requirements' => $requirements], diff --git a/appinfo/routes/routesFileController.php b/appinfo/routes/routesFileController.php index c791c01026..917ec6cdba 100644 --- a/appinfo/routes/routesFileController.php +++ b/appinfo/routes/routesFileController.php @@ -8,6 +8,7 @@ 'ocs' => [ ['name' => 'File#save', 'url' => '/api/{apiVersion}/file', 'verb' => 'POST', 'requirements' => $requirements], ['name' => 'File#list', 'url' => '/api/{apiVersion}/file/list', 'verb' => 'GET', 'requirements' => $requirements], + ['name' => 'File#validate', 'url' => '/api/{apiVersion}/file/validate/', 'verb' => 'GET', 'requirements' => $requirements], ['name' => 'File#validateUuid', 'url' => '/api/{apiVersion}/file/validate/uuid/{uuid}', 'verb' => 'GET', 'requirements' => $requirements], ['name' => 'File#validateFileId', 'url' => '/api/{apiVersion}/file/validate/file_id/{fileId}', 'verb' => 'GET', 'requirements' => $requirements], ['name' => 'File#getPage', 'url' => '/api/{apiVersion}/file/page/{uuid}/{page}.png', 'verb' => 'GET', 'requirements' => $requirements], diff --git a/appinfo/routes/routesRequestSignatureController.php b/appinfo/routes/routesRequestSignatureController.php index bb383ded8d..2437cb3843 100644 --- a/appinfo/routes/routesRequestSignatureController.php +++ b/appinfo/routes/routesRequestSignatureController.php @@ -9,6 +9,6 @@ ['name' => 'RequestSignature#request', 'url' => '/api/{apiVersion}/request-signature', 'verb' => 'POST', 'requirements' => $requirements], ['name' => 'RequestSignature#updateSign', 'url' => '/api/{apiVersion}/request-signature', 'verb' => 'PATCH', 'requirements' => $requirements], ['name' => 'RequestSignature#deleteAllRequestSignatureUsingFileId', 'url' => '/api/{apiVersion}/sign/file_id/{fileId}', 'verb' => 'DELETE', 'requirements' => $requirements], - ['name' => 'RequestSignature#deleteOneRequestSignatureUsingFileId', 'url' => '/api/{apiVersion}/sign/file_id/{fileId}/{fileUserId}', 'verb' => 'DELETE', 'requirements' => $requirements], + ['name' => 'RequestSignature#deleteOneRequestSignatureUsingFileId', 'url' => '/api/{apiVersion}/sign/file_id/{fileId}/{signRequestId}', 'verb' => 'DELETE', 'requirements' => $requirements], ], ]; diff --git a/composer.lock b/composer.lock index 143a587dea..320065ddbc 100644 --- a/composer.lock +++ b/composer.lock @@ -338,16 +338,16 @@ }, { "name": "mikehaertl/php-pdftk", - "version": "0.13.0", + "version": "0.13.1", "source": { "type": "git", "url": "https://github.com/mikehaertl/php-pdftk.git", - "reference": "bfe3d0552ca77c1a0d2e9af980a1954259a1a41e" + "reference": "3851b08c1027489e48387d7c14c27bc295d98239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mikehaertl/php-pdftk/zipball/bfe3d0552ca77c1a0d2e9af980a1954259a1a41e", - "reference": "bfe3d0552ca77c1a0d2e9af980a1954259a1a41e", + "url": "https://api.github.com/repos/mikehaertl/php-pdftk/zipball/3851b08c1027489e48387d7c14c27bc295d98239", + "reference": "3851b08c1027489e48387d7c14c27bc295d98239", "shasum": "" }, "require": { @@ -381,9 +381,9 @@ ], "support": { "issues": "https://github.com/mikehaertl/php-pdftk/issues", - "source": "https://github.com/mikehaertl/php-pdftk/tree/0.13.0" + "source": "https://github.com/mikehaertl/php-pdftk/tree/0.13.1" }, - "time": "2022-12-21T08:36:14+00:00" + "time": "2023-11-03T16:06:08+00:00" }, { "name": "mikehaertl/php-shellcommand", @@ -1633,16 +1633,16 @@ "source": { "type": "git", "url": "https://github.com/nextcloud-deps/ocp.git", - "reference": "fa7ed9794598fa62f13cc4a6c4cafd25af4b6c3e" + "reference": "542baf3dd77072b542ba8621351f9e074d8f0f9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/fa7ed9794598fa62f13cc4a6c4cafd25af4b6c3e", - "reference": "fa7ed9794598fa62f13cc4a6c4cafd25af4b6c3e", + "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/542baf3dd77072b542ba8621351f9e074d8f0f9a", + "reference": "542baf3dd77072b542ba8621351f9e074d8f0f9a", "shasum": "" }, "require": { - "php": "~8.0 || ~8.1 || ~8.2", + "php": "~8.0 || ~8.1 || ~8.2 || ~8.3", "psr/clock": "^1.0", "psr/container": "^2.0.2", "psr/event-dispatcher": "^1.0", @@ -1652,7 +1652,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "28.0.0-dev" + "dev-master": "29.0.0-dev" } }, "notification-url": "https://packagist.org/downloads/", @@ -1670,7 +1670,7 @@ "issues": "https://github.com/nextcloud-deps/ocp/issues", "source": "https://github.com/nextcloud-deps/ocp/tree/master" }, - "time": "2023-10-24T00:31:30+00:00" + "time": "2023-11-24T09:15:13+00:00" }, { "name": "psr/clock", @@ -1826,20 +1826,21 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "66671a636e514920046c1028f8c837c1d5a54873" + "reference": "2b23329e299c9a6cd98a82f5137ab4909c8e506d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/66671a636e514920046c1028f8c837c1d5a54873", - "reference": "66671a636e514920046c1028f8c837c1d5a54873", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/2b23329e299c9a6cd98a82f5137ab4909c8e506d", + "reference": "2b23329e299c9a6cd98a82f5137ab4909c8e506d", "shasum": "" }, "conflict": { "3f/pygmentize": "<1.2", - "admidio/admidio": "<4.2.11", + "admidio/admidio": "<4.2.13", "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", "aheinze/cockpit": "<2.2", "aimeos/aimeos-typo3": "<19.10.12|>=20,<20.10.5", + "airesvsg/acf-to-rest-api": "<=3.1", "akaunting/akaunting": "<2.1.13", "akeneo/pim-community-dev": "<5.0.119|>=6,<6.0.53", "alextselegidis/easyappointments": "<1.5", @@ -1875,7 +1876,7 @@ "barrelstrength/sprout-forms": "<3.9", "barryvdh/laravel-translation-manager": "<0.6.2", "barzahlen/barzahlen-php": "<2.0.1", - "baserproject/basercms": "<4.7.5", + "baserproject/basercms": "<4.8", "bassjobsen/bootstrap-3-typeahead": ">4.0.2", "bigfork/silverstripe-form-capture": ">=3,<3.1.1", "billz/raspap-webgui": "<=2.9.2", @@ -1907,11 +1908,11 @@ "cockpit-hq/cockpit": "<=2.6.3", "codeception/codeception": "<3.1.3|>=4,<4.1.22", "codeigniter/framework": "<3.1.9", - "codeigniter4/framework": "<4.3.5", - "codeigniter4/shield": "<1.0.0.0-beta4", + "codeigniter4/framework": "<=4.4.2", + "codeigniter4/shield": "<1.0.0.0-beta8", "codiad/codiad": "<=2.8.4", "composer/composer": "<1.10.27|>=2,<2.2.22|>=2.3,<2.6.4", - "concrete5/concrete5": "<=9.2.1", + "concrete5/concrete5": "<9.2.2", "concrete5/core": "<8.5.8|>=9,<9.1", "contao-components/mediaelement": ">=2.14.2,<2.21.1", "contao/contao": ">=4,<4.4.56|>=4.5,<4.9.40|>=4.10,<4.11.7|>=4.13,<4.13.21|>=5.1,<5.1.4", @@ -1943,10 +1944,12 @@ "doctrine/mongodb-odm": "<1.0.2", "doctrine/mongodb-odm-bundle": "<3.0.1", "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", - "dolibarr/dolibarr": "<18", + "dolibarr/dolibarr": "<18.0.2", "dompdf/dompdf": "<2.0.2|==2.0.2", + "doublethreedigital/guest-entries": "<3.1.2", "drupal/core": "<9.4.14|>=9.5,<9.5.8|>=10,<10.0.8", "drupal/drupal": ">=6,<6.38|>=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "duncanmcclean/guest-entries": "<3.1.2", "dweeves/magmi": "<=0.7.24", "ecodev/newsletter": "<=4", "ectouch/ectouch": "<=2.7.2", @@ -1968,12 +1971,13 @@ "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.26", "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", "ezsystems/ezplatform-graphql": ">=1.0.0.0-RC1-dev,<1.0.13|>=2.0.0.0-beta1,<2.3.12", - "ezsystems/ezplatform-kernel": "<1.2.5.1-dev|>=1.3,<1.3.26", + "ezsystems/ezplatform-kernel": "<1.2.5.1-dev|>=1.3,<1.3.34", "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", "ezsystems/ezplatform-richtext": ">=2.3,<2.3.7.1-dev", + "ezsystems/ezplatform-solr-search-engine": ">=1.7,<1.7.12|>=2,<2.0.2|>=3.3,<3.3.15", "ezsystems/ezplatform-user": ">=1,<1.0.1", - "ezsystems/ezpublish-kernel": "<6.13.8.2-dev|>=7,<7.5.30", - "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.06,<=2019.03.5.1", + "ezsystems/ezpublish-kernel": "<6.13.8.2-dev|>=7,<7.5.31", + "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.03.5.1", "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", "ezsystems/repository-forms": ">=2.3,<2.3.2.1-dev|>=2.5,<2.5.15", "ezyang/htmlpurifier": "<4.1.1", @@ -1991,9 +1995,11 @@ "flarum/mentions": "<1.6.3", "flarum/sticky": ">=0.1.0.0-beta14,<=0.1.0.0-beta15", "flarum/tags": "<=0.1.0.0-beta13", + "floriangaerber/magnesium": "<0.3.1", "fluidtypo3/vhs": "<5.1.1", "fof/byobu": ">=0.3.0.0-beta2,<1.1.7", "fof/upload": "<1.2.3", + "foodcoopshop/foodcoopshop": ">=3.2,<3.6.1", "fooman/tcpdf": "<6.2.22", "forkcms/forkcms": "<5.11.1", "fossar/tcpdf-parser": "<6.2.22", @@ -2005,7 +2011,7 @@ "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", "friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6", "froala/wysiwyg-editor": "<3.2.7|>=4.0.1,<=4.1.1", - "froxlor/froxlor": "<2.1", + "froxlor/froxlor": "<2.1.0.0-beta1", "fuel/core": "<1.8.1", "funadmin/funadmin": "<=3.2|>=3.3.2,<=3.3.3", "gaoming13/wechat-php-sdk": "<=1.10.2", @@ -2038,9 +2044,10 @@ "httpsoft/http-message": "<1.0.12", "hyn/multi-tenant": ">=5.6,<5.7.2", "ibexa/admin-ui": ">=4.2,<4.2.3", - "ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3", + "ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3|>=4.5,<4.5.4", "ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3", "ibexa/post-install": "<=1.0.4", + "ibexa/solr": ">=4.5,<4.5.4", "ibexa/user": ">=4,<4.4.3", "icecoder/icecoder": "<=8.1", "idno/known": "<=1.3.1", @@ -2077,7 +2084,7 @@ "kelvinmo/simplexrd": "<3.1.1", "kevinpapst/kimai2": "<1.16.7", "khodakhah/nodcms": "<=3", - "kimai/kimai": "<1.1", + "kimai/kimai": "<=2.1", "kitodo/presentation": "<3.2.3|>=3.3,<3.3.4", "klaviyo/magento2-extension": ">=1,<3", "knplabs/knp-snappy": "<=1.4.2", @@ -2122,7 +2129,7 @@ "melisplatform/melis-front": "<5.0.1", "mezzio/mezzio-swoole": "<3.7|>=4,<4.3", "mgallegos/laravel-jqgrid": "<=1.3", - "microweber/microweber": "<=1.3.4", + "microweber/microweber": "<2.0.3", "miniorange/miniorange-saml": "<1.4.3", "mittwald/typo3_forum": "<1.2.1", "mobiledetect/mobiledetectlib": "<2.8.32", @@ -2130,10 +2137,13 @@ "mojo42/jirafeau": "<4.4", "mongodb/mongodb": ">=1,<1.9.2", "monolog/monolog": ">=1.8,<1.12", - "moodle/moodle": "<4.2.0.0-RC2-dev|==4.2", + "moodle/moodle": "<4.3.0.0-RC2-dev", "mos/cimage": "<0.7.19", "movim/moxl": ">=0.8,<=0.10", "mpdf/mpdf": "<=7.1.7", + "munkireport/comment": "<4.1", + "munkireport/managedinstalls": "<2.6", + "munkireport/munkireport": ">=2.5.3,<5.6.3", "mustache/mustache": ">=2,<2.14.1", "namshi/jose": "<2.2", "neoan3-apps/template": "<1.1.1", @@ -2202,17 +2212,19 @@ "phpxmlrpc/extras": "<0.6.1", "phpxmlrpc/phpxmlrpc": "<4.9.2", "pi/pi": "<=2.5", - "pimcore/admin-ui-classic-bundle": "<1.1.2", + "pimcore/admin-ui-classic-bundle": "<1.2.1", "pimcore/customer-management-framework-bundle": "<3.4.2", "pimcore/data-hub": "<1.2.4", "pimcore/demo": "<10.3", "pimcore/perspective-editor": "<1.5.1", - "pimcore/pimcore": "<10.6.8", + "pimcore/pimcore": "<11.1.1", "pixelfed/pixelfed": "<=0.11.4", "pocketmine/bedrock-protocol": "<8.0.2", "pocketmine/pocketmine-mp": "<=4.23|>=5,<5.3.1", + "pocketmine/raklib": ">=0.14,<0.14.6|>=0.15,<0.15.1", "pressbooks/pressbooks": "<5.18", "prestashop/autoupgrade": ">=4,<4.10.1", + "prestashop/blockreassurance": "<=5.1.3", "prestashop/blockwishlist": ">=2,<2.1.1", "prestashop/contactform": ">=1.0.1,<4.3", "prestashop/gamification": "<2.3.2", @@ -2239,6 +2251,8 @@ "react/http": ">=0.7,<1.9", "really-simple-plugins/complianz-gdpr": "<6.4.2", "remdex/livehelperchat": "<3.99", + "reportico-web/reportico": "<=7.1.21", + "rhukster/dom-sanitizer": "<1.0.7", "rmccue/requests": ">=1.6,<1.8", "robrichards/xmlseclibs": "<3.0.4", "roots/soil": "<4.1", @@ -2298,7 +2312,7 @@ "spoonity/tcpdf": "<6.2.22", "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", "ssddanbrown/bookstack": "<22.02.3", - "statamic/cms": "<4.10", + "statamic/cms": "<4.36", "stormpath/sdk": "<9.9.99", "studio-42/elfinder": "<2.1.62", "subhh/libconnect": "<7.0.8|>=8,<8.1", @@ -2307,6 +2321,7 @@ "sumocoders/framework-user-bundle": "<1.4", "swag/paypal": "<5.4.4", "swiftmailer/swiftmailer": ">=4,<5.4.5", + "swiftyedit/swiftyedit": "<1.2", "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", "sylius/grid-bundle": "<1.10.1", @@ -2338,14 +2353,16 @@ "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", - "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.3.2", + "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.3.2|>=5.4,<5.4.31|>=6,<6.3.8", "symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12", - "symfony/symfony": "<4.4.50|>=5,<5.4.20|>=6,<6.0.20|>=6.1,<6.1.12|>=6.2,<6.2.6", + "symfony/symfony": "<4.4.51|>=5,<5.4.31|>=6,<6.3.8", "symfony/translation": ">=2,<2.0.17", + "symfony/twig-bridge": ">=2,<4.4.51|>=5,<5.4.31|>=6,<6.3.8", "symfony/ux-autocomplete": "<2.11.2", "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", + "symfony/webhook": ">=6.3,<6.3.8", "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", "t3/dce": "<0.11.5|>=2.2,<2.6.2", "t3g/svg-sanitizer": "<1.0.3", @@ -2357,9 +2374,9 @@ "thelia/thelia": ">=2.1,<2.1.3", "theonedemon/phpwhois": "<=4.2.5", "thinkcmf/thinkcmf": "<=5.1.7", - "thorsten/phpmyfaq": "<3.2.0.0-beta2", + "thorsten/phpmyfaq": "<3.2.2", "tikiwiki/tiki-manager": "<=17.1", - "tinymce/tinymce": "<5.10.8|>=6,<6.7.1", + "tinymce/tinymce": "<5.10.9|>=6,<6.7.3", "tinymighty/wiki-seo": "<1.2.2", "titon/framework": "<9.9.99", "tobiasbg/tablepress": "<=2.0.0.0-RC1", @@ -2373,12 +2390,13 @@ "twig/twig": "<1.44.7|>=2,<2.15.3|>=3,<3.4.3", "typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", - "typo3/cms-core": "<8.7.51|>=9,<9.5.42|>=10,<10.4.39|>=11,<11.5.30|>=12,<12.4.4", + "typo3/cms-core": "<=8.7.54|>=9,<=9.5.43|>=10,<=10.4.40|>=11,<=11.5.32|>=12,<=12.4.7", "typo3/cms-extbase": "<6.2.24|>=7,<7.6.8|==8.1.1", "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/cms-install": ">=12.2,<12.4.8", "typo3/cms-rte-ckeditor": ">=9.5,<9.5.42|>=10,<10.4.39|>=11,<11.5.30", "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", - "typo3/html-sanitizer": ">=1,<1.5.1|>=2,<2.1.2", + "typo3/html-sanitizer": ">=1,<=1.5.2|>=2,<=2.1.3", "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", @@ -2419,7 +2437,7 @@ "yetiforce/yetiforce-crm": "<=6.4", "yidashi/yii2cmf": "<=2", "yii2mod/yii2-cms": "<1.9.2", - "yiisoft/yii": "<1.1.27", + "yiisoft/yii": "<1.1.29", "yiisoft/yii2": "<2.0.38", "yiisoft/yii2-bootstrap": "<2.0.4", "yiisoft/yii2-dev": "<2.0.43", @@ -2504,7 +2522,7 @@ "type": "tidelift" } ], - "time": "2023-10-24T03:04:20+00:00" + "time": "2023-11-23T04:04:32+00:00" } ], "aliases": [], diff --git a/l10n/af.js b/l10n/af.js index ccbea7f32d..1b0884d358 100644 --- a/l10n/af.js +++ b/l10n/af.js @@ -6,14 +6,15 @@ OC.L10N.register( "View" : "Bekyk", "File not found" : "Lêer nie gevind nie", "File already exists" : "Lêer bestaan reeds", + "File is too big" : "Lêer is te groot", "Account" : "Rekening", "Invalid user" : "Ongeldige gebruiker", "Email" : "E-pos", - "Password" : "Wagwoord", "Files" : " Lêers", "Settings" : "Instellings", "Authentication required" : "Verifikasie word vereis", "This action requires you to confirm your password" : "Die aksie vereis dat jy jou wagwoord bevestig", + "Password" : "Wagwoord", "Confirm" : "Bevestig", "Text" : "Teks", "Upload" : "Laai op", @@ -27,7 +28,7 @@ OC.L10N.register( "Next" : "Volgende", "Previous" : "Vorige", "Details" : "Besonderhede", - "Reset password" : "Herstel wagwoord", + "Certificate" : "Sertifikaat", "Type" : "Tipe", "Status" : "Status", "Actions" : "Aksies", @@ -38,13 +39,16 @@ OC.L10N.register( "Yes" : "Ja", "No" : "Nee", "Page not found" : "Blad nie gevind nie", + "Send" : "Stuur", "Password reset" : "Wagwoord herstel", + "Current password" : "Huidige wagwoord", "New password" : "Nuwe wagwoord", "Resource" : "Hulpbron", "Dependencies" : "Afhanklikhede", "Loading …" : "Laai …", "Pending" : "Hangend", "No date" : "Geen datum", + "Reset password" : "Herstel wagwoord", "Remove" : "Verwyder" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/af.json b/l10n/af.json index abd0b55c6f..5038fe0395 100644 --- a/l10n/af.json +++ b/l10n/af.json @@ -4,14 +4,15 @@ "View" : "Bekyk", "File not found" : "Lêer nie gevind nie", "File already exists" : "Lêer bestaan reeds", + "File is too big" : "Lêer is te groot", "Account" : "Rekening", "Invalid user" : "Ongeldige gebruiker", "Email" : "E-pos", - "Password" : "Wagwoord", "Files" : " Lêers", "Settings" : "Instellings", "Authentication required" : "Verifikasie word vereis", "This action requires you to confirm your password" : "Die aksie vereis dat jy jou wagwoord bevestig", + "Password" : "Wagwoord", "Confirm" : "Bevestig", "Text" : "Teks", "Upload" : "Laai op", @@ -25,7 +26,7 @@ "Next" : "Volgende", "Previous" : "Vorige", "Details" : "Besonderhede", - "Reset password" : "Herstel wagwoord", + "Certificate" : "Sertifikaat", "Type" : "Tipe", "Status" : "Status", "Actions" : "Aksies", @@ -36,13 +37,16 @@ "Yes" : "Ja", "No" : "Nee", "Page not found" : "Blad nie gevind nie", + "Send" : "Stuur", "Password reset" : "Wagwoord herstel", + "Current password" : "Huidige wagwoord", "New password" : "Nuwe wagwoord", "Resource" : "Hulpbron", "Dependencies" : "Afhanklikhede", "Loading …" : "Laai …", "Pending" : "Hangend", "No date" : "Geen datum", + "Reset password" : "Herstel wagwoord", "Remove" : "Verwyder" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/ar.js b/l10n/ar.js index 02fc2b5e09..a6d668e6d1 100644 --- a/l10n/ar.js +++ b/l10n/ar.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID غير صالح", "Success" : "نجاح", "Invalid user or password" : "مستخدم أو كلمة مرور غير صالحة", "_Element created with success_::_Elements created with success_" : ["تم إنشاء العناصر بنجاح","تم إنشاء العنصر بنجاح","تم إنشاء العناصر بنجاح","تم إنشاء العناصر بنجاح","تم إنشاء العناصر بنجاح","تم إنشاء العناصر بنجاح"], @@ -9,6 +10,9 @@ OC.L10N.register( "Element updated with success" : "تم تحديث العنصر بنجاح", "Visible element deleted" : "تم حذف العنصر المرئي", "Settings saved" : "تم حفظ الإعدادات", + "Certificate file deleted with success." : "تمّ بنجاح حذف ملف شهادة المصادقة", + "Certificate file saved with success." : "تمّ بنجاح حفظ ملف شهادة المصادقة", + "New password to sign documents has been created" : "تم إنشاء كلمة مرور جديدة لتوقيع المستندات", "Name is mandatory" : "الاسم إلزامي", "Notification sent with success." : "تم إرسال الإخطار بنجاح.", "File signed" : "الملف موقّع", @@ -28,10 +32,13 @@ OC.L10N.register( "Invalid Sign engine." : "محرك توقيع غير صالح.", "Digital signed by LibreSign." : "موقّع رقميا بواسطة تطبيق LibreSign.", "Validate in %s." : "تم التحقق في %s.", + "Invalid data to validate file" : "بيانات غير صالحة للتحقق من صحة الملف", "File type: %s. Empty file." : "نوع الملف:%s. ملف فارغ.", "Elements of type %s need file." : "تحتاج العناصر من النوع%sإلى ملف.", "File type: %s. Specify a URL, a base64 string or a fileID." : "نوع الملف:%sحدد عنوان URL أو سلسلة base64 أو معرّف الملف.", "File type: %s. Invalid fileID." : "نوع الملف: %s. معرف الملف غير صالح.", + "User not found." : "لم يتم العثور على المستخدم.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "نوع الملف: %s. عيِّن عنوان URL, أو سلسة نصية base64 , أو مسار، أو مُعرِّف ملف.", "document to sign" : "وثيقة للتوقيع", "visible element" : "عنصر مرئي", "File type: %s. Invalid base64 file." : "نوع الملف:%s. ملف base64 غير صالح.", @@ -58,7 +65,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "بدأت عملية التوقيع بالفعل. تعذر تغيير الحالة.", "Inform or UUID or a File object" : "إبلاغ أو UUID أو كائن ملف", "No user data" : "لا توجد بيانات مستخدم", - "User not found." : "لم يتم العثور على المستخدم.", "User %s has no email address." : "المستخدم %s ليس لديه عنوان بريد إلكتروني.", "Email required" : "البريد الإلكتروني مطلوب", "Invalid email" : "بريد إلكتروني خاطئ", @@ -66,7 +72,6 @@ OC.L10N.register( "No signature was requested to %s" : "لم يتم طلب توقيع لـ %s", "%s already signed this file" : "قام %sبالتوقيع بالفعل على هذا الملف", "Invalid UUID file" : "ملف UUID غير صالح", - "Invalid UUID" : "UUID غير صالح", "Signer not associated to this file" : "الموقّع غير مرتبط بهذا الملف", "A file of this type has been associated." : "تم إقران ملف من هذا النوع.", "Empty identify data." : "محو البيانات التعريفية.", @@ -89,7 +94,9 @@ OC.L10N.register( "Invalid URL file" : "عنوا URL ملف غير صالح", "Visible element file must be png." : "يجب أن يكون ملف العنصر المرئي بتنسيق png.", "Empty file" : "ملفٌ فارغٌ", - "Invalid data to validate file" : "بيانات غير صالحة للتحقق من صحة الملف", + "No certificate file provided" : "لا يوجد أي ملف لشهادة مصادقة", + "Invalid file provided. Need to be a .pfx file." : "الملف المُعطَى غير صحيح. يجب أن يكون امتداد الملف .pfx.", + "File is too big" : "الملف كبير جدًا", "Invalid file identifier" : "معرّف الملف غير صالح", "You need to sign this document" : "تحتاج إلى توقيع هذه الوثيقة", "You cannot request signature for this document, please contact your administrator" : "لا يمكنك طلب التوقيع على هذه الوثيقة، الرجاء الاتصال بالمسؤول", @@ -104,7 +111,7 @@ OC.L10N.register( "Email" : "البريد الإلكتروني", "User already exists" : "أنت موجودٌ مُسبقاً", "This is not your file" : "هذا ليس ملفك", - "Password" : "كلمة السر", + "Certificate with password" : "شهادة مصادقة مع كلمة المرور", "Invalid password" : "كلمة المرور غير صحيحة", "LibreSign: Changes into a file for you to sign" : "تطبيق LibreSign: تغييرات فى ملف يلزم عليك القيام بالتوقيع عليه", "File to sign" : "ملف يحتاج لتوقيع", @@ -141,6 +148,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "تطبيق LibreSign، تطبيق التوقيع الرقمي لنكست كلود.", "Authentication required" : "المصادقة مطلوبة", "This action requires you to confirm your password" : "يتطلب هذا الإجراء منك تأكيد كلمة المرور", + "Password" : "كلمة السر", "Confirm" : "تأكيد", "Incorrect password!" : "كلمة مرور غير صحيحة!", "Text" : "نص", @@ -156,6 +164,7 @@ OC.L10N.register( "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "استخدم بكرة الفأرة لتكبير الصورة أو تصغيرها والعثور على أفضل عرض لتوقيعك.", "Enter your Full Name or Initials to create Signature" : "أدخل اسمك الكامل أو الأحرف الأولى لإنشاء التوقيع", "Requested by {name}, at {date}" : "مطلوب من قبل {name}، في {date}", + "Enter who will receive the request" : "أدخِل من سيستلم الطلب", "Signatures" : "التوقيعات", "Search signer by account" : "البحث عن صاحب التوقيع بدلالة حسابه", "Name" : "الاسم", @@ -183,10 +192,13 @@ OC.L10N.register( "Sign" : "وقع", "Request signatures?" : "طلب التوقيعات؟", "Element created" : "تم إنشاء العنصر", + "signed at {date}" : "تمّ توقيعه بتاريخ: {date}", "Details" : "التفاصيل", - "Password & Security" : "كلمة المرور والأمان", - "Create password key" : "إنشاء مفتاح كلمة المرور", - "Reset password" : "تعديل كلمة السر", + "Certificate" : "الشهادة", + "Upload certificate" : "رفع شهادة مصادقة", + "Delete certificate" : "حذف الشهادة", + "Create certificate" : "إنشاء شهادة مصادقة", + "Change password" : "تغيير كلمة المرور", "Not sent yet" : "لم ترسل بعد", "Not defined yet" : "لم تعين بعد", "Select a file" : "Select a file", @@ -207,7 +219,6 @@ OC.L10N.register( "Password Creation" : "إنشاء كلمة المرور", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "لأسباب أمنية، يجب عليك إنشاء كلمة مرور لتوقيع المستندات. أدخل كلمة المرور الجديدة في الحقل أدناه.", "Enter a password" : "أدخِل كلمة المرور", - "New password to sign documents has been created" : "تم إنشاء كلمة مرور جديدة لتوقيع المستندات", "Error creating new password, please contact the administrator" : "خطأ في إنشاء كلمة مرور جديدة، يرجى الاتصال بالمسؤول", "Create new subscription." : "إنشاء اشتراك جديد.", "Root certificate has not been configured by the Administrator!" : "لم يتم تكوين شهادة الدليل الأساسي من قبل المسؤول!", @@ -235,13 +246,14 @@ OC.L10N.register( "The admin hasn't set up LibreSign yet, please wait." : "لم يقم المشرف بتنصيب نظام التوقيع الالكتروني \"ليبر ساين\" Libresign حتى الآن. يرجى الانتظار. ", "Request Signatures" : "طلب التوقيعات", "Choose the file to request signatures." : "اختر الملف لطلب التوقيعات.", + "Upload from URL" : "إرفَع من عنوان URL", "Choose from Files" : "اختر من الملفات", - "Enter the emails that will receive the request" : "ادخل رسائل البريد الإلكتروني التي ستتلقى الطلب", - "Signatures for this document have already been requested" : "تم طلب التوقيعات لهذا المستند بالفعل", - "Add users" : "اضافة اعضاء", + "URL of a PDF file" : "عنوان URL لملف PDF", + "Send" : "أرسِل", "Select your file" : "حدد الملف الخاص بك", "Password reset" : "إعادة تعيين كلمة مرور", "Enter new password and then repeat it" : "أدخل كلمة المرور الجديدة ثم كررها", + "Current password" : "كلمة المرور الحالية", "New password" : "الكلمة السرية الجديدة", "Repeat password" : "أعد كتابة الكلمة السرية", "Allow request to sign" : "السماح بطلب التوقيع", @@ -252,12 +264,13 @@ OC.L10N.register( "Certificate engine" : "محرك شهادات المصادقة", "Certificate engine to generate the root certificate" : "محرك شهادات المصادقة لتوليد الشهادات الجذرية", "Select the certificate engine to generate the root certificate" : "إختَر محرك شهادات المصادقة لتوليد الشهادة الجذرية", + "I will not use root certificate" : "سوف لن أستعمل الشهادة الجذرية", "Collect signers' metadata when signing a document" : "جمع البيانات التعريفية بالموقعين عند توقيعهم للمستند", "Collect signers' metadata" : "جمع بيانات التعريف الوصفية للموقعين", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "بتمكين هذه الميزة في كل مرة يتم فيها توقيع مستند، يقوم تطبيق التوقيع الالكتروني LibreSign بتخزين عنوان IP، و وكيل المستخدِم الخاص بصاحب التوقيع.", "Message" : "الرسالة", "Resource" : "مصدر", - "Advice" : "مشورة", + "Tip" : "إرشاد", "Configuration check" : "فحص التهيئة", "Status of setup" : "حالة التكوين", "Customize default user folder" : "تخصيص المجلد التلقائي للمستخدم", @@ -276,6 +289,8 @@ OC.L10N.register( "Allow account creation for new users" : "السماح بإنشاء حسابات للمستخدمين الجديد", "Allows sending registration email when the user does not have an account." : "السماح بإرسال رسالة بريد إلكتروني للتسجيل إذا كان المستخدم لا يمتلك حساباً.", "Default signature method" : "طريقة التوقيع التلقائية", + "Identify factors" : "تحديد العوامل", + "Ways to identify a person who will sign a document." : "طُرُق التعرُّف على الشخص الذي سيُوقِّع مستنداً", "Legal Information" : "المعلومات القانونية", "Legal information" : "المعلومات القانونية", "This information will appear on the validation page" : "سوف تظهر هذه المعلومات على صفحة التحقق من الصحة", @@ -286,13 +301,14 @@ OC.L10N.register( "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "إعادة إنشاء شهادة الجذر سيؤدي إلى إبطال جميع مفاتيح التوقيعات. هل تريد تأكيد هذا الأجراء؟", "Full name of the main company or main user of this instance" : "الاسم الكامل للشركة الرئيسية أو المستخدم الرئيسي لهذا المثيل", "Define custom values to use {engine}" : "قم بتعريف قيم مخصصة لاستخدام {engine}", - "Not mandatory, don't fill to use default value." : "ليس إلزامياً استخدام القيمة الافتراضية.", - "Root certificate data." : "بيانات شهادة الجذر", + "Not mandatory, don't fill to use default value." : "ليس إلزامياً، سيتم استخدام القيمة الافتراضية إذا تركته فارغاً.", + "Root certificate data" : "بيانات شهادة المصادقة الجذرية", "To generate new signatures, you must first generate the root certificate." : "لإنشاء توقيعات جديدة ، يجب أولاً إنشاء شهادة الدليل الأساسي.", - "Generate root certificate." : "تكوين شهادة جذر", + "Generate root certificate" : "توليد شهادة مصادقة جذرية", "Generating certificate." : "توليد الشهادة.", "Could not generate certificate." : "تعذّر توليد الشهادة.", "Generated certificate!" : "شهادة مُكوّنة", + "Make validation URL acessible only by authenticated users" : "اجعَل عنوان URL للتحقق متاحًا فقط للمستخدِمين المعتمدين", "Add visible footer with signature details" : "أضِف تذييلاً مرئيّاً مع تفاصيل التوقيع", "Write QR code on footer with validation URL" : "أكتُب رمز الاستجابة السريعة QR في التذييل مع عنوان URL للتحقُّق", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "للتحقق من صحة التوقيع على الوثائق. قم بتغيير هذه القيمة فقط إذا كنت تريد استبدال عنوان URL الافتراضي للتحقُّق من الصحة بغيره.", @@ -340,14 +356,19 @@ OC.L10N.register( "Validate File" : "التحقق من صحة الملف", "Add visible signatures" : "إضافة التوقيعات المرئية", "Are you sure you want to exclude user {email} from the request?" : "هل أنت متأكد أنك تريد استبعاد المستخدم {email} من الطلب؟", + "Password & Security" : "كلمة المرور والأمان", + "Create password key" : "إنشاء مفتاح كلمة المرور", + "Reset password" : "تعديل كلمة السر", "Nothing to do" : "لا شيء لفعله", "Validate Document" : "التحقق من صحة المستند", "Do you want to configure visible elements in this document?" : "هل تريد تكوين العناصر المرئية في هذا المستند؟", - "Collect signers metadata when sign a document" : "إجمع البيانات التعريفية بالمُوقِّعِين عند توقيع مستند", - "Collect signers metadata" : "جمع البيانات التعريفية بالمُوقِّعِين", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "عند تمكين هذه الميزة، في كل مرة يتم فيها التوقيع على مستند، يقوم LibreSign بتخزين عنوان IP و وكيل المستخدم الخاص user agent بصاحب التوقيع.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "ملفات تنفيذية مطلوبة للعمل و يلزم تنزيلها. حجمها في حدود 340 ميغابايت. إنتظر للحظات ...", + "Enter the emails that will receive the request" : "ادخل رسائل البريد الإلكتروني التي ستتلقى الطلب", + "Signatures for this document have already been requested" : "تم طلب التوقيعات لهذا المستند بالفعل", + "Add users" : "اضافة اعضاء", + "Advice" : "مشورة", "Define custom values to use CFSSL" : "تحديد القيم المخصصة لاستعمال CFSSL", + "Root certificate data." : "بيانات شهادة الجذر", + "Generate root certificate." : "تكوين شهادة جذر", "Remove" : "حذف" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/l10n/ar.json b/l10n/ar.json index 4a3d038ffd..75c0cd1e80 100644 --- a/l10n/ar.json +++ b/l10n/ar.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID غير صالح", "Success" : "نجاح", "Invalid user or password" : "مستخدم أو كلمة مرور غير صالحة", "_Element created with success_::_Elements created with success_" : ["تم إنشاء العناصر بنجاح","تم إنشاء العنصر بنجاح","تم إنشاء العناصر بنجاح","تم إنشاء العناصر بنجاح","تم إنشاء العناصر بنجاح","تم إنشاء العناصر بنجاح"], @@ -7,6 +8,9 @@ "Element updated with success" : "تم تحديث العنصر بنجاح", "Visible element deleted" : "تم حذف العنصر المرئي", "Settings saved" : "تم حفظ الإعدادات", + "Certificate file deleted with success." : "تمّ بنجاح حذف ملف شهادة المصادقة", + "Certificate file saved with success." : "تمّ بنجاح حفظ ملف شهادة المصادقة", + "New password to sign documents has been created" : "تم إنشاء كلمة مرور جديدة لتوقيع المستندات", "Name is mandatory" : "الاسم إلزامي", "Notification sent with success." : "تم إرسال الإخطار بنجاح.", "File signed" : "الملف موقّع", @@ -26,10 +30,13 @@ "Invalid Sign engine." : "محرك توقيع غير صالح.", "Digital signed by LibreSign." : "موقّع رقميا بواسطة تطبيق LibreSign.", "Validate in %s." : "تم التحقق في %s.", + "Invalid data to validate file" : "بيانات غير صالحة للتحقق من صحة الملف", "File type: %s. Empty file." : "نوع الملف:%s. ملف فارغ.", "Elements of type %s need file." : "تحتاج العناصر من النوع%sإلى ملف.", "File type: %s. Specify a URL, a base64 string or a fileID." : "نوع الملف:%sحدد عنوان URL أو سلسلة base64 أو معرّف الملف.", "File type: %s. Invalid fileID." : "نوع الملف: %s. معرف الملف غير صالح.", + "User not found." : "لم يتم العثور على المستخدم.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "نوع الملف: %s. عيِّن عنوان URL, أو سلسة نصية base64 , أو مسار، أو مُعرِّف ملف.", "document to sign" : "وثيقة للتوقيع", "visible element" : "عنصر مرئي", "File type: %s. Invalid base64 file." : "نوع الملف:%s. ملف base64 غير صالح.", @@ -56,7 +63,6 @@ "Sign process already started. Unable to change status." : "بدأت عملية التوقيع بالفعل. تعذر تغيير الحالة.", "Inform or UUID or a File object" : "إبلاغ أو UUID أو كائن ملف", "No user data" : "لا توجد بيانات مستخدم", - "User not found." : "لم يتم العثور على المستخدم.", "User %s has no email address." : "المستخدم %s ليس لديه عنوان بريد إلكتروني.", "Email required" : "البريد الإلكتروني مطلوب", "Invalid email" : "بريد إلكتروني خاطئ", @@ -64,7 +70,6 @@ "No signature was requested to %s" : "لم يتم طلب توقيع لـ %s", "%s already signed this file" : "قام %sبالتوقيع بالفعل على هذا الملف", "Invalid UUID file" : "ملف UUID غير صالح", - "Invalid UUID" : "UUID غير صالح", "Signer not associated to this file" : "الموقّع غير مرتبط بهذا الملف", "A file of this type has been associated." : "تم إقران ملف من هذا النوع.", "Empty identify data." : "محو البيانات التعريفية.", @@ -87,7 +92,9 @@ "Invalid URL file" : "عنوا URL ملف غير صالح", "Visible element file must be png." : "يجب أن يكون ملف العنصر المرئي بتنسيق png.", "Empty file" : "ملفٌ فارغٌ", - "Invalid data to validate file" : "بيانات غير صالحة للتحقق من صحة الملف", + "No certificate file provided" : "لا يوجد أي ملف لشهادة مصادقة", + "Invalid file provided. Need to be a .pfx file." : "الملف المُعطَى غير صحيح. يجب أن يكون امتداد الملف .pfx.", + "File is too big" : "الملف كبير جدًا", "Invalid file identifier" : "معرّف الملف غير صالح", "You need to sign this document" : "تحتاج إلى توقيع هذه الوثيقة", "You cannot request signature for this document, please contact your administrator" : "لا يمكنك طلب التوقيع على هذه الوثيقة، الرجاء الاتصال بالمسؤول", @@ -102,7 +109,7 @@ "Email" : "البريد الإلكتروني", "User already exists" : "أنت موجودٌ مُسبقاً", "This is not your file" : "هذا ليس ملفك", - "Password" : "كلمة السر", + "Certificate with password" : "شهادة مصادقة مع كلمة المرور", "Invalid password" : "كلمة المرور غير صحيحة", "LibreSign: Changes into a file for you to sign" : "تطبيق LibreSign: تغييرات فى ملف يلزم عليك القيام بالتوقيع عليه", "File to sign" : "ملف يحتاج لتوقيع", @@ -139,6 +146,7 @@ "LibreSign, digital signature app for Nextcloud." : "تطبيق LibreSign، تطبيق التوقيع الرقمي لنكست كلود.", "Authentication required" : "المصادقة مطلوبة", "This action requires you to confirm your password" : "يتطلب هذا الإجراء منك تأكيد كلمة المرور", + "Password" : "كلمة السر", "Confirm" : "تأكيد", "Incorrect password!" : "كلمة مرور غير صحيحة!", "Text" : "نص", @@ -154,6 +162,7 @@ "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "استخدم بكرة الفأرة لتكبير الصورة أو تصغيرها والعثور على أفضل عرض لتوقيعك.", "Enter your Full Name or Initials to create Signature" : "أدخل اسمك الكامل أو الأحرف الأولى لإنشاء التوقيع", "Requested by {name}, at {date}" : "مطلوب من قبل {name}، في {date}", + "Enter who will receive the request" : "أدخِل من سيستلم الطلب", "Signatures" : "التوقيعات", "Search signer by account" : "البحث عن صاحب التوقيع بدلالة حسابه", "Name" : "الاسم", @@ -181,10 +190,13 @@ "Sign" : "وقع", "Request signatures?" : "طلب التوقيعات؟", "Element created" : "تم إنشاء العنصر", + "signed at {date}" : "تمّ توقيعه بتاريخ: {date}", "Details" : "التفاصيل", - "Password & Security" : "كلمة المرور والأمان", - "Create password key" : "إنشاء مفتاح كلمة المرور", - "Reset password" : "تعديل كلمة السر", + "Certificate" : "الشهادة", + "Upload certificate" : "رفع شهادة مصادقة", + "Delete certificate" : "حذف الشهادة", + "Create certificate" : "إنشاء شهادة مصادقة", + "Change password" : "تغيير كلمة المرور", "Not sent yet" : "لم ترسل بعد", "Not defined yet" : "لم تعين بعد", "Select a file" : "Select a file", @@ -205,7 +217,6 @@ "Password Creation" : "إنشاء كلمة المرور", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "لأسباب أمنية، يجب عليك إنشاء كلمة مرور لتوقيع المستندات. أدخل كلمة المرور الجديدة في الحقل أدناه.", "Enter a password" : "أدخِل كلمة المرور", - "New password to sign documents has been created" : "تم إنشاء كلمة مرور جديدة لتوقيع المستندات", "Error creating new password, please contact the administrator" : "خطأ في إنشاء كلمة مرور جديدة، يرجى الاتصال بالمسؤول", "Create new subscription." : "إنشاء اشتراك جديد.", "Root certificate has not been configured by the Administrator!" : "لم يتم تكوين شهادة الدليل الأساسي من قبل المسؤول!", @@ -233,13 +244,14 @@ "The admin hasn't set up LibreSign yet, please wait." : "لم يقم المشرف بتنصيب نظام التوقيع الالكتروني \"ليبر ساين\" Libresign حتى الآن. يرجى الانتظار. ", "Request Signatures" : "طلب التوقيعات", "Choose the file to request signatures." : "اختر الملف لطلب التوقيعات.", + "Upload from URL" : "إرفَع من عنوان URL", "Choose from Files" : "اختر من الملفات", - "Enter the emails that will receive the request" : "ادخل رسائل البريد الإلكتروني التي ستتلقى الطلب", - "Signatures for this document have already been requested" : "تم طلب التوقيعات لهذا المستند بالفعل", - "Add users" : "اضافة اعضاء", + "URL of a PDF file" : "عنوان URL لملف PDF", + "Send" : "أرسِل", "Select your file" : "حدد الملف الخاص بك", "Password reset" : "إعادة تعيين كلمة مرور", "Enter new password and then repeat it" : "أدخل كلمة المرور الجديدة ثم كررها", + "Current password" : "كلمة المرور الحالية", "New password" : "الكلمة السرية الجديدة", "Repeat password" : "أعد كتابة الكلمة السرية", "Allow request to sign" : "السماح بطلب التوقيع", @@ -250,12 +262,13 @@ "Certificate engine" : "محرك شهادات المصادقة", "Certificate engine to generate the root certificate" : "محرك شهادات المصادقة لتوليد الشهادات الجذرية", "Select the certificate engine to generate the root certificate" : "إختَر محرك شهادات المصادقة لتوليد الشهادة الجذرية", + "I will not use root certificate" : "سوف لن أستعمل الشهادة الجذرية", "Collect signers' metadata when signing a document" : "جمع البيانات التعريفية بالموقعين عند توقيعهم للمستند", "Collect signers' metadata" : "جمع بيانات التعريف الوصفية للموقعين", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "بتمكين هذه الميزة في كل مرة يتم فيها توقيع مستند، يقوم تطبيق التوقيع الالكتروني LibreSign بتخزين عنوان IP، و وكيل المستخدِم الخاص بصاحب التوقيع.", "Message" : "الرسالة", "Resource" : "مصدر", - "Advice" : "مشورة", + "Tip" : "إرشاد", "Configuration check" : "فحص التهيئة", "Status of setup" : "حالة التكوين", "Customize default user folder" : "تخصيص المجلد التلقائي للمستخدم", @@ -274,6 +287,8 @@ "Allow account creation for new users" : "السماح بإنشاء حسابات للمستخدمين الجديد", "Allows sending registration email when the user does not have an account." : "السماح بإرسال رسالة بريد إلكتروني للتسجيل إذا كان المستخدم لا يمتلك حساباً.", "Default signature method" : "طريقة التوقيع التلقائية", + "Identify factors" : "تحديد العوامل", + "Ways to identify a person who will sign a document." : "طُرُق التعرُّف على الشخص الذي سيُوقِّع مستنداً", "Legal Information" : "المعلومات القانونية", "Legal information" : "المعلومات القانونية", "This information will appear on the validation page" : "سوف تظهر هذه المعلومات على صفحة التحقق من الصحة", @@ -284,13 +299,14 @@ "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "إعادة إنشاء شهادة الجذر سيؤدي إلى إبطال جميع مفاتيح التوقيعات. هل تريد تأكيد هذا الأجراء؟", "Full name of the main company or main user of this instance" : "الاسم الكامل للشركة الرئيسية أو المستخدم الرئيسي لهذا المثيل", "Define custom values to use {engine}" : "قم بتعريف قيم مخصصة لاستخدام {engine}", - "Not mandatory, don't fill to use default value." : "ليس إلزامياً استخدام القيمة الافتراضية.", - "Root certificate data." : "بيانات شهادة الجذر", + "Not mandatory, don't fill to use default value." : "ليس إلزامياً، سيتم استخدام القيمة الافتراضية إذا تركته فارغاً.", + "Root certificate data" : "بيانات شهادة المصادقة الجذرية", "To generate new signatures, you must first generate the root certificate." : "لإنشاء توقيعات جديدة ، يجب أولاً إنشاء شهادة الدليل الأساسي.", - "Generate root certificate." : "تكوين شهادة جذر", + "Generate root certificate" : "توليد شهادة مصادقة جذرية", "Generating certificate." : "توليد الشهادة.", "Could not generate certificate." : "تعذّر توليد الشهادة.", "Generated certificate!" : "شهادة مُكوّنة", + "Make validation URL acessible only by authenticated users" : "اجعَل عنوان URL للتحقق متاحًا فقط للمستخدِمين المعتمدين", "Add visible footer with signature details" : "أضِف تذييلاً مرئيّاً مع تفاصيل التوقيع", "Write QR code on footer with validation URL" : "أكتُب رمز الاستجابة السريعة QR في التذييل مع عنوان URL للتحقُّق", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "للتحقق من صحة التوقيع على الوثائق. قم بتغيير هذه القيمة فقط إذا كنت تريد استبدال عنوان URL الافتراضي للتحقُّق من الصحة بغيره.", @@ -338,14 +354,19 @@ "Validate File" : "التحقق من صحة الملف", "Add visible signatures" : "إضافة التوقيعات المرئية", "Are you sure you want to exclude user {email} from the request?" : "هل أنت متأكد أنك تريد استبعاد المستخدم {email} من الطلب؟", + "Password & Security" : "كلمة المرور والأمان", + "Create password key" : "إنشاء مفتاح كلمة المرور", + "Reset password" : "تعديل كلمة السر", "Nothing to do" : "لا شيء لفعله", "Validate Document" : "التحقق من صحة المستند", "Do you want to configure visible elements in this document?" : "هل تريد تكوين العناصر المرئية في هذا المستند؟", - "Collect signers metadata when sign a document" : "إجمع البيانات التعريفية بالمُوقِّعِين عند توقيع مستند", - "Collect signers metadata" : "جمع البيانات التعريفية بالمُوقِّعِين", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "عند تمكين هذه الميزة، في كل مرة يتم فيها التوقيع على مستند، يقوم LibreSign بتخزين عنوان IP و وكيل المستخدم الخاص user agent بصاحب التوقيع.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "ملفات تنفيذية مطلوبة للعمل و يلزم تنزيلها. حجمها في حدود 340 ميغابايت. إنتظر للحظات ...", + "Enter the emails that will receive the request" : "ادخل رسائل البريد الإلكتروني التي ستتلقى الطلب", + "Signatures for this document have already been requested" : "تم طلب التوقيعات لهذا المستند بالفعل", + "Add users" : "اضافة اعضاء", + "Advice" : "مشورة", "Define custom values to use CFSSL" : "تحديد القيم المخصصة لاستعمال CFSSL", + "Root certificate data." : "بيانات شهادة الجذر", + "Generate root certificate." : "تكوين شهادة جذر", "Remove" : "حذف" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" } \ No newline at end of file diff --git a/l10n/ast.js b/l10n/ast.js index c3d98c5632..ba8c0969a2 100644 --- a/l10n/ast.js +++ b/l10n/ast.js @@ -3,10 +3,14 @@ OC.L10N.register( { "%s already signed this file" : "%s xá firmó esti ficheru", "A file of this type has been associated." : "Asocióse un ficheru d'esti tipu.", + "View" : "Ver", + "File is too big" : "El ficheru ye mui grande", "User already exists" : "L'usuariu yá esiste", - "Password" : "Contraseña", "Settings" : "Configuración", + "Password" : "Contraseña", "Draw" : "Dibuxar", + "Cancel" : "Encaboxar", + "Save" : "Guardar", "Signatures" : "Firmes", "Name" : "Nome", "Searching …" : "Buscando…", @@ -19,6 +23,8 @@ OC.L10N.register( "Signature" : "Firma", "Yes" : "Sí", "No" : "Non", + "Send" : "Unviar", + "Current password" : "Contraseña actual", "New password" : "Contraseña nueva", "Optional attributes" : "Atributos opcionales", "Dependencies" : "Dependencies", diff --git a/l10n/ast.json b/l10n/ast.json index 2ee304d103..1cdf6c143a 100644 --- a/l10n/ast.json +++ b/l10n/ast.json @@ -1,10 +1,14 @@ { "translations": { "%s already signed this file" : "%s xá firmó esti ficheru", "A file of this type has been associated." : "Asocióse un ficheru d'esti tipu.", + "View" : "Ver", + "File is too big" : "El ficheru ye mui grande", "User already exists" : "L'usuariu yá esiste", - "Password" : "Contraseña", "Settings" : "Configuración", + "Password" : "Contraseña", "Draw" : "Dibuxar", + "Cancel" : "Encaboxar", + "Save" : "Guardar", "Signatures" : "Firmes", "Name" : "Nome", "Searching …" : "Buscando…", @@ -17,6 +21,8 @@ "Signature" : "Firma", "Yes" : "Sí", "No" : "Non", + "Send" : "Unviar", + "Current password" : "Contraseña actual", "New password" : "Contraseña nueva", "Optional attributes" : "Atributos opcionales", "Dependencies" : "Dependencies", diff --git a/l10n/az.js b/l10n/az.js index 437cf0ba79..f5b2ff854d 100644 --- a/l10n/az.js +++ b/l10n/az.js @@ -4,10 +4,10 @@ OC.L10N.register( "Settings saved" : "Parametrlər yaddaşa verildi", "Invalid user" : "İstifadəçi adı yalnışdır", "Email" : "Email", - "Password" : "Şifrə", "Files" : "Fayllar", "Settings" : "Quraşdırmalar", "Authentication required" : "Qeydiyyat tələb edilir", + "Password" : "Şifrə", "Upload" : "Serverə yüklə", "Cancel" : "Dayandır", "Save" : "Saxla", @@ -27,6 +27,8 @@ OC.L10N.register( "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "Göndər", + "Current password" : "Hazırkı şifrə", "New password" : "Yeni şifrə", "Pending" : "Gözləmə", "No date" : "No date", diff --git a/l10n/az.json b/l10n/az.json index 0673bff079..71b456b38d 100644 --- a/l10n/az.json +++ b/l10n/az.json @@ -2,10 +2,10 @@ "Settings saved" : "Parametrlər yaddaşa verildi", "Invalid user" : "İstifadəçi adı yalnışdır", "Email" : "Email", - "Password" : "Şifrə", "Files" : "Fayllar", "Settings" : "Quraşdırmalar", "Authentication required" : "Qeydiyyat tələb edilir", + "Password" : "Şifrə", "Upload" : "Serverə yüklə", "Cancel" : "Dayandır", "Save" : "Saxla", @@ -25,6 +25,8 @@ "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "Göndər", + "Current password" : "Hazırkı şifrə", "New password" : "Yeni şifrə", "Pending" : "Gözləmə", "No date" : "No date", diff --git a/l10n/bg.js b/l10n/bg.js index d7991cb117..82542456e0 100644 --- a/l10n/bg.js +++ b/l10n/bg.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Невалиден UUID", "Success" : "Успех", "Invalid user or password" : "Невалиден потребител или парола", "_Element created with success_::_Elements created with success_" : ["Елементите са успешно създадени","Елементите са успешно създадени"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Елементът е обновен успешно", "Visible element deleted" : "Изтрит е видим елемент", "Settings saved" : "Настройките са запазени", + "New password to sign documents has been created" : "Създадена е нова парола за подписване на документи", "Name is mandatory" : "Името е задължително", "Notification sent with success." : "Известието е изпратено успешно.", "File signed" : "Файлът е подписан", @@ -26,10 +28,12 @@ OC.L10N.register( "Invalid Sign engine." : "Невалиден механизъм на подпис.", "Digital signed by LibreSign." : "Цифров подпис от LibreSign.", "Validate in %s." : "Проверка в %s.", + "Invalid data to validate file" : "Невалидни данни за проверка на файл", "File type: %s. Empty file." : "Тип файл: %s. Празен файл.", "Elements of type %s need file." : "Елементите от тип %s се нуждаят от файл.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Тип на файла: %s. Посочете URL адрес, низ base64 или идентификатор на файла.", "File type: %s. Invalid fileID." : "Тип на файла: %s. Невалиден идентификатор на файл.", + "User not found." : "Потребителят не е намерен.", "document to sign" : "документ за подпис", "visible element" : "видим елемент", "File type: %s. Invalid base64 file." : "Тип на файла: %s. Невалиден файл base64.", @@ -56,7 +60,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Процесът на подписване вече е започнал. Не може да се промени състоянието.", "Inform or UUID or a File object" : "Информирайте или UUID или файлов обект", "No user data" : "Няма потребителски данни", - "User not found." : "Потребителят не е намерен.", "User %s has no email address." : "Потребител %s няма имейл адрес.", "Email required" : "Нужен е имейл", "Invalid email" : "Невалиден имейл", @@ -64,7 +67,6 @@ OC.L10N.register( "No signature was requested to %s" : "Не беше поискан подпис на %s", "%s already signed this file" : "%s вече подписа този файл", "Invalid UUID file" : "Невалиден UUID файл", - "Invalid UUID" : "Невалиден UUID", "Signer not associated to this file" : "Подписващият не е свързан с този файл", "A file of this type has been associated." : "Файл от този тип е свързан.", "File already signed." : "Файлът вече е подписан.", @@ -83,7 +85,7 @@ OC.L10N.register( "Invalid URL file" : "Невалиден URL файл", "Visible element file must be png." : "Файлът на видимия елемент трябва да е png.", "Empty file" : "Празен файл", - "Invalid data to validate file" : "Невалидни данни за проверка на файл", + "File is too big" : "Файлът е твърде голям", "Invalid file identifier" : "Невалиден идентификатор на файл", "You need to sign this document" : "Трябва да подпишете този документ", "You cannot request signature for this document, please contact your administrator" : "Не можете да поискате подпис за този документ, моля, свържете се с вашия администратор", @@ -97,7 +99,6 @@ OC.L10N.register( "Email" : "Имейл", "User already exists" : "Вече съществува потребител", "This is not your file" : "Това не е вашият файл", - "Password" : "Парола", "Invalid password" : "Невалидна парола", "LibreSign: Changes into a file for you to sign" : "LibreSign: Променя се във файл, който можете да подпишете", "File to sign" : "Файл за подпис", @@ -130,6 +131,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "Приложение за цифров подпис Libre за Nextcloud", "Authentication required" : "Нужно е удостоверяване", "This action requires you to confirm your password" : "Това действие изисква да потвърдите паролата си", + "Password" : "Парола", "Confirm" : "Потвърди", "Incorrect password!" : "Грешна парола", "Text" : "Текст", @@ -166,9 +168,9 @@ OC.L10N.register( "Request signatures?" : "Ще заявите ли подписи?", "Element created" : "Създаден е елемент", "Details" : "Подробности", - "Password & Security" : "Парола и сигурност", - "Create password key" : "Създаване на ключ за парола", - "Reset password" : "Възстановяване на паролата", + "Certificate" : "Сертификат", + "Delete certificate" : "Изтриване на сертификат", + "Change password" : "Промяна на парола", "Not sent yet" : "Все още не е изпратено", "Not defined yet" : "Все още не е дефинирано", "Select a file" : "Избор на файл", @@ -189,7 +191,6 @@ OC.L10N.register( "Password Creation" : "Създаване на парола", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "От съображения за сигурност трябва да създадете парола за подписване на документите. Въведете новата си парола в полето по-долу.", "Enter a password" : "Въвеждане на парола", - "New password to sign documents has been created" : "Създадена е нова парола за подписване на документи", "Error creating new password, please contact the administrator" : "Грешка при създаването на нова парола, моля свържете се с администратора", "Create new subscription." : "Създаване на нов абонамент.", "Root certificate has not been configured by the Administrator!" : "Основният сертификат не е конфигуриран от администратора!", @@ -216,12 +217,11 @@ OC.L10N.register( "Request Signatures" : "Искане на подписи", "Choose the file to request signatures." : "Изберете файла, за да поискате подписи.", "Choose from Files" : "Избор от Файлове", - "Enter the emails that will receive the request" : "Въведете имейлите, които ще получат заявката", - "Signatures for this document have already been requested" : "Вече са поискани подписи за този документ", - "Add users" : "Добавяне на потребители", + "Send" : "Изпращане", "Select your file" : "Изберете вашия файл ", "Password reset" : "Възстановяване на парола", "Enter new password and then repeat it" : "Въведете нова парола и след това я повторете", + "Current password" : "Текуща парола", "New password" : "Нова парола", "Repeat password" : "Повторете паролата", "Allow request to sign" : "Разрешаване на заявка за подписване", @@ -234,7 +234,7 @@ OC.L10N.register( "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Ако активирате тази функция, при всяко подписване на документ LibreSign ще съхрани IP адреса и потребителския агент на подписващия.", "Message" : "Съобщение", "Resource" : "Ресурс", - "Advice" : "Съвет", + "Tip" : "Пояснение", "Configuration check" : "Проверка на конфигурацията", "Status of setup" : "Състояние на настройката", "Customize default user folder" : "Персонализиране на потребителската папка по подразбиране", @@ -259,9 +259,7 @@ OC.L10N.register( "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Регенерирането на основният сертификат ще анулира всички ключове за подписи. Потвърждавате ли това действие?", "Full name of the main company or main user of this instance" : "Пълно име на основната компания или основния потребител на този екземпляр", "Not mandatory, don't fill to use default value." : "Не е задължително, не попълвайте това поле, за да използвате стойността по подразбиране.", - "Root certificate data." : "Данни за основен сертификат.", "To generate new signatures, you must first generate the root certificate." : "За да генерирате нови подписи, първо трябва да генерирате основния сертификат.", - "Generate root certificate." : "Генериране на основния сертификат.", "Generating certificate." : "Генериране на сертификат.", "Could not generate certificate." : "Неуспешно генериране на сертификат.", "Generated certificate!" : "Генериран сертификат!", @@ -312,14 +310,19 @@ OC.L10N.register( "Validate File" : "Проверка на файла", "Add visible signatures" : "Добавяне на видими подписи", "Are you sure you want to exclude user {email} from the request?" : "Сигурни ли сте, че искате да изключите потребителя {email} от заявката?", + "Password & Security" : "Парола и сигурност", + "Create password key" : "Създаване на ключ за парола", + "Reset password" : "Възстановяване на паролата", "Nothing to do" : "Няма задачи", "Validate Document" : "Проверка на документ", "Do you want to configure visible elements in this document?" : "Искате ли да конфигурирате видими елементи в този документ?", - "Collect signers metadata when sign a document" : "Събиране на метаданни на подписващите при подписване на документ", - "Collect signers metadata" : "Събиране на метаданни на подписващите", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Ако активирате тази функция, при всяко подписване на документ LibreSign ще съхрани IP адреса и потребителския агент на подписващия.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Необходими са двоични файлове за работата. Изтеглянето може да е приблизително 340Mb, изчакайте малко.", + "Enter the emails that will receive the request" : "Въведете имейлите, които ще получат заявката", + "Signatures for this document have already been requested" : "Вече са поискани подписи за този документ", + "Add users" : "Добавяне на потребители", + "Advice" : "Съвет", "Define custom values to use CFSSL" : "Определяне на потребителски стойности за използване на CFSSL", + "Root certificate data." : "Данни за основен сертификат.", + "Generate root certificate." : "Генериране на основния сертификат.", "Remove" : "Премахване" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/bg.json b/l10n/bg.json index 99c0122c87..5584e6c092 100644 --- a/l10n/bg.json +++ b/l10n/bg.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Невалиден UUID", "Success" : "Успех", "Invalid user or password" : "Невалиден потребител или парола", "_Element created with success_::_Elements created with success_" : ["Елементите са успешно създадени","Елементите са успешно създадени"], @@ -7,6 +8,7 @@ "Element updated with success" : "Елементът е обновен успешно", "Visible element deleted" : "Изтрит е видим елемент", "Settings saved" : "Настройките са запазени", + "New password to sign documents has been created" : "Създадена е нова парола за подписване на документи", "Name is mandatory" : "Името е задължително", "Notification sent with success." : "Известието е изпратено успешно.", "File signed" : "Файлът е подписан", @@ -24,10 +26,12 @@ "Invalid Sign engine." : "Невалиден механизъм на подпис.", "Digital signed by LibreSign." : "Цифров подпис от LibreSign.", "Validate in %s." : "Проверка в %s.", + "Invalid data to validate file" : "Невалидни данни за проверка на файл", "File type: %s. Empty file." : "Тип файл: %s. Празен файл.", "Elements of type %s need file." : "Елементите от тип %s се нуждаят от файл.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Тип на файла: %s. Посочете URL адрес, низ base64 или идентификатор на файла.", "File type: %s. Invalid fileID." : "Тип на файла: %s. Невалиден идентификатор на файл.", + "User not found." : "Потребителят не е намерен.", "document to sign" : "документ за подпис", "visible element" : "видим елемент", "File type: %s. Invalid base64 file." : "Тип на файла: %s. Невалиден файл base64.", @@ -54,7 +58,6 @@ "Sign process already started. Unable to change status." : "Процесът на подписване вече е започнал. Не може да се промени състоянието.", "Inform or UUID or a File object" : "Информирайте или UUID или файлов обект", "No user data" : "Няма потребителски данни", - "User not found." : "Потребителят не е намерен.", "User %s has no email address." : "Потребител %s няма имейл адрес.", "Email required" : "Нужен е имейл", "Invalid email" : "Невалиден имейл", @@ -62,7 +65,6 @@ "No signature was requested to %s" : "Не беше поискан подпис на %s", "%s already signed this file" : "%s вече подписа този файл", "Invalid UUID file" : "Невалиден UUID файл", - "Invalid UUID" : "Невалиден UUID", "Signer not associated to this file" : "Подписващият не е свързан с този файл", "A file of this type has been associated." : "Файл от този тип е свързан.", "File already signed." : "Файлът вече е подписан.", @@ -81,7 +83,7 @@ "Invalid URL file" : "Невалиден URL файл", "Visible element file must be png." : "Файлът на видимия елемент трябва да е png.", "Empty file" : "Празен файл", - "Invalid data to validate file" : "Невалидни данни за проверка на файл", + "File is too big" : "Файлът е твърде голям", "Invalid file identifier" : "Невалиден идентификатор на файл", "You need to sign this document" : "Трябва да подпишете този документ", "You cannot request signature for this document, please contact your administrator" : "Не можете да поискате подпис за този документ, моля, свържете се с вашия администратор", @@ -95,7 +97,6 @@ "Email" : "Имейл", "User already exists" : "Вече съществува потребител", "This is not your file" : "Това не е вашият файл", - "Password" : "Парола", "Invalid password" : "Невалидна парола", "LibreSign: Changes into a file for you to sign" : "LibreSign: Променя се във файл, който можете да подпишете", "File to sign" : "Файл за подпис", @@ -128,6 +129,7 @@ "LibreSign, digital signature app for Nextcloud." : "Приложение за цифров подпис Libre за Nextcloud", "Authentication required" : "Нужно е удостоверяване", "This action requires you to confirm your password" : "Това действие изисква да потвърдите паролата си", + "Password" : "Парола", "Confirm" : "Потвърди", "Incorrect password!" : "Грешна парола", "Text" : "Текст", @@ -164,9 +166,9 @@ "Request signatures?" : "Ще заявите ли подписи?", "Element created" : "Създаден е елемент", "Details" : "Подробности", - "Password & Security" : "Парола и сигурност", - "Create password key" : "Създаване на ключ за парола", - "Reset password" : "Възстановяване на паролата", + "Certificate" : "Сертификат", + "Delete certificate" : "Изтриване на сертификат", + "Change password" : "Промяна на парола", "Not sent yet" : "Все още не е изпратено", "Not defined yet" : "Все още не е дефинирано", "Select a file" : "Избор на файл", @@ -187,7 +189,6 @@ "Password Creation" : "Създаване на парола", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "От съображения за сигурност трябва да създадете парола за подписване на документите. Въведете новата си парола в полето по-долу.", "Enter a password" : "Въвеждане на парола", - "New password to sign documents has been created" : "Създадена е нова парола за подписване на документи", "Error creating new password, please contact the administrator" : "Грешка при създаването на нова парола, моля свържете се с администратора", "Create new subscription." : "Създаване на нов абонамент.", "Root certificate has not been configured by the Administrator!" : "Основният сертификат не е конфигуриран от администратора!", @@ -214,12 +215,11 @@ "Request Signatures" : "Искане на подписи", "Choose the file to request signatures." : "Изберете файла, за да поискате подписи.", "Choose from Files" : "Избор от Файлове", - "Enter the emails that will receive the request" : "Въведете имейлите, които ще получат заявката", - "Signatures for this document have already been requested" : "Вече са поискани подписи за този документ", - "Add users" : "Добавяне на потребители", + "Send" : "Изпращане", "Select your file" : "Изберете вашия файл ", "Password reset" : "Възстановяване на парола", "Enter new password and then repeat it" : "Въведете нова парола и след това я повторете", + "Current password" : "Текуща парола", "New password" : "Нова парола", "Repeat password" : "Повторете паролата", "Allow request to sign" : "Разрешаване на заявка за подписване", @@ -232,7 +232,7 @@ "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Ако активирате тази функция, при всяко подписване на документ LibreSign ще съхрани IP адреса и потребителския агент на подписващия.", "Message" : "Съобщение", "Resource" : "Ресурс", - "Advice" : "Съвет", + "Tip" : "Пояснение", "Configuration check" : "Проверка на конфигурацията", "Status of setup" : "Състояние на настройката", "Customize default user folder" : "Персонализиране на потребителската папка по подразбиране", @@ -257,9 +257,7 @@ "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Регенерирането на основният сертификат ще анулира всички ключове за подписи. Потвърждавате ли това действие?", "Full name of the main company or main user of this instance" : "Пълно име на основната компания или основния потребител на този екземпляр", "Not mandatory, don't fill to use default value." : "Не е задължително, не попълвайте това поле, за да използвате стойността по подразбиране.", - "Root certificate data." : "Данни за основен сертификат.", "To generate new signatures, you must first generate the root certificate." : "За да генерирате нови подписи, първо трябва да генерирате основния сертификат.", - "Generate root certificate." : "Генериране на основния сертификат.", "Generating certificate." : "Генериране на сертификат.", "Could not generate certificate." : "Неуспешно генериране на сертификат.", "Generated certificate!" : "Генериран сертификат!", @@ -310,14 +308,19 @@ "Validate File" : "Проверка на файла", "Add visible signatures" : "Добавяне на видими подписи", "Are you sure you want to exclude user {email} from the request?" : "Сигурни ли сте, че искате да изключите потребителя {email} от заявката?", + "Password & Security" : "Парола и сигурност", + "Create password key" : "Създаване на ключ за парола", + "Reset password" : "Възстановяване на паролата", "Nothing to do" : "Няма задачи", "Validate Document" : "Проверка на документ", "Do you want to configure visible elements in this document?" : "Искате ли да конфигурирате видими елементи в този документ?", - "Collect signers metadata when sign a document" : "Събиране на метаданни на подписващите при подписване на документ", - "Collect signers metadata" : "Събиране на метаданни на подписващите", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Ако активирате тази функция, при всяко подписване на документ LibreSign ще съхрани IP адреса и потребителския агент на подписващия.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Необходими са двоични файлове за работата. Изтеглянето може да е приблизително 340Mb, изчакайте малко.", + "Enter the emails that will receive the request" : "Въведете имейлите, които ще получат заявката", + "Signatures for this document have already been requested" : "Вече са поискани подписи за този документ", + "Add users" : "Добавяне на потребители", + "Advice" : "Съвет", "Define custom values to use CFSSL" : "Определяне на потребителски стойности за използване на CFSSL", + "Root certificate data." : "Данни за основен сертификат.", + "Generate root certificate." : "Генериране на основния сертификат.", "Remove" : "Премахване" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/bn_BD.js b/l10n/bn_BD.js index 11899fe082..85b815a978 100644 --- a/l10n/bn_BD.js +++ b/l10n/bn_BD.js @@ -2,10 +2,11 @@ OC.L10N.register( "libresign", { "File not found" : "ফাইল খুঁজে পাওয়া গেল না", + "File is too big" : "ফাইল খুব বড়", "Email" : "ইমেইল", - "Password" : "কূটশব্দ", "Files" : "ফাইল", "Settings" : "সেটিংস", + "Password" : "কূটশব্দ", "Upload" : "আপলোড", "Cancel" : "বাতির", "Save" : "সংরক্ষণ", @@ -18,16 +19,17 @@ OC.L10N.register( "Next" : "পরবর্তী", "Previous" : "পূর্ববর্তী", "Details" : "বিসতারিত", - "Reset password" : "কূটশব্দ পূনঃনির্ধারণ কর", "Select a file" : "Select a file", "Type" : "ধরণ", "Actions" : "পদক্ষেপসমূহ", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Current password" : "বর্তমান কূটশব্দ", "New password" : "নতুন কূটশব্দ", "Pending" : "মুলতুবি", "No date" : "No date", + "Reset password" : "কূটশব্দ পূনঃনির্ধারণ কর", "Remove" : "অপসারণ" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/bn_BD.json b/l10n/bn_BD.json index 86757e0cc9..9d3f66bd0e 100644 --- a/l10n/bn_BD.json +++ b/l10n/bn_BD.json @@ -1,9 +1,10 @@ { "translations": { "File not found" : "ফাইল খুঁজে পাওয়া গেল না", + "File is too big" : "ফাইল খুব বড়", "Email" : "ইমেইল", - "Password" : "কূটশব্দ", "Files" : "ফাইল", "Settings" : "সেটিংস", + "Password" : "কূটশব্দ", "Upload" : "আপলোড", "Cancel" : "বাতির", "Save" : "সংরক্ষণ", @@ -16,16 +17,17 @@ "Next" : "পরবর্তী", "Previous" : "পূর্ববর্তী", "Details" : "বিসতারিত", - "Reset password" : "কূটশব্দ পূনঃনির্ধারণ কর", "Select a file" : "Select a file", "Type" : "ধরণ", "Actions" : "পদক্ষেপসমূহ", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Current password" : "বর্তমান কূটশব্দ", "New password" : "নতুন কূটশব্দ", "Pending" : "মুলতুবি", "No date" : "No date", + "Reset password" : "কূটশব্দ পূনঃনির্ধারণ কর", "Remove" : "অপসারণ" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/br.js b/l10n/br.js index ad9ffd23a0..c4f4c81c06 100644 --- a/l10n/br.js +++ b/l10n/br.js @@ -6,13 +6,14 @@ OC.L10N.register( "deleted" : "lemet", "View" : "Gwell", "File not found" : "N'eo ket bet kavet ar restr", + "File is too big" : "Re vras eo ar restr", "Account" : "Kont", "Email" : "Postel", - "Password" : "Ger-tremen", "Files" : "Restroù", "Settings" : "Arventennoù", "Authentication required" : "Eus un dilesa ez eus ezhomp", "This action requires you to confirm your password" : "An ober-mañ a c'houlenn e kadarnfec'h ho ker-tremen", + "Password" : "Ger-tremen", "Confirm" : "Kadarnañ", "Upload" : "Pellkas", "Apply" : "Lakaat", @@ -27,7 +28,6 @@ OC.L10N.register( "Delete" : "Lemel", "Next" : "Da heul", "Details" : "Munudoù", - "Reset password" : "Cheñch ger-tremen", "Type" : "Stumm", "Status" : "Statud", "Actions" : "Oberoù", @@ -35,12 +35,14 @@ OC.L10N.register( "Enter a password" : "Ebarzhiñ ar ger-tremen", "Yes" : "Ya", "No" : "Nann", - "Add users" : "Ouzhpennañ implijer ", "Password reset" : "Ger-tremen cheñchet", + "Current password" : "Ger-tremen hiziv", "New password" : "Ger-tremen nevez", "Loading …" : "O Kargañ ...", "Pending" : "O c'hortoz", "No date" : "Deizat ebet", + "Reset password" : "Cheñch ger-tremen", + "Add users" : "Ouzhpennañ implijer ", "Remove" : "Lemel" }, "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 9be05bb66b..46c1700a1d 100644 --- a/l10n/br.json +++ b/l10n/br.json @@ -4,13 +4,14 @@ "deleted" : "lemet", "View" : "Gwell", "File not found" : "N'eo ket bet kavet ar restr", + "File is too big" : "Re vras eo ar restr", "Account" : "Kont", "Email" : "Postel", - "Password" : "Ger-tremen", "Files" : "Restroù", "Settings" : "Arventennoù", "Authentication required" : "Eus un dilesa ez eus ezhomp", "This action requires you to confirm your password" : "An ober-mañ a c'houlenn e kadarnfec'h ho ker-tremen", + "Password" : "Ger-tremen", "Confirm" : "Kadarnañ", "Upload" : "Pellkas", "Apply" : "Lakaat", @@ -25,7 +26,6 @@ "Delete" : "Lemel", "Next" : "Da heul", "Details" : "Munudoù", - "Reset password" : "Cheñch ger-tremen", "Type" : "Stumm", "Status" : "Statud", "Actions" : "Oberoù", @@ -33,12 +33,14 @@ "Enter a password" : "Ebarzhiñ ar ger-tremen", "Yes" : "Ya", "No" : "Nann", - "Add users" : "Ouzhpennañ implijer ", "Password reset" : "Ger-tremen cheñchet", + "Current password" : "Ger-tremen hiziv", "New password" : "Ger-tremen nevez", "Loading …" : "O Kargañ ...", "Pending" : "O c'hortoz", "No date" : "Deizat ebet", + "Reset password" : "Cheñch ger-tremen", + "Add users" : "Ouzhpennañ implijer ", "Remove" : "Lemel" },"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 b0793da21b..fa6e98f16f 100644 --- a/l10n/bs.js +++ b/l10n/bs.js @@ -4,10 +4,10 @@ OC.L10N.register( "File not found" : "Datoteka nije pronađena", "Invalid user" : "Nevažeči korisnik", "Email" : "E-pošta", - "Password" : "Lozinka", "Files" : "Datoteke", "Settings" : "Podešavanje", "Authentication required" : "Potrebna autentifikacija", + "Password" : "Lozinka", "Upload" : "Učitaj", "Cancel" : "Otkaži", "Save" : "Spremi", @@ -19,7 +19,6 @@ OC.L10N.register( "Delete" : "Obriši", "Next" : "Sljedeće", "Previous" : "Prethodno", - "Reset password" : "Resetuj lozinku", "Select a file" : "Select a file", "Type" : "Type", "Status" : "Status", @@ -28,8 +27,10 @@ OC.L10N.register( "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Current password" : "Trenutna lozinka", "New password" : "Nova lozinka", "Pending" : "Na čekanju", - "No date" : "No date" + "No date" : "No date", + "Reset password" : "Resetuj lozinku" }, "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/bs.json b/l10n/bs.json index 213062545a..30f98b3b41 100644 --- a/l10n/bs.json +++ b/l10n/bs.json @@ -2,10 +2,10 @@ "File not found" : "Datoteka nije pronađena", "Invalid user" : "Nevažeči korisnik", "Email" : "E-pošta", - "Password" : "Lozinka", "Files" : "Datoteke", "Settings" : "Podešavanje", "Authentication required" : "Potrebna autentifikacija", + "Password" : "Lozinka", "Upload" : "Učitaj", "Cancel" : "Otkaži", "Save" : "Spremi", @@ -17,7 +17,6 @@ "Delete" : "Obriši", "Next" : "Sljedeće", "Previous" : "Prethodno", - "Reset password" : "Resetuj lozinku", "Select a file" : "Select a file", "Type" : "Type", "Status" : "Status", @@ -26,8 +25,10 @@ "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Current password" : "Trenutna lozinka", "New password" : "Nova lozinka", "Pending" : "Na čekanju", - "No date" : "No date" + "No date" : "No date", + "Reset password" : "Resetuj lozinku" },"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/ca.js b/l10n/ca.js index 8c7c435a2b..df979ee331 100644 --- a/l10n/ca.js +++ b/l10n/ca.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID no vàlid", "Success" : "Èxit", "Invalid user or password" : "Usuari o contrasenya no vàlids", "_Element created with success_::_Elements created with success_" : ["Element creat amb èxit","Elements creats amb èxit"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Element actualitzat correctament", "Visible element deleted" : "S'ha suprimit l'element visible", "Settings saved" : "S'han desat els paràmetres", + "New password to sign documents has been created" : "S'ha creat una nova contrasenya per signar documents", "Name is mandatory" : "El nom és obligatori", "Notification sent with success." : "Notificació enviada amb èxit.", "File signed" : "Arxiu signat", @@ -26,10 +28,12 @@ OC.L10N.register( "Invalid Sign engine." : "Motor de signatura no vàlid.", "Digital signed by LibreSign." : "Signat digitalment per LibreSign.", "Validate in %s." : "Valida a %s.", + "Invalid data to validate file" : "Dades no vàlides per validar el fitxer", "File type: %s. Empty file." : "Tipus de fitxer: %s. Fitxer buit.", "Elements of type %s need file." : "Els elements del tipus %s necessiten un fitxer.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Tipus de fitxer: %s. Especifiqueu un URL, una cadena base64 o un ID de fitxer.", "File type: %s. Invalid fileID." : "Tipus de fitxer: %s. ID de fitxer no vàlid.", + "User not found." : "No s'ha trobat l'usuari.", "document to sign" : "document a signar", "visible element" : "element visible", "File type: %s. Invalid base64 file." : "Tipus de fitxer: %s. Fitxer base64 no vàlid.", @@ -56,7 +60,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "El procés de signatura ja ha començat. No es pot canviar l'estat.", "Inform or UUID or a File object" : "Informar o UUID o un objecte Fitxer", "No user data" : "Cap dades de l'usuari", - "User not found." : "No s'ha trobat l'usuari.", "User %s has no email address." : "L'usuari %s no té cap adreça electrònica.", "Email required" : "Correu electrònic obligatori", "Invalid email" : "Adreça de correu electrònic no válida", @@ -64,7 +67,6 @@ OC.L10N.register( "No signature was requested to %s" : "No s'ha sol·licitat cap signatura a %s", "%s already signed this file" : "%s ja ha signat aquest fitxer", "Invalid UUID file" : "Fitxer UUID no vàlid", - "Invalid UUID" : "UUID no vàlid", "Signer not associated to this file" : "Signant no associat a aquest fitxer", "A file of this type has been associated." : "S'ha associat un fitxer d'aquest tipus.", "File already signed." : "Fitxer ja signat.", @@ -82,7 +84,7 @@ OC.L10N.register( "Invalid URL file" : "Fitxer URL no vàlid", "Visible element file must be png." : "El fitxer d'element visible ha de ser png.", "Empty file" : "Fitxer buit", - "Invalid data to validate file" : "Dades no vàlides per validar el fitxer", + "File is too big" : "El fitxer és massa gran", "Invalid file identifier" : "Identificador de fitxer no vàlid", "You need to sign this document" : "Heu de signar aquest document", "You cannot request signature for this document, please contact your administrator" : "No podeu sol·licitar la signatura d'aquest document, poseu-vos en contacte amb el vostre administrador", @@ -96,7 +98,6 @@ OC.L10N.register( "Email" : "Correu", "User already exists" : "L'usuari ja existeix", "This is not your file" : "Aquest no és el vostre fitxer", - "Password" : "Contrasenya", "Invalid password" : "Contrasenya no vàlida", "LibreSign: Changes into a file for you to sign" : "LibreSign: canvia en un fitxer perquè el signeu", "File to sign" : "Arxiu per signar", @@ -129,6 +130,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicació de signatura digital per a Nextcloud.", "Authentication required" : "Cal autenticació", "This action requires you to confirm your password" : "Aquesta acció requereix que confirmeu la vostra contrasenya", + "Password" : "Contrasenya", "Confirm" : "Confirma", "Incorrect password!" : "Contrasenya incorrecta!", "Text" : "Text", @@ -165,9 +167,8 @@ OC.L10N.register( "Request signatures?" : "Demanar signatures?", "Element created" : "Element creat", "Details" : "Detalls", - "Password & Security" : "Contrasenya i seguretat", - "Create password key" : "Crea una clau de contrasenya", - "Reset password" : "Reinicialitza la contrasenya", + "Certificate" : "Certificat", + "Delete certificate" : "Suprimeix el certificat", "Not sent yet" : "Encara no s'ha enviat", "Not defined yet" : "Encara no està definit", "Select a file" : "Select a file", @@ -188,7 +189,6 @@ OC.L10N.register( "Password Creation" : "Creació de contrasenya", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Per motius de seguretat, heu de crear una contrasenya per signar els documents. Introduïu la vostra nova contrasenya al camp següent.", "Enter a password" : "Introduïu una contrasenya", - "New password to sign documents has been created" : "S'ha creat una nova contrasenya per signar documents", "Error creating new password, please contact the administrator" : "S'ha produït un error en crear una contrasenya nova, poseu-vos en contacte amb l'administrador", "Create new subscription." : "Crea una subscripció nova.", "Root certificate has not been configured by the Administrator!" : "El certificat arrel no ha estat configurat per l'administrador!", @@ -215,12 +215,10 @@ OC.L10N.register( "Request Signatures" : "Demanar signatures", "Choose the file to request signatures." : "Trieu el fitxer per sol·licitar signatures.", "Choose from Files" : "Tria a Fitxers", - "Enter the emails that will receive the request" : "Introduïu els correus electrònics que rebran la sol·licitud", - "Signatures for this document have already been requested" : "Ja s'han demanat signatures per a aquest document", - "Add users" : "Afegir usuaris", "Select your file" : "Selecciona el fitxer", "Password reset" : "Restableix contrasenya", "Enter new password and then repeat it" : "Introduïu la nova contrasenya i després repetiu-la", + "Current password" : "Contrasenya actual", "New password" : "Nova contrasenya", "Repeat password" : "Repetiu la contrasenya", "Allow request to sign" : "Permet signar la sol·licitud", @@ -233,7 +231,7 @@ OC.L10N.register( "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "En activar aquesta funció, cada vegada que es signa un document, LibreSign emmagatzemarà l'adreça IP i l'agent d'usuari del signant.", "Message" : "Missatge", "Resource" : "Recurs", - "Advice" : "Consell", + "Tip" : "Consell", "Configuration check" : "Comprovació de la configuració", "Status of setup" : "Estat de la configuració", "Customize default user folder" : "Personalitza la carpeta d'usuari predeterminada", @@ -258,9 +256,7 @@ OC.L10N.register( "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Regenerar el certificat arrel invalidarà totes les claus de signatures. Confirmes aquesta acció?", "Full name of the main company or main user of this instance" : "Nom complet de l'empresa principal o usuari principal d'aquesta instància", "Not mandatory, don't fill to use default value." : "No és obligatori, no ompliu per utilitzar el valor predeterminat.", - "Root certificate data." : "Dades del certificat arrel.", "To generate new signatures, you must first generate the root certificate." : "Per generar noves signatures, primer heu de generar el certificat arrel.", - "Generate root certificate." : "Generar certificat arrel.", "Generating certificate." : "S’estan generant el certificat.", "Could not generate certificate." : "No s'ha pogut generar el certificat.", "Generated certificate!" : "Certificat generat!", @@ -311,14 +307,19 @@ OC.L10N.register( "Validate File" : "Valida el fitxer", "Add visible signatures" : "Afegiu signatures visibles", "Are you sure you want to exclude user {email} from the request?" : "Esteu segur que voleu excloure l'usuari {email} de la sol·licitud?", + "Password & Security" : "Contrasenya i seguretat", + "Create password key" : "Crea una clau de contrasenya", + "Reset password" : "Reinicialitza la contrasenya", "Nothing to do" : "Res a fer", "Validate Document" : "Validació del document", "Do you want to configure visible elements in this document?" : "Voleu configurar elements visibles en aquest document?", - "Collect signers metadata when sign a document" : "Recolliu metadades dels signants quan signeu un document", - "Collect signers metadata" : "Recolliu metadades dels signants", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Si activeu aquesta funció, cada vegada que signeu un document, LibreSign emmagatzemarà la IP i l'agent d'usuari del signant.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Els binaris necessaris per funcionar. Podria ser a prop de 340 Mb per baixar, espera un moment.", + "Enter the emails that will receive the request" : "Introduïu els correus electrònics que rebran la sol·licitud", + "Signatures for this document have already been requested" : "Ja s'han demanat signatures per a aquest document", + "Add users" : "Afegir usuaris", + "Advice" : "Consell", "Define custom values to use CFSSL" : "Definiu valors personalitzats per utilitzar CFSSL", + "Root certificate data." : "Dades del certificat arrel.", + "Generate root certificate." : "Generar certificat arrel.", "Remove" : "Elimina" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/ca.json b/l10n/ca.json index 60cef3df97..23ce6c1767 100644 --- a/l10n/ca.json +++ b/l10n/ca.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID no vàlid", "Success" : "Èxit", "Invalid user or password" : "Usuari o contrasenya no vàlids", "_Element created with success_::_Elements created with success_" : ["Element creat amb èxit","Elements creats amb èxit"], @@ -7,6 +8,7 @@ "Element updated with success" : "Element actualitzat correctament", "Visible element deleted" : "S'ha suprimit l'element visible", "Settings saved" : "S'han desat els paràmetres", + "New password to sign documents has been created" : "S'ha creat una nova contrasenya per signar documents", "Name is mandatory" : "El nom és obligatori", "Notification sent with success." : "Notificació enviada amb èxit.", "File signed" : "Arxiu signat", @@ -24,10 +26,12 @@ "Invalid Sign engine." : "Motor de signatura no vàlid.", "Digital signed by LibreSign." : "Signat digitalment per LibreSign.", "Validate in %s." : "Valida a %s.", + "Invalid data to validate file" : "Dades no vàlides per validar el fitxer", "File type: %s. Empty file." : "Tipus de fitxer: %s. Fitxer buit.", "Elements of type %s need file." : "Els elements del tipus %s necessiten un fitxer.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Tipus de fitxer: %s. Especifiqueu un URL, una cadena base64 o un ID de fitxer.", "File type: %s. Invalid fileID." : "Tipus de fitxer: %s. ID de fitxer no vàlid.", + "User not found." : "No s'ha trobat l'usuari.", "document to sign" : "document a signar", "visible element" : "element visible", "File type: %s. Invalid base64 file." : "Tipus de fitxer: %s. Fitxer base64 no vàlid.", @@ -54,7 +58,6 @@ "Sign process already started. Unable to change status." : "El procés de signatura ja ha començat. No es pot canviar l'estat.", "Inform or UUID or a File object" : "Informar o UUID o un objecte Fitxer", "No user data" : "Cap dades de l'usuari", - "User not found." : "No s'ha trobat l'usuari.", "User %s has no email address." : "L'usuari %s no té cap adreça electrònica.", "Email required" : "Correu electrònic obligatori", "Invalid email" : "Adreça de correu electrònic no válida", @@ -62,7 +65,6 @@ "No signature was requested to %s" : "No s'ha sol·licitat cap signatura a %s", "%s already signed this file" : "%s ja ha signat aquest fitxer", "Invalid UUID file" : "Fitxer UUID no vàlid", - "Invalid UUID" : "UUID no vàlid", "Signer not associated to this file" : "Signant no associat a aquest fitxer", "A file of this type has been associated." : "S'ha associat un fitxer d'aquest tipus.", "File already signed." : "Fitxer ja signat.", @@ -80,7 +82,7 @@ "Invalid URL file" : "Fitxer URL no vàlid", "Visible element file must be png." : "El fitxer d'element visible ha de ser png.", "Empty file" : "Fitxer buit", - "Invalid data to validate file" : "Dades no vàlides per validar el fitxer", + "File is too big" : "El fitxer és massa gran", "Invalid file identifier" : "Identificador de fitxer no vàlid", "You need to sign this document" : "Heu de signar aquest document", "You cannot request signature for this document, please contact your administrator" : "No podeu sol·licitar la signatura d'aquest document, poseu-vos en contacte amb el vostre administrador", @@ -94,7 +96,6 @@ "Email" : "Correu", "User already exists" : "L'usuari ja existeix", "This is not your file" : "Aquest no és el vostre fitxer", - "Password" : "Contrasenya", "Invalid password" : "Contrasenya no vàlida", "LibreSign: Changes into a file for you to sign" : "LibreSign: canvia en un fitxer perquè el signeu", "File to sign" : "Arxiu per signar", @@ -127,6 +128,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicació de signatura digital per a Nextcloud.", "Authentication required" : "Cal autenticació", "This action requires you to confirm your password" : "Aquesta acció requereix que confirmeu la vostra contrasenya", + "Password" : "Contrasenya", "Confirm" : "Confirma", "Incorrect password!" : "Contrasenya incorrecta!", "Text" : "Text", @@ -163,9 +165,8 @@ "Request signatures?" : "Demanar signatures?", "Element created" : "Element creat", "Details" : "Detalls", - "Password & Security" : "Contrasenya i seguretat", - "Create password key" : "Crea una clau de contrasenya", - "Reset password" : "Reinicialitza la contrasenya", + "Certificate" : "Certificat", + "Delete certificate" : "Suprimeix el certificat", "Not sent yet" : "Encara no s'ha enviat", "Not defined yet" : "Encara no està definit", "Select a file" : "Select a file", @@ -186,7 +187,6 @@ "Password Creation" : "Creació de contrasenya", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Per motius de seguretat, heu de crear una contrasenya per signar els documents. Introduïu la vostra nova contrasenya al camp següent.", "Enter a password" : "Introduïu una contrasenya", - "New password to sign documents has been created" : "S'ha creat una nova contrasenya per signar documents", "Error creating new password, please contact the administrator" : "S'ha produït un error en crear una contrasenya nova, poseu-vos en contacte amb l'administrador", "Create new subscription." : "Crea una subscripció nova.", "Root certificate has not been configured by the Administrator!" : "El certificat arrel no ha estat configurat per l'administrador!", @@ -213,12 +213,10 @@ "Request Signatures" : "Demanar signatures", "Choose the file to request signatures." : "Trieu el fitxer per sol·licitar signatures.", "Choose from Files" : "Tria a Fitxers", - "Enter the emails that will receive the request" : "Introduïu els correus electrònics que rebran la sol·licitud", - "Signatures for this document have already been requested" : "Ja s'han demanat signatures per a aquest document", - "Add users" : "Afegir usuaris", "Select your file" : "Selecciona el fitxer", "Password reset" : "Restableix contrasenya", "Enter new password and then repeat it" : "Introduïu la nova contrasenya i després repetiu-la", + "Current password" : "Contrasenya actual", "New password" : "Nova contrasenya", "Repeat password" : "Repetiu la contrasenya", "Allow request to sign" : "Permet signar la sol·licitud", @@ -231,7 +229,7 @@ "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "En activar aquesta funció, cada vegada que es signa un document, LibreSign emmagatzemarà l'adreça IP i l'agent d'usuari del signant.", "Message" : "Missatge", "Resource" : "Recurs", - "Advice" : "Consell", + "Tip" : "Consell", "Configuration check" : "Comprovació de la configuració", "Status of setup" : "Estat de la configuració", "Customize default user folder" : "Personalitza la carpeta d'usuari predeterminada", @@ -256,9 +254,7 @@ "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Regenerar el certificat arrel invalidarà totes les claus de signatures. Confirmes aquesta acció?", "Full name of the main company or main user of this instance" : "Nom complet de l'empresa principal o usuari principal d'aquesta instància", "Not mandatory, don't fill to use default value." : "No és obligatori, no ompliu per utilitzar el valor predeterminat.", - "Root certificate data." : "Dades del certificat arrel.", "To generate new signatures, you must first generate the root certificate." : "Per generar noves signatures, primer heu de generar el certificat arrel.", - "Generate root certificate." : "Generar certificat arrel.", "Generating certificate." : "S’estan generant el certificat.", "Could not generate certificate." : "No s'ha pogut generar el certificat.", "Generated certificate!" : "Certificat generat!", @@ -309,14 +305,19 @@ "Validate File" : "Valida el fitxer", "Add visible signatures" : "Afegiu signatures visibles", "Are you sure you want to exclude user {email} from the request?" : "Esteu segur que voleu excloure l'usuari {email} de la sol·licitud?", + "Password & Security" : "Contrasenya i seguretat", + "Create password key" : "Crea una clau de contrasenya", + "Reset password" : "Reinicialitza la contrasenya", "Nothing to do" : "Res a fer", "Validate Document" : "Validació del document", "Do you want to configure visible elements in this document?" : "Voleu configurar elements visibles en aquest document?", - "Collect signers metadata when sign a document" : "Recolliu metadades dels signants quan signeu un document", - "Collect signers metadata" : "Recolliu metadades dels signants", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Si activeu aquesta funció, cada vegada que signeu un document, LibreSign emmagatzemarà la IP i l'agent d'usuari del signant.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Els binaris necessaris per funcionar. Podria ser a prop de 340 Mb per baixar, espera un moment.", + "Enter the emails that will receive the request" : "Introduïu els correus electrònics que rebran la sol·licitud", + "Signatures for this document have already been requested" : "Ja s'han demanat signatures per a aquest document", + "Add users" : "Afegir usuaris", + "Advice" : "Consell", "Define custom values to use CFSSL" : "Definiu valors personalitzats per utilitzar CFSSL", + "Root certificate data." : "Dades del certificat arrel.", + "Generate root certificate." : "Generar certificat arrel.", "Remove" : "Elimina" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/cs.js b/l10n/cs.js index ccb651f146..7f97bfc982 100644 --- a/l10n/cs.js +++ b/l10n/cs.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Neplatný UUID identifikátro", "Success" : "Úspěch", "Invalid user or password" : "Neplatný uživatel nebo heslo", "_Element created with success_::_Elements created with success_" : ["Prvek úspěšně vytvořen","Prvky úspěšně vytvořeny","Prvky úspěšně vytvořeny","Prvky úspěšně vytvořeny"], @@ -9,6 +10,9 @@ OC.L10N.register( "Element updated with success" : "Prvek úspěšně aktualizován", "Visible element deleted" : "Viditelný prvek smazán", "Settings saved" : "Nastavení uložena", + "Certificate file deleted with success." : "Soubor s certifikátem úspěšně smazán.", + "Certificate file saved with success." : "Soubor s certifikátem úspěšně uložen.", + "New password to sign documents has been created" : "Nové heslo pro podepisování dokumentů vytvořeno", "Name is mandatory" : "Název je třeba zadat", "Notification sent with success." : "Oznámení úspěšně odesláno", "File signed" : "Soubor podepsán", @@ -28,10 +32,13 @@ OC.L10N.register( "Invalid Sign engine." : "Neplatný engine pro podepisování.", "Digital signed by LibreSign." : "Digitálně podepsáno pomocí LibreSign.", "Validate in %s." : "Ověřit v %s.", + "Invalid data to validate file" : "Neplatná data pro ověření souboru", "File type: %s. Empty file." : "Typ souboru: %s. Prázdný soubor.", "Elements of type %s need file." : "Prvky typu %s potřebují soubor.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Typ souboru: %s. Zadejte URL, řetězec base64 nebo identif. souboru.", "File type: %s. Invalid fileID." : "Typ souboru: %s. Neplatný identif. souboru.", + "User not found." : "Uživatel nenalezen.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Typ souboru: %s. Zadejte URL, řetězec base64 nebo identif. souboru.", "document to sign" : "dokument k podepsání", "visible element" : "viditelný prvek", "File type: %s. Invalid base64 file." : "Typ souboru: %s. Neplatný base64 soubor.", @@ -58,7 +65,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Proces podepisování už začal. Není možné změnit stav.", "Inform or UUID or a File object" : "Inform nebo UUID nebo objekt-soubor", "No user data" : "Žádná uživatelská data", - "User not found." : "Uživatel nenalezen.", "User %s has no email address." : "Uživatel %s nemá žádnou e-mailovou adresu.", "Email required" : "Vyžadován e-mail", "Invalid email" : "Neplatný e-mail", @@ -66,7 +72,6 @@ OC.L10N.register( "No signature was requested to %s" : "Pro %s nebyl vyžádán podpis", "%s already signed this file" : "%s už tento soubor podepsal(a)", "Invalid UUID file" : "Neplatný soubor s UUID identif.", - "Invalid UUID" : "Neplatný UUID identifikátro", "Signer not associated to this file" : "Podepisující nepřiřazen k tomuto souboru", "A file of this type has been associated." : "Soubor tohoto typu byl asociován.", "Empty identify data." : "Vyprázdnit identifikační údaje.", @@ -89,7 +94,9 @@ OC.L10N.register( "Invalid URL file" : "Neplatný soubor s URL adresami", "Visible element file must be png." : "Je třeba, aby soubor viditelného prvku byl png.", "Empty file" : "Prázdný soubor", - "Invalid data to validate file" : "Neplatná data pro ověření souboru", + "No certificate file provided" : "Neposkytnut žádný soubor s certifikátem", + "Invalid file provided. Need to be a .pfx file." : "Poskytnut neplatný soubor. Je třeba, aby se jednalo o soubor .pfx.", + "File is too big" : "Soubor je příliš velký", "Invalid file identifier" : "Neplatný identifikátor souboru", "You need to sign this document" : "Je třeba, abyste tento dokument podepsali", "You cannot request signature for this document, please contact your administrator" : "Nemůžete požádat o podpis tohoto dokumentu – obraťte se na svého správce", @@ -104,7 +111,7 @@ OC.L10N.register( "Email" : "E-mail", "User already exists" : "Uživatel už existuje", "This is not your file" : "Toto není váš soubor", - "Password" : "Heslo", + "Certificate with password" : "Certifikát s heslem", "Invalid password" : "Neplatné heslo", "LibreSign: Changes into a file for you to sign" : "LibreSign: Změny, provedené v souboru, které máte podepsat", "File to sign" : "Soubor který podepsat", @@ -141,6 +148,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplikace pro digitální podepisování, určená pro Nextcloud", "Authentication required" : "Vyžadováno ověření se", "This action requires you to confirm your password" : "Tato akce vyžaduje zadání vašeho hesla", + "Password" : "Heslo", "Confirm" : "Potvrdit", "Incorrect password!" : "Nesprávné heslo!", "Text" : "Text", @@ -156,6 +164,7 @@ OC.L10N.register( "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Kolečkem myši zvětšete nebo zmenšete obrázek a najděte tak nejlepší zobrazení pro svůj podpis.", "Enter your Full Name or Initials to create Signature" : "Pokud chcete vytvořit podpis, zadejte své celé jméno nebo iniciály", "Requested by {name}, at {date}" : "Požádal(a) {name}, v {date}", + "Enter who will receive the request" : "Zadejte kdo obdrží požadavek", "Signatures" : "Podpisy", "Search signer by account" : "Hledat podepisujícího podle účtu", "Name" : "Název", @@ -183,10 +192,13 @@ OC.L10N.register( "Sign" : "Podepsat", "Request signatures?" : "Požádat o podpisy?", "Element created" : "Prvek vytvořen", + "signed at {date}" : "podepsáno v {date}", "Details" : "Podrobnosti", - "Password & Security" : "Heslo a zabezpečení", - "Create password key" : "Vytvořit klíč hesla", - "Reset password" : "Resetovat heslo", + "Certificate" : "Certifikát", + "Upload certificate" : "Nahrát certifikát", + "Delete certificate" : "Smazat certifikát", + "Create certificate" : "Vytvořit certifikát", + "Change password" : "Změnit heslo", "Not sent yet" : "Doposud neodesláno", "Not defined yet" : "Doposud nedefinováno", "Select a file" : "Vybrat soubor", @@ -207,7 +219,6 @@ OC.L10N.register( "Password Creation" : "Vytvoření hesla", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Z důvodu zabezpečení je třeba pro podepisování dokumentů vytvořit heslo. Zadejte své nové heslo do kolonky níže.", "Enter a password" : "Zadejte heslo", - "New password to sign documents has been created" : "Nové heslo pro podepisování dokumentů vytvořeno", "Error creating new password, please contact the administrator" : "Chyba při vytváření nového hesla – obraťte se na správce systému", "Create new subscription." : "Vytvořit nový podpis.", "Root certificate has not been configured by the Administrator!" : "Správce nenastavil kořenový certifikát!", @@ -235,13 +246,14 @@ OC.L10N.register( "The admin hasn't set up LibreSign yet, please wait." : "Správce zatím ještě LibreSign nenastavil – vyčkejte prosím.", "Request Signatures" : "Požádat o podpisy", "Choose the file to request signatures." : "Pokud chcete požádat o podpisy, vyberte soubor.", + "Upload from URL" : "Nahrát z URL", "Choose from Files" : "Zvolit ze Souborů", - "Enter the emails that will receive the request" : "Zadejte e-mailové adresy, které obdrží požadavek", - "Signatures for this document have already been requested" : "O podepsání tohoto dokumentu už bylo požádáno", - "Add users" : "Přidat uživatele", + "URL of a PDF file" : "URL PDF souboru", + "Send" : "Odeslat", "Select your file" : "Vyberte soubor", "Password reset" : "Reset hesla", "Enter new password and then repeat it" : "Zadejte nové heslo (do obou kolonek)", + "Current password" : "Dosavadní heslo", "New password" : "Nové heslo", "Repeat password" : "Zopakujte zadání hesla", "Allow request to sign" : "Umožnit zažádat o podepsání", @@ -252,12 +264,13 @@ OC.L10N.register( "Certificate engine" : "Nástroj pro práci s certifikáty", "Certificate engine to generate the root certificate" : "Nástroj pro práci s certifikáty kterým vytvořit kořenový certifikát", "Select the certificate engine to generate the root certificate" : "Vyberte nástroj pro práci s certifikáty kterým vytvořit kořenový certifikát", + "I will not use root certificate" : "Nepoužiji kořenový certifikát", "Collect signers' metadata when signing a document" : "Shromáždit při podepisování metadata o podepisujících", "Collect signers' metadata" : "Shromáždit metadata o podepisujících", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Když je tato funkce zapnutá, pak LibreSign při podepsání uloží IP adresu a identifikátor aplikace (user agent) podepisujícího.", "Message" : "Zpráva", "Resource" : "Zdroj", - "Advice" : "Rada", + "Tip" : "Tip", "Configuration check" : "Kontrola nastavení", "Status of setup" : "Stav nastavení", "Customize default user folder" : "Přizpůsobit výchozí složku uživatele", @@ -276,6 +289,8 @@ OC.L10N.register( "Allow account creation for new users" : "Umožnit účtu vytvářet nové uživatele", "Allows sending registration email when the user does not have an account." : "Umožňuje poslat e-mail pro případ, že uživatel zde nemá účet.", "Default signature method" : "Výchozí metoda podepisování", + "Identify factors" : "Faktory identifikace", + "Ways to identify a person who will sign a document." : "Způsoby identifikace osoby, která dokument podepíše.", "Legal Information" : "Právní informace", "Legal information" : "Právní informace", "This information will appear on the validation page" : "Tato informace se objeví na stránce ověřování", @@ -287,12 +302,13 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "Úplný název hlavní společnosti nebo hlavního uživatele této instance", "Define custom values to use {engine}" : "Definovat uživatelsky určené hodnoty pro použití {engine}", "Not mandatory, don't fill to use default value." : "Není povinné – pokud chcete použít výchozí hodnotu, nevyplňujte.", - "Root certificate data." : "Data kořenového certifikátu.", + "Root certificate data" : "Data kořenového certifikátu", "To generate new signatures, you must first generate the root certificate." : "Pro vytváření nových podpisů je třeba nejprve vytvořit kořenový certifikát.", - "Generate root certificate." : "Vytvořit kořenový certifikát.", + "Generate root certificate" : "Vytvořit kořenový certifikát", "Generating certificate." : "Vytváření certifikátu.", "Could not generate certificate." : "Certifikát se nedaří vytvořit.", "Generated certificate!" : "Certifikát vytvořen!", + "Make validation URL acessible only by authenticated users" : "Zpřístupnit URL ověřování pouze přihlášeným uživatelům", "Add visible footer with signature details" : "Přidat viditelné zápatí s podrobnostmi o podpisu", "Write QR code on footer with validation URL" : "Do zápatí umístit QR kód s URL pro ověření platnosti", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "Pro ověření podpisu dokumentů. Tuto hodnotu měňte pouze tehdy, pokud chcete nahradit výchozí URL ověřování jinou.", @@ -340,14 +356,19 @@ OC.L10N.register( "Validate File" : "Ověřit soubor", "Add visible signatures" : "Přidat viditelné podpisy", "Are you sure you want to exclude user {email} from the request?" : "Opravdu chcete uživatele {email} vynechat z požadavku?", + "Password & Security" : "Heslo a zabezpečení", + "Create password key" : "Vytvořit klíč hesla", + "Reset password" : "Resetovat heslo", "Nothing to do" : "Není co dělat", "Validate Document" : "Ověřit dokument", "Do you want to configure visible elements in this document?" : "Chcete nastavit viditelné prvky v tomto dokumentu? ", - "Collect signers metadata when sign a document" : "Shromáždit při podepisování metadata o podepisujících", - "Collect signers metadata" : "Shromáždit metadata o podepisujících", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Když je tato funkce zapnutá, pak LibreSign při podepsání uloží IP adresu a identifikátor aplikace (user agent) podepisujícího.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Aby fungovalo, je třeba stáhnout příslušné programy. Mělo by se jednat o téměř 340MB ke stažení – počkejte chvíli.", + "Enter the emails that will receive the request" : "Zadejte e-mailové adresy, které obdrží požadavek", + "Signatures for this document have already been requested" : "O podepsání tohoto dokumentu už bylo požádáno", + "Add users" : "Přidat uživatele", + "Advice" : "Rada", "Define custom values to use CFSSL" : "Pokud chcete použít CFSSL, je třeba zadat uživatelsky určené hodnoty", + "Root certificate data." : "Data kořenového certifikátu.", + "Generate root certificate." : "Vytvořit kořenový certifikát.", "Remove" : "Odebrat" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"); diff --git a/l10n/cs.json b/l10n/cs.json index 8d972fedb6..6fb5a04708 100644 --- a/l10n/cs.json +++ b/l10n/cs.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Neplatný UUID identifikátro", "Success" : "Úspěch", "Invalid user or password" : "Neplatný uživatel nebo heslo", "_Element created with success_::_Elements created with success_" : ["Prvek úspěšně vytvořen","Prvky úspěšně vytvořeny","Prvky úspěšně vytvořeny","Prvky úspěšně vytvořeny"], @@ -7,6 +8,9 @@ "Element updated with success" : "Prvek úspěšně aktualizován", "Visible element deleted" : "Viditelný prvek smazán", "Settings saved" : "Nastavení uložena", + "Certificate file deleted with success." : "Soubor s certifikátem úspěšně smazán.", + "Certificate file saved with success." : "Soubor s certifikátem úspěšně uložen.", + "New password to sign documents has been created" : "Nové heslo pro podepisování dokumentů vytvořeno", "Name is mandatory" : "Název je třeba zadat", "Notification sent with success." : "Oznámení úspěšně odesláno", "File signed" : "Soubor podepsán", @@ -26,10 +30,13 @@ "Invalid Sign engine." : "Neplatný engine pro podepisování.", "Digital signed by LibreSign." : "Digitálně podepsáno pomocí LibreSign.", "Validate in %s." : "Ověřit v %s.", + "Invalid data to validate file" : "Neplatná data pro ověření souboru", "File type: %s. Empty file." : "Typ souboru: %s. Prázdný soubor.", "Elements of type %s need file." : "Prvky typu %s potřebují soubor.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Typ souboru: %s. Zadejte URL, řetězec base64 nebo identif. souboru.", "File type: %s. Invalid fileID." : "Typ souboru: %s. Neplatný identif. souboru.", + "User not found." : "Uživatel nenalezen.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Typ souboru: %s. Zadejte URL, řetězec base64 nebo identif. souboru.", "document to sign" : "dokument k podepsání", "visible element" : "viditelný prvek", "File type: %s. Invalid base64 file." : "Typ souboru: %s. Neplatný base64 soubor.", @@ -56,7 +63,6 @@ "Sign process already started. Unable to change status." : "Proces podepisování už začal. Není možné změnit stav.", "Inform or UUID or a File object" : "Inform nebo UUID nebo objekt-soubor", "No user data" : "Žádná uživatelská data", - "User not found." : "Uživatel nenalezen.", "User %s has no email address." : "Uživatel %s nemá žádnou e-mailovou adresu.", "Email required" : "Vyžadován e-mail", "Invalid email" : "Neplatný e-mail", @@ -64,7 +70,6 @@ "No signature was requested to %s" : "Pro %s nebyl vyžádán podpis", "%s already signed this file" : "%s už tento soubor podepsal(a)", "Invalid UUID file" : "Neplatný soubor s UUID identif.", - "Invalid UUID" : "Neplatný UUID identifikátro", "Signer not associated to this file" : "Podepisující nepřiřazen k tomuto souboru", "A file of this type has been associated." : "Soubor tohoto typu byl asociován.", "Empty identify data." : "Vyprázdnit identifikační údaje.", @@ -87,7 +92,9 @@ "Invalid URL file" : "Neplatný soubor s URL adresami", "Visible element file must be png." : "Je třeba, aby soubor viditelného prvku byl png.", "Empty file" : "Prázdný soubor", - "Invalid data to validate file" : "Neplatná data pro ověření souboru", + "No certificate file provided" : "Neposkytnut žádný soubor s certifikátem", + "Invalid file provided. Need to be a .pfx file." : "Poskytnut neplatný soubor. Je třeba, aby se jednalo o soubor .pfx.", + "File is too big" : "Soubor je příliš velký", "Invalid file identifier" : "Neplatný identifikátor souboru", "You need to sign this document" : "Je třeba, abyste tento dokument podepsali", "You cannot request signature for this document, please contact your administrator" : "Nemůžete požádat o podpis tohoto dokumentu – obraťte se na svého správce", @@ -102,7 +109,7 @@ "Email" : "E-mail", "User already exists" : "Uživatel už existuje", "This is not your file" : "Toto není váš soubor", - "Password" : "Heslo", + "Certificate with password" : "Certifikát s heslem", "Invalid password" : "Neplatné heslo", "LibreSign: Changes into a file for you to sign" : "LibreSign: Změny, provedené v souboru, které máte podepsat", "File to sign" : "Soubor který podepsat", @@ -139,6 +146,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplikace pro digitální podepisování, určená pro Nextcloud", "Authentication required" : "Vyžadováno ověření se", "This action requires you to confirm your password" : "Tato akce vyžaduje zadání vašeho hesla", + "Password" : "Heslo", "Confirm" : "Potvrdit", "Incorrect password!" : "Nesprávné heslo!", "Text" : "Text", @@ -154,6 +162,7 @@ "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Kolečkem myši zvětšete nebo zmenšete obrázek a najděte tak nejlepší zobrazení pro svůj podpis.", "Enter your Full Name or Initials to create Signature" : "Pokud chcete vytvořit podpis, zadejte své celé jméno nebo iniciály", "Requested by {name}, at {date}" : "Požádal(a) {name}, v {date}", + "Enter who will receive the request" : "Zadejte kdo obdrží požadavek", "Signatures" : "Podpisy", "Search signer by account" : "Hledat podepisujícího podle účtu", "Name" : "Název", @@ -181,10 +190,13 @@ "Sign" : "Podepsat", "Request signatures?" : "Požádat o podpisy?", "Element created" : "Prvek vytvořen", + "signed at {date}" : "podepsáno v {date}", "Details" : "Podrobnosti", - "Password & Security" : "Heslo a zabezpečení", - "Create password key" : "Vytvořit klíč hesla", - "Reset password" : "Resetovat heslo", + "Certificate" : "Certifikát", + "Upload certificate" : "Nahrát certifikát", + "Delete certificate" : "Smazat certifikát", + "Create certificate" : "Vytvořit certifikát", + "Change password" : "Změnit heslo", "Not sent yet" : "Doposud neodesláno", "Not defined yet" : "Doposud nedefinováno", "Select a file" : "Vybrat soubor", @@ -205,7 +217,6 @@ "Password Creation" : "Vytvoření hesla", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Z důvodu zabezpečení je třeba pro podepisování dokumentů vytvořit heslo. Zadejte své nové heslo do kolonky níže.", "Enter a password" : "Zadejte heslo", - "New password to sign documents has been created" : "Nové heslo pro podepisování dokumentů vytvořeno", "Error creating new password, please contact the administrator" : "Chyba při vytváření nového hesla – obraťte se na správce systému", "Create new subscription." : "Vytvořit nový podpis.", "Root certificate has not been configured by the Administrator!" : "Správce nenastavil kořenový certifikát!", @@ -233,13 +244,14 @@ "The admin hasn't set up LibreSign yet, please wait." : "Správce zatím ještě LibreSign nenastavil – vyčkejte prosím.", "Request Signatures" : "Požádat o podpisy", "Choose the file to request signatures." : "Pokud chcete požádat o podpisy, vyberte soubor.", + "Upload from URL" : "Nahrát z URL", "Choose from Files" : "Zvolit ze Souborů", - "Enter the emails that will receive the request" : "Zadejte e-mailové adresy, které obdrží požadavek", - "Signatures for this document have already been requested" : "O podepsání tohoto dokumentu už bylo požádáno", - "Add users" : "Přidat uživatele", + "URL of a PDF file" : "URL PDF souboru", + "Send" : "Odeslat", "Select your file" : "Vyberte soubor", "Password reset" : "Reset hesla", "Enter new password and then repeat it" : "Zadejte nové heslo (do obou kolonek)", + "Current password" : "Dosavadní heslo", "New password" : "Nové heslo", "Repeat password" : "Zopakujte zadání hesla", "Allow request to sign" : "Umožnit zažádat o podepsání", @@ -250,12 +262,13 @@ "Certificate engine" : "Nástroj pro práci s certifikáty", "Certificate engine to generate the root certificate" : "Nástroj pro práci s certifikáty kterým vytvořit kořenový certifikát", "Select the certificate engine to generate the root certificate" : "Vyberte nástroj pro práci s certifikáty kterým vytvořit kořenový certifikát", + "I will not use root certificate" : "Nepoužiji kořenový certifikát", "Collect signers' metadata when signing a document" : "Shromáždit při podepisování metadata o podepisujících", "Collect signers' metadata" : "Shromáždit metadata o podepisujících", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Když je tato funkce zapnutá, pak LibreSign při podepsání uloží IP adresu a identifikátor aplikace (user agent) podepisujícího.", "Message" : "Zpráva", "Resource" : "Zdroj", - "Advice" : "Rada", + "Tip" : "Tip", "Configuration check" : "Kontrola nastavení", "Status of setup" : "Stav nastavení", "Customize default user folder" : "Přizpůsobit výchozí složku uživatele", @@ -274,6 +287,8 @@ "Allow account creation for new users" : "Umožnit účtu vytvářet nové uživatele", "Allows sending registration email when the user does not have an account." : "Umožňuje poslat e-mail pro případ, že uživatel zde nemá účet.", "Default signature method" : "Výchozí metoda podepisování", + "Identify factors" : "Faktory identifikace", + "Ways to identify a person who will sign a document." : "Způsoby identifikace osoby, která dokument podepíše.", "Legal Information" : "Právní informace", "Legal information" : "Právní informace", "This information will appear on the validation page" : "Tato informace se objeví na stránce ověřování", @@ -285,12 +300,13 @@ "Full name of the main company or main user of this instance" : "Úplný název hlavní společnosti nebo hlavního uživatele této instance", "Define custom values to use {engine}" : "Definovat uživatelsky určené hodnoty pro použití {engine}", "Not mandatory, don't fill to use default value." : "Není povinné – pokud chcete použít výchozí hodnotu, nevyplňujte.", - "Root certificate data." : "Data kořenového certifikátu.", + "Root certificate data" : "Data kořenového certifikátu", "To generate new signatures, you must first generate the root certificate." : "Pro vytváření nových podpisů je třeba nejprve vytvořit kořenový certifikát.", - "Generate root certificate." : "Vytvořit kořenový certifikát.", + "Generate root certificate" : "Vytvořit kořenový certifikát", "Generating certificate." : "Vytváření certifikátu.", "Could not generate certificate." : "Certifikát se nedaří vytvořit.", "Generated certificate!" : "Certifikát vytvořen!", + "Make validation URL acessible only by authenticated users" : "Zpřístupnit URL ověřování pouze přihlášeným uživatelům", "Add visible footer with signature details" : "Přidat viditelné zápatí s podrobnostmi o podpisu", "Write QR code on footer with validation URL" : "Do zápatí umístit QR kód s URL pro ověření platnosti", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "Pro ověření podpisu dokumentů. Tuto hodnotu měňte pouze tehdy, pokud chcete nahradit výchozí URL ověřování jinou.", @@ -338,14 +354,19 @@ "Validate File" : "Ověřit soubor", "Add visible signatures" : "Přidat viditelné podpisy", "Are you sure you want to exclude user {email} from the request?" : "Opravdu chcete uživatele {email} vynechat z požadavku?", + "Password & Security" : "Heslo a zabezpečení", + "Create password key" : "Vytvořit klíč hesla", + "Reset password" : "Resetovat heslo", "Nothing to do" : "Není co dělat", "Validate Document" : "Ověřit dokument", "Do you want to configure visible elements in this document?" : "Chcete nastavit viditelné prvky v tomto dokumentu? ", - "Collect signers metadata when sign a document" : "Shromáždit při podepisování metadata o podepisujících", - "Collect signers metadata" : "Shromáždit metadata o podepisujících", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Když je tato funkce zapnutá, pak LibreSign při podepsání uloží IP adresu a identifikátor aplikace (user agent) podepisujícího.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Aby fungovalo, je třeba stáhnout příslušné programy. Mělo by se jednat o téměř 340MB ke stažení – počkejte chvíli.", + "Enter the emails that will receive the request" : "Zadejte e-mailové adresy, které obdrží požadavek", + "Signatures for this document have already been requested" : "O podepsání tohoto dokumentu už bylo požádáno", + "Add users" : "Přidat uživatele", + "Advice" : "Rada", "Define custom values to use CFSSL" : "Pokud chcete použít CFSSL, je třeba zadat uživatelsky určené hodnoty", + "Root certificate data." : "Data kořenového certifikátu.", + "Generate root certificate." : "Vytvořit kořenový certifikát.", "Remove" : "Odebrat" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" } \ No newline at end of file diff --git a/l10n/cy_GB.js b/l10n/cy_GB.js index 9921b2ebdd..43c969c8fb 100644 --- a/l10n/cy_GB.js +++ b/l10n/cy_GB.js @@ -4,9 +4,9 @@ OC.L10N.register( "View" : "Golwg", "Account" : "Cyfrif", "Email" : "E-bost", - "Password" : "Cyfrinair", "Files" : "Ffeiliau", "Settings" : "Gosodiadau", + "Password" : "Cyfrinair", "Confirm" : "Cadarnhau", "Upload" : "Llwytho i fyny", "Cancel" : "Diddymu", @@ -20,7 +20,7 @@ OC.L10N.register( "Next" : "Nesaf", "Previous" : "Blaenorol", "Details" : "Manylion", - "Reset password" : "Ailosod cyfrinair", + "Certificate" : "Tystysgrif", "Select a file" : "Select a file", "Type" : "Math", "Status" : "Statws", @@ -31,12 +31,14 @@ OC.L10N.register( "Yes" : "Iawn", "No" : "No", "Page not found" : "Heb ganfod y dudalen", + "Send" : "Anfon", "New password" : "Cyfrinair newydd", "Resource" : "Adnodd", "Dependencies" : "Dibyniaethau", "Loading …" : "Yn llwytho …", "Pending" : "I ddod", "No date" : "No date", + "Reset password" : "Ailosod cyfrinair", "Remove" : "Gwaredu" }, "nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"); diff --git a/l10n/cy_GB.json b/l10n/cy_GB.json index 0cee7819ad..c7717bb996 100644 --- a/l10n/cy_GB.json +++ b/l10n/cy_GB.json @@ -2,9 +2,9 @@ "View" : "Golwg", "Account" : "Cyfrif", "Email" : "E-bost", - "Password" : "Cyfrinair", "Files" : "Ffeiliau", "Settings" : "Gosodiadau", + "Password" : "Cyfrinair", "Confirm" : "Cadarnhau", "Upload" : "Llwytho i fyny", "Cancel" : "Diddymu", @@ -18,7 +18,7 @@ "Next" : "Nesaf", "Previous" : "Blaenorol", "Details" : "Manylion", - "Reset password" : "Ailosod cyfrinair", + "Certificate" : "Tystysgrif", "Select a file" : "Select a file", "Type" : "Math", "Status" : "Statws", @@ -29,12 +29,14 @@ "Yes" : "Iawn", "No" : "No", "Page not found" : "Heb ganfod y dudalen", + "Send" : "Anfon", "New password" : "Cyfrinair newydd", "Resource" : "Adnodd", "Dependencies" : "Dibyniaethau", "Loading …" : "Yn llwytho …", "Pending" : "I ddod", "No date" : "No date", + "Reset password" : "Ailosod cyfrinair", "Remove" : "Gwaredu" },"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;" } \ No newline at end of file diff --git a/l10n/da.js b/l10n/da.js index 8cc5f50a16..9973abfe83 100644 --- a/l10n/da.js +++ b/l10n/da.js @@ -9,15 +9,16 @@ OC.L10N.register( "File not found" : "Fil ikke fundet", "File already exists" : "Filen findes allerede", "Empty file" : "Tom fil", + "File is too big" : "Filen er for stor", "Account" : "Konto", "Invalid user" : "Ugyldig bruger", "Email" : "E-mail", - "Password" : "Adgangskode", "Invalid password" : "Ugyldigt kodeord", "Files" : "Filer", "Settings" : "Indstillinger", "Authentication required" : "Godkendelse påkrævet", "This action requires you to confirm your password" : "Denne handling kræver at du bekræfter dit kodeord", + "Password" : "Adgangskode", "Confirm" : "Bekræft", "Text" : "Tekst", "Upload" : "Send", @@ -36,7 +37,9 @@ OC.L10N.register( "Next" : "Næste", "Previous" : "Tidligere", "Details" : "Detaljer", - "Reset password" : "Nulstil kodeord", + "Certificate" : "Certifikat", + "Delete certificate" : "Slet certifikat", + "Change password" : "Skift adgangskode", "Select a file" : "Select a file", "Type" : "Type", "Status" : "Status", @@ -49,8 +52,9 @@ OC.L10N.register( "No" : "Nej", "Page not found" : "Siden blev ikke fundet", "Choose from Files" : "Vælg fra Filer", - "Add users" : "Tilføj brugere", + "Send" : "Send", "Password reset" : "Nulstil adgangskode", + "Current password" : "Nuværende password", "New password" : "Ny adgangskode", "Repeat password" : "Gentag adgangskode", "Message" : "Besked", @@ -59,6 +63,8 @@ OC.L10N.register( "Loading …" : "Loading …", "Pending" : "Afventer", "No date" : "No date", + "Reset password" : "Nulstil kodeord", + "Add users" : "Tilføj brugere", "Remove" : "Fjern" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/da.json b/l10n/da.json index 6be088587a..07241090d6 100644 --- a/l10n/da.json +++ b/l10n/da.json @@ -7,15 +7,16 @@ "File not found" : "Fil ikke fundet", "File already exists" : "Filen findes allerede", "Empty file" : "Tom fil", + "File is too big" : "Filen er for stor", "Account" : "Konto", "Invalid user" : "Ugyldig bruger", "Email" : "E-mail", - "Password" : "Adgangskode", "Invalid password" : "Ugyldigt kodeord", "Files" : "Filer", "Settings" : "Indstillinger", "Authentication required" : "Godkendelse påkrævet", "This action requires you to confirm your password" : "Denne handling kræver at du bekræfter dit kodeord", + "Password" : "Adgangskode", "Confirm" : "Bekræft", "Text" : "Tekst", "Upload" : "Send", @@ -34,7 +35,9 @@ "Next" : "Næste", "Previous" : "Tidligere", "Details" : "Detaljer", - "Reset password" : "Nulstil kodeord", + "Certificate" : "Certifikat", + "Delete certificate" : "Slet certifikat", + "Change password" : "Skift adgangskode", "Select a file" : "Select a file", "Type" : "Type", "Status" : "Status", @@ -47,8 +50,9 @@ "No" : "Nej", "Page not found" : "Siden blev ikke fundet", "Choose from Files" : "Vælg fra Filer", - "Add users" : "Tilføj brugere", + "Send" : "Send", "Password reset" : "Nulstil adgangskode", + "Current password" : "Nuværende password", "New password" : "Ny adgangskode", "Repeat password" : "Gentag adgangskode", "Message" : "Besked", @@ -57,6 +61,8 @@ "Loading …" : "Loading …", "Pending" : "Afventer", "No date" : "No date", + "Reset password" : "Nulstil kodeord", + "Add users" : "Tilføj brugere", "Remove" : "Fjern" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/de.js b/l10n/de.js index 190e89661c..2fb8b271c7 100644 --- a/l10n/de.js +++ b/l10n/de.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Ungültige UUID", "Success" : "Erfolgreich", "Invalid user or password" : "Ungültiger Benutzer oder Passwort", "_Element created with success_::_Elements created with success_" : ["Element erfolgreich erstellt","Elemente erfolgreich erstellt"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Element erfolgreich aktualisiert", "Visible element deleted" : "Angezeigtes Element gelöscht", "Settings saved" : "Einstellungen gespeichert", + "New password to sign documents has been created" : "Ein neues Passwort zum Signieren von Dokumenten wurde erstellt", "Name is mandatory" : "Name ist erforderlich", "Notification sent with success." : "Benachrichtigung erfolgreich gesendet.", "File signed" : "Datei unterschrieben", @@ -26,10 +28,12 @@ OC.L10N.register( "Invalid Sign engine." : "Ungültige Signier-Engine", "Digital signed by LibreSign." : "Digital signiert durch LibreSign.", "Validate in %s." : "Validieren in %s.", + "Invalid data to validate file" : "Ungültige Daten zum Überprüfen der Datei", "File type: %s. Empty file." : "Dateityp: %s. Leere Datei.", "Elements of type %s need file." : "Elemente von Typ %s benötigen eine Datei.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Dateityp: %s. Eine URL, Base64-Zeichenfolge oder fileID angeben.", "File type: %s. Invalid fileID." : "Dateityp: %s. Ungültige fileID.", + "User not found." : "Benutzer nicht gefunden.", "document to sign" : "Dokument zum Signieren", "visible element" : "Sichtbares Element", "File type: %s. Invalid base64 file." : "Dateityp: %s. Ungültige Base64-Datei.", @@ -56,7 +60,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Der Unterschriftsprozess wurde bereits gestartet. Es ist daher derzeit nicht möglich den Status zu ändern.", "Inform or UUID or a File object" : "Inform oder UUID oder ein Dateiobjekt", "No user data" : "Keine Nutzerdaten", - "User not found." : "Benutzer nicht gefunden.", "User %s has no email address." : "Benutzer %s hat keine E-Mail-Adresse", "Email required" : "E-Mail-Adresse erforderlich", "Invalid email" : "Ungültige E-Mail", @@ -64,7 +67,6 @@ OC.L10N.register( "No signature was requested to %s" : "Keine Unterschrift wurde zu %s angefragt", "%s already signed this file" : "%s hat diese Datei bereits signiert", "Invalid UUID file" : "Ungültige UUID Datei", - "Invalid UUID" : "Ungültige UUID", "Signer not associated to this file" : "Unterzeichner nicht dieser Datei zugeordnet", "A file of this type has been associated." : "Eine Datei dieses Typs wurde zugeordnet.", "File already signed." : "Datei bereits unterschrieben", @@ -84,7 +86,7 @@ OC.L10N.register( "Invalid URL file" : "Ungültige URL Datei", "Visible element file must be png." : "Dateien von sichtbaren Elementen müssen den Dateityp png haben", "Empty file" : "Leere Datei", - "Invalid data to validate file" : "Ungültige Daten zum Überprüfen der Datei", + "File is too big" : "Datei ist zu groß", "Invalid file identifier" : "Ungültiger Datei-Identifizierer", "You need to sign this document" : "Du musst dieses Dokument unterschreiben", "You cannot request signature for this document, please contact your administrator" : "Du kannst für dieses Dokument keine Signatur anfordern, bitte wende dich an Deinen Administrator", @@ -98,7 +100,6 @@ OC.L10N.register( "Email" : "E-Mail", "User already exists" : "Benutzer existiert bereits", "This is not your file" : "Dies ist nicht deine Datei", - "Password" : "Passwort", "Invalid password" : "Ungültiges Passwort", "LibreSign: Changes into a file for you to sign" : "LibreSign: Wechselt zu einer Datei, welche von dir signiert werden kann", "File to sign" : "Datei zum unterschreiben", @@ -131,6 +132,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, digitale Signatur-App für Nextcloud", "Authentication required" : "Authentifizierung benötigt", "This action requires you to confirm your password" : "Dieser Vorgang benötigt von dir eine Bestätigung deines Passworts", + "Password" : "Passwort", "Confirm" : "Bestätigen", "Incorrect password!" : "Falsches Passwort", "Text" : "Text", @@ -167,9 +169,8 @@ OC.L10N.register( "Request signatures?" : "Signaturen anfordern?", "Element created" : "Element erstellt", "Details" : "Details", - "Password & Security" : "Passwort & Sicherheit", - "Create password key" : "Passwort-Schlüssel erstellen", - "Reset password" : "Passwort zurücksetzen", + "Certificate" : "Zertifikat", + "Delete certificate" : "Zertifikat löschen", "Not sent yet" : "Noch nicht gesendet", "Not defined yet" : "Noch nicht definiert", "Select a file" : "Wähle eine Datei", @@ -190,7 +191,6 @@ OC.L10N.register( "Password Creation" : "Passworterstellung", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Aus Sicherheitsgründen musst du Passwort zum Signieren der Dokumente erstellen. Bitte gib dein neues Passwort in das untenstehende Feld ein.", "Enter a password" : "Passwort eingeben", - "New password to sign documents has been created" : "Ein neues Passwort zum Signieren von Dokumenten wurde erstellt", "Error creating new password, please contact the administrator" : "Es ist ein Fehler beim Erstellem des neune Passworts aufgetreten, bitte kontaktiere deinen Administrator.", "Create new subscription." : "Erstelle ein neues Abonnement", "Root certificate has not been configured by the Administrator!" : "Wurzelzertifikat wurde vom Administrator noch nicht konfiguriert!", @@ -217,12 +217,11 @@ OC.L10N.register( "Request Signatures" : "Signaturen anfordern", "Choose the file to request signatures." : "Datei auswählen, für die eine Signatur angefordert werden soll", "Choose from Files" : "Aus Dateien wählen", - "Enter the emails that will receive the request" : "E-Mail-Adressen wählen, die die Anforderung erhalten sollen", - "Signatures for this document have already been requested" : "Für dieses Dokument wurden bereits Signaturen angefordert", - "Add users" : "Benutzer hinzufügen", + "Send" : "Senden", "Select your file" : "Wähle deine Datei", "Password reset" : "Passwort zurücksetzen", "Enter new password and then repeat it" : "Gib ein neues Passwort ein und wiederhole es", + "Current password" : "Aktuelles Passwort", "New password" : "Neues Passwort", "Repeat password" : "Wiederhole Passwort", "Allow request to sign" : "Anforderung zum Signieren erlauben", @@ -235,7 +234,7 @@ OC.L10N.register( "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Ist diese Funktion aktiviert, speichert LibreSign beim Signieren eines Dokumentes die IP und den Benutzeragenten des Unterzeichners.", "Message" : "Nachricht", "Resource" : "Ressource", - "Advice" : "Ratschlag", + "Tip" : "Tipp", "Configuration check" : "Prüfung der Konfiguration", "Status of setup" : "Status der Einrichtung", "Customize default user folder" : "Standardbenutzerordner anpassen", @@ -260,9 +259,7 @@ OC.L10N.register( "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Stammzertifikat neu generieren macht alle Signaturschlüssel ungültig. Bestätigst du diese Aktion?", "Full name of the main company or main user of this instance" : "Vollständiger Name der Hauptfirma oder des Hauptbenutzers dieser Instanz", "Not mandatory, don't fill to use default value." : "Optional, nicht ausfüllen, wenn du den Standardwert verwenden möchtest.", - "Root certificate data." : "Daten für Root-Zertifikat.", "To generate new signatures, you must first generate the root certificate." : "Um neue Signaturen zu erzeugen, musst du zunächst das Stammzertifikat erzeugen.", - "Generate root certificate." : "Root-Zertifikat erstellen.", "Generating certificate." : "Erstelle Zertifikat.", "Could not generate certificate." : "Zertifikat konnte nicht erstellt werden.", "Generated certificate!" : "Zertifikat erstellt!", @@ -313,14 +310,19 @@ OC.L10N.register( "Validate File" : "Datei überprüfen", "Add visible signatures" : "Sichtbare Signaturen hinzufügen", "Are you sure you want to exclude user {email} from the request?" : "Bist du sicher, dass du den Benutzer {email} von der Anfrage ausschließen möchtest?", + "Password & Security" : "Passwort & Sicherheit", + "Create password key" : "Passwort-Schlüssel erstellen", + "Reset password" : "Passwort zurücksetzen", "Nothing to do" : "Nichts zu tun", "Validate Document" : "Dokument überprüfen", "Do you want to configure visible elements in this document?" : "Möchtest du sichtbare Elemente in diesem Dokument konfigurieren?", - "Collect signers metadata when sign a document" : "Metadaten von Unterzeichnern beim Signieren von Dokumenten sammeln", - "Collect signers metadata" : "Matadaten der Unterzeichner sammeln", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Ist diese Funktion aktiviert, speichert LibreSign jedes Mal, wenn ein Dokument signiert wird, die IP und den Benutzeragenten des Unterzeichners.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Um zu funktionieren sind Binärdateien erforderlich. Der Download dürfte ca. 340 MB betragen. Bitte warte einen Moment.", + "Enter the emails that will receive the request" : "E-Mail-Adressen wählen, die die Anforderung erhalten sollen", + "Signatures for this document have already been requested" : "Für dieses Dokument wurden bereits Signaturen angefordert", + "Add users" : "Benutzer hinzufügen", + "Advice" : "Ratschlag", "Define custom values to use CFSSL" : "Definiere benutzerdefinierte Werte zur Verwendung von CFSSL", + "Root certificate data." : "Daten für Root-Zertifikat.", + "Generate root certificate." : "Root-Zertifikat erstellen.", "Remove" : "Entfernen" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/de.json b/l10n/de.json index e48d6af6b8..71a987855b 100644 --- a/l10n/de.json +++ b/l10n/de.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Ungültige UUID", "Success" : "Erfolgreich", "Invalid user or password" : "Ungültiger Benutzer oder Passwort", "_Element created with success_::_Elements created with success_" : ["Element erfolgreich erstellt","Elemente erfolgreich erstellt"], @@ -7,6 +8,7 @@ "Element updated with success" : "Element erfolgreich aktualisiert", "Visible element deleted" : "Angezeigtes Element gelöscht", "Settings saved" : "Einstellungen gespeichert", + "New password to sign documents has been created" : "Ein neues Passwort zum Signieren von Dokumenten wurde erstellt", "Name is mandatory" : "Name ist erforderlich", "Notification sent with success." : "Benachrichtigung erfolgreich gesendet.", "File signed" : "Datei unterschrieben", @@ -24,10 +26,12 @@ "Invalid Sign engine." : "Ungültige Signier-Engine", "Digital signed by LibreSign." : "Digital signiert durch LibreSign.", "Validate in %s." : "Validieren in %s.", + "Invalid data to validate file" : "Ungültige Daten zum Überprüfen der Datei", "File type: %s. Empty file." : "Dateityp: %s. Leere Datei.", "Elements of type %s need file." : "Elemente von Typ %s benötigen eine Datei.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Dateityp: %s. Eine URL, Base64-Zeichenfolge oder fileID angeben.", "File type: %s. Invalid fileID." : "Dateityp: %s. Ungültige fileID.", + "User not found." : "Benutzer nicht gefunden.", "document to sign" : "Dokument zum Signieren", "visible element" : "Sichtbares Element", "File type: %s. Invalid base64 file." : "Dateityp: %s. Ungültige Base64-Datei.", @@ -54,7 +58,6 @@ "Sign process already started. Unable to change status." : "Der Unterschriftsprozess wurde bereits gestartet. Es ist daher derzeit nicht möglich den Status zu ändern.", "Inform or UUID or a File object" : "Inform oder UUID oder ein Dateiobjekt", "No user data" : "Keine Nutzerdaten", - "User not found." : "Benutzer nicht gefunden.", "User %s has no email address." : "Benutzer %s hat keine E-Mail-Adresse", "Email required" : "E-Mail-Adresse erforderlich", "Invalid email" : "Ungültige E-Mail", @@ -62,7 +65,6 @@ "No signature was requested to %s" : "Keine Unterschrift wurde zu %s angefragt", "%s already signed this file" : "%s hat diese Datei bereits signiert", "Invalid UUID file" : "Ungültige UUID Datei", - "Invalid UUID" : "Ungültige UUID", "Signer not associated to this file" : "Unterzeichner nicht dieser Datei zugeordnet", "A file of this type has been associated." : "Eine Datei dieses Typs wurde zugeordnet.", "File already signed." : "Datei bereits unterschrieben", @@ -82,7 +84,7 @@ "Invalid URL file" : "Ungültige URL Datei", "Visible element file must be png." : "Dateien von sichtbaren Elementen müssen den Dateityp png haben", "Empty file" : "Leere Datei", - "Invalid data to validate file" : "Ungültige Daten zum Überprüfen der Datei", + "File is too big" : "Datei ist zu groß", "Invalid file identifier" : "Ungültiger Datei-Identifizierer", "You need to sign this document" : "Du musst dieses Dokument unterschreiben", "You cannot request signature for this document, please contact your administrator" : "Du kannst für dieses Dokument keine Signatur anfordern, bitte wende dich an Deinen Administrator", @@ -96,7 +98,6 @@ "Email" : "E-Mail", "User already exists" : "Benutzer existiert bereits", "This is not your file" : "Dies ist nicht deine Datei", - "Password" : "Passwort", "Invalid password" : "Ungültiges Passwort", "LibreSign: Changes into a file for you to sign" : "LibreSign: Wechselt zu einer Datei, welche von dir signiert werden kann", "File to sign" : "Datei zum unterschreiben", @@ -129,6 +130,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, digitale Signatur-App für Nextcloud", "Authentication required" : "Authentifizierung benötigt", "This action requires you to confirm your password" : "Dieser Vorgang benötigt von dir eine Bestätigung deines Passworts", + "Password" : "Passwort", "Confirm" : "Bestätigen", "Incorrect password!" : "Falsches Passwort", "Text" : "Text", @@ -165,9 +167,8 @@ "Request signatures?" : "Signaturen anfordern?", "Element created" : "Element erstellt", "Details" : "Details", - "Password & Security" : "Passwort & Sicherheit", - "Create password key" : "Passwort-Schlüssel erstellen", - "Reset password" : "Passwort zurücksetzen", + "Certificate" : "Zertifikat", + "Delete certificate" : "Zertifikat löschen", "Not sent yet" : "Noch nicht gesendet", "Not defined yet" : "Noch nicht definiert", "Select a file" : "Wähle eine Datei", @@ -188,7 +189,6 @@ "Password Creation" : "Passworterstellung", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Aus Sicherheitsgründen musst du Passwort zum Signieren der Dokumente erstellen. Bitte gib dein neues Passwort in das untenstehende Feld ein.", "Enter a password" : "Passwort eingeben", - "New password to sign documents has been created" : "Ein neues Passwort zum Signieren von Dokumenten wurde erstellt", "Error creating new password, please contact the administrator" : "Es ist ein Fehler beim Erstellem des neune Passworts aufgetreten, bitte kontaktiere deinen Administrator.", "Create new subscription." : "Erstelle ein neues Abonnement", "Root certificate has not been configured by the Administrator!" : "Wurzelzertifikat wurde vom Administrator noch nicht konfiguriert!", @@ -215,12 +215,11 @@ "Request Signatures" : "Signaturen anfordern", "Choose the file to request signatures." : "Datei auswählen, für die eine Signatur angefordert werden soll", "Choose from Files" : "Aus Dateien wählen", - "Enter the emails that will receive the request" : "E-Mail-Adressen wählen, die die Anforderung erhalten sollen", - "Signatures for this document have already been requested" : "Für dieses Dokument wurden bereits Signaturen angefordert", - "Add users" : "Benutzer hinzufügen", + "Send" : "Senden", "Select your file" : "Wähle deine Datei", "Password reset" : "Passwort zurücksetzen", "Enter new password and then repeat it" : "Gib ein neues Passwort ein und wiederhole es", + "Current password" : "Aktuelles Passwort", "New password" : "Neues Passwort", "Repeat password" : "Wiederhole Passwort", "Allow request to sign" : "Anforderung zum Signieren erlauben", @@ -233,7 +232,7 @@ "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Ist diese Funktion aktiviert, speichert LibreSign beim Signieren eines Dokumentes die IP und den Benutzeragenten des Unterzeichners.", "Message" : "Nachricht", "Resource" : "Ressource", - "Advice" : "Ratschlag", + "Tip" : "Tipp", "Configuration check" : "Prüfung der Konfiguration", "Status of setup" : "Status der Einrichtung", "Customize default user folder" : "Standardbenutzerordner anpassen", @@ -258,9 +257,7 @@ "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Stammzertifikat neu generieren macht alle Signaturschlüssel ungültig. Bestätigst du diese Aktion?", "Full name of the main company or main user of this instance" : "Vollständiger Name der Hauptfirma oder des Hauptbenutzers dieser Instanz", "Not mandatory, don't fill to use default value." : "Optional, nicht ausfüllen, wenn du den Standardwert verwenden möchtest.", - "Root certificate data." : "Daten für Root-Zertifikat.", "To generate new signatures, you must first generate the root certificate." : "Um neue Signaturen zu erzeugen, musst du zunächst das Stammzertifikat erzeugen.", - "Generate root certificate." : "Root-Zertifikat erstellen.", "Generating certificate." : "Erstelle Zertifikat.", "Could not generate certificate." : "Zertifikat konnte nicht erstellt werden.", "Generated certificate!" : "Zertifikat erstellt!", @@ -311,14 +308,19 @@ "Validate File" : "Datei überprüfen", "Add visible signatures" : "Sichtbare Signaturen hinzufügen", "Are you sure you want to exclude user {email} from the request?" : "Bist du sicher, dass du den Benutzer {email} von der Anfrage ausschließen möchtest?", + "Password & Security" : "Passwort & Sicherheit", + "Create password key" : "Passwort-Schlüssel erstellen", + "Reset password" : "Passwort zurücksetzen", "Nothing to do" : "Nichts zu tun", "Validate Document" : "Dokument überprüfen", "Do you want to configure visible elements in this document?" : "Möchtest du sichtbare Elemente in diesem Dokument konfigurieren?", - "Collect signers metadata when sign a document" : "Metadaten von Unterzeichnern beim Signieren von Dokumenten sammeln", - "Collect signers metadata" : "Matadaten der Unterzeichner sammeln", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Ist diese Funktion aktiviert, speichert LibreSign jedes Mal, wenn ein Dokument signiert wird, die IP und den Benutzeragenten des Unterzeichners.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Um zu funktionieren sind Binärdateien erforderlich. Der Download dürfte ca. 340 MB betragen. Bitte warte einen Moment.", + "Enter the emails that will receive the request" : "E-Mail-Adressen wählen, die die Anforderung erhalten sollen", + "Signatures for this document have already been requested" : "Für dieses Dokument wurden bereits Signaturen angefordert", + "Add users" : "Benutzer hinzufügen", + "Advice" : "Ratschlag", "Define custom values to use CFSSL" : "Definiere benutzerdefinierte Werte zur Verwendung von CFSSL", + "Root certificate data." : "Daten für Root-Zertifikat.", + "Generate root certificate." : "Root-Zertifikat erstellen.", "Remove" : "Entfernen" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/de_DE.js b/l10n/de_DE.js index 5ac76ca708..375cf1be71 100644 --- a/l10n/de_DE.js +++ b/l10n/de_DE.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Ungültiges UUID", "Success" : "Erfolgreich", "Invalid user or password" : "Ungültiger Benutzername oder Passwort", "_Element created with success_::_Elements created with success_" : ["Element erfolgreich erstellt","Elemente erfolgreich erstellt"], @@ -9,6 +10,9 @@ OC.L10N.register( "Element updated with success" : "Element erfolgreich aktualisiert", "Visible element deleted" : "Angezeigtes Element gelöscht", "Settings saved" : "Einstellungen gespeichert", + "Certificate file deleted with success." : "Zertifikatdatei erfolgreich gelöscht.", + "Certificate file saved with success." : "Zertifikatdatei erfolgreich gespeichert.", + "New password to sign documents has been created" : "Neues Passwort zum Signieren von Dokumenten erstellt", "Name is mandatory" : "Name ist erforderlich", "Notification sent with success." : "Benachrichtigung erfolgreich versandt.", "File signed" : "Datei signiert", @@ -28,10 +32,13 @@ OC.L10N.register( "Invalid Sign engine." : "Ungültige Signier-Engine.", "Digital signed by LibreSign." : "Digital signiert durch LibreSign.", "Validate in %s." : "Validieren in %s.", + "Invalid data to validate file" : "Ungültige Daten zum Überprüfen der Datei", "File type: %s. Empty file." : "Dateityp: %s. Leere Datei.", "Elements of type %s need file." : "Elemente von Typ %s benötigen eine Datei.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Dateityp: %s. Eine URL, Base64-Zeichenfolge oder Datei-ID angeben.", "File type: %s. Invalid fileID." : "Dateityp: %s. Ungültige Datei-ID.", + "User not found." : "Konto nicht gefunden.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Dateityp: %s. Geben Sie eine URL, einen base64 string, Pfad oder eine fileID an.", "document to sign" : "Dokument zum Signieren", "visible element" : "Sichtbares Element", "File type: %s. Invalid base64 file." : "Dateityp: %s. Ungültige Base64-Datei.", @@ -58,7 +65,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Signaturprozess bereits gestartet. Status kann nicht geändert werden.", "Inform or UUID or a File object" : "Inform oder UUID oder ein Dateiobjekt", "No user data" : "Keine Nutzerdaten", - "User not found." : "Konto nicht gefunden.", "User %s has no email address." : "Benutzer %s hat keine E-Mail-Adresse.", "Email required" : "E-Mail-Adresse erforderlich", "Invalid email" : "Ungültige E-Mail-Adresse", @@ -66,7 +72,6 @@ OC.L10N.register( "No signature was requested to %s" : "Für %s wurde keine Signatur angefordert", "%s already signed this file" : "%s hat diese Datei bereits signiert", "Invalid UUID file" : "Ungültige UUID-Datei", - "Invalid UUID" : "Ungültiges UUID", "Signer not associated to this file" : "Unterzeichner ist nicht mit dieser Datei verbunden", "A file of this type has been associated." : "Eine Datei dieses Typs wurde verknüpft.", "Empty identify data." : "Leere Identifikationsdaten.", @@ -89,7 +94,9 @@ OC.L10N.register( "Invalid URL file" : "Ungültige URL-Datei", "Visible element file must be png." : "Angezeigtes Element gelöscht", "Empty file" : "Leere Datei", - "Invalid data to validate file" : "Ungültige Daten zum Überprüfen der Datei", + "No certificate file provided" : "Keine Zertifikatsdatei bereitgestellt", + "Invalid file provided. Need to be a .pfx file." : "Ungültige Datei bereitgestellt. PFX-Datei erforderlich.", + "File is too big" : "Datei ist zu groß", "Invalid file identifier" : "Ungültiger Datei-Identifizierer", "You need to sign this document" : "Sie müssen dieses Dokument unterschreiben", "You cannot request signature for this document, please contact your administrator" : "Sie können für dieses Dokument keine Signatur anfordern, bitte wenden Sie sich an Ihre Administration", @@ -104,7 +111,7 @@ OC.L10N.register( "Email" : "E-Mail-Adresse", "User already exists" : "Benutzer existiert bereits", "This is not your file" : "Dies ist nicht Ihre Datei", - "Password" : "Passwort", + "Certificate with password" : "Zertifikat mit Passwort", "Invalid password" : "Ungültiges Passwort", "LibreSign: Changes into a file for you to sign" : "LibreSign: Wechselt zu einer Datei, welche von Ihnen signiert werden soll", "File to sign" : "Datei zum Signieren", @@ -141,6 +148,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, Digital-Signatur-App für Nextcloud", "Authentication required" : "Authentifizierung erforderlich", "This action requires you to confirm your password" : "Dieser Vorgang benötigt eine Passwortbestätigung von Ihnen", + "Password" : "Passwort", "Confirm" : "Bestätigen", "Incorrect password!" : "Falsches Passwort!", "Text" : "Text", @@ -156,6 +164,7 @@ OC.L10N.register( "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Benutzen Sie Ihr Mausrad, um das Bild zu vergrößern oder zu verkleinern und die beste Ansicht Ihrer Unterschrift zu finden.", "Enter your Full Name or Initials to create Signature" : "Geben Sie Ihren vollständigen Namen oder Initialen ein um die Signatur zu erstellen", "Requested by {name}, at {date}" : "Angefordert von {name}, am {date}", + "Enter who will receive the request" : "Geben Sie ein, wer die Anfrage erhalten soll", "Signatures" : "Signaturen", "Search signer by account" : "Unterzeichner über Konto suchen", "Name" : "Name", @@ -183,10 +192,13 @@ OC.L10N.register( "Sign" : "Signieren", "Request signatures?" : "Signaturen anfordern?", "Element created" : "Element erstellt", + "signed at {date}" : "Unterzeichnet am {date}", "Details" : "Details", - "Password & Security" : "Passwort & Sicherheit", - "Create password key" : "Passwort-Schlüssel erstellen", - "Reset password" : "Passwort zurücksetzen", + "Certificate" : "Zertifikat", + "Upload certificate" : "Zertifikat hochladen", + "Delete certificate" : "Zertifikat löschen", + "Create certificate" : "Zertifikat erstellen", + "Change password" : "Passwort ändern", "Not sent yet" : "Noch nicht gesendet", "Not defined yet" : "Noch nicht definiert", "Select a file" : "Datei auswählen", @@ -207,7 +219,6 @@ OC.L10N.register( "Password Creation" : "Passworterstellung", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Aus Sicherheitsgründen müssen Sie ein Passwort zum Signieren der Dokumente erstellen. Bitte geben Sie Ihr neues Passwort in das untenstehende Feld ein.", "Enter a password" : "Passwort eingeben", - "New password to sign documents has been created" : "Neues Passwort zum Signieren von Dokumenten erstellt", "Error creating new password, please contact the administrator" : "Fehler beim Erstellen eines neuen Passwortes. Bitte kontaktieren Sie Ihren Administrator.", "Create new subscription." : "Neues Abonnement erstellen.", "Root certificate has not been configured by the Administrator!" : "Root-Zertifikat wurde vom Administrator noch nicht konfiguriert!", @@ -235,13 +246,14 @@ OC.L10N.register( "The admin hasn't set up LibreSign yet, please wait." : "Die Administration hat bislang Libresign noch nicht eingerichtet. Bitte warten.", "Request Signatures" : "Signaturen anfordern", "Choose the file to request signatures." : "Datei auswählen, für die eine Signatur angefordert werden soll", + "Upload from URL" : "Hochladen von URL", "Choose from Files" : "Aus Dateien wählen", - "Enter the emails that will receive the request" : "E-Mail-Adressen wählen, die die Anforderung erhalten sollen", - "Signatures for this document have already been requested" : "Für dieses Dokument wurden bereits Signaturen angefordert", - "Add users" : "Benutzer hinzufügen", + "URL of a PDF file" : "URL einer PDF-Datei", + "Send" : "Senden", "Select your file" : "Wählen Sie Ihre Datei", "Password reset" : "Passwort zurücksetzen", "Enter new password and then repeat it" : "Geben Sie ein neues Passwort ein und wiederholen Sie es", + "Current password" : "Aktuelles Passwort", "New password" : "Neues Passwort", "Repeat password" : "Passwort wiederholen", "Allow request to sign" : "Anforderung zum Signieren zulassen", @@ -252,12 +264,13 @@ OC.L10N.register( "Certificate engine" : "Zertifikats-Engine", "Certificate engine to generate the root certificate" : "Zertifikats-Engine zum Erstellen des Stammzertifikats", "Select the certificate engine to generate the root certificate" : "Zertifikats-Engine zum Erstellen des Stammzertifikats auswählen", + "I will not use root certificate" : "Ich möchte kein Wurzelzertifikat verwenden", "Collect signers' metadata when signing a document" : "Metadaten der Unterzeichner beim Signieren von Dokumenten sammeln", "Collect signers' metadata" : "Metadaten der Unterzeichner sammeln", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Ist diese Funktion aktiviert, speichert LibreSign beim Signieren eines Dokumentes die IP und den Benutzeragenten des Unterzeichners.", "Message" : "Nachricht", "Resource" : "Ressource", - "Advice" : "Ratschlag", + "Tip" : "Tipp", "Configuration check" : "Prüfung der Konfiguration", "Status of setup" : "Status der Einrichtung", "Customize default user folder" : "Standardbenutzerordner anpassen", @@ -276,6 +289,8 @@ OC.L10N.register( "Allow account creation for new users" : "Kontoerstellung für neue Benutzer zulassen", "Allows sending registration email when the user does not have an account." : "Versendung einer Registrierungs-E-Mail zulassen, wenn der Benutzer noch kein Konto hat.", "Default signature method" : "Standard-Signaturmethode", + "Identify factors" : "Identifizierungsfaktoren", + "Ways to identify a person who will sign a document." : "Möglichkeiten eine Person zu identifizieren, die ein Dokument signieren soll", "Legal Information" : "Rechtliche Informationen", "Legal information" : "Rechtliche Informationen", "This information will appear on the validation page" : "Diese Informationen werden auf der Überprüfungsseite angezeigt", @@ -287,12 +302,13 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "Vollständiger Name der Hauptfirma oder des Hauptbenutzers dieser Instanz", "Define custom values to use {engine}" : "Benutzerdefinierte Werte zur Verwendung von {engine} festlegen", "Not mandatory, don't fill to use default value." : "Nicht obligatorisch, nicht ausfüllen, um den Standardwert zu verwenden.", - "Root certificate data." : "Daten für Root-Zertifikat.", + "Root certificate data" : "Wurzelzertifikatsdaten", "To generate new signatures, you must first generate the root certificate." : "Um neue Signaturen zu erstellen müssen Sie zunächst ein Root-Zertifikat erstellen.", - "Generate root certificate." : "Root-Zertifikat erstellen.", + "Generate root certificate" : "Wurzelzertifikat erstellen", "Generating certificate." : "Erstelle Zertifikat.", "Could not generate certificate." : "Zertifikat konnte nicht erstellt werden.", "Generated certificate!" : "Zertifikat wurde erstellt", + "Make validation URL acessible only by authenticated users" : "Machen Sie die Validierungs-URL nur für authentifizierte Benutzer zugänglich", "Add visible footer with signature details" : "Sichtbare Fußzeile mit Unterschriftsdetails hinzufügen", "Write QR code on footer with validation URL" : "QR-Code mit Validierungs-URL in die Fußzeile schreiben", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "Um die Signatur der Dokumente zu prüfen. Ändern Sie diesen Wert nur, wenn Sie die Standard-Überprüfungs-URL durch eine andere ersetzen möchten.", @@ -340,14 +356,19 @@ OC.L10N.register( "Validate File" : "Datei überprüfen", "Add visible signatures" : "Sichtbare Signaturen hinzufügen", "Are you sure you want to exclude user {email} from the request?" : "Sind Sie sicher, dass Sie den Benutzer {email} von der Anfrage ausschließen möchten?", + "Password & Security" : "Passwort & Sicherheit", + "Create password key" : "Passwort-Schlüssel erstellen", + "Reset password" : "Passwort zurücksetzen", "Nothing to do" : "Nichts zu tun", "Validate Document" : "Dokument überprüfen", "Do you want to configure visible elements in this document?" : "Möchten Sie sichtbare Elemente in diesem Dokument konfigurieren?", - "Collect signers metadata when sign a document" : "Metadaten von Unterzeichnern beim Signieren von Dokumenten sammeln", - "Collect signers metadata" : "Metadaten der Unterzeichner sammeln", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Ist diese Funktion aktiviert, speichert LibreSign jedes Mal, wenn ein Dokument signiert wird, die IP und den Benutzeragenten des Unterzeichners.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Um zu funktionieren sind Binärdateien erforderlich. Der Download dürfte ca. 340 MB betragen. Bitte warten Sie einen Moment.", + "Enter the emails that will receive the request" : "E-Mail-Adressen wählen, die die Anforderung erhalten sollen", + "Signatures for this document have already been requested" : "Für dieses Dokument wurden bereits Signaturen angefordert", + "Add users" : "Benutzer hinzufügen", + "Advice" : "Ratschlag", "Define custom values to use CFSSL" : "Definieren Sie benutzerdefinierte Werte zur Verwendung von CFSSL", + "Root certificate data." : "Daten für Root-Zertifikat.", + "Generate root certificate." : "Root-Zertifikat erstellen.", "Remove" : "Entfernen" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/de_DE.json b/l10n/de_DE.json index 67868f8a15..b2f0aeda2b 100644 --- a/l10n/de_DE.json +++ b/l10n/de_DE.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Ungültiges UUID", "Success" : "Erfolgreich", "Invalid user or password" : "Ungültiger Benutzername oder Passwort", "_Element created with success_::_Elements created with success_" : ["Element erfolgreich erstellt","Elemente erfolgreich erstellt"], @@ -7,6 +8,9 @@ "Element updated with success" : "Element erfolgreich aktualisiert", "Visible element deleted" : "Angezeigtes Element gelöscht", "Settings saved" : "Einstellungen gespeichert", + "Certificate file deleted with success." : "Zertifikatdatei erfolgreich gelöscht.", + "Certificate file saved with success." : "Zertifikatdatei erfolgreich gespeichert.", + "New password to sign documents has been created" : "Neues Passwort zum Signieren von Dokumenten erstellt", "Name is mandatory" : "Name ist erforderlich", "Notification sent with success." : "Benachrichtigung erfolgreich versandt.", "File signed" : "Datei signiert", @@ -26,10 +30,13 @@ "Invalid Sign engine." : "Ungültige Signier-Engine.", "Digital signed by LibreSign." : "Digital signiert durch LibreSign.", "Validate in %s." : "Validieren in %s.", + "Invalid data to validate file" : "Ungültige Daten zum Überprüfen der Datei", "File type: %s. Empty file." : "Dateityp: %s. Leere Datei.", "Elements of type %s need file." : "Elemente von Typ %s benötigen eine Datei.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Dateityp: %s. Eine URL, Base64-Zeichenfolge oder Datei-ID angeben.", "File type: %s. Invalid fileID." : "Dateityp: %s. Ungültige Datei-ID.", + "User not found." : "Konto nicht gefunden.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Dateityp: %s. Geben Sie eine URL, einen base64 string, Pfad oder eine fileID an.", "document to sign" : "Dokument zum Signieren", "visible element" : "Sichtbares Element", "File type: %s. Invalid base64 file." : "Dateityp: %s. Ungültige Base64-Datei.", @@ -56,7 +63,6 @@ "Sign process already started. Unable to change status." : "Signaturprozess bereits gestartet. Status kann nicht geändert werden.", "Inform or UUID or a File object" : "Inform oder UUID oder ein Dateiobjekt", "No user data" : "Keine Nutzerdaten", - "User not found." : "Konto nicht gefunden.", "User %s has no email address." : "Benutzer %s hat keine E-Mail-Adresse.", "Email required" : "E-Mail-Adresse erforderlich", "Invalid email" : "Ungültige E-Mail-Adresse", @@ -64,7 +70,6 @@ "No signature was requested to %s" : "Für %s wurde keine Signatur angefordert", "%s already signed this file" : "%s hat diese Datei bereits signiert", "Invalid UUID file" : "Ungültige UUID-Datei", - "Invalid UUID" : "Ungültiges UUID", "Signer not associated to this file" : "Unterzeichner ist nicht mit dieser Datei verbunden", "A file of this type has been associated." : "Eine Datei dieses Typs wurde verknüpft.", "Empty identify data." : "Leere Identifikationsdaten.", @@ -87,7 +92,9 @@ "Invalid URL file" : "Ungültige URL-Datei", "Visible element file must be png." : "Angezeigtes Element gelöscht", "Empty file" : "Leere Datei", - "Invalid data to validate file" : "Ungültige Daten zum Überprüfen der Datei", + "No certificate file provided" : "Keine Zertifikatsdatei bereitgestellt", + "Invalid file provided. Need to be a .pfx file." : "Ungültige Datei bereitgestellt. PFX-Datei erforderlich.", + "File is too big" : "Datei ist zu groß", "Invalid file identifier" : "Ungültiger Datei-Identifizierer", "You need to sign this document" : "Sie müssen dieses Dokument unterschreiben", "You cannot request signature for this document, please contact your administrator" : "Sie können für dieses Dokument keine Signatur anfordern, bitte wenden Sie sich an Ihre Administration", @@ -102,7 +109,7 @@ "Email" : "E-Mail-Adresse", "User already exists" : "Benutzer existiert bereits", "This is not your file" : "Dies ist nicht Ihre Datei", - "Password" : "Passwort", + "Certificate with password" : "Zertifikat mit Passwort", "Invalid password" : "Ungültiges Passwort", "LibreSign: Changes into a file for you to sign" : "LibreSign: Wechselt zu einer Datei, welche von Ihnen signiert werden soll", "File to sign" : "Datei zum Signieren", @@ -139,6 +146,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, Digital-Signatur-App für Nextcloud", "Authentication required" : "Authentifizierung erforderlich", "This action requires you to confirm your password" : "Dieser Vorgang benötigt eine Passwortbestätigung von Ihnen", + "Password" : "Passwort", "Confirm" : "Bestätigen", "Incorrect password!" : "Falsches Passwort!", "Text" : "Text", @@ -154,6 +162,7 @@ "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Benutzen Sie Ihr Mausrad, um das Bild zu vergrößern oder zu verkleinern und die beste Ansicht Ihrer Unterschrift zu finden.", "Enter your Full Name or Initials to create Signature" : "Geben Sie Ihren vollständigen Namen oder Initialen ein um die Signatur zu erstellen", "Requested by {name}, at {date}" : "Angefordert von {name}, am {date}", + "Enter who will receive the request" : "Geben Sie ein, wer die Anfrage erhalten soll", "Signatures" : "Signaturen", "Search signer by account" : "Unterzeichner über Konto suchen", "Name" : "Name", @@ -181,10 +190,13 @@ "Sign" : "Signieren", "Request signatures?" : "Signaturen anfordern?", "Element created" : "Element erstellt", + "signed at {date}" : "Unterzeichnet am {date}", "Details" : "Details", - "Password & Security" : "Passwort & Sicherheit", - "Create password key" : "Passwort-Schlüssel erstellen", - "Reset password" : "Passwort zurücksetzen", + "Certificate" : "Zertifikat", + "Upload certificate" : "Zertifikat hochladen", + "Delete certificate" : "Zertifikat löschen", + "Create certificate" : "Zertifikat erstellen", + "Change password" : "Passwort ändern", "Not sent yet" : "Noch nicht gesendet", "Not defined yet" : "Noch nicht definiert", "Select a file" : "Datei auswählen", @@ -205,7 +217,6 @@ "Password Creation" : "Passworterstellung", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Aus Sicherheitsgründen müssen Sie ein Passwort zum Signieren der Dokumente erstellen. Bitte geben Sie Ihr neues Passwort in das untenstehende Feld ein.", "Enter a password" : "Passwort eingeben", - "New password to sign documents has been created" : "Neues Passwort zum Signieren von Dokumenten erstellt", "Error creating new password, please contact the administrator" : "Fehler beim Erstellen eines neuen Passwortes. Bitte kontaktieren Sie Ihren Administrator.", "Create new subscription." : "Neues Abonnement erstellen.", "Root certificate has not been configured by the Administrator!" : "Root-Zertifikat wurde vom Administrator noch nicht konfiguriert!", @@ -233,13 +244,14 @@ "The admin hasn't set up LibreSign yet, please wait." : "Die Administration hat bislang Libresign noch nicht eingerichtet. Bitte warten.", "Request Signatures" : "Signaturen anfordern", "Choose the file to request signatures." : "Datei auswählen, für die eine Signatur angefordert werden soll", + "Upload from URL" : "Hochladen von URL", "Choose from Files" : "Aus Dateien wählen", - "Enter the emails that will receive the request" : "E-Mail-Adressen wählen, die die Anforderung erhalten sollen", - "Signatures for this document have already been requested" : "Für dieses Dokument wurden bereits Signaturen angefordert", - "Add users" : "Benutzer hinzufügen", + "URL of a PDF file" : "URL einer PDF-Datei", + "Send" : "Senden", "Select your file" : "Wählen Sie Ihre Datei", "Password reset" : "Passwort zurücksetzen", "Enter new password and then repeat it" : "Geben Sie ein neues Passwort ein und wiederholen Sie es", + "Current password" : "Aktuelles Passwort", "New password" : "Neues Passwort", "Repeat password" : "Passwort wiederholen", "Allow request to sign" : "Anforderung zum Signieren zulassen", @@ -250,12 +262,13 @@ "Certificate engine" : "Zertifikats-Engine", "Certificate engine to generate the root certificate" : "Zertifikats-Engine zum Erstellen des Stammzertifikats", "Select the certificate engine to generate the root certificate" : "Zertifikats-Engine zum Erstellen des Stammzertifikats auswählen", + "I will not use root certificate" : "Ich möchte kein Wurzelzertifikat verwenden", "Collect signers' metadata when signing a document" : "Metadaten der Unterzeichner beim Signieren von Dokumenten sammeln", "Collect signers' metadata" : "Metadaten der Unterzeichner sammeln", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Ist diese Funktion aktiviert, speichert LibreSign beim Signieren eines Dokumentes die IP und den Benutzeragenten des Unterzeichners.", "Message" : "Nachricht", "Resource" : "Ressource", - "Advice" : "Ratschlag", + "Tip" : "Tipp", "Configuration check" : "Prüfung der Konfiguration", "Status of setup" : "Status der Einrichtung", "Customize default user folder" : "Standardbenutzerordner anpassen", @@ -274,6 +287,8 @@ "Allow account creation for new users" : "Kontoerstellung für neue Benutzer zulassen", "Allows sending registration email when the user does not have an account." : "Versendung einer Registrierungs-E-Mail zulassen, wenn der Benutzer noch kein Konto hat.", "Default signature method" : "Standard-Signaturmethode", + "Identify factors" : "Identifizierungsfaktoren", + "Ways to identify a person who will sign a document." : "Möglichkeiten eine Person zu identifizieren, die ein Dokument signieren soll", "Legal Information" : "Rechtliche Informationen", "Legal information" : "Rechtliche Informationen", "This information will appear on the validation page" : "Diese Informationen werden auf der Überprüfungsseite angezeigt", @@ -285,12 +300,13 @@ "Full name of the main company or main user of this instance" : "Vollständiger Name der Hauptfirma oder des Hauptbenutzers dieser Instanz", "Define custom values to use {engine}" : "Benutzerdefinierte Werte zur Verwendung von {engine} festlegen", "Not mandatory, don't fill to use default value." : "Nicht obligatorisch, nicht ausfüllen, um den Standardwert zu verwenden.", - "Root certificate data." : "Daten für Root-Zertifikat.", + "Root certificate data" : "Wurzelzertifikatsdaten", "To generate new signatures, you must first generate the root certificate." : "Um neue Signaturen zu erstellen müssen Sie zunächst ein Root-Zertifikat erstellen.", - "Generate root certificate." : "Root-Zertifikat erstellen.", + "Generate root certificate" : "Wurzelzertifikat erstellen", "Generating certificate." : "Erstelle Zertifikat.", "Could not generate certificate." : "Zertifikat konnte nicht erstellt werden.", "Generated certificate!" : "Zertifikat wurde erstellt", + "Make validation URL acessible only by authenticated users" : "Machen Sie die Validierungs-URL nur für authentifizierte Benutzer zugänglich", "Add visible footer with signature details" : "Sichtbare Fußzeile mit Unterschriftsdetails hinzufügen", "Write QR code on footer with validation URL" : "QR-Code mit Validierungs-URL in die Fußzeile schreiben", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "Um die Signatur der Dokumente zu prüfen. Ändern Sie diesen Wert nur, wenn Sie die Standard-Überprüfungs-URL durch eine andere ersetzen möchten.", @@ -338,14 +354,19 @@ "Validate File" : "Datei überprüfen", "Add visible signatures" : "Sichtbare Signaturen hinzufügen", "Are you sure you want to exclude user {email} from the request?" : "Sind Sie sicher, dass Sie den Benutzer {email} von der Anfrage ausschließen möchten?", + "Password & Security" : "Passwort & Sicherheit", + "Create password key" : "Passwort-Schlüssel erstellen", + "Reset password" : "Passwort zurücksetzen", "Nothing to do" : "Nichts zu tun", "Validate Document" : "Dokument überprüfen", "Do you want to configure visible elements in this document?" : "Möchten Sie sichtbare Elemente in diesem Dokument konfigurieren?", - "Collect signers metadata when sign a document" : "Metadaten von Unterzeichnern beim Signieren von Dokumenten sammeln", - "Collect signers metadata" : "Metadaten der Unterzeichner sammeln", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Ist diese Funktion aktiviert, speichert LibreSign jedes Mal, wenn ein Dokument signiert wird, die IP und den Benutzeragenten des Unterzeichners.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Um zu funktionieren sind Binärdateien erforderlich. Der Download dürfte ca. 340 MB betragen. Bitte warten Sie einen Moment.", + "Enter the emails that will receive the request" : "E-Mail-Adressen wählen, die die Anforderung erhalten sollen", + "Signatures for this document have already been requested" : "Für dieses Dokument wurden bereits Signaturen angefordert", + "Add users" : "Benutzer hinzufügen", + "Advice" : "Ratschlag", "Define custom values to use CFSSL" : "Definieren Sie benutzerdefinierte Werte zur Verwendung von CFSSL", + "Root certificate data." : "Daten für Root-Zertifikat.", + "Generate root certificate." : "Root-Zertifikat erstellen.", "Remove" : "Entfernen" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/el.js b/l10n/el.js index fa0da41e9a..41645632f2 100644 --- a/l10n/el.js +++ b/l10n/el.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Μη έγκυρο UUID", "Success" : "Επιτυχής", "Invalid user or password" : "Μη έγκυρος χρήστης ή συνθηματικό", "_Element created with success_::_Elements created with success_" : ["Στοιχεία δημιουργήθηκαν με επιτυχία","Στοιχεία δημιουργήθηκαν με επιτυχία"], @@ -14,7 +15,6 @@ OC.L10N.register( "document to sign" : "Έγγραφο προς υπογραφή ", "Invalid email" : "Μη έγκυρο email", "File not loaded" : "Το αρχείο δεν φορτώθηκε", - "Invalid UUID" : "Μη έγκυρο UUID", "File sharing" : "Διαμοιρασμός αρχείων", "View" : "Προβολή", "UUID not found" : "Δε βρέθηκε το UUID", @@ -22,12 +22,12 @@ OC.L10N.register( "File not found" : "Δε βρέθηκε το αρχείο", "File already exists" : "Το αρχείο υπάρχει", "Empty file" : "Κενό αρχείο", + "File is too big" : "Το αρχείο είναι πολύ μεγάλο", "Account" : "Λογαριασμός", "Invalid user" : "Μη έγκυρος χρήστης", "Email" : "Email", "User already exists" : "Ο χρήστης υπάρχει ήδη", "This is not your file" : "Αυτό δεν είναι το αρχείο σας", - "Password" : "Συνθηματικό", "Invalid password" : "Λανθασμένο συνθηματικό", "Sign »%s«" : "Υπογραφή »%s«", "Invalid PDF" : "Μη έγκυρο PDF", @@ -37,6 +37,7 @@ OC.L10N.register( "Settings" : "Ρυθμίσεις", "Authentication required" : "Απαιτείται πιστοποίηση", "This action requires you to confirm your password" : "Για την ενέργεια αυτή απαιτείται η επιβεβαίωση του συνθηματικού σας", + "Password" : "Συνθηματικό", "Confirm" : "Επιβεβαίωση", "Incorrect password!" : "Εσφαλμένο συνθηματικό!", "Text" : "Κείμενο", @@ -59,7 +60,8 @@ OC.L10N.register( "Previous" : "Προηγούμενο", "Sign" : "Υπογραφή", "Details" : "Λεπτομέρειες", - "Reset password" : "Επαναφορά συνθηματικού", + "Certificate" : "Πιστοποιητικό", + "Change password" : "Αλλαγή συνθηματικού", "Select a file" : "Select a file", "Type" : "Τύπος", "Status" : "Κατάσταση", @@ -75,10 +77,11 @@ OC.L10N.register( "Page not found" : "Δεν βρέθηκε η σελίδα", "Generate Subscription." : "Δημιουργία συνδρομής.", "Choose from Files" : "Επιλέξτε από τα Αρχεία", - "Add users" : "Προσθήκη χρηστών", + "Send" : "Αποστολή", "Select your file" : "Επιλογή αρχείου σας", "Password reset" : "Επαναφορά κωδικού", "Enter new password and then repeat it" : "Εισάγετε νέο συνθηματικό και μετά επαναλάβετέ το", + "Current password" : "Τρέχον συνθηματικό", "New password" : "Νέο συνθηματικό", "Repeat password" : "Επανάληψη συνθηματικού", "Message" : "Μήνυμα", @@ -97,6 +100,8 @@ OC.L10N.register( "Validation" : "Επικύρωση", "No date" : "Καμία ημερομηνία", "User created!" : "Ο χρήστης δημιουργήθηκε!", + "Reset password" : "Επαναφορά συνθηματικού", + "Add users" : "Προσθήκη χρηστών", "Remove" : "Αφαίρεση" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/el.json b/l10n/el.json index b3385f9820..33a642f183 100644 --- a/l10n/el.json +++ b/l10n/el.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Μη έγκυρο UUID", "Success" : "Επιτυχής", "Invalid user or password" : "Μη έγκυρος χρήστης ή συνθηματικό", "_Element created with success_::_Elements created with success_" : ["Στοιχεία δημιουργήθηκαν με επιτυχία","Στοιχεία δημιουργήθηκαν με επιτυχία"], @@ -12,7 +13,6 @@ "document to sign" : "Έγγραφο προς υπογραφή ", "Invalid email" : "Μη έγκυρο email", "File not loaded" : "Το αρχείο δεν φορτώθηκε", - "Invalid UUID" : "Μη έγκυρο UUID", "File sharing" : "Διαμοιρασμός αρχείων", "View" : "Προβολή", "UUID not found" : "Δε βρέθηκε το UUID", @@ -20,12 +20,12 @@ "File not found" : "Δε βρέθηκε το αρχείο", "File already exists" : "Το αρχείο υπάρχει", "Empty file" : "Κενό αρχείο", + "File is too big" : "Το αρχείο είναι πολύ μεγάλο", "Account" : "Λογαριασμός", "Invalid user" : "Μη έγκυρος χρήστης", "Email" : "Email", "User already exists" : "Ο χρήστης υπάρχει ήδη", "This is not your file" : "Αυτό δεν είναι το αρχείο σας", - "Password" : "Συνθηματικό", "Invalid password" : "Λανθασμένο συνθηματικό", "Sign »%s«" : "Υπογραφή »%s«", "Invalid PDF" : "Μη έγκυρο PDF", @@ -35,6 +35,7 @@ "Settings" : "Ρυθμίσεις", "Authentication required" : "Απαιτείται πιστοποίηση", "This action requires you to confirm your password" : "Για την ενέργεια αυτή απαιτείται η επιβεβαίωση του συνθηματικού σας", + "Password" : "Συνθηματικό", "Confirm" : "Επιβεβαίωση", "Incorrect password!" : "Εσφαλμένο συνθηματικό!", "Text" : "Κείμενο", @@ -57,7 +58,8 @@ "Previous" : "Προηγούμενο", "Sign" : "Υπογραφή", "Details" : "Λεπτομέρειες", - "Reset password" : "Επαναφορά συνθηματικού", + "Certificate" : "Πιστοποιητικό", + "Change password" : "Αλλαγή συνθηματικού", "Select a file" : "Select a file", "Type" : "Τύπος", "Status" : "Κατάσταση", @@ -73,10 +75,11 @@ "Page not found" : "Δεν βρέθηκε η σελίδα", "Generate Subscription." : "Δημιουργία συνδρομής.", "Choose from Files" : "Επιλέξτε από τα Αρχεία", - "Add users" : "Προσθήκη χρηστών", + "Send" : "Αποστολή", "Select your file" : "Επιλογή αρχείου σας", "Password reset" : "Επαναφορά κωδικού", "Enter new password and then repeat it" : "Εισάγετε νέο συνθηματικό και μετά επαναλάβετέ το", + "Current password" : "Τρέχον συνθηματικό", "New password" : "Νέο συνθηματικό", "Repeat password" : "Επανάληψη συνθηματικού", "Message" : "Μήνυμα", @@ -95,6 +98,8 @@ "Validation" : "Επικύρωση", "No date" : "Καμία ημερομηνία", "User created!" : "Ο χρήστης δημιουργήθηκε!", + "Reset password" : "Επαναφορά συνθηματικού", + "Add users" : "Προσθήκη χρηστών", "Remove" : "Αφαίρεση" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/en_GB.js b/l10n/en_GB.js index dde8f777a4..e53a90be99 100644 --- a/l10n/en_GB.js +++ b/l10n/en_GB.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Invalid UUID", "Success" : "Success", "Invalid user or password" : "Invalid user or password", "_Element created with success_::_Elements created with success_" : ["Element created with success","Elements created with success"], @@ -9,6 +10,9 @@ OC.L10N.register( "Element updated with success" : "Element updated with success", "Visible element deleted" : "Visible element deleted", "Settings saved" : "Settings saved", + "Certificate file deleted with success." : "Certificate file deleted with success.", + "Certificate file saved with success." : "Certificate file saved with success.", + "New password to sign documents has been created" : "New password to sign documents has been created", "Name is mandatory" : "Name is mandatory", "Notification sent with success." : "Notification sent with success.", "File signed" : "File signed", @@ -28,10 +32,13 @@ OC.L10N.register( "Invalid Sign engine." : "Invalid Sign engine.", "Digital signed by LibreSign." : "Digital signed by LibreSign.", "Validate in %s." : "Validate in %s.", + "Invalid data to validate file" : "Invalid data to validate file", "File type: %s. Empty file." : "File type: %s. Empty file.", "Elements of type %s need file." : "Elements of type %s need file.", "File type: %s. Specify a URL, a base64 string or a fileID." : "File type: %s. Specify a URL, a base64 string or a fileID.", "File type: %s. Invalid fileID." : "File type: %s. Invalid fileID.", + "User not found." : "User not found.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "File type: %s. Specify a URL, base64 string, path or a fileID.", "document to sign" : "document to sign", "visible element" : "visible element", "File type: %s. Invalid base64 file." : "File type: %s. Invalid base64 file.", @@ -58,7 +65,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Sign process already started. Unable to change status.", "Inform or UUID or a File object" : "Inform or UUID or a File object", "No user data" : "No user data", - "User not found." : "User not found.", "User %s has no email address." : "User %s has no email address.", "Email required" : "Email required", "Invalid email" : "Invalid email", @@ -66,7 +72,6 @@ OC.L10N.register( "No signature was requested to %s" : "No signature was requested to %s", "%s already signed this file" : "%s already signed this file", "Invalid UUID file" : "Invalid UUID file", - "Invalid UUID" : "Invalid UUID", "Signer not associated to this file" : "Signer not associated to this file", "A file of this type has been associated." : "A file of this type has been associated.", "Empty identify data." : "Empty identify data.", @@ -89,7 +94,9 @@ OC.L10N.register( "Invalid URL file" : "Invalid URL file", "Visible element file must be png." : "Visible element file must be png.", "Empty file" : "Empty file", - "Invalid data to validate file" : "Invalid data to validate file", + "No certificate file provided" : "No certificate file provided", + "Invalid file provided. Need to be a .pfx file." : "Invalid file provided. Need to be a .pfx file.", + "File is too big" : "File is too big", "Invalid file identifier" : "Invalid file identifier", "You need to sign this document" : "You need to sign this document", "You cannot request signature for this document, please contact your administrator" : "You cannot request signature for this document, please contact your administrator", @@ -104,7 +111,7 @@ OC.L10N.register( "Email" : "Email", "User already exists" : "User already exists", "This is not your file" : "This is not your file", - "Password" : "Password", + "Certificate with password" : "Certificate with password", "Invalid password" : "Invalid password", "LibreSign: Changes into a file for you to sign" : "LibreSign: Changes into a file for you to sign", "File to sign" : "File to sign", @@ -141,6 +148,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, digital signature app for Nextcloud.", "Authentication required" : "Authentication required", "This action requires you to confirm your password" : "This action requires you to confirm your password", + "Password" : "Password", "Confirm" : "Confirm", "Incorrect password!" : "Incorrect password!", "Text" : "Text", @@ -156,6 +164,7 @@ OC.L10N.register( "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Use your mouse wheel to zoom in or out on the image and find the best view of your signature.", "Enter your Full Name or Initials to create Signature" : "Enter your Full Name or Initials to create Signature", "Requested by {name}, at {date}" : "Requested by {name}, at {date}", + "Enter who will receive the request" : "Enter who will receive the request", "Signatures" : "Signatures", "Search signer by account" : "Search signer by account", "Name" : "Surname", @@ -183,10 +192,13 @@ OC.L10N.register( "Sign" : "Sign", "Request signatures?" : "Request signatures?", "Element created" : "Element created", + "signed at {date}" : "signed at {date}", "Details" : "Details", - "Password & Security" : "Password & Security", - "Create password key" : "Create password key", - "Reset password" : "Reset password", + "Certificate" : "Certificate", + "Upload certificate" : "Upload certificate", + "Delete certificate" : "Delete certificate", + "Create certificate" : "Create certificate", + "Change password" : "Change password", "Not sent yet" : "Not sent yet", "Not defined yet" : "Not defined yet", "Select a file" : "Select a file", @@ -207,7 +219,6 @@ OC.L10N.register( "Password Creation" : "Password Creation", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "For security reasons, you must create a password to sign the documents. Enter your new password in the field below.", "Enter a password" : "Enter a password", - "New password to sign documents has been created" : "New password to sign documents has been created", "Error creating new password, please contact the administrator" : "Error creating new password, please contact the administrator", "Create new subscription." : "Create new subscription.", "Root certificate has not been configured by the Administrator!" : "Root certificate has not been configured by the Administrator!", @@ -235,13 +246,14 @@ OC.L10N.register( "The admin hasn't set up LibreSign yet, please wait." : "The admin hasn't set up LibreSign yet, please wait.", "Request Signatures" : "Request Signatures", "Choose the file to request signatures." : "Choose the file to request signatures.", + "Upload from URL" : "Upload from URL", "Choose from Files" : "Choose from Files", - "Enter the emails that will receive the request" : "Enter the emails that will receive the request", - "Signatures for this document have already been requested" : "Signatures for this document have already been requested", - "Add users" : "Add users", + "URL of a PDF file" : "URL of a PDF file", + "Send" : "Send", "Select your file" : "Select your file", "Password reset" : "Password reset", "Enter new password and then repeat it" : "Enter new password and then repeat it", + "Current password" : "Current password", "New password" : "New password", "Repeat password" : "Repeat password", "Allow request to sign" : "Allow request to sign", @@ -252,12 +264,13 @@ OC.L10N.register( "Certificate engine" : "Certificate engine", "Certificate engine to generate the root certificate" : "Certificate engine to generate the root certificate", "Select the certificate engine to generate the root certificate" : "Select the certificate engine to generate the root certificate", + "I will not use root certificate" : "I will not use root certificate", "Collect signers' metadata when signing a document" : "Collect signers' metadata when signing a document", "Collect signers' metadata" : "Collect signers' metadata", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer.", "Message" : "Message", "Resource" : "Resource", - "Advice" : "Advice", + "Tip" : "Tip", "Configuration check" : "Configuration check", "Status of setup" : "Status of setup", "Customize default user folder" : "Customise default user folder", @@ -276,6 +289,8 @@ OC.L10N.register( "Allow account creation for new users" : "Allow account creation for new users", "Allows sending registration email when the user does not have an account." : "Allows sending registration email when the user does not have an account.", "Default signature method" : "Default signature method", + "Identify factors" : "Identify factors", + "Ways to identify a person who will sign a document." : "Ways to identify a person who will sign a document.", "Legal Information" : "Legal Information", "Legal information" : "Legal information", "This information will appear on the validation page" : "This information will appear on the validation page", @@ -287,12 +302,13 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "Full name of the main company or main user of this instance", "Define custom values to use {engine}" : "Define custom values to use {engine}", "Not mandatory, don't fill to use default value." : "Not mandatory, don't fill to use default value.", - "Root certificate data." : "Root certificate data.", + "Root certificate data" : "Root certificate data", "To generate new signatures, you must first generate the root certificate." : "To generate new signatures, you must first generate the root certificate.", - "Generate root certificate." : "Generate root certificate.", + "Generate root certificate" : "Generate root certificate", "Generating certificate." : "Generating certificate.", "Could not generate certificate." : "Could not generate certificate.", "Generated certificate!" : "Generated certificate!", + "Make validation URL acessible only by authenticated users" : "Make validation URL acessible only by authenticated users", "Add visible footer with signature details" : "Add visible footer with signature details", "Write QR code on footer with validation URL" : "Write QR code on footer with validation URL", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other.", @@ -340,14 +356,19 @@ OC.L10N.register( "Validate File" : "Validate File", "Add visible signatures" : "Add visible signatures", "Are you sure you want to exclude user {email} from the request?" : "Are you sure you want to exclude user {email} from the request?", + "Password & Security" : "Password & Security", + "Create password key" : "Create password key", + "Reset password" : "Reset password", "Nothing to do" : "Nothing to do", "Validate Document" : "Validate Document", "Do you want to configure visible elements in this document?" : "Do you want to configure visible elements in this document?", - "Collect signers metadata when sign a document" : "Collect signers metadata when signing a document", - "Collect signers metadata" : "Collect signers metadata", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "If this feature is enabled, LibreSign will store the IP and user agent of the signer when signing a document.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binaries required to work. Could be near by 340Mb to download, wait a moment.", + "Enter the emails that will receive the request" : "Enter the emails that will receive the request", + "Signatures for this document have already been requested" : "Signatures for this document have already been requested", + "Add users" : "Add users", + "Advice" : "Advice", "Define custom values to use CFSSL" : "Define custom values to use CFSSL", + "Root certificate data." : "Root certificate data.", + "Generate root certificate." : "Generate root certificate.", "Remove" : "Remove" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/en_GB.json b/l10n/en_GB.json index 94d05f2d09..a357e4e88e 100644 --- a/l10n/en_GB.json +++ b/l10n/en_GB.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Invalid UUID", "Success" : "Success", "Invalid user or password" : "Invalid user or password", "_Element created with success_::_Elements created with success_" : ["Element created with success","Elements created with success"], @@ -7,6 +8,9 @@ "Element updated with success" : "Element updated with success", "Visible element deleted" : "Visible element deleted", "Settings saved" : "Settings saved", + "Certificate file deleted with success." : "Certificate file deleted with success.", + "Certificate file saved with success." : "Certificate file saved with success.", + "New password to sign documents has been created" : "New password to sign documents has been created", "Name is mandatory" : "Name is mandatory", "Notification sent with success." : "Notification sent with success.", "File signed" : "File signed", @@ -26,10 +30,13 @@ "Invalid Sign engine." : "Invalid Sign engine.", "Digital signed by LibreSign." : "Digital signed by LibreSign.", "Validate in %s." : "Validate in %s.", + "Invalid data to validate file" : "Invalid data to validate file", "File type: %s. Empty file." : "File type: %s. Empty file.", "Elements of type %s need file." : "Elements of type %s need file.", "File type: %s. Specify a URL, a base64 string or a fileID." : "File type: %s. Specify a URL, a base64 string or a fileID.", "File type: %s. Invalid fileID." : "File type: %s. Invalid fileID.", + "User not found." : "User not found.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "File type: %s. Specify a URL, base64 string, path or a fileID.", "document to sign" : "document to sign", "visible element" : "visible element", "File type: %s. Invalid base64 file." : "File type: %s. Invalid base64 file.", @@ -56,7 +63,6 @@ "Sign process already started. Unable to change status." : "Sign process already started. Unable to change status.", "Inform or UUID or a File object" : "Inform or UUID or a File object", "No user data" : "No user data", - "User not found." : "User not found.", "User %s has no email address." : "User %s has no email address.", "Email required" : "Email required", "Invalid email" : "Invalid email", @@ -64,7 +70,6 @@ "No signature was requested to %s" : "No signature was requested to %s", "%s already signed this file" : "%s already signed this file", "Invalid UUID file" : "Invalid UUID file", - "Invalid UUID" : "Invalid UUID", "Signer not associated to this file" : "Signer not associated to this file", "A file of this type has been associated." : "A file of this type has been associated.", "Empty identify data." : "Empty identify data.", @@ -87,7 +92,9 @@ "Invalid URL file" : "Invalid URL file", "Visible element file must be png." : "Visible element file must be png.", "Empty file" : "Empty file", - "Invalid data to validate file" : "Invalid data to validate file", + "No certificate file provided" : "No certificate file provided", + "Invalid file provided. Need to be a .pfx file." : "Invalid file provided. Need to be a .pfx file.", + "File is too big" : "File is too big", "Invalid file identifier" : "Invalid file identifier", "You need to sign this document" : "You need to sign this document", "You cannot request signature for this document, please contact your administrator" : "You cannot request signature for this document, please contact your administrator", @@ -102,7 +109,7 @@ "Email" : "Email", "User already exists" : "User already exists", "This is not your file" : "This is not your file", - "Password" : "Password", + "Certificate with password" : "Certificate with password", "Invalid password" : "Invalid password", "LibreSign: Changes into a file for you to sign" : "LibreSign: Changes into a file for you to sign", "File to sign" : "File to sign", @@ -139,6 +146,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, digital signature app for Nextcloud.", "Authentication required" : "Authentication required", "This action requires you to confirm your password" : "This action requires you to confirm your password", + "Password" : "Password", "Confirm" : "Confirm", "Incorrect password!" : "Incorrect password!", "Text" : "Text", @@ -154,6 +162,7 @@ "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Use your mouse wheel to zoom in or out on the image and find the best view of your signature.", "Enter your Full Name or Initials to create Signature" : "Enter your Full Name or Initials to create Signature", "Requested by {name}, at {date}" : "Requested by {name}, at {date}", + "Enter who will receive the request" : "Enter who will receive the request", "Signatures" : "Signatures", "Search signer by account" : "Search signer by account", "Name" : "Surname", @@ -181,10 +190,13 @@ "Sign" : "Sign", "Request signatures?" : "Request signatures?", "Element created" : "Element created", + "signed at {date}" : "signed at {date}", "Details" : "Details", - "Password & Security" : "Password & Security", - "Create password key" : "Create password key", - "Reset password" : "Reset password", + "Certificate" : "Certificate", + "Upload certificate" : "Upload certificate", + "Delete certificate" : "Delete certificate", + "Create certificate" : "Create certificate", + "Change password" : "Change password", "Not sent yet" : "Not sent yet", "Not defined yet" : "Not defined yet", "Select a file" : "Select a file", @@ -205,7 +217,6 @@ "Password Creation" : "Password Creation", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "For security reasons, you must create a password to sign the documents. Enter your new password in the field below.", "Enter a password" : "Enter a password", - "New password to sign documents has been created" : "New password to sign documents has been created", "Error creating new password, please contact the administrator" : "Error creating new password, please contact the administrator", "Create new subscription." : "Create new subscription.", "Root certificate has not been configured by the Administrator!" : "Root certificate has not been configured by the Administrator!", @@ -233,13 +244,14 @@ "The admin hasn't set up LibreSign yet, please wait." : "The admin hasn't set up LibreSign yet, please wait.", "Request Signatures" : "Request Signatures", "Choose the file to request signatures." : "Choose the file to request signatures.", + "Upload from URL" : "Upload from URL", "Choose from Files" : "Choose from Files", - "Enter the emails that will receive the request" : "Enter the emails that will receive the request", - "Signatures for this document have already been requested" : "Signatures for this document have already been requested", - "Add users" : "Add users", + "URL of a PDF file" : "URL of a PDF file", + "Send" : "Send", "Select your file" : "Select your file", "Password reset" : "Password reset", "Enter new password and then repeat it" : "Enter new password and then repeat it", + "Current password" : "Current password", "New password" : "New password", "Repeat password" : "Repeat password", "Allow request to sign" : "Allow request to sign", @@ -250,12 +262,13 @@ "Certificate engine" : "Certificate engine", "Certificate engine to generate the root certificate" : "Certificate engine to generate the root certificate", "Select the certificate engine to generate the root certificate" : "Select the certificate engine to generate the root certificate", + "I will not use root certificate" : "I will not use root certificate", "Collect signers' metadata when signing a document" : "Collect signers' metadata when signing a document", "Collect signers' metadata" : "Collect signers' metadata", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer.", "Message" : "Message", "Resource" : "Resource", - "Advice" : "Advice", + "Tip" : "Tip", "Configuration check" : "Configuration check", "Status of setup" : "Status of setup", "Customize default user folder" : "Customise default user folder", @@ -274,6 +287,8 @@ "Allow account creation for new users" : "Allow account creation for new users", "Allows sending registration email when the user does not have an account." : "Allows sending registration email when the user does not have an account.", "Default signature method" : "Default signature method", + "Identify factors" : "Identify factors", + "Ways to identify a person who will sign a document." : "Ways to identify a person who will sign a document.", "Legal Information" : "Legal Information", "Legal information" : "Legal information", "This information will appear on the validation page" : "This information will appear on the validation page", @@ -285,12 +300,13 @@ "Full name of the main company or main user of this instance" : "Full name of the main company or main user of this instance", "Define custom values to use {engine}" : "Define custom values to use {engine}", "Not mandatory, don't fill to use default value." : "Not mandatory, don't fill to use default value.", - "Root certificate data." : "Root certificate data.", + "Root certificate data" : "Root certificate data", "To generate new signatures, you must first generate the root certificate." : "To generate new signatures, you must first generate the root certificate.", - "Generate root certificate." : "Generate root certificate.", + "Generate root certificate" : "Generate root certificate", "Generating certificate." : "Generating certificate.", "Could not generate certificate." : "Could not generate certificate.", "Generated certificate!" : "Generated certificate!", + "Make validation URL acessible only by authenticated users" : "Make validation URL acessible only by authenticated users", "Add visible footer with signature details" : "Add visible footer with signature details", "Write QR code on footer with validation URL" : "Write QR code on footer with validation URL", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other.", @@ -338,14 +354,19 @@ "Validate File" : "Validate File", "Add visible signatures" : "Add visible signatures", "Are you sure you want to exclude user {email} from the request?" : "Are you sure you want to exclude user {email} from the request?", + "Password & Security" : "Password & Security", + "Create password key" : "Create password key", + "Reset password" : "Reset password", "Nothing to do" : "Nothing to do", "Validate Document" : "Validate Document", "Do you want to configure visible elements in this document?" : "Do you want to configure visible elements in this document?", - "Collect signers metadata when sign a document" : "Collect signers metadata when signing a document", - "Collect signers metadata" : "Collect signers metadata", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "If this feature is enabled, LibreSign will store the IP and user agent of the signer when signing a document.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binaries required to work. Could be near by 340Mb to download, wait a moment.", + "Enter the emails that will receive the request" : "Enter the emails that will receive the request", + "Signatures for this document have already been requested" : "Signatures for this document have already been requested", + "Add users" : "Add users", + "Advice" : "Advice", "Define custom values to use CFSSL" : "Define custom values to use CFSSL", + "Root certificate data." : "Root certificate data.", + "Generate root certificate." : "Generate root certificate.", "Remove" : "Remove" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/eo.js b/l10n/eo.js index 0072c79711..b4042f1e74 100644 --- a/l10n/eo.js +++ b/l10n/eo.js @@ -8,15 +8,16 @@ OC.L10N.register( "File not found" : "Netrovita dosiero", "File already exists" : "La dosiero jam ekzistas", "Empty file" : "Malplena dosiero", + "File is too big" : "Dosiero tro grandas", "Account" : "Konto", "Invalid user" : "Nevalida uzanto", "Email" : "Retpoŝtadreso", - "Password" : "Pasvorto", "Invalid password" : "Nevalida pasvorto", "Files" : "Dosieroj", "Settings" : "Agordoj", "Authentication required" : "Aŭtentiĝo nepras", "This action requires you to confirm your password" : "Tiu ĉi ago bezonas, ke vi konfirmas vian pasvorton", + "Password" : "Pasvorto", "Confirm" : "Konfirmi", "Text" : "Teksto", "Upload" : "Alŝuti", @@ -34,7 +35,7 @@ OC.L10N.register( "Next" : "Sekva", "Previous" : "Antaŭa", "Details" : "Detaloj", - "Reset password" : "Restarigi pasvorton", + "Certificate" : "Atestilo", "Select a file" : "Select a file", "Type" : "Tipo", "Status" : "Stato", @@ -46,7 +47,9 @@ OC.L10N.register( "Yes" : "Yes", "No" : "No", "Page not found" : "Paĝo ne trovita", + "Send" : "Sendi", "Password reset" : "Restarigi pasvorton", + "Current password" : "Nuna pasvorto", "New password" : "Nova pasvorto", "Repeat password" : "Ripetu la pasvorton", "Message" : "Mesaĝo", @@ -55,6 +58,7 @@ OC.L10N.register( "Loading …" : "Ŝargas …", "Pending" : "Pritraktota", "No date" : "No date", + "Reset password" : "Restarigi pasvorton", "Remove" : "Forigi" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/eo.json b/l10n/eo.json index 8a57618f51..de29226a92 100644 --- a/l10n/eo.json +++ b/l10n/eo.json @@ -6,15 +6,16 @@ "File not found" : "Netrovita dosiero", "File already exists" : "La dosiero jam ekzistas", "Empty file" : "Malplena dosiero", + "File is too big" : "Dosiero tro grandas", "Account" : "Konto", "Invalid user" : "Nevalida uzanto", "Email" : "Retpoŝtadreso", - "Password" : "Pasvorto", "Invalid password" : "Nevalida pasvorto", "Files" : "Dosieroj", "Settings" : "Agordoj", "Authentication required" : "Aŭtentiĝo nepras", "This action requires you to confirm your password" : "Tiu ĉi ago bezonas, ke vi konfirmas vian pasvorton", + "Password" : "Pasvorto", "Confirm" : "Konfirmi", "Text" : "Teksto", "Upload" : "Alŝuti", @@ -32,7 +33,7 @@ "Next" : "Sekva", "Previous" : "Antaŭa", "Details" : "Detaloj", - "Reset password" : "Restarigi pasvorton", + "Certificate" : "Atestilo", "Select a file" : "Select a file", "Type" : "Tipo", "Status" : "Stato", @@ -44,7 +45,9 @@ "Yes" : "Yes", "No" : "No", "Page not found" : "Paĝo ne trovita", + "Send" : "Sendi", "Password reset" : "Restarigi pasvorton", + "Current password" : "Nuna pasvorto", "New password" : "Nova pasvorto", "Repeat password" : "Ripetu la pasvorton", "Message" : "Mesaĝo", @@ -53,6 +56,7 @@ "Loading …" : "Ŝargas …", "Pending" : "Pritraktota", "No date" : "No date", + "Reset password" : "Restarigi pasvorton", "Remove" : "Forigi" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/es.js b/l10n/es.js index 3b6aeb4cf3..8200274f10 100644 --- a/l10n/es.js +++ b/l10n/es.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID no válido", "Success" : "Éxito", "Invalid user or password" : "Usuario o contraseña no válidos", "_Element created with success_::_Elements created with success_" : ["Elemento creado con éxito","Elementos creados con éxito","Elementos creados con éxito"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Elemento actualizado con éxito", "Visible element deleted" : "Elemento visible eliminado", "Settings saved" : "Ajustes guardados", + "New password to sign documents has been created" : "Se ha creado una nueva contraseña para firmar documentos", "Name is mandatory" : "El nombre es obligatorio", "Notification sent with success." : "Notificación envíada con éxito.", "File signed" : "Archivo firmado", @@ -28,10 +30,12 @@ OC.L10N.register( "Invalid Sign engine." : "Motor de Firma inválido.", "Digital signed by LibreSign." : "Firmado digitalmente por LibreSign.", "Validate in %s." : "Validar en %s.", + "Invalid data to validate file" : "Datos inválidos para validar el archivo", "File type: %s. Empty file." : "Tipo de archivo: %s. Archivo vacío.", "Elements of type %s need file." : "Los elementos de tipo %s necesitan un archivo.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Tipo de archivo: %s. Informar la URL o base64 o fileID.", "File type: %s. Invalid fileID." : "Tipo de archivo: %s. fileID inválido.", + "User not found." : "Usuario no encontrado.", "document to sign" : "documento a firmar", "visible element" : "elemento visible", "File type: %s. Invalid base64 file." : "Tipo de archivo: %s. Archivo en base64 inválido.", @@ -58,7 +62,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "El proceso de firma ya ha empezado. No es posible cambiar el estado.", "Inform or UUID or a File object" : "Informar UUID o un objeto Archivo (File Object)", "No user data" : "Sin datos de usuario", - "User not found." : "Usuario no encontrado.", "User %s has no email address." : "El usuario %s no tiene ninguna dirección de correo electrónico.", "Email required" : "Correo electrónico requerido", "Invalid email" : "Email no válido", @@ -66,7 +69,6 @@ OC.L10N.register( "No signature was requested to %s" : "No se solicitó ninguna firma para %s", "%s already signed this file" : "%s ya ha firmado este archivo", "Invalid UUID file" : "Archivo UUID no válido", - "Invalid UUID" : "UUID no válido", "Signer not associated to this file" : "No hay usuario para firmar asociado a este archivo", "A file of this type has been associated." : "Se ha asociado un archivo de este tipo.", "Empty identify data." : "Vaciar datos de identificación.", @@ -89,7 +91,7 @@ OC.L10N.register( "Invalid URL file" : "URL del archivo no válido", "Visible element file must be png." : "El archivo del elemento visible debe ser png.", "Empty file" : "Archivo vacío", - "Invalid data to validate file" : "Datos inválidos para validar el archivo", + "File is too big" : "El archivo es demasiado grande", "Invalid file identifier" : "Identificador de archivo inválido", "You need to sign this document" : "Tienes que firmar este documento", "You cannot request signature for this document, please contact your administrator" : "No puedes solicitar firmas para este documento, por favor contacta con tu administrador", @@ -104,7 +106,6 @@ OC.L10N.register( "Email" : "Email", "User already exists" : "El usuario ya existe", "This is not your file" : "Este no es tu archivo", - "Password" : "Contraseña", "Invalid password" : "Contraseña no válida", "LibreSign: Changes into a file for you to sign" : "LIbreSign: Cambios en un archivo que debes firmar", "File to sign" : "Archivo a firmar", @@ -141,6 +142,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicación de firma digital para Nextcloud.", "Authentication required" : "Se necesita autenticación", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Incorrect password!" : "¡Contraseña incorrecta!", "Text" : "Texto", @@ -184,9 +186,9 @@ OC.L10N.register( "Request signatures?" : "¿Solicitar firmas?", "Element created" : "Elemento creado", "Details" : "Detalles", - "Password & Security" : "Contraseña y Seguridad", - "Create password key" : "Crear clave de contraseña", - "Reset password" : "Resetear contraseña", + "Certificate" : "Certificado", + "Delete certificate" : "Borrar certificado", + "Change password" : "Cambiar cnotraseña", "Not sent yet" : "No enviado todavía", "Not defined yet" : "Aún no definido", "Select a file" : "Selecciona un archivo", @@ -207,7 +209,6 @@ OC.L10N.register( "Password Creation" : "Creación de contraseña", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Por razones de seguridad, debes crear una contraseña para firmar los documentos. Introduce tu nueva contraseña en el campo de abajo.", "Enter a password" : "Introduzca una contraseña", - "New password to sign documents has been created" : "Se ha creado una nueva contraseña para firmar documentos", "Error creating new password, please contact the administrator" : "Error al crear la nueva contraseña, por favor, contacte con el administrador.", "Create new subscription." : "Crear nueva suscripción.", "Root certificate has not been configured by the Administrator!" : "¡El certificado raíz no ha sido configurado por el Administrador!", @@ -236,12 +237,11 @@ OC.L10N.register( "Request Signatures" : "Solicitar Firmas", "Choose the file to request signatures." : "Escoge el archivo para el que solicitar firmas.", "Choose from Files" : "Escoger desde Archivos", - "Enter the emails that will receive the request" : "Introduce los correos electrónicos que recibirán la solicitud", - "Signatures for this document have already been requested" : "Ya se han solicitado firmas para este documento", - "Add users" : "Añadir usuarios", + "Send" : "Enviar", "Select your file" : "Selecciona tu archivo", "Password reset" : "Restablecer contraseña", "Enter new password and then repeat it" : "Introduzca una nueva contraseña y luego repitala", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Allow request to sign" : "Permitir solicitud para firmar", @@ -257,7 +257,7 @@ OC.L10N.register( "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Al habilitar esta característica, cada vez que se firme un documento, LibreSign almacenará la dirección IP y el agente de usuario del firmante.", "Message" : "Mensaje", "Resource" : "Recurso", - "Advice" : "Consejo", + "Tip" : "Consejo", "Configuration check" : "Comprobar configuración", "Status of setup" : "Estado de la configuración", "Customize default user folder" : "Personalizar la carpeta por defecto de los usuarios", @@ -287,9 +287,7 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "Nombre completo de la empresa o usuario principal de esta instancia", "Define custom values to use {engine}" : "Definir valores personalizados para usar {engine}", "Not mandatory, don't fill to use default value." : "No es obligatorio, deje en blanco para usar el valor por defecto.", - "Root certificate data." : "Datos del certificado raíz.", "To generate new signatures, you must first generate the root certificate." : "Para generar nuevas firmas, primero debes crear un certificado raíz.", - "Generate root certificate." : "Generar certificado raíz", "Generating certificate." : "Generando certificado.", "Could not generate certificate." : "No se pudo generar el certificado.", "Generated certificate!" : "¡Certificado generado!", @@ -340,14 +338,19 @@ OC.L10N.register( "Validate File" : "Validar Archivo", "Add visible signatures" : "Añadir firmas visibles", "Are you sure you want to exclude user {email} from the request?" : "¿Estás seguro de querer excluir al usuario {email} de la solicitud?", + "Password & Security" : "Contraseña y Seguridad", + "Create password key" : "Crear clave de contraseña", + "Reset password" : "Resetear contraseña", "Nothing to do" : "Nada que hacer", "Validate Document" : "Validar Documento", "Do you want to configure visible elements in this document?" : "¿Quieres configurar los elementos visibles en este documento?", - "Collect signers metadata when sign a document" : "Recolectar metadatos de firmantes cuando se firme un documento", - "Collect signers metadata" : "Recolectar metadatos de firmantes", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Al habilitar esta característica, cada vez que se firme un documento, se almacenará la dirección IP y el agente de usuario del firmante.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binarios requeridos para el funcionamiento. El tamaño de la descarga es cercana a los 340MB, espere un momento.", + "Enter the emails that will receive the request" : "Introduce los correos electrónicos que recibirán la solicitud", + "Signatures for this document have already been requested" : "Ya se han solicitado firmas para este documento", + "Add users" : "Añadir usuarios", + "Advice" : "Consejo", "Define custom values to use CFSSL" : "Definir valores personalizados para usar CFSSL", + "Root certificate data." : "Datos del certificado raíz.", + "Generate root certificate." : "Generar certificado raíz", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es.json b/l10n/es.json index edef61a90d..73a9293903 100644 --- a/l10n/es.json +++ b/l10n/es.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID no válido", "Success" : "Éxito", "Invalid user or password" : "Usuario o contraseña no válidos", "_Element created with success_::_Elements created with success_" : ["Elemento creado con éxito","Elementos creados con éxito","Elementos creados con éxito"], @@ -7,6 +8,7 @@ "Element updated with success" : "Elemento actualizado con éxito", "Visible element deleted" : "Elemento visible eliminado", "Settings saved" : "Ajustes guardados", + "New password to sign documents has been created" : "Se ha creado una nueva contraseña para firmar documentos", "Name is mandatory" : "El nombre es obligatorio", "Notification sent with success." : "Notificación envíada con éxito.", "File signed" : "Archivo firmado", @@ -26,10 +28,12 @@ "Invalid Sign engine." : "Motor de Firma inválido.", "Digital signed by LibreSign." : "Firmado digitalmente por LibreSign.", "Validate in %s." : "Validar en %s.", + "Invalid data to validate file" : "Datos inválidos para validar el archivo", "File type: %s. Empty file." : "Tipo de archivo: %s. Archivo vacío.", "Elements of type %s need file." : "Los elementos de tipo %s necesitan un archivo.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Tipo de archivo: %s. Informar la URL o base64 o fileID.", "File type: %s. Invalid fileID." : "Tipo de archivo: %s. fileID inválido.", + "User not found." : "Usuario no encontrado.", "document to sign" : "documento a firmar", "visible element" : "elemento visible", "File type: %s. Invalid base64 file." : "Tipo de archivo: %s. Archivo en base64 inválido.", @@ -56,7 +60,6 @@ "Sign process already started. Unable to change status." : "El proceso de firma ya ha empezado. No es posible cambiar el estado.", "Inform or UUID or a File object" : "Informar UUID o un objeto Archivo (File Object)", "No user data" : "Sin datos de usuario", - "User not found." : "Usuario no encontrado.", "User %s has no email address." : "El usuario %s no tiene ninguna dirección de correo electrónico.", "Email required" : "Correo electrónico requerido", "Invalid email" : "Email no válido", @@ -64,7 +67,6 @@ "No signature was requested to %s" : "No se solicitó ninguna firma para %s", "%s already signed this file" : "%s ya ha firmado este archivo", "Invalid UUID file" : "Archivo UUID no válido", - "Invalid UUID" : "UUID no válido", "Signer not associated to this file" : "No hay usuario para firmar asociado a este archivo", "A file of this type has been associated." : "Se ha asociado un archivo de este tipo.", "Empty identify data." : "Vaciar datos de identificación.", @@ -87,7 +89,7 @@ "Invalid URL file" : "URL del archivo no válido", "Visible element file must be png." : "El archivo del elemento visible debe ser png.", "Empty file" : "Archivo vacío", - "Invalid data to validate file" : "Datos inválidos para validar el archivo", + "File is too big" : "El archivo es demasiado grande", "Invalid file identifier" : "Identificador de archivo inválido", "You need to sign this document" : "Tienes que firmar este documento", "You cannot request signature for this document, please contact your administrator" : "No puedes solicitar firmas para este documento, por favor contacta con tu administrador", @@ -102,7 +104,6 @@ "Email" : "Email", "User already exists" : "El usuario ya existe", "This is not your file" : "Este no es tu archivo", - "Password" : "Contraseña", "Invalid password" : "Contraseña no válida", "LibreSign: Changes into a file for you to sign" : "LIbreSign: Cambios en un archivo que debes firmar", "File to sign" : "Archivo a firmar", @@ -139,6 +140,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicación de firma digital para Nextcloud.", "Authentication required" : "Se necesita autenticación", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Incorrect password!" : "¡Contraseña incorrecta!", "Text" : "Texto", @@ -182,9 +184,9 @@ "Request signatures?" : "¿Solicitar firmas?", "Element created" : "Elemento creado", "Details" : "Detalles", - "Password & Security" : "Contraseña y Seguridad", - "Create password key" : "Crear clave de contraseña", - "Reset password" : "Resetear contraseña", + "Certificate" : "Certificado", + "Delete certificate" : "Borrar certificado", + "Change password" : "Cambiar cnotraseña", "Not sent yet" : "No enviado todavía", "Not defined yet" : "Aún no definido", "Select a file" : "Selecciona un archivo", @@ -205,7 +207,6 @@ "Password Creation" : "Creación de contraseña", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Por razones de seguridad, debes crear una contraseña para firmar los documentos. Introduce tu nueva contraseña en el campo de abajo.", "Enter a password" : "Introduzca una contraseña", - "New password to sign documents has been created" : "Se ha creado una nueva contraseña para firmar documentos", "Error creating new password, please contact the administrator" : "Error al crear la nueva contraseña, por favor, contacte con el administrador.", "Create new subscription." : "Crear nueva suscripción.", "Root certificate has not been configured by the Administrator!" : "¡El certificado raíz no ha sido configurado por el Administrador!", @@ -234,12 +235,11 @@ "Request Signatures" : "Solicitar Firmas", "Choose the file to request signatures." : "Escoge el archivo para el que solicitar firmas.", "Choose from Files" : "Escoger desde Archivos", - "Enter the emails that will receive the request" : "Introduce los correos electrónicos que recibirán la solicitud", - "Signatures for this document have already been requested" : "Ya se han solicitado firmas para este documento", - "Add users" : "Añadir usuarios", + "Send" : "Enviar", "Select your file" : "Selecciona tu archivo", "Password reset" : "Restablecer contraseña", "Enter new password and then repeat it" : "Introduzca una nueva contraseña y luego repitala", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Allow request to sign" : "Permitir solicitud para firmar", @@ -255,7 +255,7 @@ "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Al habilitar esta característica, cada vez que se firme un documento, LibreSign almacenará la dirección IP y el agente de usuario del firmante.", "Message" : "Mensaje", "Resource" : "Recurso", - "Advice" : "Consejo", + "Tip" : "Consejo", "Configuration check" : "Comprobar configuración", "Status of setup" : "Estado de la configuración", "Customize default user folder" : "Personalizar la carpeta por defecto de los usuarios", @@ -285,9 +285,7 @@ "Full name of the main company or main user of this instance" : "Nombre completo de la empresa o usuario principal de esta instancia", "Define custom values to use {engine}" : "Definir valores personalizados para usar {engine}", "Not mandatory, don't fill to use default value." : "No es obligatorio, deje en blanco para usar el valor por defecto.", - "Root certificate data." : "Datos del certificado raíz.", "To generate new signatures, you must first generate the root certificate." : "Para generar nuevas firmas, primero debes crear un certificado raíz.", - "Generate root certificate." : "Generar certificado raíz", "Generating certificate." : "Generando certificado.", "Could not generate certificate." : "No se pudo generar el certificado.", "Generated certificate!" : "¡Certificado generado!", @@ -338,14 +336,19 @@ "Validate File" : "Validar Archivo", "Add visible signatures" : "Añadir firmas visibles", "Are you sure you want to exclude user {email} from the request?" : "¿Estás seguro de querer excluir al usuario {email} de la solicitud?", + "Password & Security" : "Contraseña y Seguridad", + "Create password key" : "Crear clave de contraseña", + "Reset password" : "Resetear contraseña", "Nothing to do" : "Nada que hacer", "Validate Document" : "Validar Documento", "Do you want to configure visible elements in this document?" : "¿Quieres configurar los elementos visibles en este documento?", - "Collect signers metadata when sign a document" : "Recolectar metadatos de firmantes cuando se firme un documento", - "Collect signers metadata" : "Recolectar metadatos de firmantes", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Al habilitar esta característica, cada vez que se firme un documento, se almacenará la dirección IP y el agente de usuario del firmante.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binarios requeridos para el funcionamiento. El tamaño de la descarga es cercana a los 340MB, espere un momento.", + "Enter the emails that will receive the request" : "Introduce los correos electrónicos que recibirán la solicitud", + "Signatures for this document have already been requested" : "Ya se han solicitado firmas para este documento", + "Add users" : "Añadir usuarios", + "Advice" : "Consejo", "Define custom values to use CFSSL" : "Definir valores personalizados para usar CFSSL", + "Root certificate data." : "Datos del certificado raíz.", + "Generate root certificate." : "Generar certificado raíz", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_419.js b/l10n/es_419.js index 516e77b77a..de8434ad3e 100644 --- a/l10n/es_419.js +++ b/l10n/es_419.js @@ -6,15 +6,16 @@ OC.L10N.register( "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Invalid password" : "Contraseña inválida", "Files" : "Archivos", "Settings" : "Ajustes", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -30,7 +31,8 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", + "Change password" : "Cambiar password", "Select a file" : "Select a file", "Type" : "Tipo", "Status" : "Estatus", @@ -42,7 +44,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -50,6 +54,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_419.json b/l10n/es_419.json index cbf1112420..18cb48a980 100644 --- a/l10n/es_419.json +++ b/l10n/es_419.json @@ -4,15 +4,16 @@ "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Invalid password" : "Contraseña inválida", "Files" : "Archivos", "Settings" : "Ajustes", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -28,7 +29,8 @@ "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", + "Change password" : "Cambiar password", "Select a file" : "Select a file", "Type" : "Tipo", "Status" : "Estatus", @@ -40,7 +42,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -48,6 +52,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_AR.js b/l10n/es_AR.js index 598642569a..8580966f2c 100644 --- a/l10n/es_AR.js +++ b/l10n/es_AR.js @@ -6,15 +6,16 @@ OC.L10N.register( "File sharing" : "Compartir archivos", "View" : "Ver", "File not found" : "Archivo no encontrado", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Invalid password" : "Contraseña invalida", "Files" : "Archivos", "Settings" : "Ajustes", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirme su contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -33,7 +34,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Select a file" : "Select a file", "Type" : "Escribir", "Status" : "Estatus", @@ -45,7 +46,9 @@ OC.L10N.register( "Yes" : "Si", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -54,6 +57,7 @@ OC.L10N.register( "Loading …" : "Cargando …", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Borrar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_AR.json b/l10n/es_AR.json index d3d02bf585..4cf152b300 100644 --- a/l10n/es_AR.json +++ b/l10n/es_AR.json @@ -4,15 +4,16 @@ "File sharing" : "Compartir archivos", "View" : "Ver", "File not found" : "Archivo no encontrado", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Invalid password" : "Contraseña invalida", "Files" : "Archivos", "Settings" : "Ajustes", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirme su contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -31,7 +32,7 @@ "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Select a file" : "Select a file", "Type" : "Escribir", "Status" : "Estatus", @@ -43,7 +44,9 @@ "Yes" : "Si", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -52,6 +55,7 @@ "Loading …" : "Cargando …", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Borrar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_CL.js b/l10n/es_CL.js index 1b89fc6445..4812980ab7 100644 --- a/l10n/es_CL.js +++ b/l10n/es_CL.js @@ -7,14 +7,15 @@ OC.L10N.register( "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -29,7 +30,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Select a file" : "Select a file", "Type" : "Tipo", "Status" : "Estatus", @@ -41,7 +42,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -50,6 +53,7 @@ OC.L10N.register( "Loading …" : "Cargando …", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_CL.json b/l10n/es_CL.json index 4c77ad0e0e..8b37e38343 100644 --- a/l10n/es_CL.json +++ b/l10n/es_CL.json @@ -5,14 +5,15 @@ "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -27,7 +28,7 @@ "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Select a file" : "Select a file", "Type" : "Tipo", "Status" : "Estatus", @@ -39,7 +40,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -48,6 +51,7 @@ "Loading …" : "Cargando …", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_CO.js b/l10n/es_CO.js index 2b1ae97eb8..76e436a95c 100644 --- a/l10n/es_CO.js +++ b/l10n/es_CO.js @@ -7,14 +7,15 @@ OC.L10N.register( "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -30,7 +31,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -41,7 +42,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -49,6 +52,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_CO.json b/l10n/es_CO.json index b295b7a27a..800f5b030d 100644 --- a/l10n/es_CO.json +++ b/l10n/es_CO.json @@ -5,14 +5,15 @@ "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -28,7 +29,7 @@ "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -39,7 +40,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -47,6 +50,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_CR.js b/l10n/es_CR.js index 2b1ae97eb8..76e436a95c 100644 --- a/l10n/es_CR.js +++ b/l10n/es_CR.js @@ -7,14 +7,15 @@ OC.L10N.register( "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -30,7 +31,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -41,7 +42,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -49,6 +52,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_CR.json b/l10n/es_CR.json index b295b7a27a..800f5b030d 100644 --- a/l10n/es_CR.json +++ b/l10n/es_CR.json @@ -5,14 +5,15 @@ "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -28,7 +29,7 @@ "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -39,7 +40,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -47,6 +50,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_DO.js b/l10n/es_DO.js index 2b1ae97eb8..76e436a95c 100644 --- a/l10n/es_DO.js +++ b/l10n/es_DO.js @@ -7,14 +7,15 @@ OC.L10N.register( "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -30,7 +31,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -41,7 +42,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -49,6 +52,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_DO.json b/l10n/es_DO.json index b295b7a27a..800f5b030d 100644 --- a/l10n/es_DO.json +++ b/l10n/es_DO.json @@ -5,14 +5,15 @@ "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -28,7 +29,7 @@ "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -39,7 +40,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -47,6 +50,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_EC.js b/l10n/es_EC.js index d64d322828..37bfc0d70c 100644 --- a/l10n/es_EC.js +++ b/l10n/es_EC.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID inválido", "Success" : "Éxito", "Invalid user or password" : "Usuario o contraseña inválidos", "_Element created with success_::_Elements created with success_" : ["Elemento creado exitosamente","Elementos creados exitosamente","Elementos creados exitosamente"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Elemento actualizado exitosamente", "Visible element deleted" : "Elemento visible eliminado", "Settings saved" : "Se han guardado las configuraciones ", + "New password to sign documents has been created" : "Se ha creado una nueva contraseña para firmar documentos", "Name is mandatory" : "El nombre es obligatorio", "Notification sent with success." : "Notificación enviada exitosamente.", "File signed" : "Archivo firmado", @@ -26,10 +28,12 @@ OC.L10N.register( "Invalid Sign engine." : "Motor de firma inválido.", "Digital signed by LibreSign." : "Firmado digitalmente por LibreSign.", "Validate in %s." : "Validar en %s.", + "Invalid data to validate file" : "Datos inválidos para validar el archivo", "File type: %s. Empty file." : "Tipo de archivo: %s. Archivo vacío.", "Elements of type %s need file." : "Elementos de tipo %s necesitan un archivo.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Tipo de archivo: %s. Especifica una URL, una cadena base64 o un ID de archivo.", "File type: %s. Invalid fileID." : "Tipo de archivo: %s. ID de archivo inválido.", + "User not found." : "Usuario no encontrado.", "document to sign" : "documento a firmar", "visible element" : "elemento visible", "File type: %s. Invalid base64 file." : "Tipo de archivo: %s. Archivo base64 inválido.", @@ -56,7 +60,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "El proceso de firma ya ha comenzado. No se puede cambiar el estado.", "Inform or UUID or a File object" : "Informa un UUID o un objeto de archivo", "No user data" : "No hay datos de usuario", - "User not found." : "Usuario no encontrado.", "User %s has no email address." : "El usuario %s no tiene dirección de correo electrónico.", "Email required" : "Correo electrónico requerido", "Invalid email" : "Correo electrónico inválido", @@ -64,7 +67,6 @@ OC.L10N.register( "No signature was requested to %s" : "No se solicitó firma a %s", "%s already signed this file" : "%s ya firmó este archivo", "Invalid UUID file" : "UUID de archivo inválido", - "Invalid UUID" : "UUID inválido", "Signer not associated to this file" : "Firmante no asociado a este archivo", "A file of this type has been associated." : "Se ha asociado un archivo de este tipo.", "File already signed." : "Archivo ya firmado.", @@ -83,7 +85,7 @@ OC.L10N.register( "Invalid URL file" : "Archivo URL inválido", "Visible element file must be png." : "El archivo del elemento visible debe ser en formato png.", "Empty file" : "Archivo vacío", - "Invalid data to validate file" : "Datos inválidos para validar el archivo", + "File is too big" : "El archivo es demasiado grande.", "Invalid file identifier" : "Identificador de archivo inválido", "You need to sign this document" : "Necesitas firmar este documento", "You cannot request signature for this document, please contact your administrator" : "No puedes solicitar la firma de este documento, por favor contacta a tu administrador", @@ -97,7 +99,6 @@ OC.L10N.register( "Email" : "Correo electrónico", "User already exists" : "El usuario ya existe", "This is not your file" : "Este archivo no es tuyo", - "Password" : "Contraseña", "LibreSign: Changes into a file for you to sign" : "LibreSign: Cambios en un archivo que debes firmar", "File to sign" : "Archivo para firmar", "Changes have been made in a file that you have to sign. Access the link below:" : "Se han realizado cambios en un archivo que debes firmar. Accede al siguiente enlace:", @@ -129,6 +130,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicación de firma digital para Nextcloud.", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Incorrect password!" : "¡Contraseña incorrecta!", "Text" : "Texto", @@ -165,9 +167,8 @@ OC.L10N.register( "Request signatures?" : "¿Solicitar firmas?", "Element created" : "Elemento creado", "Details" : "Detalles", - "Password & Security" : "Contraseña y seguridad", - "Create password key" : "Crear clave de contraseña", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", + "Delete certificate" : "Eliminar certificado", "Not sent yet" : "No enviado aún", "Not defined yet" : "Aún no definido", "Select a file" : "Seleccionar un archivo", @@ -188,7 +189,6 @@ OC.L10N.register( "Password Creation" : "Creación de contraseña", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Por razones de seguridad, debes crear una contraseña para firmar los documentos. Ingresa tu nueva contraseña en el campo de abajo.", "Enter a password" : "Ingresa una contraseña", - "New password to sign documents has been created" : "Se ha creado una nueva contraseña para firmar documentos", "Error creating new password, please contact the administrator" : "Error al crear una nueva contraseña, por favor contacta al administrador", "Create new subscription." : "Crear nueva suscripción.", "Root certificate has not been configured by the Administrator!" : "¡El certificado raíz no ha sido configurado por el administrador!", @@ -215,12 +215,11 @@ OC.L10N.register( "Request Signatures" : "Solicitar firmas", "Choose the file to request signatures." : "Elige el archivo para solicitar firmas.", "Choose from Files" : "Elegir desde archivos", - "Enter the emails that will receive the request" : "Ingresa los correos electrónicos que recibirán la solicitud", - "Signatures for this document have already been requested" : "Las firmas de este documento ya han sido solicitadas", - "Add users" : "Agregar usuarios", + "Send" : "Enviar", "Select your file" : "Selecciona tu archivo", "Password reset" : "Restablecer contraseña", "Enter new password and then repeat it" : "Ingresa la nueva contraseña y repítela", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Allow request to sign" : "Permitir solicitar firma", @@ -233,7 +232,6 @@ OC.L10N.register( "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Al habilitar esta función, cada vez que un documento se firme, LibreSign almacenará la dirección IP y el agente de usuario del firmante.", "Message" : "Mensaje", "Resource" : "Recurso", - "Advice" : "Aviso", "Configuration check" : "Revisión de configuración", "Status of setup" : "Estado de la configuración", "Customize default user folder" : "Personalizar la carpeta de usuario predeterminada", @@ -258,9 +256,7 @@ OC.L10N.register( "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "La regeneración del certificado raíz invalidará todas las claves de firma. ¿Confirmas esta acción?", "Full name of the main company or main user of this instance" : "Nombre completo de la empresa principal o del usuario principal de esta instancia", "Not mandatory, don't fill to use default value." : "No es obligatorio, no llenar para usar el valor predeterminado.", - "Root certificate data." : "Datos del certificado raíz", "To generate new signatures, you must first generate the root certificate." : "Para generar nuevas firmas, primero debes generar el certificado raíz.", - "Generate root certificate." : "Generar certificado raíz", "Generating certificate." : "Generando certificado", "Could not generate certificate." : "No se pudo generar el certificado", "Generated certificate!" : "¡Certificado generado!", @@ -311,14 +307,19 @@ OC.L10N.register( "Validate File" : "Validar archivo", "Add visible signatures" : "Agregar firmas visibles", "Are you sure you want to exclude user {email} from the request?" : "¿Estás seguro de que deseas excluir al usuario {email} de la solicitud?", + "Password & Security" : "Contraseña y seguridad", + "Create password key" : "Crear clave de contraseña", + "Reset password" : "Restablecer contraseña", "Nothing to do" : "Nada que hacer", "Validate Document" : "Validar documento", "Do you want to configure visible elements in this document?" : "¿Deseas configurar elementos visibles en este documento?", - "Collect signers metadata when sign a document" : "Recopilar metadatos de los firmantes al firmar un documento", - "Collect signers metadata" : "Recopilar metadatos de los firmantes", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Al habilitar esta función, cada vez que un documento se firma, LibreSign almacenará la dirección IP y el agente de usuario del firmante", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binarios necesarios para trabajar. La descarga podría ocupar aproximadamente 340 MB, por favor espera un momento.", + "Enter the emails that will receive the request" : "Ingresa los correos electrónicos que recibirán la solicitud", + "Signatures for this document have already been requested" : "Las firmas de este documento ya han sido solicitadas", + "Add users" : "Agregar usuarios", + "Advice" : "Aviso", "Define custom values to use CFSSL" : "Definir valores personalizados para usar CFSSL", + "Root certificate data." : "Datos del certificado raíz", + "Generate root certificate." : "Generar certificado raíz", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_EC.json b/l10n/es_EC.json index 1d3600882a..415311d041 100644 --- a/l10n/es_EC.json +++ b/l10n/es_EC.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID inválido", "Success" : "Éxito", "Invalid user or password" : "Usuario o contraseña inválidos", "_Element created with success_::_Elements created with success_" : ["Elemento creado exitosamente","Elementos creados exitosamente","Elementos creados exitosamente"], @@ -7,6 +8,7 @@ "Element updated with success" : "Elemento actualizado exitosamente", "Visible element deleted" : "Elemento visible eliminado", "Settings saved" : "Se han guardado las configuraciones ", + "New password to sign documents has been created" : "Se ha creado una nueva contraseña para firmar documentos", "Name is mandatory" : "El nombre es obligatorio", "Notification sent with success." : "Notificación enviada exitosamente.", "File signed" : "Archivo firmado", @@ -24,10 +26,12 @@ "Invalid Sign engine." : "Motor de firma inválido.", "Digital signed by LibreSign." : "Firmado digitalmente por LibreSign.", "Validate in %s." : "Validar en %s.", + "Invalid data to validate file" : "Datos inválidos para validar el archivo", "File type: %s. Empty file." : "Tipo de archivo: %s. Archivo vacío.", "Elements of type %s need file." : "Elementos de tipo %s necesitan un archivo.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Tipo de archivo: %s. Especifica una URL, una cadena base64 o un ID de archivo.", "File type: %s. Invalid fileID." : "Tipo de archivo: %s. ID de archivo inválido.", + "User not found." : "Usuario no encontrado.", "document to sign" : "documento a firmar", "visible element" : "elemento visible", "File type: %s. Invalid base64 file." : "Tipo de archivo: %s. Archivo base64 inválido.", @@ -54,7 +58,6 @@ "Sign process already started. Unable to change status." : "El proceso de firma ya ha comenzado. No se puede cambiar el estado.", "Inform or UUID or a File object" : "Informa un UUID o un objeto de archivo", "No user data" : "No hay datos de usuario", - "User not found." : "Usuario no encontrado.", "User %s has no email address." : "El usuario %s no tiene dirección de correo electrónico.", "Email required" : "Correo electrónico requerido", "Invalid email" : "Correo electrónico inválido", @@ -62,7 +65,6 @@ "No signature was requested to %s" : "No se solicitó firma a %s", "%s already signed this file" : "%s ya firmó este archivo", "Invalid UUID file" : "UUID de archivo inválido", - "Invalid UUID" : "UUID inválido", "Signer not associated to this file" : "Firmante no asociado a este archivo", "A file of this type has been associated." : "Se ha asociado un archivo de este tipo.", "File already signed." : "Archivo ya firmado.", @@ -81,7 +83,7 @@ "Invalid URL file" : "Archivo URL inválido", "Visible element file must be png." : "El archivo del elemento visible debe ser en formato png.", "Empty file" : "Archivo vacío", - "Invalid data to validate file" : "Datos inválidos para validar el archivo", + "File is too big" : "El archivo es demasiado grande.", "Invalid file identifier" : "Identificador de archivo inválido", "You need to sign this document" : "Necesitas firmar este documento", "You cannot request signature for this document, please contact your administrator" : "No puedes solicitar la firma de este documento, por favor contacta a tu administrador", @@ -95,7 +97,6 @@ "Email" : "Correo electrónico", "User already exists" : "El usuario ya existe", "This is not your file" : "Este archivo no es tuyo", - "Password" : "Contraseña", "LibreSign: Changes into a file for you to sign" : "LibreSign: Cambios en un archivo que debes firmar", "File to sign" : "Archivo para firmar", "Changes have been made in a file that you have to sign. Access the link below:" : "Se han realizado cambios en un archivo que debes firmar. Accede al siguiente enlace:", @@ -127,6 +128,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicación de firma digital para Nextcloud.", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Incorrect password!" : "¡Contraseña incorrecta!", "Text" : "Texto", @@ -163,9 +165,8 @@ "Request signatures?" : "¿Solicitar firmas?", "Element created" : "Elemento creado", "Details" : "Detalles", - "Password & Security" : "Contraseña y seguridad", - "Create password key" : "Crear clave de contraseña", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", + "Delete certificate" : "Eliminar certificado", "Not sent yet" : "No enviado aún", "Not defined yet" : "Aún no definido", "Select a file" : "Seleccionar un archivo", @@ -186,7 +187,6 @@ "Password Creation" : "Creación de contraseña", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Por razones de seguridad, debes crear una contraseña para firmar los documentos. Ingresa tu nueva contraseña en el campo de abajo.", "Enter a password" : "Ingresa una contraseña", - "New password to sign documents has been created" : "Se ha creado una nueva contraseña para firmar documentos", "Error creating new password, please contact the administrator" : "Error al crear una nueva contraseña, por favor contacta al administrador", "Create new subscription." : "Crear nueva suscripción.", "Root certificate has not been configured by the Administrator!" : "¡El certificado raíz no ha sido configurado por el administrador!", @@ -213,12 +213,11 @@ "Request Signatures" : "Solicitar firmas", "Choose the file to request signatures." : "Elige el archivo para solicitar firmas.", "Choose from Files" : "Elegir desde archivos", - "Enter the emails that will receive the request" : "Ingresa los correos electrónicos que recibirán la solicitud", - "Signatures for this document have already been requested" : "Las firmas de este documento ya han sido solicitadas", - "Add users" : "Agregar usuarios", + "Send" : "Enviar", "Select your file" : "Selecciona tu archivo", "Password reset" : "Restablecer contraseña", "Enter new password and then repeat it" : "Ingresa la nueva contraseña y repítela", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Allow request to sign" : "Permitir solicitar firma", @@ -231,7 +230,6 @@ "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Al habilitar esta función, cada vez que un documento se firme, LibreSign almacenará la dirección IP y el agente de usuario del firmante.", "Message" : "Mensaje", "Resource" : "Recurso", - "Advice" : "Aviso", "Configuration check" : "Revisión de configuración", "Status of setup" : "Estado de la configuración", "Customize default user folder" : "Personalizar la carpeta de usuario predeterminada", @@ -256,9 +254,7 @@ "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "La regeneración del certificado raíz invalidará todas las claves de firma. ¿Confirmas esta acción?", "Full name of the main company or main user of this instance" : "Nombre completo de la empresa principal o del usuario principal de esta instancia", "Not mandatory, don't fill to use default value." : "No es obligatorio, no llenar para usar el valor predeterminado.", - "Root certificate data." : "Datos del certificado raíz", "To generate new signatures, you must first generate the root certificate." : "Para generar nuevas firmas, primero debes generar el certificado raíz.", - "Generate root certificate." : "Generar certificado raíz", "Generating certificate." : "Generando certificado", "Could not generate certificate." : "No se pudo generar el certificado", "Generated certificate!" : "¡Certificado generado!", @@ -309,14 +305,19 @@ "Validate File" : "Validar archivo", "Add visible signatures" : "Agregar firmas visibles", "Are you sure you want to exclude user {email} from the request?" : "¿Estás seguro de que deseas excluir al usuario {email} de la solicitud?", + "Password & Security" : "Contraseña y seguridad", + "Create password key" : "Crear clave de contraseña", + "Reset password" : "Restablecer contraseña", "Nothing to do" : "Nada que hacer", "Validate Document" : "Validar documento", "Do you want to configure visible elements in this document?" : "¿Deseas configurar elementos visibles en este documento?", - "Collect signers metadata when sign a document" : "Recopilar metadatos de los firmantes al firmar un documento", - "Collect signers metadata" : "Recopilar metadatos de los firmantes", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Al habilitar esta función, cada vez que un documento se firma, LibreSign almacenará la dirección IP y el agente de usuario del firmante", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binarios necesarios para trabajar. La descarga podría ocupar aproximadamente 340 MB, por favor espera un momento.", + "Enter the emails that will receive the request" : "Ingresa los correos electrónicos que recibirán la solicitud", + "Signatures for this document have already been requested" : "Las firmas de este documento ya han sido solicitadas", + "Add users" : "Agregar usuarios", + "Advice" : "Aviso", "Define custom values to use CFSSL" : "Definir valores personalizados para usar CFSSL", + "Root certificate data." : "Datos del certificado raíz", + "Generate root certificate." : "Generar certificado raíz", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_GT.js b/l10n/es_GT.js index 2b1ae97eb8..76e436a95c 100644 --- a/l10n/es_GT.js +++ b/l10n/es_GT.js @@ -7,14 +7,15 @@ OC.L10N.register( "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -30,7 +31,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -41,7 +42,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -49,6 +52,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_GT.json b/l10n/es_GT.json index b295b7a27a..800f5b030d 100644 --- a/l10n/es_GT.json +++ b/l10n/es_GT.json @@ -5,14 +5,15 @@ "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -28,7 +29,7 @@ "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -39,7 +40,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -47,6 +50,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_HN.js b/l10n/es_HN.js index a99f8b2ddb..4c31fec00d 100644 --- a/l10n/es_HN.js +++ b/l10n/es_HN.js @@ -6,14 +6,15 @@ OC.L10N.register( "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -28,7 +29,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -39,7 +40,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -47,6 +50,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_HN.json b/l10n/es_HN.json index 33f3cc6c29..6498c26401 100644 --- a/l10n/es_HN.json +++ b/l10n/es_HN.json @@ -4,14 +4,15 @@ "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -26,7 +27,7 @@ "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -37,7 +38,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -45,6 +48,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_MX.js b/l10n/es_MX.js index 2e212eae72..c5641a6ee8 100644 --- a/l10n/es_MX.js +++ b/l10n/es_MX.js @@ -8,14 +8,15 @@ OC.L10N.register( "View" : "Ver", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Ajustes", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -33,7 +34,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Select a file" : "Select a file", "Type" : "Tipo", "Status" : "Estatus", @@ -45,7 +46,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -53,6 +56,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_MX.json b/l10n/es_MX.json index 917b0e3f59..e0e1ff1465 100644 --- a/l10n/es_MX.json +++ b/l10n/es_MX.json @@ -6,14 +6,15 @@ "View" : "Ver", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Ajustes", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -31,7 +32,7 @@ "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Select a file" : "Select a file", "Type" : "Tipo", "Status" : "Estatus", @@ -43,7 +44,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -51,6 +54,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_NI.js b/l10n/es_NI.js index c5d040e6a8..9b31417b82 100644 --- a/l10n/es_NI.js +++ b/l10n/es_NI.js @@ -6,14 +6,15 @@ OC.L10N.register( "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -29,7 +30,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -40,7 +41,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -48,6 +51,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_NI.json b/l10n/es_NI.json index 9925acece6..40b1c5f76f 100644 --- a/l10n/es_NI.json +++ b/l10n/es_NI.json @@ -4,14 +4,15 @@ "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -27,7 +28,7 @@ "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -38,7 +39,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -46,6 +49,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_PA.js b/l10n/es_PA.js index c5d040e6a8..9b31417b82 100644 --- a/l10n/es_PA.js +++ b/l10n/es_PA.js @@ -6,14 +6,15 @@ OC.L10N.register( "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -29,7 +30,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -40,7 +41,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -48,6 +51,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_PA.json b/l10n/es_PA.json index 9925acece6..40b1c5f76f 100644 --- a/l10n/es_PA.json +++ b/l10n/es_PA.json @@ -4,14 +4,15 @@ "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -27,7 +28,7 @@ "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -38,7 +39,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -46,6 +49,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_PE.js b/l10n/es_PE.js index 19ee7b537b..3ffa390361 100644 --- a/l10n/es_PE.js +++ b/l10n/es_PE.js @@ -6,14 +6,15 @@ OC.L10N.register( "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Ajustes", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -29,7 +30,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -40,7 +41,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -48,6 +51,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_PE.json b/l10n/es_PE.json index 3133ace46b..a3f4f04cb9 100644 --- a/l10n/es_PE.json +++ b/l10n/es_PE.json @@ -4,14 +4,15 @@ "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Ajustes", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -27,7 +28,7 @@ "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -38,7 +39,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -46,6 +49,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_PR.js b/l10n/es_PR.js index c5d040e6a8..9b31417b82 100644 --- a/l10n/es_PR.js +++ b/l10n/es_PR.js @@ -6,14 +6,15 @@ OC.L10N.register( "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -29,7 +30,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -40,7 +41,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -48,6 +51,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_PR.json b/l10n/es_PR.json index 9925acece6..40b1c5f76f 100644 --- a/l10n/es_PR.json +++ b/l10n/es_PR.json @@ -4,14 +4,15 @@ "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -27,7 +28,7 @@ "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -38,7 +39,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -46,6 +49,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_PY.js b/l10n/es_PY.js index c5d040e6a8..9b31417b82 100644 --- a/l10n/es_PY.js +++ b/l10n/es_PY.js @@ -6,14 +6,15 @@ OC.L10N.register( "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -29,7 +30,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -40,7 +41,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -48,6 +51,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_PY.json b/l10n/es_PY.json index 9925acece6..40b1c5f76f 100644 --- a/l10n/es_PY.json +++ b/l10n/es_PY.json @@ -4,14 +4,15 @@ "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -27,7 +28,7 @@ "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -38,7 +39,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -46,6 +49,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_SV.js b/l10n/es_SV.js index 2b1ae97eb8..76e436a95c 100644 --- a/l10n/es_SV.js +++ b/l10n/es_SV.js @@ -7,14 +7,15 @@ OC.L10N.register( "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -30,7 +31,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -41,7 +42,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -49,6 +52,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_SV.json b/l10n/es_SV.json index b295b7a27a..800f5b030d 100644 --- a/l10n/es_SV.json +++ b/l10n/es_SV.json @@ -5,14 +5,15 @@ "File sharing" : "Compartir archivos", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -28,7 +29,7 @@ "Next" : "Siguiente", "Previous" : "Previo", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -39,7 +40,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -47,6 +50,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/es_UY.js b/l10n/es_UY.js index c5d040e6a8..9b31417b82 100644 --- a/l10n/es_UY.js +++ b/l10n/es_UY.js @@ -6,14 +6,15 @@ OC.L10N.register( "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -29,7 +30,7 @@ OC.L10N.register( "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -40,7 +41,9 @@ OC.L10N.register( "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -48,6 +51,7 @@ OC.L10N.register( "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_UY.json b/l10n/es_UY.json index 9925acece6..40b1c5f76f 100644 --- a/l10n/es_UY.json +++ b/l10n/es_UY.json @@ -4,14 +4,15 @@ "deleted" : "Borrado", "File not found" : "Archivo no encontrado", "File already exists" : "El archivo ya existe", + "File is too big" : "El archivo es demasiado grande.", "Account" : "Cuenta", "Invalid user" : "Usuario inválido", "Email" : "Correo electrónico", - "Password" : "Contraseña", "Files" : "Archivos", "Settings" : "Configuraciones ", "Authentication required" : "Autenticación requerida", "This action requires you to confirm your password" : "Esta acción requiere que confirmes tu contraseña", + "Password" : "Contraseña", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Cargar", @@ -27,7 +28,7 @@ "Next" : "Siguiente", "Previous" : "Anterior", "Details" : "Detalles", - "Reset password" : "Restablecer contraseña", + "Certificate" : "Certificado", "Type" : "Tipo", "Status" : "Estatus", "Actions" : "Acciones", @@ -38,7 +39,9 @@ "Yes" : "Sí", "No" : "No", "Page not found" : "Página no encontrada", + "Send" : "Enviar", "Password reset" : "Restablecer contraseña", + "Current password" : "Contraseña actual", "New password" : "Nueva contraseña", "Repeat password" : "Repetir contraseña", "Message" : "Mensaje", @@ -46,6 +49,7 @@ "Dependencies" : "Dependencias", "Pending" : "Pendiente", "No date" : "Sin fecha", + "Reset password" : "Restablecer contraseña", "Remove" : "Eliminar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/et_EE.js b/l10n/et_EE.js index bbc4b6a4b3..fedf2282c6 100644 --- a/l10n/et_EE.js +++ b/l10n/et_EE.js @@ -7,15 +7,16 @@ OC.L10N.register( "File not found" : "Faili ei leitud", "File already exists" : "Fail on juba olemas", "Empty file" : "Tühi fail", + "File is too big" : "Fail on liiga suur", "Account" : "Konto", "Invalid user" : "Vigane kasutaja", "Email" : "Epost", - "Password" : "Parool", "Invalid password" : "Vale salasõna", "Files" : "Failid", "Settings" : "Seaded", "Authentication required" : "Autentimine on vajalik", "This action requires you to confirm your password" : "See tegevus nõuab parooli kinnitamist", + "Password" : "Parool", "Confirm" : "Kinnita", "Upload" : "Lae üles", "Apply" : "Rakenda", @@ -32,7 +33,7 @@ OC.L10N.register( "Next" : "Järgmine", "Previous" : "Eelmine", "Details" : "Üksikasjad", - "Reset password" : "Lähtesta parool", + "Certificate" : "Sertifikaat", "Select a file" : "Select a file", "Type" : "Tüüp", "Status" : "Staatus", @@ -44,13 +45,16 @@ OC.L10N.register( "Yes" : "Jah", "No" : "Ei", "Page not found" : "Lehekülge ei leitud", + "Send" : "Saada", "Password reset" : "Parooli taastamine ", + "Current password" : "Praegune parool", "New password" : "Uus parool", "Message" : "Sõnum", "Resource" : "Ressurss", "Dependencies" : "Sõltuvused", "Pending" : "Ootel", "No date" : "No date", + "Reset password" : "Lähtesta parool", "Remove" : "Eemalda" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/et_EE.json b/l10n/et_EE.json index 05a6cdf2b6..8b2d825096 100644 --- a/l10n/et_EE.json +++ b/l10n/et_EE.json @@ -5,15 +5,16 @@ "File not found" : "Faili ei leitud", "File already exists" : "Fail on juba olemas", "Empty file" : "Tühi fail", + "File is too big" : "Fail on liiga suur", "Account" : "Konto", "Invalid user" : "Vigane kasutaja", "Email" : "Epost", - "Password" : "Parool", "Invalid password" : "Vale salasõna", "Files" : "Failid", "Settings" : "Seaded", "Authentication required" : "Autentimine on vajalik", "This action requires you to confirm your password" : "See tegevus nõuab parooli kinnitamist", + "Password" : "Parool", "Confirm" : "Kinnita", "Upload" : "Lae üles", "Apply" : "Rakenda", @@ -30,7 +31,7 @@ "Next" : "Järgmine", "Previous" : "Eelmine", "Details" : "Üksikasjad", - "Reset password" : "Lähtesta parool", + "Certificate" : "Sertifikaat", "Select a file" : "Select a file", "Type" : "Tüüp", "Status" : "Staatus", @@ -42,13 +43,16 @@ "Yes" : "Jah", "No" : "Ei", "Page not found" : "Lehekülge ei leitud", + "Send" : "Saada", "Password reset" : "Parooli taastamine ", + "Current password" : "Praegune parool", "New password" : "Uus parool", "Message" : "Sõnum", "Resource" : "Ressurss", "Dependencies" : "Sõltuvused", "Pending" : "Ootel", "No date" : "No date", + "Reset password" : "Lähtesta parool", "Remove" : "Eemalda" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/eu.js b/l10n/eu.js index 99c0d67d2c..162ac2f717 100644 --- a/l10n/eu.js +++ b/l10n/eu.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID baliogabea", "Success" : "Arrakasta", "Invalid user or password" : "Erabiltzailea edo pasahitza baliogabea da", "_Element created with success_::_Elements created with success_" : ["Elementua ondo sortu da","Elementuak ondo sortu dira"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Elementua ondo eguneratu da", "Visible element deleted" : "Elementu ikusgarria ezabatuta", "Settings saved" : "Ezarpenak gordeta", + "New password to sign documents has been created" : "Dokumentuak sinatzeko pasahitz berria sortu da", "Name is mandatory" : "Izena nahitaezkoa da", "Notification sent with success." : "Jakinarazpena arrakastaz bidali da.", "File signed" : "Fitxategia sinatuta", @@ -26,10 +28,12 @@ OC.L10N.register( "Invalid Sign engine." : "Sinatzeko motore baliogabea.", "Digital signed by LibreSign." : "LibreSign-en sinadura digitala.", "Validate in %s." : "Balioztatu %s-n", + "Invalid data to validate file" : "Datu baliohabeak fitxategia balioztatzeko", "File type: %s. Empty file." : "Fitxategi mota: %s. Fitxategi hutsa.", "Elements of type %s need file." : "%s motako elementuak fitxategia behar dute.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Fitxategi mota: %s. Idatzi URL, base64 edo fileID bat.", "File type: %s. Invalid fileID." : "Fitxategi mota: %s. FileID baliogabea.", + "User not found." : "Ez da erabiltzailea aurkitu.", "document to sign" : "sinatzeko dokumentua", "visible element" : "elementu ikusgarria", "File type: %s. Invalid base64 file." : "Fitxategi mota: %s. Base64 fitxategi baliogabea.", @@ -56,7 +60,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Sinadura prozesua dagoeneko hasi da. Ezin da egoera aldatu.", "Inform or UUID or a File object" : "Jakinarazpen edo UUID edo fitxategi elementu bat", "No user data" : " Erabiltzaile-daturik ez", - "User not found." : "Ez da erabiltzailea aurkitu.", "User %s has no email address." : "%s erabiltzaileak ez du helbide elektronikorik", "Email required" : "Posta elektronikoa behar da", "Invalid email" : "E-posta baliogabea", @@ -64,7 +67,6 @@ OC.L10N.register( "No signature was requested to %s" : "Ez da %s(e)rako sinadura eskatu", "%s already signed this file" : "%s.k fitxategi hau sinatu du dagoeneko", "Invalid UUID file" : "UUID fitxategi baliogabea", - "Invalid UUID" : "UUID baliogabea", "Signer not associated to this file" : "Sinatzailea ez dago fitxategi honekin erlazionatuta", "A file of this type has been associated." : "Mota honetako fitxategi bat lotu da.", "File already signed." : "Fitxategia dagoeneko sinatu da.", @@ -84,7 +86,7 @@ OC.L10N.register( "Invalid URL file" : "URL fitxategi baliogabea", "Visible element file must be png." : "Elementu ikusgarriaren fitxategia png izan behar da.", "Empty file" : "Fitxategi hutsa", - "Invalid data to validate file" : "Datu baliohabeak fitxategia balioztatzeko", + "File is too big" : "Fitxategia handiegia da", "Invalid file identifier" : "Fitxategi identifikatzaile baliogabea", "You need to sign this document" : "Dokumentu hau sinatu behar duzu", "You cannot request signature for this document, please contact your administrator" : "Ezin duzu dokumentu honen sinadura eskatu, mesedez, jarri harremanetan administratzailearekin", @@ -98,7 +100,6 @@ OC.L10N.register( "Email" : "E-posta", "User already exists" : "Erabiltzailea dagoeneko existitzen da", "This is not your file" : "Hau ez da zure fitxategia", - "Password" : "Pasahitza", "Invalid password" : "Pasahitz baliogabea", "LibreSign: Changes into a file for you to sign" : "LibreSign: fitxategi batean aldaketak zuk sinatzeko", "File to sign" : "Sinatzeko fitxategia", @@ -131,6 +132,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, sinadura digitaleko aplikazioa Nextcloud-erako.", "Authentication required" : "Autentikazioa beharrezkoa", "This action requires you to confirm your password" : "Ekintza honek zure pasahitza berrestea eskatzen du", + "Password" : "Pasahitza", "Confirm" : "Berretsi", "Incorrect password!" : "Pasahitz okerra!", "Text" : "Testua", @@ -167,9 +169,9 @@ OC.L10N.register( "Request signatures?" : "Sinadurak eskatu?", "Element created" : "Elementua sortuta", "Details" : "Xehetasunak", - "Password & Security" : "Pasahitza eta segurtasuna", - "Create password key" : "Pasahitz gakoa sortu", - "Reset password" : "Berrezarri pasahitza", + "Certificate" : "Ziurtagiria", + "Delete certificate" : "Ezabatu ziurtagiria", + "Change password" : "Pasahitza aldatu", "Not sent yet" : "Oraindik bidali gabe", "Not defined yet" : "Definitu gabe oraindik", "Select a file" : "Hautatu fitxategi bat", @@ -190,7 +192,6 @@ OC.L10N.register( "Password Creation" : "Pasahitz sorrera", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Segurtasun arrazoiak direla eta, pasahitza sortu behar duzu dokumentuak sinatzeko. Sartu pasahitz berria beheko eremuan.", "Enter a password" : "Sartu pasahitza", - "New password to sign documents has been created" : "Dokumentuak sinatzeko pasahitz berria sortu da", "Error creating new password, please contact the administrator" : "Errorea pasahitz berria sortzean, jarri administratzailearekin harremanetan", "Create new subscription." : "Sortu harpidetza berria.", "Root certificate has not been configured by the Administrator!" : "Administratzaileak ez du root ziurtagiria konfiguratu!", @@ -217,12 +218,11 @@ OC.L10N.register( "Request Signatures" : "Eskatu sinadurak", "Choose the file to request signatures." : "Aukeratu fitxategia sinadurak eskatzeko.", "Choose from Files" : "Aukeratu Fitxategiak-etik", - "Enter the emails that will receive the request" : "Idatzi eskaera jasoko duten mezu elektronikoak", - "Signatures for this document have already been requested" : "Dokumentu honen sinadurak eskatu dira dagoeneko ", - "Add users" : "Gehitu erabiltzaileak", + "Send" : "Bidali", "Select your file" : "Aukeratu zure fitxategia", "Password reset" : "Pasahitza berezarri", "Enter new password and then repeat it" : "Idatzi pasahitz berria eta errepikatu", + "Current password" : "Uneko pasahitza", "New password" : "Pasahitz berria", "Repeat password" : "Errepikatu pasahitza", "Allow request to sign" : "Baimendu sinatzeko eskaera", @@ -235,7 +235,7 @@ OC.L10N.register( "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Aukera hau gaituta, dokumentu bat sinatzen den bakoitzean LibreSign-ek sinatzailearen IP helbidea eta erabiltzaile-agentea gordeko ditu.", "Message" : "Mezua", "Resource" : "Edukia", - "Advice" : "Aholkua", + "Tip" : "Argibidea", "Configuration check" : "Konfigurazioaren egiaztapena", "Status of setup" : "Konfigurazioaren egoera", "Customize default user folder" : "Pertsonalizatu lehenetsitako erabiltzaile karpeta", @@ -260,9 +260,7 @@ OC.L10N.register( "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Erro zertifikatua berriro sortzeak sinadura gako guztiak baliogabetuko ditu. Ekintza hau berretsi nahi duzu?", "Full name of the main company or main user of this instance" : "Instantzia honetako enpresa nagusiaren edo erabiltzaile nagusiaren izena", "Not mandatory, don't fill to use default value." : "Ez da nahitaezkoa, betetzen ez bada balio lehenetsia erabiliko da.", - "Root certificate data." : "Root ziurtagiriaren datuak.", "To generate new signatures, you must first generate the root certificate." : "Sinadura berriak sortzeko, lehenik root ziurtagiria sortu behar duzu.", - "Generate root certificate." : "Sortu root ziurtagiria.", "Generating certificate." : "Ziurtagiria sortzen.", "Could not generate certificate." : "Ezin izan da ziurtagiria sortu.", "Generated certificate!" : "Sortutako ziurtagiria!", @@ -313,14 +311,19 @@ OC.L10N.register( "Validate File" : "Balidatu fitxategia", "Add visible signatures" : "Gehitu sinadura ikusgarriak", "Are you sure you want to exclude user {email} from the request?" : "Ziur zaude {email} eskaeratik baztertu nahi duzula?", + "Password & Security" : "Pasahitza eta segurtasuna", + "Create password key" : "Pasahitz gakoa sortu", + "Reset password" : "Berrezarri pasahitza", "Nothing to do" : "Ez dago ezer egiteko", "Validate Document" : "Balioztatu dokumentua", "Do you want to configure visible elements in this document?" : "Elementu ikusgarriak konfiguratu nahi dituzu dokumentu honetan?", - "Collect signers metadata when sign a document" : "Bildu sinatzailearen metadatuak, dokumentu bat sinatzen duenean", - "Collect signers metadata" : "Bildu sinatzailearen metadatuak", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Aukera hau gaituta, dokumentu bat sinatzen den bakoitzean LibreSign-ek sinatzailearen IP helbidea eta erabiltzaile-agentea gordeko ditu.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binarioak behar dira funtzionatzeko. Deskargaren tamaina 340Mb-ekoa izan daiteke, itxaron une batez.", + "Enter the emails that will receive the request" : "Idatzi eskaera jasoko duten mezu elektronikoak", + "Signatures for this document have already been requested" : "Dokumentu honen sinadurak eskatu dira dagoeneko ", + "Add users" : "Gehitu erabiltzaileak", + "Advice" : "Aholkua", "Define custom values to use CFSSL" : "Definitu CFSSL erabiltzeko balio pertsonalizatuak", + "Root certificate data." : "Root ziurtagiriaren datuak.", + "Generate root certificate." : "Sortu root ziurtagiria.", "Remove" : "Kendu" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/eu.json b/l10n/eu.json index ebda237aeb..6cb744dd9f 100644 --- a/l10n/eu.json +++ b/l10n/eu.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID baliogabea", "Success" : "Arrakasta", "Invalid user or password" : "Erabiltzailea edo pasahitza baliogabea da", "_Element created with success_::_Elements created with success_" : ["Elementua ondo sortu da","Elementuak ondo sortu dira"], @@ -7,6 +8,7 @@ "Element updated with success" : "Elementua ondo eguneratu da", "Visible element deleted" : "Elementu ikusgarria ezabatuta", "Settings saved" : "Ezarpenak gordeta", + "New password to sign documents has been created" : "Dokumentuak sinatzeko pasahitz berria sortu da", "Name is mandatory" : "Izena nahitaezkoa da", "Notification sent with success." : "Jakinarazpena arrakastaz bidali da.", "File signed" : "Fitxategia sinatuta", @@ -24,10 +26,12 @@ "Invalid Sign engine." : "Sinatzeko motore baliogabea.", "Digital signed by LibreSign." : "LibreSign-en sinadura digitala.", "Validate in %s." : "Balioztatu %s-n", + "Invalid data to validate file" : "Datu baliohabeak fitxategia balioztatzeko", "File type: %s. Empty file." : "Fitxategi mota: %s. Fitxategi hutsa.", "Elements of type %s need file." : "%s motako elementuak fitxategia behar dute.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Fitxategi mota: %s. Idatzi URL, base64 edo fileID bat.", "File type: %s. Invalid fileID." : "Fitxategi mota: %s. FileID baliogabea.", + "User not found." : "Ez da erabiltzailea aurkitu.", "document to sign" : "sinatzeko dokumentua", "visible element" : "elementu ikusgarria", "File type: %s. Invalid base64 file." : "Fitxategi mota: %s. Base64 fitxategi baliogabea.", @@ -54,7 +58,6 @@ "Sign process already started. Unable to change status." : "Sinadura prozesua dagoeneko hasi da. Ezin da egoera aldatu.", "Inform or UUID or a File object" : "Jakinarazpen edo UUID edo fitxategi elementu bat", "No user data" : " Erabiltzaile-daturik ez", - "User not found." : "Ez da erabiltzailea aurkitu.", "User %s has no email address." : "%s erabiltzaileak ez du helbide elektronikorik", "Email required" : "Posta elektronikoa behar da", "Invalid email" : "E-posta baliogabea", @@ -62,7 +65,6 @@ "No signature was requested to %s" : "Ez da %s(e)rako sinadura eskatu", "%s already signed this file" : "%s.k fitxategi hau sinatu du dagoeneko", "Invalid UUID file" : "UUID fitxategi baliogabea", - "Invalid UUID" : "UUID baliogabea", "Signer not associated to this file" : "Sinatzailea ez dago fitxategi honekin erlazionatuta", "A file of this type has been associated." : "Mota honetako fitxategi bat lotu da.", "File already signed." : "Fitxategia dagoeneko sinatu da.", @@ -82,7 +84,7 @@ "Invalid URL file" : "URL fitxategi baliogabea", "Visible element file must be png." : "Elementu ikusgarriaren fitxategia png izan behar da.", "Empty file" : "Fitxategi hutsa", - "Invalid data to validate file" : "Datu baliohabeak fitxategia balioztatzeko", + "File is too big" : "Fitxategia handiegia da", "Invalid file identifier" : "Fitxategi identifikatzaile baliogabea", "You need to sign this document" : "Dokumentu hau sinatu behar duzu", "You cannot request signature for this document, please contact your administrator" : "Ezin duzu dokumentu honen sinadura eskatu, mesedez, jarri harremanetan administratzailearekin", @@ -96,7 +98,6 @@ "Email" : "E-posta", "User already exists" : "Erabiltzailea dagoeneko existitzen da", "This is not your file" : "Hau ez da zure fitxategia", - "Password" : "Pasahitza", "Invalid password" : "Pasahitz baliogabea", "LibreSign: Changes into a file for you to sign" : "LibreSign: fitxategi batean aldaketak zuk sinatzeko", "File to sign" : "Sinatzeko fitxategia", @@ -129,6 +130,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, sinadura digitaleko aplikazioa Nextcloud-erako.", "Authentication required" : "Autentikazioa beharrezkoa", "This action requires you to confirm your password" : "Ekintza honek zure pasahitza berrestea eskatzen du", + "Password" : "Pasahitza", "Confirm" : "Berretsi", "Incorrect password!" : "Pasahitz okerra!", "Text" : "Testua", @@ -165,9 +167,9 @@ "Request signatures?" : "Sinadurak eskatu?", "Element created" : "Elementua sortuta", "Details" : "Xehetasunak", - "Password & Security" : "Pasahitza eta segurtasuna", - "Create password key" : "Pasahitz gakoa sortu", - "Reset password" : "Berrezarri pasahitza", + "Certificate" : "Ziurtagiria", + "Delete certificate" : "Ezabatu ziurtagiria", + "Change password" : "Pasahitza aldatu", "Not sent yet" : "Oraindik bidali gabe", "Not defined yet" : "Definitu gabe oraindik", "Select a file" : "Hautatu fitxategi bat", @@ -188,7 +190,6 @@ "Password Creation" : "Pasahitz sorrera", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Segurtasun arrazoiak direla eta, pasahitza sortu behar duzu dokumentuak sinatzeko. Sartu pasahitz berria beheko eremuan.", "Enter a password" : "Sartu pasahitza", - "New password to sign documents has been created" : "Dokumentuak sinatzeko pasahitz berria sortu da", "Error creating new password, please contact the administrator" : "Errorea pasahitz berria sortzean, jarri administratzailearekin harremanetan", "Create new subscription." : "Sortu harpidetza berria.", "Root certificate has not been configured by the Administrator!" : "Administratzaileak ez du root ziurtagiria konfiguratu!", @@ -215,12 +216,11 @@ "Request Signatures" : "Eskatu sinadurak", "Choose the file to request signatures." : "Aukeratu fitxategia sinadurak eskatzeko.", "Choose from Files" : "Aukeratu Fitxategiak-etik", - "Enter the emails that will receive the request" : "Idatzi eskaera jasoko duten mezu elektronikoak", - "Signatures for this document have already been requested" : "Dokumentu honen sinadurak eskatu dira dagoeneko ", - "Add users" : "Gehitu erabiltzaileak", + "Send" : "Bidali", "Select your file" : "Aukeratu zure fitxategia", "Password reset" : "Pasahitza berezarri", "Enter new password and then repeat it" : "Idatzi pasahitz berria eta errepikatu", + "Current password" : "Uneko pasahitza", "New password" : "Pasahitz berria", "Repeat password" : "Errepikatu pasahitza", "Allow request to sign" : "Baimendu sinatzeko eskaera", @@ -233,7 +233,7 @@ "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Aukera hau gaituta, dokumentu bat sinatzen den bakoitzean LibreSign-ek sinatzailearen IP helbidea eta erabiltzaile-agentea gordeko ditu.", "Message" : "Mezua", "Resource" : "Edukia", - "Advice" : "Aholkua", + "Tip" : "Argibidea", "Configuration check" : "Konfigurazioaren egiaztapena", "Status of setup" : "Konfigurazioaren egoera", "Customize default user folder" : "Pertsonalizatu lehenetsitako erabiltzaile karpeta", @@ -258,9 +258,7 @@ "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Erro zertifikatua berriro sortzeak sinadura gako guztiak baliogabetuko ditu. Ekintza hau berretsi nahi duzu?", "Full name of the main company or main user of this instance" : "Instantzia honetako enpresa nagusiaren edo erabiltzaile nagusiaren izena", "Not mandatory, don't fill to use default value." : "Ez da nahitaezkoa, betetzen ez bada balio lehenetsia erabiliko da.", - "Root certificate data." : "Root ziurtagiriaren datuak.", "To generate new signatures, you must first generate the root certificate." : "Sinadura berriak sortzeko, lehenik root ziurtagiria sortu behar duzu.", - "Generate root certificate." : "Sortu root ziurtagiria.", "Generating certificate." : "Ziurtagiria sortzen.", "Could not generate certificate." : "Ezin izan da ziurtagiria sortu.", "Generated certificate!" : "Sortutako ziurtagiria!", @@ -311,14 +309,19 @@ "Validate File" : "Balidatu fitxategia", "Add visible signatures" : "Gehitu sinadura ikusgarriak", "Are you sure you want to exclude user {email} from the request?" : "Ziur zaude {email} eskaeratik baztertu nahi duzula?", + "Password & Security" : "Pasahitza eta segurtasuna", + "Create password key" : "Pasahitz gakoa sortu", + "Reset password" : "Berrezarri pasahitza", "Nothing to do" : "Ez dago ezer egiteko", "Validate Document" : "Balioztatu dokumentua", "Do you want to configure visible elements in this document?" : "Elementu ikusgarriak konfiguratu nahi dituzu dokumentu honetan?", - "Collect signers metadata when sign a document" : "Bildu sinatzailearen metadatuak, dokumentu bat sinatzen duenean", - "Collect signers metadata" : "Bildu sinatzailearen metadatuak", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Aukera hau gaituta, dokumentu bat sinatzen den bakoitzean LibreSign-ek sinatzailearen IP helbidea eta erabiltzaile-agentea gordeko ditu.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binarioak behar dira funtzionatzeko. Deskargaren tamaina 340Mb-ekoa izan daiteke, itxaron une batez.", + "Enter the emails that will receive the request" : "Idatzi eskaera jasoko duten mezu elektronikoak", + "Signatures for this document have already been requested" : "Dokumentu honen sinadurak eskatu dira dagoeneko ", + "Add users" : "Gehitu erabiltzaileak", + "Advice" : "Aholkua", "Define custom values to use CFSSL" : "Definitu CFSSL erabiltzeko balio pertsonalizatuak", + "Root certificate data." : "Root ziurtagiriaren datuak.", + "Generate root certificate." : "Sortu root ziurtagiria.", "Remove" : "Kendu" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/fa.js b/l10n/fa.js index 6f3d7c5e84..8a10a6382f 100644 --- a/l10n/fa.js +++ b/l10n/fa.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Invalid UUID", "Success" : "موفقیت", "Invalid user or password" : "Invalid user or password", "_Element created with success_::_Elements created with success_" : ["Element created with success","Elements created with success"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Element updated with success", "Visible element deleted" : "Visible element deleted", "Settings saved" : "تنظیمات ذخیره شد", + "New password to sign documents has been created" : "New password to sign documents has been created", "Name is mandatory" : "Name is mandatory", "Notification sent with success." : "Notification sent with success.", "File signed" : "File signed", @@ -26,10 +28,12 @@ OC.L10N.register( "Invalid Sign engine." : "Invalid Sign engine.", "Digital signed by LibreSign." : "Digital signed by LibreSign.", "Validate in %s." : "Validate in %s.", + "Invalid data to validate file" : "Invalid data to validate file", "File type: %s. Empty file." : "File type: %s. Empty file.", "Elements of type %s need file." : "Elements of type %s need file.", "File type: %s. Specify a URL, a base64 string or a fileID." : "File type: %s. Specify a URL, a base64 string or a fileID.", "File type: %s. Invalid fileID." : "File type: %s. Invalid fileID.", + "User not found." : "User not found.", "document to sign" : "document to sign", "visible element" : "visible element", "File type: %s. Invalid base64 file." : "File type: %s. Invalid base64 file.", @@ -56,7 +60,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Sign process already started. Unable to change status.", "Inform or UUID or a File object" : "Inform or UUID or a File object", "No user data" : "No user data", - "User not found." : "User not found.", "User %s has no email address." : "User %s has no email address.", "Email required" : "Email required", "Invalid email" : "Invalid email", @@ -64,7 +67,6 @@ OC.L10N.register( "No signature was requested to %s" : "No signature was requested to %s", "%s already signed this file" : "%s already signed this file", "Invalid UUID file" : "Invalid UUID file", - "Invalid UUID" : "Invalid UUID", "Signer not associated to this file" : "Signer not associated to this file", "A file of this type has been associated." : "A file of this type has been associated.", "File already signed." : "File already signed.", @@ -83,7 +85,7 @@ OC.L10N.register( "Invalid URL file" : "Invalid URL file", "Visible element file must be png." : "Visible element file must be png.", "Empty file" : "پرونده خالی", - "Invalid data to validate file" : "Invalid data to validate file", + "File is too big" : "فایل خیلی بزرگ است", "Invalid file identifier" : "Invalid file identifier", "You need to sign this document" : "You need to sign this document", "You cannot request signature for this document, please contact your administrator" : "You cannot request signature for this document, please contact your administrator", @@ -97,7 +99,6 @@ OC.L10N.register( "Email" : "رایانامه", "User already exists" : "User already exists", "This is not your file" : "This is not your file", - "Password" : "کلمه عبور", "LibreSign: Changes into a file for you to sign" : "LibreSign: Changes into a file for you to sign", "File to sign" : "File to sign", "Changes have been made in a file that you have to sign. Access the link below:" : "Changes have been made in a file that you have to sign. Access the link below:", @@ -129,6 +130,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, digital signature app for Nextcloud.", "Authentication required" : "احراز هویت مورد نیاز است", "This action requires you to confirm your password" : "این اقدام نیاز به تایید رمز عبور شما دارد", + "Password" : "کلمه عبور", "Confirm" : "تائید", "Incorrect password!" : "Incorrect password!", "Text" : "متن", @@ -165,9 +167,9 @@ OC.L10N.register( "Request signatures?" : "Request signatures?", "Element created" : "Element created", "Details" : "جزئیات", - "Password & Security" : "Password & Security", - "Create password key" : "Create password key", - "Reset password" : "تنظیم مجدد رمز عبور", + "Certificate" : "گواهی", + "Delete certificate" : "Delete certificate", + "Change password" : "تغییر گذرواژه", "Not sent yet" : "Not sent yet", "Not defined yet" : "Not defined yet", "Select a file" : "Select a file", @@ -188,7 +190,6 @@ OC.L10N.register( "Password Creation" : "Password Creation", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "For security reasons, you must create a password to sign the documents. Enter your new password in the field below.", "Enter a password" : "یک گذرواژه وارد کنید", - "New password to sign documents has been created" : "New password to sign documents has been created", "Error creating new password, please contact the administrator" : "Error creating new password, please contact the administrator", "Create new subscription." : "Create new subscription.", "Root certificate has not been configured by the Administrator!" : "Root certificate has not been configured by the Administrator!", @@ -215,12 +216,11 @@ OC.L10N.register( "Request Signatures" : "Request Signatures", "Choose the file to request signatures." : "Choose the file to request signatures.", "Choose from Files" : "Choose from Files", - "Enter the emails that will receive the request" : "Enter the emails that will receive the request", - "Signatures for this document have already been requested" : "Signatures for this document have already been requested", - "Add users" : "Add users", + "Send" : "ارسال", "Select your file" : "Select your file", "Password reset" : "تنظیم مجدد رمز عبور", "Enter new password and then repeat it" : "Enter new password and then repeat it", + "Current password" : "گذرواژه کنونی", "New password" : "گذرواژه جدید", "Repeat password" : "تکرار رمز عبور", "Allow request to sign" : "Allow request to sign", @@ -233,7 +233,6 @@ OC.L10N.register( "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer.", "Message" : "پیام", "Resource" : "منابع", - "Advice" : "Advice", "Configuration check" : "Configuration check", "Status of setup" : "Status of setup", "Customize default user folder" : "Customize default user folder", @@ -258,9 +257,7 @@ OC.L10N.register( "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?", "Full name of the main company or main user of this instance" : "Full name of the main company or main user of this instance", "Not mandatory, don't fill to use default value." : "Not mandatory, don't fill to use default value.", - "Root certificate data." : "Root certificate data.", "To generate new signatures, you must first generate the root certificate." : "To generate new signatures, you must first generate the root certificate.", - "Generate root certificate." : "Generate root certificate.", "Generating certificate." : "Generating certificate.", "Could not generate certificate." : "Could not generate certificate.", "Generated certificate!" : "Generated certificate!", @@ -311,14 +308,19 @@ OC.L10N.register( "Validate File" : "Validate File", "Add visible signatures" : "Add visible signatures", "Are you sure you want to exclude user {email} from the request?" : "Are you sure you want to exclude user {email} from the request?", + "Password & Security" : "Password & Security", + "Create password key" : "Create password key", + "Reset password" : "تنظیم مجدد رمز عبور", "Nothing to do" : "Nothing to do", "Validate Document" : "Validate Document", "Do you want to configure visible elements in this document?" : "Do you want to configure visible elements in this document?", - "Collect signers metadata when sign a document" : "Collect signers metadata when sign a document", - "Collect signers metadata" : "Collect signers metadata", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binaries required to work. Could be near by 340Mb to download, wait a moment.", + "Enter the emails that will receive the request" : "Enter the emails that will receive the request", + "Signatures for this document have already been requested" : "Signatures for this document have already been requested", + "Add users" : "Add users", + "Advice" : "Advice", "Define custom values to use CFSSL" : "Define custom values to use CFSSL", + "Root certificate data." : "Root certificate data.", + "Generate root certificate." : "Generate root certificate.", "Remove" : "حذف" }, "nplurals=2; plural=(n > 1);"); diff --git a/l10n/fa.json b/l10n/fa.json index d431697d3a..7732878cb6 100644 --- a/l10n/fa.json +++ b/l10n/fa.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Invalid UUID", "Success" : "موفقیت", "Invalid user or password" : "Invalid user or password", "_Element created with success_::_Elements created with success_" : ["Element created with success","Elements created with success"], @@ -7,6 +8,7 @@ "Element updated with success" : "Element updated with success", "Visible element deleted" : "Visible element deleted", "Settings saved" : "تنظیمات ذخیره شد", + "New password to sign documents has been created" : "New password to sign documents has been created", "Name is mandatory" : "Name is mandatory", "Notification sent with success." : "Notification sent with success.", "File signed" : "File signed", @@ -24,10 +26,12 @@ "Invalid Sign engine." : "Invalid Sign engine.", "Digital signed by LibreSign." : "Digital signed by LibreSign.", "Validate in %s." : "Validate in %s.", + "Invalid data to validate file" : "Invalid data to validate file", "File type: %s. Empty file." : "File type: %s. Empty file.", "Elements of type %s need file." : "Elements of type %s need file.", "File type: %s. Specify a URL, a base64 string or a fileID." : "File type: %s. Specify a URL, a base64 string or a fileID.", "File type: %s. Invalid fileID." : "File type: %s. Invalid fileID.", + "User not found." : "User not found.", "document to sign" : "document to sign", "visible element" : "visible element", "File type: %s. Invalid base64 file." : "File type: %s. Invalid base64 file.", @@ -54,7 +58,6 @@ "Sign process already started. Unable to change status." : "Sign process already started. Unable to change status.", "Inform or UUID or a File object" : "Inform or UUID or a File object", "No user data" : "No user data", - "User not found." : "User not found.", "User %s has no email address." : "User %s has no email address.", "Email required" : "Email required", "Invalid email" : "Invalid email", @@ -62,7 +65,6 @@ "No signature was requested to %s" : "No signature was requested to %s", "%s already signed this file" : "%s already signed this file", "Invalid UUID file" : "Invalid UUID file", - "Invalid UUID" : "Invalid UUID", "Signer not associated to this file" : "Signer not associated to this file", "A file of this type has been associated." : "A file of this type has been associated.", "File already signed." : "File already signed.", @@ -81,7 +83,7 @@ "Invalid URL file" : "Invalid URL file", "Visible element file must be png." : "Visible element file must be png.", "Empty file" : "پرونده خالی", - "Invalid data to validate file" : "Invalid data to validate file", + "File is too big" : "فایل خیلی بزرگ است", "Invalid file identifier" : "Invalid file identifier", "You need to sign this document" : "You need to sign this document", "You cannot request signature for this document, please contact your administrator" : "You cannot request signature for this document, please contact your administrator", @@ -95,7 +97,6 @@ "Email" : "رایانامه", "User already exists" : "User already exists", "This is not your file" : "This is not your file", - "Password" : "کلمه عبور", "LibreSign: Changes into a file for you to sign" : "LibreSign: Changes into a file for you to sign", "File to sign" : "File to sign", "Changes have been made in a file that you have to sign. Access the link below:" : "Changes have been made in a file that you have to sign. Access the link below:", @@ -127,6 +128,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, digital signature app for Nextcloud.", "Authentication required" : "احراز هویت مورد نیاز است", "This action requires you to confirm your password" : "این اقدام نیاز به تایید رمز عبور شما دارد", + "Password" : "کلمه عبور", "Confirm" : "تائید", "Incorrect password!" : "Incorrect password!", "Text" : "متن", @@ -163,9 +165,9 @@ "Request signatures?" : "Request signatures?", "Element created" : "Element created", "Details" : "جزئیات", - "Password & Security" : "Password & Security", - "Create password key" : "Create password key", - "Reset password" : "تنظیم مجدد رمز عبور", + "Certificate" : "گواهی", + "Delete certificate" : "Delete certificate", + "Change password" : "تغییر گذرواژه", "Not sent yet" : "Not sent yet", "Not defined yet" : "Not defined yet", "Select a file" : "Select a file", @@ -186,7 +188,6 @@ "Password Creation" : "Password Creation", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "For security reasons, you must create a password to sign the documents. Enter your new password in the field below.", "Enter a password" : "یک گذرواژه وارد کنید", - "New password to sign documents has been created" : "New password to sign documents has been created", "Error creating new password, please contact the administrator" : "Error creating new password, please contact the administrator", "Create new subscription." : "Create new subscription.", "Root certificate has not been configured by the Administrator!" : "Root certificate has not been configured by the Administrator!", @@ -213,12 +214,11 @@ "Request Signatures" : "Request Signatures", "Choose the file to request signatures." : "Choose the file to request signatures.", "Choose from Files" : "Choose from Files", - "Enter the emails that will receive the request" : "Enter the emails that will receive the request", - "Signatures for this document have already been requested" : "Signatures for this document have already been requested", - "Add users" : "Add users", + "Send" : "ارسال", "Select your file" : "Select your file", "Password reset" : "تنظیم مجدد رمز عبور", "Enter new password and then repeat it" : "Enter new password and then repeat it", + "Current password" : "گذرواژه کنونی", "New password" : "گذرواژه جدید", "Repeat password" : "تکرار رمز عبور", "Allow request to sign" : "Allow request to sign", @@ -231,7 +231,6 @@ "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer.", "Message" : "پیام", "Resource" : "منابع", - "Advice" : "Advice", "Configuration check" : "Configuration check", "Status of setup" : "Status of setup", "Customize default user folder" : "Customize default user folder", @@ -256,9 +255,7 @@ "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?", "Full name of the main company or main user of this instance" : "Full name of the main company or main user of this instance", "Not mandatory, don't fill to use default value." : "Not mandatory, don't fill to use default value.", - "Root certificate data." : "Root certificate data.", "To generate new signatures, you must first generate the root certificate." : "To generate new signatures, you must first generate the root certificate.", - "Generate root certificate." : "Generate root certificate.", "Generating certificate." : "Generating certificate.", "Could not generate certificate." : "Could not generate certificate.", "Generated certificate!" : "Generated certificate!", @@ -309,14 +306,19 @@ "Validate File" : "Validate File", "Add visible signatures" : "Add visible signatures", "Are you sure you want to exclude user {email} from the request?" : "Are you sure you want to exclude user {email} from the request?", + "Password & Security" : "Password & Security", + "Create password key" : "Create password key", + "Reset password" : "تنظیم مجدد رمز عبور", "Nothing to do" : "Nothing to do", "Validate Document" : "Validate Document", "Do you want to configure visible elements in this document?" : "Do you want to configure visible elements in this document?", - "Collect signers metadata when sign a document" : "Collect signers metadata when sign a document", - "Collect signers metadata" : "Collect signers metadata", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binaries required to work. Could be near by 340Mb to download, wait a moment.", + "Enter the emails that will receive the request" : "Enter the emails that will receive the request", + "Signatures for this document have already been requested" : "Signatures for this document have already been requested", + "Add users" : "Add users", + "Advice" : "Advice", "Define custom values to use CFSSL" : "Define custom values to use CFSSL", + "Root certificate data." : "Root certificate data.", + "Generate root certificate." : "Generate root certificate.", "Remove" : "حذف" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/l10n/fi.js b/l10n/fi.js index 013dfcbf11..3f6c2ffb76 100644 --- a/l10n/fi.js +++ b/l10n/fi.js @@ -1,12 +1,14 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Virheellinen UUID", "Success" : "Onnistui", "Invalid user or password" : "Virheellinen käyttäjä tai salasana", "Elements not found" : "Elementtejä ei löydy", "Element not found" : "Elementtiä ei löydy", "Visible element deleted" : "Näkyvä elementti poistettu", "Settings saved" : "Asetukset tallennettu", + "New password to sign documents has been created" : "Uusi salasana asiakirjojen allekirjoittamista varten on luotu", "Name is mandatory" : "Nimi on pakollinen", "Notification sent with success." : "Ilmoitus lähetetty onnistuneesti.", "File signed" : "Tiedosto allekirjoitettu", @@ -20,6 +22,7 @@ OC.L10N.register( "Digital signed by LibreSign." : "Digitaalisesti allekirjoitettu LibreSignilla.", "File type: %s. Empty file." : "Tiedostotyyppi: %s. Tyhjä tiedosto.", "File type: %s. Invalid fileID." : "Tiedoston tyyppi: %s. Virheellinen fileID.", + "User not found." : "Käyttäjää ei löytynyt.", "document to sign" : "allekirjoitettava asiakirja", "visible element" : "näkyvä elementti", "File type: %s. Invalid base64 file." : "Tiedostotyyppi: %s. Virheellinen base64-tiedosto.", @@ -33,14 +36,12 @@ OC.L10N.register( "This file is not yours" : "Tämä tiedosto ei ole sinun", "Invalid fileID" : "Virheellinen fileID", "You are not allowed to request signing" : "Sinulla ei ole oikeutta pyytää allekirjoitusta", - "User not found." : "Käyttäjää ei löytynyt.", "User %s has no email address." : "Käyttäjällä %s ei ole sähköpostiosoitetta.", "Email required" : "Sähköpostiosoite vaaditaan", "Invalid email" : "Virheellinen sähköpostiosoite", "File not loaded" : "Tiedostoa ei ole ladattu", "%s already signed this file" : "%s allekirjoitti jo tämän tiedoston", "Invalid UUID file" : "Virheellinen UUID-tiedosto", - "Invalid UUID" : "Virheellinen UUID", "File already signed." : "Tiedosto on jo allekirjoitettu.", "Invalid code." : "Virheellinen koodi.", "Invalid file type." : "Virheellinen tiedostotyyppi.", @@ -55,6 +56,7 @@ OC.L10N.register( "Invalid URL file" : "Virheellinen URL-tiedosto", "Visible element file must be png." : "Näkyvän elementtitiedoston tulee olla png.", "Empty file" : "Tyhjä tiedosto", + "File is too big" : "Tiedosto on liian suuri", "You need to sign this document" : "Sinun tulee allekirjoittaa tämä asiakirja", "No signers." : "Ei allekirjoittajia.", "You must not sign this file." : "Sinun ei pidä allekirjoittaa tätä tiedostoa.", @@ -66,7 +68,6 @@ OC.L10N.register( "Email" : "Sähköposti", "User already exists" : "Käyttäjä on jo olemassa", "This is not your file" : "Tämä ei ole tiedostosi", - "Password" : "Salasana", "Invalid password" : "Virheellinen salasana", "File to sign" : "Allekirjoitettava tiedosto", "Changes have been made in a file that you have to sign. Access the link below:" : "Tiedostoon, joka sinun tulee allekirjoittaa, on tehty muutoksia. Linkki alapuolella:", @@ -87,6 +88,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, digitaalisen allekirjoituksen sovellus Nextcloudille.", "Authentication required" : "Tunnistautuminen vaaditaan", "This action requires you to confirm your password" : "Toiminto vaatii vahvistamista salasanallasi", + "Password" : "Salasana", "Confirm" : "Vahvista", "Incorrect password!" : "Virheellinen salasana!", "Text" : "Teksti", @@ -119,9 +121,8 @@ OC.L10N.register( "Account not exist" : "Tiliä ei ole olemassa", "Sign" : "Allekirjoita", "Details" : "Tiedot", - "Password & Security" : "Salasana ja turvallisuus", - "Create password key" : "Luo salasana-avain", - "Reset password" : "Palauta salasana", + "Certificate" : "Varmenne", + "Delete certificate" : "Poista varmenne", "Not sent yet" : "Ei vielä lähetetty", "Select a file" : "Select a file", "File was sent." : "Tiedosto lähetettiin.", @@ -138,7 +139,6 @@ OC.L10N.register( "Profile picture" : "Profiilikuva", "Password Creation" : "Salasanan luonti", "Enter a password" : "Syötä salasana", - "New password to sign documents has been created" : "Uusi salasana asiakirjojen allekirjoittamista varten on luotu", "Error creating new password, please contact the administrator" : "Virhe luotaessa uutta salasanaa, ole yhteydessä ylläpitoon.", "Create new subscription." : "Luo uusi tilaus.", "Confirm password" : "Vahvista salasana", @@ -158,11 +158,11 @@ OC.L10N.register( "Request Signatures" : "Pyydä allekirjoituksia", "Choose the file to request signatures." : "Valitse tiedosto pyytääkseesi allekirjoituksia.", "Choose from Files" : "Valitse Tiedostoista", - "Enter the emails that will receive the request" : "Anna sähköpostiosoitteet, johon pyyntö lähetetään", - "Add users" : "Lisää käyttäjiä", + "Send" : "Lähetä", "Select your file" : "Valitse tiedostosi", "Password reset" : "Salasanan palautus", "Enter new password and then repeat it" : "Kirjoita uusi salasana ja toista se", + "Current password" : "Nykyinen salasana", "New password" : "Uusi salasana", "Repeat password" : "Toista salasana", "Message" : "Viesti", @@ -171,7 +171,6 @@ OC.L10N.register( "Legal Information" : "Lainopilliset tiedot", "This information will appear on the validation page" : "Tämä tieto näkyy validointisivulla", "Name (CN)" : "Nimi (CN)", - "Generate root certificate." : "Luo juurivarmenne.", "Generating certificate." : "Luodaan varmennetta.", "Could not generate certificate." : "Varmennetta ei voitu luoda.", "Generated certificate!" : "Varmenne luotu!", @@ -194,7 +193,13 @@ OC.L10N.register( "User created!" : "Käyttäjä luotu!", "Password created!" : "Salasana luotu!", "Validate File" : "Validoi tiedosto", + "Password & Security" : "Salasana ja turvallisuus", + "Create password key" : "Luo salasana-avain", + "Reset password" : "Palauta salasana", "Validate Document" : "Validoi asiakirja", + "Enter the emails that will receive the request" : "Anna sähköpostiosoitteet, johon pyyntö lähetetään", + "Add users" : "Lisää käyttäjiä", + "Generate root certificate." : "Luo juurivarmenne.", "Remove" : "Poista" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/fi.json b/l10n/fi.json index dc086d99ca..eefd2a9460 100644 --- a/l10n/fi.json +++ b/l10n/fi.json @@ -1,10 +1,12 @@ { "translations": { + "Invalid UUID" : "Virheellinen UUID", "Success" : "Onnistui", "Invalid user or password" : "Virheellinen käyttäjä tai salasana", "Elements not found" : "Elementtejä ei löydy", "Element not found" : "Elementtiä ei löydy", "Visible element deleted" : "Näkyvä elementti poistettu", "Settings saved" : "Asetukset tallennettu", + "New password to sign documents has been created" : "Uusi salasana asiakirjojen allekirjoittamista varten on luotu", "Name is mandatory" : "Nimi on pakollinen", "Notification sent with success." : "Ilmoitus lähetetty onnistuneesti.", "File signed" : "Tiedosto allekirjoitettu", @@ -18,6 +20,7 @@ "Digital signed by LibreSign." : "Digitaalisesti allekirjoitettu LibreSignilla.", "File type: %s. Empty file." : "Tiedostotyyppi: %s. Tyhjä tiedosto.", "File type: %s. Invalid fileID." : "Tiedoston tyyppi: %s. Virheellinen fileID.", + "User not found." : "Käyttäjää ei löytynyt.", "document to sign" : "allekirjoitettava asiakirja", "visible element" : "näkyvä elementti", "File type: %s. Invalid base64 file." : "Tiedostotyyppi: %s. Virheellinen base64-tiedosto.", @@ -31,14 +34,12 @@ "This file is not yours" : "Tämä tiedosto ei ole sinun", "Invalid fileID" : "Virheellinen fileID", "You are not allowed to request signing" : "Sinulla ei ole oikeutta pyytää allekirjoitusta", - "User not found." : "Käyttäjää ei löytynyt.", "User %s has no email address." : "Käyttäjällä %s ei ole sähköpostiosoitetta.", "Email required" : "Sähköpostiosoite vaaditaan", "Invalid email" : "Virheellinen sähköpostiosoite", "File not loaded" : "Tiedostoa ei ole ladattu", "%s already signed this file" : "%s allekirjoitti jo tämän tiedoston", "Invalid UUID file" : "Virheellinen UUID-tiedosto", - "Invalid UUID" : "Virheellinen UUID", "File already signed." : "Tiedosto on jo allekirjoitettu.", "Invalid code." : "Virheellinen koodi.", "Invalid file type." : "Virheellinen tiedostotyyppi.", @@ -53,6 +54,7 @@ "Invalid URL file" : "Virheellinen URL-tiedosto", "Visible element file must be png." : "Näkyvän elementtitiedoston tulee olla png.", "Empty file" : "Tyhjä tiedosto", + "File is too big" : "Tiedosto on liian suuri", "You need to sign this document" : "Sinun tulee allekirjoittaa tämä asiakirja", "No signers." : "Ei allekirjoittajia.", "You must not sign this file." : "Sinun ei pidä allekirjoittaa tätä tiedostoa.", @@ -64,7 +66,6 @@ "Email" : "Sähköposti", "User already exists" : "Käyttäjä on jo olemassa", "This is not your file" : "Tämä ei ole tiedostosi", - "Password" : "Salasana", "Invalid password" : "Virheellinen salasana", "File to sign" : "Allekirjoitettava tiedosto", "Changes have been made in a file that you have to sign. Access the link below:" : "Tiedostoon, joka sinun tulee allekirjoittaa, on tehty muutoksia. Linkki alapuolella:", @@ -85,6 +86,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, digitaalisen allekirjoituksen sovellus Nextcloudille.", "Authentication required" : "Tunnistautuminen vaaditaan", "This action requires you to confirm your password" : "Toiminto vaatii vahvistamista salasanallasi", + "Password" : "Salasana", "Confirm" : "Vahvista", "Incorrect password!" : "Virheellinen salasana!", "Text" : "Teksti", @@ -117,9 +119,8 @@ "Account not exist" : "Tiliä ei ole olemassa", "Sign" : "Allekirjoita", "Details" : "Tiedot", - "Password & Security" : "Salasana ja turvallisuus", - "Create password key" : "Luo salasana-avain", - "Reset password" : "Palauta salasana", + "Certificate" : "Varmenne", + "Delete certificate" : "Poista varmenne", "Not sent yet" : "Ei vielä lähetetty", "Select a file" : "Select a file", "File was sent." : "Tiedosto lähetettiin.", @@ -136,7 +137,6 @@ "Profile picture" : "Profiilikuva", "Password Creation" : "Salasanan luonti", "Enter a password" : "Syötä salasana", - "New password to sign documents has been created" : "Uusi salasana asiakirjojen allekirjoittamista varten on luotu", "Error creating new password, please contact the administrator" : "Virhe luotaessa uutta salasanaa, ole yhteydessä ylläpitoon.", "Create new subscription." : "Luo uusi tilaus.", "Confirm password" : "Vahvista salasana", @@ -156,11 +156,11 @@ "Request Signatures" : "Pyydä allekirjoituksia", "Choose the file to request signatures." : "Valitse tiedosto pyytääkseesi allekirjoituksia.", "Choose from Files" : "Valitse Tiedostoista", - "Enter the emails that will receive the request" : "Anna sähköpostiosoitteet, johon pyyntö lähetetään", - "Add users" : "Lisää käyttäjiä", + "Send" : "Lähetä", "Select your file" : "Valitse tiedostosi", "Password reset" : "Salasanan palautus", "Enter new password and then repeat it" : "Kirjoita uusi salasana ja toista se", + "Current password" : "Nykyinen salasana", "New password" : "Uusi salasana", "Repeat password" : "Toista salasana", "Message" : "Viesti", @@ -169,7 +169,6 @@ "Legal Information" : "Lainopilliset tiedot", "This information will appear on the validation page" : "Tämä tieto näkyy validointisivulla", "Name (CN)" : "Nimi (CN)", - "Generate root certificate." : "Luo juurivarmenne.", "Generating certificate." : "Luodaan varmennetta.", "Could not generate certificate." : "Varmennetta ei voitu luoda.", "Generated certificate!" : "Varmenne luotu!", @@ -192,7 +191,13 @@ "User created!" : "Käyttäjä luotu!", "Password created!" : "Salasana luotu!", "Validate File" : "Validoi tiedosto", + "Password & Security" : "Salasana ja turvallisuus", + "Create password key" : "Luo salasana-avain", + "Reset password" : "Palauta salasana", "Validate Document" : "Validoi asiakirja", + "Enter the emails that will receive the request" : "Anna sähköpostiosoitteet, johon pyyntö lähetetään", + "Add users" : "Lisää käyttäjiä", + "Generate root certificate." : "Luo juurivarmenne.", "Remove" : "Poista" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/fr.js b/l10n/fr.js index 39e8abe6fe..f301311ee8 100644 --- a/l10n/fr.js +++ b/l10n/fr.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID non valide", "Success" : "Succès", "Invalid user or password" : "Nom d'utilisateur ou mot de passe incorrect", "_Element created with success_::_Elements created with success_" : ["Élément créé avec succès","Élément créé avec succès","Éléments créés avec succès"], @@ -9,6 +10,9 @@ OC.L10N.register( "Element updated with success" : "Élément mis à jour avec succès", "Visible element deleted" : "Élément visible effacé", "Settings saved" : "Paramètres sauvegardés", + "Certificate file deleted with success." : "Fichier du certificat supprimé avec succès.", + "Certificate file saved with success." : "Fichier du certificat enregistré avec succès.", + "New password to sign documents has been created" : "Un nouveau mot de passe pour signer des documents a été créé", "Name is mandatory" : "Le nom est obligatoire", "Notification sent with success." : "Notification envoyée avec succès.", "File signed" : "Fichier signé", @@ -28,10 +32,13 @@ OC.L10N.register( "Invalid Sign engine." : "Moteur de signature invalide.", "Digital signed by LibreSign." : "Signé numériquement avec LibreSign.", "Validate in %s." : "Validé en %s.", + "Invalid data to validate file" : "Données invalides pour valider le fichier", "File type: %s. Empty file." : "Type de fichier %s. Fichier vide.", "Elements of type %s need file." : "Les éléments de type %s on besoin d'un fichier.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Fichier de type : %s. Renseignez une URL, une chaine en base64 ou un fileID.", "File type: %s. Invalid fileID." : "Type de fichier %s. Identifiant de fichier invalide.", + "User not found." : "Utilisateur non trouvé.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Fichier de type : %s. Renseignez une URL, une chaine en base64, un chemin ou un fileID.", "document to sign" : "document à signer", "visible element" : "élément visible", "File type: %s. Invalid base64 file." : "Type de fichier: %s. Fichier Base64 invalide.", @@ -58,7 +65,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Le processus de signature est déjà en cours. Impossible de changer le statut.", "Inform or UUID or a File object" : "Renseignez soit l'UUID soit un objet de type Fichier", "No user data" : "Pas de données utilisateur", - "User not found." : "Utilisateur non trouvé.", "User %s has no email address." : "L'utilisateur %s ne possède pas d'adresse e-mail.", "Email required" : "E-mail requis", "Invalid email" : "Adresse e-mail incorrecte", @@ -66,7 +72,6 @@ OC.L10N.register( "No signature was requested to %s" : "Aucune signature n'a été requise pour %s", "%s already signed this file" : "%s a déjà signé ce fichier", "Invalid UUID file" : "Fichier UUID invalide", - "Invalid UUID" : "UUID non valide", "Signer not associated to this file" : "Signataire non associé à ce fichier", "A file of this type has been associated." : "Un fichier de ce type a été associé.", "File already signed." : "Fichier déjà signé.", @@ -76,6 +81,7 @@ OC.L10N.register( "You are not allowed to approve user profile documents." : "Vous n'êtes pas autorisé à approuver des documents de profil utilisateur", "File sharing" : "Partage de fichier", "There is a file for you to sign" : "Vous devez signer ce fichier", + "Changes have been made in a file that you have to sign." : "Des modifications ont été faites dans un fichier que vous avez signé.", "View" : "Afficher", "UUID not found" : "UUID non trouvé", "Password is mandatory" : "Le mot de passe est obligatoire", @@ -86,7 +92,9 @@ OC.L10N.register( "Invalid URL file" : "FIchier URL non valide", "Visible element file must be png." : "Les éléments visibles doivent être des fichiers PNG", "Empty file" : "Fichier vide", - "Invalid data to validate file" : "Données invalides pour valider le fichier", + "No certificate file provided" : "Aucun fichier de certificat fourni", + "Invalid file provided. Need to be a .pfx file." : "Fichier fourni invalide. Doit être un fichier .pfx.", + "File is too big" : "Le fichier est trop gros", "Invalid file identifier" : "Identifiant de fichier invalide", "You need to sign this document" : "Vous devez signer ce document", "You cannot request signature for this document, please contact your administrator" : "Vous ne pouvez pas demander de signature pour ce fichier, merci de contacter votre administrateur", @@ -101,7 +109,7 @@ OC.L10N.register( "Email" : "E-mail", "User already exists" : "Cet utilisateur existe déjà", "This is not your file" : "Ce fichier ne vous appartient pas", - "Password" : "Mot de passe", + "Certificate with password" : "Certificat avec mot de passe", "Invalid password" : "Mot de passe incorrect", "LibreSign: Changes into a file for you to sign" : "LibreSign : Modifications dans un fichier à signer par vous", "File to sign" : "Fichier à signer", @@ -118,11 +126,13 @@ OC.L10N.register( "Document already signed" : "Document déjà signé", "Failure to generate certificate" : "Échec de la génération du certificat", "Empty root certificate data" : "Données du certificat racine vide", + "Invalid data to generate certificate" : "Données invalides pour générer un certificat", + "Failure on generate certificate" : "Échec de la génération du certificat", "File already signed by you" : "Vous avez déjà signé ce fichier", "Sending authorization code not enabled." : "L'envoi des codes de vérification est désactivé.", "%s is your LibreSign verification code." : "Votre code de vérification LibreSign est %s", "Authorize signing using %s token is disabled because Nextcloud Two-Factor Gateway is not enabled." : "Signer des documents avec le jeton %s est interdit car la passerelle d'authentification à facteurs multiples de NextCloud est désactivée.", - "Gateway %s not configured on Two-Factor Gateway." : "La passerelle %s n'a pas été configurée dans les réglages de la passerelle d'authentification à facteurs multiples.", + "Gateway %s not configured on Two-Factor Gateway." : "La passerelle %s n'a pas été configurée dans les paramètres de la passerelle d'authentification à double facteurs.", "Invalid PDF" : "PDF invalide", "LibreSign" : "LibreSign", "✍️ Libre digital signature app for Nextcloud" : "✍️ Application de signature numérique gratuite pour Nextcloud", @@ -136,6 +146,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, application de signature numérique pour Nextcloud. ", "Authentication required" : "Authentification requise", "This action requires you to confirm your password" : "Cette action nécessite de confirmer votre mot de passe", + "Password" : "Mot de passe", "Confirm" : "Confirmer", "Incorrect password!" : "Mot de passe incorrect !", "Text" : "Texte", @@ -178,10 +189,13 @@ OC.L10N.register( "Sign" : "Signer", "Request signatures?" : "Demander une signature ?", "Element created" : "Élément créé", + "signed at {date}" : "signé le {date}", "Details" : "Détails", - "Password & Security" : "Mot de passe et sécurité", - "Create password key" : "Créer un mot de passe pour la clé", - "Reset password" : "Réinitialiser le mot de passe", + "Certificate" : "Certificat", + "Upload certificate" : "Téléverser le certificat", + "Delete certificate" : "Supprimer le certificat", + "Create certificate" : "Créer un certificat", + "Change password" : "Changer de mot de passe", "Not sent yet" : "Non envoyé", "Not defined yet" : "Non encore défini", "Select a file" : "Sélectionner un fichier", @@ -195,14 +209,13 @@ OC.L10N.register( "Customize your signatures" : "Personnaliser vos signatures", "Your signatures" : "Vos signatures", "Signature" : "Signature", - "No signature, click here to create a new" : "Pas de signature, cliquez ici pour en créer une nouvelle", + "No signature, click here to create a new" : "Aucune signature, cliquez ici pour en créer une nouvelle", "Initials" : "Intiales", "No initials, click here to create a new" : "Pas d'initiales, cliquez ici pour en créer de nouvelles", "Profile picture" : "Photo de profil", "Password Creation" : "Création de mot de passe", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Pour des raisons de sécurité, vous devez créer un mot de passe pour signer les documents. Entrez un nouveau mot de passe dans le champ ci-dessous.", "Enter a password" : "Entrez un mot de passe", - "New password to sign documents has been created" : "Un nouveau mot de passe pour signer des documents a été créé", "Error creating new password, please contact the administrator" : "Erreur lors de la création du nouveau mot de passe, veuillez contacter l'administrateur", "Create new subscription." : "Créer un nouvel abonnement.", "Root certificate has not been configured by the Administrator!" : "Le certificat racine n'a pas été configuré par l'Administrateur !", @@ -230,32 +243,34 @@ OC.L10N.register( "The admin hasn't set up LibreSign yet, please wait." : "L'administrateur n'a pas encore configuré LibreSign, veuillez patienter.", "Request Signatures" : "Demander les signatures", "Choose the file to request signatures." : "Choisir le fichier pour les demandes de signature", + "Upload from URL" : "Téléverser depuis une URL", "Choose from Files" : "Choisir depuis Fichiers", - "Enter the emails that will receive the request" : "Saisissez les e-mails qui recevront les demandes", - "Signatures for this document have already been requested" : "Les signatures pour ce document ont déjà été demandées", - "Add users" : "Ajouter des utilisateurs", + "URL of a PDF file" : "URL ou fichier PDF", + "Send" : "Envoyer", "Select your file" : "Sélectionnez votre fichier", "Password reset" : "Réinitialisation du mot de passe", "Enter new password and then repeat it" : "Entrez un mot de passe et répétez-le", + "Current password" : "Mot de passe actuel", "New password" : "Nouveau mot de passe", "Repeat password" : "Répétez le mot de passe", "Allow request to sign" : "Permettre la demande de signature", - "Select authorized groups that can request to sign documents. Admin group is the default group and don't need to be defined." : "Sélectionnez les groupes autorisés à demander la signature de documents. Le groupe par défaut est Admin, il n'a pas besoin d'être définit.", + "Select authorized groups that can request to sign documents. Admin group is the default group and don't need to be defined." : "Sélectionnez les groupes autorisés à demander la signature de documents. Le groupe par défaut est Admin, il n'a pas besoin d'être défini.", "Optional attributes" : "Attributs optionnels", "Select a custom name" : "Sélectionner un nom personnalisé", "Remove custom name entry from root certificate" : "Supprimer l'entrée de nom personnalisé du certificat racine", - "Collect signers' metadata when signing a document" : "Recueillir les métadonnées des signataires lors de la signature d'un document.", + "I will not use root certificate" : "Je ne vais pas utiliser un certificat racine", + "Collect signers' metadata when signing a document" : "Recueillir les métadonnées des signataires lors de la signature d'un document", "Collect signers' metadata" : "Collecter les métadonnées des signataires", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "En activant cette fonctionnalité, chaque fois qu'un utilisateur signe un document, LibreSign enregistrera l'adresse IP et l'agent utilisateur du signataire.", "Message" : "Message", "Resource" : "Ressource", - "Advice" : "Conseil", + "Tip" : "Astuce", "Configuration check" : "Vérification de la configuration", "Status of setup" : "État de l'installation", - "Customize default user folder" : "Paramétrer le répertoire par défaut de l'utilisateur", + "Customize default user folder" : "Paramétrer le répertoire par défaut des utilisateurs", "Name of the folder that will contain the user's digital certificate, visible signature images, and other files related to LibreSign." : "Nom du dossier qui contiendra le certificat numérique de l'utilisateur, l'image de la signature visible, et d'autres fichiers liés à LibreSign.", "Dependencies" : "Dépendances", - "Binaries required to work. Download size could be nearly 340MB, please wait a moment." : "Exécutables nécessaires au fonctionnement. La taille de téléchargement peut être proche de 340 Mo, merci de patienter un moment.", + "Binaries required to work. Download size could be nearly 340MB, please wait a moment." : "Exécutables nécessaires au fonctionnement. La taille du téléchargement peut être proche de 340 Mo, merci de patienter un moment.", "Download binaries" : "Télécharger les exécutables", "Could not download binaries." : "Impossible de télécharger les exécutables", "Downloading binaries" : "Téléchargement des exécutables", @@ -266,6 +281,8 @@ OC.L10N.register( "The flow of identification documents will make it mandatory for anyone who must sign a file, send identification documents to be approved by some member of the approval group. The user can only create the certificate after approval of the identification documents." : "Le flux des documents d'identification rendra obligatoire pour quiconque devant signer un document, d'envoyer des documents d'identification devant recevoir l'agrément d'un membre du groupe Approbation. L'utilisateur ne peut créer le certificat qu'après approbation de ses documents d'identification.", "Allow account creation for new users" : "Permettre la création de comptes pour les nouveaux utilisateurs", "Default signature method" : "Méthode de signature par défaut ", + "Identify factors" : "Identifier les facteurs", + "Ways to identify a person who will sign a document." : "Façons d'identifier une personne qui va signer un document.", "Legal Information" : "Informations légales", "Legal information" : "Informations légales", "This information will appear on the validation page" : "Cette information apparaîtra sur la page de validation", @@ -277,9 +294,8 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "Nom complet de l'organisation ou de l'utilisateur principal de cette instance", "Define custom values to use {engine}" : "Définir des valeurs personnalisés pour utiliser {engine}", "Not mandatory, don't fill to use default value." : "Facultatif, ne pas remplir pour utiliser les valeurs par défaut.", - "Root certificate data." : "Données du certificat racine.", "To generate new signatures, you must first generate the root certificate." : "Pour générer de nouvelles signatures, vous devez d'abord générer le certificat racine.", - "Generate root certificate." : "Générer le certificat racine.", + "Generate root certificate" : "Générer un certificat racine", "Generating certificate." : "Génération du certificat. ", "Could not generate certificate." : "Impossible de générer le certificat.", "Generated certificate!" : "Certificat généré ! ", @@ -306,13 +322,13 @@ OC.L10N.register( "Unable to sign." : "Impossible de signer.", "All Files" : "Tous les fichiers", "Pending" : "En attente", - "Signed" : "Signé", + "Signed" : "Signés", "There are no documents" : "Il n'y a pas de documents", "Signatories:" : "Signataires :", "Return" : "Retour", "Document Informations" : "Informations sur le document", "Validate Subscription." : "Valider l'abonnement.", - "Enter the ID or UUID of the document to validate." : "Entrez l'identifiant ou l'UUID du document pour valider.", + "Enter the ID or UUID of the document to validate." : "Saisir l'identifiant ou l'UUID du document pour valider.", "Validation" : "Validation", "No date" : "Pas de date", "This document is valid" : "Ce document est valide", @@ -330,14 +346,19 @@ OC.L10N.register( "Validate File" : "Valider le fichier", "Add visible signatures" : "Ajouter des signatures visibles", "Are you sure you want to exclude user {email} from the request?" : "Etes-vous sûr de vouloir exclure l'utilisateur {email} de la requête ?", + "Password & Security" : "Mot de passe et sécurité", + "Create password key" : "Créer un mot de passe pour la clé", + "Reset password" : "Réinitialiser le mot de passe", "Nothing to do" : "Rien à faire", "Validate Document" : "Valider le document", "Do you want to configure visible elements in this document?" : "Souhaitez-vous configurer les éléments visibles dans ce document ?", - "Collect signers metadata when sign a document" : "Collecter les métadonnées sur les signataires lors de la signature d'un document.", - "Collect signers metadata" : "Collecter les métadonnées des signataires", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "En activant cette fonctionnalité, chaque fois qu'un utilisateur signe un document, LibreSign enregistrera l'adresse IP et l'agent utilisateur du signataire.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Exécutables nécessaires au fonctionnement. La taille de téléchargement peut être proche de 340 Mo, merci de patienter un moment.", + "Enter the emails that will receive the request" : "Saisissez les e-mails qui recevront les demandes", + "Signatures for this document have already been requested" : "Les signatures pour ce document ont déjà été demandées", + "Add users" : "Ajouter des utilisateurs", + "Advice" : "Conseil", "Define custom values to use CFSSL" : "Définir des valeurs personnalisées pour l'utilisation de CFSSL", + "Root certificate data." : "Données du certificat racine.", + "Generate root certificate." : "Générer le certificat racine.", "Remove" : "Retirer" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/fr.json b/l10n/fr.json index ec996ed87d..a1bcf9f9d9 100644 --- a/l10n/fr.json +++ b/l10n/fr.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID non valide", "Success" : "Succès", "Invalid user or password" : "Nom d'utilisateur ou mot de passe incorrect", "_Element created with success_::_Elements created with success_" : ["Élément créé avec succès","Élément créé avec succès","Éléments créés avec succès"], @@ -7,6 +8,9 @@ "Element updated with success" : "Élément mis à jour avec succès", "Visible element deleted" : "Élément visible effacé", "Settings saved" : "Paramètres sauvegardés", + "Certificate file deleted with success." : "Fichier du certificat supprimé avec succès.", + "Certificate file saved with success." : "Fichier du certificat enregistré avec succès.", + "New password to sign documents has been created" : "Un nouveau mot de passe pour signer des documents a été créé", "Name is mandatory" : "Le nom est obligatoire", "Notification sent with success." : "Notification envoyée avec succès.", "File signed" : "Fichier signé", @@ -26,10 +30,13 @@ "Invalid Sign engine." : "Moteur de signature invalide.", "Digital signed by LibreSign." : "Signé numériquement avec LibreSign.", "Validate in %s." : "Validé en %s.", + "Invalid data to validate file" : "Données invalides pour valider le fichier", "File type: %s. Empty file." : "Type de fichier %s. Fichier vide.", "Elements of type %s need file." : "Les éléments de type %s on besoin d'un fichier.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Fichier de type : %s. Renseignez une URL, une chaine en base64 ou un fileID.", "File type: %s. Invalid fileID." : "Type de fichier %s. Identifiant de fichier invalide.", + "User not found." : "Utilisateur non trouvé.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Fichier de type : %s. Renseignez une URL, une chaine en base64, un chemin ou un fileID.", "document to sign" : "document à signer", "visible element" : "élément visible", "File type: %s. Invalid base64 file." : "Type de fichier: %s. Fichier Base64 invalide.", @@ -56,7 +63,6 @@ "Sign process already started. Unable to change status." : "Le processus de signature est déjà en cours. Impossible de changer le statut.", "Inform or UUID or a File object" : "Renseignez soit l'UUID soit un objet de type Fichier", "No user data" : "Pas de données utilisateur", - "User not found." : "Utilisateur non trouvé.", "User %s has no email address." : "L'utilisateur %s ne possède pas d'adresse e-mail.", "Email required" : "E-mail requis", "Invalid email" : "Adresse e-mail incorrecte", @@ -64,7 +70,6 @@ "No signature was requested to %s" : "Aucune signature n'a été requise pour %s", "%s already signed this file" : "%s a déjà signé ce fichier", "Invalid UUID file" : "Fichier UUID invalide", - "Invalid UUID" : "UUID non valide", "Signer not associated to this file" : "Signataire non associé à ce fichier", "A file of this type has been associated." : "Un fichier de ce type a été associé.", "File already signed." : "Fichier déjà signé.", @@ -74,6 +79,7 @@ "You are not allowed to approve user profile documents." : "Vous n'êtes pas autorisé à approuver des documents de profil utilisateur", "File sharing" : "Partage de fichier", "There is a file for you to sign" : "Vous devez signer ce fichier", + "Changes have been made in a file that you have to sign." : "Des modifications ont été faites dans un fichier que vous avez signé.", "View" : "Afficher", "UUID not found" : "UUID non trouvé", "Password is mandatory" : "Le mot de passe est obligatoire", @@ -84,7 +90,9 @@ "Invalid URL file" : "FIchier URL non valide", "Visible element file must be png." : "Les éléments visibles doivent être des fichiers PNG", "Empty file" : "Fichier vide", - "Invalid data to validate file" : "Données invalides pour valider le fichier", + "No certificate file provided" : "Aucun fichier de certificat fourni", + "Invalid file provided. Need to be a .pfx file." : "Fichier fourni invalide. Doit être un fichier .pfx.", + "File is too big" : "Le fichier est trop gros", "Invalid file identifier" : "Identifiant de fichier invalide", "You need to sign this document" : "Vous devez signer ce document", "You cannot request signature for this document, please contact your administrator" : "Vous ne pouvez pas demander de signature pour ce fichier, merci de contacter votre administrateur", @@ -99,7 +107,7 @@ "Email" : "E-mail", "User already exists" : "Cet utilisateur existe déjà", "This is not your file" : "Ce fichier ne vous appartient pas", - "Password" : "Mot de passe", + "Certificate with password" : "Certificat avec mot de passe", "Invalid password" : "Mot de passe incorrect", "LibreSign: Changes into a file for you to sign" : "LibreSign : Modifications dans un fichier à signer par vous", "File to sign" : "Fichier à signer", @@ -116,11 +124,13 @@ "Document already signed" : "Document déjà signé", "Failure to generate certificate" : "Échec de la génération du certificat", "Empty root certificate data" : "Données du certificat racine vide", + "Invalid data to generate certificate" : "Données invalides pour générer un certificat", + "Failure on generate certificate" : "Échec de la génération du certificat", "File already signed by you" : "Vous avez déjà signé ce fichier", "Sending authorization code not enabled." : "L'envoi des codes de vérification est désactivé.", "%s is your LibreSign verification code." : "Votre code de vérification LibreSign est %s", "Authorize signing using %s token is disabled because Nextcloud Two-Factor Gateway is not enabled." : "Signer des documents avec le jeton %s est interdit car la passerelle d'authentification à facteurs multiples de NextCloud est désactivée.", - "Gateway %s not configured on Two-Factor Gateway." : "La passerelle %s n'a pas été configurée dans les réglages de la passerelle d'authentification à facteurs multiples.", + "Gateway %s not configured on Two-Factor Gateway." : "La passerelle %s n'a pas été configurée dans les paramètres de la passerelle d'authentification à double facteurs.", "Invalid PDF" : "PDF invalide", "LibreSign" : "LibreSign", "✍️ Libre digital signature app for Nextcloud" : "✍️ Application de signature numérique gratuite pour Nextcloud", @@ -134,6 +144,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, application de signature numérique pour Nextcloud. ", "Authentication required" : "Authentification requise", "This action requires you to confirm your password" : "Cette action nécessite de confirmer votre mot de passe", + "Password" : "Mot de passe", "Confirm" : "Confirmer", "Incorrect password!" : "Mot de passe incorrect !", "Text" : "Texte", @@ -176,10 +187,13 @@ "Sign" : "Signer", "Request signatures?" : "Demander une signature ?", "Element created" : "Élément créé", + "signed at {date}" : "signé le {date}", "Details" : "Détails", - "Password & Security" : "Mot de passe et sécurité", - "Create password key" : "Créer un mot de passe pour la clé", - "Reset password" : "Réinitialiser le mot de passe", + "Certificate" : "Certificat", + "Upload certificate" : "Téléverser le certificat", + "Delete certificate" : "Supprimer le certificat", + "Create certificate" : "Créer un certificat", + "Change password" : "Changer de mot de passe", "Not sent yet" : "Non envoyé", "Not defined yet" : "Non encore défini", "Select a file" : "Sélectionner un fichier", @@ -193,14 +207,13 @@ "Customize your signatures" : "Personnaliser vos signatures", "Your signatures" : "Vos signatures", "Signature" : "Signature", - "No signature, click here to create a new" : "Pas de signature, cliquez ici pour en créer une nouvelle", + "No signature, click here to create a new" : "Aucune signature, cliquez ici pour en créer une nouvelle", "Initials" : "Intiales", "No initials, click here to create a new" : "Pas d'initiales, cliquez ici pour en créer de nouvelles", "Profile picture" : "Photo de profil", "Password Creation" : "Création de mot de passe", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Pour des raisons de sécurité, vous devez créer un mot de passe pour signer les documents. Entrez un nouveau mot de passe dans le champ ci-dessous.", "Enter a password" : "Entrez un mot de passe", - "New password to sign documents has been created" : "Un nouveau mot de passe pour signer des documents a été créé", "Error creating new password, please contact the administrator" : "Erreur lors de la création du nouveau mot de passe, veuillez contacter l'administrateur", "Create new subscription." : "Créer un nouvel abonnement.", "Root certificate has not been configured by the Administrator!" : "Le certificat racine n'a pas été configuré par l'Administrateur !", @@ -228,32 +241,34 @@ "The admin hasn't set up LibreSign yet, please wait." : "L'administrateur n'a pas encore configuré LibreSign, veuillez patienter.", "Request Signatures" : "Demander les signatures", "Choose the file to request signatures." : "Choisir le fichier pour les demandes de signature", + "Upload from URL" : "Téléverser depuis une URL", "Choose from Files" : "Choisir depuis Fichiers", - "Enter the emails that will receive the request" : "Saisissez les e-mails qui recevront les demandes", - "Signatures for this document have already been requested" : "Les signatures pour ce document ont déjà été demandées", - "Add users" : "Ajouter des utilisateurs", + "URL of a PDF file" : "URL ou fichier PDF", + "Send" : "Envoyer", "Select your file" : "Sélectionnez votre fichier", "Password reset" : "Réinitialisation du mot de passe", "Enter new password and then repeat it" : "Entrez un mot de passe et répétez-le", + "Current password" : "Mot de passe actuel", "New password" : "Nouveau mot de passe", "Repeat password" : "Répétez le mot de passe", "Allow request to sign" : "Permettre la demande de signature", - "Select authorized groups that can request to sign documents. Admin group is the default group and don't need to be defined." : "Sélectionnez les groupes autorisés à demander la signature de documents. Le groupe par défaut est Admin, il n'a pas besoin d'être définit.", + "Select authorized groups that can request to sign documents. Admin group is the default group and don't need to be defined." : "Sélectionnez les groupes autorisés à demander la signature de documents. Le groupe par défaut est Admin, il n'a pas besoin d'être défini.", "Optional attributes" : "Attributs optionnels", "Select a custom name" : "Sélectionner un nom personnalisé", "Remove custom name entry from root certificate" : "Supprimer l'entrée de nom personnalisé du certificat racine", - "Collect signers' metadata when signing a document" : "Recueillir les métadonnées des signataires lors de la signature d'un document.", + "I will not use root certificate" : "Je ne vais pas utiliser un certificat racine", + "Collect signers' metadata when signing a document" : "Recueillir les métadonnées des signataires lors de la signature d'un document", "Collect signers' metadata" : "Collecter les métadonnées des signataires", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "En activant cette fonctionnalité, chaque fois qu'un utilisateur signe un document, LibreSign enregistrera l'adresse IP et l'agent utilisateur du signataire.", "Message" : "Message", "Resource" : "Ressource", - "Advice" : "Conseil", + "Tip" : "Astuce", "Configuration check" : "Vérification de la configuration", "Status of setup" : "État de l'installation", - "Customize default user folder" : "Paramétrer le répertoire par défaut de l'utilisateur", + "Customize default user folder" : "Paramétrer le répertoire par défaut des utilisateurs", "Name of the folder that will contain the user's digital certificate, visible signature images, and other files related to LibreSign." : "Nom du dossier qui contiendra le certificat numérique de l'utilisateur, l'image de la signature visible, et d'autres fichiers liés à LibreSign.", "Dependencies" : "Dépendances", - "Binaries required to work. Download size could be nearly 340MB, please wait a moment." : "Exécutables nécessaires au fonctionnement. La taille de téléchargement peut être proche de 340 Mo, merci de patienter un moment.", + "Binaries required to work. Download size could be nearly 340MB, please wait a moment." : "Exécutables nécessaires au fonctionnement. La taille du téléchargement peut être proche de 340 Mo, merci de patienter un moment.", "Download binaries" : "Télécharger les exécutables", "Could not download binaries." : "Impossible de télécharger les exécutables", "Downloading binaries" : "Téléchargement des exécutables", @@ -264,6 +279,8 @@ "The flow of identification documents will make it mandatory for anyone who must sign a file, send identification documents to be approved by some member of the approval group. The user can only create the certificate after approval of the identification documents." : "Le flux des documents d'identification rendra obligatoire pour quiconque devant signer un document, d'envoyer des documents d'identification devant recevoir l'agrément d'un membre du groupe Approbation. L'utilisateur ne peut créer le certificat qu'après approbation de ses documents d'identification.", "Allow account creation for new users" : "Permettre la création de comptes pour les nouveaux utilisateurs", "Default signature method" : "Méthode de signature par défaut ", + "Identify factors" : "Identifier les facteurs", + "Ways to identify a person who will sign a document." : "Façons d'identifier une personne qui va signer un document.", "Legal Information" : "Informations légales", "Legal information" : "Informations légales", "This information will appear on the validation page" : "Cette information apparaîtra sur la page de validation", @@ -275,9 +292,8 @@ "Full name of the main company or main user of this instance" : "Nom complet de l'organisation ou de l'utilisateur principal de cette instance", "Define custom values to use {engine}" : "Définir des valeurs personnalisés pour utiliser {engine}", "Not mandatory, don't fill to use default value." : "Facultatif, ne pas remplir pour utiliser les valeurs par défaut.", - "Root certificate data." : "Données du certificat racine.", "To generate new signatures, you must first generate the root certificate." : "Pour générer de nouvelles signatures, vous devez d'abord générer le certificat racine.", - "Generate root certificate." : "Générer le certificat racine.", + "Generate root certificate" : "Générer un certificat racine", "Generating certificate." : "Génération du certificat. ", "Could not generate certificate." : "Impossible de générer le certificat.", "Generated certificate!" : "Certificat généré ! ", @@ -304,13 +320,13 @@ "Unable to sign." : "Impossible de signer.", "All Files" : "Tous les fichiers", "Pending" : "En attente", - "Signed" : "Signé", + "Signed" : "Signés", "There are no documents" : "Il n'y a pas de documents", "Signatories:" : "Signataires :", "Return" : "Retour", "Document Informations" : "Informations sur le document", "Validate Subscription." : "Valider l'abonnement.", - "Enter the ID or UUID of the document to validate." : "Entrez l'identifiant ou l'UUID du document pour valider.", + "Enter the ID or UUID of the document to validate." : "Saisir l'identifiant ou l'UUID du document pour valider.", "Validation" : "Validation", "No date" : "Pas de date", "This document is valid" : "Ce document est valide", @@ -328,14 +344,19 @@ "Validate File" : "Valider le fichier", "Add visible signatures" : "Ajouter des signatures visibles", "Are you sure you want to exclude user {email} from the request?" : "Etes-vous sûr de vouloir exclure l'utilisateur {email} de la requête ?", + "Password & Security" : "Mot de passe et sécurité", + "Create password key" : "Créer un mot de passe pour la clé", + "Reset password" : "Réinitialiser le mot de passe", "Nothing to do" : "Rien à faire", "Validate Document" : "Valider le document", "Do you want to configure visible elements in this document?" : "Souhaitez-vous configurer les éléments visibles dans ce document ?", - "Collect signers metadata when sign a document" : "Collecter les métadonnées sur les signataires lors de la signature d'un document.", - "Collect signers metadata" : "Collecter les métadonnées des signataires", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "En activant cette fonctionnalité, chaque fois qu'un utilisateur signe un document, LibreSign enregistrera l'adresse IP et l'agent utilisateur du signataire.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Exécutables nécessaires au fonctionnement. La taille de téléchargement peut être proche de 340 Mo, merci de patienter un moment.", + "Enter the emails that will receive the request" : "Saisissez les e-mails qui recevront les demandes", + "Signatures for this document have already been requested" : "Les signatures pour ce document ont déjà été demandées", + "Add users" : "Ajouter des utilisateurs", + "Advice" : "Conseil", "Define custom values to use CFSSL" : "Définir des valeurs personnalisées pour l'utilisation de CFSSL", + "Root certificate data." : "Données du certificat racine.", + "Generate root certificate." : "Générer le certificat racine.", "Remove" : "Retirer" },"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/gd.js b/l10n/gd.js index 341cfb46ff..73555d86dc 100644 --- a/l10n/gd.js +++ b/l10n/gd.js @@ -3,10 +3,11 @@ OC.L10N.register( { "deleted" : "air sguabadh às", "File not found" : "Cha deach am faidhle a lorg", + "File is too big" : "Tha am faidhle ro mhòr", "Email" : "Post-d", - "Password" : "Facal-faire", "Files" : "Faidhlichean", "Settings" : "Roghainnean", + "Password" : "Facal-faire", "Upload" : "Luchdaich suas", "Cancel" : "Sguir dheth", "Save" : "Sàbhail", @@ -17,6 +18,7 @@ OC.L10N.register( "Enter a password" : "Cuir a-steach facal-faire", "Yes" : "Tha", "No" : "Chan eil", + "Send" : "Cuir", "Password reset" : "Ath-shuidheachadh an fhacail-fhaire", "Pending" : "Ri dhèiligeadh", "Remove" : "Thoir air falbh" diff --git a/l10n/gd.json b/l10n/gd.json index 98684fcbee..cd05777f55 100644 --- a/l10n/gd.json +++ b/l10n/gd.json @@ -1,10 +1,11 @@ { "translations": { "deleted" : "air sguabadh às", "File not found" : "Cha deach am faidhle a lorg", + "File is too big" : "Tha am faidhle ro mhòr", "Email" : "Post-d", - "Password" : "Facal-faire", "Files" : "Faidhlichean", "Settings" : "Roghainnean", + "Password" : "Facal-faire", "Upload" : "Luchdaich suas", "Cancel" : "Sguir dheth", "Save" : "Sàbhail", @@ -15,6 +16,7 @@ "Enter a password" : "Cuir a-steach facal-faire", "Yes" : "Tha", "No" : "Chan eil", + "Send" : "Cuir", "Password reset" : "Ath-shuidheachadh an fhacail-fhaire", "Pending" : "Ri dhèiligeadh", "Remove" : "Thoir air falbh" diff --git a/l10n/gl.js b/l10n/gl.js index 371bd64caa..5dad5b7376 100644 --- a/l10n/gl.js +++ b/l10n/gl.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID non válido", "Success" : "Correcto", "Invalid user or password" : "O usuario ou o contrasinal non é correcto", "_Element created with success_::_Elements created with success_" : ["Elemento creado satisfactoriamente","Elementos creados satisfactoriamente"], @@ -9,6 +10,9 @@ OC.L10N.register( "Element updated with success" : "O elemento foi actualizado satisfactoriamente", "Visible element deleted" : "Eliminouse o elemento visíbel", "Settings saved" : "Axustes gardados", + "Certificate file deleted with success." : "O ficheiro de certificado eliminouse satisfactoriamente.", + "Certificate file saved with success." : "O ficheiro de certificado gardouse satisfactoriamente.", + "New password to sign documents has been created" : "Creouse un novo contrasinal para asinar documentos", "Name is mandatory" : "O nome é obrigatorio", "Notification sent with success." : "A notificación foi enviada satisfactoriamente", "File signed" : "Ficheiro asinado", @@ -22,14 +26,19 @@ OC.L10N.register( "signed" : "asinado", "deleted" : "eliminado", "Identification Document" : "Documento de Identificación", + "no signers" : "sen asinantes", + "pending" : "pendente", "Password to sign not defined. Create a password to sign." : "O contrasinal para asinar non está definido. Cree un contrasinal para asinar.", "Invalid Sign engine." : "O motor de sinaturas non é válido.", "Digital signed by LibreSign." : "Asinado dixitalmente por LibreSign.", "Validate in %s." : "Validar en %s.", + "Invalid data to validate file" : "Os datos non son válidos para validar o ficheiro", "File type: %s. Empty file." : "Tipo de ficheiro: %s. Ficheiro baleiro.", "Elements of type %s need file." : "Os elementos do tipo %s necesitan ficheiro.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Tipo de ficheiro: %s. Especifique un URL, unha cadea base64 ou un fileID.", "File type: %s. Invalid fileID." : "Tipo de ficheiro: %s. FileID non válido.", + "User not found." : "Usuario non atopado.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Tipo de ficheiro: %s. Especifique un URL, unha cadea base64, ruta ou un fileID.", "document to sign" : "documento para asinar", "visible element" : "elemento visíbel", "File type: %s. Invalid base64 file." : "Tipo de ficheiro: %s. Ficheiro base64 non válido.", @@ -56,23 +65,25 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "O proceso de asinado xa comezou. Non é posíbel cambiar o estado.", "Inform or UUID or a File object" : "Informar do UUID ou un obxecto de tipo ficheiro", "No user data" : "Non hai datos de usuario", - "User not found." : "Usuario non atopado.", "User %s has no email address." : "O usuario %s non ten enderezo de correo-e.", - "Email required" : "Precisase o correo-e", + "Email required" : "Precísase do correo-e", "Invalid email" : "Correo-e non válido", "File not loaded" : "Non se cargou o ficheiro", "No signature was requested to %s" : "Non foi solicitada ningunha sinatura para %s", "%s already signed this file" : "%s xa asinou este ficheiro", "Invalid UUID file" : "Ficheiro UUID non válido", - "Invalid UUID" : "UUID non válido", "Signer not associated to this file" : "O asinante non está asociado a este ficheiro", "A file of this type has been associated." : "Asociouse un ficheiro deste tipo.", + "Empty identify data." : "Datos de identificación baleiros.", + "Do not use mixed identify data." : "Non use datos de identificación mixtos.", "File already signed." : "O ficheiro xa está asinado.", "Invalid identification method" : "Método de identificación non válido", "Invalid code." : "Código non válido.", "Invalid file type." : "Tipo de ficheiro non válido.", "You are not allowed to approve user profile documents." : "Non ten permiso para aprobar documentos do perfil de usuario.", "File sharing" : "Compartir ficheiros", + "There is a file for you to sign" : "Hai un ficheiro que ten que asinar", + "Changes have been made in a file that you have to sign." : "Fixéronse cambios nun ficheiro que ten que asinar.", "View" : "Ver", "UUID not found" : "Non se atopou o UUID", "Password is mandatory" : "O contrasinal é obrigatorio", @@ -83,7 +94,9 @@ OC.L10N.register( "Invalid URL file" : "O URL do ficheiro non é válido", "Visible element file must be png." : "O ficheiro de elementos visíbeis debe ser png.", "Empty file" : "Ficheiro baleiro", - "Invalid data to validate file" : "Os datos non son válidos para validar o ficheiro", + "No certificate file provided" : "Non se forneceu ningún ficheiro de certificado", + "Invalid file provided. Need to be a .pfx file." : "Forneceuse un ficheiro non válido. Debe ser un ficheiro .pfx.", + "File is too big" : "O ficheiro é grande de máis", "Invalid file identifier" : "O identificador de ficheiro non é válido", "You need to sign this document" : "Debe asinar este documento", "You cannot request signature for this document, please contact your administrator" : "Non pode solicitar a sinatura deste documento, póñase en contacto coa administración desta instancia", @@ -91,19 +104,20 @@ OC.L10N.register( "You must not sign this file." : "Vde. non debe asinar este ficheiro.", "Page not found." : "Páxina non atopada.", "Account" : "Conta", + "It is not possible to create new accounts." : "Non é posíbel crear novas contas.", "User already exists. Please login." : "O usuario xa existe. Acceda.", "Invalid user" : "O usuario non é válido", "You are not logged in. Please log in." : "Non está rexistrado. Acceda antes.", "Email" : "Correo-e", "User already exists" : "O usuario xa existe", "This is not your file" : "Este ficheiro non é seu ", - "Password" : "Contrasinal", + "Certificate with password" : "Certificado con contrasinal", "Invalid password" : "Contrasinal incorrecto ", - "LibreSign: Changes into a file for you to sign" : "LibreSign: cambios nun ficheiro que debe asinar", + "LibreSign: Changes into a file for you to sign" : "LibreSign: cambios nun ficheiro que ten que asinar", "File to sign" : "Ficheiro para asinar", "Changes have been made in a file that you have to sign. Access the link below:" : "Fixéronse cambios nun ficheiro que ten que asinar. Acceda á seguinte ligazón:", "Sign »%s«" : "Asinar «%s»", - "LibreSign: There is a file for you to sign" : "LibreSign: hai un ficheiro que debe asinar", + "LibreSign: There is a file for you to sign" : "LibreSign: hai un ficheiro que ten que asinar", "There is a document for you to sign. Access the link below:" : "Hai un documento para que o asine. Acceda á seguinte ligazón:", "LibreSign: Signature request cancelled" : "LibreSign: foi cancelada a solicitude de sinatura", "The signature request has been canceled." : "A solicitude de sinatura foi cancelada.", @@ -112,6 +126,10 @@ OC.L10N.register( "Empty users list" : "A lista de usuarios está baleira", "User list needs to be an array" : "A lista de usuarios debe ser unha matriz", "Document already signed" : "O documento xa está asinado", + "Failure to generate certificate" : "Produciuse un fallo ao xerar o certificado", + "Empty root certificate data" : "Datos do certificado raíz baleiros", + "Invalid data to generate certificate" : "Datos non válidos para xerar o certificado", + "Failure on generate certificate" : "Produciuse un fallo ao xerar o certificado", "File already signed by you" : "Ficheiro xa asinado por Vde.", "Sending authorization code not enabled." : "O envío do código de autorización non está activado.", "%s is your LibreSign verification code." : "%s é o seu código de verificación de LibreSign.", @@ -128,8 +146,9 @@ OC.L10N.register( "Documents Validation" : "Validación de Documentos", "Settings" : "Axustes", "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicación de sinatura dixital para Nextcloud.", - "Authentication required" : "Precisase autenticación", + "Authentication required" : "Precísase de autenticación", "This action requires you to confirm your password" : "Esta acción precisa que confirme o seu contrasinal", + "Password" : "Contrasinal", "Confirm" : "Confirmar", "Incorrect password!" : "Contrasinal incorrecto!", "Text" : "Texto", @@ -145,30 +164,41 @@ OC.L10N.register( "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Empregue a roda do rato para ampliar ou reducir a imaxe e atopar a mellor vista da súa sinatura.", "Enter your Full Name or Initials to create Signature" : "Introduza o seu nome completo ou as súas iniciais para crear a sinatura", "Requested by {name}, at {date}" : "Solicitado por {name}, o {date}", + "Enter who will receive the request" : "Indique quen recibirá a solicitude", "Signatures" : "Sinaturas", + "Search signer by account" : "Busca asinante por conta", "Name" : "Nome", "No recommendations. Start typing." : "Non hai recomendacións. Comece a escribir.", + "Account is mandatory" : "A conta é obrigatoria", "Searching …" : "Buscando…", "No elements found." : "Non se atoparon elementos.", + "E-mail of signer" : "Correo do asinante", + "Please enter an email address." : "Introduza un enderezo de correo-e.", "Update" : "Actualizar", "Description" : "Descrición", "Add" : "Engadir", "Users" : "Usuarios", "Submit Request" : "Enviar a solicitude", "This is not a valid email" : "Este non é un correo-e válido", + "Add signer" : "Engadir asinante", "Delete" : "Eliminar", "Send reminder" : "Enviar lembrete", "Next" : "Seguinte", "Previous" : "Anterior", "Account not exist" : "A conta non existe", + "Signer name" : "Nome do asinante", + "Please enter signer name." : "Introduza o nome do asinante.", "Select each signer to define their signature positions" : "Seleccione cada asinante para definir a súa posición de sinatura", "Sign" : "Asinar", "Request signatures?" : "Solicitar sinaturas?", "Element created" : "Elemento creado", + "signed at {date}" : "asinado o {data}", "Details" : "Detalles", - "Password & Security" : "Contrasinal e seguranza", - "Create password key" : "Crear a chave do contrasinal", - "Reset password" : "Restabelecer o contrasinal", + "Certificate" : "Certificado", + "Upload certificate" : "Enviar o certificado", + "Delete certificate" : "Eliminar o certificado", + "Create certificate" : "Crear o certificado", + "Change password" : "Cambiar o contrasinal", "Not sent yet" : "Aínda non foi enviada", "Not defined yet" : "Aínda non está definido", "Select a file" : "Seleccione un ficheiro", @@ -189,7 +219,6 @@ OC.L10N.register( "Password Creation" : "Creación de contrasinal", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Por mor da seguranza, debe crear un contrasinal para asinar os documentos. Introduza o seu novo contrasinal no campo de embaixo.", "Enter a password" : "Introduza un contrasinal", - "New password to sign documents has been created" : "Creouse un novo contrasinal para asinar documentos", "Error creating new password, please contact the administrator" : "Produciuse un erro ao crear un novo contrasinal, póñase en contacto coa administración desta instancia", "Create new subscription." : "Crear unha nova subscrición.", "Root certificate has not been configured by the Administrator!" : "O certificado raíz non foi configurado pola administración!", @@ -213,15 +242,18 @@ OC.L10N.register( "Generate Subscription." : "Xerar subscrición.", "Subscription generated and available at {path}!" : "Subscrición xerada e dispoñíbel en {path}!", "Could not create signature." : "Non foi posíbel crear a sinatura.", + "Welcome to Libresign" : "Benvido a Libresign", + "The admin hasn't set up LibreSign yet, please wait." : "A administración do sitio aínda non configurou LibreSign, agarde.", "Request Signatures" : "Solicitar Sinaturas", "Choose the file to request signatures." : "Escoller o ficheiro para solicitar sinaturas.", + "Upload from URL" : "Enviar dende o URL", "Choose from Files" : "Escoller dende Ficheiros", - "Enter the emails that will receive the request" : "Introduza os correos que recibirán a solicitude", - "Signatures for this document have already been requested" : "Xa se solicitaron sinaturas para este documento", - "Add users" : "Engadir usuarios", + "URL of a PDF file" : "URL dun ficheiro PDF", + "Send" : "Enviar", "Select your file" : "Seleccione o seu ficheiro", "Password reset" : "Restabelecer o contrasinal", "Enter new password and then repeat it" : "Introduza o novo contrasinal e após repítao", + "Current password" : "Contrasinal actual", "New password" : "Novo contrasinal", "Repeat password" : "Repita o contrasinal", "Allow request to sign" : "Permitir a solicitude de sinaturas", @@ -229,12 +261,16 @@ OC.L10N.register( "Optional attributes" : "Atributos opcionais", "Select a custom name" : "Seleccione un nome personalizado", "Remove custom name entry from root certificate" : "Retirar a entrada de nome personalizado do certificado raíz", + "Certificate engine" : "Motor de certificados", + "Certificate engine to generate the root certificate" : "Motor de certificados para xerar o certificado raíz", + "Select the certificate engine to generate the root certificate" : "Seleccione o motor de certificados para xerar o certificado raíz", + "I will not use root certificate" : "Non vou usar o certificado raíz", "Collect signers' metadata when signing a document" : "Recoller os metadatos dos asinantes ao asinar un documento", "Collect signers' metadata" : "Recoller os metadatos dos asinantes", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Ao activar esta función, cada vez que se asine un documento, LibreSign almacenará o enderezo IP e o axente de usuario do asinante.", "Message" : "Mensaxe", "Resource" : "Recurso", - "Advice" : "Consello", + "Tip" : "Consello", "Configuration check" : "Comprobación da configuración", "Status of setup" : "Estado da configuración", "Customize default user folder" : "Personalizar o cartafol de usuario predeterminado", @@ -249,6 +285,12 @@ OC.L10N.register( "Enable identification documents flow" : "Activar o fluxo de documentos de identificación", "Identification documents" : "Documentos identificativos", "The flow of identification documents will make it mandatory for anyone who must sign a file, send identification documents to be approved by some member of the approval group. The user can only create the certificate after approval of the identification documents." : "O fluxo de documentos identificativos será obrigatorio para todo aquel que teña que asinar un ficheiro, envíe os documentos identificativos para ser aprobados por algún membro do grupo de homologación. O usuario só pode crear o certificado após a aprobación dos documentos de identificación.", + "Make this method required" : "Facer que este método sexa necesario", + "Allow account creation for new users" : "Permitir a creación de contas para novos usuarios", + "Allows sending registration email when the user does not have an account." : "Permitir enviar o correo de rexistro cando o usuario non ten unha conta.", + "Default signature method" : "Método de sinatura predeterminado", + "Identify factors" : "Identificar factores", + "Ways to identify a person who will sign a document." : "Formas de identificar a persoa que asinará un documento.", "Legal Information" : "Información legal", "Legal information" : "Información legal", "This information will appear on the validation page" : "Esta información aparecerá na páxina de validación", @@ -258,13 +300,15 @@ OC.L10N.register( "Regenerate root certificate" : "Rexenerar o certificado raíz", "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Rexenerar o certificado raíz invalidará todas as chave de sinatura. Confirma esta acción?", "Full name of the main company or main user of this instance" : "Nome completo da empresa principal ou usuario principal desta instancia", + "Define custom values to use {engine}" : "Defina os valores personalizados para usar {engine}", "Not mandatory, don't fill to use default value." : "Non é obrigatorio, non o encha para usar o valor predeterminado.", - "Root certificate data." : "Datos do certificado raíz.", + "Root certificate data" : "Datos do certificado raíz", "To generate new signatures, you must first generate the root certificate." : "Para xerar novas sinaturas, antes debe xerar o certificado raíz.", - "Generate root certificate." : "Xerar un certificado raíz.", + "Generate root certificate" : "Xerar un certificado raíz", "Generating certificate." : "Xeración do certificado.", "Could not generate certificate." : "Non foi posíbel xerar o certificado.", "Generated certificate!" : "Certificado xerado!", + "Make validation URL acessible only by authenticated users" : "Facer que o URL de validación só sexa accesíbel aos usuarios autenticados", "Add visible footer with signature details" : "Engadir un rodapé visíbel cos detalles da sinatura", "Write QR code on footer with validation URL" : "Escriba o código QR no rodapé co URL de validación", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "Para validar a sinatura dos documentos. Cambie só este valor se quere substituír o URL de validación predeterminado por outro.", @@ -312,14 +356,19 @@ OC.L10N.register( "Validate File" : "Validar o ficheiro", "Add visible signatures" : "Engadir sinaturas visíbeis", "Are you sure you want to exclude user {email} from the request?" : "Confirma que quer excluír o usuario {email} da solicitude?", + "Password & Security" : "Contrasinal e seguranza", + "Create password key" : "Crear a chave do contrasinal", + "Reset password" : "Restabelecer o contrasinal", "Nothing to do" : "Non hai nada que facer", "Validate Document" : "Validar o documento", "Do you want to configure visible elements in this document?" : "Quere configurar elementos visíbeis neste documento?", - "Collect signers metadata when sign a document" : "Recoller metadatos dos asinantes ao asinar un documento", - "Collect signers metadata" : "Recoller metadatos dos asinantes", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Ao activar esta función, cada vez que asine un documento, LibreSign almacenará a IP e o axente de usuario do asinante.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Precísanse os binarios para funcionar. É necesario descargar preto de 340 Mb, agarde un chisco.", + "Enter the emails that will receive the request" : "Indique os correos que recibirán a solicitude", + "Signatures for this document have already been requested" : "Xa se solicitaron sinaturas para este documento", + "Add users" : "Engadir usuarios", + "Advice" : "Consello", "Define custom values to use CFSSL" : "Defina valores personalizados para usar CFSSL", + "Root certificate data." : "Datos do certificado raíz.", + "Generate root certificate." : "Xerar un certificado raíz.", "Remove" : "Retirar" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/gl.json b/l10n/gl.json index ddfc9bdc1a..c53938b9e5 100644 --- a/l10n/gl.json +++ b/l10n/gl.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID non válido", "Success" : "Correcto", "Invalid user or password" : "O usuario ou o contrasinal non é correcto", "_Element created with success_::_Elements created with success_" : ["Elemento creado satisfactoriamente","Elementos creados satisfactoriamente"], @@ -7,6 +8,9 @@ "Element updated with success" : "O elemento foi actualizado satisfactoriamente", "Visible element deleted" : "Eliminouse o elemento visíbel", "Settings saved" : "Axustes gardados", + "Certificate file deleted with success." : "O ficheiro de certificado eliminouse satisfactoriamente.", + "Certificate file saved with success." : "O ficheiro de certificado gardouse satisfactoriamente.", + "New password to sign documents has been created" : "Creouse un novo contrasinal para asinar documentos", "Name is mandatory" : "O nome é obrigatorio", "Notification sent with success." : "A notificación foi enviada satisfactoriamente", "File signed" : "Ficheiro asinado", @@ -20,14 +24,19 @@ "signed" : "asinado", "deleted" : "eliminado", "Identification Document" : "Documento de Identificación", + "no signers" : "sen asinantes", + "pending" : "pendente", "Password to sign not defined. Create a password to sign." : "O contrasinal para asinar non está definido. Cree un contrasinal para asinar.", "Invalid Sign engine." : "O motor de sinaturas non é válido.", "Digital signed by LibreSign." : "Asinado dixitalmente por LibreSign.", "Validate in %s." : "Validar en %s.", + "Invalid data to validate file" : "Os datos non son válidos para validar o ficheiro", "File type: %s. Empty file." : "Tipo de ficheiro: %s. Ficheiro baleiro.", "Elements of type %s need file." : "Os elementos do tipo %s necesitan ficheiro.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Tipo de ficheiro: %s. Especifique un URL, unha cadea base64 ou un fileID.", "File type: %s. Invalid fileID." : "Tipo de ficheiro: %s. FileID non válido.", + "User not found." : "Usuario non atopado.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Tipo de ficheiro: %s. Especifique un URL, unha cadea base64, ruta ou un fileID.", "document to sign" : "documento para asinar", "visible element" : "elemento visíbel", "File type: %s. Invalid base64 file." : "Tipo de ficheiro: %s. Ficheiro base64 non válido.", @@ -54,23 +63,25 @@ "Sign process already started. Unable to change status." : "O proceso de asinado xa comezou. Non é posíbel cambiar o estado.", "Inform or UUID or a File object" : "Informar do UUID ou un obxecto de tipo ficheiro", "No user data" : "Non hai datos de usuario", - "User not found." : "Usuario non atopado.", "User %s has no email address." : "O usuario %s non ten enderezo de correo-e.", - "Email required" : "Precisase o correo-e", + "Email required" : "Precísase do correo-e", "Invalid email" : "Correo-e non válido", "File not loaded" : "Non se cargou o ficheiro", "No signature was requested to %s" : "Non foi solicitada ningunha sinatura para %s", "%s already signed this file" : "%s xa asinou este ficheiro", "Invalid UUID file" : "Ficheiro UUID non válido", - "Invalid UUID" : "UUID non válido", "Signer not associated to this file" : "O asinante non está asociado a este ficheiro", "A file of this type has been associated." : "Asociouse un ficheiro deste tipo.", + "Empty identify data." : "Datos de identificación baleiros.", + "Do not use mixed identify data." : "Non use datos de identificación mixtos.", "File already signed." : "O ficheiro xa está asinado.", "Invalid identification method" : "Método de identificación non válido", "Invalid code." : "Código non válido.", "Invalid file type." : "Tipo de ficheiro non válido.", "You are not allowed to approve user profile documents." : "Non ten permiso para aprobar documentos do perfil de usuario.", "File sharing" : "Compartir ficheiros", + "There is a file for you to sign" : "Hai un ficheiro que ten que asinar", + "Changes have been made in a file that you have to sign." : "Fixéronse cambios nun ficheiro que ten que asinar.", "View" : "Ver", "UUID not found" : "Non se atopou o UUID", "Password is mandatory" : "O contrasinal é obrigatorio", @@ -81,7 +92,9 @@ "Invalid URL file" : "O URL do ficheiro non é válido", "Visible element file must be png." : "O ficheiro de elementos visíbeis debe ser png.", "Empty file" : "Ficheiro baleiro", - "Invalid data to validate file" : "Os datos non son válidos para validar o ficheiro", + "No certificate file provided" : "Non se forneceu ningún ficheiro de certificado", + "Invalid file provided. Need to be a .pfx file." : "Forneceuse un ficheiro non válido. Debe ser un ficheiro .pfx.", + "File is too big" : "O ficheiro é grande de máis", "Invalid file identifier" : "O identificador de ficheiro non é válido", "You need to sign this document" : "Debe asinar este documento", "You cannot request signature for this document, please contact your administrator" : "Non pode solicitar a sinatura deste documento, póñase en contacto coa administración desta instancia", @@ -89,19 +102,20 @@ "You must not sign this file." : "Vde. non debe asinar este ficheiro.", "Page not found." : "Páxina non atopada.", "Account" : "Conta", + "It is not possible to create new accounts." : "Non é posíbel crear novas contas.", "User already exists. Please login." : "O usuario xa existe. Acceda.", "Invalid user" : "O usuario non é válido", "You are not logged in. Please log in." : "Non está rexistrado. Acceda antes.", "Email" : "Correo-e", "User already exists" : "O usuario xa existe", "This is not your file" : "Este ficheiro non é seu ", - "Password" : "Contrasinal", + "Certificate with password" : "Certificado con contrasinal", "Invalid password" : "Contrasinal incorrecto ", - "LibreSign: Changes into a file for you to sign" : "LibreSign: cambios nun ficheiro que debe asinar", + "LibreSign: Changes into a file for you to sign" : "LibreSign: cambios nun ficheiro que ten que asinar", "File to sign" : "Ficheiro para asinar", "Changes have been made in a file that you have to sign. Access the link below:" : "Fixéronse cambios nun ficheiro que ten que asinar. Acceda á seguinte ligazón:", "Sign »%s«" : "Asinar «%s»", - "LibreSign: There is a file for you to sign" : "LibreSign: hai un ficheiro que debe asinar", + "LibreSign: There is a file for you to sign" : "LibreSign: hai un ficheiro que ten que asinar", "There is a document for you to sign. Access the link below:" : "Hai un documento para que o asine. Acceda á seguinte ligazón:", "LibreSign: Signature request cancelled" : "LibreSign: foi cancelada a solicitude de sinatura", "The signature request has been canceled." : "A solicitude de sinatura foi cancelada.", @@ -110,6 +124,10 @@ "Empty users list" : "A lista de usuarios está baleira", "User list needs to be an array" : "A lista de usuarios debe ser unha matriz", "Document already signed" : "O documento xa está asinado", + "Failure to generate certificate" : "Produciuse un fallo ao xerar o certificado", + "Empty root certificate data" : "Datos do certificado raíz baleiros", + "Invalid data to generate certificate" : "Datos non válidos para xerar o certificado", + "Failure on generate certificate" : "Produciuse un fallo ao xerar o certificado", "File already signed by you" : "Ficheiro xa asinado por Vde.", "Sending authorization code not enabled." : "O envío do código de autorización non está activado.", "%s is your LibreSign verification code." : "%s é o seu código de verificación de LibreSign.", @@ -126,8 +144,9 @@ "Documents Validation" : "Validación de Documentos", "Settings" : "Axustes", "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicación de sinatura dixital para Nextcloud.", - "Authentication required" : "Precisase autenticación", + "Authentication required" : "Precísase de autenticación", "This action requires you to confirm your password" : "Esta acción precisa que confirme o seu contrasinal", + "Password" : "Contrasinal", "Confirm" : "Confirmar", "Incorrect password!" : "Contrasinal incorrecto!", "Text" : "Texto", @@ -143,30 +162,41 @@ "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Empregue a roda do rato para ampliar ou reducir a imaxe e atopar a mellor vista da súa sinatura.", "Enter your Full Name or Initials to create Signature" : "Introduza o seu nome completo ou as súas iniciais para crear a sinatura", "Requested by {name}, at {date}" : "Solicitado por {name}, o {date}", + "Enter who will receive the request" : "Indique quen recibirá a solicitude", "Signatures" : "Sinaturas", + "Search signer by account" : "Busca asinante por conta", "Name" : "Nome", "No recommendations. Start typing." : "Non hai recomendacións. Comece a escribir.", + "Account is mandatory" : "A conta é obrigatoria", "Searching …" : "Buscando…", "No elements found." : "Non se atoparon elementos.", + "E-mail of signer" : "Correo do asinante", + "Please enter an email address." : "Introduza un enderezo de correo-e.", "Update" : "Actualizar", "Description" : "Descrición", "Add" : "Engadir", "Users" : "Usuarios", "Submit Request" : "Enviar a solicitude", "This is not a valid email" : "Este non é un correo-e válido", + "Add signer" : "Engadir asinante", "Delete" : "Eliminar", "Send reminder" : "Enviar lembrete", "Next" : "Seguinte", "Previous" : "Anterior", "Account not exist" : "A conta non existe", + "Signer name" : "Nome do asinante", + "Please enter signer name." : "Introduza o nome do asinante.", "Select each signer to define their signature positions" : "Seleccione cada asinante para definir a súa posición de sinatura", "Sign" : "Asinar", "Request signatures?" : "Solicitar sinaturas?", "Element created" : "Elemento creado", + "signed at {date}" : "asinado o {data}", "Details" : "Detalles", - "Password & Security" : "Contrasinal e seguranza", - "Create password key" : "Crear a chave do contrasinal", - "Reset password" : "Restabelecer o contrasinal", + "Certificate" : "Certificado", + "Upload certificate" : "Enviar o certificado", + "Delete certificate" : "Eliminar o certificado", + "Create certificate" : "Crear o certificado", + "Change password" : "Cambiar o contrasinal", "Not sent yet" : "Aínda non foi enviada", "Not defined yet" : "Aínda non está definido", "Select a file" : "Seleccione un ficheiro", @@ -187,7 +217,6 @@ "Password Creation" : "Creación de contrasinal", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Por mor da seguranza, debe crear un contrasinal para asinar os documentos. Introduza o seu novo contrasinal no campo de embaixo.", "Enter a password" : "Introduza un contrasinal", - "New password to sign documents has been created" : "Creouse un novo contrasinal para asinar documentos", "Error creating new password, please contact the administrator" : "Produciuse un erro ao crear un novo contrasinal, póñase en contacto coa administración desta instancia", "Create new subscription." : "Crear unha nova subscrición.", "Root certificate has not been configured by the Administrator!" : "O certificado raíz non foi configurado pola administración!", @@ -211,15 +240,18 @@ "Generate Subscription." : "Xerar subscrición.", "Subscription generated and available at {path}!" : "Subscrición xerada e dispoñíbel en {path}!", "Could not create signature." : "Non foi posíbel crear a sinatura.", + "Welcome to Libresign" : "Benvido a Libresign", + "The admin hasn't set up LibreSign yet, please wait." : "A administración do sitio aínda non configurou LibreSign, agarde.", "Request Signatures" : "Solicitar Sinaturas", "Choose the file to request signatures." : "Escoller o ficheiro para solicitar sinaturas.", + "Upload from URL" : "Enviar dende o URL", "Choose from Files" : "Escoller dende Ficheiros", - "Enter the emails that will receive the request" : "Introduza os correos que recibirán a solicitude", - "Signatures for this document have already been requested" : "Xa se solicitaron sinaturas para este documento", - "Add users" : "Engadir usuarios", + "URL of a PDF file" : "URL dun ficheiro PDF", + "Send" : "Enviar", "Select your file" : "Seleccione o seu ficheiro", "Password reset" : "Restabelecer o contrasinal", "Enter new password and then repeat it" : "Introduza o novo contrasinal e após repítao", + "Current password" : "Contrasinal actual", "New password" : "Novo contrasinal", "Repeat password" : "Repita o contrasinal", "Allow request to sign" : "Permitir a solicitude de sinaturas", @@ -227,12 +259,16 @@ "Optional attributes" : "Atributos opcionais", "Select a custom name" : "Seleccione un nome personalizado", "Remove custom name entry from root certificate" : "Retirar a entrada de nome personalizado do certificado raíz", + "Certificate engine" : "Motor de certificados", + "Certificate engine to generate the root certificate" : "Motor de certificados para xerar o certificado raíz", + "Select the certificate engine to generate the root certificate" : "Seleccione o motor de certificados para xerar o certificado raíz", + "I will not use root certificate" : "Non vou usar o certificado raíz", "Collect signers' metadata when signing a document" : "Recoller os metadatos dos asinantes ao asinar un documento", "Collect signers' metadata" : "Recoller os metadatos dos asinantes", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Ao activar esta función, cada vez que se asine un documento, LibreSign almacenará o enderezo IP e o axente de usuario do asinante.", "Message" : "Mensaxe", "Resource" : "Recurso", - "Advice" : "Consello", + "Tip" : "Consello", "Configuration check" : "Comprobación da configuración", "Status of setup" : "Estado da configuración", "Customize default user folder" : "Personalizar o cartafol de usuario predeterminado", @@ -247,6 +283,12 @@ "Enable identification documents flow" : "Activar o fluxo de documentos de identificación", "Identification documents" : "Documentos identificativos", "The flow of identification documents will make it mandatory for anyone who must sign a file, send identification documents to be approved by some member of the approval group. The user can only create the certificate after approval of the identification documents." : "O fluxo de documentos identificativos será obrigatorio para todo aquel que teña que asinar un ficheiro, envíe os documentos identificativos para ser aprobados por algún membro do grupo de homologación. O usuario só pode crear o certificado após a aprobación dos documentos de identificación.", + "Make this method required" : "Facer que este método sexa necesario", + "Allow account creation for new users" : "Permitir a creación de contas para novos usuarios", + "Allows sending registration email when the user does not have an account." : "Permitir enviar o correo de rexistro cando o usuario non ten unha conta.", + "Default signature method" : "Método de sinatura predeterminado", + "Identify factors" : "Identificar factores", + "Ways to identify a person who will sign a document." : "Formas de identificar a persoa que asinará un documento.", "Legal Information" : "Información legal", "Legal information" : "Información legal", "This information will appear on the validation page" : "Esta información aparecerá na páxina de validación", @@ -256,13 +298,15 @@ "Regenerate root certificate" : "Rexenerar o certificado raíz", "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Rexenerar o certificado raíz invalidará todas as chave de sinatura. Confirma esta acción?", "Full name of the main company or main user of this instance" : "Nome completo da empresa principal ou usuario principal desta instancia", + "Define custom values to use {engine}" : "Defina os valores personalizados para usar {engine}", "Not mandatory, don't fill to use default value." : "Non é obrigatorio, non o encha para usar o valor predeterminado.", - "Root certificate data." : "Datos do certificado raíz.", + "Root certificate data" : "Datos do certificado raíz", "To generate new signatures, you must first generate the root certificate." : "Para xerar novas sinaturas, antes debe xerar o certificado raíz.", - "Generate root certificate." : "Xerar un certificado raíz.", + "Generate root certificate" : "Xerar un certificado raíz", "Generating certificate." : "Xeración do certificado.", "Could not generate certificate." : "Non foi posíbel xerar o certificado.", "Generated certificate!" : "Certificado xerado!", + "Make validation URL acessible only by authenticated users" : "Facer que o URL de validación só sexa accesíbel aos usuarios autenticados", "Add visible footer with signature details" : "Engadir un rodapé visíbel cos detalles da sinatura", "Write QR code on footer with validation URL" : "Escriba o código QR no rodapé co URL de validación", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "Para validar a sinatura dos documentos. Cambie só este valor se quere substituír o URL de validación predeterminado por outro.", @@ -310,14 +354,19 @@ "Validate File" : "Validar o ficheiro", "Add visible signatures" : "Engadir sinaturas visíbeis", "Are you sure you want to exclude user {email} from the request?" : "Confirma que quer excluír o usuario {email} da solicitude?", + "Password & Security" : "Contrasinal e seguranza", + "Create password key" : "Crear a chave do contrasinal", + "Reset password" : "Restabelecer o contrasinal", "Nothing to do" : "Non hai nada que facer", "Validate Document" : "Validar o documento", "Do you want to configure visible elements in this document?" : "Quere configurar elementos visíbeis neste documento?", - "Collect signers metadata when sign a document" : "Recoller metadatos dos asinantes ao asinar un documento", - "Collect signers metadata" : "Recoller metadatos dos asinantes", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Ao activar esta función, cada vez que asine un documento, LibreSign almacenará a IP e o axente de usuario do asinante.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Precísanse os binarios para funcionar. É necesario descargar preto de 340 Mb, agarde un chisco.", + "Enter the emails that will receive the request" : "Indique os correos que recibirán a solicitude", + "Signatures for this document have already been requested" : "Xa se solicitaron sinaturas para este documento", + "Add users" : "Engadir usuarios", + "Advice" : "Consello", "Define custom values to use CFSSL" : "Defina valores personalizados para usar CFSSL", + "Root certificate data." : "Datos do certificado raíz.", + "Generate root certificate." : "Xerar un certificado raíz.", "Remove" : "Retirar" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/he.js b/l10n/he.js index a9984d7f93..fcbb48a75f 100644 --- a/l10n/he.js +++ b/l10n/he.js @@ -8,15 +8,16 @@ OC.L10N.register( "View" : "צפייה", "File not found" : "קובץ לא נמצא", "File already exists" : "הקובץ כבר קיים", + "File is too big" : "הקובץ גדול מדי", "Account" : "חשבון", "Invalid user" : "משתמש שגוי", "Email" : "דוא״ל", - "Password" : "ססמה", "Invalid password" : "ססמה שגויה", "Files" : "קבצים", "Settings" : "הגדרות", "Authentication required" : "נדרש אימות", "This action requires you to confirm your password" : "פעולה זו דורשת ממך לאמת את הססמה שלך", + "Password" : "ססמה", "Confirm" : "אימות", "Text" : "טקסט", "Upload" : "העלאה", @@ -35,7 +36,8 @@ OC.L10N.register( "Next" : "הבא", "Previous" : "הקודם", "Details" : "פרטים", - "Reset password" : "איפוס ססמה", + "Certificate" : "אישור", + "Change password" : "שינוי ססמה", "Select a file" : "Select a file", "Type" : "סוג", "Status" : "מצב", @@ -48,7 +50,9 @@ OC.L10N.register( "No" : "לא", "Page not found" : "העמוד לא נמצא", "Choose from Files" : "בחר מתוך קבצים", + "Send" : "שליחה", "Password reset" : "איפוס ססמה", + "Current password" : "ססמה נוכחית", "New password" : "ססמה חדשה", "Repeat password" : "חזרה על הססמה", "Message" : "הודעה", @@ -57,6 +61,7 @@ OC.L10N.register( "Loading …" : "בטעינה…", "Pending" : "בהמתנה", "No date" : "No date", + "Reset password" : "איפוס ססמה", "Remove" : "הסרה" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); diff --git a/l10n/he.json b/l10n/he.json index ee783eb2db..e1621b98ec 100644 --- a/l10n/he.json +++ b/l10n/he.json @@ -6,15 +6,16 @@ "View" : "צפייה", "File not found" : "קובץ לא נמצא", "File already exists" : "הקובץ כבר קיים", + "File is too big" : "הקובץ גדול מדי", "Account" : "חשבון", "Invalid user" : "משתמש שגוי", "Email" : "דוא״ל", - "Password" : "ססמה", "Invalid password" : "ססמה שגויה", "Files" : "קבצים", "Settings" : "הגדרות", "Authentication required" : "נדרש אימות", "This action requires you to confirm your password" : "פעולה זו דורשת ממך לאמת את הססמה שלך", + "Password" : "ססמה", "Confirm" : "אימות", "Text" : "טקסט", "Upload" : "העלאה", @@ -33,7 +34,8 @@ "Next" : "הבא", "Previous" : "הקודם", "Details" : "פרטים", - "Reset password" : "איפוס ססמה", + "Certificate" : "אישור", + "Change password" : "שינוי ססמה", "Select a file" : "Select a file", "Type" : "סוג", "Status" : "מצב", @@ -46,7 +48,9 @@ "No" : "לא", "Page not found" : "העמוד לא נמצא", "Choose from Files" : "בחר מתוך קבצים", + "Send" : "שליחה", "Password reset" : "איפוס ססמה", + "Current password" : "ססמה נוכחית", "New password" : "ססמה חדשה", "Repeat password" : "חזרה על הססמה", "Message" : "הודעה", @@ -55,6 +59,7 @@ "Loading …" : "בטעינה…", "Pending" : "בהמתנה", "No date" : "No date", + "Reset password" : "איפוס ססמה", "Remove" : "הסרה" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" } \ No newline at end of file diff --git a/l10n/hr.js b/l10n/hr.js index 6af5142004..bda8e76c05 100644 --- a/l10n/hr.js +++ b/l10n/hr.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Nevažeći UUID", "Success" : "Uspjeh", "Invalid user or password" : "Nevažeći korisnik ili zaporka", "_Element created with success_::_Elements created with success_" : ["Element je uspješno stvoren","Elementi su uspješno stvoreni","Elementi su uspješno stvoreni"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Element uspješno ažuriran", "Visible element deleted" : "Vidljivi element je izbrisan", "Settings saved" : "Postavke spremljene", + "New password to sign documents has been created" : "Nova zaporka za potpisivanje dokumenata je stvorena", "Name is mandatory" : "Ime je obavezno", "Notification sent with success." : "Obavijest je uspješno poslana.", "File signed" : "Datoteka je potpisana", @@ -23,9 +25,11 @@ OC.L10N.register( "Invalid Sign engine." : "Nevažeći sustav za potpisivanje.", "Digital signed by LibreSign." : "Digitalno potpisano sustavom LibreSign.", "Validate in %s." : "Potvrdite u %s.", + "Invalid data to validate file" : "Nevažeći podaci za potvrđivanje datoteke", "File type: %s. Empty file." : "Vrsta datoteke: %s. Prazna datoteka.", "Elements of type %s need file." : "Elementi tipa %s trebaju datoteku.", "File type: %s. Invalid fileID." : "Vrsta datoteke: %s. Nevažeći fileID.", + "User not found." : "Korisnik nije pronađen.", "document to sign" : "dokument za potpisivanje", "visible element" : "vidljiv element", "File type: %s. Invalid base64 file." : "Vrsta datoteke: %s. Nevažeća datoteka base64.", @@ -50,7 +54,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Postupak potpisivanja je započeo. Nije moguće promijeniti status.", "Inform or UUID or a File object" : "Objekt Inform ili UUID ili File", "No user data" : "Nema korisničkih podataka", - "User not found." : "Korisnik nije pronađen.", "User %s has no email address." : "Korisnik %s nema adresu e-pošte.", "Email required" : "Adresa e-pošte je obavezna", "Invalid email" : "Nevažeća adresa e-pošte", @@ -58,7 +61,6 @@ OC.L10N.register( "No signature was requested to %s" : "Nije zatražen potpis od %s", "%s already signed this file" : "%s je već potpisao ovu datoteku", "Invalid UUID file" : "Nevažeća UUID datoteka", - "Invalid UUID" : "Nevažeći UUID", "Signer not associated to this file" : "Potpisnik nije povezan s ovom datotekom", "A file of this type has been associated." : "Datoteka ove vrste je povezana.", "File already signed." : "Datoteka je već potpisana.", @@ -76,7 +78,7 @@ OC.L10N.register( "Invalid URL file" : "Neispravna datoteka URL-a", "Visible element file must be png." : "Datoteka vidljivog elementa mora biti u formatu png.", "Empty file" : "Prazna datoteka", - "Invalid data to validate file" : "Nevažeći podaci za potvrđivanje datoteke", + "File is too big" : "Datoteka je prevelika", "Invalid file identifier" : "Nevažeći identifikator datoteke", "You need to sign this document" : "Morate potpisati ovaj dokument", "You cannot request signature for this document, please contact your administrator" : "Ne možete tražiti potpisivanje ovog dokumenta, obratite se svom administratoru", @@ -90,7 +92,6 @@ OC.L10N.register( "Email" : "E-pošta", "User already exists" : "Korisnik već postoji", "This is not your file" : "Ovo nije vaša datoteka", - "Password" : "Zaporka", "Invalid password" : "Netočna zaporka", "LibreSign: Changes into a file for you to sign" : "LibreSign: pretvara se u datoteku radi potpisivanja", "File to sign" : "Datoteka za potpisivanje", @@ -114,6 +115,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplikacija za digitalno potpisivanje u Nextcloudu.", "Authentication required" : "Potrebna autentifikacija", "This action requires you to confirm your password" : "Za izvršavanje ove radnje potvrdite svoju zaporku", + "Password" : "Zaporka", "Confirm" : "Potvrdi", "Incorrect password!" : "Netočna zaporka!", "Text" : "Tekst", @@ -143,9 +145,8 @@ OC.L10N.register( "Account not exist" : "Račun ne postoji", "Sign" : "Potpiši", "Details" : "Pojedinosti", - "Password & Security" : "Zaporka i sigurnost", - "Create password key" : "Stvori ključ zaporke", - "Reset password" : "Resetiraj zaporku", + "Certificate" : "Vjerodajnica", + "Change password" : "Promijeni lozinku", "Select a file" : "Select a file", "Type" : "Vrsta", "Status" : "Status", @@ -160,7 +161,6 @@ OC.L10N.register( "Password Creation" : "Stvaranje zaporke", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Iz sigurnosnih razloga morate stvoriti zaporku za potpisivanje dokumenata. Unesite novu zaporku u polje u nastavku.", "Enter a password" : "Unesite zaporku", - "New password to sign documents has been created" : "Nova zaporka za potpisivanje dokumenata je stvorena", "Error creating new password, please contact the administrator" : "Pogreška pri stvaranju nove zaporke, obratite se administratoru", "Create new subscription." : "Stvorite novu pretplatu.", "Root certificate has not been configured by the Administrator!" : "Administrator nije konfigurirao korijensku vjerodajnicu!", @@ -187,12 +187,11 @@ OC.L10N.register( "Request Signatures" : "Zatraži potpise", "Choose the file to request signatures." : "Odaberite datoteku za traženje potpisa.", "Choose from Files" : "Odaberi iz datoteka", - "Enter the emails that will receive the request" : "Unesite adrese e-pošte koje će primiti zahtjev", - "Signatures for this document have already been requested" : "Već su zatraženi potpisi za ovaj dokument", - "Add users" : "Dodaj korisnike", + "Send" : "Pošaljite", "Select your file" : "Odaberite svoju datoteku", "Password reset" : "Resetiranje zaporke", "Enter new password and then repeat it" : "Unesite novu zaporku, a zatim je ponovite", + "Current password" : "Trenutna zaporka", "New password" : "Nova zaporka", "Repeat password" : "Ponovi zaporku", "Message" : "Poruka", @@ -204,9 +203,7 @@ OC.L10N.register( "Name (CN)" : "Ime (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "Put do konfiguracije", - "Root certificate data." : "Podaci korijenske vjerodajnice.", "To generate new signatures, you must first generate the root certificate." : "Kako biste generirali nove potpise, prvo morate generirati korijensku vjerodajnicu.", - "Generate root certificate." : "Generirajte korijensku vjerodajnicu.", "Generating certificate." : "Generiranje vjerodajnice.", "Could not generate certificate." : "Generiranje vjerodajnice nije uspjelo.", "Generated certificate!" : "Vjerodajnica generirana!", @@ -232,7 +229,15 @@ OC.L10N.register( "Remove duplicated users, email address need to be unique" : "Uklonite duple korisnike, adresa e-pošte mora biti jedinstvena", "Validate File" : "Potvrdi datoteku", "Are you sure you want to exclude user {email} from the request?" : "Jeste li sigurni da želite izuzeti korisnika {email} iz zahtjeva?", + "Password & Security" : "Zaporka i sigurnost", + "Create password key" : "Stvori ključ zaporke", + "Reset password" : "Resetiraj zaporku", "Validate Document" : "Potvrdi dokument", + "Enter the emails that will receive the request" : "Unesite adrese e-pošte koje će primiti zahtjev", + "Signatures for this document have already been requested" : "Već su zatraženi potpisi za ovaj dokument", + "Add users" : "Dodaj korisnike", + "Root certificate data." : "Podaci korijenske vjerodajnice.", + "Generate root certificate." : "Generirajte korijensku vjerodajnicu.", "Remove" : "Ukloni" }, "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/hr.json b/l10n/hr.json index a231efaf62..17af5ccfaf 100644 --- a/l10n/hr.json +++ b/l10n/hr.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Nevažeći UUID", "Success" : "Uspjeh", "Invalid user or password" : "Nevažeći korisnik ili zaporka", "_Element created with success_::_Elements created with success_" : ["Element je uspješno stvoren","Elementi su uspješno stvoreni","Elementi su uspješno stvoreni"], @@ -7,6 +8,7 @@ "Element updated with success" : "Element uspješno ažuriran", "Visible element deleted" : "Vidljivi element je izbrisan", "Settings saved" : "Postavke spremljene", + "New password to sign documents has been created" : "Nova zaporka za potpisivanje dokumenata je stvorena", "Name is mandatory" : "Ime je obavezno", "Notification sent with success." : "Obavijest je uspješno poslana.", "File signed" : "Datoteka je potpisana", @@ -21,9 +23,11 @@ "Invalid Sign engine." : "Nevažeći sustav za potpisivanje.", "Digital signed by LibreSign." : "Digitalno potpisano sustavom LibreSign.", "Validate in %s." : "Potvrdite u %s.", + "Invalid data to validate file" : "Nevažeći podaci za potvrđivanje datoteke", "File type: %s. Empty file." : "Vrsta datoteke: %s. Prazna datoteka.", "Elements of type %s need file." : "Elementi tipa %s trebaju datoteku.", "File type: %s. Invalid fileID." : "Vrsta datoteke: %s. Nevažeći fileID.", + "User not found." : "Korisnik nije pronađen.", "document to sign" : "dokument za potpisivanje", "visible element" : "vidljiv element", "File type: %s. Invalid base64 file." : "Vrsta datoteke: %s. Nevažeća datoteka base64.", @@ -48,7 +52,6 @@ "Sign process already started. Unable to change status." : "Postupak potpisivanja je započeo. Nije moguće promijeniti status.", "Inform or UUID or a File object" : "Objekt Inform ili UUID ili File", "No user data" : "Nema korisničkih podataka", - "User not found." : "Korisnik nije pronađen.", "User %s has no email address." : "Korisnik %s nema adresu e-pošte.", "Email required" : "Adresa e-pošte je obavezna", "Invalid email" : "Nevažeća adresa e-pošte", @@ -56,7 +59,6 @@ "No signature was requested to %s" : "Nije zatražen potpis od %s", "%s already signed this file" : "%s je već potpisao ovu datoteku", "Invalid UUID file" : "Nevažeća UUID datoteka", - "Invalid UUID" : "Nevažeći UUID", "Signer not associated to this file" : "Potpisnik nije povezan s ovom datotekom", "A file of this type has been associated." : "Datoteka ove vrste je povezana.", "File already signed." : "Datoteka je već potpisana.", @@ -74,7 +76,7 @@ "Invalid URL file" : "Neispravna datoteka URL-a", "Visible element file must be png." : "Datoteka vidljivog elementa mora biti u formatu png.", "Empty file" : "Prazna datoteka", - "Invalid data to validate file" : "Nevažeći podaci za potvrđivanje datoteke", + "File is too big" : "Datoteka je prevelika", "Invalid file identifier" : "Nevažeći identifikator datoteke", "You need to sign this document" : "Morate potpisati ovaj dokument", "You cannot request signature for this document, please contact your administrator" : "Ne možete tražiti potpisivanje ovog dokumenta, obratite se svom administratoru", @@ -88,7 +90,6 @@ "Email" : "E-pošta", "User already exists" : "Korisnik već postoji", "This is not your file" : "Ovo nije vaša datoteka", - "Password" : "Zaporka", "Invalid password" : "Netočna zaporka", "LibreSign: Changes into a file for you to sign" : "LibreSign: pretvara se u datoteku radi potpisivanja", "File to sign" : "Datoteka za potpisivanje", @@ -112,6 +113,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplikacija za digitalno potpisivanje u Nextcloudu.", "Authentication required" : "Potrebna autentifikacija", "This action requires you to confirm your password" : "Za izvršavanje ove radnje potvrdite svoju zaporku", + "Password" : "Zaporka", "Confirm" : "Potvrdi", "Incorrect password!" : "Netočna zaporka!", "Text" : "Tekst", @@ -141,9 +143,8 @@ "Account not exist" : "Račun ne postoji", "Sign" : "Potpiši", "Details" : "Pojedinosti", - "Password & Security" : "Zaporka i sigurnost", - "Create password key" : "Stvori ključ zaporke", - "Reset password" : "Resetiraj zaporku", + "Certificate" : "Vjerodajnica", + "Change password" : "Promijeni lozinku", "Select a file" : "Select a file", "Type" : "Vrsta", "Status" : "Status", @@ -158,7 +159,6 @@ "Password Creation" : "Stvaranje zaporke", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Iz sigurnosnih razloga morate stvoriti zaporku za potpisivanje dokumenata. Unesite novu zaporku u polje u nastavku.", "Enter a password" : "Unesite zaporku", - "New password to sign documents has been created" : "Nova zaporka za potpisivanje dokumenata je stvorena", "Error creating new password, please contact the administrator" : "Pogreška pri stvaranju nove zaporke, obratite se administratoru", "Create new subscription." : "Stvorite novu pretplatu.", "Root certificate has not been configured by the Administrator!" : "Administrator nije konfigurirao korijensku vjerodajnicu!", @@ -185,12 +185,11 @@ "Request Signatures" : "Zatraži potpise", "Choose the file to request signatures." : "Odaberite datoteku za traženje potpisa.", "Choose from Files" : "Odaberi iz datoteka", - "Enter the emails that will receive the request" : "Unesite adrese e-pošte koje će primiti zahtjev", - "Signatures for this document have already been requested" : "Već su zatraženi potpisi za ovaj dokument", - "Add users" : "Dodaj korisnike", + "Send" : "Pošaljite", "Select your file" : "Odaberite svoju datoteku", "Password reset" : "Resetiranje zaporke", "Enter new password and then repeat it" : "Unesite novu zaporku, a zatim je ponovite", + "Current password" : "Trenutna zaporka", "New password" : "Nova zaporka", "Repeat password" : "Ponovi zaporku", "Message" : "Poruka", @@ -202,9 +201,7 @@ "Name (CN)" : "Ime (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "Put do konfiguracije", - "Root certificate data." : "Podaci korijenske vjerodajnice.", "To generate new signatures, you must first generate the root certificate." : "Kako biste generirali nove potpise, prvo morate generirati korijensku vjerodajnicu.", - "Generate root certificate." : "Generirajte korijensku vjerodajnicu.", "Generating certificate." : "Generiranje vjerodajnice.", "Could not generate certificate." : "Generiranje vjerodajnice nije uspjelo.", "Generated certificate!" : "Vjerodajnica generirana!", @@ -230,7 +227,15 @@ "Remove duplicated users, email address need to be unique" : "Uklonite duple korisnike, adresa e-pošte mora biti jedinstvena", "Validate File" : "Potvrdi datoteku", "Are you sure you want to exclude user {email} from the request?" : "Jeste li sigurni da želite izuzeti korisnika {email} iz zahtjeva?", + "Password & Security" : "Zaporka i sigurnost", + "Create password key" : "Stvori ključ zaporke", + "Reset password" : "Resetiraj zaporku", "Validate Document" : "Potvrdi dokument", + "Enter the emails that will receive the request" : "Unesite adrese e-pošte koje će primiti zahtjev", + "Signatures for this document have already been requested" : "Već su zatraženi potpisi za ovaj dokument", + "Add users" : "Dodaj korisnike", + "Root certificate data." : "Podaci korijenske vjerodajnice.", + "Generate root certificate." : "Generirajte korijensku vjerodajnicu.", "Remove" : "Ukloni" },"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/hu.js b/l10n/hu.js index fbb76e9293..8f458c1f17 100644 --- a/l10n/hu.js +++ b/l10n/hu.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Érvénytelen UUID", "Success" : "Sikeres", "Invalid user or password" : "Érvénytelen felhasználó vagy jelszó", "_Element created with success_::_Elements created with success_" : ["Elem sikeresen létrehozva","Elemek sikeresen létrehozva"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Elem sikeresen frissítve", "Visible element deleted" : "Látható elem törölve", "Settings saved" : "Beállítások mentve", + "New password to sign documents has been created" : "Az új, dokumentumok aláírásához használt jelszó létrehozva", "Name is mandatory" : "A név megadása kötelező", "Notification sent with success." : "Az értesítés sikeresen kiküldve.", "File signed" : "Fájl aláírva", @@ -28,10 +30,12 @@ OC.L10N.register( "Invalid Sign engine." : "Érvénytelen aláírómotor.", "Digital signed by LibreSign." : "LibreSignnal digitálisan aláírva.", "Validate in %s." : "Ellenőrzés itt: %s.", + "Invalid data to validate file" : "Érvénytelen adatok a fájl ellenőrzéséhez", "File type: %s. Empty file." : "Fájltípus: %s. Üres fájl.", "Elements of type %s need file." : "A(z) %s típusú elemekhez fájl szükséges.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Fájltípus: %s. Adjon meg egy URL-t, egy base64 karakterláncot vagy egy fájlazonosítót.", "File type: %s. Invalid fileID." : "Fájltípus: %s. Érvénytelen fájlazonosító.", + "User not found." : "A felhasználó nem található.", "document to sign" : "aláírandó dokumentum", "visible element" : "látható elem", "File type: %s. Invalid base64 file." : "Fájltípus: %s. Érvénytelen base64 fájl.", @@ -58,7 +62,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Az aláírási folyamat elindult. Az állapot nem módosítható.", "Inform or UUID or a File object" : "Adjon meg egy UUID-t vagy egy fájlobjektumot", "No user data" : "Nincs felhaszálói adat", - "User not found." : "A felhasználó nem található.", "User %s has no email address." : "%s felhasználónak nincs e-mail-címe.", "Email required" : "E-mail szükséges", "Invalid email" : "Érvénytelen e-mail", @@ -66,7 +69,6 @@ OC.L10N.register( "No signature was requested to %s" : "Nem kértek aláírást a következőhöz: %s", "%s already signed this file" : "%s már aláírta ezt a fájlt", "Invalid UUID file" : "Érvénytelen UUID fájl", - "Invalid UUID" : "Érvénytelen UUID", "Signer not associated to this file" : "Az aláíró nem áll kapcsolatban ezzel a fájllal", "A file of this type has been associated." : "Egy ilyen típusú fájl hozzá lett rendelve.", "Empty identify data." : "Üres azonosító adat.", @@ -89,7 +91,7 @@ OC.L10N.register( "Invalid URL file" : "Érvénytelen URL fájl", "Visible element file must be png." : "A látható elem fájljának png-nek kell lennie.", "Empty file" : "Üres fájl", - "Invalid data to validate file" : "Érvénytelen adatok a fájl ellenőrzéséhez", + "File is too big" : "A fájl túl nagy", "Invalid file identifier" : "Érvénytelen fájlazonosító", "You need to sign this document" : "Alá kell írnia ezt a dokumentumot", "You cannot request signature for this document, please contact your administrator" : "Nem kérhet aláírást erre a dokumentumra, lépjen kapcsolatba a rendszergazdával", @@ -104,7 +106,6 @@ OC.L10N.register( "Email" : "E-mail", "User already exists" : "A felhasználó már létezik", "This is not your file" : "Ez nem az Ön fájlja", - "Password" : "Jelszó", "Invalid password" : "Érvénytelen jelszó", "LibreSign: Changes into a file for you to sign" : "LibreSign: egy aláírandó fájl megváltozott", "File to sign" : "Aláírandó fájl", @@ -141,6 +142,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, digitális aláírási alkalmazás a Nextcloudhoz", "Authentication required" : "Hitelesítés szükséges", "This action requires you to confirm your password" : "A művelethez meg kell erősítenie a jelszavát", + "Password" : "Jelszó", "Confirm" : "Megerősítés", "Incorrect password!" : "Helytelen jelszó.", "Text" : "Szöveg", @@ -184,9 +186,9 @@ OC.L10N.register( "Request signatures?" : "Kéri az aláírásokat?", "Element created" : "Az elem létrehozva", "Details" : "Részletek", - "Password & Security" : "Jelszó és biztonság", - "Create password key" : "Jelszókulcs létrehozása", - "Reset password" : "Jelszó-visszaállítás", + "Certificate" : "Tanúsítvány", + "Delete certificate" : "Tanúsítvány törlése", + "Change password" : "Jelszó módosítása", "Not sent yet" : "Még nincs elküldve", "Not defined yet" : "Még nincs meghatározva", "Select a file" : "Válasszon egy fájlt", @@ -207,7 +209,6 @@ OC.L10N.register( "Password Creation" : "Jelszó létrehozása", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Biztonsági okok miatt létre kell hoznia egy jelszót a dokumentumok aláírásához. Adja meg az új jelszavát a lenti mezőben.", "Enter a password" : "Adja meg a jelszót", - "New password to sign documents has been created" : "Az új, dokumentumok aláírásához használt jelszó létrehozva", "Error creating new password, please contact the administrator" : "Hiba az új jelszó létrehozása során, vegye fel a kapcsolatot a rendszergazdával", "Create new subscription." : "Új előfizetés létrehozása", "Root certificate has not been configured by the Administrator!" : "A rendszergazda nem konfigurálta a gyökértanúsítványt.", @@ -236,12 +237,11 @@ OC.L10N.register( "Request Signatures" : "Aláírások kérése", "Choose the file to request signatures." : "Válasszon fájlt az aláírások kéréséhez.", "Choose from Files" : "Válasszon a Fájlokból", - "Enter the emails that will receive the request" : "Adja meg az e-mail-címeket, melyek fogadják a kérést", - "Signatures for this document have already been requested" : "A dokumentum aláírásai már kérve lettek", - "Add users" : "Felhasználók hozzáadása", + "Send" : "Küldés", "Select your file" : "Válassza ki a fájlját", "Password reset" : "Jelszó-visszaállítás", "Enter new password and then repeat it" : "Adja meg az új jelszót, majd ismételje meg", + "Current password" : "Jelenlegi jelszó", "New password" : "Új jelszó", "Repeat password" : "Jelszó ismétlése", "Allow request to sign" : "Aláírási kérés engedélyezése", @@ -257,7 +257,7 @@ OC.L10N.register( "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Ha engedélyezi a funkciót, akkor a LibreSign eltárolja az aláíró IP-címét és felhasználói ügynökét, amikor dokumentumot ír alá. ", "Message" : "Üzenet", "Resource" : "Forrás", - "Advice" : "Tanács", + "Tip" : "Tip", "Configuration check" : "Beállítás-ellenőrzés", "Status of setup" : "Beállítás állapota", "Customize default user folder" : "Alapértelmezés felhasználói mappa testreszabása", @@ -286,9 +286,7 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "A fő cég vagy a példány elsődleges felhasználójának teljes neve", "Define custom values to use {engine}" : "Egyéni értékek meghatározása a(z) {engine} használatához", "Not mandatory, don't fill to use default value." : "Nem kötelező, az alapértelmezett érték használatához hagyja üresen.", - "Root certificate data." : "Gyökértanúsítvány adatai.", "To generate new signatures, you must first generate the root certificate." : "Új aláírások létrehozásához először elő kell állítania a gyökértanúsítványt.", - "Generate root certificate." : "Gyökértanúsítvány előállítása.", "Generating certificate." : "Tanúsítvány előállítása.", "Could not generate certificate." : "Nem sikerült létrehozni a tanúsítványt.", "Generated certificate!" : "Tanúsítvány előállítva.", @@ -339,14 +337,19 @@ OC.L10N.register( "Validate File" : "Fájl ellenőrzése", "Add visible signatures" : "Látható aláírások hozzáadása", "Are you sure you want to exclude user {email} from the request?" : "Biztos, hogy kihagyja {email} felhasználót a kérésből?", + "Password & Security" : "Jelszó és biztonság", + "Create password key" : "Jelszókulcs létrehozása", + "Reset password" : "Jelszó-visszaállítás", "Nothing to do" : "Nincs teendő", "Validate Document" : "Dokumentum ellenőrzése", "Do you want to configure visible elements in this document?" : "Biztos, hogy beállítja a látható elemeket ebben a dokumentumban?", - "Collect signers metadata when sign a document" : "Az aláírók metaadatainak begyűjtése a dokumentum aláírásakor", - "Collect signers metadata" : "Aláírók metaadatainak begyűjtése", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Ha engedélyezi a funkciót, akkor a LibreSign eltárolja az aláíró IP-címét és felhasználói ügynökét, amikor dokumentumot ír alá. ", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "A működéshez szükséges binárisok. Akár 340 MB is lehet a letöltési méret, várjon egy kicsit.", + "Enter the emails that will receive the request" : "Adja meg az e-mail-címeket, melyek fogadják a kérést", + "Signatures for this document have already been requested" : "A dokumentum aláírásai már kérve lettek", + "Add users" : "Felhasználók hozzáadása", + "Advice" : "Tanács", "Define custom values to use CFSSL" : "Egyéni értékek meghatározása a CFSSL használatához", + "Root certificate data." : "Gyökértanúsítvány adatai.", + "Generate root certificate." : "Gyökértanúsítvány előállítása.", "Remove" : "Eltávolítás" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/hu.json b/l10n/hu.json index 1a179d7820..5cc2d55597 100644 --- a/l10n/hu.json +++ b/l10n/hu.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Érvénytelen UUID", "Success" : "Sikeres", "Invalid user or password" : "Érvénytelen felhasználó vagy jelszó", "_Element created with success_::_Elements created with success_" : ["Elem sikeresen létrehozva","Elemek sikeresen létrehozva"], @@ -7,6 +8,7 @@ "Element updated with success" : "Elem sikeresen frissítve", "Visible element deleted" : "Látható elem törölve", "Settings saved" : "Beállítások mentve", + "New password to sign documents has been created" : "Az új, dokumentumok aláírásához használt jelszó létrehozva", "Name is mandatory" : "A név megadása kötelező", "Notification sent with success." : "Az értesítés sikeresen kiküldve.", "File signed" : "Fájl aláírva", @@ -26,10 +28,12 @@ "Invalid Sign engine." : "Érvénytelen aláírómotor.", "Digital signed by LibreSign." : "LibreSignnal digitálisan aláírva.", "Validate in %s." : "Ellenőrzés itt: %s.", + "Invalid data to validate file" : "Érvénytelen adatok a fájl ellenőrzéséhez", "File type: %s. Empty file." : "Fájltípus: %s. Üres fájl.", "Elements of type %s need file." : "A(z) %s típusú elemekhez fájl szükséges.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Fájltípus: %s. Adjon meg egy URL-t, egy base64 karakterláncot vagy egy fájlazonosítót.", "File type: %s. Invalid fileID." : "Fájltípus: %s. Érvénytelen fájlazonosító.", + "User not found." : "A felhasználó nem található.", "document to sign" : "aláírandó dokumentum", "visible element" : "látható elem", "File type: %s. Invalid base64 file." : "Fájltípus: %s. Érvénytelen base64 fájl.", @@ -56,7 +60,6 @@ "Sign process already started. Unable to change status." : "Az aláírási folyamat elindult. Az állapot nem módosítható.", "Inform or UUID or a File object" : "Adjon meg egy UUID-t vagy egy fájlobjektumot", "No user data" : "Nincs felhaszálói adat", - "User not found." : "A felhasználó nem található.", "User %s has no email address." : "%s felhasználónak nincs e-mail-címe.", "Email required" : "E-mail szükséges", "Invalid email" : "Érvénytelen e-mail", @@ -64,7 +67,6 @@ "No signature was requested to %s" : "Nem kértek aláírást a következőhöz: %s", "%s already signed this file" : "%s már aláírta ezt a fájlt", "Invalid UUID file" : "Érvénytelen UUID fájl", - "Invalid UUID" : "Érvénytelen UUID", "Signer not associated to this file" : "Az aláíró nem áll kapcsolatban ezzel a fájllal", "A file of this type has been associated." : "Egy ilyen típusú fájl hozzá lett rendelve.", "Empty identify data." : "Üres azonosító adat.", @@ -87,7 +89,7 @@ "Invalid URL file" : "Érvénytelen URL fájl", "Visible element file must be png." : "A látható elem fájljának png-nek kell lennie.", "Empty file" : "Üres fájl", - "Invalid data to validate file" : "Érvénytelen adatok a fájl ellenőrzéséhez", + "File is too big" : "A fájl túl nagy", "Invalid file identifier" : "Érvénytelen fájlazonosító", "You need to sign this document" : "Alá kell írnia ezt a dokumentumot", "You cannot request signature for this document, please contact your administrator" : "Nem kérhet aláírást erre a dokumentumra, lépjen kapcsolatba a rendszergazdával", @@ -102,7 +104,6 @@ "Email" : "E-mail", "User already exists" : "A felhasználó már létezik", "This is not your file" : "Ez nem az Ön fájlja", - "Password" : "Jelszó", "Invalid password" : "Érvénytelen jelszó", "LibreSign: Changes into a file for you to sign" : "LibreSign: egy aláírandó fájl megváltozott", "File to sign" : "Aláírandó fájl", @@ -139,6 +140,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, digitális aláírási alkalmazás a Nextcloudhoz", "Authentication required" : "Hitelesítés szükséges", "This action requires you to confirm your password" : "A művelethez meg kell erősítenie a jelszavát", + "Password" : "Jelszó", "Confirm" : "Megerősítés", "Incorrect password!" : "Helytelen jelszó.", "Text" : "Szöveg", @@ -182,9 +184,9 @@ "Request signatures?" : "Kéri az aláírásokat?", "Element created" : "Az elem létrehozva", "Details" : "Részletek", - "Password & Security" : "Jelszó és biztonság", - "Create password key" : "Jelszókulcs létrehozása", - "Reset password" : "Jelszó-visszaállítás", + "Certificate" : "Tanúsítvány", + "Delete certificate" : "Tanúsítvány törlése", + "Change password" : "Jelszó módosítása", "Not sent yet" : "Még nincs elküldve", "Not defined yet" : "Még nincs meghatározva", "Select a file" : "Válasszon egy fájlt", @@ -205,7 +207,6 @@ "Password Creation" : "Jelszó létrehozása", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Biztonsági okok miatt létre kell hoznia egy jelszót a dokumentumok aláírásához. Adja meg az új jelszavát a lenti mezőben.", "Enter a password" : "Adja meg a jelszót", - "New password to sign documents has been created" : "Az új, dokumentumok aláírásához használt jelszó létrehozva", "Error creating new password, please contact the administrator" : "Hiba az új jelszó létrehozása során, vegye fel a kapcsolatot a rendszergazdával", "Create new subscription." : "Új előfizetés létrehozása", "Root certificate has not been configured by the Administrator!" : "A rendszergazda nem konfigurálta a gyökértanúsítványt.", @@ -234,12 +235,11 @@ "Request Signatures" : "Aláírások kérése", "Choose the file to request signatures." : "Válasszon fájlt az aláírások kéréséhez.", "Choose from Files" : "Válasszon a Fájlokból", - "Enter the emails that will receive the request" : "Adja meg az e-mail-címeket, melyek fogadják a kérést", - "Signatures for this document have already been requested" : "A dokumentum aláírásai már kérve lettek", - "Add users" : "Felhasználók hozzáadása", + "Send" : "Küldés", "Select your file" : "Válassza ki a fájlját", "Password reset" : "Jelszó-visszaállítás", "Enter new password and then repeat it" : "Adja meg az új jelszót, majd ismételje meg", + "Current password" : "Jelenlegi jelszó", "New password" : "Új jelszó", "Repeat password" : "Jelszó ismétlése", "Allow request to sign" : "Aláírási kérés engedélyezése", @@ -255,7 +255,7 @@ "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Ha engedélyezi a funkciót, akkor a LibreSign eltárolja az aláíró IP-címét és felhasználói ügynökét, amikor dokumentumot ír alá. ", "Message" : "Üzenet", "Resource" : "Forrás", - "Advice" : "Tanács", + "Tip" : "Tip", "Configuration check" : "Beállítás-ellenőrzés", "Status of setup" : "Beállítás állapota", "Customize default user folder" : "Alapértelmezés felhasználói mappa testreszabása", @@ -284,9 +284,7 @@ "Full name of the main company or main user of this instance" : "A fő cég vagy a példány elsődleges felhasználójának teljes neve", "Define custom values to use {engine}" : "Egyéni értékek meghatározása a(z) {engine} használatához", "Not mandatory, don't fill to use default value." : "Nem kötelező, az alapértelmezett érték használatához hagyja üresen.", - "Root certificate data." : "Gyökértanúsítvány adatai.", "To generate new signatures, you must first generate the root certificate." : "Új aláírások létrehozásához először elő kell állítania a gyökértanúsítványt.", - "Generate root certificate." : "Gyökértanúsítvány előállítása.", "Generating certificate." : "Tanúsítvány előállítása.", "Could not generate certificate." : "Nem sikerült létrehozni a tanúsítványt.", "Generated certificate!" : "Tanúsítvány előállítva.", @@ -337,14 +335,19 @@ "Validate File" : "Fájl ellenőrzése", "Add visible signatures" : "Látható aláírások hozzáadása", "Are you sure you want to exclude user {email} from the request?" : "Biztos, hogy kihagyja {email} felhasználót a kérésből?", + "Password & Security" : "Jelszó és biztonság", + "Create password key" : "Jelszókulcs létrehozása", + "Reset password" : "Jelszó-visszaállítás", "Nothing to do" : "Nincs teendő", "Validate Document" : "Dokumentum ellenőrzése", "Do you want to configure visible elements in this document?" : "Biztos, hogy beállítja a látható elemeket ebben a dokumentumban?", - "Collect signers metadata when sign a document" : "Az aláírók metaadatainak begyűjtése a dokumentum aláírásakor", - "Collect signers metadata" : "Aláírók metaadatainak begyűjtése", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Ha engedélyezi a funkciót, akkor a LibreSign eltárolja az aláíró IP-címét és felhasználói ügynökét, amikor dokumentumot ír alá. ", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "A működéshez szükséges binárisok. Akár 340 MB is lehet a letöltési méret, várjon egy kicsit.", + "Enter the emails that will receive the request" : "Adja meg az e-mail-címeket, melyek fogadják a kérést", + "Signatures for this document have already been requested" : "A dokumentum aláírásai már kérve lettek", + "Add users" : "Felhasználók hozzáadása", + "Advice" : "Tanács", "Define custom values to use CFSSL" : "Egyéni értékek meghatározása a CFSSL használatához", + "Root certificate data." : "Gyökértanúsítvány adatai.", + "Generate root certificate." : "Gyökértanúsítvány előállítása.", "Remove" : "Eltávolítás" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/hy.js b/l10n/hy.js index 3721d13c6e..c3e1738930 100644 --- a/l10n/hy.js +++ b/l10n/hy.js @@ -2,10 +2,11 @@ OC.L10N.register( "libresign", { "File not found" : "Ֆայլը չգտնվեց", + "File is too big" : "Նիշքը չափազանց մեծ է", "Email" : "Էլ․փոստ", - "Password" : "Գաղտնաբառ", "Files" : "Ֆայլեր", "Settings" : "կարգավորումներ", + "Password" : "Գաղտնաբառ", "Upload" : "Բեռնել", "Cancel" : "ընդհատել", "Save" : "Պահպանել", @@ -22,6 +23,7 @@ OC.L10N.register( "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "Ուղարկել", "Password reset" : "Վերականգնել գաղտնաբառը", "New password" : "Նոր գաղտնաբառ", "Resource" : "Ռեսուրս", diff --git a/l10n/hy.json b/l10n/hy.json index 18608ae2d2..0899810fad 100644 --- a/l10n/hy.json +++ b/l10n/hy.json @@ -1,9 +1,10 @@ { "translations": { "File not found" : "Ֆայլը չգտնվեց", + "File is too big" : "Նիշքը չափազանց մեծ է", "Email" : "Էլ․փոստ", - "Password" : "Գաղտնաբառ", "Files" : "Ֆայլեր", "Settings" : "կարգավորումներ", + "Password" : "Գաղտնաբառ", "Upload" : "Բեռնել", "Cancel" : "ընդհատել", "Save" : "Պահպանել", @@ -20,6 +21,7 @@ "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "Ուղարկել", "Password reset" : "Վերականգնել գաղտնաբառը", "New password" : "Նոր գաղտնաբառ", "Resource" : "Ռեսուրս", diff --git a/l10n/ia.js b/l10n/ia.js index b5c3239af0..1baf0911f1 100644 --- a/l10n/ia.js +++ b/l10n/ia.js @@ -3,12 +3,13 @@ OC.L10N.register( { "Settings saved" : "Configurationes salveguardate", "View" : "Vider", + "File is too big" : "File es troppo grande", "Invalid user" : "Usator invalide", "Email" : "E-posta", - "Password" : "Contrasigno", "Files" : "Files", "Settings" : "Configurationes", "Authentication required" : "Authentication requirite", + "Password" : "Contrasigno", "Confirm" : "Confirmar", "Upload" : "Incargar", "Apply" : "Applicar", @@ -29,6 +30,8 @@ OC.L10N.register( "Enter a password" : "Enter a password", "Yes" : "Si", "No" : "No", + "Send" : "Inviar", + "Current password" : "Contrasigno actual", "New password" : "Nove contrasigno", "Resource" : "Ressource", "Pending" : "Pendente", diff --git a/l10n/ia.json b/l10n/ia.json index 2718e65afa..67b8b3bd96 100644 --- a/l10n/ia.json +++ b/l10n/ia.json @@ -1,12 +1,13 @@ { "translations": { "Settings saved" : "Configurationes salveguardate", "View" : "Vider", + "File is too big" : "File es troppo grande", "Invalid user" : "Usator invalide", "Email" : "E-posta", - "Password" : "Contrasigno", "Files" : "Files", "Settings" : "Configurationes", "Authentication required" : "Authentication requirite", + "Password" : "Contrasigno", "Confirm" : "Confirmar", "Upload" : "Incargar", "Apply" : "Applicar", @@ -27,6 +28,8 @@ "Enter a password" : "Enter a password", "Yes" : "Si", "No" : "No", + "Send" : "Inviar", + "Current password" : "Contrasigno actual", "New password" : "Nove contrasigno", "Resource" : "Ressource", "Pending" : "Pendente", diff --git a/l10n/id.js b/l10n/id.js index 8dd9550b6f..b83dac3e83 100644 --- a/l10n/id.js +++ b/l10n/id.js @@ -6,20 +6,22 @@ OC.L10N.register( "View" : "Tampilan", "File not found" : "Berkas tidak ditemukan", "File already exists" : "Berkas sudah ada", + "File is too big" : "Berkas terlalu besar", "Account" : "Akun", "Invalid user" : "Pengguna salah", "Email" : "Surel", - "Password" : "Kata sandi", "Files" : "Berkas", "Settings" : "Setelan", "Authentication required" : "Diperlukan otentikasi", "This action requires you to confirm your password" : "Aksi ini membutuhkan konfirmasi kata sandi Anda", + "Password" : "Kata sandi", "Confirm" : "Konfirmasi", "Upload" : "Unggah", "Apply" : "Terapkan", "Cancel" : "Membatalkan", "Save" : "Simpan", "Name" : "Nama", + "No recommendations. Start typing." : "Tidak ada saran. Mulai mengetik.", "Update" : "Perbarui", "Description" : "Deskrisi", "Add" : "Masukkan", @@ -28,7 +30,8 @@ OC.L10N.register( "Next" : "Berikutnya", "Previous" : "Sebelumnya", "Details" : "Detail", - "Reset password" : "Setel ulang kata sandi", + "Certificate" : "Sertifikat", + "Change password" : "Ubah sandi", "Select a file" : "Pilih berkas", "Type" : "tipe", "Status" : "Status", @@ -36,14 +39,19 @@ OC.L10N.register( "Signature" : "Tanda", "Profile picture" : "Foto profil", "Enter a password" : "Masukkan kata sandi", + "Confirm password" : "Konfirmasi kata sandi", "Yes" : "Ya", "No" : "Tidak", "Page not found" : "Halaman tidak ditemukan", + "Send" : "Kirim", "Password reset" : "Setel ulang kata sandi", + "Current password" : "Kata sandi saat ini", "New password" : "Kata sandi baru", "Message" : "Pesan", + "Dependencies" : "Ketergantungan", "Pending" : "Tunggu", "No date" : "No date", + "Reset password" : "Setel ulang kata sandi", "Remove" : "Buang" }, "nplurals=1; plural=0;"); diff --git a/l10n/id.json b/l10n/id.json index 80d52e9c25..00a7e8ce1d 100644 --- a/l10n/id.json +++ b/l10n/id.json @@ -4,20 +4,22 @@ "View" : "Tampilan", "File not found" : "Berkas tidak ditemukan", "File already exists" : "Berkas sudah ada", + "File is too big" : "Berkas terlalu besar", "Account" : "Akun", "Invalid user" : "Pengguna salah", "Email" : "Surel", - "Password" : "Kata sandi", "Files" : "Berkas", "Settings" : "Setelan", "Authentication required" : "Diperlukan otentikasi", "This action requires you to confirm your password" : "Aksi ini membutuhkan konfirmasi kata sandi Anda", + "Password" : "Kata sandi", "Confirm" : "Konfirmasi", "Upload" : "Unggah", "Apply" : "Terapkan", "Cancel" : "Membatalkan", "Save" : "Simpan", "Name" : "Nama", + "No recommendations. Start typing." : "Tidak ada saran. Mulai mengetik.", "Update" : "Perbarui", "Description" : "Deskrisi", "Add" : "Masukkan", @@ -26,7 +28,8 @@ "Next" : "Berikutnya", "Previous" : "Sebelumnya", "Details" : "Detail", - "Reset password" : "Setel ulang kata sandi", + "Certificate" : "Sertifikat", + "Change password" : "Ubah sandi", "Select a file" : "Pilih berkas", "Type" : "tipe", "Status" : "Status", @@ -34,14 +37,19 @@ "Signature" : "Tanda", "Profile picture" : "Foto profil", "Enter a password" : "Masukkan kata sandi", + "Confirm password" : "Konfirmasi kata sandi", "Yes" : "Ya", "No" : "Tidak", "Page not found" : "Halaman tidak ditemukan", + "Send" : "Kirim", "Password reset" : "Setel ulang kata sandi", + "Current password" : "Kata sandi saat ini", "New password" : "Kata sandi baru", "Message" : "Pesan", + "Dependencies" : "Ketergantungan", "Pending" : "Tunggu", "No date" : "No date", + "Reset password" : "Setel ulang kata sandi", "Remove" : "Buang" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/is.js b/l10n/is.js index cae95dbb20..a6758833b7 100644 --- a/l10n/is.js +++ b/l10n/is.js @@ -10,23 +10,28 @@ OC.L10N.register( "View" : "Skoða", "File not found" : "Skrá finnst ekki", "File already exists" : "Skrá er þegar til", + "Empty file" : "Tóm skrá", + "File is too big" : "Skrá er of stór", "Account" : "Aðgangur", "Invalid user" : "Ógildur notandi", "Email" : "Tölvupóstur", - "Password" : "Lykilorð", "Files" : "Skrár", "Settings" : "Stillingar", "Authentication required" : "Auðkenningar krafist", "This action requires you to confirm your password" : "Þessi aðgerð krefst þess að þú staðfestir lykilorðið þitt", + "Password" : "Lykilorð", "Confirm" : "Staðfesta", "Incorrect password!" : "Rangt lykilorð!", "Text" : "Texti", + "Draw" : "Teikna", "Upload" : "Senda inn", "Apply" : "Virkja", "Cancel" : "Hætta við", "Save" : "Vista", "Name" : "Heiti", + "No recommendations. Start typing." : "Engar tillögur. Byrjaðu að skrifa.", "Searching …" : "Leita …", + "No elements found." : "Engin stök fundust.", "Update" : "Uppfæra", "Description" : "Lýsing", "Add" : "Bæta við", @@ -35,7 +40,7 @@ OC.L10N.register( "Next" : "Næsta", "Previous" : "Fyrra", "Details" : "Details", - "Reset password" : "Endursetja lykilorð", + "Certificate" : "Skilríki", "Select a file" : "Veldu skrá", "Type" : "Tegund", "Status" : "Staða", @@ -47,7 +52,9 @@ OC.L10N.register( "Yes" : "Já", "No" : "Nei", "Page not found" : "Síða fannst ekki", + "Send" : "Senda", "Password reset" : "Endurstilling lykilorðs", + "Current password" : "Núverandi lykilorð", "New password" : "Nýtt lykilorð", "Repeat password" : "Endurtaktu lykilorð", "Message" : "Skilaboð", @@ -56,6 +63,7 @@ OC.L10N.register( "Loading …" : "Hleð inn …", "Pending" : "Í bið", "No date" : "Engin dagsetning", + "Reset password" : "Endursetja lykilorð", "Remove" : "Fjarlægja" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/l10n/is.json b/l10n/is.json index 21f51c5f3b..184cbda471 100644 --- a/l10n/is.json +++ b/l10n/is.json @@ -8,23 +8,28 @@ "View" : "Skoða", "File not found" : "Skrá finnst ekki", "File already exists" : "Skrá er þegar til", + "Empty file" : "Tóm skrá", + "File is too big" : "Skrá er of stór", "Account" : "Aðgangur", "Invalid user" : "Ógildur notandi", "Email" : "Tölvupóstur", - "Password" : "Lykilorð", "Files" : "Skrár", "Settings" : "Stillingar", "Authentication required" : "Auðkenningar krafist", "This action requires you to confirm your password" : "Þessi aðgerð krefst þess að þú staðfestir lykilorðið þitt", + "Password" : "Lykilorð", "Confirm" : "Staðfesta", "Incorrect password!" : "Rangt lykilorð!", "Text" : "Texti", + "Draw" : "Teikna", "Upload" : "Senda inn", "Apply" : "Virkja", "Cancel" : "Hætta við", "Save" : "Vista", "Name" : "Heiti", + "No recommendations. Start typing." : "Engar tillögur. Byrjaðu að skrifa.", "Searching …" : "Leita …", + "No elements found." : "Engin stök fundust.", "Update" : "Uppfæra", "Description" : "Lýsing", "Add" : "Bæta við", @@ -33,7 +38,7 @@ "Next" : "Næsta", "Previous" : "Fyrra", "Details" : "Details", - "Reset password" : "Endursetja lykilorð", + "Certificate" : "Skilríki", "Select a file" : "Veldu skrá", "Type" : "Tegund", "Status" : "Staða", @@ -45,7 +50,9 @@ "Yes" : "Já", "No" : "Nei", "Page not found" : "Síða fannst ekki", + "Send" : "Senda", "Password reset" : "Endurstilling lykilorðs", + "Current password" : "Núverandi lykilorð", "New password" : "Nýtt lykilorð", "Repeat password" : "Endurtaktu lykilorð", "Message" : "Skilaboð", @@ -54,6 +61,7 @@ "Loading …" : "Hleð inn …", "Pending" : "Í bið", "No date" : "Engin dagsetning", + "Reset password" : "Endursetja lykilorð", "Remove" : "Fjarlægja" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/l10n/it.js b/l10n/it.js index b3fa822af5..025c953d83 100644 --- a/l10n/it.js +++ b/l10n/it.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID non valido", "Success" : "Successo", "Invalid user or password" : "Utente o password non validi", "_Element created with success_::_Elements created with success_" : ["Elemento creato con successo","Elementi creati con successo","Elementi creati con successo"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Elemento aggiornato con successo", "Visible element deleted" : "Elemento visibile eliminato", "Settings saved" : "Impostazioni salvate", + "New password to sign documents has been created" : "È stata creata una nuova password per firmare i documenti", "Name is mandatory" : "Il nome è obbligatorio", "Notification sent with success." : "Notifica inviata correttamente.", "File signed" : "File firmato", @@ -26,9 +28,11 @@ OC.L10N.register( "Invalid Sign engine." : "Motore di firme invalido.", "Digital signed by LibreSign." : "Firmata digitalmente con LibreSign.", "Validate in %s." : "Convalida in %s.", + "Invalid data to validate file" : "Dati non validi per convalidare il file", "File type: %s. Empty file." : "Tipo di file: %s. File vuoto.", "Elements of type %s need file." : "Gli elementi di tipo %s necessitano di un file.", "File type: %s. Invalid fileID." : "Tipo di file: %s. FileID non valido.", + "User not found." : "Utente non trovato.", "document to sign" : "documento da firmare", "visible element" : "elemento visibile", "File type: %s. Invalid base64 file." : "Tipo di file: %s. Base64 file non valido.", @@ -55,7 +59,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Processo di firma già avviato. Impossibile modificare lo stato.", "Inform or UUID or a File object" : "Inform o UUID o un oggetto File", "No user data" : "Nessun dato utente", - "User not found." : "Utente non trovato.", "User %s has no email address." : "L'utente %s non ha un indirizzo email.", "Email required" : "Email richiesta", "Invalid email" : "Email non valida", @@ -63,7 +66,6 @@ OC.L10N.register( "No signature was requested to %s" : "Nessuna firma è stata richiesta per %s", "%s already signed this file" : "%s ha già firmato questo file", "Invalid UUID file" : "File UUID non valido", - "Invalid UUID" : "UUID non valido", "Signer not associated to this file" : "Firmatario non associato a questo file", "A file of this type has been associated." : "Un file di questo tipo è stato associato.", "File already signed." : "File già firmato.", @@ -82,7 +84,7 @@ OC.L10N.register( "Invalid URL file" : "File URL non valido", "Visible element file must be png." : "L'elemento visibile deve essere un png.", "Empty file" : "File vuoto", - "Invalid data to validate file" : "Dati non validi per convalidare il file", + "File is too big" : "Il file è troppo grande", "Invalid file identifier" : "Identificatore file non valido", "You need to sign this document" : "È necessario firmare questo documento", "You cannot request signature for this document, please contact your administrator" : "Non è possibile richiedere una firma per questo documento, si prega di contattare l'amministratore.", @@ -96,7 +98,6 @@ OC.L10N.register( "Email" : "Email", "User already exists" : "L'utente esiste già", "This is not your file" : "Questo non è il tuo file", - "Password" : "Password", "Invalid password" : "Password non valida", "LibreSign: Changes into a file for you to sign" : "LibreSign: c'è da firmare un file che è stato modificato", "File to sign" : "File da firmare", @@ -128,6 +129,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, app per firme digitali per Nextcloud.", "Authentication required" : "Autenticazione richiesta", "This action requires you to confirm your password" : "Questa azione richiede la conferma della tua password", + "Password" : "Password", "Confirm" : "Conferma", "Incorrect password!" : "Password non corretta!", "Text" : "Testo", @@ -164,9 +166,8 @@ OC.L10N.register( "Request signatures?" : "Richiedi firme?", "Element created" : "Elemento creato", "Details" : "Dettagli", - "Password & Security" : "Password e sicurezza", - "Create password key" : "Crea chiave password", - "Reset password" : "Ripristina password", + "Certificate" : "Certificato", + "Change password" : "Modifica password", "Not sent yet" : "Non ancora inviato", "Not defined yet" : "Non ancora definito", "Select a file" : "Seleziona un file", @@ -187,7 +188,6 @@ OC.L10N.register( "Password Creation" : "Creazione password ", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Per motivi di sicurezza, è necessario creare una password per firmare i documenti. Inserisci la tua nuova password nel campo sottostante.", "Enter a password" : "Digita una password", - "New password to sign documents has been created" : "È stata creata una nuova password per firmare i documenti", "Error creating new password, please contact the administrator" : "Errore durante la creazione della nuova password, contattare l'amministratore", "Create new subscription." : "Crea nuova sottoscrizione.", "Root certificate has not been configured by the Administrator!" : "Il certificato radice non è stato configurato dall'amministratore!", @@ -214,12 +214,11 @@ OC.L10N.register( "Request Signatures" : "Richiedi firme", "Choose the file to request signatures." : "Scegli il file per richiedere le firme.", "Choose from Files" : "Scegli da File", - "Enter the emails that will receive the request" : "Inserisci le e-mail che riceveranno la richiesta", - "Signatures for this document have already been requested" : "Le firme per questo documento sono già state richieste", - "Add users" : "Aggiungi utenti", + "Send" : "Invia", "Select your file" : "Seleziona il tuo file", "Password reset" : "Ripristino password", "Enter new password and then repeat it" : "Inserisci la nuova password e poi ripetila", + "Current password" : "Password attuale", "New password" : "Nuova password", "Repeat password" : "Ripeti la password", "Message" : "Messaggio", @@ -231,9 +230,7 @@ OC.L10N.register( "Name (CN)" : "Nome (CN)", "CFSSL API URI" : "URI API CFSSL", "Config path" : "Percorso config", - "Root certificate data." : "Dati certificato radice.", "To generate new signatures, you must first generate the root certificate." : "Per generare nuove firme, devi prima generare il certificato radice.", - "Generate root certificate." : "Genera certificato radice.", "Generating certificate." : "Generazione certificato.", "Could not generate certificate." : "Generazione certificato non riuscita.", "Generated certificate!" : "Certificato generato!", @@ -276,8 +273,17 @@ OC.L10N.register( "Validate File" : "Convalida file", "Add visible signatures" : "Aggiungi firme visibili", "Are you sure you want to exclude user {email} from the request?" : "Sei sicuro di voler escludere l'utente {email} dalla richiesta?", + "Password & Security" : "Password e sicurezza", + "Create password key" : "Crea chiave password", + "Reset password" : "Ripristina password", "Validate Document" : "Convalida documento", "Do you want to configure visible elements in this document?" : "Vuoi configurare gli elementi visibili in questo documento?", + "Enter the emails that will receive the request" : "Inserisci le e-mail che riceveranno la richiesta", + "Signatures for this document have already been requested" : "Le firme per questo documento sono già state richieste", + "Add users" : "Aggiungi utenti", + "Advice" : "Consiglio", + "Root certificate data." : "Dati certificato radice.", + "Generate root certificate." : "Genera certificato radice.", "Remove" : "Rimuovi" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/it.json b/l10n/it.json index f8d6927e95..7734dd39b9 100644 --- a/l10n/it.json +++ b/l10n/it.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID non valido", "Success" : "Successo", "Invalid user or password" : "Utente o password non validi", "_Element created with success_::_Elements created with success_" : ["Elemento creato con successo","Elementi creati con successo","Elementi creati con successo"], @@ -7,6 +8,7 @@ "Element updated with success" : "Elemento aggiornato con successo", "Visible element deleted" : "Elemento visibile eliminato", "Settings saved" : "Impostazioni salvate", + "New password to sign documents has been created" : "È stata creata una nuova password per firmare i documenti", "Name is mandatory" : "Il nome è obbligatorio", "Notification sent with success." : "Notifica inviata correttamente.", "File signed" : "File firmato", @@ -24,9 +26,11 @@ "Invalid Sign engine." : "Motore di firme invalido.", "Digital signed by LibreSign." : "Firmata digitalmente con LibreSign.", "Validate in %s." : "Convalida in %s.", + "Invalid data to validate file" : "Dati non validi per convalidare il file", "File type: %s. Empty file." : "Tipo di file: %s. File vuoto.", "Elements of type %s need file." : "Gli elementi di tipo %s necessitano di un file.", "File type: %s. Invalid fileID." : "Tipo di file: %s. FileID non valido.", + "User not found." : "Utente non trovato.", "document to sign" : "documento da firmare", "visible element" : "elemento visibile", "File type: %s. Invalid base64 file." : "Tipo di file: %s. Base64 file non valido.", @@ -53,7 +57,6 @@ "Sign process already started. Unable to change status." : "Processo di firma già avviato. Impossibile modificare lo stato.", "Inform or UUID or a File object" : "Inform o UUID o un oggetto File", "No user data" : "Nessun dato utente", - "User not found." : "Utente non trovato.", "User %s has no email address." : "L'utente %s non ha un indirizzo email.", "Email required" : "Email richiesta", "Invalid email" : "Email non valida", @@ -61,7 +64,6 @@ "No signature was requested to %s" : "Nessuna firma è stata richiesta per %s", "%s already signed this file" : "%s ha già firmato questo file", "Invalid UUID file" : "File UUID non valido", - "Invalid UUID" : "UUID non valido", "Signer not associated to this file" : "Firmatario non associato a questo file", "A file of this type has been associated." : "Un file di questo tipo è stato associato.", "File already signed." : "File già firmato.", @@ -80,7 +82,7 @@ "Invalid URL file" : "File URL non valido", "Visible element file must be png." : "L'elemento visibile deve essere un png.", "Empty file" : "File vuoto", - "Invalid data to validate file" : "Dati non validi per convalidare il file", + "File is too big" : "Il file è troppo grande", "Invalid file identifier" : "Identificatore file non valido", "You need to sign this document" : "È necessario firmare questo documento", "You cannot request signature for this document, please contact your administrator" : "Non è possibile richiedere una firma per questo documento, si prega di contattare l'amministratore.", @@ -94,7 +96,6 @@ "Email" : "Email", "User already exists" : "L'utente esiste già", "This is not your file" : "Questo non è il tuo file", - "Password" : "Password", "Invalid password" : "Password non valida", "LibreSign: Changes into a file for you to sign" : "LibreSign: c'è da firmare un file che è stato modificato", "File to sign" : "File da firmare", @@ -126,6 +127,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, app per firme digitali per Nextcloud.", "Authentication required" : "Autenticazione richiesta", "This action requires you to confirm your password" : "Questa azione richiede la conferma della tua password", + "Password" : "Password", "Confirm" : "Conferma", "Incorrect password!" : "Password non corretta!", "Text" : "Testo", @@ -162,9 +164,8 @@ "Request signatures?" : "Richiedi firme?", "Element created" : "Elemento creato", "Details" : "Dettagli", - "Password & Security" : "Password e sicurezza", - "Create password key" : "Crea chiave password", - "Reset password" : "Ripristina password", + "Certificate" : "Certificato", + "Change password" : "Modifica password", "Not sent yet" : "Non ancora inviato", "Not defined yet" : "Non ancora definito", "Select a file" : "Seleziona un file", @@ -185,7 +186,6 @@ "Password Creation" : "Creazione password ", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Per motivi di sicurezza, è necessario creare una password per firmare i documenti. Inserisci la tua nuova password nel campo sottostante.", "Enter a password" : "Digita una password", - "New password to sign documents has been created" : "È stata creata una nuova password per firmare i documenti", "Error creating new password, please contact the administrator" : "Errore durante la creazione della nuova password, contattare l'amministratore", "Create new subscription." : "Crea nuova sottoscrizione.", "Root certificate has not been configured by the Administrator!" : "Il certificato radice non è stato configurato dall'amministratore!", @@ -212,12 +212,11 @@ "Request Signatures" : "Richiedi firme", "Choose the file to request signatures." : "Scegli il file per richiedere le firme.", "Choose from Files" : "Scegli da File", - "Enter the emails that will receive the request" : "Inserisci le e-mail che riceveranno la richiesta", - "Signatures for this document have already been requested" : "Le firme per questo documento sono già state richieste", - "Add users" : "Aggiungi utenti", + "Send" : "Invia", "Select your file" : "Seleziona il tuo file", "Password reset" : "Ripristino password", "Enter new password and then repeat it" : "Inserisci la nuova password e poi ripetila", + "Current password" : "Password attuale", "New password" : "Nuova password", "Repeat password" : "Ripeti la password", "Message" : "Messaggio", @@ -229,9 +228,7 @@ "Name (CN)" : "Nome (CN)", "CFSSL API URI" : "URI API CFSSL", "Config path" : "Percorso config", - "Root certificate data." : "Dati certificato radice.", "To generate new signatures, you must first generate the root certificate." : "Per generare nuove firme, devi prima generare il certificato radice.", - "Generate root certificate." : "Genera certificato radice.", "Generating certificate." : "Generazione certificato.", "Could not generate certificate." : "Generazione certificato non riuscita.", "Generated certificate!" : "Certificato generato!", @@ -274,8 +271,17 @@ "Validate File" : "Convalida file", "Add visible signatures" : "Aggiungi firme visibili", "Are you sure you want to exclude user {email} from the request?" : "Sei sicuro di voler escludere l'utente {email} dalla richiesta?", + "Password & Security" : "Password e sicurezza", + "Create password key" : "Crea chiave password", + "Reset password" : "Ripristina password", "Validate Document" : "Convalida documento", "Do you want to configure visible elements in this document?" : "Vuoi configurare gli elementi visibili in questo documento?", + "Enter the emails that will receive the request" : "Inserisci le e-mail che riceveranno la richiesta", + "Signatures for this document have already been requested" : "Le firme per questo documento sono già state richieste", + "Add users" : "Aggiungi utenti", + "Advice" : "Consiglio", + "Root certificate data." : "Dati certificato radice.", + "Generate root certificate." : "Genera certificato radice.", "Remove" : "Rimuovi" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/ja.js b/l10n/ja.js index 95dbd3fa7a..cb9745a355 100644 --- a/l10n/ja.js +++ b/l10n/ja.js @@ -5,8 +5,8 @@ OC.L10N.register( "Settings saved" : "設定が保存されました", "draft" : "下書き", "deleted" : "削除しました", - "No user data" : "ユーザーデータなし", "User not found." : "ユーザーが見つかりません。", + "No user data" : "ユーザーデータなし", "Invalid email" : "無効なメール", "Invalid code." : "無効なコード。", "File sharing" : "ファイル共有", @@ -15,17 +15,19 @@ OC.L10N.register( "File not found" : "ファイルが見つかりません", "File already exists" : "ファイルが既に存在します", "Empty file" : "空白のファイル", + "File is too big" : "ファイルが大きすぎます", "Page not found." : "ページが見つかりません。", "Account" : "アカウント", "Invalid user" : "無効なユーザー", "Email" : "メール", - "Password" : "パスワード", + "User already exists" : "ユーザは既に存在する", "Invalid password" : "無効なパスワード", "Invalid PDF" : "無効なPDF", "Files" : "ファイル", "Settings" : "設定", "Authentication required" : "認証が必要です", "This action requires you to confirm your password" : "この操作では、パスワードを確認する必要があります", + "Password" : "パスワード", "Confirm" : "承認", "Text" : "テキスト", "Draw" : "描画", @@ -47,7 +49,8 @@ OC.L10N.register( "Next" : "次へ", "Previous" : "前へ", "Details" : "詳細", - "Reset password" : "パスワードをリセット", + "Certificate" : "証明", + "Change password" : "パスワードを変更", "Select a file" : "Select a file", "Type" : "タイプ", "Status" : "ステータス", @@ -61,9 +64,10 @@ OC.L10N.register( "No" : "いいえ", "Page not found" : "ページが見つかりません", "Choose from Files" : "ファイルから選択", - "Add users" : "ユーザーを追加", + "Send" : "送信", "Select your file" : "あなたのファイルを選択", "Password reset" : "パスワードのリセット", + "Current password" : "現在のパスワード", "New password" : "新たなパスワード", "Repeat password" : "パスワードをもう一度入力", "Message" : "メッセージ", @@ -76,6 +80,8 @@ OC.L10N.register( "Open in LibreSign" : "LibreSignで開く", "User created!" : "ユーザーが作成しました!", "Password created!" : "パスワードが作成しました!", + "Reset password" : "パスワードをリセット", + "Add users" : "ユーザーを追加", "Remove" : "削除" }, "nplurals=1; plural=0;"); diff --git a/l10n/ja.json b/l10n/ja.json index 6a1bd88682..b8562d0fbb 100644 --- a/l10n/ja.json +++ b/l10n/ja.json @@ -3,8 +3,8 @@ "Settings saved" : "設定が保存されました", "draft" : "下書き", "deleted" : "削除しました", - "No user data" : "ユーザーデータなし", "User not found." : "ユーザーが見つかりません。", + "No user data" : "ユーザーデータなし", "Invalid email" : "無効なメール", "Invalid code." : "無効なコード。", "File sharing" : "ファイル共有", @@ -13,17 +13,19 @@ "File not found" : "ファイルが見つかりません", "File already exists" : "ファイルが既に存在します", "Empty file" : "空白のファイル", + "File is too big" : "ファイルが大きすぎます", "Page not found." : "ページが見つかりません。", "Account" : "アカウント", "Invalid user" : "無効なユーザー", "Email" : "メール", - "Password" : "パスワード", + "User already exists" : "ユーザは既に存在する", "Invalid password" : "無効なパスワード", "Invalid PDF" : "無効なPDF", "Files" : "ファイル", "Settings" : "設定", "Authentication required" : "認証が必要です", "This action requires you to confirm your password" : "この操作では、パスワードを確認する必要があります", + "Password" : "パスワード", "Confirm" : "承認", "Text" : "テキスト", "Draw" : "描画", @@ -45,7 +47,8 @@ "Next" : "次へ", "Previous" : "前へ", "Details" : "詳細", - "Reset password" : "パスワードをリセット", + "Certificate" : "証明", + "Change password" : "パスワードを変更", "Select a file" : "Select a file", "Type" : "タイプ", "Status" : "ステータス", @@ -59,9 +62,10 @@ "No" : "いいえ", "Page not found" : "ページが見つかりません", "Choose from Files" : "ファイルから選択", - "Add users" : "ユーザーを追加", + "Send" : "送信", "Select your file" : "あなたのファイルを選択", "Password reset" : "パスワードのリセット", + "Current password" : "現在のパスワード", "New password" : "新たなパスワード", "Repeat password" : "パスワードをもう一度入力", "Message" : "メッセージ", @@ -74,6 +78,8 @@ "Open in LibreSign" : "LibreSignで開く", "User created!" : "ユーザーが作成しました!", "Password created!" : "パスワードが作成しました!", + "Reset password" : "パスワードをリセット", + "Add users" : "ユーザーを追加", "Remove" : "削除" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/ka_GE.js b/l10n/ka_GE.js index 832488f5d2..8bad8b4bb3 100644 --- a/l10n/ka_GE.js +++ b/l10n/ka_GE.js @@ -7,14 +7,15 @@ OC.L10N.register( "File sharing" : "ფაილების გაზიარება", "File not found" : "ფაილი ვერ იქნა ნაპოვნი", "File already exists" : "ფაილი უკვე არსებობს", + "File is too big" : "ფაილი ზედმეტად დიდია", "Account" : "ანგარიში", "Invalid user" : "არასწორი მომხმარებელი", "Email" : "ელ-ფოსტა", - "Password" : "პაროლი", "Files" : "ფაილები", "Settings" : "პარამეტრები", "Authentication required" : "აუტენტიფიკაცია საჭიროებს", "This action requires you to confirm your password" : "ეს ქმედება საჭიროებს პაროლის დადასტურებას", + "Password" : "პაროლი", "Confirm" : "დადასტურება", "Text" : "ტექსტი", "Upload" : "ატვირთვა", @@ -30,7 +31,7 @@ OC.L10N.register( "Next" : "შემდეგი", "Previous" : "წინა", "Details" : "დეტალები", - "Reset password" : "პაროლის შეცვლა", + "Certificate" : "სერტიფიკატი", "Select a file" : "Select a file", "Type" : "სახეობა", "Status" : "სტატუსი", @@ -42,7 +43,9 @@ OC.L10N.register( "Yes" : "კი", "No" : "არა", "Page not found" : "გვერდი არაა ნაპოვნი", + "Send" : "გაგზავნა", "Password reset" : "პაროლის აღდგენა", + "Current password" : "ამჟამინდელი პაროლი", "New password" : "ახალი პაროლი", "Repeat password" : "პაროლის გამეორება", "Message" : "წერილი", @@ -50,6 +53,7 @@ OC.L10N.register( "Dependencies" : "დამოკიდებულებები", "Pending" : "მოლოდინში", "No date" : "თარიღი არაა", + "Reset password" : "პაროლის შეცვლა", "Remove" : "წაშლა" }, "nplurals=2; plural=(n!=1);"); diff --git a/l10n/ka_GE.json b/l10n/ka_GE.json index 27be16ea83..603a0995f0 100644 --- a/l10n/ka_GE.json +++ b/l10n/ka_GE.json @@ -5,14 +5,15 @@ "File sharing" : "ფაილების გაზიარება", "File not found" : "ფაილი ვერ იქნა ნაპოვნი", "File already exists" : "ფაილი უკვე არსებობს", + "File is too big" : "ფაილი ზედმეტად დიდია", "Account" : "ანგარიში", "Invalid user" : "არასწორი მომხმარებელი", "Email" : "ელ-ფოსტა", - "Password" : "პაროლი", "Files" : "ფაილები", "Settings" : "პარამეტრები", "Authentication required" : "აუტენტიფიკაცია საჭიროებს", "This action requires you to confirm your password" : "ეს ქმედება საჭიროებს პაროლის დადასტურებას", + "Password" : "პაროლი", "Confirm" : "დადასტურება", "Text" : "ტექსტი", "Upload" : "ატვირთვა", @@ -28,7 +29,7 @@ "Next" : "შემდეგი", "Previous" : "წინა", "Details" : "დეტალები", - "Reset password" : "პაროლის შეცვლა", + "Certificate" : "სერტიფიკატი", "Select a file" : "Select a file", "Type" : "სახეობა", "Status" : "სტატუსი", @@ -40,7 +41,9 @@ "Yes" : "კი", "No" : "არა", "Page not found" : "გვერდი არაა ნაპოვნი", + "Send" : "გაგზავნა", "Password reset" : "პაროლის აღდგენა", + "Current password" : "ამჟამინდელი პაროლი", "New password" : "ახალი პაროლი", "Repeat password" : "პაროლის გამეორება", "Message" : "წერილი", @@ -48,6 +51,7 @@ "Dependencies" : "დამოკიდებულებები", "Pending" : "მოლოდინში", "No date" : "თარიღი არაა", + "Reset password" : "პაროლის შეცვლა", "Remove" : "წაშლა" },"pluralForm" :"nplurals=2; plural=(n!=1);" } \ No newline at end of file diff --git a/l10n/kab.js b/l10n/kab.js index 29c0c3fc4e..203e383ef1 100644 --- a/l10n/kab.js +++ b/l10n/kab.js @@ -3,12 +3,13 @@ OC.L10N.register( { "deleted" : "yettwakkes", "File not found" : "Ulac afaylu", + "File is too big" : "Afaylu-agi bezzaf meqqer", "Email" : "Imayl", - "Password" : "Awal uffir", "Invalid password" : "Yir awal uffir", "Files" : "Ifuyla", "Settings" : "Iɣewwaṛen", "Authentication required" : "Tlaq tuqqna", + "Password" : "Awal uffir", "Confirm" : "Serggeg", "Upload" : "Sili", "Cancel" : "Sefsex", @@ -20,18 +21,19 @@ OC.L10N.register( "Next" : "Uḍfir", "Previous" : "Ɣer deffir", "Details" : "Talqayt", - "Reset password" : "Awennez tikkelt nniḍen n awal uɛaddi", "Type" : "Anaw", "Status" : "État", "Enter a password" : "Sekcem awal n uɛeddi", "Yes" : "Oui", "No" : "Uhu", "Page not found" : "Ulac asebter", + "Send" : "Tuzna", "Password reset" : "Awennez n wawal uffir", "New password" : "Awal uffir amaynut", "Message" : "Izen", "Loading …" : "Asali ...", "Pending" : "Yegguni", + "Reset password" : "Awennez tikkelt nniḍen n awal uɛaddi", "Remove" : "Kkes" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/kab.json b/l10n/kab.json index c4b27b376e..396ab2d424 100644 --- a/l10n/kab.json +++ b/l10n/kab.json @@ -1,12 +1,13 @@ { "translations": { "deleted" : "yettwakkes", "File not found" : "Ulac afaylu", + "File is too big" : "Afaylu-agi bezzaf meqqer", "Email" : "Imayl", - "Password" : "Awal uffir", "Invalid password" : "Yir awal uffir", "Files" : "Ifuyla", "Settings" : "Iɣewwaṛen", "Authentication required" : "Tlaq tuqqna", + "Password" : "Awal uffir", "Confirm" : "Serggeg", "Upload" : "Sili", "Cancel" : "Sefsex", @@ -18,18 +19,19 @@ "Next" : "Uḍfir", "Previous" : "Ɣer deffir", "Details" : "Talqayt", - "Reset password" : "Awennez tikkelt nniḍen n awal uɛaddi", "Type" : "Anaw", "Status" : "État", "Enter a password" : "Sekcem awal n uɛeddi", "Yes" : "Oui", "No" : "Uhu", "Page not found" : "Ulac asebter", + "Send" : "Tuzna", "Password reset" : "Awennez n wawal uffir", "New password" : "Awal uffir amaynut", "Message" : "Izen", "Loading …" : "Asali ...", "Pending" : "Yegguni", + "Reset password" : "Awennez tikkelt nniḍen n awal uɛaddi", "Remove" : "Kkes" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/km.js b/l10n/km.js index 7b4a1a0fd4..43bc29a50f 100644 --- a/l10n/km.js +++ b/l10n/km.js @@ -2,9 +2,9 @@ OC.L10N.register( "libresign", { "Email" : "អ៊ីមែល", - "Password" : "ពាក្យសម្ងាត់", "Files" : "ឯកសារ", "Settings" : "ការកំណត់", + "Password" : "ពាក្យសម្ងាត់", "Upload" : "ផ្ទុក​ឡើង", "Apply" : "អនុវត្ត", "Cancel" : "បោះបង់", @@ -18,16 +18,18 @@ OC.L10N.register( "Next" : "បន្ទាប់", "Previous" : "មុន", "Details" : "ព័ត៌មាន​លម្អិត", - "Reset password" : "កំណត់​ពាក្យ​សម្ងាត់​ម្ដង​ទៀត", "Select a file" : "Select a file", "Type" : "Type", "Profile picture" : "រូបភាព​ប្រវត្តិរូប", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "ផ្ញើ", + "Current password" : "ពាក្យសម្ងាត់​បច្ចុប្បន្ន", "New password" : "ពាក្យ​សម្ងាត់​ថ្មី", "Pending" : "កំពុង​រង់ចាំ", "No date" : "No date", + "Reset password" : "កំណត់​ពាក្យ​សម្ងាត់​ម្ដង​ទៀត", "Remove" : "ដកចេញ" }, "nplurals=1; plural=0;"); diff --git a/l10n/km.json b/l10n/km.json index 72c46b6116..0fd9d17c69 100644 --- a/l10n/km.json +++ b/l10n/km.json @@ -1,8 +1,8 @@ { "translations": { "Email" : "អ៊ីមែល", - "Password" : "ពាក្យសម្ងាត់", "Files" : "ឯកសារ", "Settings" : "ការកំណត់", + "Password" : "ពាក្យសម្ងាត់", "Upload" : "ផ្ទុក​ឡើង", "Apply" : "អនុវត្ត", "Cancel" : "បោះបង់", @@ -16,16 +16,18 @@ "Next" : "បន្ទាប់", "Previous" : "មុន", "Details" : "ព័ត៌មាន​លម្អិត", - "Reset password" : "កំណត់​ពាក្យ​សម្ងាត់​ម្ដង​ទៀត", "Select a file" : "Select a file", "Type" : "Type", "Profile picture" : "រូបភាព​ប្រវត្តិរូប", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "ផ្ញើ", + "Current password" : "ពាក្យសម្ងាត់​បច្ចុប្បន្ន", "New password" : "ពាក្យ​សម្ងាត់​ថ្មី", "Pending" : "កំពុង​រង់ចាំ", "No date" : "No date", + "Reset password" : "កំណត់​ពាក្យ​សម្ងាត់​ម្ដង​ទៀត", "Remove" : "ដកចេញ" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/kn.js b/l10n/kn.js index 29e30f7428..e6c4eb6f20 100644 --- a/l10n/kn.js +++ b/l10n/kn.js @@ -4,10 +4,10 @@ OC.L10N.register( "File not found" : "ಕಡತ ಕಂಡುಬಂದಿಲ್ಲ", "Invalid user" : "ಅಮಾನ್ಯ ಬಳಕೆದಾರ", "Email" : "ಇ-ಅಂಚೆ", - "Password" : "ಗುಪ್ತ ಪದ", "Files" : "ಕಡತಗಳು", "Settings" : "ಆಯ್ಕೆ", "Authentication required" : "ದೃಢೀಕರಣ ಅಗತ್ಯವಿದೆ", + "Password" : "ಗುಪ್ತ ಪದ", "Upload" : "ವರ್ಗಾಯಿಸಿ", "Cancel" : "ರದ್ದು", "Save" : "ಉಳಿಸಿ", @@ -16,15 +16,17 @@ OC.L10N.register( "Users" : "ಬಳಕೆದಾರರು", "Delete" : "ಅಳಿಸಿ", "Next" : "ಮುಂದೆ", - "Reset password" : "ಗುಪ್ತ ಪದವನ್ನು ಮರುಹೊಂದಿಸಿ", "Select a file" : "Select a file", "Type" : "Type", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "ಕಳುಹಿಸಿ", + "Current password" : "ಪ್ರಸ್ತುತ ಗುಪ್ತಪದ", "New password" : "ಹೊಸ ಗುಪ್ತಪದ", "Pending" : "ಬಾಕಿ ಇದೆ", "No date" : "No date", + "Reset password" : "ಗುಪ್ತ ಪದವನ್ನು ಮರುಹೊಂದಿಸಿ", "Remove" : "ತೆಗೆದುಹಾಕಿ" }, "nplurals=2; plural=(n > 1);"); diff --git a/l10n/kn.json b/l10n/kn.json index e5efb68d84..3e5819bca2 100644 --- a/l10n/kn.json +++ b/l10n/kn.json @@ -2,10 +2,10 @@ "File not found" : "ಕಡತ ಕಂಡುಬಂದಿಲ್ಲ", "Invalid user" : "ಅಮಾನ್ಯ ಬಳಕೆದಾರ", "Email" : "ಇ-ಅಂಚೆ", - "Password" : "ಗುಪ್ತ ಪದ", "Files" : "ಕಡತಗಳು", "Settings" : "ಆಯ್ಕೆ", "Authentication required" : "ದೃಢೀಕರಣ ಅಗತ್ಯವಿದೆ", + "Password" : "ಗುಪ್ತ ಪದ", "Upload" : "ವರ್ಗಾಯಿಸಿ", "Cancel" : "ರದ್ದು", "Save" : "ಉಳಿಸಿ", @@ -14,15 +14,17 @@ "Users" : "ಬಳಕೆದಾರರು", "Delete" : "ಅಳಿಸಿ", "Next" : "ಮುಂದೆ", - "Reset password" : "ಗುಪ್ತ ಪದವನ್ನು ಮರುಹೊಂದಿಸಿ", "Select a file" : "Select a file", "Type" : "Type", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "ಕಳುಹಿಸಿ", + "Current password" : "ಪ್ರಸ್ತುತ ಗುಪ್ತಪದ", "New password" : "ಹೊಸ ಗುಪ್ತಪದ", "Pending" : "ಬಾಕಿ ಇದೆ", "No date" : "No date", + "Reset password" : "ಗುಪ್ತ ಪದವನ್ನು ಮರುಹೊಂದಿಸಿ", "Remove" : "ತೆಗೆದುಹಾಕಿ" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/l10n/ko.js b/l10n/ko.js index 03e4c37013..6d1a2d9cb7 100644 --- a/l10n/ko.js +++ b/l10n/ko.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "잘못된 UUID", "Success" : "성공", "Invalid user or password" : "잘못된 사용자 또는 암호", "_Element created with success_::_Elements created with success_" : ["성공적으로 생성된 요소"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "성공으로 요소가 업데이트되었습니다.", "Visible element deleted" : "표시된 요소가 삭제됨", "Settings saved" : "설정 저장됨", + "New password to sign documents has been created" : "문서에 서명하기 위한 새 암호가 생성되었습니다.", "Name is mandatory" : "이름은 필수 사항입니다.", "Notification sent with success." : "알림이 성공적으로 전송되었습니다.", "File signed" : "서명된 파일", @@ -25,9 +27,11 @@ OC.L10N.register( "Invalid Sign engine." : "잘못된 서명 엔진입니다.", "Digital signed by LibreSign." : "LibreSign이 디지털 서명했습니다.", "Validate in %s." : "%s에서 검증", + "Invalid data to validate file" : "파일의 유효성을 검사할 데이터가 잘못되었습니다.", "File type: %s. Empty file." : "파일 종류: %s. 빈 파일", "Elements of type %s need file." : "%s유형의 요소에는 파일이 필요합니다.", "File type: %s. Invalid fileID." : "파일 종류: %s. 잘못된 fileID ", + "User not found." : "사용자를 찾을 수 없습니다.", "document to sign" : "서명할 문서", "visible element" : "가시적 요소", "File type: %s. Invalid base64 file." : "파일 종류: %s. 잘못된 base64 파일", @@ -53,7 +57,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "서명 프로세스가 이미 시작되었습니다. 상태를 변경할 수 없습니다.", "Inform or UUID or a File object" : "알림, UUID 또는 파일 개체", "No user data" : "사용자 데이터 없음", - "User not found." : "사용자를 찾을 수 없습니다.", "User %s has no email address." : "사용자 %s는 이메일 주소가 없습니다.", "Email required" : "이메일 필요", "Invalid email" : "잘못된 이메일", @@ -61,7 +64,6 @@ OC.L10N.register( "No signature was requested to %s" : "%s에 서명이 요청되지 않았습니다.", "%s already signed this file" : "%s은 파일에 이미 서명했습니다.", "Invalid UUID file" : "잘못된 UUID 파일", - "Invalid UUID" : "잘못된 UUID", "Signer not associated to this file" : "서명인이 이 파일과 연결되지 않았습니다.", "A file of this type has been associated." : "이 형식의 파일이 연결되었습니다.", "File already signed." : "파일이 이미 서명되었습니다.", @@ -79,7 +81,7 @@ OC.L10N.register( "Invalid URL file" : "잘못된 URL 파일", "Visible element file must be png." : "보이는 요소 파일은 png여야 합니다.", "Empty file" : "빈 파일", - "Invalid data to validate file" : "파일의 유효성을 검사할 데이터가 잘못되었습니다.", + "File is too big" : "파일이 너무 큼", "Invalid file identifier" : "잘못된 파일 식별자", "You need to sign this document" : "이 문서에 서명해야 합니다.", "You cannot request signature for this document, please contact your administrator" : "이 문서에 대한 서명을 요청할 수 없습니다. 관리자에게 문의하십시오.", @@ -93,7 +95,6 @@ OC.L10N.register( "Email" : "이메일", "User already exists" : "사용자가 이미 있습니다.", "This is not your file" : "이것은 당신의 파일이 아닙니다.", - "Password" : "암호", "Invalid password" : "잘못된 암호", "LibreSign: Changes into a file for you to sign" : "LibreSign: 사용자가 서명할 파일로 변경합니다.", "File to sign" : "서명할 파일", @@ -123,6 +124,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "Nextcloud를 위한 디지털 시그니처 앱, LibreSign.", "Authentication required" : "인증 필요", "This action requires you to confirm your password" : "이 작업을 수행하려면 암호를 확인해야 합니다.", + "Password" : "암호", "Confirm" : "확인", "Incorrect password!" : "잘못된 암호", "Text" : "텍스트", @@ -156,9 +158,7 @@ OC.L10N.register( "Request signatures?" : "서명 요청?", "Element created" : "작성된 요소", "Details" : "세부사항", - "Password & Security" : "암호 & 보안", - "Create password key" : "암호 키 생성", - "Reset password" : "암호 재설정", + "Certificate" : "인증서", "Select a file" : "파일 선택", "Type" : "종류", "Status" : "상태", @@ -173,7 +173,6 @@ OC.L10N.register( "Password Creation" : "암호 생성", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "보안상의 이유로 문서에 서명하려면 암호를 만들어야 합니다. 아래 필드에 새 암호를 입력하십시오.", "Enter a password" : "암호 입력", - "New password to sign documents has been created" : "문서에 서명하기 위한 새 암호가 생성되었습니다.", "Error creating new password, please contact the administrator" : "새 암호 생성 중 오류가 발생했습니다. 관리자에게 문의하십시오.", "Create new subscription." : "새 헤드라인 등록을 만듭니다.", "Root certificate has not been configured by the Administrator!" : "관리자가 루트 인증서를 구성하지 않았습니다!", @@ -200,12 +199,11 @@ OC.L10N.register( "Request Signatures" : "서명 요청", "Choose the file to request signatures." : "서명을 요청할 파일을 선택하십시오.", "Choose from Files" : "파일에서 선택", - "Enter the emails that will receive the request" : "요청을 받을 전자 메일을 입력하십시오.", - "Signatures for this document have already been requested" : "이 문서에 대한 서명이 이미 요청되었습니다.", - "Add users" : "사용자 추가", + "Send" : "전송", "Select your file" : "파일 선택", "Password reset" : "암호 재설정", "Enter new password and then repeat it" : "새 암호를 입력한 후 반복합니다.", + "Current password" : "현재 암호", "New password" : "새 암호", "Repeat password" : "암호 확인", "Message" : "메시지", @@ -217,9 +215,7 @@ OC.L10N.register( "Name (CN)" : "이름 (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "구성 경로", - "Root certificate data." : "루트 인증서 데이터.", "To generate new signatures, you must first generate the root certificate." : "새 서명을 생성하려면 먼저 루트 인증서를 생성해야 합니다.", - "Generate root certificate." : "루트 인증서를 생성합니다.", "Generating certificate." : "인증서를 생성하는 중입니다.", "Could not generate certificate." : "인증서를 생성할 수 없습니다.", "Generated certificate!" : "인증서를 생성했습니다!", @@ -259,8 +255,16 @@ OC.L10N.register( "Remove duplicated users, email address need to be unique" : "고유해야 하는 중복된 사용자, 전자 메일 주소를 제거하십시오.", "Validate File" : "파일 인증", "Are you sure you want to exclude user {email} from the request?" : "요청에서 {email} 사용자를 제외하시겠습니까?", + "Password & Security" : "암호 & 보안", + "Create password key" : "암호 키 생성", + "Reset password" : "암호 재설정", "Validate Document" : "문서 유효성 검사", "Do you want to configure visible elements in this document?" : "이 문서에서 볼 수 있는 요소를 구성하시겠습니까?", + "Enter the emails that will receive the request" : "요청을 받을 전자 메일을 입력하십시오.", + "Signatures for this document have already been requested" : "이 문서에 대한 서명이 이미 요청되었습니다.", + "Add users" : "사용자 추가", + "Root certificate data." : "루트 인증서 데이터.", + "Generate root certificate." : "루트 인증서를 생성합니다.", "Remove" : "삭제" }, "nplurals=1; plural=0;"); diff --git a/l10n/ko.json b/l10n/ko.json index 6c3812de2c..f7664e9d4c 100644 --- a/l10n/ko.json +++ b/l10n/ko.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "잘못된 UUID", "Success" : "성공", "Invalid user or password" : "잘못된 사용자 또는 암호", "_Element created with success_::_Elements created with success_" : ["성공적으로 생성된 요소"], @@ -7,6 +8,7 @@ "Element updated with success" : "성공으로 요소가 업데이트되었습니다.", "Visible element deleted" : "표시된 요소가 삭제됨", "Settings saved" : "설정 저장됨", + "New password to sign documents has been created" : "문서에 서명하기 위한 새 암호가 생성되었습니다.", "Name is mandatory" : "이름은 필수 사항입니다.", "Notification sent with success." : "알림이 성공적으로 전송되었습니다.", "File signed" : "서명된 파일", @@ -23,9 +25,11 @@ "Invalid Sign engine." : "잘못된 서명 엔진입니다.", "Digital signed by LibreSign." : "LibreSign이 디지털 서명했습니다.", "Validate in %s." : "%s에서 검증", + "Invalid data to validate file" : "파일의 유효성을 검사할 데이터가 잘못되었습니다.", "File type: %s. Empty file." : "파일 종류: %s. 빈 파일", "Elements of type %s need file." : "%s유형의 요소에는 파일이 필요합니다.", "File type: %s. Invalid fileID." : "파일 종류: %s. 잘못된 fileID ", + "User not found." : "사용자를 찾을 수 없습니다.", "document to sign" : "서명할 문서", "visible element" : "가시적 요소", "File type: %s. Invalid base64 file." : "파일 종류: %s. 잘못된 base64 파일", @@ -51,7 +55,6 @@ "Sign process already started. Unable to change status." : "서명 프로세스가 이미 시작되었습니다. 상태를 변경할 수 없습니다.", "Inform or UUID or a File object" : "알림, UUID 또는 파일 개체", "No user data" : "사용자 데이터 없음", - "User not found." : "사용자를 찾을 수 없습니다.", "User %s has no email address." : "사용자 %s는 이메일 주소가 없습니다.", "Email required" : "이메일 필요", "Invalid email" : "잘못된 이메일", @@ -59,7 +62,6 @@ "No signature was requested to %s" : "%s에 서명이 요청되지 않았습니다.", "%s already signed this file" : "%s은 파일에 이미 서명했습니다.", "Invalid UUID file" : "잘못된 UUID 파일", - "Invalid UUID" : "잘못된 UUID", "Signer not associated to this file" : "서명인이 이 파일과 연결되지 않았습니다.", "A file of this type has been associated." : "이 형식의 파일이 연결되었습니다.", "File already signed." : "파일이 이미 서명되었습니다.", @@ -77,7 +79,7 @@ "Invalid URL file" : "잘못된 URL 파일", "Visible element file must be png." : "보이는 요소 파일은 png여야 합니다.", "Empty file" : "빈 파일", - "Invalid data to validate file" : "파일의 유효성을 검사할 데이터가 잘못되었습니다.", + "File is too big" : "파일이 너무 큼", "Invalid file identifier" : "잘못된 파일 식별자", "You need to sign this document" : "이 문서에 서명해야 합니다.", "You cannot request signature for this document, please contact your administrator" : "이 문서에 대한 서명을 요청할 수 없습니다. 관리자에게 문의하십시오.", @@ -91,7 +93,6 @@ "Email" : "이메일", "User already exists" : "사용자가 이미 있습니다.", "This is not your file" : "이것은 당신의 파일이 아닙니다.", - "Password" : "암호", "Invalid password" : "잘못된 암호", "LibreSign: Changes into a file for you to sign" : "LibreSign: 사용자가 서명할 파일로 변경합니다.", "File to sign" : "서명할 파일", @@ -121,6 +122,7 @@ "LibreSign, digital signature app for Nextcloud." : "Nextcloud를 위한 디지털 시그니처 앱, LibreSign.", "Authentication required" : "인증 필요", "This action requires you to confirm your password" : "이 작업을 수행하려면 암호를 확인해야 합니다.", + "Password" : "암호", "Confirm" : "확인", "Incorrect password!" : "잘못된 암호", "Text" : "텍스트", @@ -154,9 +156,7 @@ "Request signatures?" : "서명 요청?", "Element created" : "작성된 요소", "Details" : "세부사항", - "Password & Security" : "암호 & 보안", - "Create password key" : "암호 키 생성", - "Reset password" : "암호 재설정", + "Certificate" : "인증서", "Select a file" : "파일 선택", "Type" : "종류", "Status" : "상태", @@ -171,7 +171,6 @@ "Password Creation" : "암호 생성", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "보안상의 이유로 문서에 서명하려면 암호를 만들어야 합니다. 아래 필드에 새 암호를 입력하십시오.", "Enter a password" : "암호 입력", - "New password to sign documents has been created" : "문서에 서명하기 위한 새 암호가 생성되었습니다.", "Error creating new password, please contact the administrator" : "새 암호 생성 중 오류가 발생했습니다. 관리자에게 문의하십시오.", "Create new subscription." : "새 헤드라인 등록을 만듭니다.", "Root certificate has not been configured by the Administrator!" : "관리자가 루트 인증서를 구성하지 않았습니다!", @@ -198,12 +197,11 @@ "Request Signatures" : "서명 요청", "Choose the file to request signatures." : "서명을 요청할 파일을 선택하십시오.", "Choose from Files" : "파일에서 선택", - "Enter the emails that will receive the request" : "요청을 받을 전자 메일을 입력하십시오.", - "Signatures for this document have already been requested" : "이 문서에 대한 서명이 이미 요청되었습니다.", - "Add users" : "사용자 추가", + "Send" : "전송", "Select your file" : "파일 선택", "Password reset" : "암호 재설정", "Enter new password and then repeat it" : "새 암호를 입력한 후 반복합니다.", + "Current password" : "현재 암호", "New password" : "새 암호", "Repeat password" : "암호 확인", "Message" : "메시지", @@ -215,9 +213,7 @@ "Name (CN)" : "이름 (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "구성 경로", - "Root certificate data." : "루트 인증서 데이터.", "To generate new signatures, you must first generate the root certificate." : "새 서명을 생성하려면 먼저 루트 인증서를 생성해야 합니다.", - "Generate root certificate." : "루트 인증서를 생성합니다.", "Generating certificate." : "인증서를 생성하는 중입니다.", "Could not generate certificate." : "인증서를 생성할 수 없습니다.", "Generated certificate!" : "인증서를 생성했습니다!", @@ -257,8 +253,16 @@ "Remove duplicated users, email address need to be unique" : "고유해야 하는 중복된 사용자, 전자 메일 주소를 제거하십시오.", "Validate File" : "파일 인증", "Are you sure you want to exclude user {email} from the request?" : "요청에서 {email} 사용자를 제외하시겠습니까?", + "Password & Security" : "암호 & 보안", + "Create password key" : "암호 키 생성", + "Reset password" : "암호 재설정", "Validate Document" : "문서 유효성 검사", "Do you want to configure visible elements in this document?" : "이 문서에서 볼 수 있는 요소를 구성하시겠습니까?", + "Enter the emails that will receive the request" : "요청을 받을 전자 메일을 입력하십시오.", + "Signatures for this document have already been requested" : "이 문서에 대한 서명이 이미 요청되었습니다.", + "Add users" : "사용자 추가", + "Root certificate data." : "루트 인증서 데이터.", + "Generate root certificate." : "루트 인증서를 생성합니다.", "Remove" : "삭제" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/lb.js b/l10n/lb.js index be5863994e..9b82514ccc 100644 --- a/l10n/lb.js +++ b/l10n/lb.js @@ -2,10 +2,10 @@ OC.L10N.register( "libresign", { "Email" : "Email", - "Password" : "Passwuert", "Files" : "Fichieren", "Settings" : "Astellungen", "Authentication required" : "Authentifizéierung néideg", + "Password" : "Passwuert", "Upload" : "Eroplueden", "Apply" : "Uwenden", "Cancel" : "Ofbriechen", @@ -19,17 +19,19 @@ OC.L10N.register( "Next" : "Weider", "Previous" : "Zeréck", "Details" : "Detailer", - "Reset password" : "Passwuert zréck setzen", "Select a file" : "Select a file", "Type" : "Typ", "Actions" : "Aktiounen", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "Schécken", + "Current password" : "Momentan 't Passwuert", "New password" : "Neit Passwuert", "Resource" : "Ressource", "Pending" : "Ausstoend", "No date" : "No date", + "Reset password" : "Passwuert zréck setzen", "Remove" : "Läschen" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/lb.json b/l10n/lb.json index 6b27bdb786..bdbfeda2a7 100644 --- a/l10n/lb.json +++ b/l10n/lb.json @@ -1,9 +1,9 @@ { "translations": { "Email" : "Email", - "Password" : "Passwuert", "Files" : "Fichieren", "Settings" : "Astellungen", "Authentication required" : "Authentifizéierung néideg", + "Password" : "Passwuert", "Upload" : "Eroplueden", "Apply" : "Uwenden", "Cancel" : "Ofbriechen", @@ -17,17 +17,19 @@ "Next" : "Weider", "Previous" : "Zeréck", "Details" : "Detailer", - "Reset password" : "Passwuert zréck setzen", "Select a file" : "Select a file", "Type" : "Typ", "Actions" : "Aktiounen", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "Schécken", + "Current password" : "Momentan 't Passwuert", "New password" : "Neit Passwuert", "Resource" : "Ressource", "Pending" : "Ausstoend", "No date" : "No date", + "Reset password" : "Passwuert zréck setzen", "Remove" : "Läschen" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/lo.js b/l10n/lo.js index e33d728857..a35fdbf610 100644 --- a/l10n/lo.js +++ b/l10n/lo.js @@ -4,12 +4,13 @@ OC.L10N.register( "Success" : "ຄວາມສໍາເລັດ", "deleted" : "ລຶບແລ້ວ", "File not found" : " ບໍ່ພົບຟາຍ", + "File is too big" : "ຟາຍໃຫຍ່ໂພດ", "Email" : "ອິເມວ", - "Password" : "ລະຫັດຜ່ານ", "Files" : "ຟາຍ", "Settings" : "ການຕັ້ງຄ່າ", "Authentication required" : "ການຢັ້ງຢືນທີ່ຈໍາເປັນ", "This action requires you to confirm your password" : "ການກະທໍານີ້ຮຽກຮ້ອງໃຫ້ທ່ານເພື່ອຢືນຢັນລະຫັດຜ່ານຂອງທ່ານ", + "Password" : "ລະຫັດຜ່ານ", "Confirm" : "ຢືນຢັນ", "Upload" : "ອັບໂຫຼດ", "Cancel" : "ຍົກເລີກ", @@ -21,16 +22,17 @@ OC.L10N.register( "Next" : "ທັດໄປ", "Previous" : "ກ່ອນໜ້າ", "Details" : "ລາຍລະອຽດ", - "Reset password" : "ຕັ້ງລະຫັດຄືນໃຫມ່", "Type" : "ພິມ", "Enter a password" : "ໃສ່ລະຫັດຜ່ານ", "Yes" : "ແມ່ນແລ້ວ", "No" : "ບໍ່", + "Send" : "ສົ່ງ", "Password reset" : "ປ່ຽນບະຫັດຜ່ານ", "New password" : "ລະຫັດຜ່ານໃຫມ່", "Loading …" : "ກຳລັງໂຫຼດ", "Pending" : "ທີ່ກໍາລັງລໍຖ້າ", "No date" : "ບໍ່ມີວັນທີ", + "Reset password" : "ຕັ້ງລະຫັດຄືນໃຫມ່", "Remove" : "ຍ້າຍອອກ" }, "nplurals=1; plural=0;"); diff --git a/l10n/lo.json b/l10n/lo.json index 956765460e..f48992dc5e 100644 --- a/l10n/lo.json +++ b/l10n/lo.json @@ -2,12 +2,13 @@ "Success" : "ຄວາມສໍາເລັດ", "deleted" : "ລຶບແລ້ວ", "File not found" : " ບໍ່ພົບຟາຍ", + "File is too big" : "ຟາຍໃຫຍ່ໂພດ", "Email" : "ອິເມວ", - "Password" : "ລະຫັດຜ່ານ", "Files" : "ຟາຍ", "Settings" : "ການຕັ້ງຄ່າ", "Authentication required" : "ການຢັ້ງຢືນທີ່ຈໍາເປັນ", "This action requires you to confirm your password" : "ການກະທໍານີ້ຮຽກຮ້ອງໃຫ້ທ່ານເພື່ອຢືນຢັນລະຫັດຜ່ານຂອງທ່ານ", + "Password" : "ລະຫັດຜ່ານ", "Confirm" : "ຢືນຢັນ", "Upload" : "ອັບໂຫຼດ", "Cancel" : "ຍົກເລີກ", @@ -19,16 +20,17 @@ "Next" : "ທັດໄປ", "Previous" : "ກ່ອນໜ້າ", "Details" : "ລາຍລະອຽດ", - "Reset password" : "ຕັ້ງລະຫັດຄືນໃຫມ່", "Type" : "ພິມ", "Enter a password" : "ໃສ່ລະຫັດຜ່ານ", "Yes" : "ແມ່ນແລ້ວ", "No" : "ບໍ່", + "Send" : "ສົ່ງ", "Password reset" : "ປ່ຽນບະຫັດຜ່ານ", "New password" : "ລະຫັດຜ່ານໃຫມ່", "Loading …" : "ກຳລັງໂຫຼດ", "Pending" : "ທີ່ກໍາລັງລໍຖ້າ", "No date" : "ບໍ່ມີວັນທີ", + "Reset password" : "ຕັ້ງລະຫັດຄືນໃຫມ່", "Remove" : "ຍ້າຍອອກ" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/lt_LT.js b/l10n/lt_LT.js index 056e2d3282..f7710b51cc 100644 --- a/l10n/lt_LT.js +++ b/l10n/lt_LT.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Neteisingas UUID", "Success" : "Pavyko", "Invalid user or password" : "Neteisingas naudotojas ar slaptažodis", "Settings saved" : "Nustatymai įrašyti", @@ -12,7 +13,6 @@ OC.L10N.register( "User %s has no email address." : "Naudotojas %s neturi el. pašto adreso.", "Invalid email" : "Neteisingas el. pašto adresas", "File not loaded" : "Failas neįkeltas", - "Invalid UUID" : "Neteisingas UUID", "File already signed." : "Failas jau pasirašytas.", "Invalid file type." : "Neteisingas failo tipas.", "File sharing" : "Failų pasidalinimas", @@ -23,6 +23,7 @@ OC.L10N.register( "You must have an email. You can define the email in your profile." : "Jūs privalote turėti el. paštą. Galite apibrėžti el. paštą savo profilyje.", "File already exists" : "Failas jau yra", "Empty file" : "Tuščias failas", + "File is too big" : "Failas yra per didelis", "Page not found." : "Puslapis nerastas.", "Account" : "Paskyra", "User already exists. Please login." : "Naudotojas jau yra. Prisijunkite.", @@ -31,12 +32,12 @@ OC.L10N.register( "Email" : "El. paštas", "User already exists" : "Naudotojas jau yra", "This is not your file" : "Tai ne jūsų failas", - "Password" : "Slaptažodis", "Document already signed" : "Dokumentas jau pasirašytas", "Files" : "Failai", "Settings" : "Nustatymai", "Authentication required" : "Reikalingas tapatybės nustatymas", "This action requires you to confirm your password" : "Šis veiksmas reikalauja, kad įvestumėte savo slaptažodį", + "Password" : "Slaptažodis", "Confirm" : "Patvirtinti", "Incorrect password!" : "Neteisingas slaptažodis!", "Text" : "Tekstas", @@ -61,8 +62,8 @@ OC.L10N.register( "Account not exist" : "Paskyros nėra", "Sign" : "Pasirašyti", "Details" : "Išsamiau", - "Password & Security" : "Slaptažodis ir saugumas", - "Reset password" : "Atstatyti slaptažodį", + "Certificate" : "Liudijimas", + "Delete certificate" : "Ištrinti liudijimą", "Not sent yet" : "Kol kas neišsiųsta", "Not defined yet" : "Kol kas neapibrėžta", "Select a file" : "Pasirinkti failą", @@ -84,8 +85,9 @@ OC.L10N.register( "Subscription password." : "Prenumeratos slaptažodis.", "Could not create signature." : "Nepavyko sukurti parašo.", "Choose from Files" : "Pasirinkti iš failų", - "Add users" : "Pridėti naudotojus", + "Send" : "Siųsti", "Password reset" : "Slaptažodžio atstatymas", + "Current password" : "Dabartinis slaptažodis", "New password" : "Naujas slaptažodis", "Repeat password" : "Pakartoti slaptažodį", "Message" : "Žinutė", @@ -99,6 +101,9 @@ OC.L10N.register( "You need to create an account to sign this file." : "Norėdami pasirašyti šį failą, turite susikurti paskyrą.", "User created!" : "Naudotojas sukurtas!", "Password created!" : "Slaptažodis sukurtas!", + "Password & Security" : "Slaptažodis ir saugumas", + "Reset password" : "Atstatyti slaptažodį", + "Add users" : "Pridėti naudotojus", "Remove" : "Šalinti" }, "nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/l10n/lt_LT.json b/l10n/lt_LT.json index 16bb7630a2..c1089b7e52 100644 --- a/l10n/lt_LT.json +++ b/l10n/lt_LT.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Neteisingas UUID", "Success" : "Pavyko", "Invalid user or password" : "Neteisingas naudotojas ar slaptažodis", "Settings saved" : "Nustatymai įrašyti", @@ -10,7 +11,6 @@ "User %s has no email address." : "Naudotojas %s neturi el. pašto adreso.", "Invalid email" : "Neteisingas el. pašto adresas", "File not loaded" : "Failas neįkeltas", - "Invalid UUID" : "Neteisingas UUID", "File already signed." : "Failas jau pasirašytas.", "Invalid file type." : "Neteisingas failo tipas.", "File sharing" : "Failų pasidalinimas", @@ -21,6 +21,7 @@ "You must have an email. You can define the email in your profile." : "Jūs privalote turėti el. paštą. Galite apibrėžti el. paštą savo profilyje.", "File already exists" : "Failas jau yra", "Empty file" : "Tuščias failas", + "File is too big" : "Failas yra per didelis", "Page not found." : "Puslapis nerastas.", "Account" : "Paskyra", "User already exists. Please login." : "Naudotojas jau yra. Prisijunkite.", @@ -29,12 +30,12 @@ "Email" : "El. paštas", "User already exists" : "Naudotojas jau yra", "This is not your file" : "Tai ne jūsų failas", - "Password" : "Slaptažodis", "Document already signed" : "Dokumentas jau pasirašytas", "Files" : "Failai", "Settings" : "Nustatymai", "Authentication required" : "Reikalingas tapatybės nustatymas", "This action requires you to confirm your password" : "Šis veiksmas reikalauja, kad įvestumėte savo slaptažodį", + "Password" : "Slaptažodis", "Confirm" : "Patvirtinti", "Incorrect password!" : "Neteisingas slaptažodis!", "Text" : "Tekstas", @@ -59,8 +60,8 @@ "Account not exist" : "Paskyros nėra", "Sign" : "Pasirašyti", "Details" : "Išsamiau", - "Password & Security" : "Slaptažodis ir saugumas", - "Reset password" : "Atstatyti slaptažodį", + "Certificate" : "Liudijimas", + "Delete certificate" : "Ištrinti liudijimą", "Not sent yet" : "Kol kas neišsiųsta", "Not defined yet" : "Kol kas neapibrėžta", "Select a file" : "Pasirinkti failą", @@ -82,8 +83,9 @@ "Subscription password." : "Prenumeratos slaptažodis.", "Could not create signature." : "Nepavyko sukurti parašo.", "Choose from Files" : "Pasirinkti iš failų", - "Add users" : "Pridėti naudotojus", + "Send" : "Siųsti", "Password reset" : "Slaptažodžio atstatymas", + "Current password" : "Dabartinis slaptažodis", "New password" : "Naujas slaptažodis", "Repeat password" : "Pakartoti slaptažodį", "Message" : "Žinutė", @@ -97,6 +99,9 @@ "You need to create an account to sign this file." : "Norėdami pasirašyti šį failą, turite susikurti paskyrą.", "User created!" : "Naudotojas sukurtas!", "Password created!" : "Slaptažodis sukurtas!", + "Password & Security" : "Slaptažodis ir saugumas", + "Reset password" : "Atstatyti slaptažodį", + "Add users" : "Pridėti naudotojus", "Remove" : "Šalinti" },"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);" } \ No newline at end of file diff --git a/l10n/lv.js b/l10n/lv.js index d2b24e1851..3fbe98f37f 100644 --- a/l10n/lv.js +++ b/l10n/lv.js @@ -7,14 +7,15 @@ OC.L10N.register( "View" : "Skats", "File not found" : "Datne nav atrasta", "File already exists" : "Datne jau pastāv", + "File is too big" : "Datne ir par lielu", "Account" : "Konts", "Invalid user" : "Nepareizs lietotājs", "Email" : "E-pasts", - "Password" : "Parole", "Files" : "Datnes", "Settings" : "Iestatījumi", "Authentication required" : "Nepieciešama autentifikācija", "This action requires you to confirm your password" : "Lai veiktu šo darbību, jums jāievada sava parole.", + "Password" : "Parole", "Confirm" : "Apstiprināt", "Text" : "Teksts", "Upload" : "Augšupielādēt", @@ -32,7 +33,7 @@ OC.L10N.register( "Next" : "Nākamā", "Previous" : "Iepriekšējā", "Details" : "Detaļas", - "Reset password" : "Mainīt paroli", + "Certificate" : "Sertifikāts", "Select a file" : "Izvēlēties failu", "Type" : "Tips", "Status" : "Status", @@ -43,13 +44,16 @@ OC.L10N.register( "Yes" : "Jā", "No" : "Nē", "Page not found" : "Lapa nav atrasta", + "Send" : "Sūtīt", "Password reset" : "Parole atiestatīta", + "Current password" : "Pašreizējā parole", "New password" : "Jauna parole", "Repeat password" : "Atkārtojiet paroli", "Message" : "Ziņojums", "Resource" : "Resurss", "Pending" : "Gaida", "No date" : "No date", + "Reset password" : "Mainīt paroli", "Remove" : "Noņemt" }, "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 541965f667..f19689312c 100644 --- a/l10n/lv.json +++ b/l10n/lv.json @@ -5,14 +5,15 @@ "View" : "Skats", "File not found" : "Datne nav atrasta", "File already exists" : "Datne jau pastāv", + "File is too big" : "Datne ir par lielu", "Account" : "Konts", "Invalid user" : "Nepareizs lietotājs", "Email" : "E-pasts", - "Password" : "Parole", "Files" : "Datnes", "Settings" : "Iestatījumi", "Authentication required" : "Nepieciešama autentifikācija", "This action requires you to confirm your password" : "Lai veiktu šo darbību, jums jāievada sava parole.", + "Password" : "Parole", "Confirm" : "Apstiprināt", "Text" : "Teksts", "Upload" : "Augšupielādēt", @@ -30,7 +31,7 @@ "Next" : "Nākamā", "Previous" : "Iepriekšējā", "Details" : "Detaļas", - "Reset password" : "Mainīt paroli", + "Certificate" : "Sertifikāts", "Select a file" : "Izvēlēties failu", "Type" : "Tips", "Status" : "Status", @@ -41,13 +42,16 @@ "Yes" : "Jā", "No" : "Nē", "Page not found" : "Lapa nav atrasta", + "Send" : "Sūtīt", "Password reset" : "Parole atiestatīta", + "Current password" : "Pašreizējā parole", "New password" : "Jauna parole", "Repeat password" : "Atkārtojiet paroli", "Message" : "Ziņojums", "Resource" : "Resurss", "Pending" : "Gaida", "No date" : "No date", + "Reset password" : "Mainīt paroli", "Remove" : "Noņemt" },"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 bdb2aca7f9..bea5a098c7 100644 --- a/l10n/mk.js +++ b/l10n/mk.js @@ -11,16 +11,17 @@ OC.L10N.register( "File not found" : "Датотеката не е пронајдена", "File already exists" : "Датотека веќе постои", "Empty file" : "Празна датотека", + "File is too big" : "Датотеката е премногу голема", "Account" : "Сметка", "Invalid user" : "Неправилен корисник", "Email" : "Е-пошта", - "Password" : "Лозинка", "Invalid password" : "Погрешна лозинка", "File already signed by you" : "Датотеката е веќе потпишана од вас", "Files" : "Датотеки", "Settings" : "Параметри", "Authentication required" : "Потребна е автентификација", "This action requires you to confirm your password" : "За оваа акција потребно е да ја потврдите вашата лозинка", + "Password" : "Лозинка", "Confirm" : "Потврди", "Text" : "Текст", "Draw" : "Нацрт", @@ -41,7 +42,8 @@ OC.L10N.register( "Previous" : "Предходна", "Sign" : "Знак", "Details" : "Детали", - "Reset password" : "Ресетирај лозинка", + "Certificate" : "Сертификат", + "Change password" : "Смени лозинка", "Select a file" : "Select a file", "Type" : "Вид", "Status" : "Статус", @@ -54,14 +56,17 @@ OC.L10N.register( "No" : "Не", "Page not found" : "Страницата не е пронајдена", "Choose from Files" : "Избери од датотеките", - "Add users" : "Додади корисници", + "Send" : "Прати", "Password reset" : "Ресетирај лозинка", + "Current password" : "Моментална лозинка", "New password" : "Нова лозинка", "Message" : "Порака", "Resource" : "Ресурси", "Loading …" : "Се вчитува…", "Pending" : "Чекање", "No date" : "No date", + "Reset password" : "Ресетирај лозинка", + "Add users" : "Додади корисници", "Remove" : "Отстрани " }, "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); diff --git a/l10n/mk.json b/l10n/mk.json index cf55d663f1..0da9ded5e7 100644 --- a/l10n/mk.json +++ b/l10n/mk.json @@ -9,16 +9,17 @@ "File not found" : "Датотеката не е пронајдена", "File already exists" : "Датотека веќе постои", "Empty file" : "Празна датотека", + "File is too big" : "Датотеката е премногу голема", "Account" : "Сметка", "Invalid user" : "Неправилен корисник", "Email" : "Е-пошта", - "Password" : "Лозинка", "Invalid password" : "Погрешна лозинка", "File already signed by you" : "Датотеката е веќе потпишана од вас", "Files" : "Датотеки", "Settings" : "Параметри", "Authentication required" : "Потребна е автентификација", "This action requires you to confirm your password" : "За оваа акција потребно е да ја потврдите вашата лозинка", + "Password" : "Лозинка", "Confirm" : "Потврди", "Text" : "Текст", "Draw" : "Нацрт", @@ -39,7 +40,8 @@ "Previous" : "Предходна", "Sign" : "Знак", "Details" : "Детали", - "Reset password" : "Ресетирај лозинка", + "Certificate" : "Сертификат", + "Change password" : "Смени лозинка", "Select a file" : "Select a file", "Type" : "Вид", "Status" : "Статус", @@ -52,14 +54,17 @@ "No" : "Не", "Page not found" : "Страницата не е пронајдена", "Choose from Files" : "Избери од датотеките", - "Add users" : "Додади корисници", + "Send" : "Прати", "Password reset" : "Ресетирај лозинка", + "Current password" : "Моментална лозинка", "New password" : "Нова лозинка", "Message" : "Порака", "Resource" : "Ресурси", "Loading …" : "Се вчитува…", "Pending" : "Чекање", "No date" : "No date", + "Reset password" : "Ресетирај лозинка", + "Add users" : "Додади корисници", "Remove" : "Отстрани " },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" } \ No newline at end of file diff --git a/l10n/mn.js b/l10n/mn.js index db3b66c845..e2c7a31bd2 100644 --- a/l10n/mn.js +++ b/l10n/mn.js @@ -4,12 +4,13 @@ OC.L10N.register( "Settings saved" : "Тохиргоо хадгалагдлаа", "deleted" : "Устгагдсан", "File not found" : "Файл олдсонгүй", + "File is too big" : "Файлын хэмжээ хэт их байна", "Account" : "аккаунт", "Invalid user" : "Буруу хэрэглэгч", "Email" : "Цахим шуудан", - "Password" : "Нууц үг", "Files" : "файлууд", "Settings" : "Тохиргоо", + "Password" : "Нууц үг", "Confirm" : "Батлах", "Upload" : "байршуулах", "Apply" : "хэрэглэх", @@ -23,6 +24,7 @@ OC.L10N.register( "Next" : "дараагийх", "Previous" : "өмнөх", "Details" : "Дэлгэрэнгүй", + "Certificate" : "Гэрчилгээ", "Select a file" : "Select a file", "Type" : "Төрөл", "Status" : "төлөв", @@ -33,7 +35,9 @@ OC.L10N.register( "Yes" : "Тийм", "No" : "Үгүй", "Choose from Files" : "Файлаас сонгох", + "Send" : "илгээх", "Password reset" : "Нууц үг солих", + "Current password" : "одоогийн нууц үг", "New password" : "шинэ нууц үг", "Resource" : "Нөөц", "Loading …" : "Уншиж байна...", diff --git a/l10n/mn.json b/l10n/mn.json index e8c58b3eb9..99222d8dad 100644 --- a/l10n/mn.json +++ b/l10n/mn.json @@ -2,12 +2,13 @@ "Settings saved" : "Тохиргоо хадгалагдлаа", "deleted" : "Устгагдсан", "File not found" : "Файл олдсонгүй", + "File is too big" : "Файлын хэмжээ хэт их байна", "Account" : "аккаунт", "Invalid user" : "Буруу хэрэглэгч", "Email" : "Цахим шуудан", - "Password" : "Нууц үг", "Files" : "файлууд", "Settings" : "Тохиргоо", + "Password" : "Нууц үг", "Confirm" : "Батлах", "Upload" : "байршуулах", "Apply" : "хэрэглэх", @@ -21,6 +22,7 @@ "Next" : "дараагийх", "Previous" : "өмнөх", "Details" : "Дэлгэрэнгүй", + "Certificate" : "Гэрчилгээ", "Select a file" : "Select a file", "Type" : "Төрөл", "Status" : "төлөв", @@ -31,7 +33,9 @@ "Yes" : "Тийм", "No" : "Үгүй", "Choose from Files" : "Файлаас сонгох", + "Send" : "илгээх", "Password reset" : "Нууц үг солих", + "Current password" : "одоогийн нууц үг", "New password" : "шинэ нууц үг", "Resource" : "Нөөц", "Loading …" : "Уншиж байна...", diff --git a/l10n/ms_MY.js b/l10n/ms_MY.js index 6313ba08ed..28e8facf8a 100644 --- a/l10n/ms_MY.js +++ b/l10n/ms_MY.js @@ -2,9 +2,9 @@ OC.L10N.register( "libresign", { "Email" : "Email", - "Password" : "Kata laluan", "Files" : "Fail", "Settings" : "Tetapan", + "Password" : "Kata laluan", "Upload" : "Muat naik", "Cancel" : "Batal", "Save" : "Simpan", @@ -16,16 +16,18 @@ OC.L10N.register( "Delete" : "Padam", "Next" : "Seterus", "Previous" : "Sebelum", - "Reset password" : "Penetapan semula kata laluan", "Select a file" : "Select a file", "Type" : "Jenis", "Profile picture" : "Gambar profil", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "Hantar", + "Current password" : "Kata laluan semasa", "New password" : "Kata laluan baru", "Pending" : "Dalam proses", "No date" : "No date", + "Reset password" : "Penetapan semula kata laluan", "Remove" : "Buang" }, "nplurals=1; plural=0;"); diff --git a/l10n/ms_MY.json b/l10n/ms_MY.json index 7ff7359804..e5f0e114b8 100644 --- a/l10n/ms_MY.json +++ b/l10n/ms_MY.json @@ -1,8 +1,8 @@ { "translations": { "Email" : "Email", - "Password" : "Kata laluan", "Files" : "Fail", "Settings" : "Tetapan", + "Password" : "Kata laluan", "Upload" : "Muat naik", "Cancel" : "Batal", "Save" : "Simpan", @@ -14,16 +14,18 @@ "Delete" : "Padam", "Next" : "Seterus", "Previous" : "Sebelum", - "Reset password" : "Penetapan semula kata laluan", "Select a file" : "Select a file", "Type" : "Jenis", "Profile picture" : "Gambar profil", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "Hantar", + "Current password" : "Kata laluan semasa", "New password" : "Kata laluan baru", "Pending" : "Dalam proses", "No date" : "No date", + "Reset password" : "Penetapan semula kata laluan", "Remove" : "Buang" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/my.js b/l10n/my.js index e41b021bab..8e766edab4 100644 --- a/l10n/my.js +++ b/l10n/my.js @@ -13,12 +13,9 @@ OC.L10N.register( "Status" : "အခြေအနေ", "Password Creation" : "လျှို့ဝှက်ကုဒ် ဖန်တီးရန်", "Enter a password" : "စကားဝှက် ရိုက်ထည့်ပါ။", - "Add users" : "အသုံးပြုသူ ထည့်သွင်းရန်", "Name (CN)" : "အမည် (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "ချိန်ညှိမှု path", - "Root certificate data." : "Root Certificate အချက်အလက်", - "Generate root certificate." : "Root Certificate ဖန်တီးရန်။", "Generating certificate." : "Certificate ဖန်တီးနေသည်။", "Could not generate certificate." : "Certificate ဖန်တီးမှု မပြုလုပ်နိုင်ပါ။", "Generated certificate!" : "Certificate ဖန်တီးပြီး!", @@ -29,6 +26,9 @@ OC.L10N.register( "No date" : "ရက်စွဲမပါ", "This document is valid" : "ဤစာရွက်စာတမ်းသည် မှန်ကန်ခိုင်လုံသည်။", "Open in LibreSign" : "LibreSign တွင်ဖွင့်ပါ", - "You need to create an account to sign this file." : "ဤဖိုင်အား အမှတ်အသားထိုးရန် အကောင့်ဖွင့်ရန်လိုအပ်သည်။" + "You need to create an account to sign this file." : "ဤဖိုင်အား အမှတ်အသားထိုးရန် အကောင့်ဖွင့်ရန်လိုအပ်သည်။", + "Add users" : "အသုံးပြုသူ ထည့်သွင်းရန်", + "Root certificate data." : "Root Certificate အချက်အလက်", + "Generate root certificate." : "Root Certificate ဖန်တီးရန်။" }, "nplurals=1; plural=0;"); diff --git a/l10n/my.json b/l10n/my.json index 6c77541d31..47e0bd0f11 100644 --- a/l10n/my.json +++ b/l10n/my.json @@ -11,12 +11,9 @@ "Status" : "အခြေအနေ", "Password Creation" : "လျှို့ဝှက်ကုဒ် ဖန်တီးရန်", "Enter a password" : "စကားဝှက် ရိုက်ထည့်ပါ။", - "Add users" : "အသုံးပြုသူ ထည့်သွင်းရန်", "Name (CN)" : "အမည် (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "ချိန်ညှိမှု path", - "Root certificate data." : "Root Certificate အချက်အလက်", - "Generate root certificate." : "Root Certificate ဖန်တီးရန်။", "Generating certificate." : "Certificate ဖန်တီးနေသည်။", "Could not generate certificate." : "Certificate ဖန်တီးမှု မပြုလုပ်နိုင်ပါ။", "Generated certificate!" : "Certificate ဖန်တီးပြီး!", @@ -27,6 +24,9 @@ "No date" : "ရက်စွဲမပါ", "This document is valid" : "ဤစာရွက်စာတမ်းသည် မှန်ကန်ခိုင်လုံသည်။", "Open in LibreSign" : "LibreSign တွင်ဖွင့်ပါ", - "You need to create an account to sign this file." : "ဤဖိုင်အား အမှတ်အသားထိုးရန် အကောင့်ဖွင့်ရန်လိုအပ်သည်။" + "You need to create an account to sign this file." : "ဤဖိုင်အား အမှတ်အသားထိုးရန် အကောင့်ဖွင့်ရန်လိုအပ်သည်။", + "Add users" : "အသုံးပြုသူ ထည့်သွင်းရန်", + "Root certificate data." : "Root Certificate အချက်အလက်", + "Generate root certificate." : "Root Certificate ဖန်တီးရန်။" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/nb.js b/l10n/nb.js index f6454df772..552f7a5987 100644 --- a/l10n/nb.js +++ b/l10n/nb.js @@ -9,15 +9,16 @@ OC.L10N.register( "File not found" : "Filen ble ikke funnet", "File already exists" : "Filen finnes allerede", "Empty file" : "Tom fil", + "File is too big" : "Filen er for stor", "Account" : "Konto", "Invalid user" : "Ugyldig bruker", "Email" : "E-post", "User already exists" : "Brukeren eksisterer allerede", - "Password" : "PassordP", "Files" : "Filer", "Settings" : "Innstillinger", "Authentication required" : "Autentisering påkrevd", "This action requires you to confirm your password" : "Denne handlingen krever at du bekrefter ditt passord", + "Password" : "PassordP", "Confirm" : "Bekreft", "Text" : "Tekst", "Draw" : "Tegn", @@ -38,7 +39,7 @@ OC.L10N.register( "Previous" : "Forrige", "Sign" : "Skilt", "Details" : "Detaljer", - "Reset password" : "Tilbakestill passord", + "Certificate" : "Sertifikat", "Select a file" : "Select a file", "Type" : "Type", "Status" : "Status", @@ -50,7 +51,9 @@ OC.L10N.register( "Yes" : "Ja", "No" : "Nei", "Page not found" : "Siden ble ikke funnet", + "Send" : "Send", "Password reset" : "Tilbakestilling av passord", + "Current password" : "Nåværende passord", "New password" : "Nytt passord", "Repeat password" : "Gjenta passord", "Message" : "Melding", @@ -59,6 +62,7 @@ OC.L10N.register( "Loading …" : "Laster ...", "Pending" : "Venter", "No date" : "Ingen dato", + "Reset password" : "Tilbakestill passord", "Remove" : "Fjern" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/nb.json b/l10n/nb.json index cabdf61a5f..4a734272c5 100644 --- a/l10n/nb.json +++ b/l10n/nb.json @@ -7,15 +7,16 @@ "File not found" : "Filen ble ikke funnet", "File already exists" : "Filen finnes allerede", "Empty file" : "Tom fil", + "File is too big" : "Filen er for stor", "Account" : "Konto", "Invalid user" : "Ugyldig bruker", "Email" : "E-post", "User already exists" : "Brukeren eksisterer allerede", - "Password" : "PassordP", "Files" : "Filer", "Settings" : "Innstillinger", "Authentication required" : "Autentisering påkrevd", "This action requires you to confirm your password" : "Denne handlingen krever at du bekrefter ditt passord", + "Password" : "PassordP", "Confirm" : "Bekreft", "Text" : "Tekst", "Draw" : "Tegn", @@ -36,7 +37,7 @@ "Previous" : "Forrige", "Sign" : "Skilt", "Details" : "Detaljer", - "Reset password" : "Tilbakestill passord", + "Certificate" : "Sertifikat", "Select a file" : "Select a file", "Type" : "Type", "Status" : "Status", @@ -48,7 +49,9 @@ "Yes" : "Ja", "No" : "Nei", "Page not found" : "Siden ble ikke funnet", + "Send" : "Send", "Password reset" : "Tilbakestilling av passord", + "Current password" : "Nåværende passord", "New password" : "Nytt passord", "Repeat password" : "Gjenta passord", "Message" : "Melding", @@ -57,6 +60,7 @@ "Loading …" : "Laster ...", "Pending" : "Venter", "No date" : "Ingen dato", + "Reset password" : "Tilbakestill passord", "Remove" : "Fjern" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/nl.js b/l10n/nl.js index 432c046245..7ee9dcf889 100644 --- a/l10n/nl.js +++ b/l10n/nl.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Ongeldig UUID", "Success" : "Geslaagd", "Invalid user or password" : "Ongeldige gebruikersnaam of wachtwoord", "_Element created with success_::_Elements created with success_" : ["Element succesvol gecreërd","Element succesvol gecreëerd"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Element succesvol geüpdatet", "Visible element deleted" : "Zichtbaar element verwijderd", "Settings saved" : "Instellingen opgeslagen", + "New password to sign documents has been created" : "Nieuw wachtwoord om documenten te tekenen aangemaakt", "Name is mandatory" : "Naam is verplicht", "Notification sent with success." : "Het bericht werd succesvol verzonden.", "File signed" : "Bestand ondertekend", @@ -26,9 +28,11 @@ OC.L10N.register( "Invalid Sign engine." : "Ongeldige Signeerengine.", "Digital signed by LibreSign." : "Digitaal ondertekend door LibreSign.", "Validate in %s." : "Valideer in %s.", + "Invalid data to validate file" : "Ongeldige data om bestand te valideren", "File type: %s. Empty file." : "Bestandstype: %s. Leeg bestand.", "Elements of type %s need file." : "Elementen van type %s hebben bestand nodig.", "File type: %s. Invalid fileID." : "Bestandstype: %s. Ongeldige fileID.", + "User not found." : "Gebruiker niet gevonden.", "document to sign" : "document om te ondertekenen", "visible element" : "zichtbaar element", "File type: %s. Invalid base64 file." : "Bestandstype: %s. Ongeldig base64 bestand.", @@ -55,7 +59,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Signeerproces reeds begonnen. Kan status niet veranderen.", "Inform or UUID or a File object" : "Informeren van UUID of een bestandsobject", "No user data" : "Geen gebruikersgegevens", - "User not found." : "Gebruiker niet gevonden.", "User %s has no email address." : "Gebruiker %s heeft geen e-mailadres.", "Email required" : "E-mailadres verplicht", "Invalid email" : "Ongeldige e-mailadres", @@ -63,7 +66,6 @@ OC.L10N.register( "No signature was requested to %s" : "Geen handtekening gevraagd %s", "%s already signed this file" : "%s heeft dit bestand al getekend", "Invalid UUID file" : "Ongeldig UUID bestand", - "Invalid UUID" : "Ongeldig UUID", "Signer not associated to this file" : "Ondertekenaar niet verbonden aan dit bestand", "A file of this type has been associated." : "Er is al een bestand van dit type toegewezen.", "File already signed." : "Bestand is al ondertekend", @@ -82,7 +84,7 @@ OC.L10N.register( "Invalid URL file" : "Ongeldig URL bestand", "Visible element file must be png." : "Zichtbaar elementbestand moet een png zijn.", "Empty file" : "Leeg bestand", - "Invalid data to validate file" : "Ongeldige data om bestand te valideren", + "File is too big" : "Bestand te groot", "Invalid file identifier" : "Ongeldige bestandsidentificator", "You need to sign this document" : "Je moet dit document signeren", "You cannot request signature for this document, please contact your administrator" : "Je kunt geen handtekening vragen voor dit document, neem alsjeblieft contact op met je beheerder", @@ -96,7 +98,6 @@ OC.L10N.register( "Email" : "E-mailadres", "User already exists" : "Gebruiker bestaat al", "This is not your file" : "Dit is niet jouw bestand", - "Password" : "Wachtwoord", "Invalid password" : "Ongeldig wachtwoord", "LibreSign: Changes into a file for you to sign" : "LibreSign: Verandert in een door jou te tekenen document", "File to sign" : "Te tekenen bestand", @@ -128,6 +129,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, digitale handtekeningen app voor Nextcloud.", "Authentication required" : "Authenticatie vereist", "This action requires you to confirm your password" : "Deze actie vereist dat je je wachtwoord bevestigt", + "Password" : "Wachtwoord", "Confirm" : "Bevestigen", "Incorrect password!" : "Onjuiste wachtwoord!", "Text" : "Tekst", @@ -164,9 +166,8 @@ OC.L10N.register( "Request signatures?" : "Handtekeningen aanvragen?", "Element created" : "Element aangemaakt", "Details" : "Details", - "Password & Security" : "Wachtwoord & Beveiliging", - "Create password key" : "Creëer een wachtwoordsleutel", - "Reset password" : "Reset wachtwoord", + "Certificate" : "Certificaat", + "Change password" : "Wachtwoord wijzigen", "Not defined yet" : "Niet niet bepaald", "Select a file" : "Selecteer een bestand", "File was sent." : "Bestand is verstuurd.", @@ -184,7 +185,6 @@ OC.L10N.register( "Password Creation" : "Wachtwoordcreatie", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Om veiligheidsredenen moet je een wachtwoord aanmaken om de documenten te ondertekenen. Voer je nieuwe wachtwoord in het onderstaande veld in.", "Enter a password" : "Voer een wachtwoord in", - "New password to sign documents has been created" : "Nieuw wachtwoord om documenten te tekenen aangemaakt", "Error creating new password, please contact the administrator" : "Fout bij maken wachtwoord. Neem contact op met je beheerder.", "Create new subscription." : "Creëer een nieuw abonnement.", "Root certificate has not been configured by the Administrator!" : "Root certificaat is niet geconfigureerd door de beheerder!", @@ -211,12 +211,11 @@ OC.L10N.register( "Request Signatures" : "Aanvragen ondertekening", "Choose the file to request signatures." : "Kies het bestand dat getekend moet worden.", "Choose from Files" : "Kies uit Bestanden", - "Enter the emails that will receive the request" : "Geef de e-mailadressen op die de aanvraag zullen ontvangen", - "Signatures for this document have already been requested" : "Er zijn al handtekeningen voor dit document gevraagd", - "Add users" : "Toevoegen gebruikers", + "Send" : "Verzenden", "Select your file" : "Selecteer uw bestand", "Password reset" : "Wachtwoordherstel", "Enter new password and then repeat it" : "Voer een nieuw wachtwoord in en herhaal het", + "Current password" : "Huidig wachtwoord", "New password" : "Nieuw wachtwoord", "Repeat password" : "Herhaal wachtwoord", "Message" : "Bericht", @@ -228,9 +227,7 @@ OC.L10N.register( "Name (CN)" : "Naam (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "Config pad", - "Root certificate data." : "Root certificaatgegevens.", "To generate new signatures, you must first generate the root certificate." : "Om nieuwe handtekeningen te genereren, moet je eerst het rootcertificaat genereren.", - "Generate root certificate." : "Genereren root certificaat.", "Generating certificate." : "Genereren certificaat.", "Could not generate certificate." : "Kon het certificaat niet genereren.", "Generated certificate!" : "Gegenereerd certificaat!", @@ -271,9 +268,17 @@ OC.L10N.register( "Remove duplicated users, email address need to be unique" : "Verwijder dubbele gebruikers, e-mailadres moet uniek zijn", "Validate File" : "Valideer Bestand", "Are you sure you want to exclude user {email} from the request?" : "Weet je zeker dat je gebruiker {email} wilt uitsluiten van de aanvraag?", + "Password & Security" : "Wachtwoord & Beveiliging", + "Create password key" : "Creëer een wachtwoordsleutel", + "Reset password" : "Reset wachtwoord", "Nothing to do" : "Niets te doen", "Validate Document" : "Valideer Document", "Do you want to configure visible elements in this document?" : "Wil je de zichtbare elementen in dit document configureren?", + "Enter the emails that will receive the request" : "Geef de e-mailadressen op die de aanvraag zullen ontvangen", + "Signatures for this document have already been requested" : "Er zijn al handtekeningen voor dit document gevraagd", + "Add users" : "Toevoegen gebruikers", + "Root certificate data." : "Root certificaatgegevens.", + "Generate root certificate." : "Genereren root certificaat.", "Remove" : "Verwijderen" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/nl.json b/l10n/nl.json index e8ea9186a7..66665ee855 100644 --- a/l10n/nl.json +++ b/l10n/nl.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Ongeldig UUID", "Success" : "Geslaagd", "Invalid user or password" : "Ongeldige gebruikersnaam of wachtwoord", "_Element created with success_::_Elements created with success_" : ["Element succesvol gecreërd","Element succesvol gecreëerd"], @@ -7,6 +8,7 @@ "Element updated with success" : "Element succesvol geüpdatet", "Visible element deleted" : "Zichtbaar element verwijderd", "Settings saved" : "Instellingen opgeslagen", + "New password to sign documents has been created" : "Nieuw wachtwoord om documenten te tekenen aangemaakt", "Name is mandatory" : "Naam is verplicht", "Notification sent with success." : "Het bericht werd succesvol verzonden.", "File signed" : "Bestand ondertekend", @@ -24,9 +26,11 @@ "Invalid Sign engine." : "Ongeldige Signeerengine.", "Digital signed by LibreSign." : "Digitaal ondertekend door LibreSign.", "Validate in %s." : "Valideer in %s.", + "Invalid data to validate file" : "Ongeldige data om bestand te valideren", "File type: %s. Empty file." : "Bestandstype: %s. Leeg bestand.", "Elements of type %s need file." : "Elementen van type %s hebben bestand nodig.", "File type: %s. Invalid fileID." : "Bestandstype: %s. Ongeldige fileID.", + "User not found." : "Gebruiker niet gevonden.", "document to sign" : "document om te ondertekenen", "visible element" : "zichtbaar element", "File type: %s. Invalid base64 file." : "Bestandstype: %s. Ongeldig base64 bestand.", @@ -53,7 +57,6 @@ "Sign process already started. Unable to change status." : "Signeerproces reeds begonnen. Kan status niet veranderen.", "Inform or UUID or a File object" : "Informeren van UUID of een bestandsobject", "No user data" : "Geen gebruikersgegevens", - "User not found." : "Gebruiker niet gevonden.", "User %s has no email address." : "Gebruiker %s heeft geen e-mailadres.", "Email required" : "E-mailadres verplicht", "Invalid email" : "Ongeldige e-mailadres", @@ -61,7 +64,6 @@ "No signature was requested to %s" : "Geen handtekening gevraagd %s", "%s already signed this file" : "%s heeft dit bestand al getekend", "Invalid UUID file" : "Ongeldig UUID bestand", - "Invalid UUID" : "Ongeldig UUID", "Signer not associated to this file" : "Ondertekenaar niet verbonden aan dit bestand", "A file of this type has been associated." : "Er is al een bestand van dit type toegewezen.", "File already signed." : "Bestand is al ondertekend", @@ -80,7 +82,7 @@ "Invalid URL file" : "Ongeldig URL bestand", "Visible element file must be png." : "Zichtbaar elementbestand moet een png zijn.", "Empty file" : "Leeg bestand", - "Invalid data to validate file" : "Ongeldige data om bestand te valideren", + "File is too big" : "Bestand te groot", "Invalid file identifier" : "Ongeldige bestandsidentificator", "You need to sign this document" : "Je moet dit document signeren", "You cannot request signature for this document, please contact your administrator" : "Je kunt geen handtekening vragen voor dit document, neem alsjeblieft contact op met je beheerder", @@ -94,7 +96,6 @@ "Email" : "E-mailadres", "User already exists" : "Gebruiker bestaat al", "This is not your file" : "Dit is niet jouw bestand", - "Password" : "Wachtwoord", "Invalid password" : "Ongeldig wachtwoord", "LibreSign: Changes into a file for you to sign" : "LibreSign: Verandert in een door jou te tekenen document", "File to sign" : "Te tekenen bestand", @@ -126,6 +127,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, digitale handtekeningen app voor Nextcloud.", "Authentication required" : "Authenticatie vereist", "This action requires you to confirm your password" : "Deze actie vereist dat je je wachtwoord bevestigt", + "Password" : "Wachtwoord", "Confirm" : "Bevestigen", "Incorrect password!" : "Onjuiste wachtwoord!", "Text" : "Tekst", @@ -162,9 +164,8 @@ "Request signatures?" : "Handtekeningen aanvragen?", "Element created" : "Element aangemaakt", "Details" : "Details", - "Password & Security" : "Wachtwoord & Beveiliging", - "Create password key" : "Creëer een wachtwoordsleutel", - "Reset password" : "Reset wachtwoord", + "Certificate" : "Certificaat", + "Change password" : "Wachtwoord wijzigen", "Not defined yet" : "Niet niet bepaald", "Select a file" : "Selecteer een bestand", "File was sent." : "Bestand is verstuurd.", @@ -182,7 +183,6 @@ "Password Creation" : "Wachtwoordcreatie", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Om veiligheidsredenen moet je een wachtwoord aanmaken om de documenten te ondertekenen. Voer je nieuwe wachtwoord in het onderstaande veld in.", "Enter a password" : "Voer een wachtwoord in", - "New password to sign documents has been created" : "Nieuw wachtwoord om documenten te tekenen aangemaakt", "Error creating new password, please contact the administrator" : "Fout bij maken wachtwoord. Neem contact op met je beheerder.", "Create new subscription." : "Creëer een nieuw abonnement.", "Root certificate has not been configured by the Administrator!" : "Root certificaat is niet geconfigureerd door de beheerder!", @@ -209,12 +209,11 @@ "Request Signatures" : "Aanvragen ondertekening", "Choose the file to request signatures." : "Kies het bestand dat getekend moet worden.", "Choose from Files" : "Kies uit Bestanden", - "Enter the emails that will receive the request" : "Geef de e-mailadressen op die de aanvraag zullen ontvangen", - "Signatures for this document have already been requested" : "Er zijn al handtekeningen voor dit document gevraagd", - "Add users" : "Toevoegen gebruikers", + "Send" : "Verzenden", "Select your file" : "Selecteer uw bestand", "Password reset" : "Wachtwoordherstel", "Enter new password and then repeat it" : "Voer een nieuw wachtwoord in en herhaal het", + "Current password" : "Huidig wachtwoord", "New password" : "Nieuw wachtwoord", "Repeat password" : "Herhaal wachtwoord", "Message" : "Bericht", @@ -226,9 +225,7 @@ "Name (CN)" : "Naam (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "Config pad", - "Root certificate data." : "Root certificaatgegevens.", "To generate new signatures, you must first generate the root certificate." : "Om nieuwe handtekeningen te genereren, moet je eerst het rootcertificaat genereren.", - "Generate root certificate." : "Genereren root certificaat.", "Generating certificate." : "Genereren certificaat.", "Could not generate certificate." : "Kon het certificaat niet genereren.", "Generated certificate!" : "Gegenereerd certificaat!", @@ -269,9 +266,17 @@ "Remove duplicated users, email address need to be unique" : "Verwijder dubbele gebruikers, e-mailadres moet uniek zijn", "Validate File" : "Valideer Bestand", "Are you sure you want to exclude user {email} from the request?" : "Weet je zeker dat je gebruiker {email} wilt uitsluiten van de aanvraag?", + "Password & Security" : "Wachtwoord & Beveiliging", + "Create password key" : "Creëer een wachtwoordsleutel", + "Reset password" : "Reset wachtwoord", "Nothing to do" : "Niets te doen", "Validate Document" : "Valideer Document", "Do you want to configure visible elements in this document?" : "Wil je de zichtbare elementen in dit document configureren?", + "Enter the emails that will receive the request" : "Geef de e-mailadressen op die de aanvraag zullen ontvangen", + "Signatures for this document have already been requested" : "Er zijn al handtekeningen voor dit document gevraagd", + "Add users" : "Toevoegen gebruikers", + "Root certificate data." : "Root certificaatgegevens.", + "Generate root certificate." : "Genereren root certificaat.", "Remove" : "Verwijderen" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/nn_NO.js b/l10n/nn_NO.js index a05b315931..d61cc235ca 100644 --- a/l10n/nn_NO.js +++ b/l10n/nn_NO.js @@ -2,11 +2,12 @@ OC.L10N.register( "libresign", { "File not found" : "Fann ikkje fila", + "File is too big" : "Fila er for stor", "Email" : "Epost", - "Password" : "Passord", "Invalid password" : "Feil passord", "Files" : "Filer", "Settings" : "Innstillingar", + "Password" : "Passord", "Upload" : "Last opp", "Colors:" : "Fargar:", "Apply" : "Anvend", @@ -21,7 +22,7 @@ OC.L10N.register( "Next" : "Neste", "Previous" : "Førre", "Details" : "Detaljar", - "Reset password" : "Nullstill passord", + "Certificate" : "Sertifikat", "Select a file" : "Select a file", "Type" : "Type", "Status" : "Status", @@ -33,11 +34,14 @@ OC.L10N.register( "Yes" : "Ja", "No" : "Nei", "Page not found" : "Fann ikkje sida", + "Send" : "Send", "Password reset" : "Passord omstilling", + "Current password" : "Passord", "New password" : "Nytt passord", "Resource" : "Ressurs", "Pending" : "Under vegs", "No date" : "No date", + "Reset password" : "Nullstill passord", "Remove" : "Fjern" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/nn_NO.json b/l10n/nn_NO.json index 3119048b4b..2c7aeeebe0 100644 --- a/l10n/nn_NO.json +++ b/l10n/nn_NO.json @@ -1,10 +1,11 @@ { "translations": { "File not found" : "Fann ikkje fila", + "File is too big" : "Fila er for stor", "Email" : "Epost", - "Password" : "Passord", "Invalid password" : "Feil passord", "Files" : "Filer", "Settings" : "Innstillingar", + "Password" : "Passord", "Upload" : "Last opp", "Colors:" : "Fargar:", "Apply" : "Anvend", @@ -19,7 +20,7 @@ "Next" : "Neste", "Previous" : "Førre", "Details" : "Detaljar", - "Reset password" : "Nullstill passord", + "Certificate" : "Sertifikat", "Select a file" : "Select a file", "Type" : "Type", "Status" : "Status", @@ -31,11 +32,14 @@ "Yes" : "Ja", "No" : "Nei", "Page not found" : "Fann ikkje sida", + "Send" : "Send", "Password reset" : "Passord omstilling", + "Current password" : "Passord", "New password" : "Nytt passord", "Resource" : "Ressurs", "Pending" : "Under vegs", "No date" : "No date", + "Reset password" : "Nullstill passord", "Remove" : "Fjern" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/oc.js b/l10n/oc.js index f75a4939e9..776515a1d2 100644 --- a/l10n/oc.js +++ b/l10n/oc.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID invalid", "Success" : "Succès", "Invalid user or password" : "Nom d’utilizaire o senhal marrit", "Elements not found" : "Elements pas trobats", @@ -14,17 +15,16 @@ OC.L10N.register( "signed" : "signat", "deleted" : "suprimit", "Digital signed by LibreSign." : "Signatura numerica per LibreSign.", + "User not found." : "Utilizaire pas trobat.", "document to sign" : "document de signar", "visible element" : "element visible", "This file cannot be signed. Invalid status: %s" : "Aqueste fichièrs se pòt pas signat. Estat invalid : %s", "Invalid fileID" : "fileID invalid", "You are not allowed to request signing" : "Avètz pas l'autorizacion de demandar una signatura", "Sign process already started. Unable to change status." : "Lo processús de signatura ja començat. Impossible de cambiar l’estat.", - "User not found." : "Utilizaire pas trobat.", "Invalid email" : "Email invalid", "No signature was requested to %s" : "Cap de signatura èra pas requerida per %s", "Invalid UUID file" : "fichièr UUID invalid", - "Invalid UUID" : "UUID invalid", "File already signed." : "Fichièr ja signat.", "Invalid file type." : "Tipe de fichièr invalid.", "There is a file for you to sign" : "I a un fichièr per vos de signar", @@ -37,6 +37,7 @@ OC.L10N.register( "File already exists" : "Lo fichièr existís ja", "Invalid URL file" : "URL del fichièr invalida", "Empty file" : "Fichièr void", + "File is too big" : "Fichièr tròp pesuc", "You need to sign this document" : "Devètz signar aqueste document", "No signers." : "Cap de signaires.", "You must not sign this file." : "Devètz pas signar aqueste fichièr.", @@ -48,7 +49,6 @@ OC.L10N.register( "Email" : "Email", "User already exists" : "L’utilizaire existís ja", "This is not your file" : "Aquò es pas vòstre fichièr", - "Password" : "Senhal", "File to sign" : "Fichièr a signar", "Sign »%s«" : "Signar « %s »", "Empty users list" : "Lista d'utilizaire voida", @@ -61,6 +61,7 @@ OC.L10N.register( "Settings" : "Paramètres", "Authentication required" : "Autentificacion requerida", "This action requires you to confirm your password" : "Aquesta accions vos demanda de confirmar vòstre senhal", + "Password" : "Senhal", "Confirm" : "Confirmar", "Incorrect password!" : "Senhal incorrècte !", "Text" : "Tèxt", @@ -80,7 +81,7 @@ OC.L10N.register( "Previous" : "Precedent", "Sign" : "Signar", "Details" : "Detalhs", - "Reset password" : "Reïnicializar senhal", + "Certificate" : "Certificat", "Select a file" : "Select a file", "Type" : "Tipe", "Status" : "Estat", @@ -93,8 +94,9 @@ OC.L10N.register( "Yes" : "Òc", "No" : "Non", "Page not found" : "Pagina pas trobada", - "Add users" : "Apondre utilizaires", + "Send" : "Enviar", "Password reset" : "Reïnicializacion de senhal", + "Current password" : "Senhal actual", "New password" : "Senhal novèl", "Resource" : "Ressorsa", "Name (CN)" : "Nom (CN)", @@ -109,6 +111,8 @@ OC.L10N.register( "This document is valid" : "Aqueste document es valid", "You need to create an account to sign this file." : "Devètz crear un compte per signar aqueste fichièr.", "User created!" : "Utilizaire creat !", + "Reset password" : "Reïnicializar senhal", + "Add users" : "Apondre utilizaires", "Remove" : "Suprimir" }, "nplurals=2; plural=(n > 1);"); diff --git a/l10n/oc.json b/l10n/oc.json index dc52d1703c..d0b433fef8 100644 --- a/l10n/oc.json +++ b/l10n/oc.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID invalid", "Success" : "Succès", "Invalid user or password" : "Nom d’utilizaire o senhal marrit", "Elements not found" : "Elements pas trobats", @@ -12,17 +13,16 @@ "signed" : "signat", "deleted" : "suprimit", "Digital signed by LibreSign." : "Signatura numerica per LibreSign.", + "User not found." : "Utilizaire pas trobat.", "document to sign" : "document de signar", "visible element" : "element visible", "This file cannot be signed. Invalid status: %s" : "Aqueste fichièrs se pòt pas signat. Estat invalid : %s", "Invalid fileID" : "fileID invalid", "You are not allowed to request signing" : "Avètz pas l'autorizacion de demandar una signatura", "Sign process already started. Unable to change status." : "Lo processús de signatura ja començat. Impossible de cambiar l’estat.", - "User not found." : "Utilizaire pas trobat.", "Invalid email" : "Email invalid", "No signature was requested to %s" : "Cap de signatura èra pas requerida per %s", "Invalid UUID file" : "fichièr UUID invalid", - "Invalid UUID" : "UUID invalid", "File already signed." : "Fichièr ja signat.", "Invalid file type." : "Tipe de fichièr invalid.", "There is a file for you to sign" : "I a un fichièr per vos de signar", @@ -35,6 +35,7 @@ "File already exists" : "Lo fichièr existís ja", "Invalid URL file" : "URL del fichièr invalida", "Empty file" : "Fichièr void", + "File is too big" : "Fichièr tròp pesuc", "You need to sign this document" : "Devètz signar aqueste document", "No signers." : "Cap de signaires.", "You must not sign this file." : "Devètz pas signar aqueste fichièr.", @@ -46,7 +47,6 @@ "Email" : "Email", "User already exists" : "L’utilizaire existís ja", "This is not your file" : "Aquò es pas vòstre fichièr", - "Password" : "Senhal", "File to sign" : "Fichièr a signar", "Sign »%s«" : "Signar « %s »", "Empty users list" : "Lista d'utilizaire voida", @@ -59,6 +59,7 @@ "Settings" : "Paramètres", "Authentication required" : "Autentificacion requerida", "This action requires you to confirm your password" : "Aquesta accions vos demanda de confirmar vòstre senhal", + "Password" : "Senhal", "Confirm" : "Confirmar", "Incorrect password!" : "Senhal incorrècte !", "Text" : "Tèxt", @@ -78,7 +79,7 @@ "Previous" : "Precedent", "Sign" : "Signar", "Details" : "Detalhs", - "Reset password" : "Reïnicializar senhal", + "Certificate" : "Certificat", "Select a file" : "Select a file", "Type" : "Tipe", "Status" : "Estat", @@ -91,8 +92,9 @@ "Yes" : "Òc", "No" : "Non", "Page not found" : "Pagina pas trobada", - "Add users" : "Apondre utilizaires", + "Send" : "Enviar", "Password reset" : "Reïnicializacion de senhal", + "Current password" : "Senhal actual", "New password" : "Senhal novèl", "Resource" : "Ressorsa", "Name (CN)" : "Nom (CN)", @@ -107,6 +109,8 @@ "This document is valid" : "Aqueste document es valid", "You need to create an account to sign this file." : "Devètz crear un compte per signar aqueste fichièr.", "User created!" : "Utilizaire creat !", + "Reset password" : "Reïnicializar senhal", + "Add users" : "Apondre utilizaires", "Remove" : "Suprimir" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/l10n/pl.js b/l10n/pl.js index a9dbf015a9..613a6df3cc 100644 --- a/l10n/pl.js +++ b/l10n/pl.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Nieprawidłowy UUID", "Success" : "Powiodło się", "Invalid user or password" : "Nieprawidłowy użytkownik lub hasło", "_Element created with success_::_Elements created with success_" : ["Element utworzony z powodzeniem","Elementy utworzone z powodzeniem","Elementy utworzone z powodzeniem","Elementy utworzone z powodzeniem"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Element zaktualizowany z powodzeniem", "Visible element deleted" : "Widoczny element usunięty", "Settings saved" : "Ustawienia zapisane", + "New password to sign documents has been created" : "Utworzono nowe hasło do podpisywania dokumentów", "Name is mandatory" : "Nazwa jest obowiązkowa", "Notification sent with success." : "Powiadomienie wysłane pomyślnie.", "File signed" : "Plik podpisany", @@ -22,13 +24,16 @@ OC.L10N.register( "signed" : "podpisany", "deleted" : "usunięty", "Identification Document" : "Dokument tożsamości", + "pending" : "oczekujące", "Password to sign not defined. Create a password to sign." : "Nie zdefiniowano hasła dla podpisu. Utwórz hasło dla podpisu.", "Invalid Sign engine." : "Nieprawidłowy mechanizm podpisu.", "Digital signed by LibreSign." : "Podpisane cyfrowo przez LibreSign.", "Validate in %s." : "Sprawdź w %s.", + "Invalid data to validate file" : "Nieprawidłowe dane do walidacji pliku", "File type: %s. Empty file." : "Typ pliku: %s. Pusty plik.", "Elements of type %s need file." : "Elementy typu %s wymagają pliku.", "File type: %s. Invalid fileID." : "Typ pliku: %s. Nieprawidłowy fileID.", + "User not found." : "Użytkownik nie znaleziony.", "document to sign" : "dokument do podpisania", "visible element" : "widoczny element", "File type: %s. Invalid base64 file." : "Typ pliku: %s. Nieprawidłowy plik base64.", @@ -55,7 +60,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Proces podpisywania już się rozpoczął. Nie udało się zmienić statusu.", "Inform or UUID or a File object" : "Inform lub UUID lub obiekt pliku", "No user data" : "Brak danych użytkownika", - "User not found." : "Użytkownik nie znaleziony.", "User %s has no email address." : "Użytkownik %s nie ma adresu e-mail.", "Email required" : "Wymagany e-mail", "Invalid email" : "Nieprawidłowy e-mail", @@ -63,7 +67,6 @@ OC.L10N.register( "No signature was requested to %s" : "Nie zażądano podpisu do %s", "%s already signed this file" : "%s już podpisał ten plik", "Invalid UUID file" : "Nieprawidłowy plik UUID", - "Invalid UUID" : "Nieprawidłowy UUID", "Signer not associated to this file" : "Podpisujący nie jest powiązany z tym plikiem", "A file of this type has been associated." : "Plik tego typu został powiązany.", "File already signed." : "Plik już podpisany.", @@ -82,7 +85,7 @@ OC.L10N.register( "Invalid URL file" : "Nieprawidłowy plik URL", "Visible element file must be png." : "Widoczny plik elementu musi być w formacie png.", "Empty file" : "Pusty plik", - "Invalid data to validate file" : "Nieprawidłowe dane do walidacji pliku", + "File is too big" : "Plik jest za duży", "Invalid file identifier" : "Nieprawidłowy identyfikator pliku", "You need to sign this document" : "Musisz podpisać ten dokument", "You cannot request signature for this document, please contact your administrator" : "Nie możesz poprosić o podpis dla tego dokumentu, skontaktuj się z administratorem", @@ -96,7 +99,6 @@ OC.L10N.register( "Email" : "E-mail", "User already exists" : "Użytkownik już istnieje", "This is not your file" : "To nie jest Twój plik", - "Password" : "Hasło", "Invalid password" : "Nieprawidłowe hasło", "LibreSign: Changes into a file for you to sign" : "LibreSign: Zmiany w pliku do podpisania", "File to sign" : "Plik do podpisania", @@ -128,6 +130,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplikacja do podpisu cyfrowego dla Nextcloud.", "Authentication required" : "Wymagane uwierzytelnienie", "This action requires you to confirm your password" : "Ta czynność wymaga potwierdzenia hasłem", + "Password" : "Hasło", "Confirm" : "Potwierdź", "Incorrect password!" : "Nieprawidłowe hasło!", "Text" : "Tekst", @@ -164,9 +167,7 @@ OC.L10N.register( "Request signatures?" : "Prośba o podpisy?", "Element created" : "Utworzono element", "Details" : "Szczegóły", - "Password & Security" : "Hasło i bezpieczeństwo", - "Create password key" : "Utwórz klucz hasła", - "Reset password" : "Zresetuj hasło", + "Certificate" : "Certyfikat", "Not sent yet" : "Jeszcze nie wysłano", "Not defined yet" : "Jeszcze nie zdefiniowano", "Select a file" : "Wybierz plik", @@ -187,7 +188,6 @@ OC.L10N.register( "Password Creation" : "Tworzenie hasła", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Ze względów bezpieczeństwa, musisz utworzyć hasło, aby podpisać dokumenty. Wprowadź nowe hasło w polu poniżej.", "Enter a password" : "Wprowadź hasło", - "New password to sign documents has been created" : "Utworzono nowe hasło do podpisywania dokumentów", "Error creating new password, please contact the administrator" : "Błąd przy tworzeniu nowego hasła, skontaktuj się z administratorem", "Create new subscription." : "Utwórz nową subskrypcję.", "Root certificate has not been configured by the Administrator!" : "Certyfikat główny nie został skonfigurowany przez administratora!", @@ -214,16 +214,16 @@ OC.L10N.register( "Request Signatures" : "Poproś o podpisy", "Choose the file to request signatures." : "Wybierz plik, aby poprosić o podpisy.", "Choose from Files" : "Wybierz z Plików", - "Enter the emails that will receive the request" : "Podaj adresy e-mail, które otrzymają prośbę", - "Signatures for this document have already been requested" : "Poproszono już o podpisy dla tego dokumentu", - "Add users" : "Dodaj użytkowników", + "Send" : "Wyślij", "Select your file" : "Wybierz swój plik", "Password reset" : "Resetowanie hasła", "Enter new password and then repeat it" : "Wprowadź nowe hasło i następnie powtórz je", + "Current password" : "Bieżące hasło", "New password" : "Nowe hasło", "Repeat password" : "Powtórz hasło", "Message" : "Komunikat", "Resource" : "Zasób", + "Tip" : "Porada", "Dependencies" : "Zależności", "Legal Information" : "Informacje prawne", "Legal information" : "Informacje prawne", @@ -231,9 +231,8 @@ OC.L10N.register( "Name (CN)" : "Nazwa (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "Ścieżka konfiguracji", - "Root certificate data." : "Dane certyfikatu głównego.", "To generate new signatures, you must first generate the root certificate." : "Aby wygenerować nowe sygnatury, musisz najpierw wygenerować certyfikat główny.", - "Generate root certificate." : "Wygeneruj certyfikat główny.", + "Generate root certificate" : "Wygeneruj certyfikat główny", "Generating certificate." : "Generowanie certyfikatu.", "Could not generate certificate." : "Nie udało się wygenerować certyfikatu.", "Generated certificate!" : "Wygenerowano certyfikat!", @@ -276,8 +275,16 @@ OC.L10N.register( "Validate File" : "Sprawdź poprawność pliku", "Add visible signatures" : "Dodaj widoczne podpisy", "Are you sure you want to exclude user {email} from the request?" : "Czy na pewno chcesz wykluczyć użytkownika {email} z prośby?", + "Password & Security" : "Hasło i bezpieczeństwo", + "Create password key" : "Utwórz klucz hasła", + "Reset password" : "Zresetuj hasło", "Validate Document" : "Sprawdź poprawność dokumentu", "Do you want to configure visible elements in this document?" : "Czy chcesz skonfigurować widoczne elementy w tym dokumencie?", + "Enter the emails that will receive the request" : "Podaj adresy e-mail, które otrzymają prośbę", + "Signatures for this document have already been requested" : "Poproszono już o podpisy dla tego dokumentu", + "Add users" : "Dodaj użytkowników", + "Root certificate data." : "Dane certyfikatu głównego.", + "Generate root certificate." : "Wygeneruj certyfikat główny.", "Remove" : "Usuń" }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/l10n/pl.json b/l10n/pl.json index 2c6c6704a3..fbca452bb4 100644 --- a/l10n/pl.json +++ b/l10n/pl.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Nieprawidłowy UUID", "Success" : "Powiodło się", "Invalid user or password" : "Nieprawidłowy użytkownik lub hasło", "_Element created with success_::_Elements created with success_" : ["Element utworzony z powodzeniem","Elementy utworzone z powodzeniem","Elementy utworzone z powodzeniem","Elementy utworzone z powodzeniem"], @@ -7,6 +8,7 @@ "Element updated with success" : "Element zaktualizowany z powodzeniem", "Visible element deleted" : "Widoczny element usunięty", "Settings saved" : "Ustawienia zapisane", + "New password to sign documents has been created" : "Utworzono nowe hasło do podpisywania dokumentów", "Name is mandatory" : "Nazwa jest obowiązkowa", "Notification sent with success." : "Powiadomienie wysłane pomyślnie.", "File signed" : "Plik podpisany", @@ -20,13 +22,16 @@ "signed" : "podpisany", "deleted" : "usunięty", "Identification Document" : "Dokument tożsamości", + "pending" : "oczekujące", "Password to sign not defined. Create a password to sign." : "Nie zdefiniowano hasła dla podpisu. Utwórz hasło dla podpisu.", "Invalid Sign engine." : "Nieprawidłowy mechanizm podpisu.", "Digital signed by LibreSign." : "Podpisane cyfrowo przez LibreSign.", "Validate in %s." : "Sprawdź w %s.", + "Invalid data to validate file" : "Nieprawidłowe dane do walidacji pliku", "File type: %s. Empty file." : "Typ pliku: %s. Pusty plik.", "Elements of type %s need file." : "Elementy typu %s wymagają pliku.", "File type: %s. Invalid fileID." : "Typ pliku: %s. Nieprawidłowy fileID.", + "User not found." : "Użytkownik nie znaleziony.", "document to sign" : "dokument do podpisania", "visible element" : "widoczny element", "File type: %s. Invalid base64 file." : "Typ pliku: %s. Nieprawidłowy plik base64.", @@ -53,7 +58,6 @@ "Sign process already started. Unable to change status." : "Proces podpisywania już się rozpoczął. Nie udało się zmienić statusu.", "Inform or UUID or a File object" : "Inform lub UUID lub obiekt pliku", "No user data" : "Brak danych użytkownika", - "User not found." : "Użytkownik nie znaleziony.", "User %s has no email address." : "Użytkownik %s nie ma adresu e-mail.", "Email required" : "Wymagany e-mail", "Invalid email" : "Nieprawidłowy e-mail", @@ -61,7 +65,6 @@ "No signature was requested to %s" : "Nie zażądano podpisu do %s", "%s already signed this file" : "%s już podpisał ten plik", "Invalid UUID file" : "Nieprawidłowy plik UUID", - "Invalid UUID" : "Nieprawidłowy UUID", "Signer not associated to this file" : "Podpisujący nie jest powiązany z tym plikiem", "A file of this type has been associated." : "Plik tego typu został powiązany.", "File already signed." : "Plik już podpisany.", @@ -80,7 +83,7 @@ "Invalid URL file" : "Nieprawidłowy plik URL", "Visible element file must be png." : "Widoczny plik elementu musi być w formacie png.", "Empty file" : "Pusty plik", - "Invalid data to validate file" : "Nieprawidłowe dane do walidacji pliku", + "File is too big" : "Plik jest za duży", "Invalid file identifier" : "Nieprawidłowy identyfikator pliku", "You need to sign this document" : "Musisz podpisać ten dokument", "You cannot request signature for this document, please contact your administrator" : "Nie możesz poprosić o podpis dla tego dokumentu, skontaktuj się z administratorem", @@ -94,7 +97,6 @@ "Email" : "E-mail", "User already exists" : "Użytkownik już istnieje", "This is not your file" : "To nie jest Twój plik", - "Password" : "Hasło", "Invalid password" : "Nieprawidłowe hasło", "LibreSign: Changes into a file for you to sign" : "LibreSign: Zmiany w pliku do podpisania", "File to sign" : "Plik do podpisania", @@ -126,6 +128,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplikacja do podpisu cyfrowego dla Nextcloud.", "Authentication required" : "Wymagane uwierzytelnienie", "This action requires you to confirm your password" : "Ta czynność wymaga potwierdzenia hasłem", + "Password" : "Hasło", "Confirm" : "Potwierdź", "Incorrect password!" : "Nieprawidłowe hasło!", "Text" : "Tekst", @@ -162,9 +165,7 @@ "Request signatures?" : "Prośba o podpisy?", "Element created" : "Utworzono element", "Details" : "Szczegóły", - "Password & Security" : "Hasło i bezpieczeństwo", - "Create password key" : "Utwórz klucz hasła", - "Reset password" : "Zresetuj hasło", + "Certificate" : "Certyfikat", "Not sent yet" : "Jeszcze nie wysłano", "Not defined yet" : "Jeszcze nie zdefiniowano", "Select a file" : "Wybierz plik", @@ -185,7 +186,6 @@ "Password Creation" : "Tworzenie hasła", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Ze względów bezpieczeństwa, musisz utworzyć hasło, aby podpisać dokumenty. Wprowadź nowe hasło w polu poniżej.", "Enter a password" : "Wprowadź hasło", - "New password to sign documents has been created" : "Utworzono nowe hasło do podpisywania dokumentów", "Error creating new password, please contact the administrator" : "Błąd przy tworzeniu nowego hasła, skontaktuj się z administratorem", "Create new subscription." : "Utwórz nową subskrypcję.", "Root certificate has not been configured by the Administrator!" : "Certyfikat główny nie został skonfigurowany przez administratora!", @@ -212,16 +212,16 @@ "Request Signatures" : "Poproś o podpisy", "Choose the file to request signatures." : "Wybierz plik, aby poprosić o podpisy.", "Choose from Files" : "Wybierz z Plików", - "Enter the emails that will receive the request" : "Podaj adresy e-mail, które otrzymają prośbę", - "Signatures for this document have already been requested" : "Poproszono już o podpisy dla tego dokumentu", - "Add users" : "Dodaj użytkowników", + "Send" : "Wyślij", "Select your file" : "Wybierz swój plik", "Password reset" : "Resetowanie hasła", "Enter new password and then repeat it" : "Wprowadź nowe hasło i następnie powtórz je", + "Current password" : "Bieżące hasło", "New password" : "Nowe hasło", "Repeat password" : "Powtórz hasło", "Message" : "Komunikat", "Resource" : "Zasób", + "Tip" : "Porada", "Dependencies" : "Zależności", "Legal Information" : "Informacje prawne", "Legal information" : "Informacje prawne", @@ -229,9 +229,8 @@ "Name (CN)" : "Nazwa (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "Ścieżka konfiguracji", - "Root certificate data." : "Dane certyfikatu głównego.", "To generate new signatures, you must first generate the root certificate." : "Aby wygenerować nowe sygnatury, musisz najpierw wygenerować certyfikat główny.", - "Generate root certificate." : "Wygeneruj certyfikat główny.", + "Generate root certificate" : "Wygeneruj certyfikat główny", "Generating certificate." : "Generowanie certyfikatu.", "Could not generate certificate." : "Nie udało się wygenerować certyfikatu.", "Generated certificate!" : "Wygenerowano certyfikat!", @@ -274,8 +273,16 @@ "Validate File" : "Sprawdź poprawność pliku", "Add visible signatures" : "Dodaj widoczne podpisy", "Are you sure you want to exclude user {email} from the request?" : "Czy na pewno chcesz wykluczyć użytkownika {email} z prośby?", + "Password & Security" : "Hasło i bezpieczeństwo", + "Create password key" : "Utwórz klucz hasła", + "Reset password" : "Zresetuj hasło", "Validate Document" : "Sprawdź poprawność dokumentu", "Do you want to configure visible elements in this document?" : "Czy chcesz skonfigurować widoczne elementy w tym dokumencie?", + "Enter the emails that will receive the request" : "Podaj adresy e-mail, które otrzymają prośbę", + "Signatures for this document have already been requested" : "Poproszono już o podpisy dla tego dokumentu", + "Add users" : "Dodaj użytkowników", + "Root certificate data." : "Dane certyfikatu głównego.", + "Generate root certificate." : "Wygeneruj certyfikat główny.", "Remove" : "Usuń" },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" } \ No newline at end of file diff --git a/l10n/pt_BR.js b/l10n/pt_BR.js index e3eaa131ff..e89555edd2 100644 --- a/l10n/pt_BR.js +++ b/l10n/pt_BR.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID inválido", "Success" : "Sucesso", "Invalid user or password" : "Usuário ou senha inválidos", "_Element created with success_::_Elements created with success_" : ["Elemento criado com sucesso","Elementos criados com sucesso","Elementos criados com sucesso"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Elemento atualizado com sucesso", "Visible element deleted" : "Elemento visível excluído", "Settings saved" : "Configurações salvas", + "New password to sign documents has been created" : "Nova senha para assinar documentos foi criada", "Name is mandatory" : "Nome é obrigatório", "Notification sent with success." : "Notificação enviada com sucesso.", "File signed" : "Arquivo assinado", @@ -28,10 +30,12 @@ OC.L10N.register( "Invalid Sign engine." : "Disparador de sinal inválido. ", "Digital signed by LibreSign." : "Digital assinado por LibreSign.", "Validate in %s." : "Validar em %s.", + "Invalid data to validate file" : "Dados inválidos para validar o arquivo", "File type: %s. Empty file." : "Arquivo tipo: %s. Arquivo vazio.", "Elements of type %s need file." : "Os elementos do tipo %s precisam do arquivo. ", "File type: %s. Specify a URL, a base64 string or a fileID." : "Tipo de arquivo: %s. Especifique um URL, uma string base64 ou um fileID.", "File type: %s. Invalid fileID." : "Tipo de arquivo: %s. fileID inválida.", + "User not found." : "Usuário não encontrado.", "document to sign" : "documento para assinar ", "visible element" : "elemento visível", "File type: %s. Invalid base64 file." : "Arquivo tipo: %s. Arquivo base64 inválido.", @@ -58,7 +62,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Processo de assinatura já iniciado. Incapaz de alterar o status.", "Inform or UUID or a File object" : "Informar ou UUID ou um Arquivo objeto", "No user data" : "Sem dados do usuário", - "User not found." : "Usuário não encontrado.", "User %s has no email address." : "Usuário %s não tem endereço de e-mail.", "Email required" : "O e-mail é obrigatório", "Invalid email" : "Email inválido", @@ -66,7 +69,6 @@ OC.L10N.register( "No signature was requested to %s" : "Não foram solicitadas assinaturas para %s", "%s already signed this file" : "%s já assinei este arquivo ", "Invalid UUID file" : "UUID de arquivo inválido", - "Invalid UUID" : "UUID inválido", "Signer not associated to this file" : "Signatário não associado a este arquivo ", "A file of this type has been associated." : "Um arquivo deste tipo foi associado.", "Empty identify data." : "Dados de identificação vazios.", @@ -89,7 +91,7 @@ OC.L10N.register( "Invalid URL file" : "URL de arquivo inválida", "Visible element file must be png." : "O arquivo de elemento visível deve ser png. ", "Empty file" : "Arquivo vazio", - "Invalid data to validate file" : "Dados inválidos para validar o arquivo", + "File is too big" : "Arquivo muito grande", "Invalid file identifier" : "Identificador de arquivo inválido", "You need to sign this document" : "Você precisa assinar este documento", "You cannot request signature for this document, please contact your administrator" : "Você não pode solicitar assinatura para este documento, por favor, contate o seu administrador", @@ -104,7 +106,6 @@ OC.L10N.register( "Email" : "Email", "User already exists" : "Usuário já existe", "This is not your file" : "Este arquivo não é seu", - "Password" : "Senha", "Invalid password" : "Senha inválida", "LibreSign: Changes into a file for you to sign" : "LibreSign: Transformar em um arquivo para você assinar", "File to sign" : "Arquivo para assinar", @@ -141,6 +142,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicativo de assinatura digital para Nextcloud. ", "Authentication required" : "Autentificação necessária", "This action requires you to confirm your password" : "Esta ação requer que você confirme sua senha ", + "Password" : "Senha", "Confirm" : "Confirme ", "Incorrect password!" : "Senha incorreta!", "Text" : "Texto", @@ -179,9 +181,9 @@ OC.L10N.register( "Request signatures?" : "Solicitar assinaturas?", "Element created" : "Elemento criado", "Details" : "Detalhes", - "Password & Security" : "Senha & Segurança ", - "Create password key" : "Criar chave de senha ", - "Reset password" : "Redefinir senha ", + "Certificate" : "Certificado", + "Delete certificate" : "Delete certificate", + "Change password" : "Alterar a senha", "Not sent yet" : "Ainda não foi enviado", "Not defined yet" : "Ainda não definido", "Select a file" : "Selecione um arquivo", @@ -202,7 +204,6 @@ OC.L10N.register( "Password Creation" : "Criação de Senha ", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Por razões de segurança, você deve criar uma senha para assinar os documentos. Digite sua nova senha no campo abaixo.", "Enter a password" : "Insira uma senha ", - "New password to sign documents has been created" : "Nova senha para assinar documentos foi criada", "Error creating new password, please contact the administrator" : "Erro ao criar nova senha, entre em contato com o administrador ", "Create new subscription." : "Criar nova assinatura.", "Root certificate has not been configured by the Administrator!" : "Certificado raiz não foi configurado pelo administrador!", @@ -231,12 +232,11 @@ OC.L10N.register( "Request Signatures" : "Solicitar Assinaturas", "Choose the file to request signatures." : "Escolha o arquivo para solicitar assinaturas.", "Choose from Files" : "Escolha de arquivos", - "Enter the emails that will receive the request" : "Insira os e-mails que irão receber o pedido", - "Signatures for this document have already been requested" : "As assinaturas para este documento já foram solicitadas", - "Add users" : "Adicionar usuários", + "Send" : "Enviar", "Select your file" : "Selecione seu arquivo", "Password reset" : "Redefinição de senha ", "Enter new password and then repeat it" : "Digite a nova senha e repita-a ", + "Current password" : "Senha atual", "New password" : "Nova Senha ", "Repeat password" : "Repita a senha ", "Allow request to sign" : "Permitir solicitação para assinar", @@ -252,7 +252,7 @@ OC.L10N.register( "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer.", "Message" : "Mensagem", "Resource" : "Recurso", - "Advice" : "Sugestão", + "Tip" : "Dica", "Configuration check" : "Verificação de configuração", "Status of setup" : "Status da configuração", "Customize default user folder" : "Personalize a pasta de usuário padrão", @@ -282,9 +282,8 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "Nome completo da empresa principal ou usuário principal desta instância", "Define custom values to use {engine}" : "Defina valores personalizados para usar {engine}", "Not mandatory, don't fill to use default value." : "Não obrigatório, não preencha para usar o valor padrão.", - "Root certificate data." : "Dados do certificado raiz. ", "To generate new signatures, you must first generate the root certificate." : "Para gerar novas assinaturas, você precisa primeiro gerar o certificado raiz.", - "Generate root certificate." : "Gere o certificado raiz. ", + "Generate root certificate" : "Gerar certificado raiz ", "Generating certificate." : "Gerando certificado.", "Could not generate certificate." : "Impossível gerar certificado.", "Generated certificate!" : "Certificado gerado!", @@ -335,14 +334,19 @@ OC.L10N.register( "Validate File" : "Validar Arquivo", "Add visible signatures" : "Adicionar assinaturas visíveis", "Are you sure you want to exclude user {email} from the request?" : "Are you sure you want to exclude user {email} from the request?", + "Password & Security" : "Senha & Segurança ", + "Create password key" : "Criar chave de senha ", + "Reset password" : "Redefinir senha ", "Nothing to do" : "Nada para fazer", "Validate Document" : "Validar Documento ", "Do you want to configure visible elements in this document?" : "Você quer configurar os elementos visíveis neste documento?", - "Collect signers metadata when sign a document" : "Collect signers metadata when sign a document", - "Collect signers metadata" : "Collect signers metadata", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binários necessários para funcionar. Pode estar perto de 340Mb para download, espere um momento.", + "Enter the emails that will receive the request" : "Insira os e-mails que irão receber o pedido", + "Signatures for this document have already been requested" : "As assinaturas para este documento já foram solicitadas", + "Add users" : "Adicionar usuários", + "Advice" : "Sugestão", "Define custom values to use CFSSL" : "Definir valores personalizados para usar CFSSL", + "Root certificate data." : "Dados do certificado raiz. ", + "Generate root certificate." : "Gere o certificado raiz. ", "Remove" : "Remover" }, "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 04012236e5..6e0e0ba92a 100644 --- a/l10n/pt_BR.json +++ b/l10n/pt_BR.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID inválido", "Success" : "Sucesso", "Invalid user or password" : "Usuário ou senha inválidos", "_Element created with success_::_Elements created with success_" : ["Elemento criado com sucesso","Elementos criados com sucesso","Elementos criados com sucesso"], @@ -7,6 +8,7 @@ "Element updated with success" : "Elemento atualizado com sucesso", "Visible element deleted" : "Elemento visível excluído", "Settings saved" : "Configurações salvas", + "New password to sign documents has been created" : "Nova senha para assinar documentos foi criada", "Name is mandatory" : "Nome é obrigatório", "Notification sent with success." : "Notificação enviada com sucesso.", "File signed" : "Arquivo assinado", @@ -26,10 +28,12 @@ "Invalid Sign engine." : "Disparador de sinal inválido. ", "Digital signed by LibreSign." : "Digital assinado por LibreSign.", "Validate in %s." : "Validar em %s.", + "Invalid data to validate file" : "Dados inválidos para validar o arquivo", "File type: %s. Empty file." : "Arquivo tipo: %s. Arquivo vazio.", "Elements of type %s need file." : "Os elementos do tipo %s precisam do arquivo. ", "File type: %s. Specify a URL, a base64 string or a fileID." : "Tipo de arquivo: %s. Especifique um URL, uma string base64 ou um fileID.", "File type: %s. Invalid fileID." : "Tipo de arquivo: %s. fileID inválida.", + "User not found." : "Usuário não encontrado.", "document to sign" : "documento para assinar ", "visible element" : "elemento visível", "File type: %s. Invalid base64 file." : "Arquivo tipo: %s. Arquivo base64 inválido.", @@ -56,7 +60,6 @@ "Sign process already started. Unable to change status." : "Processo de assinatura já iniciado. Incapaz de alterar o status.", "Inform or UUID or a File object" : "Informar ou UUID ou um Arquivo objeto", "No user data" : "Sem dados do usuário", - "User not found." : "Usuário não encontrado.", "User %s has no email address." : "Usuário %s não tem endereço de e-mail.", "Email required" : "O e-mail é obrigatório", "Invalid email" : "Email inválido", @@ -64,7 +67,6 @@ "No signature was requested to %s" : "Não foram solicitadas assinaturas para %s", "%s already signed this file" : "%s já assinei este arquivo ", "Invalid UUID file" : "UUID de arquivo inválido", - "Invalid UUID" : "UUID inválido", "Signer not associated to this file" : "Signatário não associado a este arquivo ", "A file of this type has been associated." : "Um arquivo deste tipo foi associado.", "Empty identify data." : "Dados de identificação vazios.", @@ -87,7 +89,7 @@ "Invalid URL file" : "URL de arquivo inválida", "Visible element file must be png." : "O arquivo de elemento visível deve ser png. ", "Empty file" : "Arquivo vazio", - "Invalid data to validate file" : "Dados inválidos para validar o arquivo", + "File is too big" : "Arquivo muito grande", "Invalid file identifier" : "Identificador de arquivo inválido", "You need to sign this document" : "Você precisa assinar este documento", "You cannot request signature for this document, please contact your administrator" : "Você não pode solicitar assinatura para este documento, por favor, contate o seu administrador", @@ -102,7 +104,6 @@ "Email" : "Email", "User already exists" : "Usuário já existe", "This is not your file" : "Este arquivo não é seu", - "Password" : "Senha", "Invalid password" : "Senha inválida", "LibreSign: Changes into a file for you to sign" : "LibreSign: Transformar em um arquivo para você assinar", "File to sign" : "Arquivo para assinar", @@ -139,6 +140,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicativo de assinatura digital para Nextcloud. ", "Authentication required" : "Autentificação necessária", "This action requires you to confirm your password" : "Esta ação requer que você confirme sua senha ", + "Password" : "Senha", "Confirm" : "Confirme ", "Incorrect password!" : "Senha incorreta!", "Text" : "Texto", @@ -177,9 +179,9 @@ "Request signatures?" : "Solicitar assinaturas?", "Element created" : "Elemento criado", "Details" : "Detalhes", - "Password & Security" : "Senha & Segurança ", - "Create password key" : "Criar chave de senha ", - "Reset password" : "Redefinir senha ", + "Certificate" : "Certificado", + "Delete certificate" : "Delete certificate", + "Change password" : "Alterar a senha", "Not sent yet" : "Ainda não foi enviado", "Not defined yet" : "Ainda não definido", "Select a file" : "Selecione um arquivo", @@ -200,7 +202,6 @@ "Password Creation" : "Criação de Senha ", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Por razões de segurança, você deve criar uma senha para assinar os documentos. Digite sua nova senha no campo abaixo.", "Enter a password" : "Insira uma senha ", - "New password to sign documents has been created" : "Nova senha para assinar documentos foi criada", "Error creating new password, please contact the administrator" : "Erro ao criar nova senha, entre em contato com o administrador ", "Create new subscription." : "Criar nova assinatura.", "Root certificate has not been configured by the Administrator!" : "Certificado raiz não foi configurado pelo administrador!", @@ -229,12 +230,11 @@ "Request Signatures" : "Solicitar Assinaturas", "Choose the file to request signatures." : "Escolha o arquivo para solicitar assinaturas.", "Choose from Files" : "Escolha de arquivos", - "Enter the emails that will receive the request" : "Insira os e-mails que irão receber o pedido", - "Signatures for this document have already been requested" : "As assinaturas para este documento já foram solicitadas", - "Add users" : "Adicionar usuários", + "Send" : "Enviar", "Select your file" : "Selecione seu arquivo", "Password reset" : "Redefinição de senha ", "Enter new password and then repeat it" : "Digite a nova senha e repita-a ", + "Current password" : "Senha atual", "New password" : "Nova Senha ", "Repeat password" : "Repita a senha ", "Allow request to sign" : "Permitir solicitação para assinar", @@ -250,7 +250,7 @@ "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer.", "Message" : "Mensagem", "Resource" : "Recurso", - "Advice" : "Sugestão", + "Tip" : "Dica", "Configuration check" : "Verificação de configuração", "Status of setup" : "Status da configuração", "Customize default user folder" : "Personalize a pasta de usuário padrão", @@ -280,9 +280,8 @@ "Full name of the main company or main user of this instance" : "Nome completo da empresa principal ou usuário principal desta instância", "Define custom values to use {engine}" : "Defina valores personalizados para usar {engine}", "Not mandatory, don't fill to use default value." : "Não obrigatório, não preencha para usar o valor padrão.", - "Root certificate data." : "Dados do certificado raiz. ", "To generate new signatures, you must first generate the root certificate." : "Para gerar novas assinaturas, você precisa primeiro gerar o certificado raiz.", - "Generate root certificate." : "Gere o certificado raiz. ", + "Generate root certificate" : "Gerar certificado raiz ", "Generating certificate." : "Gerando certificado.", "Could not generate certificate." : "Impossível gerar certificado.", "Generated certificate!" : "Certificado gerado!", @@ -333,14 +332,19 @@ "Validate File" : "Validar Arquivo", "Add visible signatures" : "Adicionar assinaturas visíveis", "Are you sure you want to exclude user {email} from the request?" : "Are you sure you want to exclude user {email} from the request?", + "Password & Security" : "Senha & Segurança ", + "Create password key" : "Criar chave de senha ", + "Reset password" : "Redefinir senha ", "Nothing to do" : "Nada para fazer", "Validate Document" : "Validar Documento ", "Do you want to configure visible elements in this document?" : "Você quer configurar os elementos visíveis neste documento?", - "Collect signers metadata when sign a document" : "Collect signers metadata when sign a document", - "Collect signers metadata" : "Collect signers metadata", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Binários necessários para funcionar. Pode estar perto de 340Mb para download, espere um momento.", + "Enter the emails that will receive the request" : "Insira os e-mails que irão receber o pedido", + "Signatures for this document have already been requested" : "As assinaturas para este documento já foram solicitadas", + "Add users" : "Adicionar usuários", + "Advice" : "Sugestão", "Define custom values to use CFSSL" : "Definir valores personalizados para usar CFSSL", + "Root certificate data." : "Dados do certificado raiz. ", + "Generate root certificate." : "Gere o certificado raiz. ", "Remove" : "Remover" },"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 cc863b6647..a12d9a830b 100644 --- a/l10n/pt_PT.js +++ b/l10n/pt_PT.js @@ -9,15 +9,16 @@ OC.L10N.register( "File not found" : "Ficheiro não encontrado", "File already exists" : "O ficheiro já existe", "Empty file" : "Ficheiro vazio", + "File is too big" : "O ficheiro é demasiado grande", "Account" : "Conta", "Invalid user" : "Utilizador inválido", "Email" : "E-mail", - "Password" : "Palavra-passe", "Invalid password" : "Palavra-passe inválida", "Files" : "Ficheiros", "Settings" : "Configurações", "Authentication required" : "Autenticação necessária", "This action requires you to confirm your password" : "Esta ação requer a confirmação da senha", + "Password" : "Palavra-passe", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Upload", @@ -36,7 +37,7 @@ OC.L10N.register( "Next" : "Seguinte", "Previous" : "Anterior", "Details" : "Detalhes", - "Reset password" : "Repor palavra-passe", + "Certificate" : "Certificado", "Select a file" : "Select a file", "Type" : "Tipo", "Status" : "Estado", @@ -49,7 +50,9 @@ OC.L10N.register( "No" : "Não", "Page not found" : "Página não encontrada", "Choose from Files" : "Escolher a partir dos ficheiros", + "Send" : "Enviar", "Password reset" : "Reposição da senha", + "Current password" : "Palavra-passe atual", "New password" : "Nova palavra-passe", "Message" : "Mensagem", "Resource" : "Recurso", @@ -57,6 +60,7 @@ OC.L10N.register( "Loading …" : "A carregar...", "Pending" : "Pendente", "No date" : "Sem data", + "Reset password" : "Repor palavra-passe", "Remove" : "Remover" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/pt_PT.json b/l10n/pt_PT.json index 7ec87f2ba9..dee59dc2cd 100644 --- a/l10n/pt_PT.json +++ b/l10n/pt_PT.json @@ -7,15 +7,16 @@ "File not found" : "Ficheiro não encontrado", "File already exists" : "O ficheiro já existe", "Empty file" : "Ficheiro vazio", + "File is too big" : "O ficheiro é demasiado grande", "Account" : "Conta", "Invalid user" : "Utilizador inválido", "Email" : "E-mail", - "Password" : "Palavra-passe", "Invalid password" : "Palavra-passe inválida", "Files" : "Ficheiros", "Settings" : "Configurações", "Authentication required" : "Autenticação necessária", "This action requires you to confirm your password" : "Esta ação requer a confirmação da senha", + "Password" : "Palavra-passe", "Confirm" : "Confirmar", "Text" : "Texto", "Upload" : "Upload", @@ -34,7 +35,7 @@ "Next" : "Seguinte", "Previous" : "Anterior", "Details" : "Detalhes", - "Reset password" : "Repor palavra-passe", + "Certificate" : "Certificado", "Select a file" : "Select a file", "Type" : "Tipo", "Status" : "Estado", @@ -47,7 +48,9 @@ "No" : "Não", "Page not found" : "Página não encontrada", "Choose from Files" : "Escolher a partir dos ficheiros", + "Send" : "Enviar", "Password reset" : "Reposição da senha", + "Current password" : "Palavra-passe atual", "New password" : "Nova palavra-passe", "Message" : "Mensagem", "Resource" : "Recurso", @@ -55,6 +58,7 @@ "Loading …" : "A carregar...", "Pending" : "Pendente", "No date" : "Sem data", + "Reset password" : "Repor palavra-passe", "Remove" : "Remover" },"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/ro.js b/l10n/ro.js index 7668830629..23ddf1b255 100644 --- a/l10n/ro.js +++ b/l10n/ro.js @@ -8,21 +8,26 @@ OC.L10N.register( "View" : "Vizualizare", "File not found" : "Fișierul nu a fost găsit", "File already exists" : "Fișierul există deja", + "Empty file" : "Fișier gol", + "File is too big" : "Fișierul este prea mare", "Account" : "Cont", "Invalid user" : "Utilizator invalid", "Email" : "E-mail", - "Password" : "Parolă", + "User already exists" : "Utilizatorul există deja", "Files" : "Fișiere", "Settings" : "Setări", "Authentication required" : "Este necesară autentificarea", "This action requires you to confirm your password" : "Această acțiune necesită confirmarea parolei tale", + "Password" : "Parolă", "Confirm" : "Confirmă", "Text" : "Text", + "Draw" : "Desenare", "Upload" : "Încărcare", "Apply" : "Aplică", "Cancel" : "Anulare", "Save" : "Salvează", "Name" : "Nume", + "Searching …" : "Căutare ...", "Update" : "Actualizare", "Description" : "Descriere", "Add" : "Adaugă", @@ -31,7 +36,8 @@ OC.L10N.register( "Next" : "Următorul", "Previous" : "Precedentul", "Details" : "Detalii", - "Reset password" : "Resetează parola", + "Certificate" : "Certificat", + "Delete certificate" : "Șterge certificatul", "Select a file" : "Select a file", "Type" : "Tip", "Status" : "Stare", @@ -39,15 +45,22 @@ OC.L10N.register( "Signature" : "Semnătură", "Profile picture" : "Imagine de profil", "Enter a password" : "Enter a password", + "Confirm password" : "Confirmați parola", "Yes" : "a", "No" : "Nu", "Page not found" : "Pagina nu a fost găsită", + "Send" : "Trimite", "Password reset" : "Resetare parolă", + "Current password" : "Parola curentă", "New password" : "Noua parolă", + "Message" : "Mesaj", "Resource" : "Resursă", + "Dependencies" : "Dependențe", "Loading …" : "Se încarcă…", "Pending" : "În așteptare", "No date" : "No date", + "Reset password" : "Resetează parola", + "Add users" : "Adaugă utilizatori", "Remove" : "Elimină" }, "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/l10n/ro.json b/l10n/ro.json index f17c1902b9..89e1ce51f0 100644 --- a/l10n/ro.json +++ b/l10n/ro.json @@ -6,21 +6,26 @@ "View" : "Vizualizare", "File not found" : "Fișierul nu a fost găsit", "File already exists" : "Fișierul există deja", + "Empty file" : "Fișier gol", + "File is too big" : "Fișierul este prea mare", "Account" : "Cont", "Invalid user" : "Utilizator invalid", "Email" : "E-mail", - "Password" : "Parolă", + "User already exists" : "Utilizatorul există deja", "Files" : "Fișiere", "Settings" : "Setări", "Authentication required" : "Este necesară autentificarea", "This action requires you to confirm your password" : "Această acțiune necesită confirmarea parolei tale", + "Password" : "Parolă", "Confirm" : "Confirmă", "Text" : "Text", + "Draw" : "Desenare", "Upload" : "Încărcare", "Apply" : "Aplică", "Cancel" : "Anulare", "Save" : "Salvează", "Name" : "Nume", + "Searching …" : "Căutare ...", "Update" : "Actualizare", "Description" : "Descriere", "Add" : "Adaugă", @@ -29,7 +34,8 @@ "Next" : "Următorul", "Previous" : "Precedentul", "Details" : "Detalii", - "Reset password" : "Resetează parola", + "Certificate" : "Certificat", + "Delete certificate" : "Șterge certificatul", "Select a file" : "Select a file", "Type" : "Tip", "Status" : "Stare", @@ -37,15 +43,22 @@ "Signature" : "Semnătură", "Profile picture" : "Imagine de profil", "Enter a password" : "Enter a password", + "Confirm password" : "Confirmați parola", "Yes" : "a", "No" : "Nu", "Page not found" : "Pagina nu a fost găsită", + "Send" : "Trimite", "Password reset" : "Resetare parolă", + "Current password" : "Parola curentă", "New password" : "Noua parolă", + "Message" : "Mesaj", "Resource" : "Resursă", + "Dependencies" : "Dependențe", "Loading …" : "Se încarcă…", "Pending" : "În așteptare", "No date" : "No date", + "Reset password" : "Resetează parola", + "Add users" : "Adaugă utilizatori", "Remove" : "Elimină" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" } \ No newline at end of file diff --git a/l10n/ru.js b/l10n/ru.js index c443b7e83a..e2289fec48 100644 --- a/l10n/ru.js +++ b/l10n/ru.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Недопустимый UUID", "Success" : "Выполнено", "Invalid user or password" : "Неверное имя пользователя или пароль", "_Element created with success_::_Elements created with success_" : ["Элемент создан успешно","Элементы созданы успешно","Элементы созданы успешно","Элементы созданы успешно"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Элемент обновлен успешно", "Visible element deleted" : "Видимый элемент удален", "Settings saved" : "Настройки сохранены", + "New password to sign documents has been created" : "Создан новый пароль для подписи документов", "Name is mandatory" : "Необходимо указать имя", "Notification sent with success." : "Уведомление отправлено успешно", "File signed" : "Файл подписан", @@ -24,9 +26,11 @@ OC.L10N.register( "Invalid Sign engine." : "Неверный движок подписи.", "Digital signed by LibreSign." : "Подписан электронной подписью LibreSign.", "Validate in %s." : "Проверить в %s.", + "Invalid data to validate file" : "Недопустимые данные для проверки файла", "File type: %s. Empty file." : "Тип файла: %s. Пустой файл.", "Elements of type %s need file." : "Тип элемента %s должен быть файлом.", "File type: %s. Invalid fileID." : "Тип файла: %s. Недопустимый идентификатор.", + "User not found." : "Пользователь не найден.", "document to sign" : "документ для подписания", "visible element" : "видимый элемент", "File type: %s. Invalid base64 file." : "Тип файла: %s. Недопустимый файл base64.", @@ -51,7 +55,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Процесс подписания уже начался. Невозможно изменить статус.", "Inform or UUID or a File object" : "Сообщить UUID или файловый объект", "No user data" : "Нет пользовательских данных", - "User not found." : "Пользователь не найден.", "User %s has no email address." : "Не указан адрес электронной почты пользователя %s", "Email required" : "Требуется указать электронную почту", "Invalid email" : "Недопустимый адрес электронной почты", @@ -59,7 +62,6 @@ OC.L10N.register( "No signature was requested to %s" : "Нет обязательных подписей для %s", "%s already signed this file" : "%s уже подписал этот файл", "Invalid UUID file" : "Недопустимый UUID файла", - "Invalid UUID" : "Недопустимый UUID", "Signer not associated to this file" : "Подписавшая сторона не ассоциирована с этим файлом", "A file of this type has been associated." : "Файл этого типа был ассоциирован.", "File already signed." : "Файл уже подписан", @@ -77,7 +79,7 @@ OC.L10N.register( "Invalid URL file" : "Неверный адрес файла", "Visible element file must be png." : "Файл видимого элемента должен быть в формате png.", "Empty file" : "Пустой файл", - "Invalid data to validate file" : "Недопустимые данные для проверки файла", + "File is too big" : "Файл слишком большой", "Invalid file identifier" : "Недопустимый идентификатор файла", "You need to sign this document" : "Вам необходимо подписать этот документ", "You cannot request signature for this document, please contact your administrator" : "Вы не можете запросить подпись для этого документа, пожалуйста, свяжитесь с вашим администратором", @@ -91,7 +93,6 @@ OC.L10N.register( "Email" : "Электронная почта", "User already exists" : "Пользователь уже существует", "This is not your file" : "Этот файл не ваш", - "Password" : "Пароль", "Invalid password" : "Неверный пароль", "LibreSign: Changes into a file for you to sign" : "LibreSign: изменения в файл для подписи", "File to sign" : "Файл для подписания", @@ -115,6 +116,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "Приложение для работы с цифровыми подписями для Nextcloud.", "Authentication required" : "Требуется аутентификация ", "This action requires you to confirm your password" : "Это действие требует подтверждения паролем", + "Password" : "Пароль", "Confirm" : "Подтвердить", "Incorrect password!" : "Неверный пароль.", "Text" : "Текст", @@ -145,9 +147,9 @@ OC.L10N.register( "Account not exist" : "Учётная запись не существует", "Sign" : "Знак", "Details" : "Свойства", - "Password & Security" : "Пароль и безопасность", - "Create password key" : "Создать пароль ключа", - "Reset password" : "Сбросить пароль", + "Certificate" : "Сертификат", + "Delete certificate" : "Удалить сертификат", + "Change password" : "Сменить пароль", "Select a file" : "Выберите файл", "Type" : "Тип", "Status" : "Состояние", @@ -162,7 +164,6 @@ OC.L10N.register( "Password Creation" : "Создание пароля", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "В целях безопасности необходимо создать пароль для подписи документов. Введите новый пароль в поле ниже.", "Enter a password" : "Введите пароль", - "New password to sign documents has been created" : "Создан новый пароль для подписи документов", "Error creating new password, please contact the administrator" : "Ошибка при создании нового пароля, обратитесь к администратору", "Create new subscription." : "Создать новую подписку.", "Root certificate has not been configured by the Administrator!" : "Корневой сертификат не был настроен администратором!", @@ -189,12 +190,11 @@ OC.L10N.register( "Request Signatures" : "Запросить подписи", "Choose the file to request signatures." : "Выберите файл для запроса подписи.", "Choose from Files" : "Выбрать в приложении Файлы", - "Enter the emails that will receive the request" : "Введите адреса электронной почты для отправки запроса", - "Signatures for this document have already been requested" : "Подписи для этого документа уже запрошены", - "Add users" : "Добавить пользователей", + "Send" : "Отправить", "Select your file" : "Выберите свой файл", "Password reset" : "Сброс пароля", "Enter new password and then repeat it" : "Введите новый пароль, а затем повторите ввод", + "Current password" : "Текущий пароль", "New password" : "Новый пароль", "Repeat password" : "Повторите пароль", "Message" : "Сообщение", @@ -210,9 +210,7 @@ OC.L10N.register( "CFSSL API URI" : "CFSSL API URI", "Config path" : "Путь конфигурации", "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Повторное создание корневого сертификата приведет к аннулированию всех ключей подписей. Вы подтверждаете это действие?", - "Root certificate data." : "Данные корневого сертификата.", "To generate new signatures, you must first generate the root certificate." : "Чтобы сгенерировать новые подписи, вы должны сначала сгенерировать корневой сертификат.", - "Generate root certificate." : "Сгенерировать корневой сертификат.", "Generating certificate." : "Генерация сертификата.", "Could not generate certificate." : "Не удалось создать сертификат", "Generated certificate!" : "Сгенерированный сертификат!", @@ -239,8 +237,15 @@ OC.L10N.register( "Remove duplicated users, email address need to be unique" : "Удалите дублирующихся пользователей, адрес электронной почты должен быть уникальным", "Validate File" : "Проверить файл", "Are you sure you want to exclude user {email} from the request?" : "Вы уверены, что хотите исключить пользователя {email} из запроса?", + "Password & Security" : "Пароль и безопасность", + "Create password key" : "Создать пароль ключа", + "Reset password" : "Сбросить пароль", "Validate Document" : "Проверка документа", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Бинарники, необходимые для работы. Может быть около 340 МБ для загрузки, подождите минутку.", + "Enter the emails that will receive the request" : "Введите адреса электронной почты для отправки запроса", + "Signatures for this document have already been requested" : "Подписи для этого документа уже запрошены", + "Add users" : "Добавить пользователей", + "Root certificate data." : "Данные корневого сертификата.", + "Generate root certificate." : "Сгенерировать корневой сертификат.", "Remove" : "Удалить" }, "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/ru.json b/l10n/ru.json index 1cda41502e..8c5b865830 100644 --- a/l10n/ru.json +++ b/l10n/ru.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Недопустимый UUID", "Success" : "Выполнено", "Invalid user or password" : "Неверное имя пользователя или пароль", "_Element created with success_::_Elements created with success_" : ["Элемент создан успешно","Элементы созданы успешно","Элементы созданы успешно","Элементы созданы успешно"], @@ -7,6 +8,7 @@ "Element updated with success" : "Элемент обновлен успешно", "Visible element deleted" : "Видимый элемент удален", "Settings saved" : "Настройки сохранены", + "New password to sign documents has been created" : "Создан новый пароль для подписи документов", "Name is mandatory" : "Необходимо указать имя", "Notification sent with success." : "Уведомление отправлено успешно", "File signed" : "Файл подписан", @@ -22,9 +24,11 @@ "Invalid Sign engine." : "Неверный движок подписи.", "Digital signed by LibreSign." : "Подписан электронной подписью LibreSign.", "Validate in %s." : "Проверить в %s.", + "Invalid data to validate file" : "Недопустимые данные для проверки файла", "File type: %s. Empty file." : "Тип файла: %s. Пустой файл.", "Elements of type %s need file." : "Тип элемента %s должен быть файлом.", "File type: %s. Invalid fileID." : "Тип файла: %s. Недопустимый идентификатор.", + "User not found." : "Пользователь не найден.", "document to sign" : "документ для подписания", "visible element" : "видимый элемент", "File type: %s. Invalid base64 file." : "Тип файла: %s. Недопустимый файл base64.", @@ -49,7 +53,6 @@ "Sign process already started. Unable to change status." : "Процесс подписания уже начался. Невозможно изменить статус.", "Inform or UUID or a File object" : "Сообщить UUID или файловый объект", "No user data" : "Нет пользовательских данных", - "User not found." : "Пользователь не найден.", "User %s has no email address." : "Не указан адрес электронной почты пользователя %s", "Email required" : "Требуется указать электронную почту", "Invalid email" : "Недопустимый адрес электронной почты", @@ -57,7 +60,6 @@ "No signature was requested to %s" : "Нет обязательных подписей для %s", "%s already signed this file" : "%s уже подписал этот файл", "Invalid UUID file" : "Недопустимый UUID файла", - "Invalid UUID" : "Недопустимый UUID", "Signer not associated to this file" : "Подписавшая сторона не ассоциирована с этим файлом", "A file of this type has been associated." : "Файл этого типа был ассоциирован.", "File already signed." : "Файл уже подписан", @@ -75,7 +77,7 @@ "Invalid URL file" : "Неверный адрес файла", "Visible element file must be png." : "Файл видимого элемента должен быть в формате png.", "Empty file" : "Пустой файл", - "Invalid data to validate file" : "Недопустимые данные для проверки файла", + "File is too big" : "Файл слишком большой", "Invalid file identifier" : "Недопустимый идентификатор файла", "You need to sign this document" : "Вам необходимо подписать этот документ", "You cannot request signature for this document, please contact your administrator" : "Вы не можете запросить подпись для этого документа, пожалуйста, свяжитесь с вашим администратором", @@ -89,7 +91,6 @@ "Email" : "Электронная почта", "User already exists" : "Пользователь уже существует", "This is not your file" : "Этот файл не ваш", - "Password" : "Пароль", "Invalid password" : "Неверный пароль", "LibreSign: Changes into a file for you to sign" : "LibreSign: изменения в файл для подписи", "File to sign" : "Файл для подписания", @@ -113,6 +114,7 @@ "LibreSign, digital signature app for Nextcloud." : "Приложение для работы с цифровыми подписями для Nextcloud.", "Authentication required" : "Требуется аутентификация ", "This action requires you to confirm your password" : "Это действие требует подтверждения паролем", + "Password" : "Пароль", "Confirm" : "Подтвердить", "Incorrect password!" : "Неверный пароль.", "Text" : "Текст", @@ -143,9 +145,9 @@ "Account not exist" : "Учётная запись не существует", "Sign" : "Знак", "Details" : "Свойства", - "Password & Security" : "Пароль и безопасность", - "Create password key" : "Создать пароль ключа", - "Reset password" : "Сбросить пароль", + "Certificate" : "Сертификат", + "Delete certificate" : "Удалить сертификат", + "Change password" : "Сменить пароль", "Select a file" : "Выберите файл", "Type" : "Тип", "Status" : "Состояние", @@ -160,7 +162,6 @@ "Password Creation" : "Создание пароля", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "В целях безопасности необходимо создать пароль для подписи документов. Введите новый пароль в поле ниже.", "Enter a password" : "Введите пароль", - "New password to sign documents has been created" : "Создан новый пароль для подписи документов", "Error creating new password, please contact the administrator" : "Ошибка при создании нового пароля, обратитесь к администратору", "Create new subscription." : "Создать новую подписку.", "Root certificate has not been configured by the Administrator!" : "Корневой сертификат не был настроен администратором!", @@ -187,12 +188,11 @@ "Request Signatures" : "Запросить подписи", "Choose the file to request signatures." : "Выберите файл для запроса подписи.", "Choose from Files" : "Выбрать в приложении Файлы", - "Enter the emails that will receive the request" : "Введите адреса электронной почты для отправки запроса", - "Signatures for this document have already been requested" : "Подписи для этого документа уже запрошены", - "Add users" : "Добавить пользователей", + "Send" : "Отправить", "Select your file" : "Выберите свой файл", "Password reset" : "Сброс пароля", "Enter new password and then repeat it" : "Введите новый пароль, а затем повторите ввод", + "Current password" : "Текущий пароль", "New password" : "Новый пароль", "Repeat password" : "Повторите пароль", "Message" : "Сообщение", @@ -208,9 +208,7 @@ "CFSSL API URI" : "CFSSL API URI", "Config path" : "Путь конфигурации", "Regenerate root certificate will invalidate all signatures keys. Do you confirm this action?" : "Повторное создание корневого сертификата приведет к аннулированию всех ключей подписей. Вы подтверждаете это действие?", - "Root certificate data." : "Данные корневого сертификата.", "To generate new signatures, you must first generate the root certificate." : "Чтобы сгенерировать новые подписи, вы должны сначала сгенерировать корневой сертификат.", - "Generate root certificate." : "Сгенерировать корневой сертификат.", "Generating certificate." : "Генерация сертификата.", "Could not generate certificate." : "Не удалось создать сертификат", "Generated certificate!" : "Сгенерированный сертификат!", @@ -237,8 +235,15 @@ "Remove duplicated users, email address need to be unique" : "Удалите дублирующихся пользователей, адрес электронной почты должен быть уникальным", "Validate File" : "Проверить файл", "Are you sure you want to exclude user {email} from the request?" : "Вы уверены, что хотите исключить пользователя {email} из запроса?", + "Password & Security" : "Пароль и безопасность", + "Create password key" : "Создать пароль ключа", + "Reset password" : "Сбросить пароль", "Validate Document" : "Проверка документа", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Бинарники, необходимые для работы. Может быть около 340 МБ для загрузки, подождите минутку.", + "Enter the emails that will receive the request" : "Введите адреса электронной почты для отправки запроса", + "Signatures for this document have already been requested" : "Подписи для этого документа уже запрошены", + "Add users" : "Добавить пользователей", + "Root certificate data." : "Данные корневого сертификата.", + "Generate root certificate." : "Сгенерировать корневой сертификат.", "Remove" : "Удалить" },"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/sc.js b/l10n/sc.js index bf635b9e8e..1ce53ca5b8 100644 --- a/l10n/sc.js +++ b/l10n/sc.js @@ -1,9 +1,11 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID no bàlidu", "Success" : "In manera curreta", "Invalid user or password" : "Utente o crae non bàlidos", "Settings saved" : "Impostatziones sarvadas", + "New password to sign documents has been created" : "Crae noa pro firmare documentos creada", "Name is mandatory" : "Est pretzisu a pònnere su nùmene", "Notification sent with success." : "Notìficas imbiadas in manera curreta.", "File signed" : "Archìviu firmadu", @@ -23,7 +25,6 @@ OC.L10N.register( "No signature was requested to %s" : "Non s'est fata dimanda pro peruna firma %s", "%s already signed this file" : "%s archìviu giai firmadu", "Invalid UUID file" : "Archìviu UUID non bàlidu", - "Invalid UUID" : "UUID no bàlidu", "Signer not associated to this file" : "Perunu utente assotziadu pro firmare custu archìviu", "A file of this type has been associated." : "S'est assotziadu un'archìviu de custa genia.", "File already signed." : "Custu archìviu est giai firmadu.", @@ -38,6 +39,7 @@ OC.L10N.register( "File already exists" : "S'archìviu b'est giai", "Invalid URL file" : "URL de s'archìviu no est bàlidu", "Empty file" : "Archìviu bòidu", + "File is too big" : "S'archìviu est tropu mannu", "Account" : "Contu", "User already exists. Please login." : "S'utente b'est giai. Intra, pro praghere.", "Invalid user" : "Utente non bàlidu", @@ -45,7 +47,6 @@ OC.L10N.register( "Email" : "Posta eletrònica", "User already exists" : "S'utente b'est giai", "This is not your file" : "Custu no est s'archìviu tuo", - "Password" : "Crae", "Invalid password" : "Crae non bàlida", "LibreSign: Changes into a file for you to sign" : "LIbreSign: Càmbios in intro de un archìviu chi depes firmare", "File to sign" : "Archìviu de firmare", @@ -69,6 +70,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicatzione pro sa firma digitale pro Nextcloud.", "Authentication required" : "Bi cheret s'autenticazione ", "This action requires you to confirm your password" : "Pro fàghere custu tocat chi cunfirmes sa crae tua", + "Password" : "Crae", "Confirm" : "Cunfirma", "Incorrect password!" : "Crae non bàlida!", "Text" : "Testu", @@ -94,9 +96,8 @@ OC.L10N.register( "Account not exist" : "Su contu non b'est", "Sign" : "Firma", "Details" : "Detàllios", - "Password & Security" : "Crae & Seguresa", - "Create password key" : "Crea crae", - "Reset password" : "Reimposta sa crae", + "Certificate" : "Tzertificadu", + "Change password" : "Càmbia crae", "Type" : "Genia", "Status" : "Status", "Actions" : "Atziones", @@ -105,7 +106,6 @@ OC.L10N.register( "Password Creation" : "Creatzione crae", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Pro una chistione de seguresa, depes creare una crae pro firmare is documentos. Pone sa crae tua noa in su campu in suta.", "Enter a password" : "Dìgita una crae noa", - "New password to sign documents has been created" : "Crae noa pro firmare documentos creada", "Error creating new password, please contact the administrator" : "Errore creande sa crae noa, pro praghere, cuntata a s'amministratzione", "Create new subscription." : "Crea una sutaiscritzione noa.", "Root certificate has not been configured by the Administrator!" : "Tzertificadu sorgente non ancora cunfiguradu dae s'amministratzione!", @@ -128,12 +128,10 @@ OC.L10N.register( "Request Signatures" : "Rechede firmas", "Choose the file to request signatures." : "Sèbera s'archìviu pro rechèdere is firmas.", "Choose from Files" : "Sèbera dae Archìvios", - "Enter the emails that will receive the request" : "Pone is indiritzos de posta eletrònica pro retzire sa rechesta", - "Signatures for this document have already been requested" : "Firmas pro custos documentos giai rechertas", - "Add users" : "Agiunghe utentes", "Select your file" : "Seletziona is archìvios tuos", "Password reset" : "Reimposta crae", "Enter new password and then repeat it" : "Pone sa crae noa e a pustis torra·dda a pònnere", + "Current password" : "Crae currente", "New password" : "Crae noa", "Repeat password" : "Torra a pònnere sa crae", "Message" : "Messàgiu", @@ -144,9 +142,7 @@ OC.L10N.register( "Name (CN)" : "Nùmene (CN)", "CFSSL API URI" : "URI API CFSSL", "Config path" : "Percursu config", - "Root certificate data." : "Datos tzertificados sorgente.", "To generate new signatures, you must first generate the root certificate." : "Pro generare firmas noas, pro prima cosa depes generare su tzertificadu sorgente.", - "Generate root certificate." : "Gènera su tzertificadu sorgente.", "Generating certificate." : "Generatzione tzertificadu.", "Could not generate certificate." : "Generatzione tzertificadu faddida.", "Generated certificate!" : "Tzertificadu generadu!", @@ -170,7 +166,15 @@ OC.L10N.register( "Password created!" : "Crae creada!", "Remove duplicated users, email address need to be unique" : "Boga ·nche is utentes dòpios, is indiritzos de posta eletrònica devet èssere ùnicos", "Are you sure you want to exclude user {email} from the request?" : "Ses seguru chi nche cheres lassare in foras s'utente {email} dae sa rechesta?", + "Password & Security" : "Crae & Seguresa", + "Create password key" : "Crea crae", + "Reset password" : "Reimposta sa crae", "Validate Document" : "Bàlida documentu", + "Enter the emails that will receive the request" : "Pone is indiritzos de posta eletrònica pro retzire sa rechesta", + "Signatures for this document have already been requested" : "Firmas pro custos documentos giai rechertas", + "Add users" : "Agiunghe utentes", + "Root certificate data." : "Datos tzertificados sorgente.", + "Generate root certificate." : "Gènera su tzertificadu sorgente.", "Remove" : "Boga" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/sc.json b/l10n/sc.json index ae5949d7d5..fd72c6916a 100644 --- a/l10n/sc.json +++ b/l10n/sc.json @@ -1,7 +1,9 @@ { "translations": { + "Invalid UUID" : "UUID no bàlidu", "Success" : "In manera curreta", "Invalid user or password" : "Utente o crae non bàlidos", "Settings saved" : "Impostatziones sarvadas", + "New password to sign documents has been created" : "Crae noa pro firmare documentos creada", "Name is mandatory" : "Est pretzisu a pònnere su nùmene", "Notification sent with success." : "Notìficas imbiadas in manera curreta.", "File signed" : "Archìviu firmadu", @@ -21,7 +23,6 @@ "No signature was requested to %s" : "Non s'est fata dimanda pro peruna firma %s", "%s already signed this file" : "%s archìviu giai firmadu", "Invalid UUID file" : "Archìviu UUID non bàlidu", - "Invalid UUID" : "UUID no bàlidu", "Signer not associated to this file" : "Perunu utente assotziadu pro firmare custu archìviu", "A file of this type has been associated." : "S'est assotziadu un'archìviu de custa genia.", "File already signed." : "Custu archìviu est giai firmadu.", @@ -36,6 +37,7 @@ "File already exists" : "S'archìviu b'est giai", "Invalid URL file" : "URL de s'archìviu no est bàlidu", "Empty file" : "Archìviu bòidu", + "File is too big" : "S'archìviu est tropu mannu", "Account" : "Contu", "User already exists. Please login." : "S'utente b'est giai. Intra, pro praghere.", "Invalid user" : "Utente non bàlidu", @@ -43,7 +45,6 @@ "Email" : "Posta eletrònica", "User already exists" : "S'utente b'est giai", "This is not your file" : "Custu no est s'archìviu tuo", - "Password" : "Crae", "Invalid password" : "Crae non bàlida", "LibreSign: Changes into a file for you to sign" : "LIbreSign: Càmbios in intro de un archìviu chi depes firmare", "File to sign" : "Archìviu de firmare", @@ -67,6 +68,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplicatzione pro sa firma digitale pro Nextcloud.", "Authentication required" : "Bi cheret s'autenticazione ", "This action requires you to confirm your password" : "Pro fàghere custu tocat chi cunfirmes sa crae tua", + "Password" : "Crae", "Confirm" : "Cunfirma", "Incorrect password!" : "Crae non bàlida!", "Text" : "Testu", @@ -92,9 +94,8 @@ "Account not exist" : "Su contu non b'est", "Sign" : "Firma", "Details" : "Detàllios", - "Password & Security" : "Crae & Seguresa", - "Create password key" : "Crea crae", - "Reset password" : "Reimposta sa crae", + "Certificate" : "Tzertificadu", + "Change password" : "Càmbia crae", "Type" : "Genia", "Status" : "Status", "Actions" : "Atziones", @@ -103,7 +104,6 @@ "Password Creation" : "Creatzione crae", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Pro una chistione de seguresa, depes creare una crae pro firmare is documentos. Pone sa crae tua noa in su campu in suta.", "Enter a password" : "Dìgita una crae noa", - "New password to sign documents has been created" : "Crae noa pro firmare documentos creada", "Error creating new password, please contact the administrator" : "Errore creande sa crae noa, pro praghere, cuntata a s'amministratzione", "Create new subscription." : "Crea una sutaiscritzione noa.", "Root certificate has not been configured by the Administrator!" : "Tzertificadu sorgente non ancora cunfiguradu dae s'amministratzione!", @@ -126,12 +126,10 @@ "Request Signatures" : "Rechede firmas", "Choose the file to request signatures." : "Sèbera s'archìviu pro rechèdere is firmas.", "Choose from Files" : "Sèbera dae Archìvios", - "Enter the emails that will receive the request" : "Pone is indiritzos de posta eletrònica pro retzire sa rechesta", - "Signatures for this document have already been requested" : "Firmas pro custos documentos giai rechertas", - "Add users" : "Agiunghe utentes", "Select your file" : "Seletziona is archìvios tuos", "Password reset" : "Reimposta crae", "Enter new password and then repeat it" : "Pone sa crae noa e a pustis torra·dda a pònnere", + "Current password" : "Crae currente", "New password" : "Crae noa", "Repeat password" : "Torra a pònnere sa crae", "Message" : "Messàgiu", @@ -142,9 +140,7 @@ "Name (CN)" : "Nùmene (CN)", "CFSSL API URI" : "URI API CFSSL", "Config path" : "Percursu config", - "Root certificate data." : "Datos tzertificados sorgente.", "To generate new signatures, you must first generate the root certificate." : "Pro generare firmas noas, pro prima cosa depes generare su tzertificadu sorgente.", - "Generate root certificate." : "Gènera su tzertificadu sorgente.", "Generating certificate." : "Generatzione tzertificadu.", "Could not generate certificate." : "Generatzione tzertificadu faddida.", "Generated certificate!" : "Tzertificadu generadu!", @@ -168,7 +164,15 @@ "Password created!" : "Crae creada!", "Remove duplicated users, email address need to be unique" : "Boga ·nche is utentes dòpios, is indiritzos de posta eletrònica devet èssere ùnicos", "Are you sure you want to exclude user {email} from the request?" : "Ses seguru chi nche cheres lassare in foras s'utente {email} dae sa rechesta?", + "Password & Security" : "Crae & Seguresa", + "Create password key" : "Crea crae", + "Reset password" : "Reimposta sa crae", "Validate Document" : "Bàlida documentu", + "Enter the emails that will receive the request" : "Pone is indiritzos de posta eletrònica pro retzire sa rechesta", + "Signatures for this document have already been requested" : "Firmas pro custos documentos giai rechertas", + "Add users" : "Agiunghe utentes", + "Root certificate data." : "Datos tzertificados sorgente.", + "Generate root certificate." : "Gènera su tzertificadu sorgente.", "Remove" : "Boga" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/si.js b/l10n/si.js index f241ddb1cc..fd626ff941 100644 --- a/l10n/si.js +++ b/l10n/si.js @@ -5,11 +5,12 @@ OC.L10N.register( "File not found" : "ගොනුව හමු නොවිණි", "File already exists" : "ගොනුව දැනටමත් පවතී", "Empty file" : "හිස් ගොනුවකි", + "File is too big" : "ගොනුව ඉතා විශාලයි", "Account" : "ගිණුම", "Email" : "විද්‍යුත් තැපෑල", - "Password" : "මුර පදය", "Files" : "ගොනු", "Settings" : "සැකසුම්", + "Password" : "මුර පදය", "Confirm" : "තහවුරු කරන්න", "Upload" : "උඩුගත", "Cancel" : "අවලංගු කරන්න", @@ -22,10 +23,13 @@ OC.L10N.register( "Next" : "ඊළඟ", "Previous" : "පෙර", "Details" : "විස්තර", + "Certificate" : "සහතිකය", + "Change password" : "මුරපදය වෙනස් කරන්න", "Actions" : "ක්‍රියාමාර්ග", "Signature" : "අත්සන", "Yes" : "ඔව්", "No" : "නැහැ", + "Send" : "යවන්න", "New password" : "නව මුරපදය", "Message" : "පණිවිඩය", "Loading …" : "පූරණය වෙමින් …", diff --git a/l10n/si.json b/l10n/si.json index fd3359379e..3ef133083d 100644 --- a/l10n/si.json +++ b/l10n/si.json @@ -3,11 +3,12 @@ "File not found" : "ගොනුව හමු නොවිණි", "File already exists" : "ගොනුව දැනටමත් පවතී", "Empty file" : "හිස් ගොනුවකි", + "File is too big" : "ගොනුව ඉතා විශාලයි", "Account" : "ගිණුම", "Email" : "විද්‍යුත් තැපෑල", - "Password" : "මුර පදය", "Files" : "ගොනු", "Settings" : "සැකසුම්", + "Password" : "මුර පදය", "Confirm" : "තහවුරු කරන්න", "Upload" : "උඩුගත", "Cancel" : "අවලංගු කරන්න", @@ -20,10 +21,13 @@ "Next" : "ඊළඟ", "Previous" : "පෙර", "Details" : "විස්තර", + "Certificate" : "සහතිකය", + "Change password" : "මුරපදය වෙනස් කරන්න", "Actions" : "ක්‍රියාමාර්ග", "Signature" : "අත්සන", "Yes" : "ඔව්", "No" : "නැහැ", + "Send" : "යවන්න", "New password" : "නව මුරපදය", "Message" : "පණිවිඩය", "Loading …" : "පූරණය වෙමින් …", diff --git a/l10n/sk.js b/l10n/sk.js index 933ab63370..2a61bce0b4 100644 --- a/l10n/sk.js +++ b/l10n/sk.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Neplatné UUID", "Success" : "Úspešné", "Invalid user or password" : "Neplatný používateľ alebo heslo", "_Element created with success_::_Elements created with success_" : ["Prvok bol úspešne vytvorený","Prvkov bolo úspešne vytvorených","Prvkov bolo úspešne vytvorených","Prvky boli úspešne vytvorené"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Prvok bol úspešne aktualizovaný", "Visible element deleted" : "Viditeľný prvok bol vymazaný", "Settings saved" : "Nastavenia uložené", + "New password to sign documents has been created" : "Bolo vytvorené nové heslo pre podpisovanie dokumentov", "Name is mandatory" : "Názov je povinný", "Notification sent with success." : "Oznámenie bolo úspešne odoslané.", "File signed" : "Podpísaný súbor", @@ -26,9 +28,11 @@ OC.L10N.register( "Invalid Sign engine." : "Neplatný podpisový nástroj.", "Digital signed by LibreSign." : "Digitálne podpísané od LibreSign.", "Validate in %s." : "Overiť v %s", + "Invalid data to validate file" : "Neplatné dáta pre overenie súboru", "File type: %s. Empty file." : "Typ súboru: %s. Prázdny súbor.", "Elements of type %s need file." : "Prvok typu %s potrebuje súbor.", "File type: %s. Invalid fileID." : "Typ súboru: %s. Neplatné fileID.", + "User not found." : "Užívateľ nenájdený", "document to sign" : "dokument na podpis", "visible element" : "viditeľný prvok", "File type: %s. Invalid base64 file." : "Typ súboru: %s. Neplatný base64 súbor.", @@ -55,7 +59,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Proces prihlásenia sa už začal. Stav sa nedá zmeniť.", "Inform or UUID or a File object" : "Inform alebo UUID alebo Objekt súboru", "No user data" : "Žiadne užívateľské dáta", - "User not found." : "Užívateľ nenájdený", "User %s has no email address." : "Užívateľ %s nemá e-mail adresu.", "Email required" : "E-mail je povinný", "Invalid email" : "Neplatný email", @@ -63,7 +66,6 @@ OC.L10N.register( "No signature was requested to %s" : "Nebol vyžiadaný žiadny podpis pre %s", "%s already signed this file" : "%s už tento súbor podpísal", "Invalid UUID file" : "Neplatný súbor UUID", - "Invalid UUID" : "Neplatné UUID", "Signer not associated to this file" : "Podpisovateľ nie je priradený k tomuto súboru", "A file of this type has been associated." : "Súbor tohto typu bol priradený.", "File already signed." : "Súbor už je podpísaný.", @@ -81,7 +83,7 @@ OC.L10N.register( "Invalid URL file" : "Neplatný súbor URL", "Visible element file must be png." : "Súbor viditeľného prvku musí byť png.", "Empty file" : "Prázdny súbor", - "Invalid data to validate file" : "Neplatné dáta pre overenie súboru", + "File is too big" : "Súbor je príliš veľký", "Invalid file identifier" : "Neplatný identifikátor súboru", "You need to sign this document" : "Tento dokument musíte podpísať", "You cannot request signature for this document, please contact your administrator" : "Pre tento dokument nemôžete žiadať podpis, kontaktujte svojho správcu", @@ -95,7 +97,6 @@ OC.L10N.register( "Email" : "Email", "User already exists" : "Používateľ už existuje", "This is not your file" : "Toto nie je váš súbor", - "Password" : "Heslo", "Invalid password" : "Neplatné heslo", "LibreSign: Changes into a file for you to sign" : "LibreSign: Zmeny v súbore k vašemu podpísaniu", "File to sign" : "Súbor k podpisu", @@ -128,6 +129,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplikácia pre digitálny podpis pre Nextcloud.", "Authentication required" : "Vyžaduje sa overenie", "This action requires you to confirm your password" : "Táto akcia vyžaduje potvrdenie vášho hesla", + "Password" : "Heslo", "Confirm" : "Potvrdiť", "Incorrect password!" : "Nesprávne heslo!", "Text" : "Text", @@ -164,9 +166,8 @@ OC.L10N.register( "Request signatures?" : "Vyžiadať podpisy?", "Element created" : "Prvok vytvorený", "Details" : "Podrobnosti", - "Password & Security" : "Heslo a Bezpečnosť", - "Create password key" : "Vytvoriť kľúč hesla", - "Reset password" : "Obnovenie hesla", + "Certificate" : "Certifikát", + "Change password" : "Zmeniť heslo", "Not sent yet" : "Zatiaľ neodoslané", "Not defined yet" : "Zatiaľ nie je definované", "Select a file" : "Vybrať súbor", @@ -187,7 +188,6 @@ OC.L10N.register( "Password Creation" : "Vytváranie hesla", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Z bezpečnostných dôvodov musíte na podpísanie dokumentov vytvoriť heslo. Do poľa nižšie zadajte svoje nové heslo.", "Enter a password" : "Zadajte heslo", - "New password to sign documents has been created" : "Bolo vytvorené nové heslo pre podpisovanie dokumentov", "Error creating new password, please contact the administrator" : "Chyba pri vytváraní nového hesla, prosím kontaktujte administrátora", "Create new subscription." : "Vytvoriť nový odber.", "Root certificate has not been configured by the Administrator!" : "Koreňový certifikát nebol nastavený Administrátorom!", @@ -214,16 +214,16 @@ OC.L10N.register( "Request Signatures" : "Vyžiadať podpisy", "Choose the file to request signatures." : "Vyberte súbor pre podpísanie.", "Choose from Files" : "Vybrať zo Súborov", - "Enter the emails that will receive the request" : "Zadajte e -maily, na ktoré bude žiadosť odoslaná", - "Signatures for this document have already been requested" : "Podpisy pre tento dokument už boli vyžiadané", - "Add users" : "Pridať užívateľov", + "Send" : "Odoslať", "Select your file" : "Vyberte váš súbor", "Password reset" : "Obnovenie hesla", "Enter new password and then repeat it" : "Zadajte nové heslo a potom ho zopakujte", + "Current password" : "Aktuálne heslo", "New password" : "Nové heslo", "Repeat password" : "Zopakujte heslo", "Message" : "Správa", "Resource" : "Zdroj", + "Tip" : "Tip", "Configuration check" : "Kontrola konfigurácie", "Status of setup" : "Stav nastavenia", "Dependencies" : "Závislosti", @@ -238,9 +238,7 @@ OC.L10N.register( "Name (CN)" : "Názov (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "Cesta ku konfigurácii", - "Root certificate data." : "Dáta koreňového certifikátu", "To generate new signatures, you must first generate the root certificate." : "Pre vygenerovanie nových podpisov naprv musíte vygenerovať koreňový certifikát.", - "Generate root certificate." : "Vygenerovať koreňový certifikát.", "Generating certificate." : "Vygenerovať certifikát.", "Could not generate certificate." : "Nepodarilo sa vygenerovať certifikát.", "Generated certificate!" : "Vygenerovaný certifikát!", @@ -286,9 +284,16 @@ OC.L10N.register( "Validate File" : "Overiť súbor", "Add visible signatures" : "Pridať viditeľné podpisy", "Are you sure you want to exclude user {email} from the request?" : "Ste si istý že chcete vylúčiť užívateľa {email} zo žiadosti?", + "Password & Security" : "Heslo a Bezpečnosť", + "Create password key" : "Vytvoriť kľúč hesla", + "Reset password" : "Obnovenie hesla", "Validate Document" : "Overiť Dokument", "Do you want to configure visible elements in this document?" : "Chcete v tomto dokumente nakonfigurovať viditeľné prvky?", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Pre správne fungovanie sú potrebné binárne súbory. Na stiahnutie môže byť približne 340 Mb, počkajte chvíľu.", + "Enter the emails that will receive the request" : "Zadajte e -maily, na ktoré bude žiadosť odoslaná", + "Signatures for this document have already been requested" : "Podpisy pre tento dokument už boli vyžiadané", + "Add users" : "Pridať užívateľov", + "Root certificate data." : "Dáta koreňového certifikátu", + "Generate root certificate." : "Vygenerovať koreňový certifikát.", "Remove" : "Odobrať" }, "nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/l10n/sk.json b/l10n/sk.json index bbed248c0a..b88372af95 100644 --- a/l10n/sk.json +++ b/l10n/sk.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Neplatné UUID", "Success" : "Úspešné", "Invalid user or password" : "Neplatný používateľ alebo heslo", "_Element created with success_::_Elements created with success_" : ["Prvok bol úspešne vytvorený","Prvkov bolo úspešne vytvorených","Prvkov bolo úspešne vytvorených","Prvky boli úspešne vytvorené"], @@ -7,6 +8,7 @@ "Element updated with success" : "Prvok bol úspešne aktualizovaný", "Visible element deleted" : "Viditeľný prvok bol vymazaný", "Settings saved" : "Nastavenia uložené", + "New password to sign documents has been created" : "Bolo vytvorené nové heslo pre podpisovanie dokumentov", "Name is mandatory" : "Názov je povinný", "Notification sent with success." : "Oznámenie bolo úspešne odoslané.", "File signed" : "Podpísaný súbor", @@ -24,9 +26,11 @@ "Invalid Sign engine." : "Neplatný podpisový nástroj.", "Digital signed by LibreSign." : "Digitálne podpísané od LibreSign.", "Validate in %s." : "Overiť v %s", + "Invalid data to validate file" : "Neplatné dáta pre overenie súboru", "File type: %s. Empty file." : "Typ súboru: %s. Prázdny súbor.", "Elements of type %s need file." : "Prvok typu %s potrebuje súbor.", "File type: %s. Invalid fileID." : "Typ súboru: %s. Neplatné fileID.", + "User not found." : "Užívateľ nenájdený", "document to sign" : "dokument na podpis", "visible element" : "viditeľný prvok", "File type: %s. Invalid base64 file." : "Typ súboru: %s. Neplatný base64 súbor.", @@ -53,7 +57,6 @@ "Sign process already started. Unable to change status." : "Proces prihlásenia sa už začal. Stav sa nedá zmeniť.", "Inform or UUID or a File object" : "Inform alebo UUID alebo Objekt súboru", "No user data" : "Žiadne užívateľské dáta", - "User not found." : "Užívateľ nenájdený", "User %s has no email address." : "Užívateľ %s nemá e-mail adresu.", "Email required" : "E-mail je povinný", "Invalid email" : "Neplatný email", @@ -61,7 +64,6 @@ "No signature was requested to %s" : "Nebol vyžiadaný žiadny podpis pre %s", "%s already signed this file" : "%s už tento súbor podpísal", "Invalid UUID file" : "Neplatný súbor UUID", - "Invalid UUID" : "Neplatné UUID", "Signer not associated to this file" : "Podpisovateľ nie je priradený k tomuto súboru", "A file of this type has been associated." : "Súbor tohto typu bol priradený.", "File already signed." : "Súbor už je podpísaný.", @@ -79,7 +81,7 @@ "Invalid URL file" : "Neplatný súbor URL", "Visible element file must be png." : "Súbor viditeľného prvku musí byť png.", "Empty file" : "Prázdny súbor", - "Invalid data to validate file" : "Neplatné dáta pre overenie súboru", + "File is too big" : "Súbor je príliš veľký", "Invalid file identifier" : "Neplatný identifikátor súboru", "You need to sign this document" : "Tento dokument musíte podpísať", "You cannot request signature for this document, please contact your administrator" : "Pre tento dokument nemôžete žiadať podpis, kontaktujte svojho správcu", @@ -93,7 +95,6 @@ "Email" : "Email", "User already exists" : "Používateľ už existuje", "This is not your file" : "Toto nie je váš súbor", - "Password" : "Heslo", "Invalid password" : "Neplatné heslo", "LibreSign: Changes into a file for you to sign" : "LibreSign: Zmeny v súbore k vašemu podpísaniu", "File to sign" : "Súbor k podpisu", @@ -126,6 +127,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, aplikácia pre digitálny podpis pre Nextcloud.", "Authentication required" : "Vyžaduje sa overenie", "This action requires you to confirm your password" : "Táto akcia vyžaduje potvrdenie vášho hesla", + "Password" : "Heslo", "Confirm" : "Potvrdiť", "Incorrect password!" : "Nesprávne heslo!", "Text" : "Text", @@ -162,9 +164,8 @@ "Request signatures?" : "Vyžiadať podpisy?", "Element created" : "Prvok vytvorený", "Details" : "Podrobnosti", - "Password & Security" : "Heslo a Bezpečnosť", - "Create password key" : "Vytvoriť kľúč hesla", - "Reset password" : "Obnovenie hesla", + "Certificate" : "Certifikát", + "Change password" : "Zmeniť heslo", "Not sent yet" : "Zatiaľ neodoslané", "Not defined yet" : "Zatiaľ nie je definované", "Select a file" : "Vybrať súbor", @@ -185,7 +186,6 @@ "Password Creation" : "Vytváranie hesla", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Z bezpečnostných dôvodov musíte na podpísanie dokumentov vytvoriť heslo. Do poľa nižšie zadajte svoje nové heslo.", "Enter a password" : "Zadajte heslo", - "New password to sign documents has been created" : "Bolo vytvorené nové heslo pre podpisovanie dokumentov", "Error creating new password, please contact the administrator" : "Chyba pri vytváraní nového hesla, prosím kontaktujte administrátora", "Create new subscription." : "Vytvoriť nový odber.", "Root certificate has not been configured by the Administrator!" : "Koreňový certifikát nebol nastavený Administrátorom!", @@ -212,16 +212,16 @@ "Request Signatures" : "Vyžiadať podpisy", "Choose the file to request signatures." : "Vyberte súbor pre podpísanie.", "Choose from Files" : "Vybrať zo Súborov", - "Enter the emails that will receive the request" : "Zadajte e -maily, na ktoré bude žiadosť odoslaná", - "Signatures for this document have already been requested" : "Podpisy pre tento dokument už boli vyžiadané", - "Add users" : "Pridať užívateľov", + "Send" : "Odoslať", "Select your file" : "Vyberte váš súbor", "Password reset" : "Obnovenie hesla", "Enter new password and then repeat it" : "Zadajte nové heslo a potom ho zopakujte", + "Current password" : "Aktuálne heslo", "New password" : "Nové heslo", "Repeat password" : "Zopakujte heslo", "Message" : "Správa", "Resource" : "Zdroj", + "Tip" : "Tip", "Configuration check" : "Kontrola konfigurácie", "Status of setup" : "Stav nastavenia", "Dependencies" : "Závislosti", @@ -236,9 +236,7 @@ "Name (CN)" : "Názov (CN)", "CFSSL API URI" : "CFSSL API URI", "Config path" : "Cesta ku konfigurácii", - "Root certificate data." : "Dáta koreňového certifikátu", "To generate new signatures, you must first generate the root certificate." : "Pre vygenerovanie nových podpisov naprv musíte vygenerovať koreňový certifikát.", - "Generate root certificate." : "Vygenerovať koreňový certifikát.", "Generating certificate." : "Vygenerovať certifikát.", "Could not generate certificate." : "Nepodarilo sa vygenerovať certifikát.", "Generated certificate!" : "Vygenerovaný certifikát!", @@ -284,9 +282,16 @@ "Validate File" : "Overiť súbor", "Add visible signatures" : "Pridať viditeľné podpisy", "Are you sure you want to exclude user {email} from the request?" : "Ste si istý že chcete vylúčiť užívateľa {email} zo žiadosti?", + "Password & Security" : "Heslo a Bezpečnosť", + "Create password key" : "Vytvoriť kľúč hesla", + "Reset password" : "Obnovenie hesla", "Validate Document" : "Overiť Dokument", "Do you want to configure visible elements in this document?" : "Chcete v tomto dokumente nakonfigurovať viditeľné prvky?", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Pre správne fungovanie sú potrebné binárne súbory. Na stiahnutie môže byť približne 340 Mb, počkajte chvíľu.", + "Enter the emails that will receive the request" : "Zadajte e -maily, na ktoré bude žiadosť odoslaná", + "Signatures for this document have already been requested" : "Podpisy pre tento dokument už boli vyžiadané", + "Add users" : "Pridať užívateľov", + "Root certificate data." : "Dáta koreňového certifikátu", + "Generate root certificate." : "Vygenerovať koreňový certifikát.", "Remove" : "Odobrať" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" } \ No newline at end of file diff --git a/l10n/sl.js b/l10n/sl.js index 0400417277..c29f899d7c 100644 --- a/l10n/sl.js +++ b/l10n/sl.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Neveljaven UUID", "Success" : "Uspešno končano", "Invalid user or password" : "Neveljaven uporabnik oziroma napačno geslo", "_Element created with success_::_Elements created with success_" : ["Predmet je uspešno ustvarjen.","Predmeta sta uspešno ustvarjena.","Predmeti so uspešno ustvarjeni.","Predmeti so uspešno ustvarjeni."], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "Predmet je uspešno posodobljen.", "Visible element deleted" : "Vidni predmet je izbrisan.", "Settings saved" : "Nastavitve so shranjene", + "New password to sign documents has been created" : "Novo geslo za podpisovanje dokumentov je uspešno ustvarjeno.", "Name is mandatory" : "Ime je obvezno", "Notification sent with success." : "Obvestilo je uspešno poslano.", "File signed" : "Datoteka je podpisana", @@ -25,9 +27,11 @@ OC.L10N.register( "Password to sign not defined. Create a password to sign." : "Geslo za podpis ni določeno. Najprej ga je treba ustvariti.", "Invalid Sign engine." : "Neveljaven programnik za podpisovanje.", "Digital signed by LibreSign." : "Digitalno podpisano z LibreSign.", + "Invalid data to validate file" : "Neveljavni podatki za določanje veljavnosti datoteke", "File type: %s. Empty file." : "Vrsta datoteke: %s. Prazna datoteka.", "Elements of type %s need file." : "Predmeti vrste %s zahtevajo datoteko.", "File type: %s. Invalid fileID." : "Vrsta datoteke: %s. Neveljaven ID datoteke.", + "User not found." : "Uporabnika ni mogoče najti.", "document to sign" : "dokument za podpis", "visible element" : "vidni znak", "File type: %s. Invalid base64 file." : "Vrsta datoteke: %s. Neveljavna datoteka base64.", @@ -53,7 +57,6 @@ OC.L10N.register( "Invalid status code for file." : "Neveljavna koda stanja datoteke.", "Sign process already started. Unable to change status." : "Postopek podpisovanja je že v teku. Stanja ni mogoče spremeniti.", "No user data" : "Ni uporabniških podatkov", - "User not found." : "Uporabnika ni mogoče najti.", "User %s has no email address." : "Uporabnik %s nima navedenega elektronskega naslova.", "Email required" : "Zahtevan je elektronski naslov", "Invalid email" : "Neveljaven elektronski naslov", @@ -61,7 +64,6 @@ OC.L10N.register( "No signature was requested to %s" : "Za %s podpisovanje ni bilo zahtevano", "%s already signed this file" : "Oseba %s je že podpisala datoteko", "Invalid UUID file" : "Neveljavna datoteka UUID", - "Invalid UUID" : "Neveljaven UUID", "Signer not associated to this file" : "Podpisnik ni povezan s to datoteko.", "File already signed." : "Datoteka je že podpisana.", "Invalid identification method" : "Neveljaven način istovetenja", @@ -79,7 +81,7 @@ OC.L10N.register( "Invalid URL file" : "Neveljavna datoteka naslova URL", "Visible element file must be png." : "Datoteka vidnega predmeta mora biti v zapisu PNG.", "Empty file" : "Prazna datoteka", - "Invalid data to validate file" : "Neveljavni podatki za določanje veljavnosti datoteke", + "File is too big" : "Datoteka je prevelika", "Invalid file identifier" : "Neveljavno določilo datoteke.", "You need to sign this document" : "Ta dokument je treba podpisati", "You cannot request signature for this document, please contact your administrator" : "Za ta dokument ni mogoče zahtevati podpisa. Stopite v stik s skrbnikom sistema.", @@ -93,7 +95,6 @@ OC.L10N.register( "Email" : "Elektronski naslov", "User already exists" : "Uporabnik že obstaja", "This is not your file" : "To ni vaša datoteka", - "Password" : "Geslo", "Invalid password" : "Neveljavno geslo", "LibreSign: Changes into a file for you to sign" : "LibreSign: spremembe v datoteki za podpisovanje", "File to sign" : "Datoteka za podpis", @@ -123,6 +124,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign – digitalno podpisovanje datotek v okolju Nextcloud", "Authentication required" : "Zahtevana je overitev", "This action requires you to confirm your password" : "Opravilo zahteva potrditev z vpisom skrbniškega gesla.", + "Password" : "Geslo", "Confirm" : "Potrdi", "Incorrect password!" : "Neveljavno geslo!", "Text" : "Besedilo", @@ -157,9 +159,8 @@ OC.L10N.register( "Sign" : "Podpiši", "Element created" : "Predmet je ustvarjen.", "Details" : "Podrobnosti", - "Password & Security" : "Geslo in varnost", - "Create password key" : "Ustvari ključ gesla", - "Reset password" : "Ponastavi geslo", + "Certificate" : "Potrdilo", + "Delete certificate" : "Izbriši potrdilo", "Not sent yet" : "Še ni poslano", "Not defined yet" : "Še ni določeno", "Select a file" : "Izbor datotek", @@ -180,7 +181,6 @@ OC.L10N.register( "Password Creation" : "Ustvarjanje gesla", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Iz varnostnih razlogov je treba ustvariti geslo za podpisovanje dokumentov. V spodnje polje je treba vpisati novo geslo.", "Enter a password" : "Vpis gesla", - "New password to sign documents has been created" : "Novo geslo za podpisovanje dokumentov je uspešno ustvarjeno.", "Error creating new password, please contact the administrator" : "Med ustvarjanjem novo geslo za podpisovanje dokumentov je prišlo do napake.", "Create new subscription." : "Ustvari novo naročnino.", "Root certificate has not been configured by the Administrator!" : "Ni nastavljenega skrbniškega korenskega potrdila!", @@ -206,12 +206,11 @@ OC.L10N.register( "Could not create signature." : "Ni mogoče ustvariti podpisa.", "Request Signatures" : "Zahtevaj podpise", "Choose from Files" : "Izbor iz oblaka", - "Enter the emails that will receive the request" : "Vpišite elektronske naslove, na katere bo poslana zahteva", - "Signatures for this document have already been requested" : "Zahteva za podpisovanje tega dokumenta je že začeta.", - "Add users" : "Dodaj uporabnike", + "Send" : "Pošlji", "Select your file" : "Izbor datoteke", "Password reset" : "Ponastavitev gesla", "Enter new password and then repeat it" : "Vpišite geslo in ga nato spodaj ponovite", + "Current password" : "Trenutno geslo", "New password" : "Novo geslo", "Repeat password" : "Ponovi geslo", "Optional attributes" : "Izbirni atributi", @@ -219,7 +218,6 @@ OC.L10N.register( "Remove custom name entry from root certificate" : "Odstrani ime korenskega potrdila po meri", "Message" : "Sporočilo", "Resource" : "Vir", - "Advice" : "Nasvet", "Configuration check" : "Preverjanje nastavitev", "Status of setup" : "Stanje nastavitve", "Customize default user folder" : "Prilagodi privzeto mapo uporabnika", @@ -240,9 +238,8 @@ OC.L10N.register( "CFSSL API URI" : "Naslov URI vmesnika API CFSSL", "Config path" : "Pot nastavitev", "Regenerate root certificate" : "Ponovno ustvari korensko potrdilo", - "Root certificate data." : "Nabor podatkov korenskega potrdila.", "To generate new signatures, you must first generate the root certificate." : "Za ustvarjanje podpisov je treba najprej ustvariti korensko potrdilo.", - "Generate root certificate." : "Ustvari korensko potrdilo.", + "Generate root certificate" : "Ustvari korensko potrdilo", "Generating certificate." : "Ustvarjanje potrdila", "Could not generate certificate." : "Potrdila ni mogoče ustvariti.", "Generated certificate!" : "Korensko potrdilo je ustvarjeno!", @@ -287,10 +284,17 @@ OC.L10N.register( "Validate File" : "Overi datoteko", "Add visible signatures" : "Dodaj vidne podpise", "Are you sure you want to exclude user {email} from the request?" : "Ali ste prepričani, da želite izločiti uporabnika z elektronskim naslovom {email} iz zahteve?", + "Password & Security" : "Geslo in varnost", + "Create password key" : "Ustvari ključ gesla", + "Reset password" : "Ponastavi geslo", "Validate Document" : "Overi dokument", - "Collect signers metadata" : "Zberi metapodatke podpisnikov", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Programske datoteke, nujne za delovanje, zasedejo okoli 340 MB prostora, zato je postopek namestitve lahko dolgotrajen.", + "Enter the emails that will receive the request" : "Vpišite elektronske naslove, na katere bo poslana zahteva", + "Signatures for this document have already been requested" : "Zahteva za podpisovanje tega dokumenta je že začeta.", + "Add users" : "Dodaj uporabnike", + "Advice" : "Nasvet", "Define custom values to use CFSSL" : "Določilo vrednosti po meri za uporabo protokola CFSSL", + "Root certificate data." : "Nabor podatkov korenskega potrdila.", + "Generate root certificate." : "Ustvari korensko potrdilo.", "Remove" : "Odstrani" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/l10n/sl.json b/l10n/sl.json index c79d6da5fc..8d3bfdaaea 100644 --- a/l10n/sl.json +++ b/l10n/sl.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Neveljaven UUID", "Success" : "Uspešno končano", "Invalid user or password" : "Neveljaven uporabnik oziroma napačno geslo", "_Element created with success_::_Elements created with success_" : ["Predmet je uspešno ustvarjen.","Predmeta sta uspešno ustvarjena.","Predmeti so uspešno ustvarjeni.","Predmeti so uspešno ustvarjeni."], @@ -7,6 +8,7 @@ "Element updated with success" : "Predmet je uspešno posodobljen.", "Visible element deleted" : "Vidni predmet je izbrisan.", "Settings saved" : "Nastavitve so shranjene", + "New password to sign documents has been created" : "Novo geslo za podpisovanje dokumentov je uspešno ustvarjeno.", "Name is mandatory" : "Ime je obvezno", "Notification sent with success." : "Obvestilo je uspešno poslano.", "File signed" : "Datoteka je podpisana", @@ -23,9 +25,11 @@ "Password to sign not defined. Create a password to sign." : "Geslo za podpis ni določeno. Najprej ga je treba ustvariti.", "Invalid Sign engine." : "Neveljaven programnik za podpisovanje.", "Digital signed by LibreSign." : "Digitalno podpisano z LibreSign.", + "Invalid data to validate file" : "Neveljavni podatki za določanje veljavnosti datoteke", "File type: %s. Empty file." : "Vrsta datoteke: %s. Prazna datoteka.", "Elements of type %s need file." : "Predmeti vrste %s zahtevajo datoteko.", "File type: %s. Invalid fileID." : "Vrsta datoteke: %s. Neveljaven ID datoteke.", + "User not found." : "Uporabnika ni mogoče najti.", "document to sign" : "dokument za podpis", "visible element" : "vidni znak", "File type: %s. Invalid base64 file." : "Vrsta datoteke: %s. Neveljavna datoteka base64.", @@ -51,7 +55,6 @@ "Invalid status code for file." : "Neveljavna koda stanja datoteke.", "Sign process already started. Unable to change status." : "Postopek podpisovanja je že v teku. Stanja ni mogoče spremeniti.", "No user data" : "Ni uporabniških podatkov", - "User not found." : "Uporabnika ni mogoče najti.", "User %s has no email address." : "Uporabnik %s nima navedenega elektronskega naslova.", "Email required" : "Zahtevan je elektronski naslov", "Invalid email" : "Neveljaven elektronski naslov", @@ -59,7 +62,6 @@ "No signature was requested to %s" : "Za %s podpisovanje ni bilo zahtevano", "%s already signed this file" : "Oseba %s je že podpisala datoteko", "Invalid UUID file" : "Neveljavna datoteka UUID", - "Invalid UUID" : "Neveljaven UUID", "Signer not associated to this file" : "Podpisnik ni povezan s to datoteko.", "File already signed." : "Datoteka je že podpisana.", "Invalid identification method" : "Neveljaven način istovetenja", @@ -77,7 +79,7 @@ "Invalid URL file" : "Neveljavna datoteka naslova URL", "Visible element file must be png." : "Datoteka vidnega predmeta mora biti v zapisu PNG.", "Empty file" : "Prazna datoteka", - "Invalid data to validate file" : "Neveljavni podatki za določanje veljavnosti datoteke", + "File is too big" : "Datoteka je prevelika", "Invalid file identifier" : "Neveljavno določilo datoteke.", "You need to sign this document" : "Ta dokument je treba podpisati", "You cannot request signature for this document, please contact your administrator" : "Za ta dokument ni mogoče zahtevati podpisa. Stopite v stik s skrbnikom sistema.", @@ -91,7 +93,6 @@ "Email" : "Elektronski naslov", "User already exists" : "Uporabnik že obstaja", "This is not your file" : "To ni vaša datoteka", - "Password" : "Geslo", "Invalid password" : "Neveljavno geslo", "LibreSign: Changes into a file for you to sign" : "LibreSign: spremembe v datoteki za podpisovanje", "File to sign" : "Datoteka za podpis", @@ -121,6 +122,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign – digitalno podpisovanje datotek v okolju Nextcloud", "Authentication required" : "Zahtevana je overitev", "This action requires you to confirm your password" : "Opravilo zahteva potrditev z vpisom skrbniškega gesla.", + "Password" : "Geslo", "Confirm" : "Potrdi", "Incorrect password!" : "Neveljavno geslo!", "Text" : "Besedilo", @@ -155,9 +157,8 @@ "Sign" : "Podpiši", "Element created" : "Predmet je ustvarjen.", "Details" : "Podrobnosti", - "Password & Security" : "Geslo in varnost", - "Create password key" : "Ustvari ključ gesla", - "Reset password" : "Ponastavi geslo", + "Certificate" : "Potrdilo", + "Delete certificate" : "Izbriši potrdilo", "Not sent yet" : "Še ni poslano", "Not defined yet" : "Še ni določeno", "Select a file" : "Izbor datotek", @@ -178,7 +179,6 @@ "Password Creation" : "Ustvarjanje gesla", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Iz varnostnih razlogov je treba ustvariti geslo za podpisovanje dokumentov. V spodnje polje je treba vpisati novo geslo.", "Enter a password" : "Vpis gesla", - "New password to sign documents has been created" : "Novo geslo za podpisovanje dokumentov je uspešno ustvarjeno.", "Error creating new password, please contact the administrator" : "Med ustvarjanjem novo geslo za podpisovanje dokumentov je prišlo do napake.", "Create new subscription." : "Ustvari novo naročnino.", "Root certificate has not been configured by the Administrator!" : "Ni nastavljenega skrbniškega korenskega potrdila!", @@ -204,12 +204,11 @@ "Could not create signature." : "Ni mogoče ustvariti podpisa.", "Request Signatures" : "Zahtevaj podpise", "Choose from Files" : "Izbor iz oblaka", - "Enter the emails that will receive the request" : "Vpišite elektronske naslove, na katere bo poslana zahteva", - "Signatures for this document have already been requested" : "Zahteva za podpisovanje tega dokumenta je že začeta.", - "Add users" : "Dodaj uporabnike", + "Send" : "Pošlji", "Select your file" : "Izbor datoteke", "Password reset" : "Ponastavitev gesla", "Enter new password and then repeat it" : "Vpišite geslo in ga nato spodaj ponovite", + "Current password" : "Trenutno geslo", "New password" : "Novo geslo", "Repeat password" : "Ponovi geslo", "Optional attributes" : "Izbirni atributi", @@ -217,7 +216,6 @@ "Remove custom name entry from root certificate" : "Odstrani ime korenskega potrdila po meri", "Message" : "Sporočilo", "Resource" : "Vir", - "Advice" : "Nasvet", "Configuration check" : "Preverjanje nastavitev", "Status of setup" : "Stanje nastavitve", "Customize default user folder" : "Prilagodi privzeto mapo uporabnika", @@ -238,9 +236,8 @@ "CFSSL API URI" : "Naslov URI vmesnika API CFSSL", "Config path" : "Pot nastavitev", "Regenerate root certificate" : "Ponovno ustvari korensko potrdilo", - "Root certificate data." : "Nabor podatkov korenskega potrdila.", "To generate new signatures, you must first generate the root certificate." : "Za ustvarjanje podpisov je treba najprej ustvariti korensko potrdilo.", - "Generate root certificate." : "Ustvari korensko potrdilo.", + "Generate root certificate" : "Ustvari korensko potrdilo", "Generating certificate." : "Ustvarjanje potrdila", "Could not generate certificate." : "Potrdila ni mogoče ustvariti.", "Generated certificate!" : "Korensko potrdilo je ustvarjeno!", @@ -285,10 +282,17 @@ "Validate File" : "Overi datoteko", "Add visible signatures" : "Dodaj vidne podpise", "Are you sure you want to exclude user {email} from the request?" : "Ali ste prepričani, da želite izločiti uporabnika z elektronskim naslovom {email} iz zahteve?", + "Password & Security" : "Geslo in varnost", + "Create password key" : "Ustvari ključ gesla", + "Reset password" : "Ponastavi geslo", "Validate Document" : "Overi dokument", - "Collect signers metadata" : "Zberi metapodatke podpisnikov", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Programske datoteke, nujne za delovanje, zasedejo okoli 340 MB prostora, zato je postopek namestitve lahko dolgotrajen.", + "Enter the emails that will receive the request" : "Vpišite elektronske naslove, na katere bo poslana zahteva", + "Signatures for this document have already been requested" : "Zahteva za podpisovanje tega dokumenta je že začeta.", + "Add users" : "Dodaj uporabnike", + "Advice" : "Nasvet", "Define custom values to use CFSSL" : "Določilo vrednosti po meri za uporabo protokola CFSSL", + "Root certificate data." : "Nabor podatkov korenskega potrdila.", + "Generate root certificate." : "Ustvari korensko potrdilo.", "Remove" : "Odstrani" },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" } \ No newline at end of file diff --git a/l10n/sq.js b/l10n/sq.js index abeff06b43..d01ac8255a 100644 --- a/l10n/sq.js +++ b/l10n/sq.js @@ -8,14 +8,15 @@ OC.L10N.register( "View" : "Shiko", "File not found" : "Skedari nuk u gjet", "File already exists" : "Skedari ekziston tashmë", + "File is too big" : "Skedari është shumë i madh", "Account" : "Llogari", "Invalid user" : "Përdorues i pavlefshëm", "Email" : "Emaili", - "Password" : "Fjalëkalim", "Files" : "Skedarët", "Settings" : "Rregullimet", "Authentication required" : "Verifikim i kërkuar", "This action requires you to confirm your password" : "Ky veprim kërkon që të konfirmoni fjalëkalimin tuaj.", + "Password" : "Fjalëkalim", "Confirm" : "Konfirmo", "Text" : "Tekst", "Upload" : "Ngarkoni", @@ -31,7 +32,8 @@ OC.L10N.register( "Next" : "Tjetër", "Previous" : "I mëparshëm", "Details" : "Detajet", - "Reset password" : "Ricaktoni fjalëkalimin", + "Certificate" : "Çertifikata", + "Change password" : "Ndrysho fjalëkalimin", "Select a file" : "Zgjidhni një skedar", "Type" : "Shtyp", "Status" : "Statusi", @@ -43,7 +45,9 @@ OC.L10N.register( "Yes" : "Yes", "No" : "Jo", "Page not found" : "Faqja nuk u gjet ", + "Send" : "Dërgo", "Password reset" : "Fjalkalimi u rivendos", + "Current password" : "Fjalëkalimi aktual", "New password" : "Fjalëkalim i ri", "Repeat password" : "Përsërit Fjalëkalimin", "Message" : "Mesazh", @@ -51,6 +55,7 @@ OC.L10N.register( "Dependencies" : "Varësitë", "Pending" : "Në Pritje të Konfirmimit", "No date" : "No date", + "Reset password" : "Ricaktoni fjalëkalimin", "Remove" : "Hiq" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/sq.json b/l10n/sq.json index 69af49d8b1..e6b1dfadc8 100644 --- a/l10n/sq.json +++ b/l10n/sq.json @@ -6,14 +6,15 @@ "View" : "Shiko", "File not found" : "Skedari nuk u gjet", "File already exists" : "Skedari ekziston tashmë", + "File is too big" : "Skedari është shumë i madh", "Account" : "Llogari", "Invalid user" : "Përdorues i pavlefshëm", "Email" : "Emaili", - "Password" : "Fjalëkalim", "Files" : "Skedarët", "Settings" : "Rregullimet", "Authentication required" : "Verifikim i kërkuar", "This action requires you to confirm your password" : "Ky veprim kërkon që të konfirmoni fjalëkalimin tuaj.", + "Password" : "Fjalëkalim", "Confirm" : "Konfirmo", "Text" : "Tekst", "Upload" : "Ngarkoni", @@ -29,7 +30,8 @@ "Next" : "Tjetër", "Previous" : "I mëparshëm", "Details" : "Detajet", - "Reset password" : "Ricaktoni fjalëkalimin", + "Certificate" : "Çertifikata", + "Change password" : "Ndrysho fjalëkalimin", "Select a file" : "Zgjidhni një skedar", "Type" : "Shtyp", "Status" : "Statusi", @@ -41,7 +43,9 @@ "Yes" : "Yes", "No" : "Jo", "Page not found" : "Faqja nuk u gjet ", + "Send" : "Dërgo", "Password reset" : "Fjalkalimi u rivendos", + "Current password" : "Fjalëkalimi aktual", "New password" : "Fjalëkalim i ri", "Repeat password" : "Përsërit Fjalëkalimin", "Message" : "Mesazh", @@ -49,6 +53,7 @@ "Dependencies" : "Varësitë", "Pending" : "Në Pritje të Konfirmimit", "No date" : "No date", + "Reset password" : "Ricaktoni fjalëkalimin", "Remove" : "Hiq" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/sr.js b/l10n/sr.js index 64f97c336d..c299f7c70b 100644 --- a/l10n/sr.js +++ b/l10n/sr.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "Неисправан UUID", "Success" : "Успешно", "Invalid user or password" : "Неисправно корисничко име или лозинка", "_Element created with success_::_Elements created with success_" : ["Елемент је успешно креиран","Елемента је успешно креирано","Елемената је успешно креирано"], @@ -9,6 +10,9 @@ OC.L10N.register( "Element updated with success" : "Елемент је успешно ажуриран", "Visible element deleted" : "Обрисан је видљиви елемент", "Settings saved" : "Поставке сачуване", + "Certificate file deleted with success." : "Успешно је обрисан фајл сертификата.", + "Certificate file saved with success." : "Успешно је сачуван фајл сертификата.", + "New password to sign documents has been created" : "Креирана је нова лозинка за потписивање докумената", "Name is mandatory" : "Име је обавезно", "Notification sent with success." : "Обавештење је успешно послато", "File signed" : "Фајл је потписан", @@ -28,10 +32,13 @@ OC.L10N.register( "Invalid Sign engine." : "Неисправан механизам за потписивање.", "Digital signed by LibreSign." : "Дигитално потписао LibreSign.", "Validate in %s." : "Потврди у %s.", + "Invalid data to validate file" : "Неисправни подаци за проверу фајла", "File type: %s. Empty file." : "Тип фајла: %s. Празан фајл.", "Elements of type %s need file." : "Елементи типа %s захтевају фајл.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Тип фајла: %s. Наведите URL, base64 стринг или fileID.", "File type: %s. Invalid fileID." : "Тип фајла: %s. Неисправан fileID.", + "User not found." : "Није пронађен корисник.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Тип фајла: %s. Наведите URL, base64 стринг, путању, или fileID.", "document to sign" : "документ за потписивање", "visible element" : "видљиви елемент", "File type: %s. Invalid base64 file." : "Тип фајла: %s. Неисправан base64 фајл.", @@ -58,7 +65,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "Процес потписивања је већ почео. Не може да се промени статус.", "Inform or UUID or a File object" : "Inform или UUID или Фајл објекат", "No user data" : "Нема корисничких података", - "User not found." : "Није пронађен корисник.", "User %s has no email address." : "Корисник %s нема и-мејл адресу.", "Email required" : "Потребан је и-мејл", "Invalid email" : "Неисправан и-мејл", @@ -66,7 +72,6 @@ OC.L10N.register( "No signature was requested to %s" : "Није захтеван ниједан потпис за %s", "%s already signed this file" : "%s је већ потписао овај фајл", "Invalid UUID file" : "Неисправан UUID фајл", - "Invalid UUID" : "Неисправан UUID", "Signer not associated to this file" : "Потписник није придружен овом фајлу", "A file of this type has been associated." : "Фајл овог типа је придружен.", "Empty identify data." : "Празни идентификациони подаци.", @@ -89,7 +94,9 @@ OC.L10N.register( "Invalid URL file" : "Неисправан URL фајл", "Visible element file must be png." : "Видљиви елемент мора бити png.", "Empty file" : "Празан фајл", - "Invalid data to validate file" : "Неисправни подаци за проверу фајла", + "No certificate file provided" : "Није достављен ниједан сертификат", + "Invalid file provided. Need to be a .pfx file." : "Достављен је неисправан фајл. Мора да буде .pfx фајл.", + "File is too big" : "Фајл је превелики", "Invalid file identifier" : "Неисправан идентификатор фајла", "You need to sign this document" : "Морате да потпишете овај документ", "You cannot request signature for this document, please contact your administrator" : "Не можете да захтевате потписивањеовог документа, молимо вас да се обратите свом администратору", @@ -104,7 +111,7 @@ OC.L10N.register( "Email" : "Е-пошта", "User already exists" : "Корисник већ постоји", "This is not your file" : "Ово није ваш фајл", - "Password" : "Лозинка", + "Certificate with password" : "Сертификат са лозинком", "Invalid password" : "Неисправна лозинка", "LibreSign: Changes into a file for you to sign" : "LibreSign: Измене у фајлу које треба да потпишете", "File to sign" : "Фајл који треба да се потпише", @@ -141,6 +148,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, апликација дигиталног потписивања за Nextcloud.", "Authentication required" : "Неопходна провера идентитета", "This action requires you to confirm your password" : "Ова радња захтева да потврдите лозинку", + "Password" : "Лозинка", "Confirm" : "Потврди", "Incorrect password!" : "Неисправна лозинка!", "Text" : "Текст", @@ -156,6 +164,7 @@ OC.L10N.register( "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Употребите точкић миша да увећате или умањите слику тако да пронађете најбољи поглед на свој потпис.", "Enter your Full Name or Initials to create Signature" : "Унесите Пуно име или Иницијале да креирате Потпис", "Requested by {name}, at {date}" : "Захтевао {name}, дана {date}", + "Enter who will receive the request" : "Унесите ко ће примити захтев", "Signatures" : "Потписи", "Search signer by account" : "Претрага порписника према налогу", "Name" : "Име", @@ -183,10 +192,13 @@ OC.L10N.register( "Sign" : "Потпис", "Request signatures?" : "Захтевај потписе?", "Element created" : "Елемент је креиран", + "signed at {date}" : "потписано дана {date}", "Details" : "Детаљи", - "Password & Security" : "Лозинка и безбедност", - "Create password key" : "Креирај кључ лозинке", - "Reset password" : "Ресетуј лозинку", + "Certificate" : "Сертификат", + "Upload certificate" : "Отпреми сертификат", + "Delete certificate" : "Обриши сертификат", + "Create certificate" : "Креирај сертификат", + "Change password" : "Измени лозинку", "Not sent yet" : "Још увек није послато", "Not defined yet" : "Још увек није дефинисано", "Select a file" : "Select a file", @@ -207,7 +219,6 @@ OC.L10N.register( "Password Creation" : "Креирање лозинке", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Из разлога безбедности, да бисте потписивали документа, морате да креирате лозинку. Унесите вашу нову лозинку у поље испод.", "Enter a password" : "Унесите лозинку", - "New password to sign documents has been created" : "Креирана је нова лозинка за потписивање докумената", "Error creating new password, please contact the administrator" : "Грешка приликом креирања нове лозинке, молимо вас да се обратите администратору", "Create new subscription." : "Креирање нове претплате.", "Root certificate has not been configured by the Administrator!" : "Администратор није подесио корени сертификат!", @@ -235,13 +246,14 @@ OC.L10N.register( "The admin hasn't set up LibreSign yet, please wait." : "Админ још увек није подесио LibreSign, молимо вас сачекајте.", "Request Signatures" : "Захтевај потписе", "Choose the file to request signatures." : "Изаберите фајл да бисте захтевали потписе.", + "Upload from URL" : "Отпремање са URL адресе", "Choose from Files" : "Изаберите из Фајлова", - "Enter the emails that will receive the request" : "Унесите и-мејлове који ће примити захтев", - "Signatures for this document have already been requested" : "Већ су захтевани потписи за овај документ", - "Add users" : "Додај кориснике", + "URL of a PDF file" : "URL адреса PDF фајла", + "Send" : "Пошаљи", "Select your file" : "Изаберите свој фајл", "Password reset" : "Ресетовање лозинке", "Enter new password and then repeat it" : "Унесите нову лозинку, па је поновите", + "Current password" : "Тренутна лозинка", "New password" : "Нова лозинка", "Repeat password" : "Поновите лозинку", "Allow request to sign" : "Дозволи захтев за потписивање", @@ -252,12 +264,13 @@ OC.L10N.register( "Certificate engine" : "Механизам за сертификате", "Certificate engine to generate the root certificate" : "Механизам који се користи за генерисање кореног сертификата", "Select the certificate engine to generate the root certificate" : "Изаберите механизам за сертификате који треба да генерише корени сертификат", + "I will not use root certificate" : "Нећу користити корени сертификат", "Collect signers' metadata when signing a document" : "Прикупи метаподатке потписника када се потписује документ", "Collect signers' metadata" : "Прикупи метаподатке потписника", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Када се ова могућност укључи, сваки пут када се документ потписује, LibreSign ће сачувати IP адресу и кориснички агент потписника.", "Message" : "Порука", "Resource" : "Ресурс", - "Advice" : "Савет", + "Tip" : "Савет", "Configuration check" : "Провера конфигурације", "Status of setup" : "Статус подешавања", "Customize default user folder" : "Прилагоси подразумевани кориснички фолдер", @@ -276,6 +289,8 @@ OC.L10N.register( "Allow account creation for new users" : "Дозволи креирање налога за нове кориснике", "Allows sending registration email when the user does not have an account." : "Дозвољава слање и-мејла за регистрацију када корисник нема налог.", "Default signature method" : "Подразумевана метода потписивања", + "Identify factors" : "Фактори идентификације", + "Ways to identify a person who will sign a document." : "Начини на које може да се идентификује особа која ће потписати документ.", "Legal Information" : "Правне информације", "Legal information" : "Правне информације", "This information will appear on the validation page" : "Ове информације ће се појавити на страници за потврђивање", @@ -287,12 +302,13 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "Пуно име главне компаније или главног корисника ове инстанце", "Define custom values to use {engine}" : "Дефиниши произвиљне вредности за употребу {engine}", "Not mandatory, don't fill to use default value." : "Није обавезно, оставите празно ако желите да се користи подразумевана вредност.", - "Root certificate data." : "Подаци кореног сертификата.", + "Root certificate data" : "Подаци кореног сертификата", "To generate new signatures, you must first generate the root certificate." : "Да бисте генерисали нове потписе, најпре морате да генеришете корени сертификат.", - "Generate root certificate." : "Генерисање кореног сертификата.", + "Generate root certificate" : "Генериши корени сертификат", "Generating certificate." : "Сертификат се генерише.", "Could not generate certificate." : "Није могао да се генерише сертификат.", "Generated certificate!" : "Сертификат је генерисан!", + "Make validation URL acessible only by authenticated users" : "Нека само пријављени корисници могу да приступе URL адреси за валидацију", "Add visible footer with signature details" : "Додај видљиво подножје са детаљима потписа", "Write QR code on footer with validation URL" : "Пиши QR кôд у подножју са URL адресом за проверу", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "За проверу исправности потписа докумената. Ову вредност промените само ако желите да замените подразумевани URL за проверу неким другим.", @@ -340,14 +356,19 @@ OC.L10N.register( "Validate File" : "Потврди фајл", "Add visible signatures" : "Додај видљиве потписе", "Are you sure you want to exclude user {email} from the request?" : "Да ли сте сигурни да из захтева желите да искључите корисника {email}?", + "Password & Security" : "Лозинка и безбедност", + "Create password key" : "Креирај кључ лозинке", + "Reset password" : "Ресетуј лозинку", "Nothing to do" : "Нема шта да се уради", "Validate Document" : "Потврди документ", "Do you want to configure visible elements in this document?" : "Да ли желите да подесите видљиве елементе у овом документу?", - "Collect signers metadata when sign a document" : "Сакупи метаподатке потписника када потписују овај документ", - "Collect signers metadata" : "Прикупи метаподатке потписника", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Када се ова могућност укључи, сваки пут када се документ потписује, LibreSign ће сачувати IP адресу и кориснички агент потписника.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Неопходни су бинарни фајлови за рад. Величина преузимања може бити скоро 340Mb, причекајте мало.", + "Enter the emails that will receive the request" : "Унесите и-мејлове који ће примити захтев", + "Signatures for this document have already been requested" : "Већ су захтевани потписи за овај документ", + "Add users" : "Додај кориснике", + "Advice" : "Савет", "Define custom values to use CFSSL" : "Дефиниши произвољне вредности за употребу CFSSL", + "Root certificate data." : "Подаци кореног сертификата.", + "Generate root certificate." : "Генерисање кореног сертификата.", "Remove" : "Уклони" }, "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.json b/l10n/sr.json index 6baa3e4840..de8b86e6bc 100644 --- a/l10n/sr.json +++ b/l10n/sr.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "Неисправан UUID", "Success" : "Успешно", "Invalid user or password" : "Неисправно корисничко име или лозинка", "_Element created with success_::_Elements created with success_" : ["Елемент је успешно креиран","Елемента је успешно креирано","Елемената је успешно креирано"], @@ -7,6 +8,9 @@ "Element updated with success" : "Елемент је успешно ажуриран", "Visible element deleted" : "Обрисан је видљиви елемент", "Settings saved" : "Поставке сачуване", + "Certificate file deleted with success." : "Успешно је обрисан фајл сертификата.", + "Certificate file saved with success." : "Успешно је сачуван фајл сертификата.", + "New password to sign documents has been created" : "Креирана је нова лозинка за потписивање докумената", "Name is mandatory" : "Име је обавезно", "Notification sent with success." : "Обавештење је успешно послато", "File signed" : "Фајл је потписан", @@ -26,10 +30,13 @@ "Invalid Sign engine." : "Неисправан механизам за потписивање.", "Digital signed by LibreSign." : "Дигитално потписао LibreSign.", "Validate in %s." : "Потврди у %s.", + "Invalid data to validate file" : "Неисправни подаци за проверу фајла", "File type: %s. Empty file." : "Тип фајла: %s. Празан фајл.", "Elements of type %s need file." : "Елементи типа %s захтевају фајл.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Тип фајла: %s. Наведите URL, base64 стринг или fileID.", "File type: %s. Invalid fileID." : "Тип фајла: %s. Неисправан fileID.", + "User not found." : "Није пронађен корисник.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Тип фајла: %s. Наведите URL, base64 стринг, путању, или fileID.", "document to sign" : "документ за потписивање", "visible element" : "видљиви елемент", "File type: %s. Invalid base64 file." : "Тип фајла: %s. Неисправан base64 фајл.", @@ -56,7 +63,6 @@ "Sign process already started. Unable to change status." : "Процес потписивања је већ почео. Не може да се промени статус.", "Inform or UUID or a File object" : "Inform или UUID или Фајл објекат", "No user data" : "Нема корисничких података", - "User not found." : "Није пронађен корисник.", "User %s has no email address." : "Корисник %s нема и-мејл адресу.", "Email required" : "Потребан је и-мејл", "Invalid email" : "Неисправан и-мејл", @@ -64,7 +70,6 @@ "No signature was requested to %s" : "Није захтеван ниједан потпис за %s", "%s already signed this file" : "%s је већ потписао овај фајл", "Invalid UUID file" : "Неисправан UUID фајл", - "Invalid UUID" : "Неисправан UUID", "Signer not associated to this file" : "Потписник није придружен овом фајлу", "A file of this type has been associated." : "Фајл овог типа је придружен.", "Empty identify data." : "Празни идентификациони подаци.", @@ -87,7 +92,9 @@ "Invalid URL file" : "Неисправан URL фајл", "Visible element file must be png." : "Видљиви елемент мора бити png.", "Empty file" : "Празан фајл", - "Invalid data to validate file" : "Неисправни подаци за проверу фајла", + "No certificate file provided" : "Није достављен ниједан сертификат", + "Invalid file provided. Need to be a .pfx file." : "Достављен је неисправан фајл. Мора да буде .pfx фајл.", + "File is too big" : "Фајл је превелики", "Invalid file identifier" : "Неисправан идентификатор фајла", "You need to sign this document" : "Морате да потпишете овај документ", "You cannot request signature for this document, please contact your administrator" : "Не можете да захтевате потписивањеовог документа, молимо вас да се обратите свом администратору", @@ -102,7 +109,7 @@ "Email" : "Е-пошта", "User already exists" : "Корисник већ постоји", "This is not your file" : "Ово није ваш фајл", - "Password" : "Лозинка", + "Certificate with password" : "Сертификат са лозинком", "Invalid password" : "Неисправна лозинка", "LibreSign: Changes into a file for you to sign" : "LibreSign: Измене у фајлу које треба да потпишете", "File to sign" : "Фајл који треба да се потпише", @@ -139,6 +146,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, апликација дигиталног потписивања за Nextcloud.", "Authentication required" : "Неопходна провера идентитета", "This action requires you to confirm your password" : "Ова радња захтева да потврдите лозинку", + "Password" : "Лозинка", "Confirm" : "Потврди", "Incorrect password!" : "Неисправна лозинка!", "Text" : "Текст", @@ -154,6 +162,7 @@ "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Употребите точкић миша да увећате или умањите слику тако да пронађете најбољи поглед на свој потпис.", "Enter your Full Name or Initials to create Signature" : "Унесите Пуно име или Иницијале да креирате Потпис", "Requested by {name}, at {date}" : "Захтевао {name}, дана {date}", + "Enter who will receive the request" : "Унесите ко ће примити захтев", "Signatures" : "Потписи", "Search signer by account" : "Претрага порписника према налогу", "Name" : "Име", @@ -181,10 +190,13 @@ "Sign" : "Потпис", "Request signatures?" : "Захтевај потписе?", "Element created" : "Елемент је креиран", + "signed at {date}" : "потписано дана {date}", "Details" : "Детаљи", - "Password & Security" : "Лозинка и безбедност", - "Create password key" : "Креирај кључ лозинке", - "Reset password" : "Ресетуј лозинку", + "Certificate" : "Сертификат", + "Upload certificate" : "Отпреми сертификат", + "Delete certificate" : "Обриши сертификат", + "Create certificate" : "Креирај сертификат", + "Change password" : "Измени лозинку", "Not sent yet" : "Још увек није послато", "Not defined yet" : "Још увек није дефинисано", "Select a file" : "Select a file", @@ -205,7 +217,6 @@ "Password Creation" : "Креирање лозинке", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Из разлога безбедности, да бисте потписивали документа, морате да креирате лозинку. Унесите вашу нову лозинку у поље испод.", "Enter a password" : "Унесите лозинку", - "New password to sign documents has been created" : "Креирана је нова лозинка за потписивање докумената", "Error creating new password, please contact the administrator" : "Грешка приликом креирања нове лозинке, молимо вас да се обратите администратору", "Create new subscription." : "Креирање нове претплате.", "Root certificate has not been configured by the Administrator!" : "Администратор није подесио корени сертификат!", @@ -233,13 +244,14 @@ "The admin hasn't set up LibreSign yet, please wait." : "Админ још увек није подесио LibreSign, молимо вас сачекајте.", "Request Signatures" : "Захтевај потписе", "Choose the file to request signatures." : "Изаберите фајл да бисте захтевали потписе.", + "Upload from URL" : "Отпремање са URL адресе", "Choose from Files" : "Изаберите из Фајлова", - "Enter the emails that will receive the request" : "Унесите и-мејлове који ће примити захтев", - "Signatures for this document have already been requested" : "Већ су захтевани потписи за овај документ", - "Add users" : "Додај кориснике", + "URL of a PDF file" : "URL адреса PDF фајла", + "Send" : "Пошаљи", "Select your file" : "Изаберите свој фајл", "Password reset" : "Ресетовање лозинке", "Enter new password and then repeat it" : "Унесите нову лозинку, па је поновите", + "Current password" : "Тренутна лозинка", "New password" : "Нова лозинка", "Repeat password" : "Поновите лозинку", "Allow request to sign" : "Дозволи захтев за потписивање", @@ -250,12 +262,13 @@ "Certificate engine" : "Механизам за сертификате", "Certificate engine to generate the root certificate" : "Механизам који се користи за генерисање кореног сертификата", "Select the certificate engine to generate the root certificate" : "Изаберите механизам за сертификате који треба да генерише корени сертификат", + "I will not use root certificate" : "Нећу користити корени сертификат", "Collect signers' metadata when signing a document" : "Прикупи метаподатке потписника када се потписује документ", "Collect signers' metadata" : "Прикупи метаподатке потписника", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Када се ова могућност укључи, сваки пут када се документ потписује, LibreSign ће сачувати IP адресу и кориснички агент потписника.", "Message" : "Порука", "Resource" : "Ресурс", - "Advice" : "Савет", + "Tip" : "Савет", "Configuration check" : "Провера конфигурације", "Status of setup" : "Статус подешавања", "Customize default user folder" : "Прилагоси подразумевани кориснички фолдер", @@ -274,6 +287,8 @@ "Allow account creation for new users" : "Дозволи креирање налога за нове кориснике", "Allows sending registration email when the user does not have an account." : "Дозвољава слање и-мејла за регистрацију када корисник нема налог.", "Default signature method" : "Подразумевана метода потписивања", + "Identify factors" : "Фактори идентификације", + "Ways to identify a person who will sign a document." : "Начини на које може да се идентификује особа која ће потписати документ.", "Legal Information" : "Правне информације", "Legal information" : "Правне информације", "This information will appear on the validation page" : "Ове информације ће се појавити на страници за потврђивање", @@ -285,12 +300,13 @@ "Full name of the main company or main user of this instance" : "Пуно име главне компаније или главног корисника ове инстанце", "Define custom values to use {engine}" : "Дефиниши произвиљне вредности за употребу {engine}", "Not mandatory, don't fill to use default value." : "Није обавезно, оставите празно ако желите да се користи подразумевана вредност.", - "Root certificate data." : "Подаци кореног сертификата.", + "Root certificate data" : "Подаци кореног сертификата", "To generate new signatures, you must first generate the root certificate." : "Да бисте генерисали нове потписе, најпре морате да генеришете корени сертификат.", - "Generate root certificate." : "Генерисање кореног сертификата.", + "Generate root certificate" : "Генериши корени сертификат", "Generating certificate." : "Сертификат се генерише.", "Could not generate certificate." : "Није могао да се генерише сертификат.", "Generated certificate!" : "Сертификат је генерисан!", + "Make validation URL acessible only by authenticated users" : "Нека само пријављени корисници могу да приступе URL адреси за валидацију", "Add visible footer with signature details" : "Додај видљиво подножје са детаљима потписа", "Write QR code on footer with validation URL" : "Пиши QR кôд у подножју са URL адресом за проверу", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "За проверу исправности потписа докумената. Ову вредност промените само ако желите да замените подразумевани URL за проверу неким другим.", @@ -338,14 +354,19 @@ "Validate File" : "Потврди фајл", "Add visible signatures" : "Додај видљиве потписе", "Are you sure you want to exclude user {email} from the request?" : "Да ли сте сигурни да из захтева желите да искључите корисника {email}?", + "Password & Security" : "Лозинка и безбедност", + "Create password key" : "Креирај кључ лозинке", + "Reset password" : "Ресетуј лозинку", "Nothing to do" : "Нема шта да се уради", "Validate Document" : "Потврди документ", "Do you want to configure visible elements in this document?" : "Да ли желите да подесите видљиве елементе у овом документу?", - "Collect signers metadata when sign a document" : "Сакупи метаподатке потписника када потписују овај документ", - "Collect signers metadata" : "Прикупи метаподатке потписника", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Када се ова могућност укључи, сваки пут када се документ потписује, LibreSign ће сачувати IP адресу и кориснички агент потписника.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Неопходни су бинарни фајлови за рад. Величина преузимања може бити скоро 340Mb, причекајте мало.", + "Enter the emails that will receive the request" : "Унесите и-мејлове који ће примити захтев", + "Signatures for this document have already been requested" : "Већ су захтевани потписи за овај документ", + "Add users" : "Додај кориснике", + "Advice" : "Савет", "Define custom values to use CFSSL" : "Дефиниши произвољне вредности за употребу CFSSL", + "Root certificate data." : "Подаци кореног сертификата.", + "Generate root certificate." : "Генерисање кореног сертификата.", "Remove" : "Уклони" },"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/sr@latin.js b/l10n/sr@latin.js index aaabbf22b6..e1b915928f 100644 --- a/l10n/sr@latin.js +++ b/l10n/sr@latin.js @@ -4,9 +4,9 @@ OC.L10N.register( "deleted" : "obrisano", "File not found" : "Fajl nije nađen", "Email" : "email", - "Password" : "Lozinka", "Files" : "Фајлови", "Settings" : "Поставке", + "Password" : "Lozinka", "Upload" : "Otpremi", "Cancel" : "Otkaži", "Save" : "Sačuvaj", @@ -20,6 +20,7 @@ OC.L10N.register( "Enter a password" : "Unesite lozinku", "Yes" : "Da", "No" : "Ne", + "Send" : "Pošalji", "New password" : "Nova lozinka", "Pending" : "Na čekanju", "No date" : "No date", diff --git a/l10n/sr@latin.json b/l10n/sr@latin.json index ab6fbafe7e..2ade033c11 100644 --- a/l10n/sr@latin.json +++ b/l10n/sr@latin.json @@ -2,9 +2,9 @@ "deleted" : "obrisano", "File not found" : "Fajl nije nađen", "Email" : "email", - "Password" : "Lozinka", "Files" : "Фајлови", "Settings" : "Поставке", + "Password" : "Lozinka", "Upload" : "Otpremi", "Cancel" : "Otkaži", "Save" : "Sačuvaj", @@ -18,6 +18,7 @@ "Enter a password" : "Unesite lozinku", "Yes" : "Da", "No" : "Ne", + "Send" : "Pošalji", "New password" : "Nova lozinka", "Pending" : "Na čekanju", "No date" : "No date", diff --git a/l10n/sv.js b/l10n/sv.js index 471ae67ec3..11cb214f40 100644 --- a/l10n/sv.js +++ b/l10n/sv.js @@ -9,16 +9,17 @@ OC.L10N.register( "File not found" : "Filen hittades inte", "File already exists" : "Filen existerar redan", "Empty file" : "Tom fil", + "File is too big" : "Filen är för stor", "Account" : "Konto", "Invalid user" : "Ogiltig användare", "Email" : "E-post", "User already exists" : "Användaren finns redan", - "Password" : "Lösenord", "Invalid password" : "Ogiltigt lösenord", "Files" : "Filer", "Settings" : "Inställningar", "Authentication required" : "Autentisering krävs", "This action requires you to confirm your password" : "Denna åtgärd kräver att du bekräftar ditt lösenord", + "Password" : "Lösenord", "Confirm" : "Bekräfta", "Text" : "Text", "Draw" : "Rita", @@ -38,7 +39,7 @@ OC.L10N.register( "Next" : "Nästa", "Previous" : "Föregående", "Details" : "Detaljer", - "Reset password" : "Återställ lösenord", + "Certificate" : "Certifikat", "Select a file" : "Välj en fil", "Type" : "Typ", "Status" : "Status", @@ -52,12 +53,14 @@ OC.L10N.register( "No" : "Nej", "Page not found" : "Sidan hittades inte", "Choose from Files" : "Välj från Filer", - "Add users" : "Lägg till användare", + "Send" : "Skicka", "Password reset" : "Lösenordsåterställning", + "Current password" : "Nuvarande lösenord", "New password" : "Nytt lösenord", "Repeat password" : "Repetera lösenord", "Message" : "Meddelande", "Resource" : "Resurs", + "Tip" : "Tips", "Configuration check" : "Kontroll av konfiguration", "Dependencies" : "Beroenden", "Download binaries" : "Ladda ned binärer", @@ -65,8 +68,11 @@ OC.L10N.register( "Downloading binaries" : "Laddar ned binärer", "Binaries downloaded" : "Binärer nedladdade", "Loading …" : "Läser in …", + "All Files" : "Alla filer", "Pending" : "Väntande", "No date" : "Inget datum", + "Reset password" : "Återställ lösenord", + "Add users" : "Lägg till användare", "Remove" : "Ta bort" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/sv.json b/l10n/sv.json index 15ed500ccb..74bf84c8dc 100644 --- a/l10n/sv.json +++ b/l10n/sv.json @@ -7,16 +7,17 @@ "File not found" : "Filen hittades inte", "File already exists" : "Filen existerar redan", "Empty file" : "Tom fil", + "File is too big" : "Filen är för stor", "Account" : "Konto", "Invalid user" : "Ogiltig användare", "Email" : "E-post", "User already exists" : "Användaren finns redan", - "Password" : "Lösenord", "Invalid password" : "Ogiltigt lösenord", "Files" : "Filer", "Settings" : "Inställningar", "Authentication required" : "Autentisering krävs", "This action requires you to confirm your password" : "Denna åtgärd kräver att du bekräftar ditt lösenord", + "Password" : "Lösenord", "Confirm" : "Bekräfta", "Text" : "Text", "Draw" : "Rita", @@ -36,7 +37,7 @@ "Next" : "Nästa", "Previous" : "Föregående", "Details" : "Detaljer", - "Reset password" : "Återställ lösenord", + "Certificate" : "Certifikat", "Select a file" : "Välj en fil", "Type" : "Typ", "Status" : "Status", @@ -50,12 +51,14 @@ "No" : "Nej", "Page not found" : "Sidan hittades inte", "Choose from Files" : "Välj från Filer", - "Add users" : "Lägg till användare", + "Send" : "Skicka", "Password reset" : "Lösenordsåterställning", + "Current password" : "Nuvarande lösenord", "New password" : "Nytt lösenord", "Repeat password" : "Repetera lösenord", "Message" : "Meddelande", "Resource" : "Resurs", + "Tip" : "Tips", "Configuration check" : "Kontroll av konfiguration", "Dependencies" : "Beroenden", "Download binaries" : "Ladda ned binärer", @@ -63,8 +66,11 @@ "Downloading binaries" : "Laddar ned binärer", "Binaries downloaded" : "Binärer nedladdade", "Loading …" : "Läser in …", + "All Files" : "Alla filer", "Pending" : "Väntande", "No date" : "Inget datum", + "Reset password" : "Återställ lösenord", + "Add users" : "Lägg till användare", "Remove" : "Ta bort" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/ta.js b/l10n/ta.js index c5cc40ef03..9a30a3df83 100644 --- a/l10n/ta.js +++ b/l10n/ta.js @@ -2,10 +2,10 @@ OC.L10N.register( "libresign", { "Email" : "மின்னஞ்சல்", - "Password" : "கடவுச்சொல்", "Invalid password" : "Invalid Password", "Files" : "கோப்புகள்", "Settings" : "அமைப்புகள்", + "Password" : "கடவுச்சொல்", "Upload" : "பதிவேற்றுக", "Cancel" : "இரத்து செய்க", "Save" : "சேமிக்க ", @@ -18,15 +18,16 @@ OC.L10N.register( "Next" : "அடுத்த", "Previous" : "முன்தைய", "Details" : "விவரங்கள்", - "Reset password" : "மீளமைத்த கடவுச்சொல்", "Type" : "வகை", "Actions" : "செயல்கள்", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Current password" : "தற்போதைய கடவுச்சொல்", "New password" : "புதிய கடவுச்சொல்", "Pending" : "நிலுவையிலுள்ள", "No date" : "No date", + "Reset password" : "மீளமைத்த கடவுச்சொல்", "Remove" : "அகற்றுக" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/ta.json b/l10n/ta.json index fb71f0e31a..f0777e67e9 100644 --- a/l10n/ta.json +++ b/l10n/ta.json @@ -1,9 +1,9 @@ { "translations": { "Email" : "மின்னஞ்சல்", - "Password" : "கடவுச்சொல்", "Invalid password" : "Invalid Password", "Files" : "கோப்புகள்", "Settings" : "அமைப்புகள்", + "Password" : "கடவுச்சொல்", "Upload" : "பதிவேற்றுக", "Cancel" : "இரத்து செய்க", "Save" : "சேமிக்க ", @@ -16,15 +16,16 @@ "Next" : "அடுத்த", "Previous" : "முன்தைய", "Details" : "விவரங்கள்", - "Reset password" : "மீளமைத்த கடவுச்சொல்", "Type" : "வகை", "Actions" : "செயல்கள்", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Current password" : "தற்போதைய கடவுச்சொல்", "New password" : "புதிய கடவுச்சொல்", "Pending" : "நிலுவையிலுள்ள", "No date" : "No date", + "Reset password" : "மீளமைத்த கடவுச்சொல்", "Remove" : "அகற்றுக" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/th.js b/l10n/th.js index 95db520cce..b2aa18f767 100644 --- a/l10n/th.js +++ b/l10n/th.js @@ -7,15 +7,16 @@ OC.L10N.register( "File not found" : "ไม่พบไฟล์", "File already exists" : "มีไฟล์นี้อยู่แล้ว", "Empty file" : "ไฟล์ว่าง", + "File is too big" : "ไฟล์ใหญ่เกินไป", "Account" : "บัญชี", "Invalid user" : "ผู้ใช้ไม่ถูกต้อง", "Email" : "อีเมล", - "Password" : "รหัสผ่าน", "Invalid password" : "รหัสผ่านไม่ถูกต้อง", "Files" : "ไฟล์", "Settings" : "การตั้งค่า", "Authentication required" : "จำเป็นต้องตรวจสอบความถูกต้อง", "This action requires you to confirm your password" : "การกระทำนี้จำเป็นให้คุณยืนยันรหัสผ่าน", + "Password" : "รหัสผ่าน", "Confirm" : "ยืนยัน", "Text" : "ข้อความ", "Upload" : "อัปโหลด", @@ -33,7 +34,7 @@ OC.L10N.register( "Next" : "ถัดไป", "Previous" : "ก่อนหน้า", "Details" : "รายละเอียด", - "Reset password" : "ตั้งรหัสผ่านใหม่", + "Certificate" : "ใบรับรอง", "Select a file" : "Select a file", "Type" : "ประเภท", "Status" : "สถานะ", @@ -44,11 +45,14 @@ OC.L10N.register( "Yes" : "ใช่", "No" : "ไม่", "Page not found" : "ไม่พบหน้า", + "Send" : "ส่ง", "Password reset" : "ตั้งรหัสผ่านใหม่", + "Current password" : "รหัสผ่านปัจจุบัน", "New password" : "รหัสผ่านใหม่", "Resource" : "ทรัพยากร", "Pending" : "รอดำเนินการ", "No date" : "ไม่มีวันที่", + "Reset password" : "ตั้งรหัสผ่านใหม่", "Remove" : "ลบออก" }, "nplurals=1; plural=0;"); diff --git a/l10n/th.json b/l10n/th.json index 1db6977ec2..9e351e77f3 100644 --- a/l10n/th.json +++ b/l10n/th.json @@ -5,15 +5,16 @@ "File not found" : "ไม่พบไฟล์", "File already exists" : "มีไฟล์นี้อยู่แล้ว", "Empty file" : "ไฟล์ว่าง", + "File is too big" : "ไฟล์ใหญ่เกินไป", "Account" : "บัญชี", "Invalid user" : "ผู้ใช้ไม่ถูกต้อง", "Email" : "อีเมล", - "Password" : "รหัสผ่าน", "Invalid password" : "รหัสผ่านไม่ถูกต้อง", "Files" : "ไฟล์", "Settings" : "การตั้งค่า", "Authentication required" : "จำเป็นต้องตรวจสอบความถูกต้อง", "This action requires you to confirm your password" : "การกระทำนี้จำเป็นให้คุณยืนยันรหัสผ่าน", + "Password" : "รหัสผ่าน", "Confirm" : "ยืนยัน", "Text" : "ข้อความ", "Upload" : "อัปโหลด", @@ -31,7 +32,7 @@ "Next" : "ถัดไป", "Previous" : "ก่อนหน้า", "Details" : "รายละเอียด", - "Reset password" : "ตั้งรหัสผ่านใหม่", + "Certificate" : "ใบรับรอง", "Select a file" : "Select a file", "Type" : "ประเภท", "Status" : "สถานะ", @@ -42,11 +43,14 @@ "Yes" : "ใช่", "No" : "ไม่", "Page not found" : "ไม่พบหน้า", + "Send" : "ส่ง", "Password reset" : "ตั้งรหัสผ่านใหม่", + "Current password" : "รหัสผ่านปัจจุบัน", "New password" : "รหัสผ่านใหม่", "Resource" : "ทรัพยากร", "Pending" : "รอดำเนินการ", "No date" : "ไม่มีวันที่", + "Reset password" : "ตั้งรหัสผ่านใหม่", "Remove" : "ลบออก" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/tr.js b/l10n/tr.js index 1c58718573..2ac9f980e8 100644 --- a/l10n/tr.js +++ b/l10n/tr.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "UUID geçersiz", "Success" : "Tamamlandı", "Invalid user or password" : "Kullanıcı adı ya da parola geçersiz", "_Element created with success_::_Elements created with success_" : ["Bileşen oluşturuldu","Bileşen oluşturuldu"], @@ -9,6 +10,9 @@ OC.L10N.register( "Element updated with success" : "Bileşen güncellendi", "Visible element deleted" : "Görülebilir bileşen silindi", "Settings saved" : "Ayarlar kaydedildi", + "Certificate file deleted with success." : "Sertifika dosyası silindi.", + "Certificate file saved with success." : "Sertifika dosyası kaydedildi.", + "New password to sign documents has been created" : "Belgeleri imzalamak için yeni parola oluşturuldu", "Name is mandatory" : "Adın yazılması zorunludur", "Notification sent with success." : "Bildirim gönderildi.", "File signed" : "Dosya imzalanmış", @@ -28,10 +32,13 @@ OC.L10N.register( "Invalid Sign engine." : "İmza işleyici geçersiz.", "Digital signed by LibreSign." : "LibreSign tarafından sayısal olarak imzalanmış. ", "Validate in %s." : "%s içinde doğrulayın.", + "Invalid data to validate file" : "Dosyayı doğrulamak için veriler geçersiz", "File type: %s. Empty file." : "Dosya türü: %s. Boş dosya.", "Elements of type %s need file." : "%s türündeki bileşenleri dosyası olmalı.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Dosya türü: %s. Bir adres, bir base64 kodu ya da bir dosya kodu belirtin.", "File type: %s. Invalid fileID." : "Dosya türü: %s. Dosya kodu geçersiz.", + "User not found." : "Kullanıcı bulunamadı.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Dosya türü: %s. Bir adres, bir base64 kodu, yol ya da bir dosya kimliği belirtin.", "document to sign" : "imzalanacak belge", "visible element" : "görülebilir bileşen", "File type: %s. Invalid base64 file." : "Dosya türü: %s. base64 dosyası geçersiz.", @@ -58,7 +65,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "İmzalama işlemine zaten başlanmış. Durum değiştirilemedi.", "Inform or UUID or a File object" : "Bilgi ya da UUID ya da dosya nesnesi", "No user data" : "Kullanıcı verisi yok", - "User not found." : "Kullanıcı bulunamadı.", "User %s has no email address." : "%s kullanıcısının bir e-posta adresi yok.", "Email required" : "E-posta adresinin yazılması zorunludur.", "Invalid email" : "E-posta adresi geçersiz", @@ -66,7 +72,6 @@ OC.L10N.register( "No signature was requested to %s" : "%s için imza istenmemiş", "%s already signed this file" : "%s bu dosyayı zaten imzalamış", "Invalid UUID file" : "UUID dosyası geçersiz", - "Invalid UUID" : "UUID geçersiz", "Signer not associated to this file" : "İmzalayan bu dosya ile ilişkilendirilmemiş", "A file of this type has been associated." : "Bu dosya türü ilişkilendirilmiş.", "Empty identify data." : "Kimlik verilerini kaldır.", @@ -89,7 +94,9 @@ OC.L10N.register( "Invalid URL file" : "Adres dosyası geçersiz", "Visible element file must be png." : "Görülebilir bileşen dosyası png olmalıdır.", "Empty file" : "Dosya boş", - "Invalid data to validate file" : "Dosyayı doğrulamak için veriler geçersiz", + "No certificate file provided" : "Herhangi bir sertifika dosyası belirtilmemiş", + "Invalid file provided. Need to be a .pfx file." : "Belirtilen dosya geçersiz. Bir .pfx dosyası belirtilmeli.", + "File is too big" : "Dosya çok büyük", "Invalid file identifier" : "Dosya belirteci geçersiz", "You need to sign this document" : "Bu belgeyi imzalamanız gerekiyor", "You cannot request signature for this document, please contact your administrator" : "Bu belge için imzalama isteğinde bulunamazsınız, lütfen sistem yöneticinizle görüşün", @@ -104,7 +111,7 @@ OC.L10N.register( "Email" : "E-posta adresi", "User already exists" : "Kullanıcı zaten var", "This is not your file" : "Bu dosya sizin değil", - "Password" : "Parola", + "Certificate with password" : "Parola ile korunmuş sertifika", "Invalid password" : "Parola geçersiz", "LibreSign: Changes into a file for you to sign" : "LibreSign: Dosyada imzalayacağınız değişiklikler var", "File to sign" : "İmzalanacak dosya", @@ -141,6 +148,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "Nextcloud için LibreSign sayısal imzalama uygulaması.", "Authentication required" : "Kimlik doğrulaması gerekli", "This action requires you to confirm your password" : "Bu işlemi yapabilmek için parolanızı yazmalısınız", + "Password" : "Parola", "Confirm" : "Onayla", "Incorrect password!" : "Parola yanlış!", "Text" : "Metin", @@ -156,6 +164,7 @@ OC.L10N.register( "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Görseli yakınlaştırmak veya uzaklaştırmak için farenizin tekerleğini kullanın ve imzanızın en iyi görünümünü bulun.", "Enter your Full Name or Initials to create Signature" : "İmza oluşturmak için tam adınızı ya da baş harflerini yazın", "Requested by {name}, at {date}" : "{name} tarafından {date} tarihinde istendi", + "Enter who will receive the request" : "İsteği kimin alacağını yazın", "Signatures" : "İmzalar", "Search signer by account" : "İmzalayıcıyı hesaba göre ara", "Name" : "Ad", @@ -183,10 +192,13 @@ OC.L10N.register( "Sign" : "İmzala", "Request signatures?" : "İmza isteğinde bulunulsun mu?", "Element created" : "Bileşen eklendi", + "signed at {date}" : "{date} tarihinde imzalandı", "Details" : "Ayrıntılar", - "Password & Security" : "Parola ve güvenlik", - "Create password key" : "Parola anahtarı üret", - "Reset password" : "Parolayı sıfırla", + "Certificate" : "Sertifika", + "Upload certificate" : "Sertifika yükle", + "Delete certificate" : "Sertifikayı sil", + "Create certificate" : "Sertifika oluştur", + "Change password" : "Parolayı değiştir", "Not sent yet" : "Henüz gönderilmemiş", "Not defined yet" : "Henüz tanımlanmamış", "Select a file" : "Bir dosya seçin", @@ -207,7 +219,6 @@ OC.L10N.register( "Password Creation" : "Parola oluşturma", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Güvenlik nedeniyle, belgeleri imzalayabilmek için bir parola oluşturmalısınız. Yeni parolanızı aşağıdaki alana yazın.", "Enter a password" : "Bir parola yazın", - "New password to sign documents has been created" : "Belgeleri imzalamak için yeni parola oluşturuldu", "Error creating new password, please contact the administrator" : "Belgeyi imzalamak için yeni parola oluşturulurken sorun çıktı. Lütfen BT yöneticiniz ile görüşün", "Create new subscription." : "Yeni abonelik ekle.", "Root certificate has not been configured by the Administrator!" : "Kök sertifika Yönetici tarafından yapılandırılmamış!", @@ -235,13 +246,14 @@ OC.L10N.register( "The admin hasn't set up LibreSign yet, please wait." : "Yönetici henüz LibreSign uygulamasını kurmamış. Lütfen bekleyin.", "Request Signatures" : "İmza isteğinde bulun", "Choose the file to request signatures." : "İmza istenecek dosyayı seçin.", + "Upload from URL" : "Adresten yükle", "Choose from Files" : "Dosyalar uygulamasından seçin", - "Enter the emails that will receive the request" : "İsteğin gönderileceği e-posta adreslerini yazın", - "Signatures for this document have already been requested" : "Bu belge için zaten imzalama isteğinde bulunulmuş", - "Add users" : "Kullanıcı ekle", + "URL of a PDF file" : "Bir PDF dosyasının adresi", + "Send" : "Gönder", "Select your file" : "Dosyanızı seçin", "Password reset" : "Parolayı sıfırla", "Enter new password and then repeat it" : "Yeni parolayı ve parola onayını yazın", + "Current password" : "Geçerli parola", "New password" : "Yeni parola", "Repeat password" : "Parola onayı", "Allow request to sign" : "İmzalama isteğinde bulunun", @@ -252,12 +264,13 @@ OC.L10N.register( "Certificate engine" : "Sertifika işleyici", "Certificate engine to generate the root certificate" : "Kök sertifikayı oluşturan sertifika işleyici", "Select the certificate engine to generate the root certificate" : "Kök sertifikayı oluşturacak sertifika işleyiciyi seçin", + "I will not use root certificate" : "Kök sertifikayı kullanmayacağım", "Collect signers' metadata when signing a document" : "Bir belge imzalanırken imzalayanın üst verileri alınsın", "Collect signers' metadata" : "İmzalayanın üst verileri alınsın", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Bu seçenek etkinleştirildiğinde, LibreSign bir belge imzalanırken imzalayanın IP adresini ve kullandığı uygulamayı kaydeder.", "Message" : "İleti", "Resource" : "Kaynak", - "Advice" : "Öneri", + "Tip" : "İpucu", "Configuration check" : "Yapılandırma denetimi", "Status of setup" : "Kurulum durumu", "Customize default user folder" : "Varsayılan kullanıcı klasörünü özelleştir", @@ -276,6 +289,8 @@ OC.L10N.register( "Allow account creation for new users" : "Yeni kullanıcı hesapları oluşturulabilsin", "Allows sending registration email when the user does not have an account." : "Kullanıcının hesabı yoksa bir kayıt e-postası gönderilmesini sağlar.", "Default signature method" : "Varsayılan imzalama yöntemi", + "Identify factors" : "Tanıma etkenleri", + "Ways to identify a person who will sign a document." : "Bir belgeyi imzalayan kişiyi tanıma yöntemleri.", "Legal Information" : "Yasal bilgiler", "Legal information" : "Yasal bilgiler", "This information will appear on the validation page" : "Bu bilgiler doğrulama sayfasında görüntülenir", @@ -287,12 +302,13 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "Bu kopyanın ana kuruluşunun tam adı ya da ana kullanıcısı", "Define custom values to use {engine}" : "{engine} kullanacak özel değerleri tanımlayın", "Not mandatory, don't fill to use default value." : "Zorunlu değildir. Varsayılan değerin kullanılması için boş bırakın.", - "Root certificate data." : "Kök sertifika verileri.", + "Root certificate data" : "Kök sertifika verileri", "To generate new signatures, you must first generate the root certificate." : "Yeni imzalar oluşturmak için, öncelikle bir kök sertifika üretmelisiniz.", - "Generate root certificate." : "Kök sertifikası üret.", + "Generate root certificate" : "Kök sertifikası üret", "Generating certificate." : "Sertifika üretiliyor.", "Could not generate certificate." : "Sertifika üretilemedi.", "Generated certificate!" : "Sertifika üretildi!", + "Make validation URL acessible only by authenticated users" : "Doğrulama adresine yalnızca kimliği doğrulanmış kullanıcılar erişebilsin", "Add visible footer with signature details" : "İmza bilgileri ile görülebilir bir alt bilgi eklensin", "Write QR code on footer with validation URL" : "Alt bilgiye doğrulama adresi ile QR kodu ekleyin", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "Belgelerin imzasını doğrulamak için. Bu değeri yalnızca varsayılan doğrulama adresini değiştirmek istiyorsanız değiştirin.", @@ -340,14 +356,19 @@ OC.L10N.register( "Validate File" : "Dosyayı doğrula", "Add visible signatures" : "Görülebilir imza ekle", "Are you sure you want to exclude user {email} from the request?" : "{email} kullanıcısını istekten çıkarmak istediğinize emin misiniz?", + "Password & Security" : "Parola ve güvenlik", + "Create password key" : "Parola anahtarı üret", + "Reset password" : "Parolayı sıfırla", "Nothing to do" : "Yapılabilecek bir şey yok", "Validate Document" : "Belgeyi doğrula", "Do you want to configure visible elements in this document?" : "Bu belgede görülebilecek bileşenleri yapılandırmak ister misiniz?", - "Collect signers metadata when sign a document" : "Bir belge imzalanırken imzalayanın üst verileri alınsın", - "Collect signers metadata" : "İmzalayanın üst verileri alınsın", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Bu seçenek etkinleştirildiğinde, LibreSign bir belge imzalanırken imzalayanın IP adresini ve kullandığı uygulamayı kaydeder.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Çalışması için gereken binary dosyaları. Yaklaşık 340 Mb indirilecek, lütfen bekleyin.", + "Enter the emails that will receive the request" : "İsteğin gönderileceği e-posta adreslerini yazın", + "Signatures for this document have already been requested" : "Bu belge için zaten imzalama isteğinde bulunulmuş", + "Add users" : "Kullanıcı ekle", + "Advice" : "Öneri", "Define custom values to use CFSSL" : "CFSSL kullanacak özel değerleri tanımlayın", + "Root certificate data." : "Kök sertifika verileri.", + "Generate root certificate." : "Kök sertifikası üret.", "Remove" : "Kaldır" }, "nplurals=2; plural=(n > 1);"); diff --git a/l10n/tr.json b/l10n/tr.json index 23614eeecf..687d02d48d 100644 --- a/l10n/tr.json +++ b/l10n/tr.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "UUID geçersiz", "Success" : "Tamamlandı", "Invalid user or password" : "Kullanıcı adı ya da parola geçersiz", "_Element created with success_::_Elements created with success_" : ["Bileşen oluşturuldu","Bileşen oluşturuldu"], @@ -7,6 +8,9 @@ "Element updated with success" : "Bileşen güncellendi", "Visible element deleted" : "Görülebilir bileşen silindi", "Settings saved" : "Ayarlar kaydedildi", + "Certificate file deleted with success." : "Sertifika dosyası silindi.", + "Certificate file saved with success." : "Sertifika dosyası kaydedildi.", + "New password to sign documents has been created" : "Belgeleri imzalamak için yeni parola oluşturuldu", "Name is mandatory" : "Adın yazılması zorunludur", "Notification sent with success." : "Bildirim gönderildi.", "File signed" : "Dosya imzalanmış", @@ -26,10 +30,13 @@ "Invalid Sign engine." : "İmza işleyici geçersiz.", "Digital signed by LibreSign." : "LibreSign tarafından sayısal olarak imzalanmış. ", "Validate in %s." : "%s içinde doğrulayın.", + "Invalid data to validate file" : "Dosyayı doğrulamak için veriler geçersiz", "File type: %s. Empty file." : "Dosya türü: %s. Boş dosya.", "Elements of type %s need file." : "%s türündeki bileşenleri dosyası olmalı.", "File type: %s. Specify a URL, a base64 string or a fileID." : "Dosya türü: %s. Bir adres, bir base64 kodu ya da bir dosya kodu belirtin.", "File type: %s. Invalid fileID." : "Dosya türü: %s. Dosya kodu geçersiz.", + "User not found." : "Kullanıcı bulunamadı.", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "Dosya türü: %s. Bir adres, bir base64 kodu, yol ya da bir dosya kimliği belirtin.", "document to sign" : "imzalanacak belge", "visible element" : "görülebilir bileşen", "File type: %s. Invalid base64 file." : "Dosya türü: %s. base64 dosyası geçersiz.", @@ -56,7 +63,6 @@ "Sign process already started. Unable to change status." : "İmzalama işlemine zaten başlanmış. Durum değiştirilemedi.", "Inform or UUID or a File object" : "Bilgi ya da UUID ya da dosya nesnesi", "No user data" : "Kullanıcı verisi yok", - "User not found." : "Kullanıcı bulunamadı.", "User %s has no email address." : "%s kullanıcısının bir e-posta adresi yok.", "Email required" : "E-posta adresinin yazılması zorunludur.", "Invalid email" : "E-posta adresi geçersiz", @@ -64,7 +70,6 @@ "No signature was requested to %s" : "%s için imza istenmemiş", "%s already signed this file" : "%s bu dosyayı zaten imzalamış", "Invalid UUID file" : "UUID dosyası geçersiz", - "Invalid UUID" : "UUID geçersiz", "Signer not associated to this file" : "İmzalayan bu dosya ile ilişkilendirilmemiş", "A file of this type has been associated." : "Bu dosya türü ilişkilendirilmiş.", "Empty identify data." : "Kimlik verilerini kaldır.", @@ -87,7 +92,9 @@ "Invalid URL file" : "Adres dosyası geçersiz", "Visible element file must be png." : "Görülebilir bileşen dosyası png olmalıdır.", "Empty file" : "Dosya boş", - "Invalid data to validate file" : "Dosyayı doğrulamak için veriler geçersiz", + "No certificate file provided" : "Herhangi bir sertifika dosyası belirtilmemiş", + "Invalid file provided. Need to be a .pfx file." : "Belirtilen dosya geçersiz. Bir .pfx dosyası belirtilmeli.", + "File is too big" : "Dosya çok büyük", "Invalid file identifier" : "Dosya belirteci geçersiz", "You need to sign this document" : "Bu belgeyi imzalamanız gerekiyor", "You cannot request signature for this document, please contact your administrator" : "Bu belge için imzalama isteğinde bulunamazsınız, lütfen sistem yöneticinizle görüşün", @@ -102,7 +109,7 @@ "Email" : "E-posta adresi", "User already exists" : "Kullanıcı zaten var", "This is not your file" : "Bu dosya sizin değil", - "Password" : "Parola", + "Certificate with password" : "Parola ile korunmuş sertifika", "Invalid password" : "Parola geçersiz", "LibreSign: Changes into a file for you to sign" : "LibreSign: Dosyada imzalayacağınız değişiklikler var", "File to sign" : "İmzalanacak dosya", @@ -139,6 +146,7 @@ "LibreSign, digital signature app for Nextcloud." : "Nextcloud için LibreSign sayısal imzalama uygulaması.", "Authentication required" : "Kimlik doğrulaması gerekli", "This action requires you to confirm your password" : "Bu işlemi yapabilmek için parolanızı yazmalısınız", + "Password" : "Parola", "Confirm" : "Onayla", "Incorrect password!" : "Parola yanlış!", "Text" : "Metin", @@ -154,6 +162,7 @@ "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "Görseli yakınlaştırmak veya uzaklaştırmak için farenizin tekerleğini kullanın ve imzanızın en iyi görünümünü bulun.", "Enter your Full Name or Initials to create Signature" : "İmza oluşturmak için tam adınızı ya da baş harflerini yazın", "Requested by {name}, at {date}" : "{name} tarafından {date} tarihinde istendi", + "Enter who will receive the request" : "İsteği kimin alacağını yazın", "Signatures" : "İmzalar", "Search signer by account" : "İmzalayıcıyı hesaba göre ara", "Name" : "Ad", @@ -181,10 +190,13 @@ "Sign" : "İmzala", "Request signatures?" : "İmza isteğinde bulunulsun mu?", "Element created" : "Bileşen eklendi", + "signed at {date}" : "{date} tarihinde imzalandı", "Details" : "Ayrıntılar", - "Password & Security" : "Parola ve güvenlik", - "Create password key" : "Parola anahtarı üret", - "Reset password" : "Parolayı sıfırla", + "Certificate" : "Sertifika", + "Upload certificate" : "Sertifika yükle", + "Delete certificate" : "Sertifikayı sil", + "Create certificate" : "Sertifika oluştur", + "Change password" : "Parolayı değiştir", "Not sent yet" : "Henüz gönderilmemiş", "Not defined yet" : "Henüz tanımlanmamış", "Select a file" : "Bir dosya seçin", @@ -205,7 +217,6 @@ "Password Creation" : "Parola oluşturma", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "Güvenlik nedeniyle, belgeleri imzalayabilmek için bir parola oluşturmalısınız. Yeni parolanızı aşağıdaki alana yazın.", "Enter a password" : "Bir parola yazın", - "New password to sign documents has been created" : "Belgeleri imzalamak için yeni parola oluşturuldu", "Error creating new password, please contact the administrator" : "Belgeyi imzalamak için yeni parola oluşturulurken sorun çıktı. Lütfen BT yöneticiniz ile görüşün", "Create new subscription." : "Yeni abonelik ekle.", "Root certificate has not been configured by the Administrator!" : "Kök sertifika Yönetici tarafından yapılandırılmamış!", @@ -233,13 +244,14 @@ "The admin hasn't set up LibreSign yet, please wait." : "Yönetici henüz LibreSign uygulamasını kurmamış. Lütfen bekleyin.", "Request Signatures" : "İmza isteğinde bulun", "Choose the file to request signatures." : "İmza istenecek dosyayı seçin.", + "Upload from URL" : "Adresten yükle", "Choose from Files" : "Dosyalar uygulamasından seçin", - "Enter the emails that will receive the request" : "İsteğin gönderileceği e-posta adreslerini yazın", - "Signatures for this document have already been requested" : "Bu belge için zaten imzalama isteğinde bulunulmuş", - "Add users" : "Kullanıcı ekle", + "URL of a PDF file" : "Bir PDF dosyasının adresi", + "Send" : "Gönder", "Select your file" : "Dosyanızı seçin", "Password reset" : "Parolayı sıfırla", "Enter new password and then repeat it" : "Yeni parolayı ve parola onayını yazın", + "Current password" : "Geçerli parola", "New password" : "Yeni parola", "Repeat password" : "Parola onayı", "Allow request to sign" : "İmzalama isteğinde bulunun", @@ -250,12 +262,13 @@ "Certificate engine" : "Sertifika işleyici", "Certificate engine to generate the root certificate" : "Kök sertifikayı oluşturan sertifika işleyici", "Select the certificate engine to generate the root certificate" : "Kök sertifikayı oluşturacak sertifika işleyiciyi seçin", + "I will not use root certificate" : "Kök sertifikayı kullanmayacağım", "Collect signers' metadata when signing a document" : "Bir belge imzalanırken imzalayanın üst verileri alınsın", "Collect signers' metadata" : "İmzalayanın üst verileri alınsın", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "Bu seçenek etkinleştirildiğinde, LibreSign bir belge imzalanırken imzalayanın IP adresini ve kullandığı uygulamayı kaydeder.", "Message" : "İleti", "Resource" : "Kaynak", - "Advice" : "Öneri", + "Tip" : "İpucu", "Configuration check" : "Yapılandırma denetimi", "Status of setup" : "Kurulum durumu", "Customize default user folder" : "Varsayılan kullanıcı klasörünü özelleştir", @@ -274,6 +287,8 @@ "Allow account creation for new users" : "Yeni kullanıcı hesapları oluşturulabilsin", "Allows sending registration email when the user does not have an account." : "Kullanıcının hesabı yoksa bir kayıt e-postası gönderilmesini sağlar.", "Default signature method" : "Varsayılan imzalama yöntemi", + "Identify factors" : "Tanıma etkenleri", + "Ways to identify a person who will sign a document." : "Bir belgeyi imzalayan kişiyi tanıma yöntemleri.", "Legal Information" : "Yasal bilgiler", "Legal information" : "Yasal bilgiler", "This information will appear on the validation page" : "Bu bilgiler doğrulama sayfasında görüntülenir", @@ -285,12 +300,13 @@ "Full name of the main company or main user of this instance" : "Bu kopyanın ana kuruluşunun tam adı ya da ana kullanıcısı", "Define custom values to use {engine}" : "{engine} kullanacak özel değerleri tanımlayın", "Not mandatory, don't fill to use default value." : "Zorunlu değildir. Varsayılan değerin kullanılması için boş bırakın.", - "Root certificate data." : "Kök sertifika verileri.", + "Root certificate data" : "Kök sertifika verileri", "To generate new signatures, you must first generate the root certificate." : "Yeni imzalar oluşturmak için, öncelikle bir kök sertifika üretmelisiniz.", - "Generate root certificate." : "Kök sertifikası üret.", + "Generate root certificate" : "Kök sertifikası üret", "Generating certificate." : "Sertifika üretiliyor.", "Could not generate certificate." : "Sertifika üretilemedi.", "Generated certificate!" : "Sertifika üretildi!", + "Make validation URL acessible only by authenticated users" : "Doğrulama adresine yalnızca kimliği doğrulanmış kullanıcılar erişebilsin", "Add visible footer with signature details" : "İmza bilgileri ile görülebilir bir alt bilgi eklensin", "Write QR code on footer with validation URL" : "Alt bilgiye doğrulama adresi ile QR kodu ekleyin", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "Belgelerin imzasını doğrulamak için. Bu değeri yalnızca varsayılan doğrulama adresini değiştirmek istiyorsanız değiştirin.", @@ -338,14 +354,19 @@ "Validate File" : "Dosyayı doğrula", "Add visible signatures" : "Görülebilir imza ekle", "Are you sure you want to exclude user {email} from the request?" : "{email} kullanıcısını istekten çıkarmak istediğinize emin misiniz?", + "Password & Security" : "Parola ve güvenlik", + "Create password key" : "Parola anahtarı üret", + "Reset password" : "Parolayı sıfırla", "Nothing to do" : "Yapılabilecek bir şey yok", "Validate Document" : "Belgeyi doğrula", "Do you want to configure visible elements in this document?" : "Bu belgede görülebilecek bileşenleri yapılandırmak ister misiniz?", - "Collect signers metadata when sign a document" : "Bir belge imzalanırken imzalayanın üst verileri alınsın", - "Collect signers metadata" : "İmzalayanın üst verileri alınsın", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "Bu seçenek etkinleştirildiğinde, LibreSign bir belge imzalanırken imzalayanın IP adresini ve kullandığı uygulamayı kaydeder.", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "Çalışması için gereken binary dosyaları. Yaklaşık 340 Mb indirilecek, lütfen bekleyin.", + "Enter the emails that will receive the request" : "İsteğin gönderileceği e-posta adreslerini yazın", + "Signatures for this document have already been requested" : "Bu belge için zaten imzalama isteğinde bulunulmuş", + "Add users" : "Kullanıcı ekle", + "Advice" : "Öneri", "Define custom values to use CFSSL" : "CFSSL kullanacak özel değerleri tanımlayın", + "Root certificate data." : "Kök sertifika verileri.", + "Generate root certificate." : "Kök sertifikası üret.", "Remove" : "Kaldır" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/l10n/ug.js b/l10n/ug.js index d65a657dbc..870fd4d9d1 100644 --- a/l10n/ug.js +++ b/l10n/ug.js @@ -2,9 +2,9 @@ OC.L10N.register( "libresign", { "Email" : "تورخەت", - "Password" : "ئىم", "Files" : "ھۆججەتلەر", "Settings" : "تەڭشەكلەر", + "Password" : "ئىم", "Upload" : "يۈكلە", "Cancel" : "ۋاز كەچ", "Save" : "ساقلا", @@ -22,6 +22,8 @@ OC.L10N.register( "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "يوللا", + "Current password" : "نۆۋەتتىكى ئىم", "New password" : "يېڭى ئىم", "Pending" : "كۈتۈۋاتىدۇ", "No date" : "No date", diff --git a/l10n/ug.json b/l10n/ug.json index 5e8feff71a..f62bb0ae7c 100644 --- a/l10n/ug.json +++ b/l10n/ug.json @@ -1,8 +1,8 @@ { "translations": { "Email" : "تورخەت", - "Password" : "ئىم", "Files" : "ھۆججەتلەر", "Settings" : "تەڭشەكلەر", + "Password" : "ئىم", "Upload" : "يۈكلە", "Cancel" : "ۋاز كەچ", "Save" : "ساقلا", @@ -20,6 +20,8 @@ "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "يوللا", + "Current password" : "نۆۋەتتىكى ئىم", "New password" : "يېڭى ئىم", "Pending" : "كۈتۈۋاتىدۇ", "No date" : "No date", diff --git a/l10n/uk.js b/l10n/uk.js index a5cce805b1..73dec2fd82 100644 --- a/l10n/uk.js +++ b/l10n/uk.js @@ -10,16 +10,17 @@ OC.L10N.register( "File not found" : "Файл не знайдено", "File already exists" : "Файл вже існує", "Empty file" : "Порожній файл", + "File is too big" : "Файл занадто великий", "Account" : "Обліковий запис", "Invalid user" : "Неправильний користувач", "Email" : "Електронна пошта", "User already exists" : "Користувач вже існує", - "Password" : "Пароль", "Sign »%s«" : "Зареєструватися \"%s\"", "Files" : "Робота з файлами", "Settings" : "Налаштування", - "Authentication required" : "Необхідна авторизація", + "Authentication required" : "Потрібна авторизація", "This action requires you to confirm your password" : "Ця дія потребує підтвердження вашого пароля", + "Password" : "Пароль", "Confirm" : "Підтвердити", "Text" : "Текст", "Draw" : "Малювати", @@ -39,7 +40,7 @@ OC.L10N.register( "Next" : "Далі", "Previous" : "Назад", "Details" : "Деталі", - "Reset password" : "Перевстановити пароль", + "Certificate" : "Сертифікат", "Select a file" : "Select a file", "Type" : "Тип", "Status" : "Статус", @@ -51,8 +52,9 @@ OC.L10N.register( "Yes" : "Так", "No" : "Ні", "Page not found" : "Сторінку не знайдено", - "Add users" : "Додати користувачів", + "Send" : "Надіслати", "Password reset" : "Перевстановлення пароля", + "Current password" : "Поточний пароль", "New password" : "Новий пароль", "Repeat password" : "Повторіть пароль", "Message" : "Повідомлення", @@ -61,6 +63,8 @@ OC.L10N.register( "Loading …" : "Завантаження …", "Pending" : "Очікування", "No date" : "Без дати", + "Reset password" : "Перевстановити пароль", + "Add users" : "Додати користувачів", "Remove" : "Вилучити" }, "nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"); diff --git a/l10n/uk.json b/l10n/uk.json index 4a11c25d32..47d6c8ce19 100644 --- a/l10n/uk.json +++ b/l10n/uk.json @@ -8,16 +8,17 @@ "File not found" : "Файл не знайдено", "File already exists" : "Файл вже існує", "Empty file" : "Порожній файл", + "File is too big" : "Файл занадто великий", "Account" : "Обліковий запис", "Invalid user" : "Неправильний користувач", "Email" : "Електронна пошта", "User already exists" : "Користувач вже існує", - "Password" : "Пароль", "Sign »%s«" : "Зареєструватися \"%s\"", "Files" : "Робота з файлами", "Settings" : "Налаштування", - "Authentication required" : "Необхідна авторизація", + "Authentication required" : "Потрібна авторизація", "This action requires you to confirm your password" : "Ця дія потребує підтвердження вашого пароля", + "Password" : "Пароль", "Confirm" : "Підтвердити", "Text" : "Текст", "Draw" : "Малювати", @@ -37,7 +38,7 @@ "Next" : "Далі", "Previous" : "Назад", "Details" : "Деталі", - "Reset password" : "Перевстановити пароль", + "Certificate" : "Сертифікат", "Select a file" : "Select a file", "Type" : "Тип", "Status" : "Статус", @@ -49,8 +50,9 @@ "Yes" : "Так", "No" : "Ні", "Page not found" : "Сторінку не знайдено", - "Add users" : "Додати користувачів", + "Send" : "Надіслати", "Password reset" : "Перевстановлення пароля", + "Current password" : "Поточний пароль", "New password" : "Новий пароль", "Repeat password" : "Повторіть пароль", "Message" : "Повідомлення", @@ -59,6 +61,8 @@ "Loading …" : "Завантаження …", "Pending" : "Очікування", "No date" : "Без дати", + "Reset password" : "Перевстановити пароль", + "Add users" : "Додати користувачів", "Remove" : "Вилучити" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (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/ur_PK.js b/l10n/ur_PK.js index 5e7a0a0209..751c4f38ce 100644 --- a/l10n/ur_PK.js +++ b/l10n/ur_PK.js @@ -2,8 +2,8 @@ OC.L10N.register( "libresign", { "Email" : "email", - "Password" : "پاسورڈ", "Settings" : "سیٹینگز", + "Password" : "پاسورڈ", "Cancel" : "منسوخ کریں", "Save" : "حفظ", "Name" : "اسم", @@ -12,13 +12,14 @@ OC.L10N.register( "Users" : "صارفین", "Delete" : "حذف کریں", "Next" : "اگلا", - "Reset password" : "ری سیٹ پاسورڈ", "Select a file" : "Select a file", "Type" : "Type", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "بھجیں", "New password" : "نیا پاسورڈ", - "No date" : "No date" + "No date" : "No date", + "Reset password" : "ری سیٹ پاسورڈ" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/ur_PK.json b/l10n/ur_PK.json index 1023be9a32..319d679822 100644 --- a/l10n/ur_PK.json +++ b/l10n/ur_PK.json @@ -1,7 +1,7 @@ { "translations": { "Email" : "email", - "Password" : "پاسورڈ", "Settings" : "سیٹینگز", + "Password" : "پاسورڈ", "Cancel" : "منسوخ کریں", "Save" : "حفظ", "Name" : "اسم", @@ -10,13 +10,14 @@ "Users" : "صارفین", "Delete" : "حذف کریں", "Next" : "اگلا", - "Reset password" : "ری سیٹ پاسورڈ", "Select a file" : "Select a file", "Type" : "Type", "Enter a password" : "Enter a password", "Yes" : "Yes", "No" : "No", + "Send" : "بھجیں", "New password" : "نیا پاسورڈ", - "No date" : "No date" + "No date" : "No date", + "Reset password" : "ری سیٹ پاسورڈ" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/uz.js b/l10n/uz.js index d4fb271a2c..6042bf7b3c 100644 --- a/l10n/uz.js +++ b/l10n/uz.js @@ -4,11 +4,12 @@ OC.L10N.register( "Success" : "Success", "Settings saved" : "Settings saved", "File not found" : "File not found", - "Password" : "Password", + "File is too big" : "File is too big", "Files" : "Files", "Settings" : "Settings", "Authentication required" : "Authentication required", "This action requires you to confirm your password" : "This action requires you to confirm your password", + "Password" : "Password", "Confirm" : "Confirm", "Upload" : "Upload", "Cancel" : "Cancel", @@ -19,15 +20,17 @@ OC.L10N.register( "Users" : "Users", "Delete" : "Delete", "Details" : "Details", - "Reset password" : "Reset password", + "Change password" : "Change password", "Status" : "Status", "Actions" : "Actions", "Profile picture" : "Profil rasmi", "Yes" : "Yes", "No" : "No", "Password reset" : "Password reset", + "Current password" : "Current password", "New password" : "New password", "Pending" : "Pending", + "Reset password" : "Reset password", "Remove" : "Remove" }, "nplurals=1; plural=0;"); diff --git a/l10n/uz.json b/l10n/uz.json index c4d13701a2..f2f5062402 100644 --- a/l10n/uz.json +++ b/l10n/uz.json @@ -2,11 +2,12 @@ "Success" : "Success", "Settings saved" : "Settings saved", "File not found" : "File not found", - "Password" : "Password", + "File is too big" : "File is too big", "Files" : "Files", "Settings" : "Settings", "Authentication required" : "Authentication required", "This action requires you to confirm your password" : "This action requires you to confirm your password", + "Password" : "Password", "Confirm" : "Confirm", "Upload" : "Upload", "Cancel" : "Cancel", @@ -17,15 +18,17 @@ "Users" : "Users", "Delete" : "Delete", "Details" : "Details", - "Reset password" : "Reset password", + "Change password" : "Change password", "Status" : "Status", "Actions" : "Actions", "Profile picture" : "Profil rasmi", "Yes" : "Yes", "No" : "No", "Password reset" : "Password reset", + "Current password" : "Current password", "New password" : "New password", "Pending" : "Pending", + "Reset password" : "Reset password", "Remove" : "Remove" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/vi.js b/l10n/vi.js index 709e547594..2b14d63cac 100644 --- a/l10n/vi.js +++ b/l10n/vi.js @@ -8,13 +8,15 @@ OC.L10N.register( "View" : "Xem", "File not found" : "Không tìm thấy tập tin", "File already exists" : "Tệp đã tồn tại", + "File is too big" : "Tệp quá lớn", "Account" : "Tài khoản", + "Invalid user" : "Người dùng không hợp lệ", "Email" : "Thư điện tử", - "Password" : "Mật khẩu", "Files" : "Tệp", "Settings" : "Cài đặt", "Authentication required" : "Cần phải được xác thực", "This action requires you to confirm your password" : "Để thực hiện hành động này, yêu cầu bạn phải nhập lại mật khẩu", + "Password" : "Mật khẩu", "Confirm" : "Xác nhận", "Text" : "Văn bản", "Upload" : "Tải lên", @@ -33,7 +35,7 @@ OC.L10N.register( "Next" : "Tiếp theo", "Previous" : "Trước", "Details" : "Chi tiết", - "Reset password" : "Khôi phục mật khẩu", + "Certificate" : "Chứng chỉ", "Select a file" : "Select a file", "Type" : "Loại", "Status" : "Trạng thái", @@ -46,14 +48,17 @@ OC.L10N.register( "No" : "Không", "Page not found" : "Trang không tìm thấy", "Choose from Files" : "Chọn từ Tệp", - "Add users" : "Thêm người dùng", + "Send" : "Gửi", "Password reset" : "Đặt lại mật khẩu", + "Current password" : "Mật khẩu cũ", "New password" : "Mật khẩu mới", "Resource" : "Tài nguyên", "Dependencies" : "Các phụ thuộc", "Loading …" : "Đang tải …", "Pending" : "Đang dừng", "No date" : "No date", + "Reset password" : "Khôi phục mật khẩu", + "Add users" : "Thêm người dùng", "Remove" : "Xoá" }, "nplurals=1; plural=0;"); diff --git a/l10n/vi.json b/l10n/vi.json index c5a8459242..a9a0c82fe6 100644 --- a/l10n/vi.json +++ b/l10n/vi.json @@ -6,13 +6,15 @@ "View" : "Xem", "File not found" : "Không tìm thấy tập tin", "File already exists" : "Tệp đã tồn tại", + "File is too big" : "Tệp quá lớn", "Account" : "Tài khoản", + "Invalid user" : "Người dùng không hợp lệ", "Email" : "Thư điện tử", - "Password" : "Mật khẩu", "Files" : "Tệp", "Settings" : "Cài đặt", "Authentication required" : "Cần phải được xác thực", "This action requires you to confirm your password" : "Để thực hiện hành động này, yêu cầu bạn phải nhập lại mật khẩu", + "Password" : "Mật khẩu", "Confirm" : "Xác nhận", "Text" : "Văn bản", "Upload" : "Tải lên", @@ -31,7 +33,7 @@ "Next" : "Tiếp theo", "Previous" : "Trước", "Details" : "Chi tiết", - "Reset password" : "Khôi phục mật khẩu", + "Certificate" : "Chứng chỉ", "Select a file" : "Select a file", "Type" : "Loại", "Status" : "Trạng thái", @@ -44,14 +46,17 @@ "No" : "Không", "Page not found" : "Trang không tìm thấy", "Choose from Files" : "Chọn từ Tệp", - "Add users" : "Thêm người dùng", + "Send" : "Gửi", "Password reset" : "Đặt lại mật khẩu", + "Current password" : "Mật khẩu cũ", "New password" : "Mật khẩu mới", "Resource" : "Tài nguyên", "Dependencies" : "Các phụ thuộc", "Loading …" : "Đang tải …", "Pending" : "Đang dừng", "No date" : "No date", + "Reset password" : "Khôi phục mật khẩu", + "Add users" : "Thêm người dùng", "Remove" : "Xoá" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/zh_CN.js b/l10n/zh_CN.js index 8e0cbb2e91..0cec75d50e 100644 --- a/l10n/zh_CN.js +++ b/l10n/zh_CN.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "无效 UUID", "Success" : "成功", "Invalid user or password" : "无效用户或密码", "_Element created with success_::_Elements created with success_" : ["成功创建了元素"], @@ -9,6 +10,7 @@ OC.L10N.register( "Element updated with success" : "成功更新了元素", "Visible element deleted" : "删除了可见元素", "Settings saved" : "已保存设置", + "New password to sign documents has been created" : "已创建签署文档的新密码", "Name is mandatory" : "名称是强制的", "Notification sent with success." : "成功发送了邀请", "File signed" : "签署的文件", @@ -26,9 +28,11 @@ OC.L10N.register( "Invalid Sign engine." : "无效的签名引擎", "Digital signed by LibreSign." : "由 LibreSign 进行数字签名", "Validate in %s." : "在 %s 中验证", + "Invalid data to validate file" : "验证文件的数据无效", "File type: %s. Empty file." : "文件类型:%s。空文件", "Elements of type %s need file." : "类型 %s 的元素需要文件", "File type: %s. Invalid fileID." : "文件类型:%s。无效的 fileID", + "User not found." : "未找到用户", "document to sign" : "要签名的文档", "visible element" : "可见元素", "File type: %s. Invalid base64 file." : "文件类型:%s。无效的 base64 文件", @@ -55,7 +59,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "签署过程已启动。无法更改状态。", "Inform or UUID or a File object" : "通知或 UUID 或一个文件对象", "No user data" : "没有用户数据", - "User not found." : "未找到用户", "User %s has no email address." : "用户 %s 没有电子邮箱", "Email required" : "需要电子邮箱", "Invalid email" : "无效电子邮件", @@ -63,7 +66,6 @@ OC.L10N.register( "No signature was requested to %s" : "没有发给 %s 的签名请求", "%s already signed this file" : "%s已经签署了这个文件", "Invalid UUID file" : "无效的 UUID 文件", - "Invalid UUID" : "无效 UUID", "Signer not associated to this file" : "签署者未关联到此文件", "A file of this type has been associated." : "已关联此类型的文件", "File already signed." : "文件已被签署。", @@ -82,7 +84,7 @@ OC.L10N.register( "Invalid URL file" : "无效的 URL 文件", "Visible element file must be png." : "可见元素文件必须是 png", "Empty file" : "空文件", - "Invalid data to validate file" : "验证文件的数据无效", + "File is too big" : "文件太大", "Invalid file identifier" : "无效的文件标识符", "You need to sign this document" : "你需要在这份文件上签字", "You cannot request signature for this document, please contact your administrator" : "你不能请求此文档签名,请与管理员联系", @@ -96,7 +98,6 @@ OC.L10N.register( "Email" : "邮箱", "User already exists" : "用户已存在", "This is not your file" : "这不是你的文件", - "Password" : "密码", "Invalid password" : "无效的密码", "LibreSign: Changes into a file for you to sign" : "LibreSign:一份要你签字的文件有多处变化", "File to sign" : "要签字的文件", @@ -126,6 +127,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign,Nextcloud 的数字签名应用", "Authentication required" : "需要身份验证", "This action requires you to confirm your password" : "此操作需要你确认你的密码", + "Password" : "密码", "Confirm" : "确认", "Incorrect password!" : "密码不正确!", "Text" : "文本 ", @@ -159,9 +161,9 @@ OC.L10N.register( "Request signatures?" : "请求签名?", "Element created" : "已创建元素", "Details" : "详情", - "Password & Security" : "密码 & 安全性", - "Create password key" : "创建密码钥匙 ", - "Reset password" : "重置密码", + "Certificate" : "证书", + "Delete certificate" : "删除证书", + "Change password" : "修改密码", "Select a file" : "Select a file", "Type" : "类型", "Status" : "状态", @@ -176,7 +178,6 @@ OC.L10N.register( "Password Creation" : "密码创建", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "出于安全原因,您必须创建一个密码来签署文档。在下面的字段中输入你的新密码。", "Enter a password" : "输入密码", - "New password to sign documents has been created" : "已创建签署文档的新密码", "Error creating new password, please contact the administrator" : "创建新密码出错,请联系管理员", "Create new subscription." : "创建新订阅", "Root certificate has not been configured by the Administrator!" : "管理员尚未配置根证书!", @@ -203,17 +204,15 @@ OC.L10N.register( "Request Signatures" : "请求签名", "Choose the file to request signatures." : "选择请求签名的文件", "Choose from Files" : "从文件选择", - "Enter the emails that will receive the request" : "输入接收请求的电子邮件地址", - "Signatures for this document have already been requested" : "已请求此文档的签名", - "Add users" : "添加用户", + "Send" : "发送", "Select your file" : "选择你的文件", "Password reset" : "密码重置", "Enter new password and then repeat it" : "输入新密码并重复一次", + "Current password" : "当前密码", "New password" : "新密码", "Repeat password" : "重复密码", "Message" : "消息", "Resource" : "源", - "Advice" : "建议", "Configuration check" : "配置检查", "Dependencies" : "附属", "Legal Information" : "法律信息", @@ -222,9 +221,8 @@ OC.L10N.register( "Name (CN)" : "名称 (CN)", "CFSSL API URI" : "CFSSL API URI ", "Config path" : "配置路径", - "Root certificate data." : "根证书数据", "To generate new signatures, you must first generate the root certificate." : "要生成新的签名,你必须首先生成根证书。", - "Generate root certificate." : "生成根证书", + "Generate root certificate" : "生成根证书", "Generating certificate." : "生成证书中", "Could not generate certificate." : "无法生成证书", "Generated certificate!" : "已生成证书!", @@ -264,8 +262,17 @@ OC.L10N.register( "Remove duplicated users, email address need to be unique" : "删除重复的用户,电子邮件地址需要是唯一的", "Validate File" : "验证文件", "Are you sure you want to exclude user {email} from the request?" : "你确定想把用户 {email} 排除于请求之外吗?", + "Password & Security" : "密码 & 安全性", + "Create password key" : "创建密码钥匙 ", + "Reset password" : "重置密码", "Validate Document" : "验证文档", "Do you want to configure visible elements in this document?" : "是否要配置此文档中的可见元素?", + "Enter the emails that will receive the request" : "输入接收请求的电子邮件地址", + "Signatures for this document have already been requested" : "已请求此文档的签名", + "Add users" : "添加用户", + "Advice" : "建议", + "Root certificate data." : "根证书数据", + "Generate root certificate." : "生成根证书", "Remove" : "删除" }, "nplurals=1; plural=0;"); diff --git a/l10n/zh_CN.json b/l10n/zh_CN.json index 3699c50d12..7bfc70eade 100644 --- a/l10n/zh_CN.json +++ b/l10n/zh_CN.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "无效 UUID", "Success" : "成功", "Invalid user or password" : "无效用户或密码", "_Element created with success_::_Elements created with success_" : ["成功创建了元素"], @@ -7,6 +8,7 @@ "Element updated with success" : "成功更新了元素", "Visible element deleted" : "删除了可见元素", "Settings saved" : "已保存设置", + "New password to sign documents has been created" : "已创建签署文档的新密码", "Name is mandatory" : "名称是强制的", "Notification sent with success." : "成功发送了邀请", "File signed" : "签署的文件", @@ -24,9 +26,11 @@ "Invalid Sign engine." : "无效的签名引擎", "Digital signed by LibreSign." : "由 LibreSign 进行数字签名", "Validate in %s." : "在 %s 中验证", + "Invalid data to validate file" : "验证文件的数据无效", "File type: %s. Empty file." : "文件类型:%s。空文件", "Elements of type %s need file." : "类型 %s 的元素需要文件", "File type: %s. Invalid fileID." : "文件类型:%s。无效的 fileID", + "User not found." : "未找到用户", "document to sign" : "要签名的文档", "visible element" : "可见元素", "File type: %s. Invalid base64 file." : "文件类型:%s。无效的 base64 文件", @@ -53,7 +57,6 @@ "Sign process already started. Unable to change status." : "签署过程已启动。无法更改状态。", "Inform or UUID or a File object" : "通知或 UUID 或一个文件对象", "No user data" : "没有用户数据", - "User not found." : "未找到用户", "User %s has no email address." : "用户 %s 没有电子邮箱", "Email required" : "需要电子邮箱", "Invalid email" : "无效电子邮件", @@ -61,7 +64,6 @@ "No signature was requested to %s" : "没有发给 %s 的签名请求", "%s already signed this file" : "%s已经签署了这个文件", "Invalid UUID file" : "无效的 UUID 文件", - "Invalid UUID" : "无效 UUID", "Signer not associated to this file" : "签署者未关联到此文件", "A file of this type has been associated." : "已关联此类型的文件", "File already signed." : "文件已被签署。", @@ -80,7 +82,7 @@ "Invalid URL file" : "无效的 URL 文件", "Visible element file must be png." : "可见元素文件必须是 png", "Empty file" : "空文件", - "Invalid data to validate file" : "验证文件的数据无效", + "File is too big" : "文件太大", "Invalid file identifier" : "无效的文件标识符", "You need to sign this document" : "你需要在这份文件上签字", "You cannot request signature for this document, please contact your administrator" : "你不能请求此文档签名,请与管理员联系", @@ -94,7 +96,6 @@ "Email" : "邮箱", "User already exists" : "用户已存在", "This is not your file" : "这不是你的文件", - "Password" : "密码", "Invalid password" : "无效的密码", "LibreSign: Changes into a file for you to sign" : "LibreSign:一份要你签字的文件有多处变化", "File to sign" : "要签字的文件", @@ -124,6 +125,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign,Nextcloud 的数字签名应用", "Authentication required" : "需要身份验证", "This action requires you to confirm your password" : "此操作需要你确认你的密码", + "Password" : "密码", "Confirm" : "确认", "Incorrect password!" : "密码不正确!", "Text" : "文本 ", @@ -157,9 +159,9 @@ "Request signatures?" : "请求签名?", "Element created" : "已创建元素", "Details" : "详情", - "Password & Security" : "密码 & 安全性", - "Create password key" : "创建密码钥匙 ", - "Reset password" : "重置密码", + "Certificate" : "证书", + "Delete certificate" : "删除证书", + "Change password" : "修改密码", "Select a file" : "Select a file", "Type" : "类型", "Status" : "状态", @@ -174,7 +176,6 @@ "Password Creation" : "密码创建", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "出于安全原因,您必须创建一个密码来签署文档。在下面的字段中输入你的新密码。", "Enter a password" : "输入密码", - "New password to sign documents has been created" : "已创建签署文档的新密码", "Error creating new password, please contact the administrator" : "创建新密码出错,请联系管理员", "Create new subscription." : "创建新订阅", "Root certificate has not been configured by the Administrator!" : "管理员尚未配置根证书!", @@ -201,17 +202,15 @@ "Request Signatures" : "请求签名", "Choose the file to request signatures." : "选择请求签名的文件", "Choose from Files" : "从文件选择", - "Enter the emails that will receive the request" : "输入接收请求的电子邮件地址", - "Signatures for this document have already been requested" : "已请求此文档的签名", - "Add users" : "添加用户", + "Send" : "发送", "Select your file" : "选择你的文件", "Password reset" : "密码重置", "Enter new password and then repeat it" : "输入新密码并重复一次", + "Current password" : "当前密码", "New password" : "新密码", "Repeat password" : "重复密码", "Message" : "消息", "Resource" : "源", - "Advice" : "建议", "Configuration check" : "配置检查", "Dependencies" : "附属", "Legal Information" : "法律信息", @@ -220,9 +219,8 @@ "Name (CN)" : "名称 (CN)", "CFSSL API URI" : "CFSSL API URI ", "Config path" : "配置路径", - "Root certificate data." : "根证书数据", "To generate new signatures, you must first generate the root certificate." : "要生成新的签名,你必须首先生成根证书。", - "Generate root certificate." : "生成根证书", + "Generate root certificate" : "生成根证书", "Generating certificate." : "生成证书中", "Could not generate certificate." : "无法生成证书", "Generated certificate!" : "已生成证书!", @@ -262,8 +260,17 @@ "Remove duplicated users, email address need to be unique" : "删除重复的用户,电子邮件地址需要是唯一的", "Validate File" : "验证文件", "Are you sure you want to exclude user {email} from the request?" : "你确定想把用户 {email} 排除于请求之外吗?", + "Password & Security" : "密码 & 安全性", + "Create password key" : "创建密码钥匙 ", + "Reset password" : "重置密码", "Validate Document" : "验证文档", "Do you want to configure visible elements in this document?" : "是否要配置此文档中的可见元素?", + "Enter the emails that will receive the request" : "输入接收请求的电子邮件地址", + "Signatures for this document have already been requested" : "已请求此文档的签名", + "Add users" : "添加用户", + "Advice" : "建议", + "Root certificate data." : "根证书数据", + "Generate root certificate." : "生成根证书", "Remove" : "删除" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/zh_HK.js b/l10n/zh_HK.js index 4506a1af3c..7c8134899a 100644 --- a/l10n/zh_HK.js +++ b/l10n/zh_HK.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "無效的 UUID", "Success" : "成功", "Invalid user or password" : "無效的用戶或密碼", "_Element created with success_::_Elements created with success_" : ["成功建立元素"], @@ -9,6 +10,9 @@ OC.L10N.register( "Element updated with success" : "成功更新元素", "Visible element deleted" : "已刪除可見元素", "Settings saved" : "設定已保存", + "Certificate file deleted with success." : "成功刪除憑證檔案。", + "Certificate file saved with success." : "成功保存憑證檔案。", + "New password to sign documents has been created" : "已創建用於簽署文件的新密碼", "Name is mandatory" : "必須有名字", "Notification sent with success." : "通告發送成功。", "File signed" : "檔案已被簽署", @@ -28,10 +32,13 @@ OC.L10N.register( "Invalid Sign engine." : "無效的簽署引擎。", "Digital signed by LibreSign." : "由 LibreSign 進行數碼簽署。", "Validate in %s." : "在 %s 中驗證。", + "Invalid data to validate file" : "用於驗證檔案的數據無效", "File type: %s. Empty file." : "檔案類型:%s。空檔案。", "Elements of type %s need file." : "元素類型 %s 需要檔案。", "File type: %s. Specify a URL, a base64 string or a fileID." : "檔案類型:%s。指定 URL,一個 base64 字串或 fileID。", "File type: %s. Invalid fileID." : "檔案類型:%s。無效的 fileID。", + "User not found." : "未找到用戶。", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "檔案類型:%s。指定 URL、base64 字串、途徑或 fileID。", "document to sign" : "要簽署的文件", "visible element" : "可見元素", "File type: %s. Invalid base64 file." : "檔案類型:%s。無效的 base64 檔案。", @@ -58,7 +65,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "簽署過程已經開始。無法更改狀態。", "Inform or UUID or a File object" : "通知或 UUID 或一个文件对象", "No user data" : "沒有用戶數據", - "User not found." : "未找到用戶。", "User %s has no email address." : "用戶 %s 未提供電郵地址。", "Email required" : "電郵地址為必填", "Invalid email" : "無效的電郵地址", @@ -66,7 +72,6 @@ OC.L10N.register( "No signature was requested to %s" : "沒有發給 %s 的簽署請求", "%s already signed this file" : "%s 已經簽署了此檔案", "Invalid UUID file" : "無效的 UUID 檔案", - "Invalid UUID" : "無效的 UUID", "Signer not associated to this file" : "簽署者與此檔案無關聯", "A file of this type has been associated." : "已關聯此類檔案。", "Empty identify data." : "空的識別數據。", @@ -89,7 +94,7 @@ OC.L10N.register( "Invalid URL file" : "無效的 URL 檔案", "Visible element file must be png." : "可見元素檔案必須為 png。", "Empty file" : "空檔案", - "Invalid data to validate file" : "用於驗證檔案的數據無效", + "File is too big" : "檔案太大", "Invalid file identifier" : "無效的檔案識別碼", "You need to sign this document" : "你需要簽署這份文件", "You cannot request signature for this document, please contact your administrator" : "您無法為此文件請求簽名,請聯絡管理員", @@ -104,7 +109,6 @@ OC.L10N.register( "Email" : "電郵地址", "User already exists" : "用戶已存在", "This is not your file" : "這不是你的檔案", - "Password" : "密碼", "Invalid password" : "無效的密碼", "LibreSign: Changes into a file for you to sign" : "LibreSign︰一份要你簽署的檔案有多處變化", "File to sign" : "要簽署的檔案", @@ -141,6 +145,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign, Nextcloud 的數位簽署應用程式 ", "Authentication required" : "需要認證", "This action requires you to confirm your password" : "此操作需要您再次確認密碼", + "Password" : "密碼", "Confirm" : "確認", "Incorrect password!" : "錯誤的密碼!", "Text" : "文本 ", @@ -183,10 +188,11 @@ OC.L10N.register( "Sign" : "簽署", "Request signatures?" : "請求簽名?", "Element created" : "元素已創建", + "signed at {date}" : "於 {date} 簽署", "Details" : "細節", - "Password & Security" : "密碼與安全", - "Create password key" : "創建密碼密鑰", - "Reset password" : "重設密碼", + "Certificate" : "憑證", + "Delete certificate" : "刪除證書", + "Change password" : "更改密碼", "Not sent yet" : "尚未傳送", "Not defined yet" : "尚未定義", "Select a file" : "選擇檔案", @@ -207,7 +213,6 @@ OC.L10N.register( "Password Creation" : "密碼創建", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "出於安全原因,您必須創建密碼以對文檔進行簽名。在下面的字段中輸入您的新密碼。", "Enter a password" : "輸入密碼", - "New password to sign documents has been created" : "已創建用於簽署文件的新密碼", "Error creating new password, please contact the administrator" : "無法創建密碼,請聯絡管理員。", "Create new subscription." : "建立新訂閱", "Root certificate has not been configured by the Administrator!" : "管理員尚未配置根證書!", @@ -236,12 +241,11 @@ OC.L10N.register( "Request Signatures" : "請求簽名", "Choose the file to request signatures." : "選擇要索取簽名的檔案。", "Choose from Files" : "從檔案選取", - "Enter the emails that will receive the request" : "輸入將接收請求的電郵地址", - "Signatures for this document have already been requested" : "已要求簽署此文件", - "Add users" : "新增用戶", + "Send" : "傳送", "Select your file" : "選擇您的檔案", "Password reset" : "密碼重設", "Enter new password and then repeat it" : "輸入新密碼,然後重複輸入", + "Current password" : "目前密碼", "New password" : "新密碼", "Repeat password" : "重複密碼", "Allow request to sign" : "允許簽署請求", @@ -257,7 +261,7 @@ OC.L10N.register( "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "如果啟用此功能,LibreSign 將在簽署文件時存儲簽名者的 IP 和用戶代理。", "Message" : "訊息", "Resource" : "資源", - "Advice" : "建議", + "Tip" : "提議", "Configuration check" : "配置檢查", "Status of setup" : "配置狀態", "Customize default user folder" : "自定義默認用戶資料夾", @@ -287,9 +291,8 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "此實例的主要公司或主要用戶的全名", "Define custom values to use {engine}" : "定義自訂值以使用 {engine}。", "Not mandatory, don't fill to use default value." : "不強制,若未填寫則使用預設值。", - "Root certificate data." : "根證書數據。", "To generate new signatures, you must first generate the root certificate." : "要生成新簽署,必須首先生成根證書。", - "Generate root certificate." : "生成根證書。", + "Generate root certificate" : "生成根證書", "Generating certificate." : "正在生成證書。", "Could not generate certificate." : "無法生成根證書。", "Generated certificate!" : "生成證書!", @@ -340,14 +343,19 @@ OC.L10N.register( "Validate File" : "驗證檔案", "Add visible signatures" : "添加可見簽名", "Are you sure you want to exclude user {email} from the request?" : "您確定要從請求中排除用戶 {email} 嗎?", + "Password & Security" : "密碼與安全", + "Create password key" : "創建密碼密鑰", + "Reset password" : "重設密碼", "Nothing to do" : "無事可做", "Validate Document" : "驗證文件", "Do you want to configure visible elements in this document?" : "您要配置本文件中的可見元素嗎?", - "Collect signers metadata when sign a document" : "簽署文件時收集簽名者元數據", - "Collect signers metadata" : "收集簽名者元數據", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "如果啟用此功能,LibreSign 將在簽署文件時存儲簽名者的 IP 和用戶代理。", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "需要二進制才能工作。下載大小可能接近340MB,請等待片刻。", + "Enter the emails that will receive the request" : "輸入將接收請求的電郵地址", + "Signatures for this document have already been requested" : "已要求簽署此文件", + "Add users" : "新增用戶", + "Advice" : "建議", "Define custom values to use CFSSL" : "定義自訂值以使用 CFSSL", + "Root certificate data." : "根證書數據。", + "Generate root certificate." : "生成根證書。", "Remove" : "移除" }, "nplurals=1; plural=0;"); diff --git a/l10n/zh_HK.json b/l10n/zh_HK.json index c2aa0cc37d..eab60711d0 100644 --- a/l10n/zh_HK.json +++ b/l10n/zh_HK.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "無效的 UUID", "Success" : "成功", "Invalid user or password" : "無效的用戶或密碼", "_Element created with success_::_Elements created with success_" : ["成功建立元素"], @@ -7,6 +8,9 @@ "Element updated with success" : "成功更新元素", "Visible element deleted" : "已刪除可見元素", "Settings saved" : "設定已保存", + "Certificate file deleted with success." : "成功刪除憑證檔案。", + "Certificate file saved with success." : "成功保存憑證檔案。", + "New password to sign documents has been created" : "已創建用於簽署文件的新密碼", "Name is mandatory" : "必須有名字", "Notification sent with success." : "通告發送成功。", "File signed" : "檔案已被簽署", @@ -26,10 +30,13 @@ "Invalid Sign engine." : "無效的簽署引擎。", "Digital signed by LibreSign." : "由 LibreSign 進行數碼簽署。", "Validate in %s." : "在 %s 中驗證。", + "Invalid data to validate file" : "用於驗證檔案的數據無效", "File type: %s. Empty file." : "檔案類型:%s。空檔案。", "Elements of type %s need file." : "元素類型 %s 需要檔案。", "File type: %s. Specify a URL, a base64 string or a fileID." : "檔案類型:%s。指定 URL,一個 base64 字串或 fileID。", "File type: %s. Invalid fileID." : "檔案類型:%s。無效的 fileID。", + "User not found." : "未找到用戶。", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "檔案類型:%s。指定 URL、base64 字串、途徑或 fileID。", "document to sign" : "要簽署的文件", "visible element" : "可見元素", "File type: %s. Invalid base64 file." : "檔案類型:%s。無效的 base64 檔案。", @@ -56,7 +63,6 @@ "Sign process already started. Unable to change status." : "簽署過程已經開始。無法更改狀態。", "Inform or UUID or a File object" : "通知或 UUID 或一个文件对象", "No user data" : "沒有用戶數據", - "User not found." : "未找到用戶。", "User %s has no email address." : "用戶 %s 未提供電郵地址。", "Email required" : "電郵地址為必填", "Invalid email" : "無效的電郵地址", @@ -64,7 +70,6 @@ "No signature was requested to %s" : "沒有發給 %s 的簽署請求", "%s already signed this file" : "%s 已經簽署了此檔案", "Invalid UUID file" : "無效的 UUID 檔案", - "Invalid UUID" : "無效的 UUID", "Signer not associated to this file" : "簽署者與此檔案無關聯", "A file of this type has been associated." : "已關聯此類檔案。", "Empty identify data." : "空的識別數據。", @@ -87,7 +92,7 @@ "Invalid URL file" : "無效的 URL 檔案", "Visible element file must be png." : "可見元素檔案必須為 png。", "Empty file" : "空檔案", - "Invalid data to validate file" : "用於驗證檔案的數據無效", + "File is too big" : "檔案太大", "Invalid file identifier" : "無效的檔案識別碼", "You need to sign this document" : "你需要簽署這份文件", "You cannot request signature for this document, please contact your administrator" : "您無法為此文件請求簽名,請聯絡管理員", @@ -102,7 +107,6 @@ "Email" : "電郵地址", "User already exists" : "用戶已存在", "This is not your file" : "這不是你的檔案", - "Password" : "密碼", "Invalid password" : "無效的密碼", "LibreSign: Changes into a file for you to sign" : "LibreSign︰一份要你簽署的檔案有多處變化", "File to sign" : "要簽署的檔案", @@ -139,6 +143,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign, Nextcloud 的數位簽署應用程式 ", "Authentication required" : "需要認證", "This action requires you to confirm your password" : "此操作需要您再次確認密碼", + "Password" : "密碼", "Confirm" : "確認", "Incorrect password!" : "錯誤的密碼!", "Text" : "文本 ", @@ -181,10 +186,11 @@ "Sign" : "簽署", "Request signatures?" : "請求簽名?", "Element created" : "元素已創建", + "signed at {date}" : "於 {date} 簽署", "Details" : "細節", - "Password & Security" : "密碼與安全", - "Create password key" : "創建密碼密鑰", - "Reset password" : "重設密碼", + "Certificate" : "憑證", + "Delete certificate" : "刪除證書", + "Change password" : "更改密碼", "Not sent yet" : "尚未傳送", "Not defined yet" : "尚未定義", "Select a file" : "選擇檔案", @@ -205,7 +211,6 @@ "Password Creation" : "密碼創建", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "出於安全原因,您必須創建密碼以對文檔進行簽名。在下面的字段中輸入您的新密碼。", "Enter a password" : "輸入密碼", - "New password to sign documents has been created" : "已創建用於簽署文件的新密碼", "Error creating new password, please contact the administrator" : "無法創建密碼,請聯絡管理員。", "Create new subscription." : "建立新訂閱", "Root certificate has not been configured by the Administrator!" : "管理員尚未配置根證書!", @@ -234,12 +239,11 @@ "Request Signatures" : "請求簽名", "Choose the file to request signatures." : "選擇要索取簽名的檔案。", "Choose from Files" : "從檔案選取", - "Enter the emails that will receive the request" : "輸入將接收請求的電郵地址", - "Signatures for this document have already been requested" : "已要求簽署此文件", - "Add users" : "新增用戶", + "Send" : "傳送", "Select your file" : "選擇您的檔案", "Password reset" : "密碼重設", "Enter new password and then repeat it" : "輸入新密碼,然後重複輸入", + "Current password" : "目前密碼", "New password" : "新密碼", "Repeat password" : "重複密碼", "Allow request to sign" : "允許簽署請求", @@ -255,7 +259,7 @@ "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "如果啟用此功能,LibreSign 將在簽署文件時存儲簽名者的 IP 和用戶代理。", "Message" : "訊息", "Resource" : "資源", - "Advice" : "建議", + "Tip" : "提議", "Configuration check" : "配置檢查", "Status of setup" : "配置狀態", "Customize default user folder" : "自定義默認用戶資料夾", @@ -285,9 +289,8 @@ "Full name of the main company or main user of this instance" : "此實例的主要公司或主要用戶的全名", "Define custom values to use {engine}" : "定義自訂值以使用 {engine}。", "Not mandatory, don't fill to use default value." : "不強制,若未填寫則使用預設值。", - "Root certificate data." : "根證書數據。", "To generate new signatures, you must first generate the root certificate." : "要生成新簽署,必須首先生成根證書。", - "Generate root certificate." : "生成根證書。", + "Generate root certificate" : "生成根證書", "Generating certificate." : "正在生成證書。", "Could not generate certificate." : "無法生成根證書。", "Generated certificate!" : "生成證書!", @@ -338,14 +341,19 @@ "Validate File" : "驗證檔案", "Add visible signatures" : "添加可見簽名", "Are you sure you want to exclude user {email} from the request?" : "您確定要從請求中排除用戶 {email} 嗎?", + "Password & Security" : "密碼與安全", + "Create password key" : "創建密碼密鑰", + "Reset password" : "重設密碼", "Nothing to do" : "無事可做", "Validate Document" : "驗證文件", "Do you want to configure visible elements in this document?" : "您要配置本文件中的可見元素嗎?", - "Collect signers metadata when sign a document" : "簽署文件時收集簽名者元數據", - "Collect signers metadata" : "收集簽名者元數據", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "如果啟用此功能,LibreSign 將在簽署文件時存儲簽名者的 IP 和用戶代理。", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "需要二進制才能工作。下載大小可能接近340MB,請等待片刻。", + "Enter the emails that will receive the request" : "輸入將接收請求的電郵地址", + "Signatures for this document have already been requested" : "已要求簽署此文件", + "Add users" : "新增用戶", + "Advice" : "建議", "Define custom values to use CFSSL" : "定義自訂值以使用 CFSSL", + "Root certificate data." : "根證書數據。", + "Generate root certificate." : "生成根證書。", "Remove" : "移除" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/zh_TW.js b/l10n/zh_TW.js index c279809ca7..9223de2d8d 100644 --- a/l10n/zh_TW.js +++ b/l10n/zh_TW.js @@ -1,6 +1,7 @@ OC.L10N.register( "libresign", { + "Invalid UUID" : "無效的 UUID", "Success" : "成功", "Invalid user or password" : "無效的使用者或密碼", "_Element created with success_::_Elements created with success_" : ["成功建立元素"], @@ -9,6 +10,9 @@ OC.L10N.register( "Element updated with success" : "成功更新元素", "Visible element deleted" : "已刪除可見元素", "Settings saved" : "設定已儲存", + "Certificate file deleted with success." : "憑證檔案刪除成功。", + "Certificate file saved with success." : "憑證檔案儲存成功。", + "New password to sign documents has been created" : "已建立用於簽署文件的新密碼", "Name is mandatory" : "名稱為必填", "Notification sent with success." : "通知傳送成功。", "File signed" : "檔案已簽署", @@ -28,10 +32,13 @@ OC.L10N.register( "Invalid Sign engine." : "無效的簽名引擎。", "Digital signed by LibreSign." : "透過 LibreSign 進行數位簽署。", "Validate in %s." : "驗證於 %s。", + "Invalid data to validate file" : "用於驗證檔案的資料無效", "File type: %s. Empty file." : "檔案類型:%s。空檔案。", "Elements of type %s need file." : "元素類型 %s 需要檔案。", "File type: %s. Specify a URL, a base64 string or a fileID." : "檔案類型:%s。指定 URL,一個 base64 字串或 fileID。", "File type: %s. Invalid fileID." : "檔案類型:%s。無效的 fileID。", + "User not found." : "找不到使用者。", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "檔案類型:%s。指定 URL、base64 字串、路徑或 fileID。", "document to sign" : "要簽署的文件", "visible element" : "可見文件", "File type: %s. Invalid base64 file." : "檔案類型:%s。無效的 base64 檔案。", @@ -58,7 +65,6 @@ OC.L10N.register( "Sign process already started. Unable to change status." : "簽署流程已開始。無法變更狀態。", "Inform or UUID or a File object" : "通知、UUID 或檔案物件", "No user data" : "沒有使用者資料", - "User not found." : "找不到使用者。", "User %s has no email address." : "使用者 %s 沒有電子郵件地址。", "Email required" : "需要電子郵件", "Invalid email" : "無效的電子郵件", @@ -66,7 +72,6 @@ OC.L10N.register( "No signature was requested to %s" : "並未要求簽章 %s", "%s already signed this file" : "%s 已簽署了此檔案", "Invalid UUID file" : "無效的 UUID 檔案", - "Invalid UUID" : "無效的 UUID", "Signer not associated to this file" : "簽署者與此檔案無關", "A file of this type has been associated." : "此類型的檔案已被關聯。", "Empty identify data." : "空的識別資料。", @@ -89,7 +94,9 @@ OC.L10N.register( "Invalid URL file" : "無效的 URL 檔案", "Visible element file must be png." : "可見元素必須為 png。", "Empty file" : "空檔案", - "Invalid data to validate file" : "用於驗證檔案的資料無效", + "No certificate file provided" : "未提供憑證檔案", + "Invalid file provided. Need to be a .pfx file." : "提供了無效的檔案。必須為 .pfx 檔案。", + "File is too big" : "檔案太大", "Invalid file identifier" : "無效的檔案識別碼", "You need to sign this document" : "您必須簽署這份文件", "You cannot request signature for this document, please contact your administrator" : "您無法為此文件請求簽署,請聯絡您的管理員", @@ -104,7 +111,7 @@ OC.L10N.register( "Email" : "電子郵件", "User already exists" : "使用者已存在", "This is not your file" : "這不是您的檔案", - "Password" : "密碼", + "Certificate with password" : "有密碼的憑證", "Invalid password" : "無效的密碼", "LibreSign: Changes into a file for you to sign" : "LibreSign:變更供您簽署的檔案", "File to sign" : "要簽署的檔案", @@ -141,6 +148,7 @@ OC.L10N.register( "LibreSign, digital signature app for Nextcloud." : "LibreSign,Nextcloud 的數位簽署應用程式。", "Authentication required" : "需要驗證", "This action requires you to confirm your password" : "這個動作需要您再次確認密碼", + "Password" : "密碼", "Confirm" : "確認", "Incorrect password!" : "密碼不正確!", "Text" : "文字", @@ -156,6 +164,7 @@ OC.L10N.register( "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "使用滑鼠滾輪縮放圖片並尋找您簽名的最佳檢視範圍。", "Enter your Full Name or Initials to create Signature" : "輸入您的全名或是姓名首字母以建立簽名", "Requested by {name}, at {date}" : "由 {name} 請求於 {date}", + "Enter who will receive the request" : "輸入誰會收到請求", "Signatures" : "簽章", "Search signer by account" : "按帳號搜尋簽署者", "Name" : "名稱", @@ -183,10 +192,13 @@ OC.L10N.register( "Sign" : "簽署", "Request signatures?" : "請求簽署?", "Element created" : "已建立元素", + "signed at {date}" : "於 {date} 簽署", "Details" : "詳細資訊", - "Password & Security" : "密碼與安全", - "Create password key" : "建立密碼金鑰", - "Reset password" : "重設密碼", + "Certificate" : "憑證", + "Upload certificate" : "上傳憑證", + "Delete certificate" : "刪除憑證", + "Create certificate" : "建立憑證", + "Change password" : "變更密碼", "Not sent yet" : "尚未傳送", "Not defined yet" : "尚未定義", "Select a file" : "選取檔案", @@ -207,7 +219,6 @@ OC.L10N.register( "Password Creation" : "密碼建立", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "因為安全因素,您必須建立密碼以簽署文件。請在下方欄位中輸入您的新密碼。", "Enter a password" : "輸入密碼", - "New password to sign documents has been created" : "已建立用於簽署文件的新密碼", "Error creating new password, please contact the administrator" : "無法建立新密碼,請聯絡管理員", "Create new subscription." : "建立新訂閱。", "Root certificate has not been configured by the Administrator!" : "管理員未設定根憑證!", @@ -235,13 +246,14 @@ OC.L10N.register( "The admin hasn't set up LibreSign yet, please wait." : "管理員尚未設定 LibreSign,請稍候。", "Request Signatures" : "請求簽章", "Choose the file to request signatures." : "選擇要請求的簽章。", + "Upload from URL" : "從 URL 上傳", "Choose from Files" : "從檔案選擇", - "Enter the emails that will receive the request" : "輸入要收到請求的電子郵件", - "Signatures for this document have already been requested" : "已請求對此文件進行簽章", - "Add users" : "新增使用者", + "URL of a PDF file" : "PDF 檔案的 URL", + "Send" : "傳送", "Select your file" : "選取您的檔案", "Password reset" : "密碼重設", "Enter new password and then repeat it" : "輸入新密碼,然後再輸入一次", + "Current password" : "目前密碼", "New password" : "新密碼", "Repeat password" : "再次輸入密碼", "Allow request to sign" : "允許簽署請求", @@ -252,12 +264,13 @@ OC.L10N.register( "Certificate engine" : "憑證引擎", "Certificate engine to generate the root certificate" : "用來產生根憑證的憑證引擎", "Select the certificate engine to generate the root certificate" : "選取用來產生根憑證的憑證引擎", + "I will not use root certificate" : "我將不會使用根憑證", "Collect signers' metadata when signing a document" : "簽署文件時蒐集簽署者的詮釋資料", "Collect signers' metadata" : "蒐集簽署者的詮釋資料", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "啟用此功能後,LibreSign 將在每次簽署文件時儲存簽署者的 IP 位置與使用者代理字串。", "Message" : "訊息", "Resource" : "資源", - "Advice" : "建議", + "Tip" : "訣竅", "Configuration check" : "設定檢查", "Status of setup" : "設定狀態", "Customize default user folder" : "自訂預設使用者資料夾", @@ -276,6 +289,8 @@ OC.L10N.register( "Allow account creation for new users" : "允許新使用者建立帳號", "Allows sending registration email when the user does not have an account." : "當使用者沒有帳號時,允許傳送註冊電子郵件。", "Default signature method" : "預設簽署方法", + "Identify factors" : "識別因素", + "Ways to identify a person who will sign a document." : "識別將簽署文件人員的方法。", "Legal Information" : "法律資訊", "Legal information" : "法律資訊", "This information will appear on the validation page" : "此資訊將會顯示在驗證頁面上", @@ -287,12 +302,13 @@ OC.L10N.register( "Full name of the main company or main user of this instance" : "此站台的主要公司或主要使用者的全名", "Define custom values to use {engine}" : "定義使用 {engine} 的自訂值", "Not mandatory, don't fill to use default value." : "不強制,若未填寫則使用預設值。", - "Root certificate data." : "根憑證資料。", + "Root certificate data" : "根憑證資料", "To generate new signatures, you must first generate the root certificate." : "要產生新簽章,您必須先產生根憑證。", - "Generate root certificate." : "產生根憑證。", + "Generate root certificate" : "產生根憑證", "Generating certificate." : "正在產生憑證。", "Could not generate certificate." : "無法產生憑證。", "Generated certificate!" : "已產生憑證!", + "Make validation URL acessible only by authenticated users" : "讓驗證 URL 僅可由經過身份驗證的使用者存取", "Add visible footer with signature details" : "新增包含簽章詳細資訊的可見頁尾", "Write QR code on footer with validation URL" : "使用驗證 URL 在頁尾編寫 QR code", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "用來驗證文件的簽章。僅當您想用其他的取代預設驗證 URL 時才變更此值。", @@ -340,14 +356,19 @@ OC.L10N.register( "Validate File" : "驗證檔案", "Add visible signatures" : "新增可見的簽名", "Are you sure you want to exclude user {email} from the request?" : "您確定您想要從請求中排除使用者 {email} 嗎?", + "Password & Security" : "密碼與安全", + "Create password key" : "建立密碼金鑰", + "Reset password" : "重設密碼", "Nothing to do" : "無事可做", "Validate Document" : "驗證文件", "Do you want to configure visible elements in this document?" : "您想要設定此文件中可見的元素嗎?", - "Collect signers metadata when sign a document" : "簽署文件時蒐集簽署者的詮釋資料", - "Collect signers metadata" : "蒐集簽署者的詮釋資料", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "若啟用此功能,LibreSign 將在簽署文件時儲存簽署者的 IP 與使用者代理字串。", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "需要可執行檔才能運作。下載大小可能接近 340Mb,請稍候片刻。", + "Enter the emails that will receive the request" : "輸入要收到請求的電子郵件", + "Signatures for this document have already been requested" : "已請求對此文件進行簽章", + "Add users" : "新增使用者", + "Advice" : "建議", "Define custom values to use CFSSL" : "定義自訂值以使用 CFSSL", + "Root certificate data." : "根憑證資料。", + "Generate root certificate." : "產生根憑證。", "Remove" : "移除" }, "nplurals=1; plural=0;"); diff --git a/l10n/zh_TW.json b/l10n/zh_TW.json index b66d9239cb..ff3933dcf8 100644 --- a/l10n/zh_TW.json +++ b/l10n/zh_TW.json @@ -1,4 +1,5 @@ { "translations": { + "Invalid UUID" : "無效的 UUID", "Success" : "成功", "Invalid user or password" : "無效的使用者或密碼", "_Element created with success_::_Elements created with success_" : ["成功建立元素"], @@ -7,6 +8,9 @@ "Element updated with success" : "成功更新元素", "Visible element deleted" : "已刪除可見元素", "Settings saved" : "設定已儲存", + "Certificate file deleted with success." : "憑證檔案刪除成功。", + "Certificate file saved with success." : "憑證檔案儲存成功。", + "New password to sign documents has been created" : "已建立用於簽署文件的新密碼", "Name is mandatory" : "名稱為必填", "Notification sent with success." : "通知傳送成功。", "File signed" : "檔案已簽署", @@ -26,10 +30,13 @@ "Invalid Sign engine." : "無效的簽名引擎。", "Digital signed by LibreSign." : "透過 LibreSign 進行數位簽署。", "Validate in %s." : "驗證於 %s。", + "Invalid data to validate file" : "用於驗證檔案的資料無效", "File type: %s. Empty file." : "檔案類型:%s。空檔案。", "Elements of type %s need file." : "元素類型 %s 需要檔案。", "File type: %s. Specify a URL, a base64 string or a fileID." : "檔案類型:%s。指定 URL,一個 base64 字串或 fileID。", "File type: %s. Invalid fileID." : "檔案類型:%s。無效的 fileID。", + "User not found." : "找不到使用者。", + "File type: %s. Specify a URL, base64 string, path or a fileID." : "檔案類型:%s。指定 URL、base64 字串、路徑或 fileID。", "document to sign" : "要簽署的文件", "visible element" : "可見文件", "File type: %s. Invalid base64 file." : "檔案類型:%s。無效的 base64 檔案。", @@ -56,7 +63,6 @@ "Sign process already started. Unable to change status." : "簽署流程已開始。無法變更狀態。", "Inform or UUID or a File object" : "通知、UUID 或檔案物件", "No user data" : "沒有使用者資料", - "User not found." : "找不到使用者。", "User %s has no email address." : "使用者 %s 沒有電子郵件地址。", "Email required" : "需要電子郵件", "Invalid email" : "無效的電子郵件", @@ -64,7 +70,6 @@ "No signature was requested to %s" : "並未要求簽章 %s", "%s already signed this file" : "%s 已簽署了此檔案", "Invalid UUID file" : "無效的 UUID 檔案", - "Invalid UUID" : "無效的 UUID", "Signer not associated to this file" : "簽署者與此檔案無關", "A file of this type has been associated." : "此類型的檔案已被關聯。", "Empty identify data." : "空的識別資料。", @@ -87,7 +92,9 @@ "Invalid URL file" : "無效的 URL 檔案", "Visible element file must be png." : "可見元素必須為 png。", "Empty file" : "空檔案", - "Invalid data to validate file" : "用於驗證檔案的資料無效", + "No certificate file provided" : "未提供憑證檔案", + "Invalid file provided. Need to be a .pfx file." : "提供了無效的檔案。必須為 .pfx 檔案。", + "File is too big" : "檔案太大", "Invalid file identifier" : "無效的檔案識別碼", "You need to sign this document" : "您必須簽署這份文件", "You cannot request signature for this document, please contact your administrator" : "您無法為此文件請求簽署,請聯絡您的管理員", @@ -102,7 +109,7 @@ "Email" : "電子郵件", "User already exists" : "使用者已存在", "This is not your file" : "這不是您的檔案", - "Password" : "密碼", + "Certificate with password" : "有密碼的憑證", "Invalid password" : "無效的密碼", "LibreSign: Changes into a file for you to sign" : "LibreSign:變更供您簽署的檔案", "File to sign" : "要簽署的檔案", @@ -139,6 +146,7 @@ "LibreSign, digital signature app for Nextcloud." : "LibreSign,Nextcloud 的數位簽署應用程式。", "Authentication required" : "需要驗證", "This action requires you to confirm your password" : "這個動作需要您再次確認密碼", + "Password" : "密碼", "Confirm" : "確認", "Incorrect password!" : "密碼不正確!", "Text" : "文字", @@ -154,6 +162,7 @@ "Use your mouse wheel to zoom in or out on the image and find the best view of your signature." : "使用滑鼠滾輪縮放圖片並尋找您簽名的最佳檢視範圍。", "Enter your Full Name or Initials to create Signature" : "輸入您的全名或是姓名首字母以建立簽名", "Requested by {name}, at {date}" : "由 {name} 請求於 {date}", + "Enter who will receive the request" : "輸入誰會收到請求", "Signatures" : "簽章", "Search signer by account" : "按帳號搜尋簽署者", "Name" : "名稱", @@ -181,10 +190,13 @@ "Sign" : "簽署", "Request signatures?" : "請求簽署?", "Element created" : "已建立元素", + "signed at {date}" : "於 {date} 簽署", "Details" : "詳細資訊", - "Password & Security" : "密碼與安全", - "Create password key" : "建立密碼金鑰", - "Reset password" : "重設密碼", + "Certificate" : "憑證", + "Upload certificate" : "上傳憑證", + "Delete certificate" : "刪除憑證", + "Create certificate" : "建立憑證", + "Change password" : "變更密碼", "Not sent yet" : "尚未傳送", "Not defined yet" : "尚未定義", "Select a file" : "選取檔案", @@ -205,7 +217,6 @@ "Password Creation" : "密碼建立", "For security reasons, you must create a password to sign the documents. Enter your new password in the field below." : "因為安全因素,您必須建立密碼以簽署文件。請在下方欄位中輸入您的新密碼。", "Enter a password" : "輸入密碼", - "New password to sign documents has been created" : "已建立用於簽署文件的新密碼", "Error creating new password, please contact the administrator" : "無法建立新密碼,請聯絡管理員", "Create new subscription." : "建立新訂閱。", "Root certificate has not been configured by the Administrator!" : "管理員未設定根憑證!", @@ -233,13 +244,14 @@ "The admin hasn't set up LibreSign yet, please wait." : "管理員尚未設定 LibreSign,請稍候。", "Request Signatures" : "請求簽章", "Choose the file to request signatures." : "選擇要請求的簽章。", + "Upload from URL" : "從 URL 上傳", "Choose from Files" : "從檔案選擇", - "Enter the emails that will receive the request" : "輸入要收到請求的電子郵件", - "Signatures for this document have already been requested" : "已請求對此文件進行簽章", - "Add users" : "新增使用者", + "URL of a PDF file" : "PDF 檔案的 URL", + "Send" : "傳送", "Select your file" : "選取您的檔案", "Password reset" : "密碼重設", "Enter new password and then repeat it" : "輸入新密碼,然後再輸入一次", + "Current password" : "目前密碼", "New password" : "新密碼", "Repeat password" : "再次輸入密碼", "Allow request to sign" : "允許簽署請求", @@ -250,12 +262,13 @@ "Certificate engine" : "憑證引擎", "Certificate engine to generate the root certificate" : "用來產生根憑證的憑證引擎", "Select the certificate engine to generate the root certificate" : "選取用來產生根憑證的憑證引擎", + "I will not use root certificate" : "我將不會使用根憑證", "Collect signers' metadata when signing a document" : "簽署文件時蒐集簽署者的詮釋資料", "Collect signers' metadata" : "蒐集簽署者的詮釋資料", "Enabling this feature, every time a document is signed, LibreSign will store the IP address and user agent of the signer." : "啟用此功能後,LibreSign 將在每次簽署文件時儲存簽署者的 IP 位置與使用者代理字串。", "Message" : "訊息", "Resource" : "資源", - "Advice" : "建議", + "Tip" : "訣竅", "Configuration check" : "設定檢查", "Status of setup" : "設定狀態", "Customize default user folder" : "自訂預設使用者資料夾", @@ -274,6 +287,8 @@ "Allow account creation for new users" : "允許新使用者建立帳號", "Allows sending registration email when the user does not have an account." : "當使用者沒有帳號時,允許傳送註冊電子郵件。", "Default signature method" : "預設簽署方法", + "Identify factors" : "識別因素", + "Ways to identify a person who will sign a document." : "識別將簽署文件人員的方法。", "Legal Information" : "法律資訊", "Legal information" : "法律資訊", "This information will appear on the validation page" : "此資訊將會顯示在驗證頁面上", @@ -285,12 +300,13 @@ "Full name of the main company or main user of this instance" : "此站台的主要公司或主要使用者的全名", "Define custom values to use {engine}" : "定義使用 {engine} 的自訂值", "Not mandatory, don't fill to use default value." : "不強制,若未填寫則使用預設值。", - "Root certificate data." : "根憑證資料。", + "Root certificate data" : "根憑證資料", "To generate new signatures, you must first generate the root certificate." : "要產生新簽章,您必須先產生根憑證。", - "Generate root certificate." : "產生根憑證。", + "Generate root certificate" : "產生根憑證", "Generating certificate." : "正在產生憑證。", "Could not generate certificate." : "無法產生憑證。", "Generated certificate!" : "已產生憑證!", + "Make validation URL acessible only by authenticated users" : "讓驗證 URL 僅可由經過身份驗證的使用者存取", "Add visible footer with signature details" : "新增包含簽章詳細資訊的可見頁尾", "Write QR code on footer with validation URL" : "使用驗證 URL 在頁尾編寫 QR code", "To validate signature of the documents. Only change this value if you want to replace the default validation URL by other." : "用來驗證文件的簽章。僅當您想用其他的取代預設驗證 URL 時才變更此值。", @@ -338,14 +354,19 @@ "Validate File" : "驗證檔案", "Add visible signatures" : "新增可見的簽名", "Are you sure you want to exclude user {email} from the request?" : "您確定您想要從請求中排除使用者 {email} 嗎?", + "Password & Security" : "密碼與安全", + "Create password key" : "建立密碼金鑰", + "Reset password" : "重設密碼", "Nothing to do" : "無事可做", "Validate Document" : "驗證文件", "Do you want to configure visible elements in this document?" : "您想要設定此文件中可見的元素嗎?", - "Collect signers metadata when sign a document" : "簽署文件時蒐集簽署者的詮釋資料", - "Collect signers metadata" : "蒐集簽署者的詮釋資料", - "Enabling this feature, every when sign a document, LibreSign will store the IP, and user agent of signer." : "若啟用此功能,LibreSign 將在簽署文件時儲存簽署者的 IP 與使用者代理字串。", - "Binaries required to work. Could be near by 340Mb to download, wait a moment." : "需要可執行檔才能運作。下載大小可能接近 340Mb,請稍候片刻。", + "Enter the emails that will receive the request" : "輸入要收到請求的電子郵件", + "Signatures for this document have already been requested" : "已請求對此文件進行簽章", + "Add users" : "新增使用者", + "Advice" : "建議", "Define custom values to use CFSSL" : "定義自訂值以使用 CFSSL", + "Root certificate data." : "根憑證資料。", + "Generate root certificate." : "產生根憑證。", "Remove" : "移除" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/lib/Command/Configure/Check.php b/lib/Command/Configure/Check.php index 8666b59ec9..2bcc76a29d 100644 --- a/lib/Command/Configure/Check.php +++ b/lib/Command/Configure/Check.php @@ -56,18 +56,18 @@ protected function configure(): void { InputOption::VALUE_NONE, 'Check requirements to sign document' ) - ->addOption('cfssl', + ->addOption('certificate', 'c', InputOption::VALUE_NONE, - 'Check requirements to use CFSSL API' + 'Check requirements to use root certificate' ); } protected function execute(InputInterface $input, OutputInterface $output): int { $preview = $input->getOption('preview'); $sign = $input->getOption('sign'); - $cfssl = $input->getOption('cfssl'); - $all = (!$preview && !$sign && !$cfssl); + $certificate = $input->getOption('certificate'); + $all = (!$preview && !$sign && !$certificate); $result = []; if ($all) { @@ -79,8 +79,8 @@ protected function execute(InputInterface $input, OutputInterface $output): int if ($sign) { $result = array_merge($result, $this->configureCheckService->checkSign()); } - if ($cfssl) { - $result = array_merge($result, $this->configureCheckService->checkCfssl()); + if ($certificate) { + $result = array_merge($result, $this->configureCheckService->checkCertificate()); } } diff --git a/lib/Command/Developer/Reset.php b/lib/Command/Developer/Reset.php index 5ccbc2d771..e93c2e52f8 100644 --- a/lib/Command/Developer/Reset.php +++ b/lib/Command/Developer/Reset.php @@ -65,10 +65,10 @@ protected function configure(): void { InputOption::VALUE_NONE, 'Reset identify' ) - ->addOption('fileuser', + ->addOption('signrequest', null, InputOption::VALUE_NONE, - 'Reset file user' + 'Reset sign request' ) ->addOption('file', null, @@ -106,8 +106,8 @@ protected function execute(InputInterface $input, OutputInterface $output): int $this->resetIdentifyMethods(); $ok = true; } - if ($input->getOption('fileuser') || $all) { - $this->resetFileUser(); + if ($input->getOption('signrequest') || $all) { + $this->resetSignRequest(); $ok = true; } if ($input->getOption('file') || $all) { @@ -162,10 +162,10 @@ private function resetIdentifyMethods(): void { } } - private function resetFileUser(): void { + private function resetSignRequest(): void { try { $delete = $this->db->getQueryBuilder(); - $delete->delete('libresign_file_user') + $delete->delete('libresign_sign_request') ->executeStatement(); } catch (\Throwable $e) { } diff --git a/lib/Command/Install.php b/lib/Command/Install.php index b2bfa28b30..d8d314be30 100644 --- a/lib/Command/Install.php +++ b/lib/Command/Install.php @@ -83,6 +83,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int $ok = true; } } catch (\Exception $e) { + $this->installService->saveErrorMessage($e->getMessage()); $this->logger->error($e->getMessage()); throw $e; } diff --git a/lib/Controller/AEnvironmentPageAwareController.php b/lib/Controller/AEnvironmentPageAwareController.php index a0fe230b22..a9398619ca 100644 --- a/lib/Controller/AEnvironmentPageAwareController.php +++ b/lib/Controller/AEnvironmentPageAwareController.php @@ -24,7 +24,64 @@ namespace OCA\Libresign\Controller; +use OC\AppFramework\Http as AppFrameworkHttp; +use OCA\Libresign\AppInfo\Application; +use OCA\Libresign\Db\File as FileEntity; +use OCA\Libresign\Db\SignRequest as SignRequestEntity; +use OCA\Libresign\Exception\LibresignException; +use OCA\Libresign\Helper\JSActions; +use OCA\Libresign\Service\SignFileService; use OCP\AppFramework\Controller; +use OCP\AppFramework\Db\DoesNotExistException; +use OCP\Files\File; +use OCP\IL10N; +use OCP\IRequest; +use OCP\IUserSession; abstract class AEnvironmentPageAwareController extends Controller { + private ?SignRequestEntity $signRequestEntity = null; + private ?FileEntity $fileEntity = null; + private ?File $nextcloudFile = null; + + public function __construct( + IRequest $request, + protected SignFileService $signFileService, + protected IL10N $l10n, + private IUserSession $userSession, + ) { + parent::__construct(Application::APP_ID, $request); + } + + /** + * @throws LibresignException + */ + public function loadSignRequestUuid(string $uuid): void { + try { + $this->signRequestEntity = $this->signFileService->getSignRequest($uuid); + $this->fileEntity = $this->signFileService->getFile( + $this->signRequestEntity->getFileId(), + ); + } catch (DoesNotExistException $e) { + throw new LibresignException(json_encode([ + 'action' => JSActions::ACTION_DO_NOTHING, + 'errors' => [$this->l10n->t('Invalid UUID')], + ]), AppFrameworkHttp::STATUS_NOT_FOUND); + } + $this->signFileService->validateSigner($uuid, $this->userSession->getUser()); + $this->nextcloudFile = $this->signFileService->getNextcloudFile( + $this->fileEntity->getNodeId(), + ); + } + + public function getSignRequestEntity(): ?SignRequestEntity { + return $this->signRequestEntity; + } + + public function getFileEntity(): ?FileEntity { + return $this->fileEntity; + } + + public function getNextcloudFile(): ?File { + return $this->nextcloudFile; + } } diff --git a/lib/Controller/AccountController.php b/lib/Controller/AccountController.php index 404fd46f11..db88ad3b4b 100644 --- a/lib/Controller/AccountController.php +++ b/lib/Controller/AccountController.php @@ -24,9 +24,11 @@ namespace OCA\Libresign\Controller; +use InvalidArgumentException; use OC\Authentication\Login\Chain; use OC\Authentication\Login\LoginData; use OCA\Libresign\AppInfo\Application; +use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Handler\Pkcs12Handler; use OCA\Libresign\Helper\JSActions; use OCA\Libresign\Helper\ValidateHelper; @@ -84,7 +86,7 @@ public function createToSign(string $uuid, string $email, string $password, ?str $this->accountService->validateCreateToSign($data); $fileToSign = $this->accountService->getFileByUuid($uuid); - $fileUser = $this->accountService->getFileUserByUuid($uuid); + $signRequest = $this->accountService->getSignRequestByUuid($uuid); $this->accountService->createToSign($uuid, $email, $password, $signPassword); $data = [ @@ -94,7 +96,7 @@ public function createToSign(string $uuid, string $email, string $password, ?str 'url' => $this->urlGenerator->linkToRoute('libresign.page.getPdfUser', ['uuid' => $uuid]) ], 'filename' => $fileToSign['fileData']->getName(), - 'description' => $fileUser->getDescription() + 'description' => $signRequest->getDescription() ]; $loginData = new LoginData( @@ -422,4 +424,58 @@ public function updateSettings(?string $phone = null): JSONResponse { Http::STATUS_OK ); } + + public function deletePfx(): JSONResponse { + $this->accountService->deletePfx($this->userSession->getUser()); + return new JSONResponse( + [ + // TRANSLATORS Feedback to user after delete the certificate file that is used to sign documents with success + 'message' => $this->l10n->t('Certificate file deleted with success.') + ], + Http::STATUS_ACCEPTED + ); + } + + #[NoAdminRequired] + #[NoCSRFRequired] + public function uploadPfx(): JSONResponse { + $file = $this->request->getUploadedFile('file'); + try { + $this->accountService->uploadPfx($file, $this->userSession->getUser()); + } catch (InvalidArgumentException|LibresignException $e) { + return new JSONResponse( + [ + 'message' => $e->getMessage() + ], + Http::STATUS_BAD_REQUEST + ); + } + return new JSONResponse( + [ + // TRANSLATORS Feedback to user after upload the certificate file that is used to sign documents with success + 'message' => $this->l10n->t('Certificate file saved with success.') + ], + Http::STATUS_ACCEPTED + ); + } + + public function updatePfxPassword($current, $new): JSONResponse { + try { + $this->accountService->updatePfxPassword($this->userSession->getUser(), $current, $new); + } catch (LibresignException $e) { + return new JSONResponse( + [ + 'message' => $e->getMessage() + ], + Http::STATUS_BAD_REQUEST + ); + } + return new JSONResponse( + [ + // TRANSLATORS Feedback to user after change the certificate file that is used to sign documents with success + 'message' => $this->l10n->t('New password to sign documents has been created') + ], + Http::STATUS_ACCEPTED + ); + } } diff --git a/lib/Controller/AdminController.php b/lib/Controller/AdminController.php index 2cf18a40ce..ff458271f6 100644 --- a/lib/Controller/AdminController.php +++ b/lib/Controller/AdminController.php @@ -35,16 +35,21 @@ use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\Response; +use OCP\IEventSource; +use OCP\IEventSourceFactory; use OCP\IRequest; class AdminController extends Controller { + private IEventSource $eventSource; public function __construct( IRequest $request, private ConfigureCheckService $configureCheckService, private InstallService $installService, - private CertificateEngineHandler $certificateEngineHandler + private CertificateEngineHandler $certificateEngineHandler, + private IEventSourceFactory $eventSourceFactory, ) { parent::__construct(Application::APP_ID, $request); + $this->eventSource = $this->eventSourceFactory->create(); } #[NoCSRFRequired] @@ -130,20 +135,6 @@ public function downloadBinaries(): Response { $this->installService->installJSignPdf($async); $this->installService->installPdftk($async); $this->installService->installCfssl($async); - $previous = []; - do { - $totalSize = $this->installService->getTotalSize(); - if (count($previous) === 10) { - // with the same size - if (!count($totalSize) || array_sum($previous) / count($previous) === $totalSize) { - break; - } - array_shift($previous); - } - $previous[] = $totalSize; - sleep(1); - } while (true); - return new DataResponse([]); } catch (\Exception $exception) { return new DataResponse( @@ -165,4 +156,17 @@ public function configureCheck(): DataResponse { $this->configureCheckService->checkAll() ); } + + public function downloadStatusSse(): void { + while ($this->installService->isDownloadWip()) { + $totalSize = $this->installService->getTotalSize(); + $this->eventSource->send('total_size', json_encode($totalSize)); + if ($errors = $this->installService->getErrorMessages()) { + $this->eventSource->send('errors', json_encode($errors)); + } + usleep(50000); + } + $this->eventSource->send('done', ''); + $this->eventSource->close(); + } } diff --git a/lib/Controller/AdminSseController.php b/lib/Controller/AdminSseController.php new file mode 100644 index 0000000000..67a6a1fa9e --- /dev/null +++ b/lib/Controller/AdminSseController.php @@ -0,0 +1,28 @@ + + * + * @author Vitor Mattos + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace OCA\Libresign\Controller; + +$controller = \OC::$server->get(AdminController::class); +$controller->downloadStatusSse(); diff --git a/lib/Controller/FileController.php b/lib/Controller/FileController.php index 735b240a20..db676220ae 100644 --- a/lib/Controller/FileController.php +++ b/lib/Controller/FileController.php @@ -68,9 +68,29 @@ public function validateFileId($fileId): JSONResponse { return $this->validate('FileId', $fileId); } - private function validate(string $type, $identifier): JSONResponse { + #[NoAdminRequired] + #[NoCSRFRequired] + #[PublicPage] + public function validate(?string $type = null, $identifier = null): JSONResponse { try { - $this->fileService->setFileByType($type, $identifier); + if (!empty($type) && !empty($identifier)) { + $this->fileService + ->setFileByType($type, $identifier); + } elseif ($this->request->getParam('path')) { + $this->fileService + ->setMe($this->userSession->getUser()) + ->setFileByPath($this->request->getParam('path')); + } elseif ($this->request->getParam('fileId')) { + $this->fileService->setFileByType( + 'FileId', + $this->request->getParam('fileId') + ); + } elseif ($this->request->getParam('uuid')) { + $this->fileService->setFileByType( + 'Uuid', + $this->request->getParam('uuid') + ); + } $return = []; $statusCode = Http::STATUS_OK; } catch (LibresignException $e) { @@ -137,13 +157,21 @@ public function getPage(string $uuid, int $page) { #[NoAdminRequired] #[NoCSRFRequired] #[RequireManager] - public function save(string $name, array $file, array $settings = []): JSONResponse { + public function save(array $file, string $name = '', array $settings = []): JSONResponse { try { + if (empty($name)) { + if (!empty($file['url'])) { + $name = rawurldecode(pathinfo($file['url'], PATHINFO_FILENAME)); + } + } if (empty($name)) { // The name of file to sign is mandatory. This phrase is used when we do a request to API sending a file to sign. throw new \Exception($this->l10n->t('Name is mandatory')); } - $this->validateHelper->validateNewFile(['file' => $file]); + $this->validateHelper->validateNewFile([ + 'file' => $file, + 'userManager' => $this->userSession->getUser(), + ]); $this->validateHelper->canRequestSign($this->userSession->getUser()); $node = $this->fileService->getNodeFromData([ diff --git a/lib/Controller/FileElementController.php b/lib/Controller/FileElementController.php index 35b811354a..d9b44e2c20 100644 --- a/lib/Controller/FileElementController.php +++ b/lib/Controller/FileElementController.php @@ -49,11 +49,11 @@ public function __construct( #[NoAdminRequired] #[NoCSRFRequired] - public function post(string $uuid, int $fileUserId, int $elementId = null, string $type = '', array $metadata = [], array $coordinates = []): JSONResponse { + public function post(string $uuid, int $signRequestId, int $elementId = null, string $type = '', array $metadata = [], array $coordinates = []): JSONResponse { $visibleElement = [ 'elementId' => $elementId, 'type' => $type, - 'fileUserId' => $fileUserId, + 'signRequestId' => $signRequestId, 'coordinates' => $coordinates, 'metadata' => $metadata, 'fileUuid' => $uuid, @@ -81,8 +81,8 @@ public function post(string $uuid, int $fileUserId, int $elementId = null, strin #[NoAdminRequired] #[NoCSRFRequired] - public function patch(string $uuid, int $fileUserId, int $elementId = null, string $type = '', array $metadata = [], array $coordinates = []): JSONResponse { - return $this->post($uuid, $fileUserId, $elementId, $type, $metadata, $coordinates); + public function patch(string $uuid, int $signRequestId, int $elementId = null, string $type = '', array $metadata = [], array $coordinates = []): JSONResponse { + return $this->post($uuid, $signRequestId, $elementId, $type, $metadata, $coordinates); } #[NoAdminRequired] diff --git a/lib/Controller/NotifyController.php b/lib/Controller/NotifyController.php index 6b0b133242..b65e3efcc2 100644 --- a/lib/Controller/NotifyController.php +++ b/lib/Controller/NotifyController.php @@ -68,9 +68,9 @@ public function signers($fileId, $signers): JSONResponse { #[NoAdminRequired] #[NoCSRFRequired] - public function signer($fileId, $fileUserId): JSONResponse { + public function signer($fileId, $signRequestId): JSONResponse { try { - $this->notifyService->signer($fileId, $fileUserId); + $this->notifyService->signer($fileId, $signRequestId); } catch (\Throwable $th) { return new JSONResponse( [ diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index eecedea54d..f309447055 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -24,14 +24,19 @@ namespace OCA\Libresign\Controller; +use OC\AppFramework\Middleware\Security\Exceptions\NotLoggedInException; use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Exception\LibresignException; +use OCA\Libresign\Helper\JSActions; use OCA\Libresign\Helper\ValidateHelper; +use OCA\Libresign\Middleware\Attribute\RequireSignRequestUuid; use OCA\Libresign\Service\AccountService; use OCA\Libresign\Service\FileService; use OCA\Libresign\Service\IdentifyMethodService; +use OCA\Libresign\Service\SignFileService; use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\AnonRateLimit; use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\PublicPage; @@ -42,6 +47,7 @@ use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Services\IAppConfig; use OCP\AppFramework\Services\IInitialState; +use OCP\IL10N; use OCP\IRequest; use OCP\IURLGenerator; use OCP\IUserSession; @@ -53,13 +59,20 @@ public function __construct( private IUserSession $userSession, private IInitialState $initialState, private AccountService $accountService, + protected SignFileService $signFileService, + protected IL10N $l10n, private IdentifyMethodService $identifyMethodService, private IAppConfig $appConfig, private FileService $fileService, private ValidateHelper $validateHelper, private IURLGenerator $url ) { - parent::__construct(Application::APP_ID, $request); + parent::__construct( + request: $request, + signFileService: $signFileService, + l10n: $l10n, + userSession: $userSession, + ); } /** @@ -68,12 +81,8 @@ public function __construct( #[NoAdminRequired] #[NoCSRFRequired] public function index(): TemplateResponse { - $this->initialState->provideInitialState('config', $this->accountService->getConfig( - 'file_user_uuid', - $this->request->getParam('uuid'), - $this->userSession->getUser(), - 'url' - )); + $this->initialState->provideInitialState('config', $this->accountService->getConfig($this->userSession->getUser())); + $this->initialState->provideInitialState('certificate_engine', $this->accountService->getCertificateEngineName()); try { $this->validateHelper->canRequestSign($this->userSession->getUser()); @@ -111,12 +120,20 @@ public function indexFPath(): TemplateResponse { #[NoAdminRequired] #[NoCSRFRequired] #[PublicPage] + #[RequireSignRequestUuid] public function sign($uuid): TemplateResponse { - $this->initialState->provideInitialState('config', $this->accountService->getConfig( - 'file_user_uuid', - $uuid, - $this->userSession->getUser(), - 'url' + $this->initialState->provideInitialState('config', array_merge( + $this->accountService->getConfig($this->userSession->getUser()), + $this->signFileService->getFileData( + $this->getFileEntity(), + $this->userSession->getUser(), + $this->getSignRequestEntity() + ), + [ + 'sign' => [ + 'pdf' => $this->signFileService->getFileUrl('url', $this->getFileEntity(), $this->getNextcloudFile(), $uuid), + ], + ], )); Util::addScript(Application::APP_ID, 'libresign-external'); @@ -135,11 +152,19 @@ public function sign($uuid): TemplateResponse { #[NoAdminRequired] #[NoCSRFRequired] public function signAccountFile($uuid): TemplateResponse { - $this->initialState->provideInitialState('config', $this->accountService->getConfig( - 'file_uuid', - $uuid, - $this->userSession->getUser(), - 'url' + $config = []; + try { + $fileEntity = $this->signFileService->getFileByUuid($uuid); + $this->signFileService->getAccountFileById($fileEntity->getId()); + } catch (DoesNotExistException $e) { + $config = [ + 'action' => JSActions::ACTION_DO_NOTHING, + 'errors' => [$this->l10n->t('Invalid UUID')], + ]; + } + $this->initialState->provideInitialState('config', array_merge( + $config, + $this->accountService->getConfig($this->userSession->getUser()) )); Util::addScript(Application::APP_ID, 'libresign-external'); @@ -160,7 +185,9 @@ public function signAccountFile($uuid): TemplateResponse { #[NoAdminRequired] #[NoCSRFRequired] #[PublicPage] + #[AnonRateLimit(limit: 5, period: 120)] public function getPdf($uuid) { + $this->throwIfValidationPageNotAccessible(); try { $file = $this->accountService->getPdfByUuid($uuid); } catch (DoesNotExistException $th) { @@ -180,12 +207,21 @@ public function getPdf($uuid) { */ #[NoAdminRequired] #[NoCSRFRequired] + #[RequireSignRequestUuid] + #[AnonRateLimit(limit: 5, period: 120)] public function getPdfUser($uuid) { - $config = $this->accountService->getConfig( - 'file_user_uuid', - $uuid, - $this->userSession->getUser(), - 'file' + $config = array_merge( + $this->accountService->getConfig($this->userSession->getUser()), + $this->signFileService->getFileData( + $this->getFileEntity(), + $this->userSession->getUser(), + $this->getSignRequestEntity() + ), + [ + 'sign' => [ + 'pdf' => $this->signFileService->getFileUrl('file', $this->getFileEntity(), $this->getNextcloudFile(), $uuid), + ], + ], ); if (!isset($config['sign'])) { return new DataResponse([], Http::STATUS_NOT_FOUND); @@ -205,13 +241,26 @@ public function getPdfUser($uuid) { #[NoAdminRequired] #[NoCSRFRequired] #[PublicPage] + #[AnonRateLimit(limit: 5, period: 120)] public function validation(): TemplateResponse { - $this->initialState->provideInitialState('config', $this->accountService->getConfig( - 'file_user_uuid', - $this->request->getParam('uuid'), - $this->userSession->getUser(), - 'url' - )); + $this->throwIfValidationPageNotAccessible(); + if ($this->getFileEntity()) { + $this->initialState->provideInitialState('config', array_merge( + $this->accountService->getConfig($this->userSession->getUser()), + $this->signFileService->getFileData( + $this->getFileEntity(), + $this->userSession->getUser(), + $this->getSignRequestEntity() + ), + [ + 'sign' => [ + 'pdf' => $this->signFileService->getFileUrl('url', $this->getFileEntity(), $this->getNextcloudFile(), $this->request->getParam('uuid')), + ], + ], + )); + } else { + $this->initialState->provideInitialState('config', []); + } Util::addScript(Application::APP_ID, 'libresign-validation'); $response = new TemplateResponse(Application::APP_ID, 'validation', [], TemplateResponse::RENDER_AS_BASE); @@ -225,7 +274,9 @@ public function validation(): TemplateResponse { #[NoAdminRequired] #[NoCSRFRequired] #[PublicPage] + #[AnonRateLimit(limit: 5, period: 120)] public function validationFileWithShortUrl(): RedirectResponse { + $this->throwIfValidationPageNotAccessible(); return new RedirectResponse($this->url->linkToRoute('libresign.page.validationFile', ['uuid' => $this->request->getParam('uuid')])); } @@ -235,12 +286,20 @@ public function validationFileWithShortUrl(): RedirectResponse { #[NoAdminRequired] #[NoCSRFRequired] #[PublicPage] + #[RequireSignRequestUuid] public function resetPassword(): TemplateResponse { - $this->initialState->provideInitialState('config', $this->accountService->getConfig( - 'file_user_uuid', - $this->request->getParam('uuid'), - $this->userSession->getUser(), - 'url' + $this->initialState->provideInitialState('config', array_merge( + $this->accountService->getConfig($this->userSession->getUser()), + $this->signFileService->getFileData( + $this->getFileEntity(), + $this->userSession->getUser(), + $this->getSignRequestEntity() + ), + [ + 'sign' => [ + 'pdf' => $this->signFileService->getFileUrl('url', $this->getFileEntity(), $this->getNextcloudFile(), $this->request->getParam('uuid')), + ], + ], )); Util::addScript(Application::APP_ID, 'libresign-main'); @@ -255,12 +314,22 @@ public function resetPassword(): TemplateResponse { #[NoAdminRequired] #[NoCSRFRequired] #[PublicPage] + #[AnonRateLimit(limit: 5, period: 120)] public function validationFile(string $uuid): TemplateResponse { - $this->initialState->provideInitialState('config', $this->accountService->getConfig( - 'file_uuid', - $uuid, - $this->userSession->getUser(), - 'url' + $this->throwIfValidationPageNotAccessible(); + $config = []; + try { + $fileEntity = $this->signFileService->getFileByUuid($uuid); + $this->signFileService->getAccountFileById($fileEntity->getId()); + } catch (DoesNotExistException $e) { + $config = [ + 'action' => JSActions::ACTION_DO_NOTHING, + 'errors' => [$this->l10n->t('Invalid UUID')], + ]; + } + $this->initialState->provideInitialState('config', array_merge( + $config, + $this->accountService->getConfig($this->userSession->getUser()) )); $this->initialState->provideInitialState('legal_information', $this->appConfig->getAppValue('legal_information')); @@ -275,4 +344,14 @@ public function validationFile(string $uuid): TemplateResponse { return $response; } + + private function throwIfValidationPageNotAccessible(): void { + $isValidationUrlPrivate = (bool) $this->appConfig->getAppValue('make_validation_url_private', '0'); + if ($this->userSession->isLoggedIn()) { + return; + } + if ($isValidationUrlPrivate) { + throw new NotLoggedInException(); + } + } } diff --git a/lib/Controller/RequestSignatureController.php b/lib/Controller/RequestSignatureController.php index b56cfd06bf..460f9b142f 100644 --- a/lib/Controller/RequestSignatureController.php +++ b/lib/Controller/RequestSignatureController.php @@ -133,7 +133,7 @@ public function updateSign(?array $users = [], ?string $uuid = null, ?array $vis #[NoAdminRequired] #[NoCSRFRequired] #[RequireManager] - public function deleteOneRequestSignatureUsingFileId(int $fileId, int $fileUserId): JSONResponse { + public function deleteOneRequestSignatureUsingFileId(int $fileId, int $signRequestId): JSONResponse { try { $data = [ 'userManager' => $this->userSession->getUser(), @@ -142,8 +142,8 @@ public function deleteOneRequestSignatureUsingFileId(int $fileId, int $fileUserI ] ]; $this->validateHelper->validateExistingFile($data); - $this->validateHelper->validateIsSignerOfFile($fileUserId, $fileId); - $this->requestSignatureService->unassociateToUser($fileId, $fileUserId); + $this->validateHelper->validateIsSignerOfFile($signRequestId, $fileId); + $this->requestSignatureService->unassociateToUser($fileId, $signRequestId); } catch (\Throwable $th) { return new JSONResponse( [ diff --git a/lib/Controller/SignFileController.php b/lib/Controller/SignFileController.php index eaf2823202..8c48fa713f 100644 --- a/lib/Controller/SignFileController.php +++ b/lib/Controller/SignFileController.php @@ -26,7 +26,7 @@ use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUserMapper; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Helper\JSActions; use OCA\Libresign\Helper\ValidateHelper; @@ -48,7 +48,7 @@ class SignFileController extends AEnvironmentAwareController { public function __construct( IRequest $request, protected IL10N $l10n, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private FileMapper $fileMapper, private IUserSession $userSession, private ValidateHelper $validateHelper, @@ -73,23 +73,23 @@ public function signUsingUuid(string $uuid, string $password = null, array $elem return $this->sign($password, null, $uuid, $elements, $code); } - public function sign(string $password = null, int $fileId = null, string $fileUserUuid = null, array $elements = [], string $code = null): JSONResponse { + public function sign(string $password = null, int $fileId = null, string $signRequestUuid = null, array $elements = [], string $code = null): JSONResponse { try { $user = $this->userSession->getUser(); $this->validateHelper->canSignWithIdentificationDocumentStatus( $user, $this->fileService->getIdentificationDocumentsStatus($user->getUID()) ); - $libreSignFile = $this->signFileService->getLibresignFile($fileId, $fileUserUuid); - $fileUser = $this->signFileService->getFileUserToSign($libreSignFile, $user); - $this->validateHelper->validateVisibleElementsRelation($elements, $fileUser, $user); - $this->validateHelper->validateCredentials($fileUser, $user, [ + $libreSignFile = $this->signFileService->getLibresignFile($fileId, $signRequestUuid); + $signRequest = $this->signFileService->getSignRequestToSign($libreSignFile, $user); + $this->validateHelper->validateVisibleElementsRelation($elements, $signRequest, $user); + $this->validateHelper->validateCredentials($signRequest, $user, [ 'password' => $password, 'code' => $code, ]); $this->signFileService ->setLibreSignFile($libreSignFile) - ->setFileUser($fileUser) + ->setSignRequest($signRequest) ->storeUserMetadata([ 'user-agent' => $this->request->getHeader('User-Agent'), 'remote-address' => $this->request->getRemoteAddress(), @@ -163,17 +163,17 @@ private function getCode(string $uuid = null, int $fileId = null): JSONResponse try { $user = $this->userSession->getUser(); if ($fileId) { - $fileUser = $this->fileUserMapper->getByFileIdAndUserId($fileId, $user->getUID()); + $signRequest = $this->signRequestMapper->getByFileIdAndUserId($fileId, $user->getUID()); } else { - $fileUser = $this->fileUserMapper->getByUuidAndUserId($uuid, $user->getUID()); + $signRequest = $this->signRequestMapper->getByUuidAndUserId($uuid, $user->getUID()); } } catch (\Throwable $th) { throw new LibresignException($this->l10n->t('Invalid data to sign file'), 1); } - $this->validateHelper->canRequestCode($fileUser); - $libreSignFile = $this->fileMapper->getById($fileUser->getFileId()); + $this->validateHelper->canRequestCode($signRequest); + $libreSignFile = $this->fileMapper->getById($signRequest->getFileId()); $this->validateHelper->fileCanBeSigned($libreSignFile); - $this->signFileService->requestCode($fileUser, $user); + $this->signFileService->requestCode($signRequest, $user); $message = $this->l10n->t('The code to sign file was successfully requested.'); } catch (SmsTransmissionException $e) { // There was an error when to send SMS code to user. diff --git a/lib/Db/AccountFileMapper.php b/lib/Db/AccountFileMapper.php index ba9ab22bfa..8424b5ac44 100644 --- a/lib/Db/AccountFileMapper.php +++ b/lib/Db/AccountFileMapper.php @@ -42,7 +42,7 @@ public function __construct( IDBConnection $db, private IURLGenerator $urlGenerator, private FileMapper $fileMapper, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private FileTypeMapper $fileTypeMapper ) { parent::__construct($db, 'libresign_account_file'); @@ -107,8 +107,8 @@ public function accountFileList(array $filter, int $page = null, int $length = n $fileIds[] = $row['id']; $data[] = $this->formatListRow($row, $url); } - $signers = $this->fileUserMapper->getByMultipleFileId($fileIds); - $return['data'] = $this->assocFileToFileUserAndFormat($data, $signers); + $signers = $this->signRequestMapper->getByMultipleFileId($fileIds); + $return['data'] = $this->assocFileToSignRequestAndFormat($data, $signers); $return['pagination'] = $pagination; return $return; } @@ -127,11 +127,11 @@ private function getUserAccountFile(array $filter = [], bool $count = false): Pa ->selectAlias('u.uid_lower', 'account_uid') ->selectAlias('u.displayname', 'account_displayname') ->selectAlias('f.created_at', 'request_date') - ->selectAlias($qb->func()->max('fu.signed'), 'status_date') + ->selectAlias($qb->func()->max('sr.signed'), 'status_date') ->from($this->getTableName(), 'af') ->join('af', 'libresign_file', 'f', 'f.id = af.file_id') ->join('af', 'users', 'u', 'af.user_id = u.uid') - ->leftJoin('f', 'libresign_file_user', 'fu', 'fu.file_id = f.id') + ->leftJoin('f', 'libresign_sign_request', 'sr', 'sr.file_id = f.id') ->groupBy( 'f.id', 'f.uuid', @@ -232,9 +232,9 @@ private function formatListRow(array $row, string $url): array { /** * @param array $files - * @param FileUser[] $signers + * @param SignRequest[] $signers */ - private function assocFileToFileUserAndFormat(array $files, array $signers): array { + private function assocFileToSignRequestAndFormat(array $files, array $signers): array { foreach ($files as $key => $file) { $totalSigned = 0; $files[$key]['file']['signers'] = []; @@ -249,7 +249,7 @@ private function assocFileToFileUserAndFormat(array $files, array $signers): arr ->format('Y-m-d H:i:s'), 'sign_date' => null, 'uid' => $signer->getUserId(), - 'fileUserId' => $signer->getId(), + 'signRequestId' => $signer->getId(), 'identifyMethod' => $signer->getIdentifyMethod(), ]; if ($signer->getSigned()) { diff --git a/lib/Db/File.php b/lib/Db/File.php index babc08a943..2adf76b4db 100644 --- a/lib/Db/File.php +++ b/lib/Db/File.php @@ -38,7 +38,7 @@ * @method void setUuid(string $uuid) * @method string getUuid() * @method void setCreatedAt(string $createdAt) - * @method string getCreatedAt() + * @method int getCreatedAt() * @method void setName(string $name) * @method string getName() * @method void setCallback(string $callback) @@ -64,7 +64,7 @@ class File extends Entity { /** @var string */ protected $uuid; - /** @var string */ + /** @var integer */ protected $createdAt; /** @var string */ @@ -91,7 +91,7 @@ public function __construct() { $this->addType('signedNodeId', 'integer'); $this->addType('userId', 'string'); $this->addType('uuid', 'string'); - $this->addType('createdAt', 'string'); + $this->addType('createdAt', 'integer'); $this->addType('name', 'string'); $this->addType('callback', 'string'); $this->addType('status', 'integer'); diff --git a/lib/Db/FileElement.php b/lib/Db/FileElement.php index 5213829d1f..759b4f70b9 100644 --- a/lib/Db/FileElement.php +++ b/lib/Db/FileElement.php @@ -31,8 +31,8 @@ * @method void setId(int $id) * @method int getFileId() * @method void setFileId(int $fileId) - * @method int getFileUserId() - * @method void setFileUserId(int $fileUserId) + * @method int getSignRequestId() + * @method void setSignRequestId(int $signRequestId) * @method string getType() * @method void setType(string $type) * @method string getMetadata() @@ -57,7 +57,7 @@ class FileElement extends Entity { protected $fileId; /** @var int */ - protected $fileUserId; + protected $signRequestId; /** @var string */ protected $type; @@ -86,7 +86,7 @@ class FileElement extends Entity { public function __construct() { $this->addType('id', 'integer'); $this->addType('fileId', 'integer'); - $this->addType('fileUserId', 'integer'); + $this->addType('signRequestId', 'integer'); $this->addType('type', 'string'); $this->addType('metadata', 'string'); $this->addType('page', 'integer'); diff --git a/lib/Db/FileElementMapper.php b/lib/Db/FileElementMapper.php index 6775ccd5d1..b8ded5960c 100644 --- a/lib/Db/FileElementMapper.php +++ b/lib/Db/FileElementMapper.php @@ -59,7 +59,7 @@ public function getByFileId(int $fileId): array { /** * @return FileElement[] */ - public function getByFileIdAndFileUserId(int $fileId, int $fileUserId): array { + public function getByFileIdAndSignRequestId(int $fileId, int $signRequestId): array { $qb = $this->db->getQueryBuilder(); $qb->select('fe.*') @@ -68,7 +68,7 @@ public function getByFileIdAndFileUserId(int $fileId, int $fileUserId): array { $qb->expr()->eq('fe.file_id', $qb->createNamedParameter($fileId)) ) ->andWhere( - $qb->expr()->eq('fe.file_user_id', $qb->createNamedParameter($fileUserId, IQueryBuilder::PARAM_INT)) + $qb->expr()->eq('fe.sign_request_id', $qb->createNamedParameter($signRequestId, IQueryBuilder::PARAM_INT)) ); return $this->findEntities($qb); diff --git a/lib/Db/FileMapper.php b/lib/Db/FileMapper.php index 4c798c1708..ad1a3b8f6d 100644 --- a/lib/Db/FileMapper.php +++ b/lib/Db/FileMapper.php @@ -24,6 +24,7 @@ namespace OCA\Libresign\Db; +use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Db\QBMapper; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDBConnection; @@ -48,6 +49,7 @@ public function __construct( /** * Return LibreSign file by ID * + * @throws DoesNotExistException * @return File Row of table libresign_file */ public function getById(int $id): File { diff --git a/lib/Db/IdentifyMethod.php b/lib/Db/IdentifyMethod.php index c919f3887e..102cabc200 100644 --- a/lib/Db/IdentifyMethod.php +++ b/lib/Db/IdentifyMethod.php @@ -28,8 +28,8 @@ use OCP\AppFramework\Db\Entity; /** - * @method void setFileUserId(int $fileUserId) - * @method int getFileUserId() + * @method void setSignRequestId(int $signRequestId) + * @method int getSignRequestId() * @method void setMethod(string $method) * @method string getMethod() * @method void setAttempts(int $attempts) @@ -47,7 +47,7 @@ */ class IdentifyMethod extends Entity { /** @var integer */ - public $fileUserId; + public $signRequestId; /** @var string */ public $method; /** @var int */ @@ -66,7 +66,7 @@ class IdentifyMethod extends Entity { public $lastAttemptDate; public function __construct() { - $this->addType('fileUserId', 'integer'); + $this->addType('signRequestId', 'integer'); $this->addType('method', 'string'); $this->addType('mandatory', 'int'); $this->addType('code', 'string'); diff --git a/lib/Db/IdentifyMethodMapper.php b/lib/Db/IdentifyMethodMapper.php index aff0d579bc..14159d9bf4 100644 --- a/lib/Db/IdentifyMethodMapper.php +++ b/lib/Db/IdentifyMethodMapper.php @@ -30,7 +30,7 @@ use OCP\IDBConnection; class IdentifyMethodMapper extends QBMapper { - private array $methodsByFileUser = []; + private array $methodsBySignRequest = []; public function __construct(IDBConnection $db) { parent::__construct($db, 'libresign_identify_method'); } @@ -38,21 +38,21 @@ public function __construct(IDBConnection $db) { /** * @return array */ - public function getIdentifyMethodsFromFileUserId(int $fileUserId): array { - if (!empty($this->methodsByFileUser[$fileUserId])) { - return $this->methodsByFileUser[$fileUserId]; + public function getIdentifyMethodsFromSignRequestId(int $signRequestId): array { + if (!empty($this->methodsBySignRequest[$signRequestId])) { + return $this->methodsBySignRequest[$signRequestId]; } $qb = $this->db->getQueryBuilder(); $qb->select('im.*') ->from('libresign_identify_method', 'im') ->where( - $qb->expr()->eq('im.file_user_id', $qb->createNamedParameter($fileUserId, IQueryBuilder::PARAM_INT)) + $qb->expr()->eq('im.sign_request_id', $qb->createNamedParameter($signRequestId, IQueryBuilder::PARAM_INT)) ); $cursor = $qb->executeQuery(); - $this->methodsByFileUser[$fileUserId] = []; + $this->methodsBySignRequest[$signRequestId] = []; while ($row = $cursor->fetch()) { - $this->methodsByFileUser[$fileUserId][] = $this->mapRowToEntity($row); + $this->methodsBySignRequest[$signRequestId][] = $this->mapRowToEntity($row); } - return $this->methodsByFileUser[$fileUserId]; + return $this->methodsBySignRequest[$signRequestId]; } } diff --git a/lib/Db/FileUser.php b/lib/Db/SignRequest.php similarity index 98% rename from lib/Db/FileUser.php rename to lib/Db/SignRequest.php index 138c01a97d..a556e1a57c 100644 --- a/lib/Db/FileUser.php +++ b/lib/Db/SignRequest.php @@ -49,7 +49,7 @@ * @method void setMetadata(array $metadata) * @method string getMetadata() */ -class FileUser extends Entity { +class SignRequest extends Entity { /** @var integer */ public $id; diff --git a/lib/Db/FileUserMapper.php b/lib/Db/SignRequestMapper.php similarity index 80% rename from lib/Db/FileUserMapper.php rename to lib/Db/SignRequestMapper.php index ff979d93f5..d19f4f7c4a 100644 --- a/lib/Db/FileUserMapper.php +++ b/lib/Db/SignRequestMapper.php @@ -36,13 +36,13 @@ use OCP\IUser; /** - * Class FileUserMapper + * Class SignRequestMapper * * @package OCA\Libresign\DB */ -class FileUserMapper extends QBMapper { +class SignRequestMapper extends QBMapper { /** - * @var FileUser[] + * @var SignRequest[] */ private $signers = []; @@ -50,21 +50,21 @@ public function __construct( IDBConnection $db, protected IL10N $l10n, ) { - parent::__construct($db, 'libresign_file_user'); + parent::__construct($db, 'libresign_sign_request'); } /** * @inheritDoc */ public function update(Entity $entity): Entity { - $fileUser = parent::update($entity); - $filtered = array_filter($this->signers, fn ($e) => $e->getId() === $fileUser->getId()); + $signRequest = parent::update($entity); + $filtered = array_filter($this->signers, fn ($e) => $e->getId() === $signRequest->getId()); if (!empty($filtered)) { - $this->signers[key($filtered)] = $fileUser; + $this->signers[key($filtered)] = $signRequest; } else { - $this->signers[] = $fileUser; + $this->signers[] = $signRequest; } - return $fileUser; + return $signRequest; } /** @@ -87,14 +87,14 @@ public function findUnsigned(): array { } /** - * Get file user by UUID + * Get sign request by UUID * * @throws DoesNotExistException */ - public function getByUuid(string $uuid): FileUser { - foreach ($this->signers as $fileUser) { - if ($fileUser->getUuid() === $uuid) { - return $fileUser; + public function getByUuid(string $uuid): SignRequest { + foreach ($this->signers as $signRequest) { + if ($signRequest->getUuid() === $uuid) { + return $signRequest; } } $qb = $this->db->getQueryBuilder(); @@ -104,9 +104,9 @@ public function getByUuid(string $uuid): FileUser { ->where( $qb->expr()->eq('uuid', $qb->createNamedParameter($uuid)) ); - $fileUser = $this->findEntity($qb); - $this->signers[] = $fileUser; - return $fileUser; + $signRequest = $this->findEntity($qb); + $this->signers[] = $signRequest; + return $signRequest; } public function getByEmailAndFileId(string $email, int $fileId): \OCP\AppFramework\Db\Entity { @@ -126,20 +126,20 @@ public function getByEmailAndFileId(string $email, int $fileId): \OCP\AppFramewo public function getByIdentifyMethodAndFileId(IIdentifyMethod $identifyMethod, int $fileId): \OCP\AppFramework\Db\Entity { $qb = $this->db->getQueryBuilder(); - $qb->select('fu.*') - ->from($this->getTableName(), 'fu') - ->join('fu', 'libresign_identify_method', 'im', 'fu.id = im.file_user_id') + $qb->select('sr.*') + ->from($this->getTableName(), 'sr') + ->join('sr', 'libresign_identify_method', 'im', 'sr.id = im.sign_request_id') ->where($qb->expr()->eq('im.method', $qb->createNamedParameter($identifyMethod->getEntity()->getMethod()))) ->andWhere($qb->expr()->eq('im.identifier_key', $qb->createNamedParameter($identifyMethod->getEntity()->getIdentifierKey()))) ->andWhere($qb->expr()->eq('im.identifier_value', $qb->createNamedParameter($identifyMethod->getEntity()->getIdentifierValue()))) - ->andWhere($qb->expr()->eq('fu.file_id', $qb->createNamedParameter($fileId, IQueryBuilder::PARAM_INT))); + ->andWhere($qb->expr()->eq('sr.file_id', $qb->createNamedParameter($fileId, IQueryBuilder::PARAM_INT))); return $this->findEntity($qb); } /** * Get all signers by fileId * - * @return FileUser[] + * @return SignRequest[] */ public function getByFileId(int $fileId): array { $signers = array_filter($this->signers, fn ($f) => $f->getFileId() === $fileId); @@ -160,10 +160,13 @@ public function getByFileId(int $fileId): array { return $signers; } - public function getById(int $fileUserId): FileUser { - foreach ($this->signers as $fileUser) { - if ($fileUser->getFileId() === $fileUserId) { - return $fileUser; + /** + * @throws DoesNotExistException + */ + public function getById(int $signRequestId): SignRequest { + foreach ($this->signers as $signRequest) { + if ($signRequest->getFileId() === $signRequestId) { + return $signRequest; } } $qb = $this->db->getQueryBuilder(); @@ -171,17 +174,17 @@ public function getById(int $fileUserId): FileUser { $qb->select('*') ->from($this->getTableName()) ->where( - $qb->expr()->eq('id', $qb->createNamedParameter($fileUserId, IQueryBuilder::PARAM_INT)) + $qb->expr()->eq('id', $qb->createNamedParameter($signRequestId, IQueryBuilder::PARAM_INT)) ); - $fileUser = $this->findEntity($qb); - $this->signers[] = $fileUser; - return $fileUser; + $signRequest = $this->findEntity($qb); + $this->signers[] = $signRequest; + return $signRequest; } /** * Get all signers by multiple fileId * - * @return FileUser[] + * @return SignRequest[] */ public function getByMultipleFileId(array $fileId) { $qb = $this->db->getQueryBuilder(); @@ -198,14 +201,14 @@ public function getByMultipleFileId(array $fileId) { /** * Get all signers by fileId * - * @return FileUser[] + * @return SignRequest[] */ public function getByNodeId(int $nodeId) { $qb = $this->db->getQueryBuilder(); - $qb->select('fu.*') - ->from($this->getTableName(), 'fu') - ->join('fu', 'libresign_file', 'f', 'fu.file_id = f.id') + $qb->select('sr.*') + ->from($this->getTableName(), 'sr') + ->join('sr', 'libresign_file', 'f', 'sr.file_id = f.id') ->where( $qb->expr()->eq('f.node_id', $qb->createNamedParameter($nodeId, IQueryBuilder::PARAM_INT)) ); @@ -218,7 +221,7 @@ public function getByNodeId(int $nodeId) { * Get all signers by File Uuid * * @param string $nodeId - * @return FileUser[] + * @return SignRequest[] */ public function getByFileUuid(string $uuid) { $signers = array_filter($this->signers, fn ($f) => $f->getUuid() === $uuid); @@ -227,9 +230,9 @@ public function getByFileUuid(string $uuid) { } $qb = $this->db->getQueryBuilder(); - $qb->select('fu.*') - ->from($this->getTableName(), 'fu') - ->join('fu', 'libresign_file', 'f', 'fu.file_id = f.id') + $qb->select('sr.*') + ->from($this->getTableName(), 'sr') + ->join('sr', 'libresign_file', 'f', 'sr.file_id = f.id') ->where( $qb->expr()->eq('f.uuid', $qb->createNamedParameter($uuid)) ); @@ -239,13 +242,13 @@ public function getByFileUuid(string $uuid) { return $signers; } - public function getByUuidAndUserId(string $uuid, string $userId): FileUser { + public function getByUuidAndUserId(string $uuid, string $userId): SignRequest { $qb = $this->db->getQueryBuilder(); $qb->select('*') - ->from($this->getTableName(), 'fu') - ->leftJoin('fu', 'libresign_identify_method', 'im', $qb->expr()->andX( - $qb->expr()->eq('fu.id', 'im.file_user_id'), + ->from($this->getTableName(), 'sr') + ->leftJoin('sr', 'libresign_identify_method', 'im', $qb->expr()->andX( + $qb->expr()->eq('fu.id', 'im.sign_request_id'), $qb->expr()->eq('im.method', $qb->createNamedParameter('account')), $qb->expr()->eq('im.identifier_key', $qb->createNamedParameter('uid')) )) @@ -256,21 +259,21 @@ public function getByUuidAndUserId(string $uuid, string $userId): FileUser { $qb->expr()->eq('user_id', $qb->createNamedParameter($userId)) ); - $fileUser = $this->findEntity($qb); - $this->signers[] = $fileUser; - return $fileUser; + $signRequest = $this->findEntity($qb); + $this->signers[] = $signRequest; + return $signRequest; } - public function getByFileIdAndUserId(int $file_id, string $userId): FileUser { + public function getByFileIdAndUserId(int $file_id, string $userId): SignRequest { $qb = $this->db->getQueryBuilder(); - $qb->select('fu.*') - ->from($this->getTableName(), 'fu') - ->join('fu', 'libresign_file', 'f', 'fu.file_id = f.id') + $qb->select('sr.*') + ->from($this->getTableName(), 'sr') + ->join('sr', 'libresign_file', 'f', 'sr.file_id = f.id') - ->leftJoin('fu', 'libresign_identify_method', 'im', $qb->expr()->andX( - $qb->expr()->eq('fu.id', 'im.file_user_id'), + ->leftJoin('sr', 'libresign_identify_method', 'im', $qb->expr()->andX( + $qb->expr()->eq('fu.id', 'im.sign_request_id'), $qb->expr()->eq('im.method', $qb->createNamedParameter('account')), $qb->expr()->eq('im.identifier_key', $qb->createNamedParameter('uid')) )) @@ -285,37 +288,37 @@ public function getByFileIdAndUserId(int $file_id, string $userId): FileUser { return $this->findEntity($qb); } - public function getByFileIdAndEmail(int $file_id, string $email): FileUser { + public function getByFileIdAndEmail(int $file_id, string $email): SignRequest { $qb = $this->db->getQueryBuilder(); - $qb->select('fu.*') - ->from($this->getTableName(), 'fu') - ->join('fu', 'libresign_file', 'f', 'fu.file_id = f.id') + $qb->select('sr.*') + ->from($this->getTableName(), 'sr') + ->join('sr', 'libresign_file', 'f', 'sr.file_id = f.id') ->where( $qb->expr()->eq('f.node_id', $qb->createNamedParameter($file_id, IQueryBuilder::PARAM_INT)) ) ->andWhere( - $qb->expr()->eq('fu.email', $qb->createNamedParameter($email)) + $qb->expr()->eq('sr.email', $qb->createNamedParameter($email)) ); return $this->findEntity($qb); } - public function getByFileIdAndFileUserId(int $fileId, int $fileUserId): FileUser { - $filtered = array_filter($this->signers, fn ($e) => $e->getId() === $fileUserId); + public function getByFileIdAndSignRequestId(int $fileId, int $signRequestId): SignRequest { + $filtered = array_filter($this->signers, fn ($e) => $e->getId() === $signRequestId); if ($filtered) { return current($filtered); } $qb = $this->db->getQueryBuilder(); - $qb->select('fu.*') - ->from($this->getTableName(), 'fu') - ->join('fu', 'libresign_file', 'f', 'fu.file_id = f.id') + $qb->select('sr.*') + ->from($this->getTableName(), 'sr') + ->join('sr', 'libresign_file', 'f', 'sr.file_id = f.id') ->where( $qb->expr()->eq('f.node_id', $qb->createNamedParameter($fileId)) ) ->andWhere( - $qb->expr()->eq('fu.id', $qb->createNamedParameter($fileUserId)) + $qb->expr()->eq('sr.id', $qb->createNamedParameter($signRequestId)) ); $this->signers[] = $this->findEntity($qb); @@ -352,32 +355,32 @@ public function getFilesAssociatedFilesWithMeFormatted( } /** - * @param array $fileUsers + * @param array $signRequests * @return array> */ - private function getIdentifyMethodsFromSigners(array $fileUsers): array { - $fileUserIds = array_map(function (FileUser $fileUser): int { - return $fileUser->getId(); - }, $fileUsers); - if (!$fileUserIds) { + private function getIdentifyMethodsFromSigners(array $signRequests): array { + $signRequestIds = array_map(function (SignRequest $signRequest): int { + return $signRequest->getId(); + }, $signRequests); + if (!$signRequestIds) { return []; } $qb = $this->db->getQueryBuilder(); $qb->select('im.*') ->from('libresign_identify_method', 'im') ->where( - $qb->expr()->in('im.file_user_id', $qb->createParameter('fileUserIds')) + $qb->expr()->in('im.sign_request_id', $qb->createParameter('signRequestIds')) ) ->orderBy('im.mandatory', 'DESC') ->addOrderBy('im.identified_at_date', 'ASC'); $return = []; - foreach (array_chunk($fileUserIds, 1000) as $fileUserIdsChunk) { - $qb->setParameter('fileUserIds', $fileUserIdsChunk, IQueryBuilder::PARAM_INT_ARRAY); + foreach (array_chunk($signRequestIds, 1000) as $signRequestIdsChunk) { + $qb->setParameter('signRequestIds', $signRequestIdsChunk, IQueryBuilder::PARAM_INT_ARRAY); $cursor = $qb->executeQuery(); while ($row = $cursor->fetch()) { $identifyMethod = new IdentifyMethod(); - $return[$row['file_user_id']][$row['method']] = $identifyMethod->fromRow($row); + $return[$row['sign_request_id']][$row['method']] = $identifyMethod->fromRow($row); } } return $return; @@ -395,10 +398,10 @@ private function getFilesAssociatedFilesWithMeStmt(string $userId, ?string $emai ->selectAlias('u.uid_lower', 'requested_by_uid') ->selectAlias('u.displayname', 'requested_by_dislpayname') ->selectAlias('f.created_at', 'request_date') - ->selectAlias($qb->func()->max('fu.signed'), 'status_date') + ->selectAlias($qb->func()->max('sr.signed'), 'status_date') ->from('libresign_file', 'f') - ->leftJoin('f', 'libresign_file_user', 'fu', 'fu.file_id = f.id') - ->leftJoin('f', 'libresign_identify_method', 'im', $qb->expr()->eq('fu.id', 'im.file_user_id')) + ->leftJoin('f', 'libresign_sign_request', 'sr', 'sr.file_id = f.id') + ->leftJoin('f', 'libresign_identify_method', 'im', $qb->expr()->eq('sr.id', 'im.sign_request_id')) ->join('f', 'users', 'u', 'f.user_id = u.uid') ->groupBy( 'f.id', @@ -444,7 +447,7 @@ private function getFilesAssociatedFilesWithMeStmt(string $userId, ?string $emai /** * @param IUser $userId * @param array $files - * @param array $signers + * @param array $signers * @param array> $identifyMethods */ private function associateAllAndFormat(IUser $user, array $files, array $signers, array $identifyMethods): array { @@ -479,7 +482,7 @@ private function associateAllAndFormat(IUser $user, array $files, array $signers } return $carry; }, ''), - 'fileUserId' => $signer->getId(), + 'signRequestId' => $signer->getId(), 'me' => array_reduce($identifyMethodsOfSigner, function (bool $carry, IdentifyMethod $identifyMethod) use ($user): bool { if (!$user->getEMailAddress()) { return false; diff --git a/lib/Events/SendSignNotificationEvent.php b/lib/Events/SendSignNotificationEvent.php index 8952bfa61e..54e9ad7bb9 100644 --- a/lib/Events/SendSignNotificationEvent.php +++ b/lib/Events/SendSignNotificationEvent.php @@ -24,20 +24,20 @@ namespace OCA\Libresign\Events; -use OCA\Libresign\Db\FileUser; +use OCA\Libresign\Db\SignRequest; use OCA\Libresign\Service\IdentifyMethod\IIdentifyMethod; use OCP\EventDispatcher\Event; class SendSignNotificationEvent extends Event { public function __construct( - private FileUser $fileUser, + private SignRequest $signRequest, private IIdentifyMethod $identifyMethod, private bool $isNew ) { } - public function getFileUser(): FileUser { - return $this->fileUser; + public function getSignRequest(): SignRequest { + return $this->signRequest; } public function isNew(): bool { diff --git a/lib/Exception/InvalidPasswordException.php b/lib/Exception/InvalidPasswordException.php new file mode 100644 index 0000000000..bcec6fe54d --- /dev/null +++ b/lib/Exception/InvalidPasswordException.php @@ -0,0 +1,28 @@ + + * + * @author Vitor Mattos + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace OCA\Libresign\Exception; + +class InvalidPasswordException extends \Exception { +} diff --git a/lib/Files/TemplateLoader.php b/lib/Files/TemplateLoader.php index d5eb56ce56..f954f58de4 100644 --- a/lib/Files/TemplateLoader.php +++ b/lib/Files/TemplateLoader.php @@ -73,12 +73,5 @@ public function handle(Event $event): void { } catch (LibresignException $th) { $this->initialState->provideInitialState('can_request_sign', false); } - - $this->initialState->provideInitialState('config', $this->accountService->getConfig( - 'file_user_uuid', - $this->request->getParam('uuid'), - $this->userSession->getUser(), - 'url' - )); } } diff --git a/lib/Handler/CertificateEngine/AEngineHandler.php b/lib/Handler/CertificateEngine/AEngineHandler.php index f79f6c4381..eed2f2f879 100644 --- a/lib/Handler/CertificateEngine/AEngineHandler.php +++ b/lib/Handler/CertificateEngine/AEngineHandler.php @@ -26,6 +26,7 @@ use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Exception\EmptyRootCertificateException; +use OCA\Libresign\Exception\InvalidPasswordException; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Helper\MagicGetterSetterTrait; use OCP\Files\AppData\IAppDataFactory; @@ -101,6 +102,19 @@ public function generateCertificate(string $certificate, string $privateKey): st return $certContent; } + public function updatePassword(string $certificate, string $currentPrivateKey, string $newPrivateKey): string { + if (empty($certificate) || empty($currentPrivateKey) || empty($newPrivateKey)) { + throw new EmptyRootCertificateException(); + } + openssl_pkcs12_read($certificate, $certContent, $currentPrivateKey); + if (empty($certContent)) { + throw new InvalidPasswordException(); + } + $this->setPassword($newPrivateKey); + $certContent = self::generateCertificate($certContent['cert'], $certContent['pkey']); + return $certContent; + } + public function translateToLong($name): string { switch ($name) { case 'CN': diff --git a/lib/Handler/CertificateEngine/Handler.php b/lib/Handler/CertificateEngine/Handler.php index 944a713b20..937db70a49 100644 --- a/lib/Handler/CertificateEngine/Handler.php +++ b/lib/Handler/CertificateEngine/Handler.php @@ -32,11 +32,15 @@ class Handler { public function __construct( private CfsslHandler $cfsslHandler, private OpenSslHandler $openSslHandler, + private NoneHandler $noneHandler, private IConfig $config ) { } - public function getEngine(string $engineName = '', array $rootCert = []): CfsslHandler|OpenSslHandler { + /** + * @return CfsslHandler|OpenSslHandler|IEngineHandler + */ + public function getEngine(string $engineName = '', array $rootCert = []): IEngineHandler { if (!$engineName) { $engineName = $this->config->getAppValue(Application::APP_ID, 'certificate_engine', 'openssl'); } @@ -44,6 +48,8 @@ public function getEngine(string $engineName = '', array $rootCert = []): CfsslH $engine = $this->openSslHandler; } elseif ($engineName === 'cfssl') { $engine = $this->cfsslHandler; + } elseif ($engineName === 'none') { + $engine = $this->noneHandler; } else { throw new LibresignException('Certificate engine not found: ' . $engineName); } diff --git a/lib/Handler/CertificateEngine/IEngineHandler.php b/lib/Handler/CertificateEngine/IEngineHandler.php index 2a2d742c82..655833abea 100644 --- a/lib/Handler/CertificateEngine/IEngineHandler.php +++ b/lib/Handler/CertificateEngine/IEngineHandler.php @@ -51,7 +51,9 @@ public function generateRootCert( array $names = [], ): string; - public function generateCertificate(): string; + public function generateCertificate(string $certificate = '', string $privateKey = ''): string; + + public function updatePassword(string $certificate, string $currentPrivateKey, string $newPrivateKey): string; public function isSetupOk(): bool; diff --git a/lib/Handler/CertificateEngine/NoneHandler.php b/lib/Handler/CertificateEngine/NoneHandler.php new file mode 100644 index 0000000000..0ef706db7c --- /dev/null +++ b/lib/Handler/CertificateEngine/NoneHandler.php @@ -0,0 +1,46 @@ + + * + * @author Vitor Mattos + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace OCA\Libresign\Handler\CertificateEngine; + +class NoneHandler extends AEngineHandler implements IEngineHandler { + public function generateRootCert( + string $commonName, + array $names = [], + ): string { + return ''; + } + + public function generateCertificate(string $certificate = '', string $privateKey = ''): string { + return ''; + } + + public function isSetupOk(): bool { + return true; + } + + public function configureCheck(): array { + return []; + } +} diff --git a/lib/Handler/CertificateEngine/OpenSslHandler.php b/lib/Handler/CertificateEngine/OpenSslHandler.php index 30cc30f51f..7670c1a394 100644 --- a/lib/Handler/CertificateEngine/OpenSslHandler.php +++ b/lib/Handler/CertificateEngine/OpenSslHandler.php @@ -24,6 +24,7 @@ namespace OCA\Libresign\Handler\CertificateEngine; +use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Helper\ConfigureCheckHelper; /** @@ -38,6 +39,9 @@ public function generateCertificate(string $certificate = '', string $privateKey $configPath = $this->getConfigPath(); $certificate = file_get_contents($configPath . '/ca.pem'); $privateKey = file_get_contents($configPath . '/ca-key.pem'); + if (empty($certificate) || empty($privateKey)) { + throw new LibresignException('Invalid root certificate'); + } return parent::generateCertificate($certificate, $privateKey); } diff --git a/lib/Handler/Pkcs12Handler.php b/lib/Handler/Pkcs12Handler.php index 132fe2a314..82f973dbf8 100644 --- a/lib/Handler/Pkcs12Handler.php +++ b/lib/Handler/Pkcs12Handler.php @@ -80,6 +80,26 @@ public function savePfx(string $uid, string $content): string { return $content; } + public function deletePfx(string $uid): void { + $this->folderService->setUserId($uid); + $folder = $this->folderService->getFolder(); + try { + $file = $folder->get($this->pfxFilename); + $file->delete(); + } catch (\Throwable $th) { + } + } + + public function updatePassword(string $uid, string $currentPrivateKey, string $newPrivateKey): string { + $pfx = $this->getPfx($uid); + $content = $this->certificateEngineHandler->getEngine()->updatePassword( + $pfx, + $currentPrivateKey, + $newPrivateKey + ); + return $this->savePfx($uid, $content); + } + /** * Get content of pfx file */ diff --git a/lib/Helper/ValidateHelper.php b/lib/Helper/ValidateHelper.php index f31e70850b..5dd303d823 100644 --- a/lib/Helper/ValidateHelper.php +++ b/lib/Helper/ValidateHelper.php @@ -32,10 +32,10 @@ use OCA\Libresign\Db\FileElementMapper; use OCA\Libresign\Db\FileMapper; use OCA\Libresign\Db\FileTypeMapper; -use OCA\Libresign\Db\FileUser; -use OCA\Libresign\Db\FileUserMapper; use OCA\Libresign\Db\IdentifyMethod; use OCA\Libresign\Db\IdentifyMethodMapper; +use OCA\Libresign\Db\SignRequest; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Db\UserElementMapper; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Service\FileService; @@ -44,6 +44,7 @@ use OCP\Files\Config\IUserMountCache; use OCP\Files\IMimeTypeDetector; use OCP\Files\IRootFolder; +use OCP\Files\NotFoundException; use OCP\IConfig; use OCP\IGroupManager; use OCP\IL10N; @@ -67,7 +68,7 @@ class ValidateHelper { public function __construct( private IL10N $l10n, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private FileMapper $fileMapper, private FileTypeMapper $fileTypeMapper, private FileElementMapper $fileElementMapper, @@ -88,6 +89,14 @@ public function validateNewFile(array $data): void { $this->validateFile($data, self::TYPE_TO_SIGN); if (!empty($data['file']['fileId'])) { $this->validateNotRequestedSign((int)$data['file']['fileId']); + } elseif (!empty($data['file']['path'])) { + $userFolder = $this->root->getUserFolder($data['userManager']->getUID()); + try { + $node = $userFolder->get($data['file']['path']); + } catch (NotFoundException $e) { + throw new LibresignException($this->l10n->t('Invalid data to validate file'), 404); + } + $this->validateNotRequestedSign($node->getId()); } } @@ -107,18 +116,30 @@ public function validateFile(array $data, int $type = self::TYPE_TO_SIGN): void } return; } - if (empty($data['file']['url']) && empty($data['file']['base64']) && empty($data['file']['fileId'])) { - throw new LibresignException($this->l10n->t('File type: %s. Specify a URL, a base64 string or a fileID.', [$this->getTypeOfFile($type)])); - } - if (!empty($data['file']['fileId'])) { + if (!empty($data['file']['url'])) { + if (!filter_var($data['file']['url'], FILTER_VALIDATE_URL)) { + throw new LibresignException($this->l10n->t('File type: %s. Specify a URL, a base64 string or a fileID.', [$this->getTypeOfFile($type)])); + } + } elseif (!empty($data['file']['fileId'])) { if (!is_numeric($data['file']['fileId'])) { throw new LibresignException($this->l10n->t('File type: %s. Invalid fileID.', [$this->getTypeOfFile($type)])); } $this->validateIfNodeIdExists((int)$data['file']['fileId'], $type); $this->validateMimeTypeAcceptedByNodeId((int)$data['file']['fileId'], $type); - } - if (!empty($data['file']['base64'])) { + } elseif (!empty($data['file']['base64'])) { $this->validateBase64($data['file']['base64'], $type); + } elseif (!empty($data['file']['path'])) { + if (!is_a($data['userManager'], IUser::class)) { + throw new LibresignException($this->l10n->t('User not found.')); + } + $userFolder = $this->root->getUserFolder($data['userManager']->getUID()); + try { + $userFolder->get($data['file']['path']); + } catch (NotFoundException $e) { + throw new LibresignException($this->l10n->t('Invalid data to validate file'), 404); + } + } else { + throw new LibresignException($this->l10n->t('File type: %s. Specify a URL, base64 string, path or a fileID.', [$this->getTypeOfFile($type)])); } } @@ -163,7 +184,7 @@ public function validateBase64(string $base64, int $type = self::TYPE_TO_SIGN): public function validateNotRequestedSign(int $nodeId): void { try { - $fileMapper = $this->fileUserMapper->getByNodeId($nodeId); + $fileMapper = $this->signRequestMapper->getByNodeId($nodeId); } catch (\Throwable $th) { } if (!empty($fileMapper)) { @@ -182,21 +203,21 @@ public function validateVisibleElements(?array $visibleElements, int $type): voi public function validateVisibleElement(array $element, int $type): void { $this->validateElementType($element); - $this->validateElementFileUserId($element, $type); + $this->validateElementSignRequestId($element, $type); $this->validateFile($element, $type); $this->validateElementCoordinates($element); } - public function validateElementFileUserId(array $element, int $type): void { + public function validateElementSignRequestId(array $element, int $type): void { if ($type !== self::TYPE_VISIBLE_ELEMENT_PDF) { return; } - if (!array_key_exists('fileUserId', $element)) { + if (!array_key_exists('signRequestId', $element)) { // TRANSLATION The element can be an image or text. It has to be associated with an user. The element will be added to the document. throw new LibresignException($this->l10n->t('Element must be associated with a user')); } try { - $this->fileUserMapper->getById($element['fileUserId']); + $this->signRequestMapper->getById($element['signRequestId']); } catch (\Throwable $th) { throw new LibresignException($this->l10n->t('User not found for element.')); } @@ -250,7 +271,7 @@ public function validateElementType(array $element): void { } } - public function validateVisibleElementsRelation(array $list, FileUser $fileUser, IUser $user): void { + public function validateVisibleElementsRelation(array $list, SignRequest $signRequest, IUser $user): void { foreach ($list as $elements) { if (!array_key_exists('documentElementId', $elements)) { throw new LibresignException($this->l10n->t('Field %s not found', ['documentElementId'])); @@ -265,19 +286,19 @@ public function validateVisibleElementsRelation(array $list, FileUser $fileUser, throw new LibresignException($this->l10n->t('Field %s does not belong to user', $elements['profileElementId'])); } } - $this->validateUserHasNecessaryElements($fileUser, $user, $list); + $this->validateUserHasNecessaryElements($signRequest, $user, $list); } - private function validateUserHasNecessaryElements(FileUser $fileUser, IUser $user, array $list = []): void { - $fileElements = $this->fileElementMapper->getByFileIdAndFileUserId($fileUser->getFileId(), $fileUser->getId()); - $total = array_filter($fileElements, function (FileElement $fileElement) use ($list, $fileUser): bool { + private function validateUserHasNecessaryElements(SignRequest $signRequest, IUser $user, array $list = []): void { + $fileElements = $this->fileElementMapper->getByFileIdAndSignRequestId($signRequest->getFileId(), $signRequest->getId()); + $total = array_filter($fileElements, function (FileElement $fileElement) use ($list, $signRequest): bool { $found = array_filter($list, function ($item) use ($fileElement): bool { return $item['documentElementId'] === $fileElement->getId(); }); if (!$found) { try { $this->userElementMapper->findMany([ - 'user_id' => $fileUser->getUserId(), + 'user_id' => $signRequest->getUserId(), 'type' => $fileElement->getType(), ]); return true; @@ -295,13 +316,13 @@ private function validateUserHasNecessaryElements(FileUser $fileUser, IUser $use public function validateUserIsOwnerOfPdfVisibleElement(int $documentElementId, string $uid): void { try { $documentElement = $this->fileElementMapper->getById($documentElementId); - $fileUser = $this->fileUserMapper->getById($documentElement->getFileUserId()); - $file = $this->fileMapper->getById($fileUser->getFileId()); + $signRequest = $this->signRequestMapper->getById($documentElement->getSignRequestId()); + $file = $this->fileMapper->getById($signRequest->getFileId()); if ($file->getUserId() !== $uid) { throw new LibresignException($this->l10n->t('Field %s does not belong to user', $documentElementId)); } } catch (\Throwable $th) { - ($fileUser->getFileId()); + ($signRequest->getFileId()); throw new LibresignException($this->l10n->t('Field %s does not belong to user', $documentElementId)); } } @@ -395,7 +416,7 @@ private function getLibreSignFileByNodeId(int $nodeId) { } public function canRequestSign(IUser $user): void { - $authorized = json_decode($this->config->getAppValue(Application::APP_ID, 'webhook_authorized', '["admin"]')); + $authorized = json_decode($this->config->getAppValue(Application::APP_ID, 'groups_request_sign', '["admin"]')); if (empty($authorized)) { $authorized = ['admin']; } @@ -506,11 +527,11 @@ public function signerWasAssociated(array $signer): void { } catch (\Throwable $th) { throw new LibresignException($this->l10n->t('File not loaded')); } - $signatures = $this->fileUserMapper->getByFileUuid($libresignFile->getUuid()); - $exists = array_filter($signatures, function (FileUser $fileUser) use ($signer): bool { + $signatures = $this->signRequestMapper->getByFileUuid($libresignFile->getUuid()); + $exists = array_filter($signatures, function (SignRequest $signRequest) use ($signer): bool { $key = key($signer); $value = current($signer); - $identifyMethods = $this->identifyMethodMapper->getIdentifyMethodsFromFileUserId($fileUser->getId()); + $identifyMethods = $this->identifyMethodMapper->getIdentifyMethodsFromSignRequestId($signRequest->getId()); $found = array_filter($identifyMethods, function (IdentifyMethod $identifyMethod) use ($key, $value) { if ($identifyMethod->getIdentifierKey() === $key && $identifyMethod->getIdentifierValue() === $value) { return true; @@ -530,12 +551,12 @@ public function notSigned(array $signer): void { } catch (\Throwable $th) { throw new LibresignException($this->l10n->t('File not loaded')); } - $signatures = $this->fileUserMapper->getByFileUuid($libresignFile->getUuid()); + $signatures = $this->signRequestMapper->getByFileUuid($libresignFile->getUuid()); - $exists = array_filter($signatures, function (FileUser $fileUser) use ($signer): bool { + $exists = array_filter($signatures, function (SignRequest $signRequest) use ($signer): bool { $key = key($signer); $value = current($signer); - $identifyMethods = $this->identifyMethodMapper->getIdentifyMethodsFromFileUserId($fileUser->getId()); + $identifyMethods = $this->identifyMethodMapper->getIdentifyMethodsFromSignRequestId($signRequest->getId()); $found = array_filter($identifyMethods, function (IdentifyMethod $identifyMethod) use ($key, $value) { if ($identifyMethod->getIdentifierKey() === $key && $identifyMethod->getIdentifierValue() === $value) { return true; @@ -543,7 +564,7 @@ public function notSigned(array $signer): void { return false; }); if (count($found) > 0) { - return $fileUser->getSigned() !== null; + return $signRequest->getSigned() !== null; } return false; }); @@ -568,8 +589,8 @@ public function validateSigner(string $uuid, ?IUser $user = null): void { } public function validateIdentifyMethod(string $uuid, ?IUser $user = null): void { - $fileUser = $this->fileUserMapper->getByUuid($uuid); - $identifyMethods = $this->identifyMethodService->getIdentifyMethodsFromFileUserId($fileUser->getId()); + $signRequest = $this->signRequestMapper->getByUuid($uuid); + $identifyMethods = $this->identifyMethodService->getIdentifyMethodsFromSignRequestId($signRequest->getId()); foreach ($identifyMethods as $methods) { foreach ($methods as $identifyMethod) { $identifyMethod->validateToSign($user); @@ -579,8 +600,8 @@ public function validateIdentifyMethod(string $uuid, ?IUser $user = null): void private function validateSignerUuidExists(string $uuid): void { try { - $fileUser = $this->fileUserMapper->getByUuid($uuid); - $this->fileMapper->getById($fileUser->getFileId()); + $signRequest = $this->signRequestMapper->getByUuid($uuid); + $this->fileMapper->getById($signRequest->getFileId()); } catch (DoesNotExistException $e) { throw new LibresignException(json_encode([ 'action' => JSActions::ACTION_DO_NOTHING, @@ -589,9 +610,9 @@ private function validateSignerUuidExists(string $uuid): void { } } - public function validateIsSignerOfFile(int $fileUserId, int $fileId): void { + public function validateIsSignerOfFile(int $signRequestId, int $fileId): void { try { - $this->fileUserMapper->getByFileIdAndFileUserId($fileId, $fileUserId); + $this->signRequestMapper->getByFileIdAndSignRequestId($fileId, $signRequestId); } catch (\Throwable $th) { throw new LibresignException($this->l10n->t('Signer not associated to this file')); } @@ -607,8 +628,8 @@ public function validateUserHasNoFileWithThisType(string $uid, string $type): vo } } - public function canRequestCode(FileUser $fileUser): bool { - return $fileUser->getSignMethod() !== 'password'; + public function canRequestCode(SignRequest $signRequest): bool { + return $signRequest->getSignMethod() !== 'password'; } public function canSignWithIdentificationDocumentStatus(IUser $user, int $status): void { @@ -627,7 +648,7 @@ public function canSignWithIdentificationDocumentStatus(IUser $user, int $status } } - public function validateCredentials(FileUser $fileUser, IUser $user, array $params): void { + public function validateCredentials(SignRequest $signRequest, IUser $user, array $params): void { $params = array_filter($params, function ($value): bool { return !empty($value); }); @@ -644,7 +665,7 @@ public function validateCredentials(FileUser $fileUser, IUser $user, array $para if ($identifyMethod->getEntity()->getIdentifiedAtDate()) { throw new LibresignException($this->l10n->t('File already signed.')); } - $identifyMethod->getEntity()->setFileUserId($fileUser->getId()); + $identifyMethod->getEntity()->setSignRequestId($signRequest->getId()); $identifyMethod->getEntity()->setIdentifierValue(current($params)); $identifyMethod->validateToSign($user); } @@ -661,12 +682,12 @@ public function validateIdentifyMethods(array $identifyMethods): void { } } - public function valdateCode(FileUser $fileUser, array $params): void { - if (empty($params['code']) || !$this->hasher->verify($params['code'], $fileUser->getCode())) { + public function valdateCode(SignRequest $signRequest, array $params): void { + if (empty($params['code']) || !$this->hasher->verify($params['code'], $signRequest->getCode())) { throw new LibresignException($this->l10n->t('Invalid code.')); } - $fileUser->setCode(''); - $this->fileUserMapper->update($fileUser); + $signRequest->setCode(''); + $this->signRequestMapper->update($signRequest); } public function validateFileTypeExists(string $type): void { diff --git a/lib/Listener/NotificationListener.php b/lib/Listener/NotificationListener.php index db0167ce19..5b6df5fd8e 100644 --- a/lib/Listener/NotificationListener.php +++ b/lib/Listener/NotificationListener.php @@ -25,7 +25,7 @@ namespace OCA\Libresign\Listener; use OCA\Libresign\AppInfo\Application as AppInfoApplication; -use OCA\Libresign\Db\FileUser; +use OCA\Libresign\Db\SignRequest; use OCA\Libresign\Events\SendSignNotificationEvent; use OCA\Libresign\Service\IdentifyMethod\IIdentifyMethod; use OCP\AppFramework\Utility\ITimeFactory; @@ -46,7 +46,7 @@ public function __construct( public function handle(Event $event): void { if ($event instanceof SendSignNotificationEvent) { $this->sendNewSignNotification( - $event->getFileUser(), + $event->getSignRequest(), $event->getIdentifyMethod(), $event->isNew() ); @@ -54,7 +54,7 @@ public function handle(Event $event): void { } private function sendNewSignNotification( - FileUser $fileUser, + SignRequest $signRequest, IIdentifyMethod $identifyMethod, bool $isNew ): void { @@ -66,11 +66,11 @@ private function sendNewSignNotification( ->setUser($identifyMethod->getEntity()->getIdentifierValue()); if ($isNew) { $notification->setSubject('new_sign_request', [ - 'fileUser' => $fileUser->getId(), + 'signRequest' => $signRequest->getId(), ]); } else { $notification->setSubject('update_sign_request', [ - 'fileUser' => $fileUser->getId(), + 'signRequest' => $signRequest->getId(), ]); } $this->notificationManager->notify($notification); diff --git a/lib/Middleware/Attribute/RequireFileUserUuid.php b/lib/Middleware/Attribute/RequireFileUserUuid.php new file mode 100644 index 0000000000..3111c09640 --- /dev/null +++ b/lib/Middleware/Attribute/RequireFileUserUuid.php @@ -0,0 +1,31 @@ + + * + * @author Vitor Mattos + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace OCA\Libresign\Middleware\Attribute; + +use Attribute; + +#[Attribute] +class RequireSignRequestUuid { +} diff --git a/lib/Middleware/InjectionMiddleware.php b/lib/Middleware/InjectionMiddleware.php index f2a8037db5..04a2c252d9 100644 --- a/lib/Middleware/InjectionMiddleware.php +++ b/lib/Middleware/InjectionMiddleware.php @@ -29,13 +29,14 @@ use OCA\Libresign\Controller\AEnvironmentAwareController; use OCA\Libresign\Controller\AEnvironmentPageAwareController; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUserMapper; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Exception\PageException; use OCA\Libresign\Helper\ValidateHelper; use OCA\Libresign\Middleware\Attribute\RequireManager; use OCA\Libresign\Middleware\Attribute\RequireSigner; -use OCA\Libresign\Service\IdentifyMethodService; +use OCA\Libresign\Middleware\Attribute\RequireSignRequestUuid; +use OCA\Libresign\Service\SignFileService; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\ContentSecurityPolicy; @@ -57,10 +58,10 @@ public function __construct( private IRequest $request, private IUserSession $userSession, private ValidateHelper $validateHelper, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private FileMapper $fileMapper, private IInitialState $initialState, - private IdentifyMethodService $identifyMethodService, + private SignFileService $signFileService, private IL10N $l10n, ?string $userId, ) { @@ -77,6 +78,7 @@ public function beforeController(Controller $controller, string $methodName) { switch (true) { case $controller instanceof AEnvironmentAwareController: $apiVersion = $this->request->getParam('apiVersion'); + /** @var AEnvironmentAwareController $controller */ $controller->setAPIVersion((int) substr($apiVersion, 1)); break; case $controller instanceof AEnvironmentPageAwareController: @@ -94,6 +96,15 @@ public function beforeController(Controller $controller, string $methodName) { if (!empty($reflectionMethod->getAttributes(RequireSigner::class))) { $this->requireSigner(); } + + if (!empty($reflectionMethod->getAttributes(RequireSignRequestUuid::class)) + && $controller instanceof AEnvironmentPageAwareController + ) { + /** @var AEnvironmentPageAwareController $controller */ + $controller->loadSignRequestUuid( + uuid: $this->request->getParam('uuid'), + ); + } } private function getLoggedIn(): void { diff --git a/lib/Migration/Version8000Date20231102215331.php b/lib/Migration/Version8000Date20231102215331.php new file mode 100644 index 0000000000..c35162feea --- /dev/null +++ b/lib/Migration/Version8000Date20231102215331.php @@ -0,0 +1,159 @@ + + * + * @author Vitor Mattos + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Libresign\Migration; + +use Closure; +use OCP\DB\ISchemaWrapper; +use OCP\DB\QueryBuilder\IQueryBuilder; +use OCP\DB\Types; +use OCP\IDBConnection; +use OCP\Migration\IOutput; +use OCP\Migration\SimpleMigrationStep; + +class Version8000Date20231102215331 extends SimpleMigrationStep { + public function __construct( + private IDBConnection $connection, + ) { + } + + /** + * @param IOutput $output + * @param Closure(): ISchemaWrapper $schemaClosure + * @param array $options + * @return null|ISchemaWrapper + */ + public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper { + /** @var ISchemaWrapper */ + $schema = $schemaClosure(); + + if ($schema->hasTable('libresign_file_element')) { + $table = $schema->getTable('libresign_file_element'); + if ($table->hasColumn('file_user_id') && !$table->hasColumn('sign_request_id')) { + $table->addColumn('sign_request_id', Types::BIGINT, [ + 'notnull' => true, + 'unsigned' => true, + ]); + } + } + if ($schema->hasTable('libresign_identify_method')) { + $table = $schema->getTable('libresign_identify_method'); + if ($table->hasColumn('file_user_id') && !$table->hasColumn('sign_request_id')) { + $table->addColumn('sign_request_id', Types::BIGINT, [ + 'notnull' => true, + 'unsigned' => true, + ]); + } + } + + $table = $schema->getTable('libresign_identify_method'); + $table->dropIndex('identify_method_unique_index'); + $table->addUniqueIndex(['sign_request_id', 'method'], 'identify_method_unique_index'); + + if (!$schema->hasTable('libresign_sign_request')) { + $table = $schema->createTable('libresign_sign_request'); + + $table->addColumn('id', Types::BIGINT, [ + 'autoincrement' => true, + 'notnull' => true, + ]); + $table->addColumn('file_id', Types::BIGINT, [ + 'notnull' => false, + 'length' => 11, + 'unsigned' => true, + ]); + $table->addColumn('uuid', Types::STRING, [ + 'notnull' => true, + 'length' => 36, + 'default' => '', + ]); + $table->addColumn('display_name', Types::STRING, [ + 'notnull' => true, + 'length' => 255, + 'default' => '', + ]); + $table->addColumn('description', Types::TEXT, [ + 'notnull' => false, + ]); + $table->addColumn('created_at', Types::BIGINT, [ + 'notnull' => true, + 'length' => 20, + 'unsigned' => true, + ]); + $table->addColumn('signed', Types::BIGINT, [ + 'notnull' => false, + 'length' => 20, + 'unsigned' => true, + ]); + $table->addColumn('metadata', Types::JSON, [ + 'notnull' => false, + ]); + + $table->setPrimaryKey(['id']); + $table->addIndex(['uuid']); + $table->addUniqueIndex(['uuid'], 'sign_request_uuid_index'); + } + + return $schema; + } + + /** + * @param IOutput $output + * @param Closure(): ISchemaWrapper $schemaClosure + * @param array $options + */ + public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void { + $qbFetch = $this->connection->getQueryBuilder(); + $qbRestore = $this->connection->getQueryBuilder(); + $qbFetch->select('id', 'file_id', 'uuid', 'display_name', 'description', 'created_at', 'signed', 'metadata') + ->from('libresign_file_user'); + $cursor = $qbFetch->executeQuery(); + while ($row = $cursor->fetch()) { + $qbRestore->insert('libresign_sign_request') + ->values([ + 'id' => $qbRestore->createNamedParameter($row['id'], IQueryBuilder::PARAM_INT), + 'file_id' => $qbRestore->createNamedParameter($row['file_id'], IQueryBuilder::PARAM_INT), + 'uuid' => $qbRestore->createNamedParameter($row['uuid'], IQueryBuilder::PARAM_INT), + 'display_name' => $qbRestore->createNamedParameter($row['display_name']), + 'description' => $qbRestore->createNamedParameter($row['description']), + 'created_at' => $qbRestore->createNamedParameter($row['created_at'], IQueryBuilder::PARAM_INT), + 'signed' => $qbRestore->createNamedParameter($row['signed'], IQueryBuilder::PARAM_INT), + 'metadata' => $qbRestore->createNamedParameter($row['metadata']), + ]); + $qbRestore->executeStatement(); + } + $cursor->closeCursor(); + + $qb = $this->connection->getQueryBuilder(); + $qb->update('libresign_file_element') + ->set('sign_request_id', 'file_user_id') + ->executeStatement(); + + $qb->update('libresign_identify_method') + ->set('sign_request_id', 'file_user_id') + ->executeStatement(); + } +} diff --git a/lib/Migration/Version8000Date20231103003922.php b/lib/Migration/Version8000Date20231103003922.php new file mode 100644 index 0000000000..cf20a27a2b --- /dev/null +++ b/lib/Migration/Version8000Date20231103003922.php @@ -0,0 +1,72 @@ + + * + * @author Vitor Mattos + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Libresign\Migration; + +use Closure; +use OCP\DB\ISchemaWrapper; +use OCP\IDBConnection; +use OCP\Migration\IOutput; +use OCP\Migration\SimpleMigrationStep; + +class Version8000Date20231103003922 extends SimpleMigrationStep { + public function __construct( + private IDBConnection $connection, + ) { + } + + /** + * @param IOutput $output + * @param Closure(): ISchemaWrapper $schemaClosure + * @param array $options + * @return null|ISchemaWrapper + */ + public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper { + /** @var ISchemaWrapper $schema */ + $schema = $schemaClosure(); + + $table = $schema->getTable('libresign_identify_method'); + if ($table->hasColumn('file_user_id')) { + $table->dropColumn('file_user_id'); + } + + $table = $schema->getTable('libresign_file_element'); + if ($table->hasColumn('file_user_id')) { + $table->dropColumn('file_user_id'); + } + + $table = $schema->getTable('libresign_sign_request'); + if (!$table->hasIndex('file_user_uuid_index')) { + $table->addUniqueIndex(['uuid'], 'file_user_uuid_index'); + } + + if ($schema->hasTable('libresign_file_user')) { + $schema->dropTable('libresign_file_user'); + } + + return $schema; + } +} diff --git a/lib/Notification/Notifier.php b/lib/Notification/Notifier.php index cffac1146b..f2f76e6012 100644 --- a/lib/Notification/Notifier.php +++ b/lib/Notification/Notifier.php @@ -26,7 +26,8 @@ use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUserMapper; +use OCA\Libresign\Db\SignRequestMapper; +use OCP\AppFramework\Db\DoesNotExistException; use OCP\IL10N; use OCP\IURLGenerator; use OCP\L10N\IFactory; @@ -39,7 +40,7 @@ public function __construct( private IFactory $factory, private IURLGenerator $urlGenerator, private FileMapper $fileMapper, - private FileUserMapper $fileUserMapper + private SignRequestMapper $signRequestMapper ) { } @@ -74,10 +75,14 @@ private function parseSignRequest( bool $update ): INotification { $parameters = $notification->getSubjectParameters(); - $fileUser = $this->fileUserMapper->getById($parameters['fileUser']); + try { + $signRequest = $this->signRequestMapper->getById($parameters['signRequest']); + } catch (DoesNotExistException $th) { + throw new \InvalidArgumentException(); + } $notification ->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath(Application::APP_ID, 'app-dark.svg'))) - ->setLink($this->urlGenerator->linkToRouteAbsolute('libresign.page.sign', ['uuid' => $fileUser->getUuid()])); + ->setLink($this->urlGenerator->linkToRouteAbsolute('libresign.page.sign', ['uuid' => $signRequest->getUuid()])); $notification->setParsedSubject($l->t('There is a file for you to sign')); if ($update) { $notification->setParsedMessage($l->t('Changes have been made in a file that you have to sign.')); @@ -87,7 +92,7 @@ private function parseSignRequest( ->setParsedLabel($l->t('View')) ->setPrimary(true) ->setLink( - $this->urlGenerator->linkToRouteAbsolute('libresign.page.sign', ['uuid' => $fileUser->getUuid()]), + $this->urlGenerator->linkToRouteAbsolute('libresign.page.sign', ['uuid' => $signRequest->getUuid()]), IAction::TYPE_GET ); $notification->addParsedAction($signAction); diff --git a/lib/Service/AccountService.php b/lib/Service/AccountService.php index 231b743314..9288dc407f 100644 --- a/lib/Service/AccountService.php +++ b/lib/Service/AccountService.php @@ -24,27 +24,30 @@ namespace OCA\Libresign\Service; -use OC\AppFramework\Utility\TimeFactory; +use InvalidArgumentException; +use OC\Files\Filesystem; use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Db\AccountFileMapper; use OCA\Libresign\Db\File as FileEntity; use OCA\Libresign\Db\FileMapper; use OCA\Libresign\Db\FileTypeMapper; -use OCA\Libresign\Db\FileUser; -use OCA\Libresign\Db\FileUserMapper; +use OCA\Libresign\Db\SignRequest; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Db\UserElement; use OCA\Libresign\Db\UserElementMapper; +use OCA\Libresign\Exception\InvalidPasswordException; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Handler\CertificateEngine\Handler as CertificateEngineHandler; use OCA\Libresign\Handler\Pkcs12Handler; -use OCA\Libresign\Helper\JSActions; use OCA\Libresign\Helper\ValidateHelper; use OCA\Settings\Mailer\NewUserMailHelper; use OCP\Accounts\IAccountManager; use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Utility\ITimeFactory; use OCP\Files\Config\IMountProviderCollection; use OCP\Files\Config\IUserMountCache; use OCP\Files\File; +use OCP\Files\IMimeTypeDetector; use OCP\Files\IRootFolder; use OCP\Http\Client\IClientService; use OCP\IConfig; @@ -57,8 +60,8 @@ use Throwable; class AccountService { - /** @var FileUser */ - private $fileUser; + /** @var SignRequest */ + private $signRequest; /** @var \OCA\Libresign\Db\File */ private $fileData; /** @var \OCA\Files\Node\File */ @@ -69,11 +72,12 @@ class AccountService { public function __construct( private IL10N $l10n, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private IUserManager $userManager, private IAccountManager $accountManager, private IRootFolder $root, private IUserMountCache $userMountCache, + private IMimeTypeDetector $mimeTypeDetector, private FileMapper $fileMapper, private FileTypeMapper $fileTypeMapper, private AccountFileMapper $accountFileMapper, @@ -92,7 +96,7 @@ public function __construct( private UserElementMapper $userElementMapper, private FolderService $folderService, private IClientService $clientService, - private TimeFactory $timeFactory, + private ITimeFactory $timeFactory, ) { } @@ -101,11 +105,11 @@ public function validateCreateToSign(array $data): void { throw new LibresignException($this->l10n->t('Invalid UUID'), 1); } try { - $fileUser = $this->getFileUserByUuid($data['uuid']); + $signRequest = $this->getSignRequestByUuid($data['uuid']); } catch (\Throwable $th) { throw new LibresignException($this->l10n->t('UUID not found'), 1); } - $identifyMethods = $this->identifyMethodService->getIdentifyMethodsFromFileUserId($fileUser->getId()); + $identifyMethods = $this->identifyMethodService->getIdentifyMethodsFromSignRequestId($signRequest->getId()); if (!array_key_exists('identify', $data['user'])) { throw new LibresignException($this->l10n->t('Invalid identification method'), 1); } @@ -127,9 +131,9 @@ public function validateCreateToSign(array $data): void { } public function getFileByUuid(string $uuid): array { - $fileUser = $this->getFileUserByUuid($uuid); + $signRequest = $this->getSignRequestByUuid($uuid); if (!$this->fileData) { - $this->fileData = $this->fileMapper->getById($fileUser->getFileId()); + $this->fileData = $this->fileMapper->getById($signRequest->getFileId()); $nodeId = $this->fileData->getNodeId(); @@ -190,30 +194,30 @@ private function validateAccountFile(int $fileIndex, array $file, IUser $user): } /** - * Get fileUser by Uuid + * Get signRequest by Uuid */ - public function getFileUserByUuid($uuid): FileUser { - if (!$this->fileUser) { - $this->fileUser = $this->fileUserMapper->getByUuid($uuid); + public function getSignRequestByUuid($uuid): SignRequest { + if (!$this->signRequest) { + $this->signRequest = $this->signRequestMapper->getByUuid($uuid); } - return $this->fileUser; + return $this->signRequest; } public function createToSign(string $uuid, string $email, string $password, ?string $signPassword): void { - $fileUser = $this->getFileUserByUuid($uuid); + $signRequest = $this->getSignRequestByUuid($uuid); $newUser = $this->userManager->createUser($email, $password); - $newUser->setDisplayName($fileUser->getDisplayName()); + $newUser->setDisplayName($signRequest->getDisplayName()); $newUser->setSystemEMailAddress($email); // @todo implement this logic, the follow code is complex and dont work - // $identifyMethods = $this->identifyMethodService->getIdentifyMethodsFromFileUserId($fileUser->getId()); + // $identifyMethods = $this->identifyMethodService->getIdentifyMethodsFromSignRequestId($signRequest->getId()); // foreach ($identifyMethods as $name => $identifyMethod) { // if ($name === IdentifyMethodService::IDENTIFY_ACCOUNT) { // $entity = $identifyMethod->getEntity(); // if ($entity->getIdentifierKey() === IdentifyMethodService::IDENTIFY_ACCOUNT) { // $identifyMethod->getEntity()->setIdentifierValue($newUser->getUID()); - // $this->identifyMethodService->save($fileUser, false); + // $this->identifyMethodService->save($signRequest, false); // } // } // } @@ -239,29 +243,14 @@ public function createToSign(string $uuid, string $email, string $password, ?str } } + public function getCertificateEngineName(): string { + return $this->certificateEngineHandler->getEngine()->getName(); + } + /** - * @param string $formatOfPdfOnSign (base64,url,file) - * @return (array|int|mixed)[] + * @return array[] */ - public function getConfig(string $typeOfUuid, ?string $uuid, ?IUser $user, string $formatOfPdfOnSign): array { - try { - $info = []; - if ($typeOfUuid === 'file_user_uuid') { - $info = $this->signFileService->getInfoOfFileToSignUsingFileUserUuid($uuid, $user, $formatOfPdfOnSign); - if ($uuid) { - $this->validateHelper->validateSigner($uuid, $user); - } - } else { - $info = $this->signFileService->getInfoOfFileToSignUsingFileUuid($uuid, $user, $formatOfPdfOnSign); - } - } catch (LibresignException $e) { - return array_merge($info, json_decode($e->getMessage(), true)); - } catch (DoesNotExistException $e) { - return [ - 'action' => JSActions::ACTION_DO_NOTHING, - 'errors' => [$this->l10n->t('Invalid UUID')], - ]; - } + public function getConfig(?IUser $user): array { $info['settings']['identificationDocumentsFlow'] = $this->config->getAppValue(Application::APP_ID, 'identification_documents') ? true : false; $info['settings']['certificateOk'] = $this->certificateEngineHandler->getEngine()->isSetupOk() && $this->pkcs12Handler->isHandlerOk(); $info['settings']['hasSignatureFile'] = $this->hasSignatureFile($user); @@ -321,7 +310,7 @@ public function canRequestSign(?IUser $user = null): bool { if (!$user) { return false; } - $authorized = json_decode($this->config->getAppValue(Application::APP_ID, 'webhook_authorized', '["admin"]')); + $authorized = json_decode($this->config->getAppValue(Application::APP_ID, 'groups_request_sign', '["admin"]')); if (empty($authorized)) { return false; } @@ -506,4 +495,54 @@ public function deleteSignatureElement(string $userId, int $elementId): void { $element = $this->userElementMapper->findOne(['element_id' => $elementId, 'user_id' => $userId]); $this->userElementMapper->delete($element); } + + /** + * @throws LibresignException at savePfx + * @throws InvalidArgumentException + */ + public function uploadPfx(array $file, IUser $user): void { + if ($file === null) { + throw new InvalidArgumentException($this->l10n->t('No certificate file provided')); + } + if ( + $file['error'] !== 0 || + !is_uploaded_file($file['tmp_name']) || + Filesystem::isFileBlacklisted($file['tmp_name']) + ) { + // TRANSLATORS Error when the uploaded certificate file is not valid + throw new InvalidArgumentException($this->l10n->t('Invalid file provided. Need to be a .pfx file.')); + } + if ($file['size'] > 10 * 1024) { + // TRANSLATORS Error when the certificate file is bigger than normal + throw new InvalidArgumentException($this->l10n->t('File is too big')); + } + $content = file_get_contents($file['tmp_name']); + $mimetype = $this->mimeTypeDetector->detectString($content); + if ($mimetype !== 'application/octet-stream') { + // TRANSLATORS Error when the mimetype of uploaded file is not valid + throw new InvalidArgumentException($this->l10n->t('Invalid file provided. Need to be a .pfx file.')); + } + $extension = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)); + if ($extension !== 'pfx') { + // TRANSLATORS Error when the certificate file is not a pfx file + throw new InvalidArgumentException($this->l10n->t('Invalid file provided. Need to be a .pfx file.')); + } + unlink($file['tmp_name']); + $this->pkcs12Handler->savePfx($user->getUID(), $content); + } + + public function deletePfx(IUser $user): void { + $this->pkcs12Handler->deletePfx($user->getUID()); + } + + /** + * @throws LibresignException when have not a certificate file + */ + public function updatePfxPassword(IUser $user, string $current, string $new): void { + try { + $pfx = $this->pkcs12Handler->updatePassword($user->getUID(), $current, $new); + } catch (InvalidPasswordException $e) { + throw new LibresignException($this->l10n->t('Invalid user or password')); + } + } } diff --git a/lib/Service/FileElementService.php b/lib/Service/FileElementService.php index 13fc4ca7ae..1daac60c2f 100644 --- a/lib/Service/FileElementService.php +++ b/lib/Service/FileElementService.php @@ -64,7 +64,7 @@ private function getVisibleElementFromProperties(array $properties, string $uuid $fileElement->setFileId($properties['fileId']); } $coordinates = $this->translateCoordinatesToInternalNotation($properties, $file); - $fileElement->setFileUserId($properties['fileUserId']); + $fileElement->setSignRequestId($properties['signRequestId']); $fileElement->setType($properties['type']); $fileElement->setPage($coordinates['page']); $fileElement->setUrx($coordinates['urx']); diff --git a/lib/Service/FileService.php b/lib/Service/FileService.php index e4e14fe92f..b390159a8f 100644 --- a/lib/Service/FileService.php +++ b/lib/Service/FileService.php @@ -28,7 +28,7 @@ use OCA\Libresign\Db\File; use OCA\Libresign\Db\FileElementMapper; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUserMapper; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Handler\TCPDILibresign; use OCA\Libresign\Helper\ValidateHelper; @@ -78,7 +78,7 @@ class FileService { public const IDENTIFICATION_DOCUMENTS_APPROVED = 3; public function __construct( protected FileMapper $fileMapper, - protected FileUserMapper $fileUserMapper, + protected SignRequestMapper $signRequestMapper, protected FileElementMapper $fileElementMapper, protected FileElementService $fileElementService, protected FolderService $folderService, @@ -178,15 +178,15 @@ private function getSigners(): array { if (!$this->file) { return $this->signers; } - $signers = $this->fileUserMapper->getByFileId($this->file->getId()); + $signers = $this->signRequestMapper->getByFileId($this->file->getId()); foreach ($signers as $signer) { $signatureToShow = [ 'signed' => $signer->getSigned(), 'displayName' => $signer->getDisplayName(), 'fullName' => $signer->getFullName(), 'me' => false, - 'fileUserId' => $signer->getId(), - 'identifyMethods' => $this->identifyMethodService->getIdentifyMethodsFromFileUserId($signer->getId()), + 'signRequestId' => $signer->getId(), + 'identifyMethods' => $this->identifyMethodService->getIdentifyMethodsFromSignRequestId($signer->getId()), ]; // @todo refactor this code if ($this->me) { @@ -258,7 +258,7 @@ private function getPages(): array { } /** - * @psalm-return list + * @psalm-return list */ private function getVisibleElements(): array { $return = []; @@ -270,7 +270,7 @@ private function getVisibleElements(): array { foreach ($visibleElements as $visibleElement) { $element = [ 'elementId' => $visibleElement->getId(), - 'fileUserId' => $visibleElement->getFileUserId(), + 'signRequestId' => $visibleElement->getSignRequestId(), 'type' => $visibleElement->getType(), 'coordinates' => [ 'page' => $visibleElement->getPage(), @@ -281,12 +281,12 @@ private function getVisibleElements(): array { ] ]; if (!empty($uid) && $uid === $this->file->getUserId()) { - $fileUser = $this->fileUserMapper->getById($visibleElement->getFileUserId()); - $userAssociatedToVisibleElement = $this->userManager->getByEmail($fileUser->getEmail()); + $signRequest = $this->signRequestMapper->getById($visibleElement->getSignRequestId()); + $userAssociatedToVisibleElement = $this->userManager->getByEmail($signRequest->getEmail()); if ($userAssociatedToVisibleElement) { $element['uid'] = $userAssociatedToVisibleElement[0]->getUID(); } - $element['email'] = $fileUser->getEmail(); + $element['email'] = $signRequest->getEmail(); } $element['coordinates'] = array_merge( $element['coordinates'], @@ -365,7 +365,9 @@ private function getFile(): array { 'uid' => $this->file->getUserId(), 'displayName' => $this->userManager->get($this->file->getUserId())->getDisplayName(), ]; - $return['request_date'] = $this->file->getCreatedAt(); + $return['request_date'] = (new \DateTime()) + ->setTimestamp($this->file->getCreatedAt()) + ->format('Y-m-d H:i:s'); if ($this->showSigners) { $return['signers'] = $this->getSigners(); } @@ -426,7 +428,7 @@ public function getPage(string $uuid, int $page, string $uid): string { $libreSignFile = $this->fileMapper->getByUuid($uuid); $uid = $this->userSession->getUser()->getUID(); if ($libreSignFile->getUserId() !== $uid) { - $signers = $this->fileUserMapper->getByFileId($libreSignFile->id); + $signers = $this->signRequestMapper->getByFileId($libreSignFile->id); if (!$signers) { throw new LibresignException($this->l10n->t('No signers.')); } @@ -459,6 +461,12 @@ public function getPage(string $uuid, int $page, string $uid): string { return $imagick->getImageBlob(); } + public function setFileByPath(string $path): self { + $node = $this->folderService->getFileByPath($path); + $this->setFileByType('FileId', $node->getId()); + return $this; + } + /** * @return array[] * @@ -471,7 +479,7 @@ public function listAssociatedFilesOfSignFlow(IUser $user, $page = null, $length $url = $this->urlGenerator->linkToRoute('libresign.page.getPdfUser', ['uuid' => '_replace_']); $url = str_replace('_replace_', '', $url); - $data = $this->fileUserMapper->getFilesAssociatedFilesWithMeFormatted( + $data = $this->signRequestMapper->getFilesAssociatedFilesWithMeFormatted( $user, $url, $page, diff --git a/lib/Service/FolderService.php b/lib/Service/FolderService.php index 7d0ef5e440..59d3058dae 100644 --- a/lib/Service/FolderService.php +++ b/lib/Service/FolderService.php @@ -25,9 +25,11 @@ namespace OCA\Libresign\Service; use OCA\Libresign\AppInfo\Application; +use OCA\Libresign\Exception\LibresignException; use OCP\Files\Config\IUserMountCache; use OCP\Files\Folder; use OCP\Files\IRootFolder; +use OCP\Files\Node; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; use OCP\IConfig; @@ -149,4 +151,13 @@ public function getFolderName(array $data, IUser $owner): string { } return implode($data['settings']['separator'], $folderName); } + + public function getFileByPath(string $path): Node { + $userFolder = $this->root->getUserFolder($this->getUserId()); + try { + return $userFolder->get($path); + } catch (NotFoundException $e) { + throw new LibresignException($this->l10n->t('Invalid data to validate file'), 404); + } + } } diff --git a/lib/Service/IdentifyMethod/AbstractIdentifyMethod.php b/lib/Service/IdentifyMethod/AbstractIdentifyMethod.php index ff921cbe4e..a6533a0c6d 100644 --- a/lib/Service/IdentifyMethod/AbstractIdentifyMethod.php +++ b/lib/Service/IdentifyMethod/AbstractIdentifyMethod.php @@ -27,9 +27,9 @@ use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Db\File as FileEntity; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUserMapper; use OCA\Libresign\Db\IdentifyMethod; use OCA\Libresign\Db\IdentifyMethodMapper; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Helper\JSActions; use OCP\Files\Config\IUserMountCache; @@ -48,7 +48,7 @@ public function __construct( private IConfig $config, private IL10N $l10n, private IdentifyMethodMapper $identifyMethodMapper, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private FileMapper $fileMapper, private IRootFolder $root, private IUserMountCache $userMountCache, @@ -88,8 +88,8 @@ public function validateToSign(?IUser $user = null): void { } protected function throwIfFileNotFound(): void { - $fileUser = $this->fileUserMapper->getById($this->getEntity()->getFileUserId()); - $fileEntity = $this->fileMapper->getById($fileUser->getFileId()); + $signRequest = $this->signRequestMapper->getById($this->getEntity()->getSignRequestId()); + $fileEntity = $this->fileMapper->getById($signRequest->getFileId()); $nodeId = $fileEntity->getNodeId(); @@ -107,10 +107,10 @@ protected function throwIfFileNotFound(): void { } protected function throwIfAlreadySigned(): void { - $fileUser = $this->fileUserMapper->getById($this->getEntity()->getFileUserId()); - $fileEntity = $this->fileMapper->getById($fileUser->getFileId()); + $signRequest = $this->signRequestMapper->getById($this->getEntity()->getSignRequestId()); + $fileEntity = $this->fileMapper->getById($signRequest->getFileId()); if ($fileEntity->getStatus() === FileEntity::STATUS_SIGNED - || (!is_null($fileUser) && $fileUser->getSigned()) + || (!is_null($signRequest) && $signRequest->getSigned()) ) { throw new LibresignException(json_encode([ 'action' => JSActions::ACTION_SHOW_ERROR, @@ -198,11 +198,11 @@ private function refreshIdFromDatabaseIfNecessary(): void { if ($entity->getId()) { return; } - if (!$entity->getFileUserId() || !$entity->getMethod()) { + if (!$entity->getSignRequestId() || !$entity->getMethod()) { return; } - $identifyMethods = $this->identifyMethodMapper->getIdentifyMethodsFromFileUserId($entity->getFileUserId()); + $identifyMethods = $this->identifyMethodMapper->getIdentifyMethodsFromSignRequestId($entity->getSignRequestId()); $exists = array_filter($identifyMethods, function (IdentifyMethod $current) use ($entity): bool { return $current->getMethod() === $entity->getMethod(); }); diff --git a/lib/Service/IdentifyMethod/Account.php b/lib/Service/IdentifyMethod/Account.php index f04d16b078..b686118fa2 100644 --- a/lib/Service/IdentifyMethod/Account.php +++ b/lib/Service/IdentifyMethod/Account.php @@ -26,8 +26,8 @@ use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUserMapper; use OCA\Libresign\Db\IdentifyMethodMapper; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Events\SendSignNotificationEvent; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Helper\JSActions; @@ -48,7 +48,7 @@ public function __construct( private IConfig $config, private IL10N $l10n, private IUserManager $userManager, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private IEventDispatcher $eventDispatcher, private IdentifyMethodMapper $identifyMethodMapper, private FileMapper $fileMapper, @@ -64,7 +64,7 @@ public function __construct( $config, $l10n, $identifyMethodMapper, - $fileUserMapper, + $signRequestMapper, $fileMapper, $root, $userMountCache, @@ -76,19 +76,19 @@ public function notify(bool $isNew): void { if (!$this->willNotify) { return; } - $fileUser = $this->fileUserMapper->getById($this->getEntity()->getFileUserId()); + $signRequest = $this->signRequestMapper->getById($this->getEntity()->getSignRequestId()); if ($this->entity->getIdentifierKey() === 'account') { $this->eventDispatcher->dispatchTyped(new SendSignNotificationEvent( - $fileUser, + $signRequest, $this, $isNew )); } elseif ($this->entity->getIdentifierKey() === 'email') { if ($isNew) { - $this->mail->notifyUnsignedUser($fileUser, $this->getEntity()->getIdentifierValue()); + $this->mail->notifyUnsignedUser($signRequest, $this->getEntity()->getIdentifierValue()); return; } - $this->mail->notifySignDataUpdated($fileUser, $this->getEntity()->getIdentifierValue()); + $this->mail->notifySignDataUpdated($signRequest, $this->getEntity()->getIdentifierValue()); } } @@ -154,14 +154,14 @@ private function getSignerFromEmail(): IUser { ])); } if (count($signer) > 0) { - $fileUser = $this->fileUserMapper->getById($this->getEntity()->getFileUserId()); + $signRequest = $this->signRequestMapper->getById($this->getEntity()->getSignRequestId()); throw new LibresignException(json_encode([ 'action' => JSActions::ACTION_REDIRECT, 'errors' => [$this->l10n->t('User already exists. Please login.')], 'redirect' => $this->urlGenerator->linkToRoute('core.login.showLoginForm', [ 'redirect_url' => $this->urlGenerator->linkToRoute( 'libresign.page.sign', - ['uuid' => $fileUser->getUuid()] + ['uuid' => $signRequest->getUuid()] ), ]), ])); @@ -189,14 +189,14 @@ private function canCreateAccount(): void { private function requireAuthenticatedUser(?IUser $user = null): void { if (!$user instanceof IUser) { - $fileUser = $this->fileUserMapper->getById($this->getEntity()->getFileUserId()); + $signRequest = $this->signRequestMapper->getById($this->getEntity()->getSignRequestId()); throw new LibresignException(json_encode([ 'action' => JSActions::ACTION_REDIRECT, 'errors' => [$this->l10n->t('You are not logged in. Please log in.')], 'redirect' => $this->urlGenerator->linkToRoute('core.login.showLoginForm', [ 'redirect_url' => $this->urlGenerator->linkToRoute( 'libresign.page.sign', - ['uuid' => $fileUser->getUuid()] + ['uuid' => $signRequest->getUuid()] ), ]), ])); @@ -204,16 +204,23 @@ private function requireAuthenticatedUser(?IUser $user = null): void { } public function getSettings(): array { + $signatureMethod = [ + 'id' => 'password', + 'label' => \OC::$server->get(Password::class)->friendlyName, + ]; $settings = $this->getSettingsFromDatabase( default: [ 'enabled' => $this->isEnabledByDefault(), - 'signature_method' => 'password', + 'signature_method' => $signatureMethod, 'can_create_account' => $this->canCreateAccount, 'allowed_signature_methods' => [ - 'password', + $signatureMethod, ], ] ); + if (in_array('password', $settings['allowed_signature_methods'])) { + $settings['allowed_signature_methods'] = [$signatureMethod]; + } return $settings; } diff --git a/lib/Service/IdentifyMethod/Email.php b/lib/Service/IdentifyMethod/Email.php index f7b6c3ddb1..054e9517e1 100644 --- a/lib/Service/IdentifyMethod/Email.php +++ b/lib/Service/IdentifyMethod/Email.php @@ -25,8 +25,8 @@ namespace OCA\Libresign\Service\IdentifyMethod; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUserMapper; use OCA\Libresign\Db\IdentifyMethodMapper; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Helper\JSActions; use OCA\Libresign\Service\MailService; @@ -43,7 +43,7 @@ public function __construct( private IConfig $config, private IL10N $l10n, private MailService $mail, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private IdentifyMethodMapper $identifyMethodMapper, private FileMapper $fileMapper, private IUserManager $userManager, @@ -57,7 +57,7 @@ public function __construct( $config, $l10n, $identifyMethodMapper, - $fileUserMapper, + $signRequestMapper, $fileMapper, $root, $userMountCache, @@ -65,15 +65,15 @@ public function __construct( } public function notify(bool $isNew): void { - $fileUser = $this->fileUserMapper->getById($this->getEntity()->getFileUserId()); + $signRequest = $this->signRequestMapper->getById($this->getEntity()->getSignRequestId()); if (!$this->willNotify) { return; } if ($isNew) { - $this->mail->notifyUnsignedUser($fileUser, $this->getEntity()->getIdentifierValue()); + $this->mail->notifyUnsignedUser($signRequest, $this->getEntity()->getIdentifierValue()); return; } - $this->mail->notifySignDataUpdated($fileUser, $this->getEntity()->getIdentifierValue()); + $this->mail->notifySignDataUpdated($signRequest, $this->getEntity()->getIdentifierValue()); } public function validateToRequest(): void { @@ -105,14 +105,14 @@ private function getSignerFromEmail(IUser $user): ?IUser { return $s; } } - $fileUser = $this->fileUserMapper->getById($this->getEntity()->getFileUserId()); + $signRequest = $this->signRequestMapper->getById($this->getEntity()->getSignRequestId()); throw new LibresignException(json_encode([ 'action' => JSActions::ACTION_REDIRECT, 'errors' => [$this->l10n->t('User already exists. Please login.')], 'redirect' => $this->urlGenerator->linkToRoute('core.login.showLoginForm', [ 'redirect_url' => $this->urlGenerator->linkToRoute( 'libresign.page.sign', - ['uuid' => $fileUser->getUuid()] + ['uuid' => $signRequest->getUuid()] ), ]), ])); diff --git a/lib/Service/IdentifyMethod/Password.php b/lib/Service/IdentifyMethod/Password.php index afcb7f5696..2479950e4f 100644 --- a/lib/Service/IdentifyMethod/Password.php +++ b/lib/Service/IdentifyMethod/Password.php @@ -25,8 +25,8 @@ namespace OCA\Libresign\Service\IdentifyMethod; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUserMapper; use OCA\Libresign\Db\IdentifyMethodMapper; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Handler\Pkcs12Handler; use OCA\Libresign\Service\MailService; @@ -43,7 +43,7 @@ public function __construct( private IConfig $config, private IL10N $l10n, private MailService $mail, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private IdentifyMethodMapper $identifyMethodMapper, private FileMapper $fileMapper, private IUserManager $userManager, @@ -53,12 +53,12 @@ public function __construct( private Pkcs12Handler $pkcs12Handler, ) { // TRANSLATORS Name of possible authenticator method. This signalize that the signer could be identified by certificate password - $this->friendlyName = $this->l10n->t('Password'); + $this->friendlyName = $this->l10n->t('Certificate with password'); parent::__construct( $config, $l10n, $identifyMethodMapper, - $fileUserMapper, + $signRequestMapper, $fileMapper, $root, $userMountCache, diff --git a/lib/Service/IdentifyMethodService.php b/lib/Service/IdentifyMethodService.php index a7ac7c3697..1913e2832b 100644 --- a/lib/Service/IdentifyMethodService.php +++ b/lib/Service/IdentifyMethodService.php @@ -24,8 +24,8 @@ namespace OCA\Libresign\Service; -use OCA\Libresign\Db\FileUser; use OCA\Libresign\Db\IdentifyMethodMapper; +use OCA\Libresign\Db\SignRequest; use OCA\Libresign\Exception\LibresignException; use OCA\Libresign\Service\IdentifyMethod\Account; use OCA\Libresign\Service\IdentifyMethod\Email; @@ -137,8 +137,8 @@ public function getByUserData(array $data) { /** * @return array> */ - public function getIdentifyMethodsFromFileUserId(int $fileUserId): array { - $entities = $this->identifyMethodMapper->getIdentifyMethodsFromFileUserId($fileUserId); + public function getIdentifyMethodsFromSignRequestId(int $signRequestId): array { + $entities = $this->identifyMethodMapper->getIdentifyMethodsFromSignRequestId($signRequestId); foreach ($entities as $entity) { $identifyMethod = $this->getInstanceOfIdentifyMethod( $entity->getMethod(), @@ -149,7 +149,7 @@ public function getIdentifyMethodsFromFileUserId(int $fileUserId): array { $return = []; foreach ($this->identifyMethods as $methodName => $list) { foreach ($list as $method) { - if ($method->getEntity()->getFileUserId() === $fileUserId) { + if ($method->getEntity()->getSignRequestId() === $signRequestId) { $return[$methodName][] = $method; } } @@ -157,20 +157,20 @@ public function getIdentifyMethodsFromFileUserId(int $fileUserId): array { return $return; } - public function save(FileUser $fileUser, bool $notify = true): void { + public function save(SignRequest $signRequest, bool $notify = true): void { foreach ($this->identifyMethods as $methods) { foreach ($methods as $identifyMethod) { $entity = $identifyMethod->getEntity(); - $entity->setFileUserId($fileUser->getId()); + $entity->setSignRequestId($signRequest->getId()); if ($entity->getId()) { $entity = $this->identifyMethodMapper->update($entity); if ($notify) { - $identifyMethod->notify(false, $fileUser); + $identifyMethod->notify(false, $signRequest); } } else { $entity = $this->identifyMethodMapper->insert($entity); if ($notify) { - $identifyMethod->notify(true, $fileUser); + $identifyMethod->notify(true, $signRequest); } } } diff --git a/lib/Service/InstallService.php b/lib/Service/InstallService.php index 44eb0eb161..5cb3289f4c 100644 --- a/lib/Service/InstallService.php +++ b/lib/Service/InstallService.php @@ -63,6 +63,12 @@ class InstallService { /** @var string */ private $resource = ''; protected IAppData $appData; + private array $availableResources = [ + 'java', + 'jsignpdf', + 'pdftk', + 'cfssl' + ]; public function __construct( ICacheFactory $cacheFactory, @@ -137,6 +143,7 @@ public function getFullPath(): string { private function runAsync(): void { $resource = $this->resource; $process = new Process([OC::$SERVERROOT . '/occ', 'libresign:install', '--' . $resource]); + $process->setOptions(['create_new_console' => true]); $process->start(); $data['pid'] = $process->getPid(); if ($data['pid']) { @@ -211,14 +218,8 @@ private function removeCache(string $key): void { } public function getTotalSize(): array { - $resources = [ - 'java', - 'jsignpdf', - 'pdftk', - 'cfssl' - ]; $return = []; - foreach ($resources as $resource) { + foreach ($this->availableResources as $resource) { $this->setResource($resource); $progressData = $this->getProressData(); if (array_key_exists('download_size', $progressData)) { @@ -232,6 +233,42 @@ public function getTotalSize(): array { return $return; } + public function saveErrorMessage(string $message) { + $data = $this->getProressData(); + $data['error'] = $message; + $this->setCache($this->resource, $data); + } + + public function getErrorMessages(): array { + $return = []; + foreach ($this->availableResources as $resource) { + $this->setResource($resource); + $progressData = $this->getProressData(); + if (array_key_exists('error', $progressData)) { + $return[] = $progressData['error']; + $this->removeDownloadProgress(); + } + } + return $return; + } + + public function isDownloadWip(): bool { + foreach ($this->availableResources as $resource) { + $this->setResource($resource); + $progressData = $this->getProressData(); + if (!count($progressData)) { + continue; + } + exec('ps -p ' . $progressData['pid'], $output, $exitCode); + if (count($output) <= 1) { + $this->removeDownloadProgress(); + return false; + } + return true; + } + return false; + } + public function setResource(string $resource): self { $this->resource = $resource; return $this; diff --git a/lib/Service/MailService.php b/lib/Service/MailService.php index f4c5bfa18d..b66843c10a 100644 --- a/lib/Service/MailService.php +++ b/lib/Service/MailService.php @@ -27,7 +27,7 @@ use OCA\Libresign\AppInfo\Application; use OCA\Libresign\Db\File; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUser; +use OCA\Libresign\Db\SignRequest; use OCA\Libresign\Exception\LibresignException; use OCP\IConfig; use OCP\IL10N; @@ -62,7 +62,7 @@ private function getFileById(int $fileId): File { /** * @psalm-suppress MixedMethodCall */ - public function notifySignDataUpdated(FileUser $data, string $email): void { + public function notifySignDataUpdated(SignRequest $data, string $email): void { $emailTemplate = $this->mailer->createEMailTemplate('settings.TestEmail'); $emailTemplate->setSubject($this->l10n->t('LibreSign: Changes into a file for you to sign')); $emailTemplate->addHeader(); @@ -92,7 +92,7 @@ public function notifySignDataUpdated(FileUser $data, string $email): void { /** * @psalm-suppress MixedMethodCall */ - public function notifyUnsignedUser(FileUser $data, string $email): void { + public function notifyUnsignedUser(SignRequest $data, string $email): void { $notifyUnsignedUser = $this->config->getAppValue(Application::APP_ID, 'notify_unsigned_user', true); if (!$notifyUnsignedUser) { return; @@ -126,7 +126,7 @@ public function notifyUnsignedUser(FileUser $data, string $email): void { /** * @psalm-suppress MixedMethodCall */ - public function notifyCancelSign(FileUser $data): void { + public function notifyCancelSign(SignRequest $data): void { $emailTemplate = $this->mailer->createEMailTemplate('settings.TestEmail'); $emailTemplate->setSubject($this->l10n->t('LibreSign: Signature request cancelled')); $emailTemplate->addHeader(); @@ -146,17 +146,17 @@ public function notifyCancelSign(FileUser $data): void { } } - public function sendCodeToSign(FileUser $fileUser, string $code): void { + public function sendCodeToSign(SignRequest $signRequest, string $code): void { $emailTemplate = $this->mailer->createEMailTemplate('settings.TestEmail'); $emailTemplate->setSubject($this->l10n->t('LibreSign: Code to sign file')); $emailTemplate->addHeader(); $emailTemplate->addBodyText($this->l10n->t('Use this code to sign the document:')); $emailTemplate->addBodyText($code); $message = $this->mailer->createMessage(); - if ($fileUser->getDisplayName()) { - $message->setTo([$fileUser->getEmail() => $fileUser->getDisplayName()]); + if ($signRequest->getDisplayName()) { + $message->setTo([$signRequest->getEmail() => $signRequest->getDisplayName()]); } else { - $message->setTo([$fileUser->getEmail()]); + $message->setTo([$signRequest->getEmail()]); } $message->useTemplate($emailTemplate); try { diff --git a/lib/Service/NotifyService.php b/lib/Service/NotifyService.php index a3754a1f1d..d5635f6025 100644 --- a/lib/Service/NotifyService.php +++ b/lib/Service/NotifyService.php @@ -24,8 +24,8 @@ namespace OCA\Libresign\Service; -use OCA\Libresign\Db\FileUser; -use OCA\Libresign\Db\FileUserMapper; +use OCA\Libresign\Db\SignRequest; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Helper\ValidateHelper; use OCA\Libresign\Service\IdentifyMethod\IIdentifyMethod; use OCP\IUserSession; @@ -34,17 +34,17 @@ class NotifyService { public function __construct( private ValidateHelper $validateHelper, private IUserSession $userSession, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private IdentifyMethodService $identifyMethodService ) { } - public function signer(int $nodeId, int $fileUserId): void { + public function signer(int $nodeId, int $signRequestId): void { $this->validateHelper->canRequestSign($this->userSession->getUser()); $this->validateHelper->validateLibreSignNodeId($nodeId); $this->validateHelper->iRequestedSignThisFile($this->userSession->getUser(), $nodeId); - $fileUser = $this->fileUserMapper->getByFileIdAndFileUserId($nodeId, $fileUserId); - $this->notify($fileUser); + $signRequest = $this->signRequestMapper->getByFileIdAndSignRequestId($nodeId, $signRequestId); + $this->notify($signRequest); } public function signers(int $nodeId, array $signers): void { @@ -57,14 +57,14 @@ public function signers(int $nodeId, array $signers): void { $this->validateHelper->notSigned($signer); } // @todo refactor this code - $fileUsers = $this->fileUserMapper->getByNodeId($nodeId); - foreach ($fileUsers as $fileUser) { - $this->notify($fileUser, $signers); + $signRequests = $this->signRequestMapper->getByNodeId($nodeId); + foreach ($signRequests as $signRequest) { + $this->notify($signRequest, $signers); } } - private function notify(FileUser $fileUser, array $signers = []): void { - $identifyMethods = $this->identifyMethodService->getIdentifyMethodsFromFileUserId($fileUser->getId()); + private function notify(SignRequest $signRequest, array $signers = []): void { + $identifyMethods = $this->identifyMethodService->getIdentifyMethodsFromSignRequestId($signRequest->getId()); foreach ($identifyMethods as $methodName => $instances) { $identifyMethod = array_reduce($instances, function (?IIdentifyMethod $carry, IIdentifyMethod $identifyMethod) use ($signers): ?IIdentifyMethod { foreach ($signers as $signer) { @@ -80,10 +80,10 @@ private function notify(FileUser $fileUser, array $signers = []): void { return $carry; }); if ($identifyMethod instanceof IIdentifyMethod) { - $identifyMethod->notify(true, $fileUser); + $identifyMethod->notify(true, $signRequest); } else { foreach ($instances as $instance) { - $instance->notify(true, $fileUser); + $instance->notify(true, $signRequest); } } } diff --git a/lib/Service/RequestSignatureService.php b/lib/Service/RequestSignatureService.php index 584030f39a..03decf9515 100644 --- a/lib/Service/RequestSignatureService.php +++ b/lib/Service/RequestSignatureService.php @@ -27,9 +27,9 @@ use OCA\Libresign\Db\File as FileEntity; use OCA\Libresign\Db\FileElementMapper; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUser as FileUserEntity; -use OCA\Libresign\Db\FileUserMapper; use OCA\Libresign\Db\IdentifyMethodMapper; +use OCA\Libresign\Db\SignRequest as SignRequestEntity; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Helper\ValidateHelper; use OCA\Libresign\Service\IdentifyMethod\IIdentifyMethod; use OCP\AppFramework\Db\DoesNotExistException; @@ -49,7 +49,7 @@ public function __construct( protected IL10N $l10n, protected SignMethodService $signMethod, protected IdentifyMethodService $identifyMethod, - protected FileUserMapper $fileUserMapper, + protected SignRequestMapper $signRequestMapper, protected IUserManager $userManager, protected FileMapper $fileMapper, protected IdentifyMethodMapper $identifyMethodMapper, @@ -133,18 +133,18 @@ public function getFileMetadata(\OCP\Files\Node $node): array { private function deleteIdentifyMethodIfNotExits(array $users, int $fileId): void { $file = $this->fileMapper->getById($fileId); - $fileUsers = $this->fileUserMapper->getByFileId($fileId); - foreach ($fileUsers as $key => $fileUser) { - $identifyMethods = $this->identifyMethod->getIdentifyMethodsFromFileUserId($fileUser->getId()); + $signRequests = $this->signRequestMapper->getByFileId($fileId); + foreach ($signRequests as $key => $signRequest) { + $identifyMethods = $this->identifyMethod->getIdentifyMethodsFromSignRequestId($signRequest->getId()); if (empty($identifyMethods)) { - $this->unassociateToUser($file->getNodeId(), $fileUser->getId()); + $this->unassociateToUser($file->getNodeId(), $signRequest->getId()); continue; } foreach ($identifyMethods as $methodName => $list) { foreach ($list as $method) { $exists[$key]['identify'][$methodName] = $method->getEntity()->getIdentifierValue(); if (!$this->identifyMethodExists($users, $method)) { - $this->unassociateToUser($file->getNodeId(), $fileUser->getId()); + $this->unassociateToUser($file->getNodeId(), $signRequest->getId()); continue 3; } } @@ -167,9 +167,9 @@ private function identifyMethodExists(array $users, IIdentifyMethod $identifyMet } /** - * @return FileUserEntity[] + * @return SignRequestEntity[] * - * @psalm-return list + * @psalm-return list */ private function associateToSigners(array $data, int $fileId): array { $return = []; @@ -177,18 +177,18 @@ private function associateToSigners(array $data, int $fileId): array { $this->deleteIdentifyMethodIfNotExits($data['users'], $fileId); foreach ($data['users'] as $user) { $identifyMethods = $this->identifyMethod->getByUserData($user['identify']); - $fileUser = $this->getFileUserByIdentifyMethod( + $signRequest = $this->getSignRequestByIdentifyMethod( current($identifyMethods), $fileId ); - $this->setDataToUser($fileUser, $user, $fileId); - $this->saveFileUser($fileUser); + $this->setDataToUser($signRequest, $user, $fileId); + $this->saveSignRequest($signRequest); foreach ($identifyMethods as $identifyMethod) { - $identifyMethod->getEntity()->setFileUserId($fileUser->getId()); + $identifyMethod->getEntity()->setSignRequestId($signRequest->getId()); $identifyMethod->willNotifyUser($user['notify'] ?? true); $identifyMethod->save(); } - $return[] = $fileUser; + $return[] = $signRequest; } } return $return; @@ -235,53 +235,53 @@ public function validateUsers(array $data): void { } } - public function saveFileUser(FileUserEntity $fileUser): void { - if ($fileUser->getId()) { - $this->fileUserMapper->update($fileUser); + public function saveSignRequest(SignRequestEntity $signRequest): void { + if ($signRequest->getId()) { + $this->signRequestMapper->update($signRequest); } else { - $this->fileUserMapper->insert($fileUser); + $this->signRequestMapper->insert($signRequest); } } /** * @psalm-suppress MixedMethodCall */ - private function setDataToUser(FileUserEntity $fileUser, array $user, int $fileId): void { - $fileUser->setFileId($fileId); - if (!$fileUser->getUuid()) { - $fileUser->setUuid(UUIDUtil::getUUID()); + private function setDataToUser(SignRequestEntity $signRequest, array $user, int $fileId): void { + $signRequest->setFileId($fileId); + if (!$signRequest->getUuid()) { + $signRequest->setUuid(UUIDUtil::getUUID()); } if (!empty($user['displayName'])) { - $fileUser->setDisplayName($user['displayName']); + $signRequest->setDisplayName($user['displayName']); } if (!empty($user['description'])) { - $fileUser->setDescription($user['description']); + $signRequest->setDescription($user['description']); } - if (!$fileUser->getId()) { - $fileUser->setCreatedAt(time()); + if (!$signRequest->getId()) { + $signRequest->setCreatedAt(time()); } } - private function getFileUserByIdentifyMethod(IIdentifyMethod $identifyMethod, int $fileId): FileUserEntity { + private function getSignRequestByIdentifyMethod(IIdentifyMethod $identifyMethod, int $fileId): SignRequestEntity { try { - $fileUser = $this->fileUserMapper->getByIdentifyMethodAndFileId($identifyMethod, $fileId); + $signRequest = $this->signRequestMapper->getByIdentifyMethodAndFileId($identifyMethod, $fileId); } catch (DoesNotExistException $e) { - $fileUser = new FileUserEntity(); + $signRequest = new SignRequestEntity(); } - return $fileUser; + return $signRequest; } - public function unassociateToUser(int $fileId, int $fileUserId): void { - $fileUser = $this->fileUserMapper->getByFileIdAndFileUserId($fileId, $fileUserId); + public function unassociateToUser(int $fileId, int $signRequestId): void { + $signRequest = $this->signRequestMapper->getByFileIdAndSignRequestId($fileId, $signRequestId); try { - $this->fileUserMapper->delete($fileUser); - $groupedIdentifyMethods = $this->identifyMethod->getIdentifyMethodsFromFileUserId($fileUserId); + $this->signRequestMapper->delete($signRequest); + $groupedIdentifyMethods = $this->identifyMethod->getIdentifyMethodsFromSignRequestId($signRequestId); foreach ($groupedIdentifyMethods as $identifyMethods) { foreach ($identifyMethods as $identifyMethod) { $identifyMethod->delete(); } } - $visibleElements = $this->fileElementMapper->getByFileIdAndFileUserId($fileId, $fileUserId); + $visibleElements = $this->fileElementMapper->getByFileIdAndSignRequestId($fileId, $signRequestId); foreach ($visibleElements as $visibleElement) { $this->fileElementMapper->delete($visibleElement); } @@ -291,16 +291,16 @@ public function unassociateToUser(int $fileId, int $fileUserId): void { public function deleteRequestSignature(array $data): void { if (!empty($data['uuid'])) { - $signatures = $this->fileUserMapper->getByFileUuid($data['uuid']); + $signatures = $this->signRequestMapper->getByFileUuid($data['uuid']); $fileData = $this->fileMapper->getByUuid($data['uuid']); } elseif (!empty($data['file']['fileId'])) { - $signatures = $this->fileUserMapper->getByNodeId($data['file']['fileId']); + $signatures = $this->signRequestMapper->getByNodeId($data['file']['fileId']); $fileData = $this->fileMapper->getByFileId($data['file']['fileId']); } else { throw new \Exception($this->l10n->t('Inform or UUID or a File object')); } - foreach ($signatures as $fileUser) { - $this->fileUserMapper->delete($fileUser); + foreach ($signatures as $signRequest) { + $this->signRequestMapper->delete($signRequest); } $this->fileMapper->delete($fileData); $this->fileElementService->deleteVisibleElements($fileData->getId()); diff --git a/lib/Service/SignFileService.php b/lib/Service/SignFileService.php index 48a614fbfd..987354d19d 100644 --- a/lib/Service/SignFileService.php +++ b/lib/Service/SignFileService.php @@ -26,16 +26,18 @@ use InvalidArgumentException; use mikehaertl\pdftk\Command; +use OC\AppFramework\Http as AppFrameworkHttp; use OCA\Libresign\AppInfo\Application; use OCA\Libresign\DataObjects\VisibleElementAssoc; +use OCA\Libresign\Db\AccountFile; use OCA\Libresign\Db\AccountFileMapper; use OCA\Libresign\Db\File as FileEntity; use OCA\Libresign\Db\FileElementMapper; use OCA\Libresign\Db\FileMapper; -use OCA\Libresign\Db\FileUser as FileUserEntity; -use OCA\Libresign\Db\FileUserMapper; use OCA\Libresign\Db\IdentifyMethod; use OCA\Libresign\Db\IdentifyMethodMapper; +use OCA\Libresign\Db\SignRequest as SignRequestEntity; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Db\UserElementMapper; use OCA\Libresign\Events\SignedEvent; use OCA\Libresign\Exception\EmptyRootCertificateException; @@ -63,8 +65,8 @@ use TypeError; class SignFileService { - /** @var FileUserEntity */ - private $fileUser; + /** @var SignRequestEntity */ + private $signRequest; /** @var string */ private $password; /** @var FileEntity */ @@ -80,7 +82,7 @@ class SignFileService { public function __construct( protected IL10N $l10n, private FileMapper $fileMapper, - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private AccountFileMapper $accountFileMapper, private Pkcs7Handler $pkcs7Handler, private Pkcs12Handler $pkcs12Handler, @@ -107,9 +109,9 @@ public function __construct( */ public function canDeleteRequestSignature(array $data): void { if (!empty($data['uuid'])) { - $signatures = $this->fileUserMapper->getByFileUuid($data['uuid']); + $signatures = $this->signRequestMapper->getByFileUuid($data['uuid']); } elseif (!empty($data['file']['fileId'])) { - $signatures = $this->fileUserMapper->getByNodeId($data['file']['fileId']); + $signatures = $this->signRequestMapper->getByNodeId($data['file']['fileId']); } else { throw new \Exception($this->l10n->t('Inform or UUID or a File object')); } @@ -185,8 +187,8 @@ public function setFriendlyName(string $friendlyName): self { /** * @return static */ - public function setFileUser(FileUserEntity $fileUser): self { - $this->fileUser = $fileUser; + public function setSignRequest(SignRequestEntity $signRequest): self { + $this->signRequest = $signRequest; return $this; } @@ -210,7 +212,7 @@ public function setPassword(?string $password = null): self { * @return static */ public function setVisibleElements(array $list): self { - $fileElements = $this->fileElementMapper->getByFileIdAndFileUserId($this->fileUser->getFileId(), $this->fileUser->getId()); + $fileElements = $this->fileElementMapper->getByFileIdAndSignRequestId($this->signRequest->getFileId(), $this->signRequest->getId()); foreach ($fileElements as $fileElement) { $element = array_filter($list, function (array $element) use ($fileElement): bool { return $element['documentElementId'] === $fileElement->getId(); @@ -220,7 +222,7 @@ public function setVisibleElements(array $list): self { $userElement = $this->userElementMapper->findOne(['id' => $c['profileElementId']]); } else { $userElement = $this->userElementMapper->findOne([ - 'user_id' => $this->fileUser->getUserId(), + 'user_id' => $this->signRequest->getUserId(), 'type' => $fileElement->getType(), ]); } @@ -272,11 +274,11 @@ public function sign(): File { ->sign(); } - $this->fileUser->setSigned(time()); - if ($this->fileUser->getId()) { - $this->fileUserMapper->update($this->fileUser); + $this->signRequest->setSigned(time()); + if ($this->signRequest->getId()) { + $this->signRequestMapper->update($this->signRequest); } else { - $this->fileUserMapper->insert($this->fileUser); + $this->signRequestMapper->insert($this->signRequest); } $this->libreSignFile->setSignedNodeId($signedFile->getId()); @@ -293,13 +295,13 @@ public function storeUserMetadata(array $metadata = []): self { if (!$collectMetadata || !$metadata) { return $this; } - $this->fileUser->setMetadata($metadata); - $this->fileUserMapper->update($this->fileUser); + $this->signRequest->setMetadata($metadata); + $this->signRequestMapper->update($this->signRequest); return $this; } private function updateStatus(): bool { - $signers = $this->fileUserMapper->getByFileId($this->fileUser->getFileId()); + $signers = $this->signRequestMapper->getByFileId($this->signRequest->getFileId()); $total = array_reduce($signers, function ($carry, $signer) { $carry += $signer->getSigned() ? 1 : 0; return $carry; @@ -366,13 +368,13 @@ public function getFileToSing(FileEntity $libresignFile): \OCP\Files\Node { return $originalFile; } - public function getLibresignFile(?int $fileId, ?string $fileUserUuid = null): FileEntity { + public function getLibresignFile(?int $fileId, ?string $signRequestUuid = null): FileEntity { try { if ($fileId) { $libresignFile = $this->fileMapper->getByFileId($fileId); - } elseif ($fileUserUuid) { - $fileUser = $this->fileUserMapper->getByUuid($fileUserUuid); - $libresignFile = $this->fileMapper->getById($fileUser->getFileId()); + } elseif ($signRequestUuid) { + $signRequest = $this->signRequestMapper->getByUuid($signRequestUuid); + $libresignFile = $this->fileMapper->getById($signRequest->getFileId()); } else { throw new \Exception('Invalid arguments'); } @@ -382,17 +384,17 @@ public function getLibresignFile(?int $fileId, ?string $fileUserUuid = null): Fi return $libresignFile; } - public function requestCode(FileUserEntity $fileUser, IUser $user): string { - return $this->signMethod->requestCode($fileUser, $user); + public function requestCode(SignRequestEntity $signRequest, IUser $user): string { + return $this->signMethod->requestCode($signRequest, $user); } - public function getFileUserToSign(FileEntity $libresignFile, IUser $user): FileUserEntity { + public function getSignRequestToSign(FileEntity $libresignFile, IUser $user): SignRequestEntity { $this->validateHelper->fileCanBeSigned($libresignFile); try { - $fileUsers = $this->fileUserMapper->getByFileId($libresignFile->getId()); + $signRequests = $this->signRequestMapper->getByFileId($libresignFile->getId()); - $fileUser = array_reduce($fileUsers, function (?FileUserEntity $carry, FileUserEntity $fileUser) use ($user): ?FileUserEntity { - $identifyMethods = $this->identifyMethodMapper->getIdentifyMethodsFromFileUserId($fileUser->getId()); + $signRequest = array_reduce($signRequests, function (?SignRequestEntity $carry, SignRequestEntity $signRequest) use ($user): ?SignRequestEntity { + $identifyMethods = $this->identifyMethodMapper->getIdentifyMethodsFromSignRequestId($signRequest->getId()); $found = array_filter($identifyMethods, function (IdentifyMethod $identifyMethod) use ($user) { if ($identifyMethod->getIdentifierKey() === IdentifyMethodService::IDENTIFY_EMAIL && ( @@ -410,12 +412,12 @@ public function getFileUserToSign(FileEntity $libresignFile, IUser $user): FileU return false; }); if (count($found) > 0) { - return $fileUser; + return $signRequest; } return $carry; }); - if ($fileUser->getSigned()) { + if ($signRequest->getSigned()) { throw new LibresignException($this->l10n->t('File already signed by you'), 1); } } catch (DoesNotExistException $th) { @@ -425,15 +427,15 @@ public function getFileUserToSign(FileEntity $libresignFile, IUser $user): FileU throw new LibresignException($this->l10n->t('Invalid data to sign file'), 1); } $this->validateHelper->userCanApproveValidationDocuments($user); - $fileUser = new FileUserEntity(); - $fileUser->setFileId($libresignFile->getId()); - $fileUser->setEmail($user->getEMailAddress()); - $fileUser->setDisplayName($user->getDisplayName()); - $fileUser->setUserId($user->getUID()); - $fileUser->setUuid(UUIDUtil::getUUID()); - $fileUser->setCreatedAt(time()); + $signRequest = new SignRequestEntity(); + $signRequest->setFileId($libresignFile->getId()); + $signRequest->setEmail($user->getEMailAddress()); + $signRequest->setDisplayName($user->getDisplayName()); + $signRequest->setUserId($user->getUID()); + $signRequest->setUuid(UUIDUtil::getUUID()); + $signRequest->setCreatedAt(time()); } - return $fileUser; + return $signRequest; } /** @@ -485,17 +487,63 @@ private function getPdfToSign(FileEntity $fileData, File $originalFile): File { return $fileToSign; } + /** + * @throws DoesNotExistException + */ + public function getSignRequest(string $uuid): SignRequestEntity { + return $this->signRequestMapper->getByUuid($uuid); + } + + /** + * @throws DoesNotExistException + */ + public function getFile(int $signRequestId): FileEntity { + return $this->fileMapper->getById($signRequestId); + } + + /** + * @throws DoesNotExistException + */ + public function getFileByUuid(string $uuid): FileEntity { + return $this->fileMapper->getByUuid($uuid); + } + + public function getAccountFileById(int $fileId): AccountFile { + return $this->accountFileMapper->getByFileId($fileId); + } + + public function getNextcloudFile(int $nodeId): File { + $mountsContainingFile = $this->userMountCache->getMountsForFileId($nodeId); + foreach ($mountsContainingFile as $fileInfo) { + $this->root->getByIdInPath($nodeId, $fileInfo->getMountPoint()); + } + $fileToSign = $this->root->getById($nodeId); + if (count($fileToSign) < 1) { + throw new LibresignException(json_encode([ + 'action' => JSActions::ACTION_DO_NOTHING, + 'errors' => [$this->l10n->t('File not found')], + ]), AppFrameworkHttp::STATUS_NOT_FOUND); + } + /** @var File */ + $fileToSign = $fileToSign[0]; + return $fileToSign; + } + + public function validateSigner($uuid, $user): void { + $this->validateHelper->validateSigner($uuid, $user); + } + /** * @return (array|int|mixed)[] * @psalm-return array{action?: int, user?: array{name: mixed}, sign?: array{pdf: array{file?: File, nodeId?: mixed, url?: mixed, base64?: string}|null, uuid: mixed, filename: mixed, description: mixed}, errors?: non-empty-list, redirect?: mixed, settings?: array{accountHash: string}} */ - public function getInfoOfFileToSignUsingFileUserUuid(?string $uuid, ?IUser $user, string $formatOfPdfOnSign): array { + public function getInfoOfFileToSignUsingSignRequestUuid(?string $uuid, ?IUser $user, string $formatOfPdfOnSign): array { $return = []; if (!$uuid) { return $return; } - $fileUser = $this->fileUserMapper->getByUuid($uuid); - $fileEntity = $this->fileMapper->getById($fileUser->getFileId()); + $signRequest = $this->signRequestMapper->getByUuid($uuid); + $fileEntity = $this->fileMapper->getById($signRequest->getFileId()); $nodeId = $fileEntity->getNodeId(); @@ -512,7 +560,7 @@ public function getInfoOfFileToSignUsingFileUserUuid(?string $uuid, ?IUser $user } /** @var File */ $fileToSign = $fileToSign[0]; - $return = $this->getFileData($fileEntity, $user, $fileUser); + $return = $this->getFileData($fileEntity, $user, $signRequest); $return['sign']['pdf'] = $this->getFileUrl($formatOfPdfOnSign, $fileEntity, $fileToSign, $uuid); return $return; } @@ -561,9 +609,9 @@ public function getInfoOfFileToSignUsingFileUuid(?string $uuid, ?IUser $user, st return $return; } - private function throwIfAlreadySigned(FileEntity $fileEntity, ?FileUserEntity $fileUser = null): void { + private function throwIfAlreadySigned(FileEntity $fileEntity, ?SignRequestEntity $signRequest = null): void { if ($fileEntity->getStatus() === FileEntity::STATUS_SIGNED - || (!is_null($fileUser) && $fileUser->getSigned()) + || (!is_null($signRequest) && $signRequest->getSigned()) ) { throw new LibresignException(json_encode([ 'action' => JSActions::ACTION_SHOW_ERROR, @@ -573,22 +621,22 @@ private function throwIfAlreadySigned(FileEntity $fileEntity, ?FileUserEntity $f } } - private function getFileData(FileEntity $fileData, ?IUser $user, ?FileUserEntity $fileUser = null): array { + public function getFileData(FileEntity $fileData, ?IUser $user, ?SignRequestEntity $signRequest = null): array { $return['action'] = JSActions::ACTION_SIGN; $return['sign'] = [ 'uuid' => $fileData->getUuid(), 'filename' => $fileData->getName() ]; - if ($fileUser) { - $return['user']['name'] = $fileUser->getDisplayName(); - $return['sign']['description'] = $fileUser->getDescription(); + if ($signRequest) { + $return['user']['name'] = $signRequest->getDisplayName(); + $return['sign']['description'] = $signRequest->getDescription(); $return['settings']['identifyMethods'] = array_map(function (IdentifyMethod $identifyMethod): array { return [ 'mandatory' => $identifyMethod->getMandatory(), 'identifiedAtDate' => $identifyMethod->getIdentifiedAtDate(), 'method' => $identifyMethod->getMethod(), ]; - }, $this->identifyMethodMapper->getIdentifyMethodsFromFileUserId($fileUser->getId())); + }, $this->identifyMethodMapper->getIdentifyMethodsFromSignRequestId($signRequest->getId())); } else { $return['user']['name'] = $user->getDisplayName(); } @@ -598,7 +646,7 @@ private function getFileData(FileEntity $fileData, ?IUser $user, ?FileUserEntity /** * @psalm-return array{file?: File, nodeId?: int, url?: string, base64?: string} */ - private function getFileUrl(string $format, FileEntity $fileEntity, File $fileToSign, string $uuid): array { + public function getFileUrl(string $format, FileEntity $fileEntity, File $fileToSign, string $uuid): array { $url = []; switch ($format) { case 'base64': diff --git a/lib/Service/SignMethodService.php b/lib/Service/SignMethodService.php index 7bc7e431af..8327c58978 100644 --- a/lib/Service/SignMethodService.php +++ b/lib/Service/SignMethodService.php @@ -25,8 +25,8 @@ namespace OCA\Libresign\Service; use OCA\Libresign\AppInfo\Application; -use OCA\Libresign\Db\FileUser; -use OCA\Libresign\Db\FileUserMapper; +use OCA\Libresign\Db\SignRequest; +use OCA\Libresign\Db\SignRequestMapper; use OCA\Libresign\Exception\LibresignException; use OCP\Accounts\IAccountManager; use OCP\App\IAppManager; @@ -46,7 +46,7 @@ class SignMethodService { public const SIGN_EMAIL = 'email'; public function __construct( - private FileUserMapper $fileUserMapper, + private SignRequestMapper $signRequestMapper, private IAccountManager $accountManager, private IAppManager $appManager, private IConfig $config, @@ -58,16 +58,16 @@ public function __construct( ) { } - public function requestCode(FileUser $fileUser, IUser $user): string { - return $this->requestCode($fileUser, $user); + public function requestCode(SignRequest $signRequest, IUser $user): string { + return $this->requestCode($signRequest, $user); $token = $this->secureRandom->generate(6, ISecureRandom::CHAR_DIGITS); - $this->sendCode($user, $fileUser, $token); - $fileUser->setCode($this->hasher->hash($token)); - $this->fileUserMapper->update($fileUser); + $this->sendCode($user, $signRequest, $token); + $signRequest->setCode($this->hasher->hash($token)); + $this->signRequestMapper->update($signRequest); return $token; } - private function sendCode(IUser $user, FileUser $fileUser, string $code): void { + private function sendCode(IUser $user, SignRequest $signRequest, string $code): void { $signMethod = $this->config->getAppValue(Application::APP_ID, 'sign_method', 'password'); switch ($signMethod) { case SignMethodService::SIGN_SMS: @@ -76,7 +76,7 @@ private function sendCode(IUser $user, FileUser $fileUser, string $code): void { $this->sendCodeByGateway($user, $code, $signMethod); break; case SignMethodService::SIGN_EMAIL: - $this->sendCodeByEmail($fileUser, $code); + $this->sendCodeByEmail($signRequest, $code); break; case SignMethodService::SIGN_PASSWORD: throw new LibresignException($this->l10n->t('Sending authorization code not enabled.')); @@ -106,7 +106,7 @@ private function getGateway(IUser $user, string $gatewayName): \OCA\TwoFactorGat return $gateway; } - private function sendCodeByEmail(FileUser $fileUser, string $code): void { - $this->mail->sendCodeToSign($fileUser, $code); + private function sendCodeByEmail(SignRequest $signRequest, string $code): void { + $this->mail->sendCodeToSign($signRequest, $code); } } diff --git a/lib/Service/TFile.php b/lib/Service/TFile.php index 6b673511ea..4d0112669a 100644 --- a/lib/Service/TFile.php +++ b/lib/Service/TFile.php @@ -45,6 +45,9 @@ public function getNodeFromData(array $data): Node { $userFolder = $this->folderService->getFolder($data['file']['fileId']); return $userFolder->getById($data['file']['fileId'])[0]; } + if (isset($data['file']['path'])) { + return $this->folderService->getFileByPath($data['file']['path']); + } $content = $this->getFileRaw($data); @@ -99,16 +102,14 @@ private function getFileRaw(array $data) { } $response = $this->client->newClient()->get($data['file']['url']); $mimetypeFromHeader = $response->getHeader('Content-Type'); - $content = $response->getBody(); + $content = (string) $response->getBody(); if (!$content) { throw new \Exception($this->l10n->t('Empty file')); } - $this->validateHelper->validateBase64($content); $mimeTypeFromContent = $this->getMimeType($content); if ($mimetypeFromHeader !== $mimeTypeFromContent) { throw new \Exception($this->l10n->t('Invalid URL file')); } - $this->setMimeType($mimeTypeFromContent); } else { $content = $this->getFileFromBase64($data['file']['base64']); } diff --git a/package-lock.json b/package-lock.json index 78e202f557..eddb901c16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,13 +9,13 @@ "version": "7.0.0-dev.3", "license": "agpl", "dependencies": { - "@fontsource/dancing-script": "^5.0.13", + "@fontsource/dancing-script": "^5.0.15", "@marionebl/option": "^1.0.8", "@nextcloud/auth": "^2.1.0", "@nextcloud/axios": "^2.4.0", - "@nextcloud/dialogs": "^4.2.1", + "@nextcloud/dialogs": "^4.2.2", "@nextcloud/event-bus": "^3.1.0", - "@nextcloud/files": "^3.0.0-beta.26", + "@nextcloud/files": "^3.0.0", "@nextcloud/initial-state": "^2.1.0", "@nextcloud/l10n": "^2.2.0", "@nextcloud/logger": "^2.7.0", @@ -23,14 +23,14 @@ "@nextcloud/password-confirmation": "^4.1.0", "@nextcloud/paths": "^2.1.0", "@nextcloud/router": "^2.2.0", - "@nextcloud/vue": "^7.12.5", + "@nextcloud/vue": "^7.12.7", "crypto-js": "^4.2.0", "dompurify": "^3.0.6", - "linkify-string": "^4.1.1", + "linkify-string": "^4.1.3", "lodash-es": "^4.17.21", - "marked": "^9.1.2", + "marked": "^10.0.0", "style-loader": "^3.3.3", - "vue": "^2.7.14", + "vue": "^2.7.15", "vue-advanced-cropper": "^1.11.6", "vue-drag-resize": "^1.5.4", "vue-material-design-icons": "^5.2.0", @@ -40,7 +40,7 @@ "vuex-router-sync": "^5.0.0" }, "devDependencies": { - "@babel/core": "^7.23.2", + "@babel/core": "^7.23.3", "@nextcloud/babel-config": "^1.0.0", "@nextcloud/browserslist-config": "^3.0.0", "@nextcloud/eslint-config": "^8.2.1", @@ -56,7 +56,7 @@ "jest-transform-stub": "^2.0.0", "url-loader": "^4.1.1", "uuidv4": "^6.2.13", - "vue-template-compiler": "^2.7.14" + "vue-template-compiler": "^2.7.15" }, "engines": { "node": "^20.0.0", @@ -148,20 +148,20 @@ } }, "node_modules/@babel/core": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", + "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/generator": "^7.23.3", "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.0", + "@babel/parser": "^7.23.3", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -196,11 +196,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.3.tgz", + "integrity": "sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==", "dependencies": { - "@babel/types": "^7.23.0", + "@babel/types": "^7.23.3", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -353,9 +353,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", @@ -518,9 +518,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", + "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1743,18 +1743,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.3.tgz", + "integrity": "sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==", "dependencies": { "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/generator": "^7.23.3", "@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.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", + "@babel/parser": "^7.23.3", + "@babel/types": "^7.23.3", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1763,9 +1763,9 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz", + "integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==", "dependencies": { "@babel/helper-string-parser": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.20", @@ -2066,9 +2066,9 @@ "integrity": "sha512-qprfWkn82Iw821mcKofJ5Pk9wgioHicxcQMxx+5zt5GSKoqdWvgG5AxVmpmUUjzTLPVSH5auBrhI93Deayn/DA==" }, "node_modules/@fontsource/dancing-script": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/@fontsource/dancing-script/-/dancing-script-5.0.13.tgz", - "integrity": "sha512-Xt6JFy+sIA0e32PxticmXGrS8A0WEBsaexcLzdA2ee3f8GiLQx4G434b1RTDIA+AZZ/BS0BGszOHinWxJKSpZg==" + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/@fontsource/dancing-script/-/dancing-script-5.0.15.tgz", + "integrity": "sha512-s0226rnVeoh98lZJprdfXejaYLjbd1A+mAM/IEkUQQPfC1EIYj4flJvxAXMZvS2XCc39eWq6TxS9KDFdOwQJtw==" }, "node_modules/@hapi/hoek": { "version": "9.3.0", @@ -2999,9 +2999,9 @@ } }, "node_modules/@mdi/svg": { - "version": "7.2.96", - "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.2.96.tgz", - "integrity": "sha512-rxzuSL2RSt/pWWnFnUFQi5GJArm2tHMhx20Gee3Ydn+xT2bqbR4syfgdPrq2b+j+n5LjC7C8Fb1QDM6LKeF0cA==" + "version": "7.3.67", + "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.3.67.tgz", + "integrity": "sha512-KNr7D8jbu8DEprgRckVywVBkajsGGqocFjOzlekv35UedLjpkMDTkFO8VYnhnLySL0QaPBa568fe8BZsB0TBJQ==" }, "node_modules/@nextcloud/auth": { "version": "2.2.1", @@ -3182,21 +3182,20 @@ } }, "node_modules/@nextcloud/dialogs": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-4.2.1.tgz", - "integrity": "sha512-rimwdQ2AsE1X4cr5Z7EkWbtTSQyb/jXNNA4ZEZtcS3uBdRjwr0dbnvml7OhXCwrBjeYmn7+xT49MwoREO4DBAQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-4.2.2.tgz", + "integrity": "sha512-KC55NmEXxABt2aHDIZEvjEIOAmVuc9/tsqS2P2OmmkWzPT/IQH+y87vU1ZfkPNUblZQQ73nK1U4/JQpEk/FuuQ==", "dependencies": { - "@mdi/svg": "^7.2.96", + "@mdi/svg": "^7.3.67", "@nextcloud/files": "^3.0.0-beta.14", "@nextcloud/l10n": "^2.2.0", "@nextcloud/router": "^2.1.2", "@nextcloud/typings": "^1.7.0", "@nextcloud/vue": "^7.12.4", - "@types/toastify-js": "^1.12.1", + "@types/toastify-js": "^1.12.2", "@vueuse/core": "^10.4.1", "toastify-js": "^1.12.0", "vue-frag": "^1.4.3", - "vue-material-design-icons": "^5.2.0", "webdav": "^5.2.3" }, "engines": { @@ -3294,15 +3293,15 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@nextcloud/files": { - "version": "3.0.0-beta.26", - "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.0.0-beta.26.tgz", - "integrity": "sha512-IOIY9clVxB0+a/xcA7I6szeZ0VcVCNYJwkY0CyuOXC/ZW/tGeevmZ8JPWmiH+HAHz574V3Up53xTwXSzAxeN5A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.0.0.tgz", + "integrity": "sha512-zk5oIuVDyk2gWBKCJ+0B1HE3VjhuGnz2iLNbTcbRuTjMYb6aYCAEn1LY0dXbUQG93ehndYJCOdaYri/TaGrlXw==", "dependencies": { "@nextcloud/auth": "^2.2.1", "@nextcloud/l10n": "^2.2.0", "@nextcloud/logger": "^2.7.0", "@nextcloud/paths": "^2.1.0", - "@nextcloud/router": "^2.1.2", + "@nextcloud/router": "^2.2.0", "is-svg": "^5.0.0", "webdav": "^5.3.0" }, @@ -3434,9 +3433,9 @@ } }, "node_modules/@nextcloud/vue": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-7.12.6.tgz", - "integrity": "sha512-8Blh7IeKUymLOehD7hgoidh8rk65ovIJrodzEWYv3VN9YtXrikWRLxulNSatAyupIHa4/4pt3RSHkHsct/Nfmw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-7.12.7.tgz", + "integrity": "sha512-zMVlVnDCQ8pEZrIl5h9wXV1tHLiP1Qsmm6NJPxeTcix3JsbodkSmHJHWEv5VmQ7qWxUX2dPJeSoH8nk+qjbQ/A==", "dependencies": { "@floating-ui/dom": "^1.1.0", "@nextcloud/auth": "^2.0.0", @@ -4200,9 +4199,9 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" }, "node_modules/@types/toastify-js": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.1.tgz", - "integrity": "sha512-9CTM+LKFmS0+Ii+RH55XPKcmNxCjLticj8kxeCxa7PnSVCZPQurb9XtKQtoMl/fv7WaqUpRezDcFuY8n92CtUg==" + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.3.tgz", + "integrity": "sha512-9RjLlbAHMSaae/KZNHGv19VG4gcLIm3YjvacCXBtfMfYn26h76YP5oxXI8k26q4iKXCB9LNfv18lsoS0JnFPTg==" }, "node_modules/@types/tough-cookie": { "version": "4.0.3", @@ -6629,9 +6628,9 @@ "dev": true }, "node_modules/@vue/compiler-sfc": { - "version": "2.7.14", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz", - "integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==", + "version": "2.7.15", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.15.tgz", + "integrity": "sha512-FCvIEevPmgCgqFBH7wD+3B97y7u7oj/Wr69zADBf403Tui377bThTjBvekaZvlRr4IwUAu3M6hYZeULZFJbdYg==", "dependencies": { "@babel/parser": "^7.18.4", "postcss": "^8.4.14", @@ -7651,9 +7650,9 @@ } }, "node_modules/axios": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", - "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.1.tgz", + "integrity": "sha512-vfBmhDpKafglh0EldBEbVuoe7DyAavGSLWhuSm5ZSEKQnHhBf0xAAwybbNH1IkrJNGnS/VG4I5yxig1pCEXE4g==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -8361,19 +8360,22 @@ } }, "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", + "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", + "elliptic": "^6.5.4", "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 4" } }, "node_modules/browserify-sign/node_modules/readable-stream": { @@ -17275,9 +17277,9 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/linkify-string": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.1.1.tgz", - "integrity": "sha512-9+kj8xr7GLiyNyO9ri7lIxq2ixVYjjqvtomPQpeYNNT56/PxQq6utzXFLm8HxOaGTiMpimj1UAQWwYYPV88L1g==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.1.3.tgz", + "integrity": "sha512-6dAgx4MiTcvEX87OS5aNpAioO7cSELUXp61k7azOvMYOLSmREx0w4yM1Uf0+O3JLC08YdkUyZhAX+YkasRt/mw==", "peerDependencies": { "linkifyjs": "^4.0.0" } @@ -17736,14 +17738,14 @@ } }, "node_modules/marked": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.2.tgz", - "integrity": "sha512-qoKMJqK0w6vkLk8+KnKZAH6neUZSNaQqVZ/h2yZ9S7CbLuFHyS2viB0jnqcWF9UKjwsAbMrQtnQhdmdvOVOw9w==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-10.0.0.tgz", + "integrity": "sha512-YiGcYcWj50YrwBgNzFoYhQ1hT6GmQbFG8SksnYJX1z4BXTHSOrz1GB5/Jm2yQvMg4nN1FHP4M6r03R10KrVUiA==", "bin": { "marked": "bin/marked.js" }, "engines": { - "node": ">= 16" + "node": ">= 18" } }, "node_modules/material-colors": { @@ -24298,11 +24300,11 @@ "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" }, "node_modules/vue": { - "version": "2.7.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz", - "integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==", + "version": "2.7.15", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.15.tgz", + "integrity": "sha512-a29fsXd2G0KMRqIFTpRgpSbWaNBK3lpCTOLuGLEDnlHWdjB8fwl6zyYZ8xCrqkJdatwZb4mGHiEfJjnw0Q6AwQ==", "dependencies": { - "@vue/compiler-sfc": "2.7.14", + "@vue/compiler-sfc": "2.7.15", "csstype": "^3.1.0" } }, @@ -24550,9 +24552,9 @@ "peer": true }, "node_modules/vue-template-compiler": { - "version": "2.7.14", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", - "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "version": "2.7.15", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.15.tgz", + "integrity": "sha512-yQxjxMptBL7UAog00O8sANud99C6wJF+7kgbcwqkvA38vCGF7HWE66w0ZFnS/kX5gSoJr/PQ4/oS3Ne2pW37Og==", "dev": true, "dependencies": { "de-indent": "^1.0.2", diff --git a/package.json b/package.json index 57f6ecbf60..7078c9ed93 100644 --- a/package.json +++ b/package.json @@ -17,13 +17,13 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@fontsource/dancing-script": "^5.0.13", + "@fontsource/dancing-script": "^5.0.15", "@marionebl/option": "^1.0.8", "@nextcloud/auth": "^2.1.0", "@nextcloud/axios": "^2.4.0", - "@nextcloud/dialogs": "^4.2.1", + "@nextcloud/dialogs": "^4.2.2", "@nextcloud/event-bus": "^3.1.0", - "@nextcloud/files": "^3.0.0-beta.26", + "@nextcloud/files": "^3.0.0", "@nextcloud/initial-state": "^2.1.0", "@nextcloud/l10n": "^2.2.0", "@nextcloud/logger": "^2.7.0", @@ -31,14 +31,14 @@ "@nextcloud/password-confirmation": "^4.1.0", "@nextcloud/paths": "^2.1.0", "@nextcloud/router": "^2.2.0", - "@nextcloud/vue": "^7.12.5", + "@nextcloud/vue": "^7.12.7", "crypto-js": "^4.2.0", "dompurify": "^3.0.6", - "linkify-string": "^4.1.1", + "linkify-string": "^4.1.3", "lodash-es": "^4.17.21", - "marked": "^9.1.2", + "marked": "^10.0.0", "style-loader": "^3.3.3", - "vue": "^2.7.14", + "vue": "^2.7.15", "vue-advanced-cropper": "^1.11.6", "vue-drag-resize": "^1.5.4", "vue-material-design-icons": "^5.2.0", @@ -55,7 +55,7 @@ "npm": "^9.0.0" }, "devDependencies": { - "@babel/core": "^7.23.2", + "@babel/core": "^7.23.3", "@nextcloud/babel-config": "^1.0.0", "@nextcloud/browserslist-config": "^3.0.0", "@nextcloud/eslint-config": "^8.2.1", @@ -71,6 +71,6 @@ "jest-transform-stub": "^2.0.0", "url-loader": "^4.1.1", "uuidv4": "^6.2.13", - "vue-template-compiler": "^2.7.14" + "vue-template-compiler": "^2.7.15" } } diff --git a/phpunit.xml b/phpunit.xml index 91ab4b69ca..67d7c059bc 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -12,15 +12,15 @@ verbose="true"> - tests/Unit tests/Api - - tests/Unit tests/Api + + tests/Unit + - \ No newline at end of file + diff --git a/src/App.vue b/src/App.vue index 3afb4430b7..3d9aae8990 100644 --- a/src/App.vue +++ b/src/App.vue @@ -83,7 +83,7 @@ import CroppedLayoutSettings from './Components/Settings/CroppedLayoutSettings.v import { loadState } from '@nextcloud/initial-state' import { defaults } from 'lodash-es' -const libresignState = loadState('libresign', 'config') +const libresignState = loadState('libresign', 'config', {}) export default { name: 'App', diff --git a/src/Components/Draw/Draw.vue b/src/Components/Draw/Draw.vue index f433cc52a3..996bf38790 100644 --- a/src/Components/Draw/Draw.vue +++ b/src/Components/Draw/Draw.vue @@ -5,19 +5,19 @@ :class="{active: isActive('text')}" @click.prevent="setActive('text')"> - Text + {{ t('libresign', 'Text') }}
  • - Draw + {{ t('libresign', 'Draw') }}
  • - Upload + {{ t('libresign', 'Upload') }}
  • diff --git a/src/Components/File/AppFilesTab.vue b/src/Components/File/AppFilesTab.vue index 1de5e1b271..8280fe3f61 100644 --- a/src/Components/File/AppFilesTab.vue +++ b/src/Components/File/AppFilesTab.vue @@ -36,7 +36,7 @@ export default { } return t('libresign', 'Requested by {name}, at {date}', { name: this.requestedBy.uid, - date: Moment(parseInt(this.requestDate)).format('LL LTS'), + date: Moment(Date.parse(this.requestDate)).format('LL LTS'), }) }, }, diff --git a/src/Components/File/LibresignTab.vue b/src/Components/File/LibresignTab.vue index 24ed62f896..2f02dfdb2a 100644 --- a/src/Components/File/LibresignTab.vue +++ b/src/Components/File/LibresignTab.vue @@ -1,6 +1,8 @@ {{ t('libresign', 'Delete') }} - @@ -104,11 +104,11 @@ export default { addIdentifier(signers) { signers.map(signer => { // generate unique code to new signer to be possible delete or edit - if ((signer.identify === undefined || signer.identify === '') && signer.fileUserId === undefined) { + if ((signer.identify === undefined || signer.identify === '') && signer.signRequestId === undefined) { signer.identify = btoa(JSON.stringify(signer)) } - if (signer.fileUserId) { - signer.identify = signer.fileUserId + if (signer.signRequestId) { + signer.identify = signer.signRequestId } return signer }) @@ -131,7 +131,7 @@ export default { try { const body = { fileId: this.file.nodeId, - fileUserId: signer.fileUserId, + signRequestId: signer.signRequestId, } const response = await axios.post(generateOcsUrl('/apps/libresign/api/v1/notify/signer'), body) @@ -186,7 +186,7 @@ export default { this.dataSigners.splice(i, 1) break } - if (this.dataSigners[i].fileUserId === signer.identify) { + if (this.dataSigners[i].signRequestId === signer.identify) { this.dataSigners.splice(i, 1) break } @@ -194,8 +194,8 @@ export default { this.dataSigners.push(signer) }, async deleteSigner(signer) { - if (!isNaN(this.file?.nodeId) && !isNaN(signer.fileUserId)) { - await axios.delete(generateOcsUrl(`/apps/libresign/api/v1/sign/file_id/${this.file.nodeId}/${signer.fileUserId}`)) + if (!isNaN(this.file?.nodeId) && !isNaN(signer.signRequestId)) { + await axios.delete(generateOcsUrl(`/apps/libresign/api/v1/sign/file_id/${this.file.nodeId}/${signer.signRequestId}`)) } this.dataSigners = this.dataSigners.filter((i) => i.identify !== signer.identify) }, diff --git a/src/Components/Request/VisibleElements.vue b/src/Components/Request/VisibleElements.vue index 98f7c026b4..fb47e4b003 100644 --- a/src/Components/Request/VisibleElements.vue +++ b/src/Components/Request/VisibleElements.vue @@ -99,7 +99,7 @@ const emptySignerData = () => ({ displayName: '', fullName: null, me: false, - fileUserId: 0, + signRequestId: 0, email: '', element: emptyElement(), }) @@ -178,7 +178,7 @@ export default { } }, hasSignerSelected() { - return this.currentSigner.fileUserId !== 0 + return this.currentSigner.signRequestId !== 0 }, editingElement() { return this.currentSigner.element.elementId > 0 @@ -210,7 +210,7 @@ export default { return showError(err.message) }, updateSigners() { - const { fileUserId } = this.currentSigner + const { signRequestId } = this.currentSigner this.currentSigner = emptySignerData() @@ -218,7 +218,7 @@ export default { this.signers = map(signers, signer => { const element = find(visibleElements, (el) => { - return el.fileUserId === signer.fileUserId + return el.signRequestId === signer.signRequestId }) const row = { @@ -238,11 +238,11 @@ export default { return row }) - if (fileUserId === 0) { + if (signRequestId === 0) { return } - const current = this.signers.find(signer => signer.fileUserId === fileUserId) + const current = this.signers.find(signer => signer.signRequestId === signRequestId) this.onSelectSigner({ ...current }) }, @@ -294,7 +294,7 @@ export default { } }, async saveElement() { - const { element, fileUserId } = this.currentSigner + const { element, signRequestId } = this.currentSigner const payload = { coordinates: { @@ -302,7 +302,7 @@ export default { page: element.coordinates.page, }, type: 'signature', - fileUserId, + signRequestId, } try { diff --git a/src/Components/Signers/Signer.vue b/src/Components/Signers/Signer.vue index e3e96bc4e3..1658ca72a5 100644 --- a/src/Components/Signers/Signer.vue +++ b/src/Components/Signers/Signer.vue @@ -60,7 +60,7 @@ export default { return '#008000' } // Pending - if (this.signer.fileUserId) { + if (this.signer.signRequestId) { return '#d67335' } // Draft, not saved @@ -73,7 +73,7 @@ export default { }) } // Pending - if (this.signer.fileUserId) { + if (this.signer.signRequestId) { return t('libresign', 'pending') } // Draft, not saved diff --git a/src/domains/files/service.js b/src/domains/files/service.js index 5a38c2c4e6..0d64f9c3f7 100644 --- a/src/domains/files/service.js +++ b/src/domains/files/service.js @@ -1,5 +1,4 @@ /* eslint-disable valid-jsdoc */ -import { confirmPassword } from '@nextcloud/password-confirmation' import '@nextcloud/password-confirmation/dist/style.css' // Required for dialog styles import axios from '@nextcloud/axios' import { deburr } from 'lodash-es' @@ -20,7 +19,6 @@ const slugfy = val => */ const buildService = (http) => ({ async uploadFile({ file, name }) { - await confirmPassword() const url = generateOcsUrl('/apps/libresign/api/v1/file') const settings = { diff --git a/src/helpers/SelectAction.js b/src/helpers/SelectAction.js index 9c79f02c10..f2a1f8d89a 100644 --- a/src/helpers/SelectAction.js +++ b/src/helpers/SelectAction.js @@ -23,7 +23,7 @@ import { loadState } from '@nextcloud/initial-state' -const libresignVar = loadState('libresign', 'config') +const libresignVar = loadState('libresign', 'config', {}) const redirectURL = libresignVar.redirect ? libresignVar.redirect : 'Home' diff --git a/src/router/router.js b/src/router/router.js index 783c43ec96..31cca883ff 100644 --- a/src/router/router.js +++ b/src/router/router.js @@ -24,7 +24,7 @@ import { translate as t } from '@nextcloud/l10n' import { selectAction } from '../helpers/SelectAction.js' import { loadState } from '@nextcloud/initial-state' -const libresignVar = loadState('libresign', 'config') +const libresignVar = loadState('libresign', 'config', {}) const isCompleteAdminConfig = libresignVar?.settings?.certificateOk const initUrl = isCompleteAdminConfig ? 'requestFiles' : 'incomplete' diff --git a/src/services/FilesService.spec.js b/src/services/FilesService.spec.js index bd0c336c9d..4ce310b9fa 100644 --- a/src/services/FilesService.spec.js +++ b/src/services/FilesService.spec.js @@ -29,7 +29,7 @@ describe('FilesService', () => { fullName: 'John Doe', me: true, email: 'user@test.coop', - fileUserId: 1, + signRequestId: 1, }], settings: { canRequestSign: true, diff --git a/src/store/index.js b/src/store/index.js index 23010d9dde..c605e91110 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -34,7 +34,7 @@ import { loadState } from '@nextcloud/initial-state' Vue.use(Vuex) -const libresignVar = loadState('libresign', 'config') +const libresignVar = loadState('libresign', 'config', {}) export default new Store({ diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js index a33dafcd49..df56aa4e16 100644 --- a/src/store/modules/settings.js +++ b/src/store/modules/settings.js @@ -1,7 +1,7 @@ import { loadState } from '@nextcloud/initial-state' import { defaults } from 'lodash-es' -const libresignState = loadState('libresign', 'config') +const libresignState = loadState('libresign', 'config', {}) export default { namespaced: true, diff --git a/src/views/Account/Account.vue b/src/views/Account/Account.vue index 9e6e4960e4..24b855b3f3 100644 --- a/src/views/Account/Account.vue +++ b/src/views/Account/Account.vue @@ -11,18 +11,22 @@
    -

    {{ t('libresign', 'Password & Security') }}

    +

    {{ t('libresign', 'Certificate') }}

    - - + + {{ t('libresign', 'Upload certificate') }} + + + {{ t('libresign', 'Delete certificate') }} + + + {{ t('libresign', 'Create certificate') }} + + + {{ t('librsign', 'Change password') }} +
    @@ -42,7 +46,12 @@