├── .eslintrc.js ├── .gitattributes ├── .github ├── dependabot.yml └── workflows │ ├── appstore-build-publish.yml │ ├── cypress-e2e.yml │ ├── dependabot-approve-merge.yml │ ├── lint-eslint.yml │ ├── lint-info-xml.yml │ ├── lint-php-cs.yml │ ├── lint-php.yml │ ├── lint-stylelint.yml │ ├── node.yml │ ├── phpunit-mysql.yml │ ├── phpunit-sqlite.yml │ ├── pr-feedback.yml │ ├── psalm-matrix.yml │ ├── reuse.yml │ ├── update-nextcloud-ocp-approve-merge.yml │ └── update-nextcloud-ocp-matrix.yml ├── .gitignore ├── .l10nignore ├── .php-cs-fixer.dist.php ├── .tx └── config ├── AUTHORS.md ├── CHANGELOG.md ├── LICENSES ├── AGPL-3.0-or-later.txt ├── CC0-1.0.txt └── MIT.txt ├── Makefile ├── README.md ├── REUSE.toml ├── appinfo └── info.xml ├── babel.config.js ├── composer.json ├── composer.lock ├── cypress.config.js ├── cypress ├── e2e │ └── settings.spec.js ├── runLocal.sh ├── support │ ├── commands.js │ └── e2e.js └── utils │ └── index.js ├── docs ├── screenshot.png └── screenshot.png.license ├── l10n ├── .gitkeep ├── ar.js ├── ar.json ├── ast.js ├── ast.json ├── bg.js ├── bg.json ├── br.js ├── br.json ├── ca.js ├── ca.json ├── cs.js ├── cs.json ├── da.js ├── da.json ├── de.js ├── de.json ├── de_DE.js ├── de_DE.json ├── el.js ├── el.json ├── en_GB.js ├── en_GB.json ├── eo.js ├── eo.json ├── es.js ├── es.json ├── es_AR.js ├── es_AR.json ├── es_EC.js ├── es_EC.json ├── es_MX.js ├── es_MX.json ├── et_EE.js ├── et_EE.json ├── eu.js ├── eu.json ├── fa.js ├── fa.json ├── fi.js ├── fi.json ├── fr.js ├── fr.json ├── ga.js ├── ga.json ├── gl.js ├── gl.json ├── he.js ├── he.json ├── hr.js ├── hr.json ├── hu.js ├── hu.json ├── is.js ├── is.json ├── it.js ├── it.json ├── ja.js ├── ja.json ├── ka.js ├── ka.json ├── kab.js ├── kab.json ├── ko.js ├── ko.json ├── lt_LT.js ├── lt_LT.json ├── mk.js ├── mk.json ├── nb.js ├── nb.json ├── nl.js ├── nl.json ├── oc.js ├── oc.json ├── pl.js ├── pl.json ├── pt_BR.js ├── pt_BR.json ├── pt_PT.js ├── pt_PT.json ├── ro.js ├── ro.json ├── ru.js ├── ru.json ├── sc.js ├── sc.json ├── sk.js ├── sk.json ├── sl.js ├── sl.json ├── sr.js ├── sr.json ├── sv.js ├── sv.json ├── th.js ├── th.json ├── tr.js ├── tr.json ├── ug.js ├── ug.json ├── uk.js ├── uk.json ├── vi.js ├── vi.json ├── zh_CN.js ├── zh_CN.json ├── zh_HK.js ├── zh_HK.json ├── zh_TW.js └── zh_TW.json ├── lib ├── AppInfo │ └── Application.php ├── BackgroundJob │ └── ExpireUsers.php ├── Service │ └── RetentionService.php ├── Settings │ └── Admin.php └── SkipUserException.php ├── package-lock.json ├── package.json ├── psalm.xml ├── src ├── main.js └── views │ └── AdminSettings.vue ├── stylelint.config.js ├── templates └── settings │ └── admin.php ├── tests ├── Service │ └── RetentionServiceTest.php ├── bootstrap.php ├── phpunit.xml ├── psalm-baseline.xml └── stub.phpstub ├── vendor-bin ├── csfixer │ ├── composer.json │ └── composer.lock ├── phpunit │ ├── composer.json │ └── composer.lock └── psalm │ ├── composer.json │ └── composer.lock └── webpack.js /.eslintrc.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | module.exports = { 6 | extends: [ 7 | '@nextcloud', 8 | 'plugin:cypress/recommended', 9 | ], 10 | } 11 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | /js/*.js binary 4 | /js/*.js.map binary 5 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | version: 2 4 | updates: 5 | - package-ecosystem: composer 6 | directory: "/" 7 | schedule: 8 | interval: weekly 9 | day: saturday 10 | time: "03:00" 11 | timezone: Europe/Paris 12 | open-pull-requests-limit: 10 13 | labels: 14 | - 3. to review 15 | - dependencies 16 | - package-ecosystem: npm 17 | directory: "/" 18 | schedule: 19 | interval: weekly 20 | day: saturday 21 | time: "03:00" 22 | timezone: Europe/Paris 23 | open-pull-requests-limit: 10 24 | # Disable automatic rebasing because without a build CI will likely fail anyway 25 | rebase-strategy: "disabled" 26 | labels: 27 | - 3. to review 28 | - dependencies 29 | -------------------------------------------------------------------------------- /.github/workflows/dependabot-approve-merge.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Dependabot 10 | 11 | on: 12 | pull_request_target: # zizmor: ignore[dangerous-triggers] 13 | branches: 14 | - main 15 | - master 16 | - stable* 17 | 18 | permissions: 19 | contents: read 20 | 21 | concurrency: 22 | group: dependabot-approve-merge-${{ github.head_ref || github.run_id }} 23 | cancel-in-progress: true 24 | 25 | jobs: 26 | auto-approve-merge: 27 | if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'renovate[bot]' 28 | runs-on: ubuntu-latest-low 29 | permissions: 30 | # for hmarr/auto-approve-action to approve PRs 31 | pull-requests: write 32 | 33 | steps: 34 | - name: Disabled on forks 35 | if: ${{ github.event.pull_request.head.repo.full_name != github.repository }} 36 | run: | 37 | echo 'Can not approve PRs from forks' 38 | exit 1 39 | 40 | # GitHub actions bot approve 41 | - uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2 42 | with: 43 | github-token: ${{ secrets.GITHUB_TOKEN }} 44 | 45 | # Nextcloud bot approve and merge request 46 | - uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2 47 | with: 48 | target: minor 49 | github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }} 50 | -------------------------------------------------------------------------------- /.github/workflows/lint-eslint.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Lint eslint 10 | 11 | on: pull_request 12 | 13 | permissions: 14 | contents: read 15 | 16 | concurrency: 17 | group: lint-eslint-${{ github.head_ref || github.run_id }} 18 | cancel-in-progress: true 19 | 20 | jobs: 21 | changes: 22 | runs-on: ubuntu-latest-low 23 | permissions: 24 | contents: read 25 | pull-requests: read 26 | 27 | outputs: 28 | src: ${{ steps.changes.outputs.src}} 29 | 30 | steps: 31 | - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 32 | id: changes 33 | continue-on-error: true 34 | with: 35 | filters: | 36 | src: 37 | - '.github/workflows/**' 38 | - 'src/**' 39 | - 'appinfo/info.xml' 40 | - 'package.json' 41 | - 'package-lock.json' 42 | - 'tsconfig.json' 43 | - '.eslintrc.*' 44 | - '.eslintignore' 45 | - '**.js' 46 | - '**.ts' 47 | - '**.vue' 48 | 49 | lint: 50 | runs-on: ubuntu-latest 51 | 52 | needs: changes 53 | if: needs.changes.outputs.src != 'false' 54 | 55 | name: NPM lint 56 | 57 | steps: 58 | - name: Checkout 59 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 60 | with: 61 | persist-credentials: false 62 | 63 | - name: Read package.json node and npm engines version 64 | uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 65 | id: versions 66 | with: 67 | fallbackNode: '^20' 68 | fallbackNpm: '^10' 69 | 70 | - name: Set up node ${{ steps.versions.outputs.nodeVersion }} 71 | uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 72 | with: 73 | node-version: ${{ steps.versions.outputs.nodeVersion }} 74 | 75 | - name: Set up npm ${{ steps.versions.outputs.npmVersion }} 76 | run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' 77 | 78 | - name: Install dependencies 79 | env: 80 | CYPRESS_INSTALL_BINARY: 0 81 | PUPPETEER_SKIP_DOWNLOAD: true 82 | run: npm ci 83 | 84 | - name: Lint 85 | run: npm run lint 86 | 87 | summary: 88 | permissions: 89 | contents: none 90 | runs-on: ubuntu-latest-low 91 | needs: [changes, lint] 92 | 93 | if: always() 94 | 95 | # This is the summary, we just avoid to rename it so that branch protection rules still match 96 | name: eslint 97 | 98 | steps: 99 | - name: Summary status 100 | run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi 101 | -------------------------------------------------------------------------------- /.github/workflows/lint-info-xml.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Lint info.xml 10 | 11 | on: pull_request 12 | 13 | permissions: 14 | contents: read 15 | 16 | concurrency: 17 | group: lint-info-xml-${{ github.head_ref || github.run_id }} 18 | cancel-in-progress: true 19 | 20 | jobs: 21 | xml-linters: 22 | runs-on: ubuntu-latest-low 23 | 24 | name: info.xml lint 25 | steps: 26 | - name: Checkout 27 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 28 | with: 29 | persist-credentials: false 30 | 31 | - name: Download schema 32 | run: wget https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/api/v1/release/info.xsd 33 | 34 | - name: Lint info.xml 35 | uses: ChristophWurst/xmllint-action@36f2a302f84f8c83fceea0b9c59e1eb4a616d3c1 # v1.2 36 | with: 37 | xml-file: ./appinfo/info.xml 38 | xml-schema-file: ./info.xsd 39 | -------------------------------------------------------------------------------- /.github/workflows/lint-php-cs.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Lint php-cs 10 | 11 | on: pull_request 12 | 13 | permissions: 14 | contents: read 15 | 16 | concurrency: 17 | group: lint-php-cs-${{ github.head_ref || github.run_id }} 18 | cancel-in-progress: true 19 | 20 | jobs: 21 | lint: 22 | runs-on: ubuntu-latest 23 | 24 | name: php-cs 25 | 26 | steps: 27 | - name: Checkout 28 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 29 | with: 30 | persist-credentials: false 31 | 32 | - name: Get php version 33 | id: versions 34 | uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 35 | 36 | - name: Set up php${{ steps.versions.outputs.php-min }} 37 | uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0 38 | with: 39 | php-version: ${{ steps.versions.outputs.php-min }} 40 | extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite 41 | coverage: none 42 | ini-file: development 43 | env: 44 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 45 | 46 | - name: Install dependencies 47 | run: | 48 | composer remove nextcloud/ocp --dev --no-scripts 49 | composer i 50 | 51 | - name: Lint 52 | run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 ) 53 | -------------------------------------------------------------------------------- /.github/workflows/lint-php.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Lint php 10 | 11 | on: pull_request 12 | 13 | permissions: 14 | contents: read 15 | 16 | concurrency: 17 | group: lint-php-${{ github.head_ref || github.run_id }} 18 | cancel-in-progress: true 19 | 20 | jobs: 21 | matrix: 22 | runs-on: ubuntu-latest-low 23 | outputs: 24 | php-versions: ${{ steps.versions.outputs.php-versions }} 25 | steps: 26 | - name: Checkout app 27 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 28 | with: 29 | persist-credentials: false 30 | 31 | - name: Get version matrix 32 | id: versions 33 | uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.0.0 34 | 35 | php-lint: 36 | runs-on: ubuntu-latest 37 | needs: matrix 38 | strategy: 39 | matrix: 40 | php-versions: ${{fromJson(needs.matrix.outputs.php-versions)}} 41 | 42 | name: php-lint 43 | 44 | steps: 45 | - name: Checkout 46 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 47 | with: 48 | persist-credentials: false 49 | 50 | - name: Set up php ${{ matrix.php-versions }} 51 | uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0 52 | with: 53 | php-version: ${{ matrix.php-versions }} 54 | extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite 55 | coverage: none 56 | ini-file: development 57 | env: 58 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 59 | 60 | - name: Lint 61 | run: composer run lint 62 | 63 | summary: 64 | permissions: 65 | contents: none 66 | runs-on: ubuntu-latest-low 67 | needs: php-lint 68 | 69 | if: always() 70 | 71 | name: php-lint-summary 72 | 73 | steps: 74 | - name: Summary status 75 | run: if ${{ needs.php-lint.result != 'success' && needs.php-lint.result != 'skipped' }}; then exit 1; fi 76 | -------------------------------------------------------------------------------- /.github/workflows/lint-stylelint.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Lint stylelint 10 | 11 | on: pull_request 12 | 13 | permissions: 14 | contents: read 15 | 16 | concurrency: 17 | group: lint-stylelint-${{ github.head_ref || github.run_id }} 18 | cancel-in-progress: true 19 | 20 | jobs: 21 | lint: 22 | runs-on: ubuntu-latest 23 | 24 | name: stylelint 25 | 26 | steps: 27 | - name: Checkout 28 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 29 | with: 30 | persist-credentials: false 31 | 32 | - name: Read package.json node and npm engines version 33 | uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 34 | id: versions 35 | with: 36 | fallbackNode: '^20' 37 | fallbackNpm: '^10' 38 | 39 | - name: Set up node ${{ steps.versions.outputs.nodeVersion }} 40 | uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 41 | with: 42 | node-version: ${{ steps.versions.outputs.nodeVersion }} 43 | 44 | - name: Set up npm ${{ steps.versions.outputs.npmVersion }} 45 | run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' 46 | 47 | - name: Install dependencies 48 | env: 49 | CYPRESS_INSTALL_BINARY: 0 50 | run: npm ci 51 | 52 | - name: Lint 53 | run: npm run stylelint 54 | -------------------------------------------------------------------------------- /.github/workflows/node.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Node 10 | 11 | on: pull_request 12 | 13 | permissions: 14 | contents: read 15 | 16 | concurrency: 17 | group: node-${{ github.head_ref || github.run_id }} 18 | cancel-in-progress: true 19 | 20 | jobs: 21 | changes: 22 | runs-on: ubuntu-latest-low 23 | permissions: 24 | contents: read 25 | pull-requests: read 26 | 27 | outputs: 28 | src: ${{ steps.changes.outputs.src}} 29 | 30 | steps: 31 | - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 32 | id: changes 33 | continue-on-error: true 34 | with: 35 | filters: | 36 | src: 37 | - '.github/workflows/**' 38 | - 'src/**' 39 | - 'appinfo/info.xml' 40 | - 'package.json' 41 | - 'package-lock.json' 42 | - 'tsconfig.json' 43 | - '**.js' 44 | - '**.ts' 45 | - '**.vue' 46 | 47 | build: 48 | runs-on: ubuntu-latest 49 | 50 | needs: changes 51 | if: needs.changes.outputs.src != 'false' 52 | 53 | name: NPM build 54 | steps: 55 | - name: Checkout 56 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 57 | with: 58 | persist-credentials: false 59 | 60 | - name: Read package.json node and npm engines version 61 | uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 62 | id: versions 63 | with: 64 | fallbackNode: '^20' 65 | fallbackNpm: '^10' 66 | 67 | - name: Set up node ${{ steps.versions.outputs.nodeVersion }} 68 | uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 69 | with: 70 | node-version: ${{ steps.versions.outputs.nodeVersion }} 71 | 72 | - name: Set up npm ${{ steps.versions.outputs.npmVersion }} 73 | run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' 74 | 75 | - name: Install dependencies & build 76 | env: 77 | CYPRESS_INSTALL_BINARY: 0 78 | PUPPETEER_SKIP_DOWNLOAD: true 79 | run: | 80 | npm ci 81 | npm run build --if-present 82 | 83 | - name: Check webpack build changes 84 | run: | 85 | bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets, see the section \"Show changes on failure\" for details' && exit 1)" 86 | 87 | - name: Show changes on failure 88 | if: failure() 89 | run: | 90 | git status 91 | git --no-pager diff 92 | exit 1 # make it red to grab attention 93 | 94 | summary: 95 | permissions: 96 | contents: none 97 | runs-on: ubuntu-latest-low 98 | needs: [changes, build] 99 | 100 | if: always() 101 | 102 | # This is the summary, we just avoid to rename it so that branch protection rules still match 103 | name: node 104 | 105 | steps: 106 | - name: Summary status 107 | run: if ${{ needs.changes.outputs.src != 'false' && needs.build.result != 'success' }}; then exit 1; fi 108 | -------------------------------------------------------------------------------- /.github/workflows/pr-feedback.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | 6 | # SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-FileCopyrightText: 2023 Marcel Klehr 8 | # SPDX-FileCopyrightText: 2023 Joas Schilling <213943+nickvergessen@users.noreply.github.com> 9 | # SPDX-FileCopyrightText: 2023 Daniel Kesselberg 10 | # SPDX-FileCopyrightText: 2023 Florian Steffens 11 | # SPDX-License-Identifier: MIT 12 | 13 | name: 'Ask for feedback on PRs' 14 | on: 15 | schedule: 16 | - cron: '30 1 * * *' 17 | 18 | permissions: 19 | contents: read 20 | pull-requests: write 21 | 22 | jobs: 23 | pr-feedback: 24 | if: ${{ github.repository_owner == 'nextcloud' }} 25 | runs-on: ubuntu-latest 26 | steps: 27 | - name: The get-github-handles-from-website action 28 | uses: marcelklehr/get-github-handles-from-website-action@06b2239db0a48fe1484ba0bfd966a3ab81a08308 # v1.0.1 29 | id: scrape 30 | with: 31 | website: 'https://nextcloud.com/team/' 32 | 33 | - name: Get blocklist 34 | id: blocklist 35 | run: | 36 | blocklist=$(curl https://raw.githubusercontent.com/nextcloud/.github/master/non-community-usernames.txt | paste -s -d, -) 37 | echo "blocklist=$blocklist" >> "$GITHUB_OUTPUT" 38 | 39 | - uses: nextcloud/pr-feedback-action@1883b38a033fb16f576875e0cf45f98b857655c4 # main 40 | with: 41 | feedback-message: | 42 | Hello there, 43 | Thank you so much for taking the time and effort to create a pull request to our Nextcloud project. 44 | 45 | We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process. 46 | 47 | Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6 48 | 49 | Thank you for contributing to Nextcloud and we hope to hear from you soon! 50 | 51 | (If you believe you should not receive this message, you can add yourself to the [blocklist](https://github.com/nextcloud/.github/blob/master/non-community-usernames.txt).) 52 | days-before-feedback: 14 53 | start-date: '2024-04-30' 54 | exempt-authors: '${{ steps.blocklist.outputs.blocklist }},${{ steps.scrape.outputs.users }}' 55 | exempt-bots: true 56 | -------------------------------------------------------------------------------- /.github/workflows/psalm-matrix.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Static analysis 10 | 11 | on: pull_request 12 | 13 | concurrency: 14 | group: psalm-${{ github.head_ref || github.run_id }} 15 | cancel-in-progress: true 16 | 17 | permissions: 18 | contents: read 19 | 20 | jobs: 21 | matrix: 22 | runs-on: ubuntu-latest-low 23 | outputs: 24 | ocp-matrix: ${{ steps.versions.outputs.ocp-matrix }} 25 | steps: 26 | - name: Checkout app 27 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 28 | with: 29 | persist-credentials: false 30 | 31 | - name: Get version matrix 32 | id: versions 33 | uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 34 | 35 | - name: Check enforcement of minimum PHP version ${{ steps.versions.outputs.php-min }} in psalm.xml 36 | run: grep 'phpVersion="${{ steps.versions.outputs.php-min }}' psalm.xml 37 | 38 | static-analysis: 39 | runs-on: ubuntu-latest 40 | needs: matrix 41 | strategy: 42 | # do not stop on another job's failure 43 | fail-fast: false 44 | matrix: ${{ fromJson(needs.matrix.outputs.ocp-matrix) }} 45 | 46 | name: static-psalm-analysis ${{ matrix.ocp-version }} 47 | steps: 48 | - name: Checkout 49 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 50 | with: 51 | persist-credentials: false 52 | 53 | - name: Set up php${{ matrix.php-min }} 54 | uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0 55 | with: 56 | php-version: ${{ matrix.php-min }} 57 | extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite 58 | coverage: none 59 | ini-file: development 60 | # Temporary workaround for missing pcntl_* in PHP 8.3 61 | ini-values: disable_functions= 62 | env: 63 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 64 | 65 | - name: Install dependencies 66 | run: | 67 | composer remove nextcloud/ocp --dev --no-scripts 68 | composer i 69 | 70 | 71 | - name: Install dependencies # zizmor: ignore[template-injection] 72 | run: composer require --dev 'nextcloud/ocp:${{ matrix.ocp-version }}' --ignore-platform-reqs --with-dependencies 73 | 74 | - name: Run coding standards check 75 | run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github 76 | 77 | summary: 78 | runs-on: ubuntu-latest-low 79 | needs: static-analysis 80 | 81 | if: always() 82 | 83 | name: static-psalm-analysis-summary 84 | 85 | steps: 86 | - name: Summary status 87 | run: if ${{ needs.static-analysis.result != 'success' }}; then exit 1; fi 88 | -------------------------------------------------------------------------------- /.github/workflows/reuse.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | 6 | # SPDX-FileCopyrightText: 2022 Free Software Foundation Europe e.V. 7 | # 8 | # SPDX-License-Identifier: CC0-1.0 9 | 10 | name: REUSE Compliance Check 11 | 12 | on: [pull_request] 13 | 14 | permissions: 15 | contents: read 16 | 17 | jobs: 18 | reuse-compliance-check: 19 | runs-on: ubuntu-latest-low 20 | steps: 21 | - name: Checkout 22 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 23 | with: 24 | persist-credentials: false 25 | 26 | - name: REUSE Compliance Check 27 | uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0 28 | -------------------------------------------------------------------------------- /.github/workflows/update-nextcloud-ocp-approve-merge.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Auto approve nextcloud/ocp 10 | 11 | on: 12 | pull_request_target: # zizmor: ignore[dangerous-triggers] 13 | branches: 14 | - main 15 | - master 16 | - stable* 17 | 18 | permissions: 19 | contents: read 20 | 21 | concurrency: 22 | group: update-nextcloud-ocp-approve-merge-${{ github.head_ref || github.run_id }} 23 | cancel-in-progress: true 24 | 25 | jobs: 26 | auto-approve-merge: 27 | if: github.actor == 'nextcloud-command' 28 | runs-on: ubuntu-latest-low 29 | permissions: 30 | # for hmarr/auto-approve-action to approve PRs 31 | pull-requests: write 32 | # for alexwilson/enable-github-automerge-action to approve PRs 33 | contents: write 34 | 35 | steps: 36 | - name: Disabled on forks 37 | if: ${{ github.event.pull_request.head.repo.full_name != github.repository }} 38 | run: | 39 | echo 'Can not approve PRs from forks' 40 | exit 1 41 | 42 | - uses: mdecoleman/pr-branch-name@55795d86b4566d300d237883103f052125cc7508 # v3.0.0 43 | id: branchname 44 | with: 45 | repo-token: ${{ secrets.GITHUB_TOKEN }} 46 | 47 | # GitHub actions bot approve 48 | - uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2 49 | if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-nextcloud-ocp') 50 | with: 51 | github-token: ${{ secrets.GITHUB_TOKEN }} 52 | 53 | # Enable GitHub auto merge 54 | - name: Auto merge 55 | uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # v2.0.0 56 | if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-nextcloud-ocp') 57 | with: 58 | github-token: ${{ secrets.GITHUB_TOKEN }} 59 | -------------------------------------------------------------------------------- /.github/workflows/update-nextcloud-ocp-matrix.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Update nextcloud/ocp 10 | 11 | on: 12 | workflow_dispatch: 13 | schedule: 14 | - cron: '5 2 * * 0' 15 | 16 | permissions: 17 | contents: read 18 | 19 | jobs: 20 | update-nextcloud-ocp: 21 | runs-on: ubuntu-latest 22 | 23 | strategy: 24 | fail-fast: false 25 | matrix: 26 | branches: ['main'] 27 | target: ['stable30'] 28 | 29 | name: update-nextcloud-ocp-${{ matrix.branches }} 30 | 31 | steps: 32 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 33 | with: 34 | persist-credentials: false 35 | ref: ${{ matrix.branches }} 36 | submodules: true 37 | 38 | - name: Set up php8.2 39 | uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0 40 | with: 41 | php-version: 8.2 42 | # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation 43 | extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite 44 | coverage: none 45 | env: 46 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 47 | 48 | - name: Read codeowners 49 | id: codeowners 50 | run: | 51 | grep '/appinfo/info.xml' .github/CODEOWNERS | cut -f 2- -d ' ' | xargs | awk '{ print "codeowners="$0 }' >> $GITHUB_OUTPUT 52 | continue-on-error: true 53 | 54 | - name: Composer install 55 | run: composer install 56 | 57 | - name: Composer update nextcloud/ocp 58 | id: update_branch 59 | run: composer require --dev nextcloud/ocp:dev-${{ matrix.target }} 60 | 61 | - name: Raise on issue on failure 62 | uses: dacbd/create-issue-action@cdb57ab6ff8862aa09fee2be6ba77a59581921c2 # v2.0.0 63 | if: ${{ failure() && steps.update_branch.conclusion == 'failure' }} 64 | with: 65 | token: ${{ secrets.GITHUB_TOKEN }} 66 | title: 'Failed to update nextcloud/ocp package' 67 | body: 'Please check the output of the GitHub action and manually resolve the issues
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
${{ steps.codeowners.outputs.codeowners }}' 68 | 69 | - name: Reset checkout 3rdparty 70 | run: | 71 | git clean -f 3rdparty 72 | git checkout 3rdparty 73 | continue-on-error: true 74 | 75 | - name: Reset checkout vendor 76 | run: | 77 | git clean -f vendor 78 | git checkout vendor 79 | continue-on-error: true 80 | 81 | - name: Reset checkout vendor-bin 82 | run: | 83 | git clean -f vendor-bin 84 | git checkout vendor-bin 85 | continue-on-error: true 86 | 87 | - name: Create Pull Request 88 | uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 89 | with: 90 | token: ${{ secrets.COMMAND_BOT_PAT }} 91 | commit-message: 'chore(dev-deps): Bump nextcloud/ocp package' 92 | committer: GitHub 93 | author: nextcloud-command 94 | signoff: true 95 | branch: 'automated/noid/${{ matrix.branches }}-update-nextcloud-ocp' 96 | title: '[${{ matrix.branches }}] Update nextcloud/ocp dependency' 97 | body: | 98 | Auto-generated update of [nextcloud/ocp](https://github.com/nextcloud-deps/ocp/) dependency 99 | labels: | 100 | dependencies 101 | 3. to review 102 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | /.php-cs-fixer.cache 4 | /build 5 | /cypress/screenshots/ 6 | /cypress/videos/ 7 | /js/ 8 | /node_modules 9 | /tests/.phpunit.result.cache 10 | /vendor 11 | /vendor-bin/*/vendor 12 | -------------------------------------------------------------------------------- /.l10nignore: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | js/ 4 | -------------------------------------------------------------------------------- /.php-cs-fixer.dist.php: -------------------------------------------------------------------------------- 1 | getFinder() 16 | ->ignoreVCSIgnored(true) 17 | ->notPath('build') 18 | ->notPath('l10n') 19 | ->notPath('src') 20 | ->notPath('vendor') 21 | ->in(__DIR__); 22 | return $config; 23 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | lang_map = bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja 4 | 5 | [o:nextcloud:p:nextcloud:r:user_retention] 6 | file_filter = translationfiles//user_retention.po 7 | source_file = translationfiles/templates/user_retention.pot 8 | source_lang = en 9 | type = PO 10 | 11 | -------------------------------------------------------------------------------- /AUTHORS.md: -------------------------------------------------------------------------------- 1 | 5 | # Authors 6 | 7 | - Andy Scherzinger 8 | - Anupam Kumar 9 | - Arthur Schiwon 10 | - bitstacker <840908+bitstacker@users.noreply.github.com> 11 | - Björn Schießle 12 | - Christoph Wurst 13 | - Joas Schilling 14 | - John Molakvoæ 15 | - Jonas 16 | - Morris Jobke 17 | - rakekniven <2069590+rakekniven@users.noreply.github.com> 18 | - Sascha Wiswedel 19 | - Vincent Petry 20 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | 5 | # Changelog 6 | All notable changes to this project will be documented in this file. 7 | 8 | ## 1.14.0 – 2025-01-10 9 | ### Changed 10 | - ✨ Support Nextcloud 31 and require Nextcloud 30 11 | - 🗣️ Update translations 12 | - 🔌 Upgrade dependencies 13 | 14 | ## 1.13.0 – 2024-07-30 15 | ### Changed 16 | - ✨ Support Nextcloud 30 and require Nextcloud 28. 17 | - 🗣️ Update translations. 18 | - 🔌 Upgrade dependencies. 19 | 20 | ## 1.12.1 – 2024-05-21 21 | ### Fixed 22 | - AdminSettings: prevent checkbox double click 23 | 24 | ## 1.12.0 – 2024-04-16 25 | ### Changed 26 | - Add compatibility with Nextcloud 29 27 | - Drop compatibility with Nextcloud 26 28 | 29 | ## 1.11.0 – 2023-11-07 30 | ### Changed 31 | - Add compatibility with Nextcloud 28 32 | - Drop compatibility with Nextcloud 25 33 | 34 | ## 1.10.0 – 2023-05-03 35 | ### Changed 36 | - Allow to disable users instead of deleting them (#31) 37 | - Add UI setting for `keep_users_without_login` (#118) 38 | - Compatibility with Nextcloud 27 39 | 40 | ### Fixed 41 | - Prevent "must be of type array, int given" for max() 42 | 43 | ## 1.9.0 – 2023-02-17 44 | ### Changed 45 | - Compatibility with Nextcloud 26 46 | 47 | ### Fixed 48 | - Prevent "must be of type array, int given" for max() 49 | 50 | ## 1.8.1 – 2022-11-18 51 | ### Added 52 | - Allow to send an email reminder before deleting users 53 | 54 | ## 1.7.1 – 2022-11-18 55 | ### Added 56 | - Allow to send an email reminder before deleting users 57 | 58 | ## 1.8.0 – 2022-10-24 59 | ### Fixed 60 | - Require Nextcloud 25 61 | 62 | ## 1.7.0 – 2022-03-31 63 | ### Fixed 64 | - Compatibility with Nextcloud 24 65 | -------------------------------------------------------------------------------- /LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | app_name=user_retention 4 | 5 | project_dir=$(CURDIR)/../$(app_name) 6 | build_dir=$(CURDIR)/build/artifacts 7 | appstore_dir=$(build_dir)/appstore 8 | source_dir=$(build_dir)/source 9 | sign_dir=$(build_dir)/sign 10 | package_name=$(app_name) 11 | cert_dir=$(HOME)/.nextcloud/certificates 12 | version+=main 13 | 14 | all: dev-setup build-js-production 15 | 16 | dev-setup: clean clean-dev npm-init 17 | 18 | release: appstore create-tag 19 | 20 | create-tag: 21 | git tag -a v$(version) -m "Tagging the $(version) release." 22 | git push origin v$(version) 23 | 24 | npm-init: 25 | npm install 26 | 27 | npm-update: 28 | npm update 29 | 30 | dependabot: dev-setup npm-update build-js-production 31 | 32 | build-js: 33 | npm run dev 34 | 35 | build-js-production: 36 | npm run build 37 | 38 | lint: 39 | npm run lint 40 | 41 | lint-fix: 42 | npm run lint:fix 43 | 44 | watch-js: 45 | npm run watch 46 | 47 | clean: 48 | rm -f js/user_retention.js 49 | rm -f js/user_retention.js.map 50 | rm -rf $(build_dir) 51 | 52 | clean-dev: 53 | rm -rf node_modules 54 | 55 | appstore: 56 | mkdir -p $(sign_dir) 57 | rsync -a \ 58 | --exclude=/.git \ 59 | --exclude=/.github \ 60 | --exclude=/.tx \ 61 | --exclude=/build \ 62 | --exclude=/cypress \ 63 | --exclude=/docs \ 64 | --exclude=/node_modules \ 65 | --exclude=/src \ 66 | --exclude=/tests \ 67 | --exclude=/vendor \ 68 | --exclude=/vendor-bin \ 69 | --exclude=/.eslintrc.js \ 70 | --exclude=/.gitattributes \ 71 | --exclude=/.gitignore \ 72 | --exclude=/.l10nignore \ 73 | --exclude=/.php-cs-fixer.cache \ 74 | --exclude=/.php-cs-fixer.dist.php \ 75 | --exclude=/babel.config.js \ 76 | --exclude=/cypress.config.js \ 77 | --exclude=/Makefile \ 78 | --exclude=/npm-debug.log \ 79 | --exclude=/psalm.xml \ 80 | --exclude=/README.md \ 81 | --exclude=/stylelint.config.js \ 82 | --exclude=/webpack.js \ 83 | $(project_dir)/ $(sign_dir)/$(app_name) 84 | @if [ -f $(cert_dir)/$(app_name).key ]; then \ 85 | echo "Signing app files…"; \ 86 | php ../../occ integrity:sign-app \ 87 | --privateKey=$(cert_dir)/$(app_name).key\ 88 | --certificate=$(cert_dir)/$(app_name).crt\ 89 | --path=$(sign_dir)/$(app_name); \ 90 | fi 91 | tar -czf $(build_dir)/$(app_name).tar.gz \ 92 | -C $(sign_dir) $(app_name) 93 | @if [ -f $(cert_dir)/$(app_name).key ]; then \ 94 | echo "Signing package…"; \ 95 | openssl dgst -sha512 -sign $(cert_dir)/$(app_name).key $(build_dir)/$(app_name).tar.gz | openssl base64; \ 96 | fi 97 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 5 | # 👤🗑 Account retention (formerly User retention) 6 | 7 | [![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/user_retention)](https://api.reuse.software/info/github.com/nextcloud/user_retention) 8 | 9 | Accounts are disabled or deleted when they did not log in within the given number of days. In case of deletion, this will also delete all files and other data associated with the account. 10 | 11 | * 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests) 12 | * ⛔ Exclude accounts based on group memberships (default: admin group) 13 | * 🔑 Exclude accounts that never logged in (default: enabled) 14 | 15 | ![Screenshot of the admin settings](docs/screenshot.png) 16 | 17 | ## 🔐 Accounts that never logged in 18 | 19 | By default, accounts that have never logged in at all, will be spared from removal. 20 | 21 | In this case the number of days will start counting from the day on which the account has been seen for the first time by the app (first run of the background job after the account was created). 22 | 23 | ### Example 24 | 25 | Retention set to 30 days: 26 | 27 | | Account created | Account logged in | `keep_users_without_login` | Cleaned up after | 28 | |-----------------|-------------------|----------------------------|------------------| 29 | | 7th June | 14th June | yes/default | 14th July | 30 | | 7th June | 14th June | no | 14th July | 31 | | 7th June | - | yes/default | - | 32 | | 7th June | - | no | 7th July | 33 | 34 | ## 📬 Reminders 35 | 36 | It is also possible to send an email reminder to accounts (when an email is configured). 37 | To send a reminder **14 days after** the last activity: 38 | 39 | ```shell 40 | occ config:app:set user_retention reminder_days --value='14' 41 | ``` 42 | 43 | You can also provide multiple reminder days as a comma separated list: 44 | ```shell 45 | occ config:app:set user_retention reminder_days --value='14,21,28' 46 | ``` 47 | 48 | *Note:* There is no validation of the reminder days against the retention days. 49 | -------------------------------------------------------------------------------- /REUSE.toml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | version = 1 4 | SPDX-PackageName = "user_retention" 5 | SPDX-PackageSupplier = "2024 Nextcloud GmbH and Nextcloud contributors" 6 | SPDX-PackageDownloadLocation = "https://github.com/nextcloud/user_retention" 7 | 8 | [[annotations]] 9 | path = [".tx/config", "package.json", "package-lock.json"] 10 | precedence = "aggregate" 11 | SPDX-FileCopyrightText = "2019 Nextcloud GmbH and Nextcloud contributors" 12 | SPDX-License-Identifier = "AGPL-3.0-or-later" 13 | 14 | [[annotations]] 15 | path = ["composer.json", "composer.lock", "vendor-bin/**/composer.json", "vendor-bin/**/composer.lock"] 16 | precedence = "aggregate" 17 | SPDX-FileCopyrightText = "2020 Nextcloud GmbH and Nextcloud contributors" 18 | SPDX-License-Identifier = "AGPL-3.0-or-later" 19 | 20 | [[annotations]] 21 | path = ["psalm.xml", "tests/psalm-baseline.xml"] 22 | precedence = "aggregate" 23 | SPDX-FileCopyrightText = "2023 Nextcloud GmbH and Nextcloud contributors" 24 | SPDX-License-Identifier = "AGPL-3.0-or-later" 25 | 26 | [[annotations]] 27 | path = ["l10n/**.js", "l10n/**.json"] 28 | precedence = "aggregate" 29 | SPDX-FileCopyrightText = "2019 Nextcloud translators " 30 | SPDX-License-Identifier = "AGPL-3.0-or-later" 31 | -------------------------------------------------------------------------------- /appinfo/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | user_retention 9 | Account retention (formerly User retention) 10 | Deletes accounts that did not login in the last days. 11 | 17 | 1.15.0-dev.0 18 | agpl 19 | Joas Schilling 20 | UserRetention 21 | 22 | 23 | 24 | 25 | 26 | organization 27 | https://github.com/nextcloud/user_retention 28 | https://github.com/nextcloud/user_retention/issues 29 | https://github.com/nextcloud/user_retention 30 | 31 | https://raw.githubusercontent.com/nextcloud/user_retention/main/docs/screenshot.png 32 | 33 | 34 | 35 | 36 | 37 | 38 | OCA\UserRetention\BackgroundJob\ExpireUsers 39 | 40 | 41 | 42 | OCA\UserRetention\Settings\Admin 43 | 44 | 45 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | const babelConfig = require('@nextcloud/babel-config') 6 | 7 | module.exports = babelConfig 8 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nextcloud/user_retention", 3 | "description": "user_retention", 4 | "license": "AGPL", 5 | "config": { 6 | "allow-plugins": { 7 | "bamarni/composer-bin-plugin": true 8 | }, 9 | "classmap-authoritative": true, 10 | "optimize-autoloader": true, 11 | "platform": { 12 | "php": "8.1" 13 | }, 14 | "sort-packages": true 15 | }, 16 | "require-dev": { 17 | "nextcloud/ocp": "dev-stable30" 18 | }, 19 | "scripts": { 20 | "cs:check": "php-cs-fixer fix --dry-run --diff", 21 | "cs:fix": "php-cs-fixer fix", 22 | "lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l", 23 | "psalm": "psalm --threads=1", 24 | "psalm:update-baseline": "psalm --threads=1 --update-baseline --set-baseline=tests/psalm-baseline.xml", 25 | "test:unit": "vendor/bin/phpunit -c tests/phpunit.xml", 26 | "post-install-cmd": [ 27 | "@composer bin all install --ansi", 28 | "composer dump-autoload" 29 | ] 30 | }, 31 | "require": { 32 | "bamarni/composer-bin-plugin": "^1.8" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /cypress.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | const { defineConfig } = require('cypress') 6 | 7 | module.exports = defineConfig({ 8 | projectId: 'nwif6t', 9 | 10 | viewportWidth: 1280, 11 | viewportHeight: 900, 12 | e2e: { 13 | setupNodeEvents(on, config) { 14 | const browserify = require('@cypress/browserify-preprocessor') 15 | on('file:preprocessor', browserify()) 16 | }, 17 | 18 | baseUrl: 'http://localhost:8081/index.php/', 19 | specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}', 20 | }, 21 | retries: { 22 | runMode: 2, 23 | // do not retry in `cypress open` 24 | openMode: 0, 25 | }, 26 | numTestsKeptInMemory: 5, 27 | }) 28 | -------------------------------------------------------------------------------- /cypress/e2e/settings.spec.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | import { newUser } from '../utils/index.js' 6 | const adminUser = newUser('admin') 7 | 8 | describe('Admin settings', function() { 9 | beforeEach(function() { 10 | cy.login(adminUser) 11 | }) 12 | 13 | it('Change all settings', function() { 14 | cy.visit('/settings/admin') 15 | cy.get('#user_retention h2') 16 | .should('contain', 'Account retention') 17 | cy.get('#user_retention input#keep_users_without_login') 18 | .should('be.checked') 19 | cy.get('#user_retention span#keep_users_without_login-label') 20 | .click() 21 | cy.get('.toast-success').should('contain', 'Setting saved') 22 | 23 | cy.get('#user_retention input#user_days_disable') 24 | .should('have.value', '0') 25 | cy.get('#user_retention input#user_days_disable') 26 | .clear() 27 | .type('180{enter}') 28 | cy.get('.toast-success').should('contain', 'Setting saved') 29 | 30 | cy.get('#user_retention input#user_days') 31 | .should('have.value', '0') 32 | cy.get('#user_retention input#user_days') 33 | .clear() 34 | .type('365{enter}') 35 | cy.get('.toast-success').should('contain', 'Setting saved') 36 | 37 | cy.reload() 38 | 39 | cy.get('#user_retention input#keep_users_without_login') 40 | .should('not.be.checked') 41 | cy.get('#user_retention input#user_days_disable') 42 | .should('have.value', '180') 43 | cy.get('#user_retention input#user_days') 44 | .should('have.value', '365') 45 | }) 46 | }) 47 | -------------------------------------------------------------------------------- /cypress/runLocal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors 4 | # SPDX-License-Identifier: AGPL-3.0-or-later 5 | 6 | export CYPRESS_baseUrl=${CYPRESS_baseUrl:-https://nextcloud.local/index.php} 7 | export APP_SOURCE=$PWD/.. 8 | export LANG="en_EN.UTF-8" 9 | 10 | if ! npm exec wait-on >/dev/null; then 11 | npm install --no-save wait-on 12 | fi 13 | 14 | if npm exec wait-on -- -i 500 -t 1000 "$CYPRESS_baseUrl" 2>/dev/null; then 15 | echo Server is up at "$CYPRESS_baseUrl" 16 | fi 17 | 18 | (cd .. && npm exec cypress -- "$@") 19 | -------------------------------------------------------------------------------- /cypress/support/commands.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | import { addCommands } from '@nextcloud/cypress' // eslint-disable-line 6 | 7 | const url = Cypress.config('baseUrl').replace(/\/index.php\/?$/g, '') 8 | Cypress.env('baseUrl', url) 9 | 10 | addCommands() 11 | -------------------------------------------------------------------------------- /cypress/support/e2e.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | // This file is loaded before all e2e tests 7 | 8 | import './commands.js' 9 | -------------------------------------------------------------------------------- /cypress/utils/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | import { User } from '@nextcloud/cypress' // eslint-disable-line 6 | 7 | export const newUser = (uid) => new User(uid) 8 | -------------------------------------------------------------------------------- /docs/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/user_retention/9da7579ccedaf38c3948790a5fa84070d0b428cc/docs/screenshot.png -------------------------------------------------------------------------------- /docs/screenshot.png.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /l10n/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/user_retention/9da7579ccedaf38c3948790a5fa84070d0b428cc/l10n/.gitkeep -------------------------------------------------------------------------------- /l10n/ast.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Desaniciu de la cuenta", 5 | "You have not used your account since {date}." : "Nun usesti la cuenta dende'l {date}.", 6 | "If you have any questions, please contact your administration." : "Si tienes dalguna entruga, ponte en contautu cola alministración.", 7 | "Deletes accounts that did not login in the last days." : "Desanicia les cuentes que nun aniciaren la sesión nos últimos díes.", 8 | "Could not fetch groups" : "Nun se pudo dir en cata de los grupos", 9 | "Setting saved" : "Guardóse la opción", 10 | "Could not save the setting" : "Nun se pudo guardar la opción", 11 | "Account retention" : "Retención de cuentes", 12 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Les cuentes desaníciense cuando nun anicien la sesión dientro'l númberu de díes apurríu. Esta aición tamién desanicia tolos datos asociaos cola cuenta.", 13 | "days" : "díes", 14 | "(0 to disable)" : "(0 pa desactivar)", 15 | "Account expiration:" : "Caducidá de les cuentes:", 16 | "Guest account disabling:" : "Desactivación de les cuentes de convidáu:", 17 | "Guest account expiration:" : "Caducidá de les cuentes de convidáu:", 18 | "Exclude groups:" : "Escluyir los grupos:" 19 | }, 20 | "nplurals=2; plural=(n != 1);"); 21 | -------------------------------------------------------------------------------- /l10n/ast.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Desaniciu de la cuenta", 3 | "You have not used your account since {date}." : "Nun usesti la cuenta dende'l {date}.", 4 | "If you have any questions, please contact your administration." : "Si tienes dalguna entruga, ponte en contautu cola alministración.", 5 | "Deletes accounts that did not login in the last days." : "Desanicia les cuentes que nun aniciaren la sesión nos últimos díes.", 6 | "Could not fetch groups" : "Nun se pudo dir en cata de los grupos", 7 | "Setting saved" : "Guardóse la opción", 8 | "Could not save the setting" : "Nun se pudo guardar la opción", 9 | "Account retention" : "Retención de cuentes", 10 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Les cuentes desaníciense cuando nun anicien la sesión dientro'l númberu de díes apurríu. Esta aición tamién desanicia tolos datos asociaos cola cuenta.", 11 | "days" : "díes", 12 | "(0 to disable)" : "(0 pa desactivar)", 13 | "Account expiration:" : "Caducidá de les cuentes:", 14 | "Guest account disabling:" : "Desactivación de les cuentes de convidáu:", 15 | "Guest account expiration:" : "Caducidá de les cuentes de convidáu:", 16 | "Exclude groups:" : "Escluyir los grupos:" 17 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 18 | } -------------------------------------------------------------------------------- /l10n/bg.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Важна информация относно вашият профил", 3 | "Account deletion" : "Изтриване на профил", 4 | "You have not used your account since {date}." : "Не сте използвали вашият профил от {date}.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Поради конфигурираната политика за профили, неактивните профили ще бъдат деактивирани след %n ден/дни.","Поради конфигурираната политика за профили, неактивните профили ще бъдат деактивирани след %n дни."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Поради конфигурираната политика за профили, неактивните профили ще бъдат изтривани след %n дни.","Поради конфигурираната политика за профили, неактивните профили ще бъдат изтривани след %n дни."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "За да запазите вашият профил, трябва само да се впишете с браузъра си или да се свържете чрез десктоп или мобилно приложение. В противен случай вашият профил и всички свързани данни ще бъдат изтрити окончателно.", 8 | "If you have any questions, please contact your administration." : "Ако имате някакви въпроси, моля, свържете се с вашата администрация.", 9 | "Account retention (formerly User retention)" : "Запазване на профил (преди това Запазване на потребител)", 10 | "Deletes accounts that did not login in the last days." : "Изтрива профили, които не са влизали в системата през последните дни.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Профили се изтриват, когато нямат вписване в приложението в рамките на зададения брой дни. Също така ще бъдат изтрити и всички файлове и други данни, свързани с този профил.\n\n* 🛂 Възможно е различно запазване за нормалните профили и за профили на приложението [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Изключение за профили въз основа на членство в група (по подразбиране: група на администраторите)\n* 🔑 Изключение за профили, които никога не са влизали в системата (по подразбиране: разрешено)", 12 | "Could not fetch groups" : "Групите не можаха да бъдат извлечени", 13 | "Setting saved" : "Настройката е запазена", 14 | "Could not save the setting" : "Настройката не можа да бъде запазена ", 15 | "Account retention" : "Запазване на профил", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Профили се изтриват, когато нямат вписване в приложението в рамките на зададения брой дни. Също така ще бъдат изтрити и всички файлове и други данни, свързани с този профил.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Профили от LDAP се изтриват само локално, освен ако не е активирано приложението за поддръжка на LDAP запис. Когато все още са налице в LDAP, профилите ще се появят отново.", 18 | "Keep accounts that never logged in" : "Запазване на профили, които никога не са влизали в системата", 19 | "Account disabling:" : "Деактивиране на профил:", 20 | "days" : "дни", 21 | "(0 to disable)" : "(0 за деактивиране)", 22 | "Account expiration:" : "Изтичане на срока на профил:", 23 | "Guest account disabling:" : "Деактивиране на профил на гост:", 24 | "Guest account expiration:" : "Изтичане на срока на профил на гост:", 25 | "Exclude groups:" : "Изключване на групи:", 26 | "Ignore members of these groups from retention" : "Игнорирайте от задържане членовете на тези групи" 27 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 28 | } -------------------------------------------------------------------------------- /l10n/br.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Lemel ar c'hont", 5 | "days" : "devezh", 6 | "(0 to disable)" : "(0 da lemel)", 7 | "Exclude groups:" : "Argas ar strolladoù :" 8 | }, 9 | "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);"); 10 | -------------------------------------------------------------------------------- /l10n/br.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Lemel ar c'hont", 3 | "days" : "devezh", 4 | "(0 to disable)" : "(0 da lemel)", 5 | "Exclude groups:" : "Argas ar strolladoù :" 6 | },"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);" 7 | } -------------------------------------------------------------------------------- /l10n/ca.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Supressió del compte", 5 | "Could not fetch groups" : "No s'han pogut recuperar els grups", 6 | "Setting saved" : "S'ha desat la configuració", 7 | "Could not save the setting" : "No s'ha pogut desar la configuració", 8 | "days" : "dies", 9 | "(0 to disable)" : "(0 per inhabilitar)", 10 | "Exclude groups:" : "Exclou els grups:", 11 | "Ignore members of these groups from retention" : "Ignoreu els membres d'aquests grups per retenció" 12 | }, 13 | "nplurals=2; plural=(n != 1);"); 14 | -------------------------------------------------------------------------------- /l10n/ca.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Supressió del compte", 3 | "Could not fetch groups" : "No s'han pogut recuperar els grups", 4 | "Setting saved" : "S'ha desat la configuració", 5 | "Could not save the setting" : "No s'ha pogut desar la configuració", 6 | "days" : "dies", 7 | "(0 to disable)" : "(0 per inhabilitar)", 8 | "Exclude groups:" : "Exclou els grups:", 9 | "Ignore members of these groups from retention" : "Ignoreu els membres d'aquests grups per retenció" 10 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 11 | } -------------------------------------------------------------------------------- /l10n/da.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Sletning af konto", 5 | "Could not fetch groups" : "Kunne ikke hente grupper", 6 | "Setting saved" : "Indstilinger gemt", 7 | "Could not save the setting" : "Kunne ikke gemme indstillinger", 8 | "days" : "dage", 9 | "(0 to disable)" : "(0 for at deaktivere)", 10 | "Exclude groups:" : "Ekskluder grupper:" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/da.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Sletning af konto", 3 | "Could not fetch groups" : "Kunne ikke hente grupper", 4 | "Setting saved" : "Indstilinger gemt", 5 | "Could not save the setting" : "Kunne ikke gemme indstillinger", 6 | "days" : "dage", 7 | "(0 to disable)" : "(0 for at deaktivere)", 8 | "Exclude groups:" : "Ekskluder grupper:" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/de.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Wichtige Informationen zu deinem Konto", 3 | "Account deletion" : "Löschung des Kontos", 4 | "You have not used your account since {date}." : "Du hast dein Konto seit dem {date} nicht mehr verwendet.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Aufgrund der eingerichteten Kontenrichtlinie werden inaktive Konten nach %n Tag deaktiviert.","Aufgrund der eingerichteten Kontenrichtlinie werden inaktive Konten nach %n Tagen deaktiviert."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Aufgrund der konfigurierten Richtlinie für Konten werden inaktive Konten nach %n Tag gelöscht.","Aufgrund der konfigurierten Richtlinie für Konten werden inaktive Konten nach %n Tagen gelöscht."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Um dein Konto zu behalten, musst du dich nur mit deinem Browser anmelden oder dich mit einer Desktop- oder mobilen App verbinden. Andernfalls werden dein Konto und alle damit verbundenen Daten dauerhaft gelöscht.", 8 | "If you have any questions, please contact your administration." : "Bei Fragen wende dich bitte an deine Administration.", 9 | "Account retention (formerly User retention)" : "Kontoaufbewahrung (ehemals Benutzeraufbewahrung)", 10 | "Deletes accounts that did not login in the last days." : "Löscht Konten, mit denen sich in den letzten Tagen nicht angemeldet wurde.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Konten werden gelöscht, wenn sie sich nicht innerhalb der angegebenen Anzahl von Tagen angemeldet haben. Dadurch werden auch alle mit dem Konto verbundenen Dateien und anderen Daten gelöscht.\n\n* 🛂 Unterschiedliche Aufbewahrung möglich für normale Accounts und Accounts der [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Konten basierend auf Gruppenmitgliedschaften ausschließen (Standard: Admin-Gruppe)\n* 🔑 Konten ausschließen, die sich nie angemeldet haben (Standard: aktiviert)", 12 | "Could not fetch groups" : "Gruppen konnten nicht geladen werden", 13 | "Setting saved" : "Einstellungen gespeichert", 14 | "Could not save the setting" : "Einstellungen konnten nicht gespeichert werden", 15 | "Account retention" : "Kontoaufbewahrung", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Konten werden gelöscht, wenn sich mit ihnen innerhalb der angegebenen Anzahl von Tagen nicht angemeldet wurde. Dadurch werden auch alle mit dem Konto verbundenen Dateien und anderen Daten gelöscht.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Konten aus LDAP werden nur lokal gelöscht, es sei denn, die App zur Unterstützung von LDAP-Schreibvorgängen ist aktiviert. Wenn Konten noch auf LDAP verfügbar sind, werden sie wieder angezeigt.", 18 | "Keep accounts that never logged in" : "Behalte Konten, die sich nie angemeldet haben", 19 | "Account disabling:" : "Konto deaktivieren:", 20 | "days" : "Tage", 21 | "(0 to disable)" : "(0 zum Deaktivieren)", 22 | "Account expiration:" : "Ablauf des Kontos:", 23 | "Guest account disabling:" : "Gast-Konto deaktivieren:", 24 | "Guest account expiration:" : "Ablauf des Gastkontos:", 25 | "Exclude groups:" : "Gruppen auschließen:", 26 | "Ignore members of these groups from retention" : "Mitglieder dieser Gruppen von der Aufbewahrung ausschließen" 27 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 28 | } -------------------------------------------------------------------------------- /l10n/de_DE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Wichtige Informationen zu Ihrem Konto", 5 | "Account deletion" : "Kontenlöschung", 6 | "You have not used your account since {date}." : "Sie haben Ihr Konto seit dem {date} nicht mehr verwendet.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Aufgrund der eingerichteten Kontenrichtlinie werden inaktive Konten nach %n Tag deaktiviert.","Aufgrund der eingerichteten Kontenrichtlinie werden inaktive Konten nach %n Tagen deaktiviert."], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Aufgrund der konfigurierten Richtlinie für Konten werden inaktive Konten nach %n Tag gelöscht.","Aufgrund der konfigurierten Richtlinie für Konten werden inaktive Konten nach %n Tagen gelöscht."], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Um Ihr Konto zu behalten, müssen Sie sich nur mit Ihrem Browser anmelden oder sich mit einer Desktop- oder mobilen App verbinden. Andernfalls werden Ihr Konto und alle damit verbundenen Daten dauerhaft gelöscht.", 10 | "If you have any questions, please contact your administration." : "Bei Fragen wenden Sie sich bitte an Ihre Administration.", 11 | "Account retention (formerly User retention)" : "Kontoaufbewahrung (ehemals Benutzeraufbewahrung)", 12 | "Deletes accounts that did not login in the last days." : "Löscht Konten, die sich in den letzten Tagen nicht angemeldet haben.", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Konten werden gelöscht, wenn sie sich nicht innerhalb der angegebenen Anzahl von Tagen angemeldet haben. Dadurch werden auch alle mit dem Konto verbundenen Dateien und anderen Daten gelöscht.\n\n* 🛂 Unterschiedliche Aufbewahrung möglich für normale Accounts und Accounts der [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Konten basierend auf Gruppenmitgliedschaften ausschließen (Standard: Administrationsgruppe)\n* 🔑 Konten ausschließen, die sich nie angemeldet haben (Standard: aktiviert)", 14 | "Could not fetch groups" : "Gruppen konnten nicht geladen werden", 15 | "Setting saved" : "Einstellung gespeichert", 16 | "Could not save the setting" : "Einstellung konnte nicht gespeichert werden", 17 | "Account retention" : "Kontoaufbewahrung", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Konten werden gelöscht, wenn sie sich nicht innerhalb der angegebenen Anzahl von Tagen angemeldet haben. Dadurch werden auch alle mit dem Konto verbundenen Dateien und anderen Daten gelöscht.", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Konten aus LDAP werden nur lokal gelöscht, es sei denn, die App zur Unterstützung von LDAP-Schreibvorgängen ist aktiviert. Wenn Konten noch auf LDAP verfügbar sind, werden sie wieder angezeigt.", 20 | "Keep accounts that never logged in" : "Behalten Sie Konten, die sich nie angemeldet haben", 21 | "Account disabling:" : "Konto deaktivieren:", 22 | "days" : "Tage", 23 | "(0 to disable)" : "(0 zum Deaktivieren)", 24 | "Account expiration:" : "Kontoablauf:", 25 | "Guest account disabling:" : "Gast-Konto deaktivieren:", 26 | "Guest account expiration:" : "Ablauf des Gastkontos:", 27 | "Exclude groups:" : "Gruppen ausschließen:", 28 | "Ignore members of these groups from retention" : "Mitglieder dieser Gruppen von der Aufbewahrung ausschließen" 29 | }, 30 | "nplurals=2; plural=(n != 1);"); 31 | -------------------------------------------------------------------------------- /l10n/de_DE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Wichtige Informationen zu Ihrem Konto", 3 | "Account deletion" : "Kontenlöschung", 4 | "You have not used your account since {date}." : "Sie haben Ihr Konto seit dem {date} nicht mehr verwendet.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Aufgrund der eingerichteten Kontenrichtlinie werden inaktive Konten nach %n Tag deaktiviert.","Aufgrund der eingerichteten Kontenrichtlinie werden inaktive Konten nach %n Tagen deaktiviert."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Aufgrund der konfigurierten Richtlinie für Konten werden inaktive Konten nach %n Tag gelöscht.","Aufgrund der konfigurierten Richtlinie für Konten werden inaktive Konten nach %n Tagen gelöscht."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Um Ihr Konto zu behalten, müssen Sie sich nur mit Ihrem Browser anmelden oder sich mit einer Desktop- oder mobilen App verbinden. Andernfalls werden Ihr Konto und alle damit verbundenen Daten dauerhaft gelöscht.", 8 | "If you have any questions, please contact your administration." : "Bei Fragen wenden Sie sich bitte an Ihre Administration.", 9 | "Account retention (formerly User retention)" : "Kontoaufbewahrung (ehemals Benutzeraufbewahrung)", 10 | "Deletes accounts that did not login in the last days." : "Löscht Konten, die sich in den letzten Tagen nicht angemeldet haben.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Konten werden gelöscht, wenn sie sich nicht innerhalb der angegebenen Anzahl von Tagen angemeldet haben. Dadurch werden auch alle mit dem Konto verbundenen Dateien und anderen Daten gelöscht.\n\n* 🛂 Unterschiedliche Aufbewahrung möglich für normale Accounts und Accounts der [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Konten basierend auf Gruppenmitgliedschaften ausschließen (Standard: Administrationsgruppe)\n* 🔑 Konten ausschließen, die sich nie angemeldet haben (Standard: aktiviert)", 12 | "Could not fetch groups" : "Gruppen konnten nicht geladen werden", 13 | "Setting saved" : "Einstellung gespeichert", 14 | "Could not save the setting" : "Einstellung konnte nicht gespeichert werden", 15 | "Account retention" : "Kontoaufbewahrung", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Konten werden gelöscht, wenn sie sich nicht innerhalb der angegebenen Anzahl von Tagen angemeldet haben. Dadurch werden auch alle mit dem Konto verbundenen Dateien und anderen Daten gelöscht.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Konten aus LDAP werden nur lokal gelöscht, es sei denn, die App zur Unterstützung von LDAP-Schreibvorgängen ist aktiviert. Wenn Konten noch auf LDAP verfügbar sind, werden sie wieder angezeigt.", 18 | "Keep accounts that never logged in" : "Behalten Sie Konten, die sich nie angemeldet haben", 19 | "Account disabling:" : "Konto deaktivieren:", 20 | "days" : "Tage", 21 | "(0 to disable)" : "(0 zum Deaktivieren)", 22 | "Account expiration:" : "Kontoablauf:", 23 | "Guest account disabling:" : "Gast-Konto deaktivieren:", 24 | "Guest account expiration:" : "Ablauf des Gastkontos:", 25 | "Exclude groups:" : "Gruppen ausschließen:", 26 | "Ignore members of these groups from retention" : "Mitglieder dieser Gruppen von der Aufbewahrung ausschließen" 27 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 28 | } -------------------------------------------------------------------------------- /l10n/en_GB.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Important information regarding your account", 5 | "Account deletion" : "Account deletion", 6 | "You have not used your account since {date}." : "You have not used your account since {date}.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Due to the configured policy for accounts, inactive accounts will be disabled after %n day.","Due to the configured policy for accounts, inactive accounts will be disabled after %n days."], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Due to the configured policy for accounts, inactive accounts will be deleted after %n day.","Due to the configured policy for accounts, inactive accounts will be deleted after %n days."], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted.", 10 | "If you have any questions, please contact your administration." : "If you have any questions, please contact your administration.", 11 | "Account retention (formerly User retention)" : "Account retention (formerly User retention)", 12 | "Deletes accounts that did not login in the last days." : "Deletes accounts that did not login in the last days.", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)", 14 | "Could not fetch groups" : "Could not fetch groups", 15 | "Setting saved" : "Setting saved", 16 | "Could not save the setting" : "Could not save the setting", 17 | "Account retention" : "Account retention", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear.", 20 | "Keep accounts that never logged in" : "Keep accounts that never logged in", 21 | "Account disabling:" : "Account disabling:", 22 | "days" : "days", 23 | "(0 to disable)" : "(0 to disable)", 24 | "Account expiration:" : "Account expiration:", 25 | "Guest account disabling:" : "Guest account disabling:", 26 | "Guest account expiration:" : "Guest account expiration:", 27 | "Exclude groups:" : "Exclude groups:", 28 | "Ignore members of these groups from retention" : "Ignore members of these groups from retention" 29 | }, 30 | "nplurals=2; plural=(n != 1);"); 31 | -------------------------------------------------------------------------------- /l10n/en_GB.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Important information regarding your account", 3 | "Account deletion" : "Account deletion", 4 | "You have not used your account since {date}." : "You have not used your account since {date}.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Due to the configured policy for accounts, inactive accounts will be disabled after %n day.","Due to the configured policy for accounts, inactive accounts will be disabled after %n days."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Due to the configured policy for accounts, inactive accounts will be deleted after %n day.","Due to the configured policy for accounts, inactive accounts will be deleted after %n days."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted.", 8 | "If you have any questions, please contact your administration." : "If you have any questions, please contact your administration.", 9 | "Account retention (formerly User retention)" : "Account retention (formerly User retention)", 10 | "Deletes accounts that did not login in the last days." : "Deletes accounts that did not login in the last days.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)", 12 | "Could not fetch groups" : "Could not fetch groups", 13 | "Setting saved" : "Setting saved", 14 | "Could not save the setting" : "Could not save the setting", 15 | "Account retention" : "Account retention", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear.", 18 | "Keep accounts that never logged in" : "Keep accounts that never logged in", 19 | "Account disabling:" : "Account disabling:", 20 | "days" : "days", 21 | "(0 to disable)" : "(0 to disable)", 22 | "Account expiration:" : "Account expiration:", 23 | "Guest account disabling:" : "Guest account disabling:", 24 | "Guest account expiration:" : "Guest account expiration:", 25 | "Exclude groups:" : "Exclude groups:", 26 | "Ignore members of these groups from retention" : "Ignore members of these groups from retention" 27 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 28 | } -------------------------------------------------------------------------------- /l10n/eo.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Forigo de konto", 5 | "days" : "tagojn" 6 | }, 7 | "nplurals=2; plural=(n != 1);"); 8 | -------------------------------------------------------------------------------- /l10n/eo.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Forigo de konto", 3 | "days" : "tagojn" 4 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 5 | } -------------------------------------------------------------------------------- /l10n/es_AR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Eliminación de la cuenta", 5 | "days" : "días" 6 | }, 7 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 8 | -------------------------------------------------------------------------------- /l10n/es_AR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Eliminación de la cuenta", 3 | "days" : "días" 4 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 5 | } -------------------------------------------------------------------------------- /l10n/es_MX.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Borrado de cuenta", 5 | "days" : "días" 6 | }, 7 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 8 | -------------------------------------------------------------------------------- /l10n/es_MX.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Borrado de cuenta", 3 | "days" : "días" 4 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 5 | } -------------------------------------------------------------------------------- /l10n/et_EE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Kasutajakonto kustutamine", 5 | "days" : "päeva" 6 | }, 7 | "nplurals=2; plural=(n != 1);"); 8 | -------------------------------------------------------------------------------- /l10n/et_EE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Kasutajakonto kustutamine", 3 | "days" : "päeva" 4 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 5 | } -------------------------------------------------------------------------------- /l10n/eu.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Kontu ezabaketa", 5 | "You have not used your account since {date}." : "Ez duzu zure kontua erabili egun honetatik: {date}.", 6 | "Could not fetch groups" : "Ezin izan dira taldeak eskuratu", 7 | "Setting saved" : "Ezarpena gordeta", 8 | "Could not save the setting" : "Ezin izan da ezarpena gorde", 9 | "Account retention" : "Kontuen erretentzioa", 10 | "Account disabling:" : "Kontuen desgaitzea:", 11 | "days" : "egun", 12 | "(0 to disable)" : "(0 desgaitzeko)", 13 | "Account expiration:" : "Kontu iraungitzea:", 14 | "Guest account expiration:" : "Gonbidatu-kontuaren iraungitzea:", 15 | "Exclude groups:" : "Taldeak baztertu:", 16 | "Ignore members of these groups from retention" : "Ezikusi talde honetako kideak atxikitzetik" 17 | }, 18 | "nplurals=2; plural=(n != 1);"); 19 | -------------------------------------------------------------------------------- /l10n/eu.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Kontu ezabaketa", 3 | "You have not used your account since {date}." : "Ez duzu zure kontua erabili egun honetatik: {date}.", 4 | "Could not fetch groups" : "Ezin izan dira taldeak eskuratu", 5 | "Setting saved" : "Ezarpena gordeta", 6 | "Could not save the setting" : "Ezin izan da ezarpena gorde", 7 | "Account retention" : "Kontuen erretentzioa", 8 | "Account disabling:" : "Kontuen desgaitzea:", 9 | "days" : "egun", 10 | "(0 to disable)" : "(0 desgaitzeko)", 11 | "Account expiration:" : "Kontu iraungitzea:", 12 | "Guest account expiration:" : "Gonbidatu-kontuaren iraungitzea:", 13 | "Exclude groups:" : "Taldeak baztertu:", 14 | "Ignore members of these groups from retention" : "Ezikusi talde honetako kideak atxikitzetik" 15 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 16 | } -------------------------------------------------------------------------------- /l10n/fa.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Important information regarding your account", 5 | "Account deletion" : "حذف حساب کاربری", 6 | "You have not used your account since {date}." : "You have not used your account since {date}.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Due to the configured policy for accounts, inactive accounts will be disabled after %n day.","Due to the configured policy for accounts, inactive accounts will be disabled after %n days."], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Due to the configured policy for accounts, inactive accounts will be deleted after %n day.","Due to the configured policy for accounts, inactive accounts will be deleted after %n days."], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted.", 10 | "If you have any questions, please contact your administration." : "If you have any questions, please contact your administration.", 11 | "Account retention (formerly User retention)" : "Account retention (formerly User retention)", 12 | "Deletes accounts that did not login in the last days." : "Deletes accounts that did not login in the last days.", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)", 14 | "Could not fetch groups" : "Could not fetch groups", 15 | "Setting saved" : "Setting saved", 16 | "Could not save the setting" : "Could not save the setting", 17 | "Account retention" : "Account retention", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear.", 20 | "Keep accounts that never logged in" : "Keep accounts that never logged in", 21 | "Account disabling:" : "Account disabling:", 22 | "days" : "روز ها", 23 | "(0 to disable)" : "(0 to disable)", 24 | "Account expiration:" : "Account expiration:", 25 | "Guest account disabling:" : "Guest account disabling:", 26 | "Guest account expiration:" : "Guest account expiration:", 27 | "Exclude groups:" : "Exclude groups:", 28 | "Ignore members of these groups from retention" : "Ignore members of these groups from retention" 29 | }, 30 | "nplurals=2; plural=(n > 1);"); 31 | -------------------------------------------------------------------------------- /l10n/fa.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Important information regarding your account", 3 | "Account deletion" : "حذف حساب کاربری", 4 | "You have not used your account since {date}." : "You have not used your account since {date}.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Due to the configured policy for accounts, inactive accounts will be disabled after %n day.","Due to the configured policy for accounts, inactive accounts will be disabled after %n days."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Due to the configured policy for accounts, inactive accounts will be deleted after %n day.","Due to the configured policy for accounts, inactive accounts will be deleted after %n days."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted.", 8 | "If you have any questions, please contact your administration." : "If you have any questions, please contact your administration.", 9 | "Account retention (formerly User retention)" : "Account retention (formerly User retention)", 10 | "Deletes accounts that did not login in the last days." : "Deletes accounts that did not login in the last days.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)", 12 | "Could not fetch groups" : "Could not fetch groups", 13 | "Setting saved" : "Setting saved", 14 | "Could not save the setting" : "Could not save the setting", 15 | "Account retention" : "Account retention", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear.", 18 | "Keep accounts that never logged in" : "Keep accounts that never logged in", 19 | "Account disabling:" : "Account disabling:", 20 | "days" : "روز ها", 21 | "(0 to disable)" : "(0 to disable)", 22 | "Account expiration:" : "Account expiration:", 23 | "Guest account disabling:" : "Guest account disabling:", 24 | "Guest account expiration:" : "Guest account expiration:", 25 | "Exclude groups:" : "Exclude groups:", 26 | "Ignore members of these groups from retention" : "Ignore members of these groups from retention" 27 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 28 | } -------------------------------------------------------------------------------- /l10n/fi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Tilin poistaminen", 5 | "Could not fetch groups" : "Ryhmiä ei voitu noutaa", 6 | "Setting saved" : "Asetus tallennettu", 7 | "Could not save the setting" : "Asetusta ei voitu tallentaa", 8 | "days" : "päivää", 9 | "(0 to disable)" : "(0 poistaa käytöstä)", 10 | "Account expiration:" : "Tilin vanhentuminen:", 11 | "Guest account expiration:" : "Vierastilin vanhentuminen:", 12 | "Exclude groups:" : "Ohita ryhmät:" 13 | }, 14 | "nplurals=2; plural=(n != 1);"); 15 | -------------------------------------------------------------------------------- /l10n/fi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Tilin poistaminen", 3 | "Could not fetch groups" : "Ryhmiä ei voitu noutaa", 4 | "Setting saved" : "Asetus tallennettu", 5 | "Could not save the setting" : "Asetusta ei voitu tallentaa", 6 | "days" : "päivää", 7 | "(0 to disable)" : "(0 poistaa käytöstä)", 8 | "Account expiration:" : "Tilin vanhentuminen:", 9 | "Guest account expiration:" : "Vierastilin vanhentuminen:", 10 | "Exclude groups:" : "Ohita ryhmät:" 11 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 12 | } -------------------------------------------------------------------------------- /l10n/gl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Información importante sobre a súa conta", 5 | "Account deletion" : "Eliminación de conta", 6 | "You have not used your account since {date}." : "Leva sen usar a súa conta desde o {date}.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Por mor da directiva configurada para as contas, as contas inactivas desactivaranse após %n día.","Por mor da directiva configurada para as contas, as contas inactivas desactivaranse após %n días."], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Por mor da directiva configurada para as contas, as contas inactivas eliminaranse após %n día.","Por mor da directiva configurada para as contas, as contas inactivas eliminaranse após %n días."], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Para manter activa a súa conta só tes que acceder co seu navegador ou conectarse cunha aplicación de escritorio ou móbil. En caso contrario, a súa conta e todos os datos conectados eliminaranse permanentemente.", 10 | "If you have any questions, please contact your administration." : "Se Vde. non solicitou isto, póñase en contacto coa administración desta instancia.", 11 | "Account retention (formerly User retention)" : "Retención da conta (anteriormente Retención de usuarios)", 12 | "Deletes accounts that did not login in the last days." : "Elimina as contas ás que non se accedeu nos últimos días.", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "As contas elimínanse cando non se accedeu a elas no número de días indicado. Isto tamén eliminará todos os ficheiros e outros datos asociados á conta.\n\n* 🛂 Posíbel retención diferente para contas normais e contas da [aplicación de convidados](https://apps.nextcloud.com/apps/guests)\n* ⛔ Excluír contas en función das pertenzas a grupos (predeterminado: grupo de administración)\n* 🔑 Excluír contas ás que nunca se accedeu (predeterminado: activado)", 14 | "Could not fetch groups" : "Non foi posíbel recuperar os grupos", 15 | "Setting saved" : "Axustes gardados", 16 | "Could not save the setting" : "Non foi posíbel gardar o axuste", 17 | "Account retention" : "Retención da conta", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "As contas elimínanse cando non se accedeu a elas no número de días indicado. Isto tamén eliminará todos os ficheiros e outros datos asociados á conta.", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "As contas de LDAP elimínanse só localmente, a menos que a aplicación de asistencia á escritura LDAP estea activada. Cando volvan estar dispoñíbeis en LDAP, as contas volverán aparecer.", 20 | "Keep accounts that never logged in" : "Manter as contas ás que nunca se accedeu", 21 | "Account disabling:" : "Desactivación da conta:", 22 | "days" : "días", 23 | "(0 to disable)" : "(0 para desactivar)", 24 | "Account expiration:" : "Caducidade da conta:", 25 | "Guest account disabling:" : "Desactivación da conta de convidado:", 26 | "Guest account expiration:" : "Caducidade da conta de convidado:", 27 | "Exclude groups:" : "Excluír grupos:", 28 | "Ignore members of these groups from retention" : "Ignorar aos membros destes grupos de retención" 29 | }, 30 | "nplurals=2; plural=(n != 1);"); 31 | -------------------------------------------------------------------------------- /l10n/gl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Información importante sobre a súa conta", 3 | "Account deletion" : "Eliminación de conta", 4 | "You have not used your account since {date}." : "Leva sen usar a súa conta desde o {date}.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Por mor da directiva configurada para as contas, as contas inactivas desactivaranse após %n día.","Por mor da directiva configurada para as contas, as contas inactivas desactivaranse após %n días."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Por mor da directiva configurada para as contas, as contas inactivas eliminaranse após %n día.","Por mor da directiva configurada para as contas, as contas inactivas eliminaranse após %n días."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Para manter activa a súa conta só tes que acceder co seu navegador ou conectarse cunha aplicación de escritorio ou móbil. En caso contrario, a súa conta e todos os datos conectados eliminaranse permanentemente.", 8 | "If you have any questions, please contact your administration." : "Se Vde. non solicitou isto, póñase en contacto coa administración desta instancia.", 9 | "Account retention (formerly User retention)" : "Retención da conta (anteriormente Retención de usuarios)", 10 | "Deletes accounts that did not login in the last days." : "Elimina as contas ás que non se accedeu nos últimos días.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "As contas elimínanse cando non se accedeu a elas no número de días indicado. Isto tamén eliminará todos os ficheiros e outros datos asociados á conta.\n\n* 🛂 Posíbel retención diferente para contas normais e contas da [aplicación de convidados](https://apps.nextcloud.com/apps/guests)\n* ⛔ Excluír contas en función das pertenzas a grupos (predeterminado: grupo de administración)\n* 🔑 Excluír contas ás que nunca se accedeu (predeterminado: activado)", 12 | "Could not fetch groups" : "Non foi posíbel recuperar os grupos", 13 | "Setting saved" : "Axustes gardados", 14 | "Could not save the setting" : "Non foi posíbel gardar o axuste", 15 | "Account retention" : "Retención da conta", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "As contas elimínanse cando non se accedeu a elas no número de días indicado. Isto tamén eliminará todos os ficheiros e outros datos asociados á conta.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "As contas de LDAP elimínanse só localmente, a menos que a aplicación de asistencia á escritura LDAP estea activada. Cando volvan estar dispoñíbeis en LDAP, as contas volverán aparecer.", 18 | "Keep accounts that never logged in" : "Manter as contas ás que nunca se accedeu", 19 | "Account disabling:" : "Desactivación da conta:", 20 | "days" : "días", 21 | "(0 to disable)" : "(0 para desactivar)", 22 | "Account expiration:" : "Caducidade da conta:", 23 | "Guest account disabling:" : "Desactivación da conta de convidado:", 24 | "Guest account expiration:" : "Caducidade da conta de convidado:", 25 | "Exclude groups:" : "Excluír grupos:", 26 | "Ignore members of these groups from retention" : "Ignorar aos membros destes grupos de retención" 27 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 28 | } -------------------------------------------------------------------------------- /l10n/he.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "מחיקת חשבון", 5 | "days" : "ימים", 6 | "(0 to disable)" : "(0 להשבתה)", 7 | "Exclude groups:" : "למעט הקבוצות:" 8 | }, 9 | "nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"); 10 | -------------------------------------------------------------------------------- /l10n/he.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "מחיקת חשבון", 3 | "days" : "ימים", 4 | "(0 to disable)" : "(0 להשבתה)", 5 | "Exclude groups:" : "למעט הקבוצות:" 6 | },"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;" 7 | } -------------------------------------------------------------------------------- /l10n/hr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Brisanje računa", 5 | "days" : "dana", 6 | "(0 to disable)" : "(0 za onemogućivanje)", 7 | "Exclude groups:" : "Izuzmi grupe:" 8 | }, 9 | "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/hr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Brisanje računa", 3 | "days" : "dana", 4 | "(0 to disable)" : "(0 za onemogućivanje)", 5 | "Exclude groups:" : "Izuzmi grupe:" 6 | },"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;" 7 | } -------------------------------------------------------------------------------- /l10n/hu.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Fontos információk a fiókjával kapcsolatban", 5 | "Account deletion" : "Fiók törlése", 6 | "You have not used your account since {date}." : "{date} óta nem használta a fiókját.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["A fiókok házirendje miatt az inaktív fiókok %n nap után letiltásra kerülnek.","A fiókok házirendje miatt az inaktív fiókok %n nap után letiltásra kerülnek."], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["A fiókok házirendje miatt az inaktív fiókok %n nap után törlésre kerülnek.","A fiókok házirendje miatt az inaktív fiókok %n nap után törlésre kerülnek."], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Hogy megtartsa a fiókját, csak be kell jelentkeznie a böngészőjében, vagy kapcsolódnia kell az asztali vagy mobilos alkalmazásból. Különben a fiókja, és az összes hozzá tartozó adata véglegesen törölve lesz.", 10 | "If you have any questions, please contact your administration." : "Ha kérdése van, lépjen kapcsolatba a rendszergazdával.", 11 | "Account retention (formerly User retention)" : "Fiókok megtartása (előzőleg Felhasználók megtartása)", 12 | "Deletes accounts that did not login in the last days." : "Törli azokat a fiókokat, amelyekkel nem léptek be az elmúlt napokban.", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "A fiókok törlésre kerülnek, ha a megadott számú napig nem jelentkeznek be a velük. Ez törli az érintett fiókok összes fájlját és egyéb adatát is.\n\n* 🛂 Különböző megtartási idő lehetséges a normál fiókok és a [vendégek alkalmazás](https://apps.nextcloud.com/apps/guests) fiókjai számára\n* ⛔ Fiókok kihagyása csoporttagság alapján (alapértelmezett: rendszergazdai csoport)\n* 🔑 Sosem bejelentkezett fiókok kihagyása (alapértelmezett: be)", 14 | "Could not fetch groups" : "A csoportok nem kérhetők le", 15 | "Setting saved" : "Beállítás mentve", 16 | "Could not save the setting" : "A beállítás nem menthető", 17 | "Account retention" : "Fiókok megtartása", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "A fiókok törlésre kerülnek, ha a megadott számú napig nem jelentkeznek be a velük. Ez törli az érintett fiókok összes fájlját és egyéb adatát is.", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Az LDAP-ból származó fiókok csak helyben lesznek törölve, hacsak nincs engedélyezve az LDAP írási támogatási alkalmazás. Ha továbbra is elérhetők maradnak az LDAP-ban, akkor a fiókok újra meg fognak jelenni.", 20 | "Keep accounts that never logged in" : "Azon fiókok megtartása, melyekkel sosem jelentkeztek be", 21 | "Account disabling:" : "Fiók letiltása:", 22 | "days" : "nap", 23 | "(0 to disable)" : "(0 a kikapcsoláshoz)", 24 | "Account expiration:" : "Fiókok lejárata:", 25 | "Guest account disabling:" : "Vendégfiók letiltása:", 26 | "Guest account expiration:" : "Vendégfiókok lejárata:", 27 | "Exclude groups:" : "Csoportok kizárása:", 28 | "Ignore members of these groups from retention" : "Ezen csoportok tagjainak figyelmen kívül hagyása a megtartás szempontjából" 29 | }, 30 | "nplurals=2; plural=(n != 1);"); 31 | -------------------------------------------------------------------------------- /l10n/hu.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Fontos információk a fiókjával kapcsolatban", 3 | "Account deletion" : "Fiók törlése", 4 | "You have not used your account since {date}." : "{date} óta nem használta a fiókját.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["A fiókok házirendje miatt az inaktív fiókok %n nap után letiltásra kerülnek.","A fiókok házirendje miatt az inaktív fiókok %n nap után letiltásra kerülnek."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["A fiókok házirendje miatt az inaktív fiókok %n nap után törlésre kerülnek.","A fiókok házirendje miatt az inaktív fiókok %n nap után törlésre kerülnek."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Hogy megtartsa a fiókját, csak be kell jelentkeznie a böngészőjében, vagy kapcsolódnia kell az asztali vagy mobilos alkalmazásból. Különben a fiókja, és az összes hozzá tartozó adata véglegesen törölve lesz.", 8 | "If you have any questions, please contact your administration." : "Ha kérdése van, lépjen kapcsolatba a rendszergazdával.", 9 | "Account retention (formerly User retention)" : "Fiókok megtartása (előzőleg Felhasználók megtartása)", 10 | "Deletes accounts that did not login in the last days." : "Törli azokat a fiókokat, amelyekkel nem léptek be az elmúlt napokban.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "A fiókok törlésre kerülnek, ha a megadott számú napig nem jelentkeznek be a velük. Ez törli az érintett fiókok összes fájlját és egyéb adatát is.\n\n* 🛂 Különböző megtartási idő lehetséges a normál fiókok és a [vendégek alkalmazás](https://apps.nextcloud.com/apps/guests) fiókjai számára\n* ⛔ Fiókok kihagyása csoporttagság alapján (alapértelmezett: rendszergazdai csoport)\n* 🔑 Sosem bejelentkezett fiókok kihagyása (alapértelmezett: be)", 12 | "Could not fetch groups" : "A csoportok nem kérhetők le", 13 | "Setting saved" : "Beállítás mentve", 14 | "Could not save the setting" : "A beállítás nem menthető", 15 | "Account retention" : "Fiókok megtartása", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "A fiókok törlésre kerülnek, ha a megadott számú napig nem jelentkeznek be a velük. Ez törli az érintett fiókok összes fájlját és egyéb adatát is.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Az LDAP-ból származó fiókok csak helyben lesznek törölve, hacsak nincs engedélyezve az LDAP írási támogatási alkalmazás. Ha továbbra is elérhetők maradnak az LDAP-ban, akkor a fiókok újra meg fognak jelenni.", 18 | "Keep accounts that never logged in" : "Azon fiókok megtartása, melyekkel sosem jelentkeztek be", 19 | "Account disabling:" : "Fiók letiltása:", 20 | "days" : "nap", 21 | "(0 to disable)" : "(0 a kikapcsoláshoz)", 22 | "Account expiration:" : "Fiókok lejárata:", 23 | "Guest account disabling:" : "Vendégfiók letiltása:", 24 | "Guest account expiration:" : "Vendégfiókok lejárata:", 25 | "Exclude groups:" : "Csoportok kizárása:", 26 | "Ignore members of these groups from retention" : "Ezen csoportok tagjainak figyelmen kívül hagyása a megtartás szempontjából" 27 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 28 | } -------------------------------------------------------------------------------- /l10n/is.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Eyðing á aðgangi", 5 | "days" : "dagar", 6 | "(0 to disable)" : "(0 til að gera óvirkt)", 7 | "Exclude groups:" : "Undanskilja hópa:" 8 | }, 9 | "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); 10 | -------------------------------------------------------------------------------- /l10n/is.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Eyðing á aðgangi", 3 | "days" : "dagar", 4 | "(0 to disable)" : "(0 til að gera óvirkt)", 5 | "Exclude groups:" : "Undanskilja hópa:" 6 | },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" 7 | } -------------------------------------------------------------------------------- /l10n/it.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Eliminazione account", 5 | "Could not fetch groups" : "Impossibile recuperare i gruppi", 6 | "Setting saved" : "Impostazione salvata", 7 | "Could not save the setting" : "Impossibile salvare l'impostazione", 8 | "days" : "giorni", 9 | "(0 to disable)" : "(0 per disabilitare)", 10 | "Exclude groups:" : "Escludi gruppi:" 11 | }, 12 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 13 | -------------------------------------------------------------------------------- /l10n/it.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Eliminazione account", 3 | "Could not fetch groups" : "Impossibile recuperare i gruppi", 4 | "Setting saved" : "Impostazione salvata", 5 | "Could not save the setting" : "Impossibile salvare l'impostazione", 6 | "days" : "giorni", 7 | "(0 to disable)" : "(0 per disabilitare)", 8 | "Exclude groups:" : "Escludi gruppi:" 9 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 10 | } -------------------------------------------------------------------------------- /l10n/ja.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "アカウントに関する重要な情報", 5 | "Account deletion" : "アカウント削除", 6 | "You have not used your account since {date}." : "{date}以降、アカウントを使用していません。", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["アカウントの設定ポリシーにより、アクティブでないアカウントは%n日後に無効になります。"], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["アカウントの設定ポリシーにより、アクティブでないアカウントは%n日後に削除されます。"], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "アカウントを維持するには、ブラウザーでログインするか、デスクトップまたはモバイルアプリで接続するだけです。そうでない場合は、アカウントとすべての接続データは永久に削除されます。", 10 | "If you have any questions, please contact your administration." : "ご質問がある場合は、管理者にお問い合わせください。", 11 | "Account retention (formerly User retention)" : "アカウント保持(旧ユーザー保持)", 12 | "Deletes accounts that did not login in the last days." : "過去数日間にログインしていないアカウントを削除します。", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "指定された日数内にログインしなかった場合、アカウントは削除されます。アカウントに関連するファイルやその他のデータもすべて削除されます。\n\n* 🛂 通常のアカウントと[guests app](https://apps.nextcloud.com/apps/guests)のアカウントで異なる保持が可能\n* ⛔ グループメンバーに基づいてアカウントを除外 (デフォルト: 管理者グループ)\n* 🔑 一度もログインしていないアカウントを除外 (デフォルト: 有効)", 14 | "Could not fetch groups" : "グループを取得できません", 15 | "Setting saved" : "設定を保存しました", 16 | "Could not save the setting" : "設定を保存できませんでした", 17 | "Account retention" : "アカウント保持", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "指定された日数内にログインしなかった場合、アカウントは削除されます。また、そのアカウントに関連するファイルやその他のデータもすべて削除されます。", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "LDAP書き込みサポートアプリが有効になっていない限り、LDAPからのアカウントはローカルでのみ削除されます。LDAP上でまだ利用可能な場合は、アカウントが再表示されます。", 20 | "Keep accounts that never logged in" : "ログインしていないアカウントを保持する", 21 | "Account disabling:" : "アカウントの無効化:", 22 | "days" : "日", 23 | "(0 to disable)" : "(無効にするには0)", 24 | "Account expiration:" : "アカウントの有効期限:", 25 | "Guest account disabling:" : "ゲストアカウントの無効化:", 26 | "Guest account expiration:" : "ゲストアカウントの有効期限:", 27 | "Exclude groups:" : "グループを除外:", 28 | "Ignore members of these groups from retention" : "これらのグループのメンバーをリテンションから無視する" 29 | }, 30 | "nplurals=1; plural=0;"); 31 | -------------------------------------------------------------------------------- /l10n/ja.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "アカウントに関する重要な情報", 3 | "Account deletion" : "アカウント削除", 4 | "You have not used your account since {date}." : "{date}以降、アカウントを使用していません。", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["アカウントの設定ポリシーにより、アクティブでないアカウントは%n日後に無効になります。"], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["アカウントの設定ポリシーにより、アクティブでないアカウントは%n日後に削除されます。"], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "アカウントを維持するには、ブラウザーでログインするか、デスクトップまたはモバイルアプリで接続するだけです。そうでない場合は、アカウントとすべての接続データは永久に削除されます。", 8 | "If you have any questions, please contact your administration." : "ご質問がある場合は、管理者にお問い合わせください。", 9 | "Account retention (formerly User retention)" : "アカウント保持(旧ユーザー保持)", 10 | "Deletes accounts that did not login in the last days." : "過去数日間にログインしていないアカウントを削除します。", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "指定された日数内にログインしなかった場合、アカウントは削除されます。アカウントに関連するファイルやその他のデータもすべて削除されます。\n\n* 🛂 通常のアカウントと[guests app](https://apps.nextcloud.com/apps/guests)のアカウントで異なる保持が可能\n* ⛔ グループメンバーに基づいてアカウントを除外 (デフォルト: 管理者グループ)\n* 🔑 一度もログインしていないアカウントを除外 (デフォルト: 有効)", 12 | "Could not fetch groups" : "グループを取得できません", 13 | "Setting saved" : "設定を保存しました", 14 | "Could not save the setting" : "設定を保存できませんでした", 15 | "Account retention" : "アカウント保持", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "指定された日数内にログインしなかった場合、アカウントは削除されます。また、そのアカウントに関連するファイルやその他のデータもすべて削除されます。", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "LDAP書き込みサポートアプリが有効になっていない限り、LDAPからのアカウントはローカルでのみ削除されます。LDAP上でまだ利用可能な場合は、アカウントが再表示されます。", 18 | "Keep accounts that never logged in" : "ログインしていないアカウントを保持する", 19 | "Account disabling:" : "アカウントの無効化:", 20 | "days" : "日", 21 | "(0 to disable)" : "(無効にするには0)", 22 | "Account expiration:" : "アカウントの有効期限:", 23 | "Guest account disabling:" : "ゲストアカウントの無効化:", 24 | "Guest account expiration:" : "ゲストアカウントの有効期限:", 25 | "Exclude groups:" : "グループを除外:", 26 | "Ignore members of these groups from retention" : "これらのグループのメンバーをリテンションから無視する" 27 | },"pluralForm" :"nplurals=1; plural=0;" 28 | } -------------------------------------------------------------------------------- /l10n/ka.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Account deletion", 5 | "days" : "days" 6 | }, 7 | "nplurals=2; plural=(n!=1);"); 8 | -------------------------------------------------------------------------------- /l10n/ka.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Account deletion", 3 | "days" : "days" 4 | },"pluralForm" :"nplurals=2; plural=(n!=1);" 5 | } -------------------------------------------------------------------------------- /l10n/kab.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Tukksa n umiḍan", 5 | "Setting saved" : "Aɣewwar yettwasekles", 6 | "Could not save the setting" : "Yegguma ad isekles aɣewwar", 7 | "Account disabling:" : "Asensi n umiḍan:", 8 | "days" : "ussan", 9 | "Guest account disabling:" : "Asensi n umiḍan n yinebgi:" 10 | }, 11 | "nplurals=2; plural=(n != 1);"); 12 | -------------------------------------------------------------------------------- /l10n/kab.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Tukksa n umiḍan", 3 | "Setting saved" : "Aɣewwar yettwasekles", 4 | "Could not save the setting" : "Yegguma ad isekles aɣewwar", 5 | "Account disabling:" : "Asensi n umiḍan:", 6 | "days" : "ussan", 7 | "Guest account disabling:" : "Asensi n umiḍan n yinebgi:" 8 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 9 | } -------------------------------------------------------------------------------- /l10n/ko.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "내 계정과 관련된 중요 정보", 5 | "Account deletion" : "계정 삭제", 6 | "You have not used your account since {date}." : "{date} 이래로 이 계정을 사용한 적이 없습니다.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["설정된 정책에 의거, 활동을 멈춘 계정은 %n일 후 비활성화됩니다."], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["설정된 정책에 의거, 활동을 멈춘 계정은 %n일 후 비활성화됩니다."], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "브라우저에 로그인하거나 데스크톱 또는 모바일 앱에 연결하면 계정을 유지할 수 있습니다. 그렇지 않을 경우 이 계정 및 모든 연결된 자료는 영구히 삭제됩니다.", 10 | "Account retention (formerly User retention)" : "계정 만료 (구 사용자 만료)", 11 | "Deletes accounts that did not login in the last days." : "마지막 날에 로그인하지 않은 계정을 삭제합니다.", 12 | "Account retention" : "계정 만료", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "지정된 일 수 내에 계정에 로그인하지 않은 계정은 삭제됩니다. 해당 계정의 모든 파일과 관련 데이터도 삭제됩니다.", 14 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "LDAP 쓰기 지원 앱이 활성화되지 않은 경우 LDAP의 계정은 로컬에서만 삭제됩니다. LDAP에서 계속 사용할 수 있는 경우 계정이 다시 나타납니다.", 15 | "Keep accounts that never logged in" : "한 번도 로그인하지 않은 계정은 계속 유지하기", 16 | "Account disabling:" : "계정 비활성화:", 17 | "days" : "일", 18 | "(0 to disable)" : "(사용하지 않으려면 0)", 19 | "Account expiration:" : "계정 삭제:", 20 | "Guest account disabling:" : "손님 계정 비활성화:", 21 | "Guest account expiration:" : "손님 계정 삭제:", 22 | "Exclude groups:" : "그룹 제외 :" 23 | }, 24 | "nplurals=1; plural=0;"); 25 | -------------------------------------------------------------------------------- /l10n/ko.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "내 계정과 관련된 중요 정보", 3 | "Account deletion" : "계정 삭제", 4 | "You have not used your account since {date}." : "{date} 이래로 이 계정을 사용한 적이 없습니다.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["설정된 정책에 의거, 활동을 멈춘 계정은 %n일 후 비활성화됩니다."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["설정된 정책에 의거, 활동을 멈춘 계정은 %n일 후 비활성화됩니다."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "브라우저에 로그인하거나 데스크톱 또는 모바일 앱에 연결하면 계정을 유지할 수 있습니다. 그렇지 않을 경우 이 계정 및 모든 연결된 자료는 영구히 삭제됩니다.", 8 | "Account retention (formerly User retention)" : "계정 만료 (구 사용자 만료)", 9 | "Deletes accounts that did not login in the last days." : "마지막 날에 로그인하지 않은 계정을 삭제합니다.", 10 | "Account retention" : "계정 만료", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "지정된 일 수 내에 계정에 로그인하지 않은 계정은 삭제됩니다. 해당 계정의 모든 파일과 관련 데이터도 삭제됩니다.", 12 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "LDAP 쓰기 지원 앱이 활성화되지 않은 경우 LDAP의 계정은 로컬에서만 삭제됩니다. LDAP에서 계속 사용할 수 있는 경우 계정이 다시 나타납니다.", 13 | "Keep accounts that never logged in" : "한 번도 로그인하지 않은 계정은 계속 유지하기", 14 | "Account disabling:" : "계정 비활성화:", 15 | "days" : "일", 16 | "(0 to disable)" : "(사용하지 않으려면 0)", 17 | "Account expiration:" : "계정 삭제:", 18 | "Guest account disabling:" : "손님 계정 비활성화:", 19 | "Guest account expiration:" : "손님 계정 삭제:", 20 | "Exclude groups:" : "그룹 제외 :" 21 | },"pluralForm" :"nplurals=1; plural=0;" 22 | } -------------------------------------------------------------------------------- /l10n/lt_LT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Paskyros ištrynimas", 5 | "days" : "dienų", 6 | "(0 to disable)" : "(0, kad būtų išjungta)" 7 | }, 8 | "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);"); 9 | -------------------------------------------------------------------------------- /l10n/lt_LT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Paskyros ištrynimas", 3 | "days" : "dienų", 4 | "(0 to disable)" : "(0, kad būtų išjungta)" 5 | },"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);" 6 | } -------------------------------------------------------------------------------- /l10n/mk.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Бришење на сметката", 5 | "days" : "дена" 6 | }, 7 | "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); 8 | -------------------------------------------------------------------------------- /l10n/mk.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Бришење на сметката", 3 | "days" : "дена" 4 | },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" 5 | } -------------------------------------------------------------------------------- /l10n/nb.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Viktig informasjon angående kontoen din", 5 | "Account deletion" : "Sletting av konto", 6 | "You have not used your account since {date}." : "Du har ikke brukt kontoen siden {date}.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["På grunn av den konfigurerte policyen for kontoer, vil inaktive kontoer bli deaktivert etter %n dag.","På grunn av den konfigurerte policyen for kontoer, vil inaktive kontoer bli deaktivert etter %n dager."], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["På grunn av den konfigurerte policyen for kontoer, vil inaktive kontoer bli deaktivert etter %n dag.","På grunn av den konfigurerte policyen for kontoer, vil inaktive kontoer bli deaktivert etter %n dager."], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "For å beholde kontoen din trenger du bare å logge inn med nettleseren din eller koble til med en stasjonær eller mobilapp. Ellers blir kontoen din og alle tilkoblede data slettet permanent.", 10 | "If you have any questions, please contact your administration." : "Hvis du har spørsmål, vennligst kontakt administrasjonen din.", 11 | "Account retention (formerly User retention)" : "Kontooppbevaring (tidligere brukeroppbevaring)", 12 | "Deletes accounts that did not login in the last days." : "Sletter kontoer som ikke har logget på de siste dagene.", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Kontoer slettes når de ikke logger seg på innen det gitte antall dager. Dette vil også slette alle filer og annen data tilknyttet kontoen.\n\n* 🛂 Ulik oppbevaring mulig for normale kontoer og kontoer i [gjeste-appen](https://apps.nextcloud.com/apps/guests)\n* ⛔ Ekskluder kontoer basert på gruppemedlemskap (admin-gruppen er standard)\n* 🔑 Ekskluder kontoer som aldri har logget på (aktivert som standard)", 14 | "Could not fetch groups" : "Kunne ikke hente grupper", 15 | "Setting saved" : "Innstillinger lagret", 16 | "Could not save the setting" : "Kunne ikke lagre innstillingene", 17 | "Account retention" : "Kontooppbevaring", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Kontoer slettes når de ikke logget inn innen det gitte antall dager. Dette vil også slette alle filer og andre data knyttet til kontoen.", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Kontoer fra LDAP blir bare slettet lokalt, med mindre LDAP-skrivestøtte-appen er aktivert. Når de fremdeles er tilgjengelige på LDAP, vil kontoene dukke opp igjen.", 20 | "Keep accounts that never logged in" : "Behold kontoer som aldri har logget på", 21 | "Account disabling:" : "Deaktivering av konto:", 22 | "days" : "dager", 23 | "(0 to disable)" : "(0 for å deaktivere)", 24 | "Account expiration:" : "Kontoens utløp:", 25 | "Guest account disabling:" : "Deaktivering av gjestekonto:", 26 | "Guest account expiration:" : "Gjestekontoens utløp:", 27 | "Exclude groups:" : "Utelukk grupper:", 28 | "Ignore members of these groups from retention" : "Ignorere medlemmer av disse gruppene fra oppbevaring" 29 | }, 30 | "nplurals=2; plural=(n != 1);"); 31 | -------------------------------------------------------------------------------- /l10n/nb.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Viktig informasjon angående kontoen din", 3 | "Account deletion" : "Sletting av konto", 4 | "You have not used your account since {date}." : "Du har ikke brukt kontoen siden {date}.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["På grunn av den konfigurerte policyen for kontoer, vil inaktive kontoer bli deaktivert etter %n dag.","På grunn av den konfigurerte policyen for kontoer, vil inaktive kontoer bli deaktivert etter %n dager."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["På grunn av den konfigurerte policyen for kontoer, vil inaktive kontoer bli deaktivert etter %n dag.","På grunn av den konfigurerte policyen for kontoer, vil inaktive kontoer bli deaktivert etter %n dager."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "For å beholde kontoen din trenger du bare å logge inn med nettleseren din eller koble til med en stasjonær eller mobilapp. Ellers blir kontoen din og alle tilkoblede data slettet permanent.", 8 | "If you have any questions, please contact your administration." : "Hvis du har spørsmål, vennligst kontakt administrasjonen din.", 9 | "Account retention (formerly User retention)" : "Kontooppbevaring (tidligere brukeroppbevaring)", 10 | "Deletes accounts that did not login in the last days." : "Sletter kontoer som ikke har logget på de siste dagene.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Kontoer slettes når de ikke logger seg på innen det gitte antall dager. Dette vil også slette alle filer og annen data tilknyttet kontoen.\n\n* 🛂 Ulik oppbevaring mulig for normale kontoer og kontoer i [gjeste-appen](https://apps.nextcloud.com/apps/guests)\n* ⛔ Ekskluder kontoer basert på gruppemedlemskap (admin-gruppen er standard)\n* 🔑 Ekskluder kontoer som aldri har logget på (aktivert som standard)", 12 | "Could not fetch groups" : "Kunne ikke hente grupper", 13 | "Setting saved" : "Innstillinger lagret", 14 | "Could not save the setting" : "Kunne ikke lagre innstillingene", 15 | "Account retention" : "Kontooppbevaring", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Kontoer slettes når de ikke logget inn innen det gitte antall dager. Dette vil også slette alle filer og andre data knyttet til kontoen.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Kontoer fra LDAP blir bare slettet lokalt, med mindre LDAP-skrivestøtte-appen er aktivert. Når de fremdeles er tilgjengelige på LDAP, vil kontoene dukke opp igjen.", 18 | "Keep accounts that never logged in" : "Behold kontoer som aldri har logget på", 19 | "Account disabling:" : "Deaktivering av konto:", 20 | "days" : "dager", 21 | "(0 to disable)" : "(0 for å deaktivere)", 22 | "Account expiration:" : "Kontoens utløp:", 23 | "Guest account disabling:" : "Deaktivering av gjestekonto:", 24 | "Guest account expiration:" : "Gjestekontoens utløp:", 25 | "Exclude groups:" : "Utelukk grupper:", 26 | "Ignore members of these groups from retention" : "Ignorere medlemmer av disse gruppene fra oppbevaring" 27 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 28 | } -------------------------------------------------------------------------------- /l10n/nl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Accountverwijdering", 5 | "Could not fetch groups" : "Kon groepen niet ophalen", 6 | "Setting saved" : "Instellingen opgeslagen", 7 | "Could not save the setting" : "Kan instellingen niet opslaan", 8 | "days" : "dagen", 9 | "(0 to disable)" : "(0 om uit te schakelen)", 10 | "Exclude groups:" : "Uitgezonderde groepen:" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/nl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Accountverwijdering", 3 | "Could not fetch groups" : "Kon groepen niet ophalen", 4 | "Setting saved" : "Instellingen opgeslagen", 5 | "Could not save the setting" : "Kan instellingen niet opslaan", 6 | "days" : "dagen", 7 | "(0 to disable)" : "(0 om uit te schakelen)", 8 | "Exclude groups:" : "Uitgezonderde groepen:" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/oc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Supression de compte", 5 | "days" : "jorns" 6 | }, 7 | "nplurals=2; plural=(n > 1);"); 8 | -------------------------------------------------------------------------------- /l10n/oc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Supression de compte", 3 | "days" : "jorns" 4 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 5 | } -------------------------------------------------------------------------------- /l10n/pl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Ważne informacje dotyczące Twojego konta", 5 | "Account deletion" : "Usunięcie konta", 6 | "You have not used your account since {date}." : "Nie korzystałeś ze swojego konta od {date}.", 7 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Ze względu na skonfigurowaną politykę dla kont, nieaktywne konta zostaną usunięte po %n dniu.","Ze względu na skonfigurowaną politykę dla kont, nieaktywne konta zostaną usunięte po %n dniach.","Ze względu na skonfigurowaną politykę dla kont, nieaktywne konta zostaną usunięte po %n dniach.","Ze względu na skonfigurowaną politykę dla kont, nieaktywne konta zostaną usunięte po %n dniach."], 8 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Aby zachować swoje konto, wystarczy zalogować się za pomocą przeglądarki lub połączyć się z aplikacją komputerową lub mobilną. W przeciwnym razie Twoje konto i wszystkie powiązane dane zostaną trwale usunięte.", 9 | "If you have any questions, please contact your administration." : "Jeśli masz jakieś pytania, skontaktuj się z administracją.", 10 | "Account retention (formerly User retention)" : "Przechowywanie konta (dawniej Przechowywanie użytkowników)", 11 | "Deletes accounts that did not login in the last days." : "Usuwa konta, które nie logowały się w ciągu ostatnich dni.", 12 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Konta są usuwane, gdy nie ma logowań w ciągu określonej liczby dni. Spowoduje to również usunięcie wszystkich plików i innych danych powiązanych z kontem.\n\n* 🛂 Różne możliwości przechowywania dla zwykłych kont i kont w [aplikacji dla gości](https://apps.nextcloud.com/apps/guests)\n* ⛔ Wykluczenie kont na podstawie członkostwa w grupach (domyślnie: grupa admin)\n* 🔑 Wykluczenie kont, na które nigdy się nie logowali (domyślnie: włączone)", 13 | "Could not fetch groups" : "Nie udało się pobrać grup", 14 | "Setting saved" : "Ustawienie zapisane", 15 | "Could not save the setting" : "Nie udało się zapisać ustawienia", 16 | "Account retention" : "Przechowywanie konta", 17 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Konta są usuwane, gdy nie logują się w ciągu podanej liczby dni. Spowoduje to również usunięcie wszystkich plików i innych danych powiązanych z kontem.", 18 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Konta z LDAP są usuwane tylko lokalnie, chyba że jest włączona aplikacja obsługi zapisu LDAP. Konta pojawią się ponownie, gdy będą nadal dostępne w LDAP.", 19 | "Keep accounts that never logged in" : "Zachowaj konta, na które nigdy się nie logowano", 20 | "days" : "dni", 21 | "(0 to disable)" : "(0 aby zablokować)", 22 | "Account expiration:" : "Wygaśnięcie konta:", 23 | "Guest account expiration:" : "Wygaśnięcie konta gościa:", 24 | "Exclude groups:" : "Wyłącz grupy:", 25 | "Ignore members of these groups from retention" : "Ignoruj członków tych grup z przechowywania" 26 | }, 27 | "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);"); 28 | -------------------------------------------------------------------------------- /l10n/pl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Ważne informacje dotyczące Twojego konta", 3 | "Account deletion" : "Usunięcie konta", 4 | "You have not used your account since {date}." : "Nie korzystałeś ze swojego konta od {date}.", 5 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Ze względu na skonfigurowaną politykę dla kont, nieaktywne konta zostaną usunięte po %n dniu.","Ze względu na skonfigurowaną politykę dla kont, nieaktywne konta zostaną usunięte po %n dniach.","Ze względu na skonfigurowaną politykę dla kont, nieaktywne konta zostaną usunięte po %n dniach.","Ze względu na skonfigurowaną politykę dla kont, nieaktywne konta zostaną usunięte po %n dniach."], 6 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Aby zachować swoje konto, wystarczy zalogować się za pomocą przeglądarki lub połączyć się z aplikacją komputerową lub mobilną. W przeciwnym razie Twoje konto i wszystkie powiązane dane zostaną trwale usunięte.", 7 | "If you have any questions, please contact your administration." : "Jeśli masz jakieś pytania, skontaktuj się z administracją.", 8 | "Account retention (formerly User retention)" : "Przechowywanie konta (dawniej Przechowywanie użytkowników)", 9 | "Deletes accounts that did not login in the last days." : "Usuwa konta, które nie logowały się w ciągu ostatnich dni.", 10 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Konta są usuwane, gdy nie ma logowań w ciągu określonej liczby dni. Spowoduje to również usunięcie wszystkich plików i innych danych powiązanych z kontem.\n\n* 🛂 Różne możliwości przechowywania dla zwykłych kont i kont w [aplikacji dla gości](https://apps.nextcloud.com/apps/guests)\n* ⛔ Wykluczenie kont na podstawie członkostwa w grupach (domyślnie: grupa admin)\n* 🔑 Wykluczenie kont, na które nigdy się nie logowali (domyślnie: włączone)", 11 | "Could not fetch groups" : "Nie udało się pobrać grup", 12 | "Setting saved" : "Ustawienie zapisane", 13 | "Could not save the setting" : "Nie udało się zapisać ustawienia", 14 | "Account retention" : "Przechowywanie konta", 15 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Konta są usuwane, gdy nie logują się w ciągu podanej liczby dni. Spowoduje to również usunięcie wszystkich plików i innych danych powiązanych z kontem.", 16 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Konta z LDAP są usuwane tylko lokalnie, chyba że jest włączona aplikacja obsługi zapisu LDAP. Konta pojawią się ponownie, gdy będą nadal dostępne w LDAP.", 17 | "Keep accounts that never logged in" : "Zachowaj konta, na które nigdy się nie logowano", 18 | "days" : "dni", 19 | "(0 to disable)" : "(0 aby zablokować)", 20 | "Account expiration:" : "Wygaśnięcie konta:", 21 | "Guest account expiration:" : "Wygaśnięcie konta gościa:", 22 | "Exclude groups:" : "Wyłącz grupy:", 23 | "Ignore members of these groups from retention" : "Ignoruj członków tych grup z przechowywania" 24 | },"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);" 25 | } -------------------------------------------------------------------------------- /l10n/pt_PT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "days" : "dias", 5 | "(0 to disable)" : "(0 para desativar)", 6 | "Exclude groups:" : "Excluir grupos:" 7 | }, 8 | "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/pt_PT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "days" : "dias", 3 | "(0 to disable)" : "(0 para desativar)", 4 | "Exclude groups:" : "Excluir grupos:" 5 | },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/ro.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Ca să păstrați contul este necesar doar să vă conectați din browser sau cu o aplicație desktop sau mobilă. Altfel contul va fi șters permanent împreună cu toate datele conexe.", 5 | "Deletes accounts that did not login in the last days." : "Șterge conturile care nu s-au autentificat în ultimul timp.", 6 | "days" : "zile", 7 | "(0 to disable)" : "(0 pentru dezactivare)", 8 | "Exclude groups:" : "Exclude grupuri:" 9 | }, 10 | "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); 11 | -------------------------------------------------------------------------------- /l10n/ro.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Ca să păstrați contul este necesar doar să vă conectați din browser sau cu o aplicație desktop sau mobilă. Altfel contul va fi șters permanent împreună cu toate datele conexe.", 3 | "Deletes accounts that did not login in the last days." : "Șterge conturile care nu s-au autentificat în ultimul timp.", 4 | "days" : "zile", 5 | "(0 to disable)" : "(0 pentru dezactivare)", 6 | "Exclude groups:" : "Exclude grupuri:" 7 | },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" 8 | } -------------------------------------------------------------------------------- /l10n/ru.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Важная информация, касающаяся вашей учетной записи", 5 | "Account deletion" : "Удаление учётной записи", 6 | "You have not used your account since {date}." : "Вы не использовали свой аккаунт с {date}.", 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Чтобы сохранить свою учетную запись, вам нужно только войти в систему с помощью браузера или подключиться с помощью настольного или мобильного приложения. В противном случае ваша учетная запись и все связанные данные будут удалены навсегда.", 8 | "If you have any questions, please contact your administration." : "Если у вас возникнут какие-либо вопросы, пожалуйста, свяжитесь с вашей администрацией.", 9 | "Account retention (formerly User retention)" : "Удержание аккаунта (ранее Удержание пользователя)", 10 | "Deletes accounts that did not login in the last days." : "Удаляет учетные записи, в которые не входили за последние дни.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Аккаунты удаляются, если они не входили в систему в течение указанного количества дней. Это также удалит все файлы и другие данные, связанные с аккаунтом.\n\n* 🛂 Для обычных аккаунтов и аккаунтов [гостевого приложения](https://apps.nextcloud.com/apps/guests) возможно разное хранение\n* ⛔ Исключить аккаунты на основе членства в группах (по умолчанию: группа администраторов)\n* 🔑 Исключить аккаунты, которые никогда не входили в систему (по умолчанию: включено)", 12 | "Could not fetch groups" : "Не удалось найти метаданные", 13 | "Setting saved" : "Настройки сохранены", 14 | "Could not save the setting" : "Не удалось сохранить настройки", 15 | "Account retention" : "Удержание аккаунта", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Аккаунты удаляются, если в них не входили в течение указанного количества дней. Это также удалит все файлы и другие данные, связанные с аккаунтом.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Учетные записи из LDAP удаляются только локально, если приложение поддержки записи LDAP не включено. Если они все еще доступны в LDAP, учетные записи появятся снова.", 18 | "Keep accounts that never logged in" : "Сохраняйте учетные записи, в которые никогда не входили", 19 | "Account disabling:" : "Отключение учетной записи:", 20 | "days" : "дней", 21 | "(0 to disable)" : "(0 — никогда не удалять)", 22 | "Account expiration:" : "Срок действия аккаунта:", 23 | "Guest account disabling:" : "Отключение гостевой учетной записи:", 24 | "Guest account expiration:" : "Срок действия гостевой учетной записи:", 25 | "Exclude groups:" : "Запретить удалять пользователей групп:", 26 | "Ignore members of these groups from retention" : "Игнорировать членов этих групп при сохранении" 27 | }, 28 | "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);"); 29 | -------------------------------------------------------------------------------- /l10n/ru.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Важная информация, касающаяся вашей учетной записи", 3 | "Account deletion" : "Удаление учётной записи", 4 | "You have not used your account since {date}." : "Вы не использовали свой аккаунт с {date}.", 5 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Чтобы сохранить свою учетную запись, вам нужно только войти в систему с помощью браузера или подключиться с помощью настольного или мобильного приложения. В противном случае ваша учетная запись и все связанные данные будут удалены навсегда.", 6 | "If you have any questions, please contact your administration." : "Если у вас возникнут какие-либо вопросы, пожалуйста, свяжитесь с вашей администрацией.", 7 | "Account retention (formerly User retention)" : "Удержание аккаунта (ранее Удержание пользователя)", 8 | "Deletes accounts that did not login in the last days." : "Удаляет учетные записи, в которые не входили за последние дни.", 9 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Аккаунты удаляются, если они не входили в систему в течение указанного количества дней. Это также удалит все файлы и другие данные, связанные с аккаунтом.\n\n* 🛂 Для обычных аккаунтов и аккаунтов [гостевого приложения](https://apps.nextcloud.com/apps/guests) возможно разное хранение\n* ⛔ Исключить аккаунты на основе членства в группах (по умолчанию: группа администраторов)\n* 🔑 Исключить аккаунты, которые никогда не входили в систему (по умолчанию: включено)", 10 | "Could not fetch groups" : "Не удалось найти метаданные", 11 | "Setting saved" : "Настройки сохранены", 12 | "Could not save the setting" : "Не удалось сохранить настройки", 13 | "Account retention" : "Удержание аккаунта", 14 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Аккаунты удаляются, если в них не входили в течение указанного количества дней. Это также удалит все файлы и другие данные, связанные с аккаунтом.", 15 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Учетные записи из LDAP удаляются только локально, если приложение поддержки записи LDAP не включено. Если они все еще доступны в LDAP, учетные записи появятся снова.", 16 | "Keep accounts that never logged in" : "Сохраняйте учетные записи, в которые никогда не входили", 17 | "Account disabling:" : "Отключение учетной записи:", 18 | "days" : "дней", 19 | "(0 to disable)" : "(0 — никогда не удалять)", 20 | "Account expiration:" : "Срок действия аккаунта:", 21 | "Guest account disabling:" : "Отключение гостевой учетной записи:", 22 | "Guest account expiration:" : "Срок действия гостевой учетной записи:", 23 | "Exclude groups:" : "Запретить удалять пользователей групп:", 24 | "Ignore members of these groups from retention" : "Игнорировать членов этих групп при сохранении" 25 | },"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);" 26 | } -------------------------------------------------------------------------------- /l10n/sc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Cantzelladura de su contu", 5 | "days" : "dies", 6 | "(0 to disable)" : "(0 pro disativare)", 7 | "Exclude groups:" : "Esclude grupos:" 8 | }, 9 | "nplurals=2; plural=(n != 1);"); 10 | -------------------------------------------------------------------------------- /l10n/sc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Cantzelladura de su contu", 3 | "days" : "dies", 4 | "(0 to disable)" : "(0 pro disativare)", 5 | "Exclude groups:" : "Esclude grupos:" 6 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 7 | } -------------------------------------------------------------------------------- /l10n/sl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Brisanje računa", 5 | "Could not fetch groups" : "Ni mogoče pridobiti skupin", 6 | "Setting saved" : "Nastavitve so shranjene", 7 | "Could not save the setting" : "Ni mogoče shraniti nastavitev", 8 | "days" : "dni", 9 | "(0 to disable)" : "(vrednost 0 onemogoči brisanje)", 10 | "Exclude groups:" : "Izločene skupine:" 11 | }, 12 | "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); 13 | -------------------------------------------------------------------------------- /l10n/sl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Brisanje računa", 3 | "Could not fetch groups" : "Ni mogoče pridobiti skupin", 4 | "Setting saved" : "Nastavitve so shranjene", 5 | "Could not save the setting" : "Ni mogoče shraniti nastavitev", 6 | "days" : "dni", 7 | "(0 to disable)" : "(vrednost 0 onemogoči brisanje)", 8 | "Exclude groups:" : "Izločene skupine:" 9 | },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" 10 | } -------------------------------------------------------------------------------- /l10n/sr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Важне инфорамције које се тичу вашег налога", 5 | "Account deletion" : "Брисање налога", 6 | "You have not used your account since {date}." : "Нисте користили свој налог још од {date}.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Услед подешене полисе за налоге, неактивни налози се искључују након %n дана","Услед подешене полисе за налоге, неактивни налози се искључују након %n дана","Услед подешене полисе за налоге, неактивни налози се искључују након %n дана."], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Услед подешене полисе за налоге, неактивни налози се бришу након %n дана.","Услед подешене полисе за налоге, неактивни налози се бришу након %n дана","Услед подешене полисе за налоге, неактивни налози се бришу након %n дана."], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Да бисте задржали свој налог, само је потребно да се једном пријавите интернет прегледачем или декстоп или мобилном апликацијом. У супротном ће се ваш налог и сви подаци на њему неповратно обрисати.", 10 | "If you have any questions, please contact your administration." : "Ако имате било каквих питања, молимо вас да се обратите свом администратору.", 11 | "Account retention (formerly User retention)" : "Задржавање налога (раније Задржавање корисника)", 12 | "Deletes accounts that did not login in the last days." : "Брише налоге на које се корисници нису скоро пријавили.", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Налози се бришу када се на њих није пријавило у року од задатог броја дана. Ово ће такође да обрише и све податке, као и све остале податке придружене налогу.\n\n* 🛂 Различито задржавање је могуће за обичне налоге и за налоге [гост апликације](https://apps.nextcloud.com/apps/guests)\n* ⛔ Изузимају се налози у зависности од припадности групи (подразумевано: админ група)\n* 🔑 Изузимају се налози на које се никада раније није пријавио корисник (подразумевано: укључено)", 14 | "Could not fetch groups" : "Нису могле да се добаве групе", 15 | "Setting saved" : "Подешавање је сачувано", 16 | "Could not save the setting" : "Није могло да се сачува подешавање", 17 | "Account retention" : "Задржавање налога", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Налози се бришу када се корисници на њих нису пријавили у року од задатог броја дана. Ово ће такође да обрише и све фајлове и остале податке придружене налогу.", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Налози са LDAP се бришу само локално, осим ако није укључена апликација за подршку уписа у LDAP. Када су још увек доступни на LDAP, налози ће се поново појавити.", 20 | "Keep accounts that never logged in" : "Задржи налоге на које се корисник никада пре није пријавио", 21 | "Account disabling:" : "Искључивање налога:", 22 | "days" : "дана", 23 | "(0 to disable)" : "(0 да искључите)", 24 | "Account expiration:" : "Истек налога:", 25 | "Guest account disabling:" : "Искључивање налога госта:", 26 | "Guest account expiration:" : "Истек налога госта:", 27 | "Exclude groups:" : "Искључене групе:", 28 | "Ignore members of these groups from retention" : "Изузми чланове следећих група од задржавања" 29 | }, 30 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); 31 | -------------------------------------------------------------------------------- /l10n/sr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Важне инфорамције које се тичу вашег налога", 3 | "Account deletion" : "Брисање налога", 4 | "You have not used your account since {date}." : "Нисте користили свој налог још од {date}.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Услед подешене полисе за налоге, неактивни налози се искључују након %n дана","Услед подешене полисе за налоге, неактивни налози се искључују након %n дана","Услед подешене полисе за налоге, неактивни налози се искључују након %n дана."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Услед подешене полисе за налоге, неактивни налози се бришу након %n дана.","Услед подешене полисе за налоге, неактивни налози се бришу након %n дана","Услед подешене полисе за налоге, неактивни налози се бришу након %n дана."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Да бисте задржали свој налог, само је потребно да се једном пријавите интернет прегледачем или декстоп или мобилном апликацијом. У супротном ће се ваш налог и сви подаци на њему неповратно обрисати.", 8 | "If you have any questions, please contact your administration." : "Ако имате било каквих питања, молимо вас да се обратите свом администратору.", 9 | "Account retention (formerly User retention)" : "Задржавање налога (раније Задржавање корисника)", 10 | "Deletes accounts that did not login in the last days." : "Брише налоге на које се корисници нису скоро пријавили.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Налози се бришу када се на њих није пријавило у року од задатог броја дана. Ово ће такође да обрише и све податке, као и све остале податке придружене налогу.\n\n* 🛂 Различито задржавање је могуће за обичне налоге и за налоге [гост апликације](https://apps.nextcloud.com/apps/guests)\n* ⛔ Изузимају се налози у зависности од припадности групи (подразумевано: админ група)\n* 🔑 Изузимају се налози на које се никада раније није пријавио корисник (подразумевано: укључено)", 12 | "Could not fetch groups" : "Нису могле да се добаве групе", 13 | "Setting saved" : "Подешавање је сачувано", 14 | "Could not save the setting" : "Није могло да се сачува подешавање", 15 | "Account retention" : "Задржавање налога", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Налози се бришу када се корисници на њих нису пријавили у року од задатог броја дана. Ово ће такође да обрише и све фајлове и остале податке придружене налогу.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Налози са LDAP се бришу само локално, осим ако није укључена апликација за подршку уписа у LDAP. Када су још увек доступни на LDAP, налози ће се поново појавити.", 18 | "Keep accounts that never logged in" : "Задржи налоге на које се корисник никада пре није пријавио", 19 | "Account disabling:" : "Искључивање налога:", 20 | "days" : "дана", 21 | "(0 to disable)" : "(0 да искључите)", 22 | "Account expiration:" : "Истек налога:", 23 | "Guest account disabling:" : "Искључивање налога госта:", 24 | "Guest account expiration:" : "Истек налога госта:", 25 | "Exclude groups:" : "Искључене групе:", 26 | "Ignore members of these groups from retention" : "Изузми чланове следећих група од задржавања" 27 | },"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);" 28 | } -------------------------------------------------------------------------------- /l10n/sv.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Viktig information om ditt konto", 5 | "Account deletion" : "Radering av konto", 6 | "You have not used your account since {date}." : "Du har inte använt ditt konto sedan {date}.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["På grund av den konfigurerade policyn för konton kommer inaktiva konton att inaktiveras efter %n dag.","På grund av den konfigurerade policyn för konton kommer inaktiva konton att inaktiveras efter %n dagar."], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["På grund av den konfigurerade policyn för konton kommer inaktiva konton att raderas efter %n dag.","På grund av den konfigurerade policyn för konton kommer inaktiva konton att raderas efter %n dagar."], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "För att behålla ditt konto behöver du bara logga in med din webbläsare eller ansluta med en klient eller mobilapp. Annars kommer ditt konto och all ansluten data att raderas permanent.", 10 | "If you have any questions, please contact your administration." : "Kontakta din administration om du har några frågor.", 11 | "Deletes accounts that did not login in the last days." : "Raderar konton som inte loggat in de senaste dagarna.", 12 | "Could not fetch groups" : "Det gick inte att hämta grupper", 13 | "Setting saved" : "Inställningen sparad", 14 | "Could not save the setting" : "Det gick inte att spara inställningen", 15 | "Account retention" : "Kontolagring", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Konton raderas när de inte loggat in inom det angivna antalet dagar. Detta kommer också att radera alla filer och annan data som är associerad med kontot.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Användare från LDAP raderas endast lokalt, såvida inte stöd för att skriva till LDAP är aktiverat. När användaren fortfarande finns tillgänglig via LDAP kommer användare att visas igen.", 18 | "Keep accounts that never logged in" : "Behåll konton som aldrig loggat in", 19 | "Account disabling:" : "Inaktivering av konto:", 20 | "days" : "dagar", 21 | "(0 to disable)" : "(0 för att inaktivera)", 22 | "Account expiration:" : "Konto upphör:", 23 | "Guest account disabling:" : "Inaktivering av gästkonto:", 24 | "Guest account expiration:" : "Gästkonto upphör:", 25 | "Exclude groups:" : "Uteslut grupper:", 26 | "Ignore members of these groups from retention" : "Ignorera medlemmar i dessa grupper från radering" 27 | }, 28 | "nplurals=2; plural=(n != 1);"); 29 | -------------------------------------------------------------------------------- /l10n/sv.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Viktig information om ditt konto", 3 | "Account deletion" : "Radering av konto", 4 | "You have not used your account since {date}." : "Du har inte använt ditt konto sedan {date}.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["På grund av den konfigurerade policyn för konton kommer inaktiva konton att inaktiveras efter %n dag.","På grund av den konfigurerade policyn för konton kommer inaktiva konton att inaktiveras efter %n dagar."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["På grund av den konfigurerade policyn för konton kommer inaktiva konton att raderas efter %n dag.","På grund av den konfigurerade policyn för konton kommer inaktiva konton att raderas efter %n dagar."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "För att behålla ditt konto behöver du bara logga in med din webbläsare eller ansluta med en klient eller mobilapp. Annars kommer ditt konto och all ansluten data att raderas permanent.", 8 | "If you have any questions, please contact your administration." : "Kontakta din administration om du har några frågor.", 9 | "Deletes accounts that did not login in the last days." : "Raderar konton som inte loggat in de senaste dagarna.", 10 | "Could not fetch groups" : "Det gick inte att hämta grupper", 11 | "Setting saved" : "Inställningen sparad", 12 | "Could not save the setting" : "Det gick inte att spara inställningen", 13 | "Account retention" : "Kontolagring", 14 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Konton raderas när de inte loggat in inom det angivna antalet dagar. Detta kommer också att radera alla filer och annan data som är associerad med kontot.", 15 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "Användare från LDAP raderas endast lokalt, såvida inte stöd för att skriva till LDAP är aktiverat. När användaren fortfarande finns tillgänglig via LDAP kommer användare att visas igen.", 16 | "Keep accounts that never logged in" : "Behåll konton som aldrig loggat in", 17 | "Account disabling:" : "Inaktivering av konto:", 18 | "days" : "dagar", 19 | "(0 to disable)" : "(0 för att inaktivera)", 20 | "Account expiration:" : "Konto upphör:", 21 | "Guest account disabling:" : "Inaktivering av gästkonto:", 22 | "Guest account expiration:" : "Gästkonto upphör:", 23 | "Exclude groups:" : "Uteslut grupper:", 24 | "Ignore members of these groups from retention" : "Ignorera medlemmar i dessa grupper från radering" 25 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 26 | } -------------------------------------------------------------------------------- /l10n/th.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "การลบบัญชี", 5 | "days" : "วัน" 6 | }, 7 | "nplurals=1; plural=0;"); 8 | -------------------------------------------------------------------------------- /l10n/th.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "การลบบัญชี", 3 | "days" : "วัน" 4 | },"pluralForm" :"nplurals=1; plural=0;" 5 | } -------------------------------------------------------------------------------- /l10n/tr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Hesabınızla ilgili önemli bilgiler", 5 | "Account deletion" : "Hesap silme", 6 | "You have not used your account since {date}." : "Hesabınızı {date} tarihinden beri kullanmadınız.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Hesap kullanımı ilkelerine göre, kullanılmayan hesaplar %n gün sonra kullanımdan kaldırılır.","Hesap kullanımı ilkelerine göre, kullanılmayan hesaplar %n gün sonra kullanımdan kaldırılır."], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Hesap kullanımı ilkelerine göre, kullanılmayan hesaplar %n gün sonra silinir.","Hesap kullanımı ilkelerine göre, kullanılmayan hesaplar %n gün sonra silinir."], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Hesabınızı korumak için tarayıcınızdan oturum açmanız ya da bir masaüstü veya mobil uygulama ile bağlantı kurmanız yeterlidir. Yoksa hesabınız ve ilişkili tüm veriler kalıcı olarak silinecek.", 10 | "If you have any questions, please contact your administration." : "Herhangi bir sorunuz varsa lütfen yöneticiniz ile görüşün.", 11 | "Account retention (formerly User retention)" : "Hesap saklama (eski kullanıcı saklama)", 12 | "Deletes accounts that did not login in the last days." : "Belirtilen gün süreyle oturum açmayan hesapları siler", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Hesaplar belirtilen gün sayısı içinde oturum açmadığında silinir. Bu işlem, etkilenen hesapların tüm dosyalarını ve diğer verilerini de siler.\n\n* 🛂 Normal hesaplar ve [konuk uygulama](https://apps.nextcloud.com/apps/guests) hesapları için farklı saklama seçenekleri vardır\n* ⛔ Hesaplar grup üyeliklerine göre katılmayabilir (Varsayılan değer: Yönetici grubu)\n* 🔑 Hiç oturum açmamış hesaplar katılmayabilir (Varsayılan değer: Kullanıma alınmış)", 14 | "Could not fetch groups" : "Gruplar alınamadı", 15 | "Setting saved" : "Ayarlar kaydedildi", 16 | "Could not save the setting" : "Ayar kaydedilemedi", 17 | "Account retention" : "Hesap saklama", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Belirtilen gün süreyle oturum açmayan hesaplar silinir. Ayrıca hesapla ilgili tüm dosyalar ve diğer bilgiler de silinir.", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "LDAP yazma desteği uygulaması kullanıma alınmamış ise LDAP üzerinden alınan hesaplar yalnızca yerel olarak silinir. Bu hesaplar LDAP üzerinde bulunmayı sürdürdüğünden yeniden belirebilirler.", 20 | "Keep accounts that never logged in" : "Hiç oturum açılmamış hesaplar tutulsun", 21 | "Account disabling:" : "Hesap kullanımdan kaldırılıyor:", 22 | "days" : "gün", 23 | "(0 to disable)" : "(kullanımdan kaldırmak için 0)", 24 | "Account expiration:" : "Hesapların silinme süresi:", 25 | "Guest account disabling:" : "Konuk hesabı kullanımdan kaldırılıyor:", 26 | "Guest account expiration:" : "Konuk hesapların silinme süresi:", 27 | "Exclude groups:" : "Katılmayacak gruplar:", 28 | "Ignore members of these groups from retention" : "Şu grupların üyeleri korunmasın" 29 | }, 30 | "nplurals=2; plural=(n > 1);"); 31 | -------------------------------------------------------------------------------- /l10n/tr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Hesabınızla ilgili önemli bilgiler", 3 | "Account deletion" : "Hesap silme", 4 | "You have not used your account since {date}." : "Hesabınızı {date} tarihinden beri kullanmadınız.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Hesap kullanımı ilkelerine göre, kullanılmayan hesaplar %n gün sonra kullanımdan kaldırılır.","Hesap kullanımı ilkelerine göre, kullanılmayan hesaplar %n gün sonra kullanımdan kaldırılır."], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["Hesap kullanımı ilkelerine göre, kullanılmayan hesaplar %n gün sonra silinir.","Hesap kullanımı ilkelerine göre, kullanılmayan hesaplar %n gün sonra silinir."], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "Hesabınızı korumak için tarayıcınızdan oturum açmanız ya da bir masaüstü veya mobil uygulama ile bağlantı kurmanız yeterlidir. Yoksa hesabınız ve ilişkili tüm veriler kalıcı olarak silinecek.", 8 | "If you have any questions, please contact your administration." : "Herhangi bir sorunuz varsa lütfen yöneticiniz ile görüşün.", 9 | "Account retention (formerly User retention)" : "Hesap saklama (eski kullanıcı saklama)", 10 | "Deletes accounts that did not login in the last days." : "Belirtilen gün süreyle oturum açmayan hesapları siler", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "Hesaplar belirtilen gün sayısı içinde oturum açmadığında silinir. Bu işlem, etkilenen hesapların tüm dosyalarını ve diğer verilerini de siler.\n\n* 🛂 Normal hesaplar ve [konuk uygulama](https://apps.nextcloud.com/apps/guests) hesapları için farklı saklama seçenekleri vardır\n* ⛔ Hesaplar grup üyeliklerine göre katılmayabilir (Varsayılan değer: Yönetici grubu)\n* 🔑 Hiç oturum açmamış hesaplar katılmayabilir (Varsayılan değer: Kullanıma alınmış)", 12 | "Could not fetch groups" : "Gruplar alınamadı", 13 | "Setting saved" : "Ayarlar kaydedildi", 14 | "Could not save the setting" : "Ayar kaydedilemedi", 15 | "Account retention" : "Hesap saklama", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "Belirtilen gün süreyle oturum açmayan hesaplar silinir. Ayrıca hesapla ilgili tüm dosyalar ve diğer bilgiler de silinir.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "LDAP yazma desteği uygulaması kullanıma alınmamış ise LDAP üzerinden alınan hesaplar yalnızca yerel olarak silinir. Bu hesaplar LDAP üzerinde bulunmayı sürdürdüğünden yeniden belirebilirler.", 18 | "Keep accounts that never logged in" : "Hiç oturum açılmamış hesaplar tutulsun", 19 | "Account disabling:" : "Hesap kullanımdan kaldırılıyor:", 20 | "days" : "gün", 21 | "(0 to disable)" : "(kullanımdan kaldırmak için 0)", 22 | "Account expiration:" : "Hesapların silinme süresi:", 23 | "Guest account disabling:" : "Konuk hesabı kullanımdan kaldırılıyor:", 24 | "Guest account expiration:" : "Konuk hesapların silinme süresi:", 25 | "Exclude groups:" : "Katılmayacak gruplar:", 26 | "Ignore members of these groups from retention" : "Şu grupların üyeleri korunmasın" 27 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 28 | } -------------------------------------------------------------------------------- /l10n/ug.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "ھېساباتىڭىزغا مۇناسىۋەتلىك مۇھىم ئۇچۇرلار", 5 | "Account deletion" : "ھېسابات ئۆچۈرۈش", 6 | "You have not used your account since {date}." : "ھېساباتىڭىزنى {date} since دىن باشلاپ ئىشلىتىپ باقمىدىڭىز.", 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "ھېساباتىڭىزنى ساقلاش ئۈچۈن پەقەت توركۆرگۈڭىز بىلەن كىرىشىڭىز ياكى ئۈستەل يۈزى ياكى كۆچمە ئەپ بىلەن ئۇلىنىشىڭىز كېرەك. بولمىسا ھېساباتىڭىز ۋە ئۇلانغان بارلىق سانلىق مەلۇماتلار مەڭگۈلۈك ئۆچۈرۈلىدۇ.", 8 | "If you have any questions, please contact your administration." : "سوئالىڭىز بولسا ، باشقۇرغۇچىڭىز بىلەن ئالاقىلىشىڭ.", 9 | "Account retention (formerly User retention)" : "ھېساباتنى ساقلاش (ئىلگىرىكى ئىشلەتكۈچىنى ساقلاپ قېلىش)", 10 | "Deletes accounts that did not login in the last days." : "ئاخىرقى كۈنلەردە كىرمىگەن ھېساباتلارنى ئۆچۈرىدۇ.", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "ھېسابات بەلگىلەنگەن كۈن ئىچىدە كىرمىگەندە ئۆچۈرۈلىدۇ. بۇ يەنە ھېساباتقا مۇناسىۋەتلىك بارلىق ھۆججەت ۋە باشقا سانلىق مەلۇماتلارنى ئۆچۈرۈۋېتىدۇ.\n\n* [[مېھمانلار دېتالى] نىڭ نورمال ھېساباتى ۋە ھېساباتى ئۈچۈن ئوخشىمىغان ساقلاش مۇمكىنچىلىكى بار (https://apps.nextcloud.com/apps/guests)\n* Group گۇرۇپپا ئەزالىقىغا ئاساسەن ھېساباتنى چىقىرىۋېتىڭ (سۈكۈت: باشقۇرۇش گۇرۇپپىسى)\n* Never ئەزەلدىن كىرمىگەن ھېساباتلارنى چىقىرىۋېتىڭ (سۈكۈتتىكى: قوزغىتىلغان)", 12 | "Could not fetch groups" : "گۇرۇپپا ئېلىپ كېلەلمىدى", 13 | "Setting saved" : "تەڭشەك ساقلاندى", 14 | "Could not save the setting" : "تەڭشەكنى ساقلىيالمىدى", 15 | "Account retention" : "ھېساباتنى ساقلاش", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "ھېسابات بەلگىلەنگەن كۈن ئىچىدە كىرمىگەندە ئۆچۈرۈلىدۇ. بۇ يەنە ھېساباتقا مۇناسىۋەتلىك بارلىق ھۆججەت ۋە باشقا سانلىق مەلۇماتلارنى ئۆچۈرۈۋېتىدۇ.", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "ئەگەر LDAP يېزىش قوللاش دېتالى قوزغىتىلمىغان بولسا ، LDAP دىكى ھېساباتلار پەقەت يەرلىكتە ئۆچۈرۈلىدۇ. LDAP دا يەنىلا ئىشلەتكەندە ، ھېساباتلار قايتا كۆرۈنىدۇ.", 18 | "Keep accounts that never logged in" : "ئەزەلدىن كىرمىگەن ھېساباتلارنى ساقلاڭ", 19 | "Account disabling:" : "ھېساباتنى چەكلەش:", 20 | "days" : "كۈنلەر", 21 | "(0 to disable)" : "(0 نى چەكلەش)", 22 | "Account expiration:" : "ھېسابات مۇددىتى:", 23 | "Guest account disabling:" : "مېھمان ھېساباتىنى چەكلەش:", 24 | "Guest account expiration:" : "مېھمان ھېساباتىنىڭ ۋاقتى:", 25 | "Exclude groups:" : "گۇرۇپپىلارنى ئۆز ئىچىگە ئالمايدۇ:", 26 | "Ignore members of these groups from retention" : "بۇ گۇرۇپپىلارنىڭ ئەزالىرىنى ساقلاپ قېلىشقا پەرۋا قىلماڭ" 27 | }, 28 | "nplurals=2; plural=(n != 1);"); 29 | -------------------------------------------------------------------------------- /l10n/ug.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "ھېساباتىڭىزغا مۇناسىۋەتلىك مۇھىم ئۇچۇرلار", 3 | "Account deletion" : "ھېسابات ئۆچۈرۈش", 4 | "You have not used your account since {date}." : "ھېساباتىڭىزنى {date} since دىن باشلاپ ئىشلىتىپ باقمىدىڭىز.", 5 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "ھېساباتىڭىزنى ساقلاش ئۈچۈن پەقەت توركۆرگۈڭىز بىلەن كىرىشىڭىز ياكى ئۈستەل يۈزى ياكى كۆچمە ئەپ بىلەن ئۇلىنىشىڭىز كېرەك. بولمىسا ھېساباتىڭىز ۋە ئۇلانغان بارلىق سانلىق مەلۇماتلار مەڭگۈلۈك ئۆچۈرۈلىدۇ.", 6 | "If you have any questions, please contact your administration." : "سوئالىڭىز بولسا ، باشقۇرغۇچىڭىز بىلەن ئالاقىلىشىڭ.", 7 | "Account retention (formerly User retention)" : "ھېساباتنى ساقلاش (ئىلگىرىكى ئىشلەتكۈچىنى ساقلاپ قېلىش)", 8 | "Deletes accounts that did not login in the last days." : "ئاخىرقى كۈنلەردە كىرمىگەن ھېساباتلارنى ئۆچۈرىدۇ.", 9 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "ھېسابات بەلگىلەنگەن كۈن ئىچىدە كىرمىگەندە ئۆچۈرۈلىدۇ. بۇ يەنە ھېساباتقا مۇناسىۋەتلىك بارلىق ھۆججەت ۋە باشقا سانلىق مەلۇماتلارنى ئۆچۈرۈۋېتىدۇ.\n\n* [[مېھمانلار دېتالى] نىڭ نورمال ھېساباتى ۋە ھېساباتى ئۈچۈن ئوخشىمىغان ساقلاش مۇمكىنچىلىكى بار (https://apps.nextcloud.com/apps/guests)\n* Group گۇرۇپپا ئەزالىقىغا ئاساسەن ھېساباتنى چىقىرىۋېتىڭ (سۈكۈت: باشقۇرۇش گۇرۇپپىسى)\n* Never ئەزەلدىن كىرمىگەن ھېساباتلارنى چىقىرىۋېتىڭ (سۈكۈتتىكى: قوزغىتىلغان)", 10 | "Could not fetch groups" : "گۇرۇپپا ئېلىپ كېلەلمىدى", 11 | "Setting saved" : "تەڭشەك ساقلاندى", 12 | "Could not save the setting" : "تەڭشەكنى ساقلىيالمىدى", 13 | "Account retention" : "ھېساباتنى ساقلاش", 14 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "ھېسابات بەلگىلەنگەن كۈن ئىچىدە كىرمىگەندە ئۆچۈرۈلىدۇ. بۇ يەنە ھېساباتقا مۇناسىۋەتلىك بارلىق ھۆججەت ۋە باشقا سانلىق مەلۇماتلارنى ئۆچۈرۈۋېتىدۇ.", 15 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "ئەگەر LDAP يېزىش قوللاش دېتالى قوزغىتىلمىغان بولسا ، LDAP دىكى ھېساباتلار پەقەت يەرلىكتە ئۆچۈرۈلىدۇ. LDAP دا يەنىلا ئىشلەتكەندە ، ھېساباتلار قايتا كۆرۈنىدۇ.", 16 | "Keep accounts that never logged in" : "ئەزەلدىن كىرمىگەن ھېساباتلارنى ساقلاڭ", 17 | "Account disabling:" : "ھېساباتنى چەكلەش:", 18 | "days" : "كۈنلەر", 19 | "(0 to disable)" : "(0 نى چەكلەش)", 20 | "Account expiration:" : "ھېسابات مۇددىتى:", 21 | "Guest account disabling:" : "مېھمان ھېساباتىنى چەكلەش:", 22 | "Guest account expiration:" : "مېھمان ھېساباتىنىڭ ۋاقتى:", 23 | "Exclude groups:" : "گۇرۇپپىلارنى ئۆز ئىچىگە ئالمايدۇ:", 24 | "Ignore members of these groups from retention" : "بۇ گۇرۇپپىلارنىڭ ئەزالىرىنى ساقلاپ قېلىشقا پەرۋا قىلماڭ" 25 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 26 | } -------------------------------------------------------------------------------- /l10n/uk.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "Важлива інформація стосовно вашого облікового запису", 5 | "Account deletion" : "Вилучення облікового запису", 6 | "You have not used your account since {date}." : "Ви не використовували свій обліковий запис починаючи з {date}.", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Згідно з налаштованою політикою неактивні облікові записи буде вимкнено через %n день.","Згідно з налаштованою політикою неактивні облікові записи буде вимкнено через %n дні.","Згідно з налаштованою політикою неактивні облікові записи буде вимкнено через %n днів.","Згідно з налаштованою політикою неактивні облікові записи буде вимкнено через %n днів."], 8 | "Could not fetch groups" : "Не вдалося отримати групи", 9 | "Setting saved" : "Налаштування збережено", 10 | "Could not save the setting" : "Не вдалося зберегти налаштування", 11 | "days" : "днів", 12 | "(0 to disable)" : "(0 для вимкнення)", 13 | "Exclude groups:" : "Виключити групи:", 14 | "Ignore members of these groups from retention" : "Ігнорувати учасників цих груп від утримання" 15 | }, 16 | "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);"); 17 | -------------------------------------------------------------------------------- /l10n/uk.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "Важлива інформація стосовно вашого облікового запису", 3 | "Account deletion" : "Вилучення облікового запису", 4 | "You have not used your account since {date}." : "Ви не використовували свій обліковий запис починаючи з {date}.", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["Згідно з налаштованою політикою неактивні облікові записи буде вимкнено через %n день.","Згідно з налаштованою політикою неактивні облікові записи буде вимкнено через %n дні.","Згідно з налаштованою політикою неактивні облікові записи буде вимкнено через %n днів.","Згідно з налаштованою політикою неактивні облікові записи буде вимкнено через %n днів."], 6 | "Could not fetch groups" : "Не вдалося отримати групи", 7 | "Setting saved" : "Налаштування збережено", 8 | "Could not save the setting" : "Не вдалося зберегти налаштування", 9 | "days" : "днів", 10 | "(0 to disable)" : "(0 для вимкнення)", 11 | "Exclude groups:" : "Виключити групи:", 12 | "Ignore members of these groups from retention" : "Ігнорувати учасників цих груп від утримання" 13 | },"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);" 14 | } -------------------------------------------------------------------------------- /l10n/vi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Account deletion" : "Xóa tài khoản", 5 | "days" : "ngày" 6 | }, 7 | "nplurals=1; plural=0;"); 8 | -------------------------------------------------------------------------------- /l10n/vi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Account deletion" : "Xóa tài khoản", 3 | "days" : "ngày" 4 | },"pluralForm" :"nplurals=1; plural=0;" 5 | } -------------------------------------------------------------------------------- /l10n/zh_CN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "关于您账号的详细信息", 5 | "Account deletion" : "账号删除", 6 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "要保留您的帐户,您只需使用浏览器登录或连接桌面或移动应用程序即可。否则,您的帐户和所有连接的数据将被永久删除。", 7 | "Could not fetch groups" : "无法获取群组", 8 | "Setting saved" : "设置已保存", 9 | "Could not save the setting" : "无法保存设置", 10 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "如果用户在指定天数内未登录,则帐户将被删除。这还将删除与该帐户相关的所有文件和其他数据。", 11 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "除非启用了 LDAP 写入支持应用程序,否则 LDAP 中的帐户只会在本地删除。当 LDAP 上仍可用时,帐户将重新出现。", 12 | "days" : "天", 13 | "(0 to disable)" : "(选0禁用)", 14 | "Exclude groups:" : "排除分组:" 15 | }, 16 | "nplurals=1; plural=0;"); 17 | -------------------------------------------------------------------------------- /l10n/zh_CN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "关于您账号的详细信息", 3 | "Account deletion" : "账号删除", 4 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "要保留您的帐户,您只需使用浏览器登录或连接桌面或移动应用程序即可。否则,您的帐户和所有连接的数据将被永久删除。", 5 | "Could not fetch groups" : "无法获取群组", 6 | "Setting saved" : "设置已保存", 7 | "Could not save the setting" : "无法保存设置", 8 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "如果用户在指定天数内未登录,则帐户将被删除。这还将删除与该帐户相关的所有文件和其他数据。", 9 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "除非启用了 LDAP 写入支持应用程序,否则 LDAP 中的帐户只会在本地删除。当 LDAP 上仍可用时,帐户将重新出现。", 10 | "days" : "天", 11 | "(0 to disable)" : "(选0禁用)", 12 | "Exclude groups:" : "排除分组:" 13 | },"pluralForm" :"nplurals=1; plural=0;" 14 | } -------------------------------------------------------------------------------- /l10n/zh_HK.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "有關您帳戶的重要資訊", 5 | "Account deletion" : "帳戶刪除", 6 | "You have not used your account since {date}." : "自 {date}以來您沒有使用過您的帳戶。", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["由於帳戶的配置策略,不活躍的帳戶將在 %n 天後被停用。"], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["由於帳戶的配置策略,不活躍的帳戶將在 %n 天後被刪除。"], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "要保留您的帳戶,您只需使用瀏覽器登錄或連接桌上或流動應用程式。否則您的帳戶和所有連接的數據將被永久刪除。", 10 | "If you have any questions, please contact your administration." : "如果您有任何問題,請聯繫您的管理員。", 11 | "Account retention (formerly User retention)" : "帳戶保留(以前的用戶保留)", 12 | "Deletes accounts that did not login in the last days." : "刪除過去幾天沒登入的帳戶。", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "如果帳戶在指定的天數內無登入就會被刪除。並將刪除該帳戶所有的檔案與其他資料。\n\n* 🛂 可以針對一般使帳戶與 [guests 應用程式](https://apps.nextcloud.com/apps/guests) 的帳戶設定不同的保留時間\n* ⛔ 可以根據群組成員身份排除帳戶(預設:admin 群組)\n* 🔑 排除從未登入的帳號(預設:啟用)", 14 | "Could not fetch groups" : "無法擷取群組", 15 | "Setting saved" : "設定已保存", 16 | "Could not save the setting" : "無法保存設定", 17 | "Account retention" : "帳戶保留", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "如果帳戶在指定的天數內無登入就會被刪除。並將刪除該帳戶所有的檔案與其他資料。", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "除非啟用了 LDAP 寫入支援應用程式,否則從 LDAP 而來的帳戶僅會在近端刪除。若在 LDAP 上仍然可用,帳戶將會重新出現。", 20 | "Keep accounts that never logged in" : "保留從未登錄過的帳戶", 21 | "Account disabling:" : "帳戶停用:", 22 | "days" : "日", 23 | "(0 to disable)" : "(0 = 停用)", 24 | "Account expiration:" : "帳戶有效期至:", 25 | "Guest account disabling:" : "訪客帳戶停用:", 26 | "Guest account expiration:" : "訪客帳戶有效期至:", 27 | "Exclude groups:" : "排除的群組:", 28 | "Ignore members of these groups from retention" : "這些群組的成員不包括在保留中" 29 | }, 30 | "nplurals=1; plural=0;"); 31 | -------------------------------------------------------------------------------- /l10n/zh_HK.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "有關您帳戶的重要資訊", 3 | "Account deletion" : "帳戶刪除", 4 | "You have not used your account since {date}." : "自 {date}以來您沒有使用過您的帳戶。", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["由於帳戶的配置策略,不活躍的帳戶將在 %n 天後被停用。"], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["由於帳戶的配置策略,不活躍的帳戶將在 %n 天後被刪除。"], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "要保留您的帳戶,您只需使用瀏覽器登錄或連接桌上或流動應用程式。否則您的帳戶和所有連接的數據將被永久刪除。", 8 | "If you have any questions, please contact your administration." : "如果您有任何問題,請聯繫您的管理員。", 9 | "Account retention (formerly User retention)" : "帳戶保留(以前的用戶保留)", 10 | "Deletes accounts that did not login in the last days." : "刪除過去幾天沒登入的帳戶。", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "如果帳戶在指定的天數內無登入就會被刪除。並將刪除該帳戶所有的檔案與其他資料。\n\n* 🛂 可以針對一般使帳戶與 [guests 應用程式](https://apps.nextcloud.com/apps/guests) 的帳戶設定不同的保留時間\n* ⛔ 可以根據群組成員身份排除帳戶(預設:admin 群組)\n* 🔑 排除從未登入的帳號(預設:啟用)", 12 | "Could not fetch groups" : "無法擷取群組", 13 | "Setting saved" : "設定已保存", 14 | "Could not save the setting" : "無法保存設定", 15 | "Account retention" : "帳戶保留", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "如果帳戶在指定的天數內無登入就會被刪除。並將刪除該帳戶所有的檔案與其他資料。", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "除非啟用了 LDAP 寫入支援應用程式,否則從 LDAP 而來的帳戶僅會在近端刪除。若在 LDAP 上仍然可用,帳戶將會重新出現。", 18 | "Keep accounts that never logged in" : "保留從未登錄過的帳戶", 19 | "Account disabling:" : "帳戶停用:", 20 | "days" : "日", 21 | "(0 to disable)" : "(0 = 停用)", 22 | "Account expiration:" : "帳戶有效期至:", 23 | "Guest account disabling:" : "訪客帳戶停用:", 24 | "Guest account expiration:" : "訪客帳戶有效期至:", 25 | "Exclude groups:" : "排除的群組:", 26 | "Ignore members of these groups from retention" : "這些群組的成員不包括在保留中" 27 | },"pluralForm" :"nplurals=1; plural=0;" 28 | } -------------------------------------------------------------------------------- /l10n/zh_TW.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "user_retention", 3 | { 4 | "Important information regarding your account" : "關於您帳號的重要資訊", 5 | "Account deletion" : "帳號刪除", 6 | "You have not used your account since {date}." : "您自 {date} 起就沒有使用過您的帳號。", 7 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["因為帳號設定的策略,不活躍的帳號將會在%n天後被停用。"], 8 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["由於帳號的設定策略,不活躍的帳號將在%n天後被刪除。"], 9 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "要保留您的帳號,您只需要使用瀏覽器登入,或使用桌面或行動裝置應用程式連線。否則您的帳號與所有已連結的資料將會被永久刪除。", 10 | "If you have any questions, please contact your administration." : "若您有任何問題,請聯絡您的管理員。", 11 | "Account retention (formerly User retention)" : "帳號保留(以前的使用者保留)", 12 | "Deletes accounts that did not login in the last days." : "刪除過去幾天內未登入的帳號。", 13 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "如果帳號在指定的天數內無登入就會被刪除。並將刪除該帳號所有的檔案與其他資料。\n\n* 🛂 可以針對一般使帳號與 [guests 應用程式](https://apps.nextcloud.com/apps/guests)的帳號設定不同的保留時間\n* ⛔ 可以根據群組成員身份排除帳號(預設:admin 群組)\n* 🔑 排除從未登入的帳號(預設:啟用)", 14 | "Could not fetch groups" : "無法擷取群組", 15 | "Setting saved" : "設定已儲存", 16 | "Could not save the setting" : "無法儲存設定", 17 | "Account retention" : "帳號保留", 18 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "如果帳號在指定的天數內無登入就會被刪除。並將刪除該帳號所有的檔案與其他資料。", 19 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "除非啟用了 LDAP 寫入支援應用程式,否則從 LDAP 而來的帳號僅會在本機刪除。若在 LDAP 上仍然可用,帳號將會重新出現。", 20 | "Keep accounts that never logged in" : "保留從未登入過的帳號", 21 | "Account disabling:" : "帳號停用:", 22 | "days" : "日", 23 | "(0 to disable)" : "(設定為 0 以停用)", 24 | "Account expiration:" : "帳號過期:", 25 | "Guest account disabling:" : "訪客帳號停用:", 26 | "Guest account expiration:" : "訪客帳號過期:", 27 | "Exclude groups:" : "排除群組:", 28 | "Ignore members of these groups from retention" : "從保留中忽略這些群組的成員" 29 | }, 30 | "nplurals=1; plural=0;"); 31 | -------------------------------------------------------------------------------- /l10n/zh_TW.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Important information regarding your account" : "關於您帳號的重要資訊", 3 | "Account deletion" : "帳號刪除", 4 | "You have not used your account since {date}." : "您自 {date} 起就沒有使用過您的帳號。", 5 | "_Due to the configured policy for accounts, inactive accounts will be disabled after %n day._::_Due to the configured policy for accounts, inactive accounts will be disabled after %n days._" : ["因為帳號設定的策略,不活躍的帳號將會在%n天後被停用。"], 6 | "_Due to the configured policy for accounts, inactive accounts will be deleted after %n day._::_Due to the configured policy for accounts, inactive accounts will be deleted after %n days._" : ["由於帳號的設定策略,不活躍的帳號將在%n天後被刪除。"], 7 | "To keep your account you only need to login with your browser or connect with a desktop or mobile app. Otherwise your account and all the connected data will be permanently deleted." : "要保留您的帳號,您只需要使用瀏覽器登入,或使用桌面或行動裝置應用程式連線。否則您的帳號與所有已連結的資料將會被永久刪除。", 8 | "If you have any questions, please contact your administration." : "若您有任何問題,請聯絡您的管理員。", 9 | "Account retention (formerly User retention)" : "帳號保留(以前的使用者保留)", 10 | "Deletes accounts that did not login in the last days." : "刪除過去幾天內未登入的帳號。", 11 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account.\n\n* 🛂 Different retention possible for normal accounts and accounts of the [guests app](https://apps.nextcloud.com/apps/guests)\n* ⛔ Exclude accounts based on group memberships (default: admin group)\n* 🔑 Exclude accounts that never logged in (default: enabled)" : "如果帳號在指定的天數內無登入就會被刪除。並將刪除該帳號所有的檔案與其他資料。\n\n* 🛂 可以針對一般使帳號與 [guests 應用程式](https://apps.nextcloud.com/apps/guests)的帳號設定不同的保留時間\n* ⛔ 可以根據群組成員身份排除帳號(預設:admin 群組)\n* 🔑 排除從未登入的帳號(預設:啟用)", 12 | "Could not fetch groups" : "無法擷取群組", 13 | "Setting saved" : "設定已儲存", 14 | "Could not save the setting" : "無法儲存設定", 15 | "Account retention" : "帳號保留", 16 | "Accounts are deleted when they did not log in within the given number of days. This will also delete all files and other data associated with the account." : "如果帳號在指定的天數內無登入就會被刪除。並將刪除該帳號所有的檔案與其他資料。", 17 | "Accounts from LDAP are deleted locally only, unless the LDAP write support app is enabled. When still available on LDAP, accounts will reappear." : "除非啟用了 LDAP 寫入支援應用程式,否則從 LDAP 而來的帳號僅會在本機刪除。若在 LDAP 上仍然可用,帳號將會重新出現。", 18 | "Keep accounts that never logged in" : "保留從未登入過的帳號", 19 | "Account disabling:" : "帳號停用:", 20 | "days" : "日", 21 | "(0 to disable)" : "(設定為 0 以停用)", 22 | "Account expiration:" : "帳號過期:", 23 | "Guest account disabling:" : "訪客帳號停用:", 24 | "Guest account expiration:" : "訪客帳號過期:", 25 | "Exclude groups:" : "排除群組:", 26 | "Ignore members of these groups from retention" : "從保留中忽略這些群組的成員" 27 | },"pluralForm" :"nplurals=1; plural=0;" 28 | } -------------------------------------------------------------------------------- /lib/AppInfo/Application.php: -------------------------------------------------------------------------------- 1 | getConfig()->setUserValue( 35 | $parameters['uid'], 36 | 'user_retention', 37 | 'user_created_at', 38 | (string)time() 39 | ); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /lib/BackgroundJob/ExpireUsers.php: -------------------------------------------------------------------------------- 1 | setInterval(60 * 60 * 24); 24 | } 25 | 26 | protected function run($argument): void { 27 | $this->service->runCron(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /lib/Settings/Admin.php: -------------------------------------------------------------------------------- 1 | config->getAppValue('user_retention', 'keep_users_without_login', 'yes') === 'yes'; 29 | $this->initialStateService->provideInitialState('keep_users_without_login', $keepUsersWithoutLogin); 30 | $userDaysDisable = (int)$this->config->getAppValue('user_retention', 'user_days_disable', '0'); 31 | $this->initialStateService->provideInitialState('user_days_disable', $userDaysDisable); 32 | $userDays = (int)$this->config->getAppValue('user_retention', 'user_days', '0'); 33 | $this->initialStateService->provideInitialState('user_days', $userDays); 34 | $guestDaysDisable = (int)$this->config->getAppValue('user_retention', 'guest_days_disable', '0'); 35 | $this->initialStateService->provideInitialState('guest_days_disable', $guestDaysDisable); 36 | $guestDays = (int)$this->config->getAppValue('user_retention', 'guest_days', '0'); 37 | $this->initialStateService->provideInitialState('guest_days', $guestDays); 38 | 39 | $this->initialStateService->provideInitialState('guests_app_installed', $this->appManager->isInstalled('guests')); 40 | $this->initialStateService->provideInitialState('ldap_backend_enabled', $this->appManager->isEnabledForUser('user_ldap')); 41 | 42 | $excludedGroups = $this->config->getAppValue('user_retention', 'excluded_groups', '["admin"]'); 43 | $excludedGroups = json_decode($excludedGroups, true); 44 | $excludedGroups = \is_array($excludedGroups) ? $excludedGroups : []; 45 | $groups = $this->getGroupDetailsArray($excludedGroups, 'excluded_groups'); 46 | $this->initialStateService->provideInitialState('excluded_groups', $groups); 47 | 48 | return new TemplateResponse('user_retention', 'settings/admin'); 49 | } 50 | 51 | public function getSection(): string { 52 | return 'server'; 53 | } 54 | 55 | public function getPriority(): int { 56 | return 50; 57 | } 58 | 59 | protected function getGroupDetailsArray(array $gids, string $configKey): array { 60 | $groups = []; 61 | foreach ($gids as $gid) { 62 | $group = $this->groupManager->get($gid); 63 | if ($group instanceof IGroup) { 64 | $groups[] = [ 65 | 'id' => $group->getGID(), 66 | 'displayname' => $group->getDisplayName(), 67 | ]; 68 | } 69 | } 70 | 71 | if (count($gids) !== count($groups)) { 72 | $gids = array_map(static function (array $group) { 73 | return $group['id']; 74 | }, $groups); 75 | $this->config->setAppValue('user_retention', $configKey, json_encode($gids)); 76 | } 77 | 78 | return $groups; 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /lib/SkipUserException.php: -------------------------------------------------------------------------------- 1 | logParameters; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "user_retention", 3 | "description": "Deletes users that did not log in in the last days.", 4 | "version": "1.15.0-dev.0", 5 | "author": "Joas Schilling ", 6 | "license": "AGPL-3.0-or-later", 7 | "private": true, 8 | "scripts": { 9 | "build": "NODE_ENV=production webpack --progress --config webpack.js", 10 | "dev": "NODE_ENV=development webpack --progress --config webpack.js", 11 | "watch": "NODE_ENV=development webpack --progress --watch --config webpack.js", 12 | "lint": "eslint --ext .js,.vue src", 13 | "lint:fix": "eslint --ext .js,.vue src --fix", 14 | "stylelint": "stylelint css/*.css css/*.scss src/**/*.scss src/**/*.vue", 15 | "stylelint:fix": "stylelint css/*.css css/*.scss src/**/*.scss src/**/*.vue --fix", 16 | "test:cypress": "cd cypress && ./runLocal.sh run", 17 | "test:cypress:open": "cd cypress && ./runLocal.sh open" 18 | }, 19 | "dependencies": { 20 | "@nextcloud/axios": "^2.5.1", 21 | "@nextcloud/dialogs": "^6.3.0", 22 | "@nextcloud/initial-state": "^2.2.0", 23 | "@nextcloud/router": "^3.0.1", 24 | "@nextcloud/vue": "^8.27.0", 25 | "debounce": "^2.1.1", 26 | "vue": "^2.7.16", 27 | "vuex": "^3.6.2" 28 | }, 29 | "browserslist": [ 30 | "extends @nextcloud/browserslist-config" 31 | ], 32 | "engines": { 33 | "node": "^20.0.0", 34 | "npm": "^10.0.0" 35 | }, 36 | "devDependencies": { 37 | "@cypress/browserify-preprocessor": "^3.0.2", 38 | "@nextcloud/babel-config": "^1.2.0", 39 | "@nextcloud/browserslist-config": "^3.0.1", 40 | "@nextcloud/cypress": "^1.0.0-beta.15", 41 | "@nextcloud/eslint-config": "^8.4.2", 42 | "@nextcloud/stylelint-config": "^3.1.0", 43 | "@nextcloud/webpack-vue-config": "^6.3.0", 44 | "cypress": "^13.17.0", 45 | "eslint-plugin-cypress": "^3.5.0", 46 | "vue-template-compiler": "^2.7.16" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /psalm.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | import Vue from 'vue' 7 | import AdminSettings from './views/AdminSettings.vue' 8 | 9 | Vue.prototype.t = t 10 | Vue.prototype.OCP = OCP 11 | 12 | export default new Vue({ 13 | el: '#user_retention', 14 | render: h => h(AdminSettings), 15 | }) 16 | -------------------------------------------------------------------------------- /stylelint.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | const stylelintConfig = require('@nextcloud/stylelint-config') 6 | 7 | module.exports = stylelintConfig 8 | -------------------------------------------------------------------------------- /templates/settings/admin.php: -------------------------------------------------------------------------------- 1 | 9 |
10 | -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- 1 | enableApp('user_retention'); 21 | Server::get(IAppManager::class)->loadApp('user_retention'); 22 | -------------------------------------------------------------------------------- /tests/phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 15 | 16 | . 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /tests/psalm-baseline.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /tests/stub.phpstub: -------------------------------------------------------------------------------- 1 | 5 | // SPDX-License-Identifier: AGPL-3.0-or-later 6 | 7 | namespace { 8 | use OCP\IServerContainer; 9 | 10 | class OC { 11 | /** @var IServerContainer */ 12 | static $server; 13 | } 14 | } 15 | 16 | namespace OC\Authentication\Token { 17 | use OCP\AppFramework\Db\Entity; 18 | 19 | class Manager { 20 | public function getTokenByUser(string $uid): array {} 21 | } 22 | /** 23 | * @method int getLastActivity() 24 | */ 25 | class PublicKeyToken extends Entity { 26 | } 27 | } 28 | 29 | namespace OCA\Guests { 30 | use OCP\User\Backend\ABackend; 31 | 32 | abstract class UserBackend extends ABackend {} 33 | } 34 | -------------------------------------------------------------------------------- /vendor-bin/csfixer/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "platform": { 4 | "php": "8.1" 5 | }, 6 | "sort-packages": true 7 | }, 8 | "require-dev": { 9 | "friendsofphp/php-cs-fixer": "^3.67.0", 10 | "nextcloud/coding-standard": "^1.3.2" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /vendor-bin/phpunit/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "platform": { 4 | "php": "8.1" 5 | } 6 | }, 7 | "require-dev": { 8 | "phpunit/phpunit": "^9.6" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /vendor-bin/psalm/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "platform": { 4 | "php": "8.1" 5 | } 6 | }, 7 | "require-dev": { 8 | "vimeo/psalm": "^5.26.1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /webpack.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | const webpackConfig = require('@nextcloud/webpack-vue-config') 6 | 7 | module.exports = webpackConfig 8 | --------------------------------------------------------------------------------