├── .eslintrc.js ├── .github ├── CODEOWNERS ├── dependabot.yml └── workflows │ ├── appstore-build-publish.yml │ ├── integration-test.yml │ ├── lint-eslint.yml │ ├── lint-info-xml.yml │ ├── lint-php-cs.yml │ ├── lint-php.yml │ ├── node.yml │ ├── pr-feedback.yml │ ├── psalm-matrix.yml │ └── reuse.yml ├── .gitignore ├── .l10nignore ├── .php-cs-fixer.dist.php ├── .tx └── config ├── AUTHORS.md ├── CHANGELOG.md ├── COPYING ├── LICENSES ├── AGPL-3.0-or-later.txt ├── CC0-1.0.txt ├── LicenseRef-DropboxTrademarks.txt └── MIT.txt ├── README.md ├── REUSE.toml ├── appinfo ├── info.xml └── routes.php ├── composer.json ├── composer.lock ├── img ├── app-dark.svg ├── app.svg ├── chromium.png ├── chromium.png.license ├── firefox.png ├── firefox.png.license ├── message.svg ├── message.svg.license ├── post.svg ├── post.svg.license ├── screenshot1.jpg └── screenshot1.jpg.license ├── l10n ├── .gitkeep ├── ar.js ├── ar.json ├── ast.js ├── ast.json ├── az.js ├── az.json ├── bg.js ├── bg.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_419.js ├── es_419.json ├── es_AR.js ├── es_AR.json ├── es_CL.js ├── es_CL.json ├── es_CO.js ├── es_CO.json ├── es_CR.js ├── es_CR.json ├── es_DO.js ├── es_DO.json ├── es_EC.js ├── es_EC.json ├── es_GT.js ├── es_GT.json ├── es_HN.js ├── es_HN.json ├── es_MX.js ├── es_MX.json ├── es_NI.js ├── es_NI.json ├── es_PA.js ├── es_PA.json ├── es_PE.js ├── es_PE.json ├── es_PR.js ├── es_PR.json ├── es_PY.js ├── es_PY.json ├── es_SV.js ├── es_SV.json ├── es_UY.js ├── es_UY.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 ├── ia.js ├── ia.json ├── id.js ├── id.json ├── is.js ├── is.json ├── it.js ├── it.json ├── ja.js ├── ja.json ├── ka.js ├── ka.json ├── ka_GE.js ├── ka_GE.json ├── ko.js ├── ko.json ├── lt_LT.js ├── lt_LT.json ├── lv.js ├── lv.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 ├── si.js ├── si.json ├── sk.js ├── sk.json ├── sl.js ├── sl.json ├── sq.js ├── sq.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 ├── uz.js ├── uz.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 │ └── ImportDropboxJob.php ├── Command │ └── StartImport.php ├── Controller │ ├── ConfigController.php │ └── DropboxAPIController.php ├── Migration │ └── Version030002Date20241021105515.php ├── Notification │ └── Notifier.php ├── Service │ ├── DropboxAPIService.php │ ├── DropboxStorageAPIService.php │ ├── SecretService.php │ └── UserScopeService.php └── Settings │ ├── Admin.php │ ├── AdminSection.php │ ├── Personal.php │ └── PersonalSection.php ├── makefile ├── package-lock.json ├── package.json ├── psalm.xml ├── src ├── adminSettings.js ├── components │ ├── AdminSettings.vue │ ├── PersonalSettings.vue │ └── icons │ │ └── DropboxIcon.vue ├── personalSettings.js └── utils.js ├── stylelint.config.js ├── templates ├── adminSettings.php └── personalSettings.php ├── tests ├── psalm-baseline.xml ├── psalm-baseline.xml.license └── stub.phpstub └── webpack.js /.eslintrc.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | module.exports = { 7 | globals: { 8 | appVersion: true 9 | }, 10 | parserOptions: { 11 | requireConfigFile: false 12 | }, 13 | extends: [ 14 | '@nextcloud' 15 | ], 16 | rules: { 17 | 'jsdoc/require-jsdoc': 'off', 18 | 'jsdoc/tag-lines': 'off', 19 | 'vue/first-attribute-linebreak': 'off', 20 | 'import/extensions': 'off' 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | /appinfo/info.xml @marcelklehr @julien-nc 4 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2025 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 | - package-ecosystem: npm 14 | directory: "/" 15 | schedule: 16 | interval: weekly 17 | day: saturday 18 | time: "03:00" 19 | timezone: Europe/Paris 20 | open-pull-requests-limit: 10 21 | - package-ecosystem: "github-actions" 22 | directory: "/" 23 | schedule: 24 | interval: weekly 25 | day: saturday 26 | time: "03:00" 27 | timezone: Europe/Paris 28 | open-pull-requests-limit: 10 -------------------------------------------------------------------------------- /.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 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/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: 12 | pull_request: 13 | push: 14 | branches: 15 | - master 16 | - main 17 | - stable* 18 | 19 | concurrency: 20 | group: psalm-${{ github.head_ref || github.run_id }} 21 | cancel-in-progress: true 22 | 23 | permissions: 24 | contents: read 25 | 26 | jobs: 27 | matrix: 28 | runs-on: ubuntu-latest-low 29 | outputs: 30 | ocp-matrix: ${{ steps.versions.outputs.ocp-matrix }} 31 | steps: 32 | - name: Checkout app 33 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 34 | with: 35 | persist-credentials: false 36 | 37 | - name: Get version matrix 38 | id: versions 39 | uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 40 | 41 | - name: Check enforcement of minimum PHP version ${{ steps.versions.outputs.php-min }} in psalm.xml 42 | run: grep 'phpVersion="${{ steps.versions.outputs.php-min }}' psalm.xml 43 | 44 | static-analysis: 45 | runs-on: ubuntu-latest 46 | needs: matrix 47 | strategy: 48 | # do not stop on another job's failure 49 | fail-fast: false 50 | matrix: ${{ fromJson(needs.matrix.outputs.ocp-matrix) }} 51 | 52 | name: static-psalm-analysis ${{ matrix.ocp-version }} 53 | steps: 54 | - name: Checkout 55 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 56 | with: 57 | persist-credentials: false 58 | 59 | - name: Set up php${{ matrix.php-versions }} 60 | uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0 61 | with: 62 | php-version: ${{ matrix.php-versions }} 63 | extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite 64 | coverage: none 65 | ini-file: development 66 | # Temporary workaround for missing pcntl_* in PHP 8.3 67 | ini-values: disable_functions= 68 | env: 69 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 70 | 71 | - name: Install dependencies 72 | run: | 73 | composer remove nextcloud/ocp --dev 74 | composer i 75 | 76 | 77 | - name: Install dependencies # zizmor: ignore[template-injection] 78 | run: composer require --dev 'nextcloud/ocp:${{ matrix.ocp-version }}' --ignore-platform-reqs --with-dependencies 79 | 80 | - name: Run coding standards check 81 | run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github 82 | 83 | summary: 84 | runs-on: ubuntu-latest-low 85 | needs: static-analysis 86 | 87 | if: always() 88 | 89 | name: static-psalm-analysis-summary 90 | 91 | steps: 92 | - name: Summary status 93 | run: if ${{ needs.static-analysis.result != 'success' }}; then exit 1; fi 94 | -------------------------------------------------------------------------------- /.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 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 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | js/ 4 | .code-workspace 5 | .DS_Store 6 | .idea/ 7 | .vscode/ 8 | .vscode-upload.json 9 | .*.sw* 10 | node_modules 11 | /vendor 12 | -------------------------------------------------------------------------------- /.l10nignore: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | # compiled vue templates 4 | js/ 5 | vendor/ 6 | -------------------------------------------------------------------------------- /.php-cs-fixer.dist.php: -------------------------------------------------------------------------------- 1 | getFinder() 17 | ->in(__DIR__ . '/lib'); 18 | return $config; 19 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | lang_map = th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk 4 | 5 | [o:nextcloud:p:nextcloud:r:integration_dropbox] 6 | file_filter = translationfiles//integration_dropbox.po 7 | source_file = translationfiles/templates/integration_dropbox.pot 8 | source_lang = en 9 | type = PO 10 | 11 | -------------------------------------------------------------------------------- /AUTHORS.md: -------------------------------------------------------------------------------- 1 | 5 | # Authors 6 | 7 | - Andy Scherzinger 8 | - John Molakvoæ 9 | - Johnny A. dos Santos 10 | - Julien Veyssier 11 | - Julius Härtl 12 | - Marcel Klehr 13 | - rakekniven <2069590+rakekniven@users.noreply.github.com> 14 | - Vitor Mattos 15 | -------------------------------------------------------------------------------- /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 6 | associated documentation files (the "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the 9 | following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all copies or substantial 12 | portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 15 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO 16 | EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 18 | USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 5 | # Dropbox integration into Nextcloud 6 | 7 | [![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/integration_dropbox)](https://api.reuse.software/info/github.com/nextcloud/integration_dropbox) 8 | 9 | 🧊 Dropbox integration allows you to automatically import your Dropbox files into Nextcloud. 10 | 11 | ## 🔧 Configuration 12 | 13 | ### User settings 14 | 15 | The account configuration and data migration happens in the "Data migration" user settings section. 16 | 17 | ### Admin settings 18 | 19 | There also is a "Connected accounts" **admin** settings section to set your OAuth application ID and secret to let Nextcloud users authenticate to Dropbox. 20 | -------------------------------------------------------------------------------- /REUSE.toml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | version = 1 4 | SPDX-PackageName = "integration_dropbox" 5 | SPDX-PackageSupplier = "Nextcloud " 6 | SPDX-PackageDownloadLocation = "https://github.com/nextcloud/integration_dropbox" 7 | 8 | [[annotations]] 9 | path = ["l10n/**.js", "l10n/**.json"] 10 | precedence = "aggregate" 11 | SPDX-FileCopyrightText = "2020-2024 Nextcloud translators" 12 | SPDX-License-Identifier = "AGPL-3.0-or-later" 13 | 14 | [[annotations]] 15 | path = [".tx/config", "package-lock.json", "package.json"] 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 = ["composer.json", "composer.lock"] 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 = ["img/app.svg", "img/app-dark.svg"] 28 | precedence = "aggregate" 29 | SPDX-FileCopyrightText = "2025 Dropbox International Unlimited Company" 30 | SPDX-License-Identifier = "LicenseRef-DropboxTrademarks" 31 | -------------------------------------------------------------------------------- /appinfo/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | integration_dropbox 8 | Dropbox integration 9 | Import Dropbox data in Nextcloud 10 | 11 | 4.0.0-dev 12 | agpl 13 | Julien Veyssier 14 | Dropbox 15 | 16 | https://github.com/nextcloud/integration_dropbox/wikis 17 | 18 | integration 19 | https://github.com/nextcloud/integration_dropbox 20 | https://github.com/nextcloud/integration_dropbox/issues 21 | https://github.com/nextcloud/integration_dropbox/raw/master/img/screenshot1.jpg 22 | 23 | 24 | 25 | 26 | OCA\Dropbox\Command\StartImport 27 | 28 | 29 | OCA\Dropbox\Settings\Admin 30 | OCA\Dropbox\Settings\AdminSection 31 | OCA\Dropbox\Settings\Personal 32 | OCA\Dropbox\Settings\PersonalSection 33 | 34 | 35 | -------------------------------------------------------------------------------- /appinfo/routes.php: -------------------------------------------------------------------------------- 1 | [ 10 | ['name' => 'config#setConfig', 'url' => '/config', 'verb' => 'PUT'], 11 | ['name' => 'config#submitAccessCode', 'url' => '/access-code', 'verb' => 'PUT'], 12 | ['name' => 'config#setAdminConfig', 'url' => '/admin-config', 'verb' => 'PUT'], 13 | ['name' => 'dropboxAPI#getStorageSize', 'url' => '/storage-size', 'verb' => 'GET'], 14 | ['name' => 'dropboxAPI#importDropbox', 'url' => '/import-files', 'verb' => 'GET'], 15 | ['name' => 'dropboxAPI#getImportDropboxInformation', 'url' => '/import-files-info', 'verb' => 'GET'], 16 | ] 17 | ]; 18 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "php": ">=8.1" 4 | }, 5 | "scripts": { 6 | "lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l", 7 | "cs:check": "php-cs-fixer fix --dry-run --diff", 8 | "cs:fix": "php-cs-fixer fix", 9 | "psalm": "psalm.phar --no-cache", 10 | "psalm:update-baseline": "psalm.phar --threads=1 --update-baseline", 11 | "psalm:update-baseline:force": "psalm.phar --threads=1 --update-baseline --set-baseline=tests/psalm-baseline.xml" 12 | }, 13 | "require-dev": { 14 | "friendsofphp/php-cs-fixer": "^3", 15 | "nextcloud/coding-standard": "^1", 16 | "psalm/phar": "6.7.x", 17 | "nextcloud/ocp": "dev-master", 18 | "guzzlehttp/guzzle": "^7.5.1", 19 | "sabre/dav": "^4.4.0" 20 | }, 21 | "config": { 22 | "platform": { 23 | "php": "8.1" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /img/app-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /img/app.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /img/chromium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/integration_dropbox/4ee13f9b951ca9f2d97415f17627170e264328ca/img/chromium.png -------------------------------------------------------------------------------- /img/chromium.png.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /img/firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/integration_dropbox/4ee13f9b951ca9f2d97415f17627170e264328ca/img/firefox.png -------------------------------------------------------------------------------- /img/firefox.png.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /img/message.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 28 | 48 | 52 | 60 | 61 | -------------------------------------------------------------------------------- /img/message.svg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /img/post.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 28 | 48 | 52 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /img/post.svg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /img/screenshot1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/integration_dropbox/4ee13f9b951ca9f2d97415f17627170e264328ca/img/screenshot1.jpg -------------------------------------------------------------------------------- /img/screenshot1.jpg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /l10n/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/integration_dropbox/4ee13f9b951ca9f2d97415f17627170e264328ca/l10n/.gitkeep -------------------------------------------------------------------------------- /l10n/ast.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Data migration" : "Migración de los datos", 5 | "App key" : "Clave d'aplicación", 6 | "App secret" : "Secretu d'aplicación", 7 | "Failed to save Dropbox options" : "Nun se puen guardar la configuración de Dropbox", 8 | "Authentication" : "Autenticación" 9 | }, 10 | "nplurals=2; plural=(n != 1);"); 11 | -------------------------------------------------------------------------------- /l10n/ast.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Data migration" : "Migración de los datos", 3 | "App key" : "Clave d'aplicación", 4 | "App secret" : "Secretu d'aplicación", 5 | "Failed to save Dropbox options" : "Nun se puen guardar la configuración de Dropbox", 6 | "Authentication" : "Autenticación" 7 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 8 | } -------------------------------------------------------------------------------- /l10n/az.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Proqram açarı", 6 | "App secret" : "Proqram sirri", 7 | "Authentication" : "Autentifikasiya" 8 | }, 9 | "nplurals=2; plural=(n != 1);"); 10 | -------------------------------------------------------------------------------- /l10n/az.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Proqram açarı", 4 | "App secret" : "Proqram sirri", 5 | "Authentication" : "Autentifikasiya" 6 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 7 | } -------------------------------------------------------------------------------- /l10n/bg.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "Невалиден код за достъп", 5 | "Dropbox" : "Dropbox", 6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n файлове бяха импортирани от Dropbox хранилище.","%n файлове бяха импортирани от Dropbox хранилище."], 7 | "Bad HTTP method" : "Лош HTTP метод", 8 | "Bad credentials" : "Лоши идентификационни данни", 9 | "Token is not valid anymore. Impossible to refresh it." : "Маркерът вече не е валиден. Не е възможно да го обновите.", 10 | "OAuth access token refused" : " Маркерът за достъп OAuth е отказан", 11 | "Connected accounts" : "Свързани профили", 12 | "Data migration" : "Миграция на данни", 13 | "Dropbox integration" : "Dropbox интеграция", 14 | "Import Dropbox data in Nextcloud" : "Импортиране на данни от Dropbox в Nextcloud", 15 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Интеграцията с Dropbox ви позволява автоматично да импортирате вашите файлове от Dropbox в Nextcloud.", 16 | "Dropbox admin options saved" : "Опциите за администратор на Dropbox са записани", 17 | "Failed to save Dropbox admin options" : "Неуспешно записване на опциите за администратор на Dropbox", 18 | "Dropbox developer settings" : "Настройки за разработчици на Dropbox", 19 | "Make sure your give those permissions to your app:" : "Уверете се, че сте дали тези права на приложението си:", 20 | "No need to add any redirect URI." : "Не е необходимо да добавяте URI за пренасочване.", 21 | "Then set the app key and app secret below." : "След това задайте ключ на приложението и тайна на приложението по-долу.", 22 | "App key" : " Ключ на приложение", 23 | "Your Dropbox application key" : "Вашият ключ за Dropbox приложение", 24 | "App secret" : "Тайна на приложение", 25 | "Your Dropbox application secret" : "Вашата тайна за Dropbox приложение", 26 | "Last Dropbox import job at {date}" : "Последна задача за импортиране в Dropbox на {date}", 27 | "Dropbox import process will begin soon" : "Процесът на импортиране в Dropbox ще започне скоро", 28 | "Dropbox options saved" : "Опциите на Dropbox са записани", 29 | "Failed to save Dropbox options" : "Неуспешно записване на опциите на Dropbox", 30 | "Successfully connected to Dropbox!" : "Успешно свързване с Dropbox!", 31 | "Failed to connect to Dropbox" : "Неуспешно свързване с Dropbox", 32 | "Failed to get Dropbox storage information" : "Неуспешно получаване на информация за Dropbox хранилище", 33 | "Starting importing files in {targetPath} directory" : "Започва импортирането на файлове в директория {targetPath}", 34 | "Failed to start importing Dropbox storage" : "Неуспешно стартиране на импортирането на хранилище в Dropbox", 35 | "Choose where to write imported files" : "Изберете къде да запишете импортирани файлове", 36 | "Dropbox data migration" : "Миграция на данни в Dropbox", 37 | "Authentication" : "Удостоверяване", 38 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Ако имате проблеми с удостоверяването, помолете вашия администратор на Nextcloud да провери настройките за администратор на Dropbox.", 39 | "Connect to Dropbox to get an access code" : "Свържете се с Dropbox, за да получите код за достъп", 40 | "Dropbox access code" : "Код за достъп до Dropbox", 41 | "Access code" : "Код за достъп", 42 | "Connected as {user} ({email})" : "Свързан като {user} ({email})", 43 | "Disconnect from Dropbox" : "Прекъсване на връзката с Dropbox", 44 | "Dropbox storage" : "Dropbox хранилище", 45 | "Import directory" : "Директория за импортиране", 46 | "Dropbox storage size: {formSize}" : "Размер на хранилище в Dropbox: {formSize}", 47 | "Import Dropbox files" : "Импортиране на файлове от Dropbox", 48 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Вашето хранилище в Dropbox е по-голямо от оставащото ви пространство ({formSpace})", 49 | "Import job is currently running" : "В момента се изпълнява задачата за импортиране", 50 | "Cancel Dropbox files import" : "Отказ на импортирането на файлове от Dropbox", 51 | "Your Dropbox storage is empty" : "Вашето Dropbox хранилище е празно", 52 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} импортирани файлове","{amount} импортирани файлове"] 53 | }, 54 | "nplurals=2; plural=(n != 1);"); 55 | -------------------------------------------------------------------------------- /l10n/bg.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Невалиден код за достъп", 3 | "Dropbox" : "Dropbox", 4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n файлове бяха импортирани от Dropbox хранилище.","%n файлове бяха импортирани от Dropbox хранилище."], 5 | "Bad HTTP method" : "Лош HTTP метод", 6 | "Bad credentials" : "Лоши идентификационни данни", 7 | "Token is not valid anymore. Impossible to refresh it." : "Маркерът вече не е валиден. Не е възможно да го обновите.", 8 | "OAuth access token refused" : " Маркерът за достъп OAuth е отказан", 9 | "Connected accounts" : "Свързани профили", 10 | "Data migration" : "Миграция на данни", 11 | "Dropbox integration" : "Dropbox интеграция", 12 | "Import Dropbox data in Nextcloud" : "Импортиране на данни от Dropbox в Nextcloud", 13 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Интеграцията с Dropbox ви позволява автоматично да импортирате вашите файлове от Dropbox в Nextcloud.", 14 | "Dropbox admin options saved" : "Опциите за администратор на Dropbox са записани", 15 | "Failed to save Dropbox admin options" : "Неуспешно записване на опциите за администратор на Dropbox", 16 | "Dropbox developer settings" : "Настройки за разработчици на Dropbox", 17 | "Make sure your give those permissions to your app:" : "Уверете се, че сте дали тези права на приложението си:", 18 | "No need to add any redirect URI." : "Не е необходимо да добавяте URI за пренасочване.", 19 | "Then set the app key and app secret below." : "След това задайте ключ на приложението и тайна на приложението по-долу.", 20 | "App key" : " Ключ на приложение", 21 | "Your Dropbox application key" : "Вашият ключ за Dropbox приложение", 22 | "App secret" : "Тайна на приложение", 23 | "Your Dropbox application secret" : "Вашата тайна за Dropbox приложение", 24 | "Last Dropbox import job at {date}" : "Последна задача за импортиране в Dropbox на {date}", 25 | "Dropbox import process will begin soon" : "Процесът на импортиране в Dropbox ще започне скоро", 26 | "Dropbox options saved" : "Опциите на Dropbox са записани", 27 | "Failed to save Dropbox options" : "Неуспешно записване на опциите на Dropbox", 28 | "Successfully connected to Dropbox!" : "Успешно свързване с Dropbox!", 29 | "Failed to connect to Dropbox" : "Неуспешно свързване с Dropbox", 30 | "Failed to get Dropbox storage information" : "Неуспешно получаване на информация за Dropbox хранилище", 31 | "Starting importing files in {targetPath} directory" : "Започва импортирането на файлове в директория {targetPath}", 32 | "Failed to start importing Dropbox storage" : "Неуспешно стартиране на импортирането на хранилище в Dropbox", 33 | "Choose where to write imported files" : "Изберете къде да запишете импортирани файлове", 34 | "Dropbox data migration" : "Миграция на данни в Dropbox", 35 | "Authentication" : "Удостоверяване", 36 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Ако имате проблеми с удостоверяването, помолете вашия администратор на Nextcloud да провери настройките за администратор на Dropbox.", 37 | "Connect to Dropbox to get an access code" : "Свържете се с Dropbox, за да получите код за достъп", 38 | "Dropbox access code" : "Код за достъп до Dropbox", 39 | "Access code" : "Код за достъп", 40 | "Connected as {user} ({email})" : "Свързан като {user} ({email})", 41 | "Disconnect from Dropbox" : "Прекъсване на връзката с Dropbox", 42 | "Dropbox storage" : "Dropbox хранилище", 43 | "Import directory" : "Директория за импортиране", 44 | "Dropbox storage size: {formSize}" : "Размер на хранилище в Dropbox: {formSize}", 45 | "Import Dropbox files" : "Импортиране на файлове от Dropbox", 46 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Вашето хранилище в Dropbox е по-голямо от оставащото ви пространство ({formSpace})", 47 | "Import job is currently running" : "В момента се изпълнява задачата за импортиране", 48 | "Cancel Dropbox files import" : "Отказ на импортирането на файлове от Dropbox", 49 | "Your Dropbox storage is empty" : "Вашето Dropbox хранилище е празно", 50 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} импортирани файлове","{amount} импортирани файлове"] 51 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 52 | } -------------------------------------------------------------------------------- /l10n/ca.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Mètode HTTP incorrecte", 6 | "Bad credentials" : "Credencials dolentes", 7 | "OAuth access token refused" : "S'ha rebutjat el testimoni d'accés d'OAuth", 8 | "Connected accounts" : "Comptes connectats", 9 | "Data migration" : "Migració de dades", 10 | "App key" : "Clau de l'aplicació", 11 | "App secret" : "Secret de l'aplicació", 12 | "Starting importing files in {targetPath} directory" : "S'està iniciant la importació de fitxers al directori {targetPath}", 13 | "Authentication" : "Autenticació", 14 | "Dropbox access code" : "Codi d'accés de Dropbox", 15 | "Access code" : "Codi d'accés", 16 | "Connected as {user} ({email})" : "S'ha connectat com a {user} ({email})", 17 | "Import directory" : "Carpeta d'importació", 18 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fitxer importat","{amount} fitxers importats"] 19 | }, 20 | "nplurals=2; plural=(n != 1);"); 21 | -------------------------------------------------------------------------------- /l10n/ca.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Mètode HTTP incorrecte", 4 | "Bad credentials" : "Credencials dolentes", 5 | "OAuth access token refused" : "S'ha rebutjat el testimoni d'accés d'OAuth", 6 | "Connected accounts" : "Comptes connectats", 7 | "Data migration" : "Migració de dades", 8 | "App key" : "Clau de l'aplicació", 9 | "App secret" : "Secret de l'aplicació", 10 | "Starting importing files in {targetPath} directory" : "S'està iniciant la importació de fitxers al directori {targetPath}", 11 | "Authentication" : "Autenticació", 12 | "Dropbox access code" : "Codi d'accés de Dropbox", 13 | "Access code" : "Codi d'accés", 14 | "Connected as {user} ({email})" : "S'ha connectat com a {user} ({email})", 15 | "Import directory" : "Carpeta d'importació", 16 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fitxer importat","{amount} fitxers importats"] 17 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 18 | } -------------------------------------------------------------------------------- /l10n/da.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Dårlig HTTP metode", 6 | "Bad credentials" : "Forkerte legitimationsoplysninger", 7 | "OAuth access token refused" : "OAuth adgangsnøgle afvist", 8 | "Connected accounts" : "Forbundne konti", 9 | "App key" : "App nøgle", 10 | "App secret" : "App hemmelighed", 11 | "Authentication" : "Godkendelse", 12 | "Connected as {user} ({email})" : "Forbundet som {user} ({email})" 13 | }, 14 | "nplurals=2; plural=(n != 1);"); 15 | -------------------------------------------------------------------------------- /l10n/da.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Dårlig HTTP metode", 4 | "Bad credentials" : "Forkerte legitimationsoplysninger", 5 | "OAuth access token refused" : "OAuth adgangsnøgle afvist", 6 | "Connected accounts" : "Forbundne konti", 7 | "App key" : "App nøgle", 8 | "App secret" : "App hemmelighed", 9 | "Authentication" : "Godkendelse", 10 | "Connected as {user} ({email})" : "Forbundet som {user} ({email})" 11 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 12 | } -------------------------------------------------------------------------------- /l10n/el.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "Λανθασμένος κωδικός πρόσβασης", 5 | "Dropbox" : "Dropbox", 6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["Έγινε εισαγωγή %n αρχείου από το χώρο αποθήκευσης του Dropbox.","Έγινε εισαγωγή %n αρχείων από το χώρο αποθήκευσης του Dropbox. "], 7 | "Bad HTTP method" : "Κακή μέθοδος HTTP", 8 | "Bad credentials" : "Εσφαλμένα διαπιστευτήρια", 9 | "Token is not valid anymore. Impossible to refresh it." : "Το κουπόνι δεν είναι πλέον έγκυρο. Αδύνατο να το ανανεώσετε.", 10 | "OAuth access token refused" : "Το διακριτικό πρόσβασης OAuth απορρίφθηκε", 11 | "Connected accounts" : "Συνδεδεμένοι λογαριασμοί", 12 | "Data migration" : "Μετεγκατάσταση δεδομένων", 13 | "Dropbox integration" : "Ενσωμάτωση Dropbox", 14 | "Import Dropbox data in Nextcloud" : "Εισαγωγή δεδομένων από Dropbox στο Nextcloud", 15 | "Dropbox admin options saved" : "Οι επιλογές διαχειριστή του Dropbox αποθηκεύτηκαν", 16 | "App key" : "Κλειδί εφαρμογής", 17 | "App secret" : "Μυστικό εφαρμογής", 18 | "Starting importing files in {targetPath} directory" : "Έναρξη εισαγωγής αρχείων στον κατάλογο {targetPath}", 19 | "Choose where to write imported files" : "Επιλέξτε πού να γράψετε τα εισαγόμενα αρχεία", 20 | "Authentication" : "Πιστοποίηση", 21 | "Import directory" : "Εισαγωγή καταλόγου" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/el.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Λανθασμένος κωδικός πρόσβασης", 3 | "Dropbox" : "Dropbox", 4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["Έγινε εισαγωγή %n αρχείου από το χώρο αποθήκευσης του Dropbox.","Έγινε εισαγωγή %n αρχείων από το χώρο αποθήκευσης του Dropbox. "], 5 | "Bad HTTP method" : "Κακή μέθοδος HTTP", 6 | "Bad credentials" : "Εσφαλμένα διαπιστευτήρια", 7 | "Token is not valid anymore. Impossible to refresh it." : "Το κουπόνι δεν είναι πλέον έγκυρο. Αδύνατο να το ανανεώσετε.", 8 | "OAuth access token refused" : "Το διακριτικό πρόσβασης OAuth απορρίφθηκε", 9 | "Connected accounts" : "Συνδεδεμένοι λογαριασμοί", 10 | "Data migration" : "Μετεγκατάσταση δεδομένων", 11 | "Dropbox integration" : "Ενσωμάτωση Dropbox", 12 | "Import Dropbox data in Nextcloud" : "Εισαγωγή δεδομένων από Dropbox στο Nextcloud", 13 | "Dropbox admin options saved" : "Οι επιλογές διαχειριστή του Dropbox αποθηκεύτηκαν", 14 | "App key" : "Κλειδί εφαρμογής", 15 | "App secret" : "Μυστικό εφαρμογής", 16 | "Starting importing files in {targetPath} directory" : "Έναρξη εισαγωγής αρχείων στον κατάλογο {targetPath}", 17 | "Choose where to write imported files" : "Επιλέξτε πού να γράψετε τα εισαγόμενα αρχεία", 18 | "Authentication" : "Πιστοποίηση", 19 | "Import directory" : "Εισαγωγή καταλόγου" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/en_GB.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Invalid access code", 3 | "Dropbox" : "Dropbox", 4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n file was imported from Dropbox storage.","%n files were imported from Dropbox storage."], 5 | "Bad HTTP method" : "Bad HTTP method", 6 | "Bad credentials" : "Bad credentials", 7 | "Token is not valid anymore. Impossible to refresh it." : "Token is not valid anymore. Impossible to refresh it.", 8 | "Could not access file due to failed authentication." : "Could not access file due to failed authentication.", 9 | "OAuth access token refused" : "OAuth access token refused", 10 | "Connected accounts" : "Connected accounts", 11 | "Data migration" : "Data migration", 12 | "Dropbox integration" : "Dropbox integration", 13 | "Import Dropbox data in Nextcloud" : "Import Dropbox data in Nextcloud", 14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud.", 15 | "Dropbox admin options saved" : "Dropbox admin options saved", 16 | "Failed to save Dropbox admin options" : "Failed to save Dropbox admin options", 17 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox.", 18 | "Dropbox developer settings" : "Dropbox developer settings", 19 | "Make sure your give those permissions to your app:" : "Make sure your give those permissions to your app:", 20 | "No need to add any redirect URI." : "No need to add any redirect URI.", 21 | "Then set the app key and app secret below." : "Then set the app key and app secret below.", 22 | "App key" : "App key", 23 | "Your Dropbox application key" : "Your Dropbox application key", 24 | "App secret" : "App secret", 25 | "Your Dropbox application secret" : "Your Dropbox application secret", 26 | "Last Dropbox import job at {date}" : "Last Dropbox import job at {date}", 27 | "Dropbox import process will begin soon" : "Dropbox import process will begin soon", 28 | "Dropbox options saved" : "Dropbox options saved", 29 | "Failed to save Dropbox options" : "Failed to save Dropbox options", 30 | "Successfully connected to Dropbox!" : "Successfully connected to Dropbox!", 31 | "Failed to connect to Dropbox" : "Failed to connect to Dropbox", 32 | "Failed to get Dropbox storage information" : "Failed to get Dropbox storage information", 33 | "Starting importing files in {targetPath} directory" : "Starting importing files in {targetPath} directory", 34 | "Failed to start importing Dropbox storage" : "Failed to start importing Dropbox storage", 35 | "Choose where to write imported files" : "Choose where to write imported files", 36 | "Dropbox data migration" : "Dropbox data migration", 37 | "Your administrator has not yet configured this integration." : "Your administrator has not yet configured this integration.", 38 | "Authentication" : "Authentication", 39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings.", 40 | "Connect to Dropbox to get an access code" : "Connect to Dropbox to get an access code", 41 | "Dropbox access code" : "Dropbox access code", 42 | "Access code" : "Access code", 43 | "Connected as {user} ({email})" : "Connected as {user} ({email})", 44 | "Disconnect from Dropbox" : "Disconnect from Dropbox", 45 | "Dropbox storage" : "Dropbox storage", 46 | "Import directory" : "Import directory", 47 | "Dropbox storage size: {formSize}" : "Dropbox storage size: {formSize}", 48 | "Import Dropbox files" : "Import Dropbox files", 49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Your Dropbox storage is bigger than your remaining space left ({formSpace})", 50 | "Import job is currently running" : "Import job is currently running", 51 | "An error occured during the import: {error}" : "An error occurred during the import: {error}", 52 | "Cancel Dropbox files import" : "Cancel Dropbox files import", 53 | "Your Dropbox storage is empty" : "Your Dropbox storage is empty", 54 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} file imported","{amount} files imported"] 55 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 56 | } -------------------------------------------------------------------------------- /l10n/eo.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Aplikaĵa ŝlosilo", 6 | "App secret" : "Aplikaĵosekreto", 7 | "Authentication" : "Aŭtentigo" 8 | }, 9 | "nplurals=2; plural=(n != 1);"); 10 | -------------------------------------------------------------------------------- /l10n/eo.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Aplikaĵa ŝlosilo", 4 | "App secret" : "Aplikaĵosekreto", 5 | "Authentication" : "Aŭtentigo" 6 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 7 | } -------------------------------------------------------------------------------- /l10n/es_419.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_419.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_AR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_AR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_CL.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_CL.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_CO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_CO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_CR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_CR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_DO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_DO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_GT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_GT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_HN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_HN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_MX.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_MX.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_NI.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_NI.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_PA.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_PA.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_PE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_PE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_PR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_PR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_PY.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_PY.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_SV.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_SV.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/es_UY.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Llave de la aplicación", 6 | "App secret" : "Secreto de la aplicación", 7 | "Authentication" : "Autenticación" 8 | }, 9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 10 | -------------------------------------------------------------------------------- /l10n/es_UY.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Llave de la aplicación", 4 | "App secret" : "Secreto de la aplicación", 5 | "Authentication" : "Autenticación" 6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 7 | } -------------------------------------------------------------------------------- /l10n/et_EE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Vigane HTTP-meetod", 6 | "Bad credentials" : "Vale kasutajanimi, salasõna või tunnusluba", 7 | "Connected accounts" : "Ühendatud kasutajakontod", 8 | "App key" : "Rakenduse võti", 9 | "App secret" : "Rakenduse salasõna", 10 | "Authentication" : "Autentimine" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/et_EE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Vigane HTTP-meetod", 4 | "Bad credentials" : "Vale kasutajanimi, salasõna või tunnusluba", 5 | "Connected accounts" : "Ühendatud kasutajakontod", 6 | "App key" : "Rakenduse võti", 7 | "App secret" : "Rakenduse salasõna", 8 | "Authentication" : "Autentimine" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/eu.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Sarbide-kode baliogabea", 3 | "Dropbox" : "Dropbox", 4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["Fitxategi %s inportatu da Dropbox biltegitik.","%n fitxategi inportatu dira Dropbox biltegitik."], 5 | "Bad HTTP method" : "HTTP metodo okerra", 6 | "Bad credentials" : "Kredentzial okerrak", 7 | "Token is not valid anymore. Impossible to refresh it." : "Token honek ez du balio dagoeneko. Ezin izan da freskatu.", 8 | "Could not access file due to failed authentication." : "Ezin izan da fitxategia atzitu, autentifikazioak kale egin duelako.", 9 | "OAuth access token refused" : "OAuth sarbide tokena ukatua izan da", 10 | "Connected accounts" : "Konektatutako kontuak", 11 | "Data migration" : "Datu migrazioa", 12 | "Dropbox integration" : "Dropbox integrazioa", 13 | "Import Dropbox data in Nextcloud" : "Inportatu Dropbox datuak Nextcloud-era", 14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox integrazioarekin zure Dropbox fitxategiak automatikoki inporta ditzakezu Nextcloudera.", 15 | "Dropbox admin options saved" : "Dropbox administratzaile aukerak ondo gorde dira", 16 | "Failed to save Dropbox admin options" : "Ezin izan dira gorde Dropbox administratzailearen aukerak gorde", 17 | "Dropbox developer settings" : "Dropbox garatzaile ezarpenak", 18 | "Make sure your give those permissions to your app:" : "Ziurtatu zure aplikazioari baimen hauek ematen dizkiozula:", 19 | "No need to add any redirect URI." : "Ez da birbideratze URI-rik gehitu beharrik.", 20 | "Then set the app key and app secret below." : "Ondoren ezarri aplikazioaren gakoa eta aplikazioaren sekretua azpian.", 21 | "App key" : "Aplikazio-gakoa", 22 | "Your Dropbox application key" : "Zure Dropbox aplikazioaren gakoa", 23 | "App secret" : "Aplikazio-sekretua", 24 | "Your Dropbox application secret" : "Zure Dropbox aplikazioaren sekretua", 25 | "Last Dropbox import job at {date}" : "Egindako azken Dropbox inportazioa: {date}", 26 | "Dropbox import process will begin soon" : "Dropbox inportatzeko prozesua laster hasiko da", 27 | "Dropbox options saved" : "Dropbox aukerak gorde dira", 28 | "Failed to save Dropbox options" : "Dropbox aukerak gordetzeak huts egin du", 29 | "Successfully connected to Dropbox!" : "Ondo egin da konexioa Dropboxekin!", 30 | "Failed to connect to Dropbox" : "Dropbox-era konektatzeak huts egin du", 31 | "Failed to get Dropbox storage information" : "Ezin izan da Dropbox bilegiko informazioa lortu", 32 | "Starting importing files in {targetPath} directory" : "Fitxategiak {targetPath} direktoriora inportatzea abiatzen", 33 | "Failed to start importing Dropbox storage" : "Ezin izan da Dropbox biltegia inportatzen hasi", 34 | "Choose where to write imported files" : "Aukeratu non idatzi inportatutako fitxategiak", 35 | "Dropbox data migration" : "Dropbox datu migrazioa", 36 | "Authentication" : "Autentifikazioa", 37 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Autentifikatzeko arazoak baldin badauzkazu, galdegin zure Nextcloud administratzaileari Dropbox administratzaile ezarpenak begiratzeko.", 38 | "Connect to Dropbox to get an access code" : "Konektatu Dropboxekin, atzitzeko kode bat lortzeko.", 39 | "Dropbox access code" : "Dropbox sarbide-kodea", 40 | "Access code" : "Sarbide-kodea", 41 | "Connected as {user} ({email})" : "{user} ({email}) gisa konektatuta", 42 | "Disconnect from Dropbox" : "Deskonektatu Dropbox-etik", 43 | "Dropbox storage" : "Dropbox biltegia", 44 | "Import directory" : "Inportatu direktorioa", 45 | "Dropbox storage size: {formSize}" : "Dropbox biltegiaren tamaina: {formSize}", 46 | "Import Dropbox files" : "Inportatu Dropbox fitxategiak", 47 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Zure Dropbox biltegia handiagoa da gelditzen zaizun lekua baino ({formSpace})", 48 | "Import job is currently running" : "Inportazio lana martxan dago", 49 | "An error occured during the import: {error}" : "Errorea gertatu da inportazioan zehar: {error}", 50 | "Cancel Dropbox files import" : "Utzi bertan behera Dropbox inportazioa", 51 | "Your Dropbox storage is empty" : "Zure Dropbox biltegia hutsik dago", 52 | "_{amount} file imported_::_{amount} files imported_" : ["Fitxategi {amount} inportatu da","{amount} fitxategi inportatu dira"] 53 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 54 | } -------------------------------------------------------------------------------- /l10n/fa.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "Invalid access code", 5 | "Dropbox" : "Dropbox", 6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n file was imported from Dropbox storage.","%n files were imported from Dropbox storage."], 7 | "Bad HTTP method" : "روش HTTP بد", 8 | "Bad credentials" : "اعتبارنامه بد", 9 | "Token is not valid anymore. Impossible to refresh it." : "Token is not valid anymore. Impossible to refresh it.", 10 | "Could not access file due to failed authentication." : "Could not access file due to failed authentication.", 11 | "OAuth access token refused" : "نشانه دسترسی OAuth رد شد", 12 | "Connected accounts" : "حساب‌های متصل", 13 | "Data migration" : "Data migration", 14 | "Dropbox integration" : "Dropbox integration", 15 | "Import Dropbox data in Nextcloud" : "Import Dropbox data in Nextcloud", 16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud.", 17 | "Dropbox admin options saved" : "Dropbox admin options saved", 18 | "Failed to save Dropbox admin options" : "Failed to save Dropbox admin options", 19 | "Dropbox developer settings" : "Dropbox developer settings", 20 | "Make sure your give those permissions to your app:" : "Make sure your give those permissions to your app:", 21 | "No need to add any redirect URI." : "No need to add any redirect URI.", 22 | "Then set the app key and app secret below." : "Then set the app key and app secret below.", 23 | "App key" : "کلید برنامه", 24 | "Your Dropbox application key" : "Your Dropbox application key", 25 | "App secret" : "کد برنامه", 26 | "Your Dropbox application secret" : "Your Dropbox application secret", 27 | "Last Dropbox import job at {date}" : "Last Dropbox import job at {date}", 28 | "Dropbox import process will begin soon" : "Dropbox import process will begin soon", 29 | "Dropbox options saved" : "Dropbox options saved", 30 | "Failed to save Dropbox options" : "Failed to save Dropbox options", 31 | "Successfully connected to Dropbox!" : "Successfully connected to Dropbox!", 32 | "Failed to connect to Dropbox" : "Failed to connect to Dropbox", 33 | "Failed to get Dropbox storage information" : "Failed to get Dropbox storage information", 34 | "Starting importing files in {targetPath} directory" : "Starting importing files in {targetPath} directory", 35 | "Failed to start importing Dropbox storage" : "Failed to start importing Dropbox storage", 36 | "Choose where to write imported files" : "Choose where to write imported files", 37 | "Dropbox data migration" : "Dropbox data migration", 38 | "Authentication" : "احراز هویت", 39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings.", 40 | "Connect to Dropbox to get an access code" : "Connect to Dropbox to get an access code", 41 | "Dropbox access code" : "Dropbox access code", 42 | "Access code" : "Access code", 43 | "Connected as {user} ({email})" : "Connected as {user} ({email})", 44 | "Disconnect from Dropbox" : "Disconnect from Dropbox", 45 | "Dropbox storage" : "Dropbox storage", 46 | "Import directory" : "Import directory", 47 | "Dropbox storage size: {formSize}" : "Dropbox storage size: {formSize}", 48 | "Import Dropbox files" : "Import Dropbox files", 49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Your Dropbox storage is bigger than your remaining space left ({formSpace})", 50 | "Import job is currently running" : "Import job is currently running", 51 | "An error occured during the import: {error}" : "An error occured during the import: {error}", 52 | "Cancel Dropbox files import" : "Cancel Dropbox files import", 53 | "Your Dropbox storage is empty" : "Your Dropbox storage is empty", 54 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} file imported","{amount} files imported"] 55 | }, 56 | "nplurals=2; plural=(n > 1);"); 57 | -------------------------------------------------------------------------------- /l10n/fa.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Invalid access code", 3 | "Dropbox" : "Dropbox", 4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n file was imported from Dropbox storage.","%n files were imported from Dropbox storage."], 5 | "Bad HTTP method" : "روش HTTP بد", 6 | "Bad credentials" : "اعتبارنامه بد", 7 | "Token is not valid anymore. Impossible to refresh it." : "Token is not valid anymore. Impossible to refresh it.", 8 | "Could not access file due to failed authentication." : "Could not access file due to failed authentication.", 9 | "OAuth access token refused" : "نشانه دسترسی OAuth رد شد", 10 | "Connected accounts" : "حساب‌های متصل", 11 | "Data migration" : "Data migration", 12 | "Dropbox integration" : "Dropbox integration", 13 | "Import Dropbox data in Nextcloud" : "Import Dropbox data in Nextcloud", 14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud.", 15 | "Dropbox admin options saved" : "Dropbox admin options saved", 16 | "Failed to save Dropbox admin options" : "Failed to save Dropbox admin options", 17 | "Dropbox developer settings" : "Dropbox developer settings", 18 | "Make sure your give those permissions to your app:" : "Make sure your give those permissions to your app:", 19 | "No need to add any redirect URI." : "No need to add any redirect URI.", 20 | "Then set the app key and app secret below." : "Then set the app key and app secret below.", 21 | "App key" : "کلید برنامه", 22 | "Your Dropbox application key" : "Your Dropbox application key", 23 | "App secret" : "کد برنامه", 24 | "Your Dropbox application secret" : "Your Dropbox application secret", 25 | "Last Dropbox import job at {date}" : "Last Dropbox import job at {date}", 26 | "Dropbox import process will begin soon" : "Dropbox import process will begin soon", 27 | "Dropbox options saved" : "Dropbox options saved", 28 | "Failed to save Dropbox options" : "Failed to save Dropbox options", 29 | "Successfully connected to Dropbox!" : "Successfully connected to Dropbox!", 30 | "Failed to connect to Dropbox" : "Failed to connect to Dropbox", 31 | "Failed to get Dropbox storage information" : "Failed to get Dropbox storage information", 32 | "Starting importing files in {targetPath} directory" : "Starting importing files in {targetPath} directory", 33 | "Failed to start importing Dropbox storage" : "Failed to start importing Dropbox storage", 34 | "Choose where to write imported files" : "Choose where to write imported files", 35 | "Dropbox data migration" : "Dropbox data migration", 36 | "Authentication" : "احراز هویت", 37 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings.", 38 | "Connect to Dropbox to get an access code" : "Connect to Dropbox to get an access code", 39 | "Dropbox access code" : "Dropbox access code", 40 | "Access code" : "Access code", 41 | "Connected as {user} ({email})" : "Connected as {user} ({email})", 42 | "Disconnect from Dropbox" : "Disconnect from Dropbox", 43 | "Dropbox storage" : "Dropbox storage", 44 | "Import directory" : "Import directory", 45 | "Dropbox storage size: {formSize}" : "Dropbox storage size: {formSize}", 46 | "Import Dropbox files" : "Import Dropbox files", 47 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Your Dropbox storage is bigger than your remaining space left ({formSpace})", 48 | "Import job is currently running" : "Import job is currently running", 49 | "An error occured during the import: {error}" : "An error occured during the import: {error}", 50 | "Cancel Dropbox files import" : "Cancel Dropbox files import", 51 | "Your Dropbox storage is empty" : "Your Dropbox storage is empty", 52 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} file imported","{amount} files imported"] 53 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 54 | } -------------------------------------------------------------------------------- /l10n/fi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "Virheellinen pääsykoodi", 5 | "Dropbox" : "Dropbox", 6 | "Bad HTTP method" : "Virheellinen HTTP-metodi", 7 | "Bad credentials" : "Virheelliset kirjautumistiedot", 8 | "Token is not valid anymore. Impossible to refresh it." : "Valtuutus ei ole enää käyttökelpoinen. Sitä ei voida päivittää.", 9 | "OAuth access token refused" : "OAuth-valtuutus hylätty", 10 | "Connected accounts" : "Yhdistetyt tilit", 11 | "Data migration" : "Tietojen migraatio", 12 | "Dropbox integration" : "Dropbox-integraatio", 13 | "Import Dropbox data in Nextcloud" : "Tuo Dropbox-tiedot Nextcloudiin", 14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox-integraatio mahdollistaa Dropbox-tiedostojen tuomisen automaattisesti Nextcloudiin.", 15 | "Dropbox developer settings" : "Dropbox-kehittäjäasetukset", 16 | "App key" : "Sovellusavain", 17 | "App secret" : "Sovellussalaisuus", 18 | "Last Dropbox import job at {date}" : "Viimeisin Dropbox-tuonti {date}", 19 | "Dropbox import process will begin soon" : "Dropbox-tuonti alkaa pian", 20 | "Dropbox options saved" : "Dropbox-asetukset tallennettu", 21 | "Failed to save Dropbox options" : "Dropbox-valintojen tallentaminen epäonnistui", 22 | "Successfully connected to Dropbox!" : "Yhdistetty Dropboxiin!", 23 | "Failed to connect to Dropbox" : "Yhdistäminen Dropboxiin epäonnistui", 24 | "Starting importing files in {targetPath} directory" : "Aloitetaan tiedostojen tuonti kohteeseen {targetPath}", 25 | "Choose where to write imported files" : "Valitse, mihin tiedostot tuodaan", 26 | "Authentication" : "Tunnistautuminen", 27 | "Connect to Dropbox to get an access code" : "Yhdistä Dropboxiin saadaksesi pääsykoodin", 28 | "Dropbox access code" : "Dropboxin pääsykoodi", 29 | "Access code" : "Pääsykoodi", 30 | "Connected as {user} ({email})" : "Yhdistetty käyttäjänä {user} ({email})", 31 | "Disconnect from Dropbox" : "Katkaise yhteys Dropboxiin", 32 | "Dropbox storage" : "Dropbox-tallennustila", 33 | "Import directory" : "Tuo kansio", 34 | "Dropbox storage size: {formSize}" : "Dropbox-tallennustilan koko: {formSize}", 35 | "Import Dropbox files" : "Tuo Dropbox-tiedostot", 36 | "Import job is currently running" : "Tuontityö on meneillään", 37 | "Cancel Dropbox files import" : "Peruuta Dropbox-tiedostojen tuonti", 38 | "Your Dropbox storage is empty" : "Dropbox-tallennustilasi on tyhjä", 39 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} tiedosto tuotu","{amount} tiedostoa tuotu"] 40 | }, 41 | "nplurals=2; plural=(n != 1);"); 42 | -------------------------------------------------------------------------------- /l10n/fi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Virheellinen pääsykoodi", 3 | "Dropbox" : "Dropbox", 4 | "Bad HTTP method" : "Virheellinen HTTP-metodi", 5 | "Bad credentials" : "Virheelliset kirjautumistiedot", 6 | "Token is not valid anymore. Impossible to refresh it." : "Valtuutus ei ole enää käyttökelpoinen. Sitä ei voida päivittää.", 7 | "OAuth access token refused" : "OAuth-valtuutus hylätty", 8 | "Connected accounts" : "Yhdistetyt tilit", 9 | "Data migration" : "Tietojen migraatio", 10 | "Dropbox integration" : "Dropbox-integraatio", 11 | "Import Dropbox data in Nextcloud" : "Tuo Dropbox-tiedot Nextcloudiin", 12 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox-integraatio mahdollistaa Dropbox-tiedostojen tuomisen automaattisesti Nextcloudiin.", 13 | "Dropbox developer settings" : "Dropbox-kehittäjäasetukset", 14 | "App key" : "Sovellusavain", 15 | "App secret" : "Sovellussalaisuus", 16 | "Last Dropbox import job at {date}" : "Viimeisin Dropbox-tuonti {date}", 17 | "Dropbox import process will begin soon" : "Dropbox-tuonti alkaa pian", 18 | "Dropbox options saved" : "Dropbox-asetukset tallennettu", 19 | "Failed to save Dropbox options" : "Dropbox-valintojen tallentaminen epäonnistui", 20 | "Successfully connected to Dropbox!" : "Yhdistetty Dropboxiin!", 21 | "Failed to connect to Dropbox" : "Yhdistäminen Dropboxiin epäonnistui", 22 | "Starting importing files in {targetPath} directory" : "Aloitetaan tiedostojen tuonti kohteeseen {targetPath}", 23 | "Choose where to write imported files" : "Valitse, mihin tiedostot tuodaan", 24 | "Authentication" : "Tunnistautuminen", 25 | "Connect to Dropbox to get an access code" : "Yhdistä Dropboxiin saadaksesi pääsykoodin", 26 | "Dropbox access code" : "Dropboxin pääsykoodi", 27 | "Access code" : "Pääsykoodi", 28 | "Connected as {user} ({email})" : "Yhdistetty käyttäjänä {user} ({email})", 29 | "Disconnect from Dropbox" : "Katkaise yhteys Dropboxiin", 30 | "Dropbox storage" : "Dropbox-tallennustila", 31 | "Import directory" : "Tuo kansio", 32 | "Dropbox storage size: {formSize}" : "Dropbox-tallennustilan koko: {formSize}", 33 | "Import Dropbox files" : "Tuo Dropbox-tiedostot", 34 | "Import job is currently running" : "Tuontityö on meneillään", 35 | "Cancel Dropbox files import" : "Peruuta Dropbox-tiedostojen tuonti", 36 | "Your Dropbox storage is empty" : "Dropbox-tallennustilasi on tyhjä", 37 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} tiedosto tuotu","{amount} tiedostoa tuotu"] 38 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 39 | } -------------------------------------------------------------------------------- /l10n/he.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "שגיאה במתודת HTTP", 6 | "Bad credentials" : "פרטי גישה שגויים", 7 | "Token is not valid anymore. Impossible to refresh it." : "האסימון אינו תקף עוד. אי אפשר לרענן אותו.", 8 | "OAuth access token refused" : "אסימון הגישה ב־OAuth סורב", 9 | "Connected accounts" : "חשבונות מקושרים", 10 | "Data migration" : "הגירת נתונים", 11 | "App key" : "מפתח יישום", 12 | "App secret" : "סוד יישום", 13 | "Authentication" : "אימות" 14 | }, 15 | "nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"); 16 | -------------------------------------------------------------------------------- /l10n/he.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "שגיאה במתודת HTTP", 4 | "Bad credentials" : "פרטי גישה שגויים", 5 | "Token is not valid anymore. Impossible to refresh it." : "האסימון אינו תקף עוד. אי אפשר לרענן אותו.", 6 | "OAuth access token refused" : "אסימון הגישה ב־OAuth סורב", 7 | "Connected accounts" : "חשבונות מקושרים", 8 | "Data migration" : "הגירת נתונים", 9 | "App key" : "מפתח יישום", 10 | "App secret" : "סוד יישום", 11 | "Authentication" : "אימות" 12 | },"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;" 13 | } -------------------------------------------------------------------------------- /l10n/hr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Bad HTTP method" : "Pogrešna metoda HTTP-a", 5 | "Bad credentials" : "Pogrešne vjerodajnice", 6 | "Token is not valid anymore. Impossible to refresh it." : "Token više ne vrijedi. Nemoguće ga je osvježiti.", 7 | "OAuth access token refused" : "Odbijen token za pristup OAuth", 8 | "Connected accounts" : "Povezani računi", 9 | "Data migration" : "Migracija podataka", 10 | "App key" : "Ključ aplikacije", 11 | "App secret" : "Tajna aplikacije", 12 | "Starting importing files in {targetPath} directory" : "Početak uvoza datoteka u direktorij {targetPath}", 13 | "Choose where to write imported files" : "Odaberite gdje želite zapisivati uvezene datoteke", 14 | "Authentication" : "Autentifikacija", 15 | "Connected as {user} ({email})" : "Povezan kao {user} ({email})", 16 | "Import directory" : "Uvezi direktorij" 17 | }, 18 | "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"); 19 | -------------------------------------------------------------------------------- /l10n/hr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Bad HTTP method" : "Pogrešna metoda HTTP-a", 3 | "Bad credentials" : "Pogrešne vjerodajnice", 4 | "Token is not valid anymore. Impossible to refresh it." : "Token više ne vrijedi. Nemoguće ga je osvježiti.", 5 | "OAuth access token refused" : "Odbijen token za pristup OAuth", 6 | "Connected accounts" : "Povezani računi", 7 | "Data migration" : "Migracija podataka", 8 | "App key" : "Ključ aplikacije", 9 | "App secret" : "Tajna aplikacije", 10 | "Starting importing files in {targetPath} directory" : "Početak uvoza datoteka u direktorij {targetPath}", 11 | "Choose where to write imported files" : "Odaberite gdje želite zapisivati uvezene datoteke", 12 | "Authentication" : "Autentifikacija", 13 | "Connected as {user} ({email})" : "Povezan kao {user} ({email})", 14 | "Import directory" : "Uvezi direktorij" 15 | },"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;" 16 | } -------------------------------------------------------------------------------- /l10n/hu.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "Érvénytelen hozzáférési kód", 5 | "Dropbox" : "Dropbox", 6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n fájl importálva a Dropbox-tárolóból.","%n fájl importálva a Dropbox-tárolóból."], 7 | "Bad HTTP method" : "Hibás HTTP metódus", 8 | "Bad credentials" : "Hibás hitelesítő adatok", 9 | "Token is not valid anymore. Impossible to refresh it." : "A token már nem érvényes. Lehetetlen frissíteni.", 10 | "Could not access file due to failed authentication." : "Hitelesítési hiba miatt a fájl nem hozzáférhető.", 11 | "OAuth access token refused" : "Az OAuth hozzáférési token lekérése visszautasítva", 12 | "Connected accounts" : "Kapcsolt fiókok", 13 | "Data migration" : "Adatköltöztetés", 14 | "Dropbox integration" : "Dropbox integráció", 15 | "Import Dropbox data in Nextcloud" : "Dropbox adatok imoprtálása a Nextcloudba", 16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "A Dropbox integráció lehetővé teszi, hogy automatikusan importálja a Dropboxban lévő fájlokat a Nextcloudba.", 17 | "Dropbox admin options saved" : "Dropbox rendszergazdai beállítások elmentve", 18 | "Failed to save Dropbox admin options" : "A Dropbox rendszergazdai beállításainak mentése sikertelen", 19 | "Dropbox developer settings" : "Dropbox fejlesztői beállítások", 20 | "Make sure your give those permissions to your app:" : "Adja meg a következő engedélyeket az alkalmazás számára:", 21 | "No need to add any redirect URI." : "Nincs szükség átirányító hivatkozásra.", 22 | "Then set the app key and app secret below." : "Majd állítsa be az alkalmazáskulcsot és alkalmazástitkot.", 23 | "App key" : "Alkalmazáskulcs", 24 | "Your Dropbox application key" : "Dropbox alkalmazás kulcs", 25 | "App secret" : "Alkalmazás titka", 26 | "Your Dropbox application secret" : "Dropbox alkalmazás titok", 27 | "Last Dropbox import job at {date}" : "Az utolsó Dropbox importálási feladat ideje: {date}", 28 | "Dropbox import process will begin soon" : "A Dropbox importálás folyamat hamarosan indul", 29 | "Dropbox options saved" : "Dropbox beállítások elmentve", 30 | "Failed to save Dropbox options" : "A Dropbox beállításainak mentése sikertelen", 31 | "Successfully connected to Dropbox!" : "Sikeresen csatlakozott a Dropbox-hoz!", 32 | "Failed to connect to Dropbox" : "Sikertelen kapcsolódás a Dropboxhoz", 33 | "Failed to get Dropbox storage information" : "Nem sikerült a Dropbox tárolóinformációk lekérése", 34 | "Starting importing files in {targetPath} directory" : "Fájlok importálásának megkezdése a(z) {targetPath} könyvtárban", 35 | "Failed to start importing Dropbox storage" : "Nem sikerült a Dropbox tárhelyből történő importálás elindítása", 36 | "Choose where to write imported files" : "Válassza ki az importált fájlok helyét", 37 | "Dropbox data migration" : "Dropbox adatmigráció", 38 | "Authentication" : "Hitelesítés", 39 | "Connect to Dropbox to get an access code" : "Kapcsolódjon a Dropboxhoz, hogy megkapja a hozzáférési kódot", 40 | "Dropbox access code" : "Dropbox hozzáférési kód", 41 | "Access code" : "Hozzáférési kód", 42 | "Connected as {user} ({email})" : "Kapcsolódva mint {user} ({email})", 43 | "Disconnect from Dropbox" : "Leválasztás a Dropbox-ról", 44 | "Dropbox storage" : "Dropbox tárhely", 45 | "Import directory" : "Mappa importálása", 46 | "Dropbox storage size: {formSize}" : "Dropbox tárhely méret: {formSize}", 47 | "Import Dropbox files" : "Dropbox fájlok importálása", 48 | "Import job is currently running" : "Az importálási feladat jelenleg fut", 49 | "An error occured during the import: {error}" : "Hiba történt az importálás során: {error}", 50 | "Cancel Dropbox files import" : "Dropbox fájl import megszakítás", 51 | "Your Dropbox storage is empty" : "A Dropbox tárhely üres", 52 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fájl importálva","{amount} fájl importálva"] 53 | }, 54 | "nplurals=2; plural=(n != 1);"); 55 | -------------------------------------------------------------------------------- /l10n/hu.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Érvénytelen hozzáférési kód", 3 | "Dropbox" : "Dropbox", 4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n fájl importálva a Dropbox-tárolóból.","%n fájl importálva a Dropbox-tárolóból."], 5 | "Bad HTTP method" : "Hibás HTTP metódus", 6 | "Bad credentials" : "Hibás hitelesítő adatok", 7 | "Token is not valid anymore. Impossible to refresh it." : "A token már nem érvényes. Lehetetlen frissíteni.", 8 | "Could not access file due to failed authentication." : "Hitelesítési hiba miatt a fájl nem hozzáférhető.", 9 | "OAuth access token refused" : "Az OAuth hozzáférési token lekérése visszautasítva", 10 | "Connected accounts" : "Kapcsolt fiókok", 11 | "Data migration" : "Adatköltöztetés", 12 | "Dropbox integration" : "Dropbox integráció", 13 | "Import Dropbox data in Nextcloud" : "Dropbox adatok imoprtálása a Nextcloudba", 14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "A Dropbox integráció lehetővé teszi, hogy automatikusan importálja a Dropboxban lévő fájlokat a Nextcloudba.", 15 | "Dropbox admin options saved" : "Dropbox rendszergazdai beállítások elmentve", 16 | "Failed to save Dropbox admin options" : "A Dropbox rendszergazdai beállításainak mentése sikertelen", 17 | "Dropbox developer settings" : "Dropbox fejlesztői beállítások", 18 | "Make sure your give those permissions to your app:" : "Adja meg a következő engedélyeket az alkalmazás számára:", 19 | "No need to add any redirect URI." : "Nincs szükség átirányító hivatkozásra.", 20 | "Then set the app key and app secret below." : "Majd állítsa be az alkalmazáskulcsot és alkalmazástitkot.", 21 | "App key" : "Alkalmazáskulcs", 22 | "Your Dropbox application key" : "Dropbox alkalmazás kulcs", 23 | "App secret" : "Alkalmazás titka", 24 | "Your Dropbox application secret" : "Dropbox alkalmazás titok", 25 | "Last Dropbox import job at {date}" : "Az utolsó Dropbox importálási feladat ideje: {date}", 26 | "Dropbox import process will begin soon" : "A Dropbox importálás folyamat hamarosan indul", 27 | "Dropbox options saved" : "Dropbox beállítások elmentve", 28 | "Failed to save Dropbox options" : "A Dropbox beállításainak mentése sikertelen", 29 | "Successfully connected to Dropbox!" : "Sikeresen csatlakozott a Dropbox-hoz!", 30 | "Failed to connect to Dropbox" : "Sikertelen kapcsolódás a Dropboxhoz", 31 | "Failed to get Dropbox storage information" : "Nem sikerült a Dropbox tárolóinformációk lekérése", 32 | "Starting importing files in {targetPath} directory" : "Fájlok importálásának megkezdése a(z) {targetPath} könyvtárban", 33 | "Failed to start importing Dropbox storage" : "Nem sikerült a Dropbox tárhelyből történő importálás elindítása", 34 | "Choose where to write imported files" : "Válassza ki az importált fájlok helyét", 35 | "Dropbox data migration" : "Dropbox adatmigráció", 36 | "Authentication" : "Hitelesítés", 37 | "Connect to Dropbox to get an access code" : "Kapcsolódjon a Dropboxhoz, hogy megkapja a hozzáférési kódot", 38 | "Dropbox access code" : "Dropbox hozzáférési kód", 39 | "Access code" : "Hozzáférési kód", 40 | "Connected as {user} ({email})" : "Kapcsolódva mint {user} ({email})", 41 | "Disconnect from Dropbox" : "Leválasztás a Dropbox-ról", 42 | "Dropbox storage" : "Dropbox tárhely", 43 | "Import directory" : "Mappa importálása", 44 | "Dropbox storage size: {formSize}" : "Dropbox tárhely méret: {formSize}", 45 | "Import Dropbox files" : "Dropbox fájlok importálása", 46 | "Import job is currently running" : "Az importálási feladat jelenleg fut", 47 | "An error occured during the import: {error}" : "Hiba történt az importálás során: {error}", 48 | "Cancel Dropbox files import" : "Dropbox fájl import megszakítás", 49 | "Your Dropbox storage is empty" : "A Dropbox tárhely üres", 50 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fájl importálva","{amount} fájl importálva"] 51 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 52 | } -------------------------------------------------------------------------------- /l10n/ia.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Clave del Application", 6 | "App secret" : "Secreto del Application", 7 | "Authentication" : "Authentication" 8 | }, 9 | "nplurals=2; plural=(n != 1);"); 10 | -------------------------------------------------------------------------------- /l10n/ia.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Clave del Application", 4 | "App secret" : "Secreto del Application", 5 | "Authentication" : "Authentication" 6 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 7 | } -------------------------------------------------------------------------------- /l10n/id.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Metode HTTP tidak benar", 6 | "Bad credentials" : "Kredensial tidak benar", 7 | "OAuth access token refused" : "Token akses OAuth ditolak", 8 | "Connected accounts" : "Akun terhubung", 9 | "App key" : "Kunci Apl", 10 | "App secret" : "Rahasia Apl", 11 | "Authentication" : "Otentikasi" 12 | }, 13 | "nplurals=1; plural=0;"); 14 | -------------------------------------------------------------------------------- /l10n/id.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Metode HTTP tidak benar", 4 | "Bad credentials" : "Kredensial tidak benar", 5 | "OAuth access token refused" : "Token akses OAuth ditolak", 6 | "Connected accounts" : "Akun terhubung", 7 | "App key" : "Kunci Apl", 8 | "App secret" : "Rahasia Apl", 9 | "Authentication" : "Otentikasi" 10 | },"pluralForm" :"nplurals=1; plural=0;" 11 | } -------------------------------------------------------------------------------- /l10n/is.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad credentials" : "Gölluð auðkenni", 6 | "OAuth access token refused" : "OAuth-aðgangsteikni hafnað", 7 | "Connected accounts" : "Tengdir aðgangar", 8 | "App key" : "Lykill forrits", 9 | "App secret" : "Leynilykill forrits", 10 | "Authentication" : "Auðkenning", 11 | "Import directory" : "Flytja möppu inn" 12 | }, 13 | "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); 14 | -------------------------------------------------------------------------------- /l10n/is.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad credentials" : "Gölluð auðkenni", 4 | "OAuth access token refused" : "OAuth-aðgangsteikni hafnað", 5 | "Connected accounts" : "Tengdir aðgangar", 6 | "App key" : "Lykill forrits", 7 | "App secret" : "Leynilykill forrits", 8 | "Authentication" : "Auðkenning", 9 | "Import directory" : "Flytja möppu inn" 10 | },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" 11 | } -------------------------------------------------------------------------------- /l10n/it.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Metodo HTTP non corretto", 6 | "Bad credentials" : "Credenziali non valide", 7 | "Token is not valid anymore. Impossible to refresh it." : "Il token non è più valido. Impossibile aggiornarlo.", 8 | "OAuth access token refused" : "Token di accesso OAuth rifiutato", 9 | "Connected accounts" : "Account connessi", 10 | "Data migration" : "Migrazione dei dati", 11 | "App key" : "Chiave applicazione", 12 | "App secret" : "Segreto applicazione", 13 | "Starting importing files in {targetPath} directory" : "Avvio dell'importazione file nella cartella {targetPath}", 14 | "Choose where to write imported files" : "Scegli dove scrivere i file importati", 15 | "Authentication" : "Autenticazione", 16 | "Connected as {user} ({email})" : "Connesso come {user} ({email})", 17 | "Import directory" : "Cartella di importazione" 18 | }, 19 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 20 | -------------------------------------------------------------------------------- /l10n/it.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Metodo HTTP non corretto", 4 | "Bad credentials" : "Credenziali non valide", 5 | "Token is not valid anymore. Impossible to refresh it." : "Il token non è più valido. Impossibile aggiornarlo.", 6 | "OAuth access token refused" : "Token di accesso OAuth rifiutato", 7 | "Connected accounts" : "Account connessi", 8 | "Data migration" : "Migrazione dei dati", 9 | "App key" : "Chiave applicazione", 10 | "App secret" : "Segreto applicazione", 11 | "Starting importing files in {targetPath} directory" : "Avvio dell'importazione file nella cartella {targetPath}", 12 | "Choose where to write imported files" : "Scegli dove scrivere i file importati", 13 | "Authentication" : "Autenticazione", 14 | "Connected as {user} ({email})" : "Connesso come {user} ({email})", 15 | "Import directory" : "Cartella di importazione" 16 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 17 | } -------------------------------------------------------------------------------- /l10n/ja.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "不正なHTTPメソッド", 6 | "Bad credentials" : "不正な資格情報", 7 | "Token is not valid anymore. Impossible to refresh it." : "トークンは無効です。更新できません。", 8 | "OAuth access token refused" : "OAuth アクセストークンが拒否されました", 9 | "Connected accounts" : "接続済みアカウント", 10 | "Data migration" : "データ移行", 11 | "App key" : "アプリキー", 12 | "App secret" : "アプリシークレット", 13 | "Authentication" : "認証" 14 | }, 15 | "nplurals=1; plural=0;"); 16 | -------------------------------------------------------------------------------- /l10n/ja.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "不正なHTTPメソッド", 4 | "Bad credentials" : "不正な資格情報", 5 | "Token is not valid anymore. Impossible to refresh it." : "トークンは無効です。更新できません。", 6 | "OAuth access token refused" : "OAuth アクセストークンが拒否されました", 7 | "Connected accounts" : "接続済みアカウント", 8 | "Data migration" : "データ移行", 9 | "App key" : "アプリキー", 10 | "App secret" : "アプリシークレット", 11 | "Authentication" : "認証" 12 | },"pluralForm" :"nplurals=1; plural=0;" 13 | } -------------------------------------------------------------------------------- /l10n/ka.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "App key" : "App key", 5 | "App secret" : "App secret", 6 | "Authentication" : "Authentication" 7 | }, 8 | "nplurals=2; plural=(n!=1);"); 9 | -------------------------------------------------------------------------------- /l10n/ka.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "App key" : "App key", 3 | "App secret" : "App secret", 4 | "Authentication" : "Authentication" 5 | },"pluralForm" :"nplurals=2; plural=(n!=1);" 6 | } -------------------------------------------------------------------------------- /l10n/ka_GE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox-ი", 5 | "App key" : "აპლიკაციის გასაღები", 6 | "App secret" : "აპლიკაციის საიდუმლო", 7 | "Authentication" : "აუტენტიფიკაცია" 8 | }, 9 | "nplurals=2; plural=(n!=1);"); 10 | -------------------------------------------------------------------------------- /l10n/ka_GE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox-ი", 3 | "App key" : "აპლიკაციის გასაღები", 4 | "App secret" : "აპლიკაციის საიდუმლო", 5 | "Authentication" : "აუტენტიფიკაცია" 6 | },"pluralForm" :"nplurals=2; plural=(n!=1);" 7 | } -------------------------------------------------------------------------------- /l10n/ko.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "옳지 않은 HTTP 메소드", 6 | "Bad credentials" : "옳지 않은 자격 증명", 7 | "OAuth access token refused" : "OAuth 접근 토큰 거부됐습니다.", 8 | "Connected accounts" : "계정 연결됨", 9 | "App key" : "앱 키", 10 | "App secret" : "앱 비밀 값", 11 | "Authentication" : "인증", 12 | "Connected as {user} ({email})" : "{user} ({email})(으)로 연결됨" 13 | }, 14 | "nplurals=1; plural=0;"); 15 | -------------------------------------------------------------------------------- /l10n/ko.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "옳지 않은 HTTP 메소드", 4 | "Bad credentials" : "옳지 않은 자격 증명", 5 | "OAuth access token refused" : "OAuth 접근 토큰 거부됐습니다.", 6 | "Connected accounts" : "계정 연결됨", 7 | "App key" : "앱 키", 8 | "App secret" : "앱 비밀 값", 9 | "Authentication" : "인증", 10 | "Connected as {user} ({email})" : "{user} ({email})(으)로 연결됨" 11 | },"pluralForm" :"nplurals=1; plural=0;" 12 | } -------------------------------------------------------------------------------- /l10n/lt_LT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "Neteisingas prieigos kodas", 5 | "Dropbox" : "Dropbox", 6 | "Bad HTTP method" : "Blogas HTTP metodas", 7 | "Bad credentials" : "Blogi prisijungimo duomenys", 8 | "Token is not valid anymore. Impossible to refresh it." : "Prieigos raktas daugiau nebegalioja. Neįmanoma įkelti jo iš naujo.", 9 | "OAuth access token refused" : "„OAuth“ prieigos raktas atmestas", 10 | "Connected accounts" : "Prijungtos paskyros", 11 | "Data migration" : "Duomenų perkėlimas", 12 | "Dropbox integration" : "„Dropbox“ integracija", 13 | "Import Dropbox data in Nextcloud" : "Importuoti „Dropbox“ duomenis į Nextcloud", 14 | "App key" : "Trečiųjų šalių programinės įrangos identifikacijos raktas", 15 | "App secret" : "Trečiųjų šalių programinės įrangos slaptažodis", 16 | "Successfully connected to Dropbox!" : "Sėkmingai prisijungta prie „Dropbox“!", 17 | "Failed to connect to Dropbox" : "Nepavyko prisijungti prie „Dropbox“", 18 | "Starting importing files in {targetPath} directory" : "Pradedamas failų importavimas į {targetPath} katalogą", 19 | "Authentication" : "Tapatybės nustatymas", 20 | "Dropbox access code" : "„Dropbox“ prieigos kodas", 21 | "Access code" : "Prieigos kodas", 22 | "Connected as {user} ({email})" : "Prisijungta kaip {user} ({email})", 23 | "Disconnect from Dropbox" : "Atsijungti nuo „Dropbox“", 24 | "Dropbox storage" : "„Dropbox“ saugykla", 25 | "Import directory" : "Importuoti katalogą", 26 | "Dropbox storage size: {formSize}" : "„Dropbox“ saugyklos dydis: {formSize}", 27 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Jūsų „Dropbox“ saugykla yra didesnė, nei jums yra likę laisvos vietos ({formSpace})", 28 | "Your Dropbox storage is empty" : "Jūsų „Dropbox“ saugykla yra tuščia", 29 | "_{amount} file imported_::_{amount} files imported_" : ["Importuotas {amount} failas","Importuoti {amount} failai","Importuota {amount} failų","Importuotas {amount} failas"] 30 | }, 31 | "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);"); 32 | -------------------------------------------------------------------------------- /l10n/lt_LT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Neteisingas prieigos kodas", 3 | "Dropbox" : "Dropbox", 4 | "Bad HTTP method" : "Blogas HTTP metodas", 5 | "Bad credentials" : "Blogi prisijungimo duomenys", 6 | "Token is not valid anymore. Impossible to refresh it." : "Prieigos raktas daugiau nebegalioja. Neįmanoma įkelti jo iš naujo.", 7 | "OAuth access token refused" : "„OAuth“ prieigos raktas atmestas", 8 | "Connected accounts" : "Prijungtos paskyros", 9 | "Data migration" : "Duomenų perkėlimas", 10 | "Dropbox integration" : "„Dropbox“ integracija", 11 | "Import Dropbox data in Nextcloud" : "Importuoti „Dropbox“ duomenis į Nextcloud", 12 | "App key" : "Trečiųjų šalių programinės įrangos identifikacijos raktas", 13 | "App secret" : "Trečiųjų šalių programinės įrangos slaptažodis", 14 | "Successfully connected to Dropbox!" : "Sėkmingai prisijungta prie „Dropbox“!", 15 | "Failed to connect to Dropbox" : "Nepavyko prisijungti prie „Dropbox“", 16 | "Starting importing files in {targetPath} directory" : "Pradedamas failų importavimas į {targetPath} katalogą", 17 | "Authentication" : "Tapatybės nustatymas", 18 | "Dropbox access code" : "„Dropbox“ prieigos kodas", 19 | "Access code" : "Prieigos kodas", 20 | "Connected as {user} ({email})" : "Prisijungta kaip {user} ({email})", 21 | "Disconnect from Dropbox" : "Atsijungti nuo „Dropbox“", 22 | "Dropbox storage" : "„Dropbox“ saugykla", 23 | "Import directory" : "Importuoti katalogą", 24 | "Dropbox storage size: {formSize}" : "„Dropbox“ saugyklos dydis: {formSize}", 25 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Jūsų „Dropbox“ saugykla yra didesnė, nei jums yra likę laisvos vietos ({formSpace})", 26 | "Your Dropbox storage is empty" : "Jūsų „Dropbox“ saugykla yra tuščia", 27 | "_{amount} file imported_::_{amount} files imported_" : ["Importuotas {amount} failas","Importuoti {amount} failai","Importuota {amount} failų","Importuotas {amount} failas"] 28 | },"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);" 29 | } -------------------------------------------------------------------------------- /l10n/lv.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Nederīgs HTTP pieprasījuma veids", 6 | "Bad credentials" : "Nederīgi pieteikšanās dati", 7 | "Connected accounts" : "Sasaistītie konti", 8 | "App key" : "Lietotnes atslēga", 9 | "Authentication" : "Autentifikācija" 10 | }, 11 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); 12 | -------------------------------------------------------------------------------- /l10n/lv.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Nederīgs HTTP pieprasījuma veids", 4 | "Bad credentials" : "Nederīgi pieteikšanās dati", 5 | "Connected accounts" : "Sasaistītie konti", 6 | "App key" : "Lietotnes atslēga", 7 | "Authentication" : "Autentifikācija" 8 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" 9 | } -------------------------------------------------------------------------------- /l10n/mk.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad credentials" : "Неточни акредитиви", 6 | "OAuth access token refused" : "Одбиен OAuth пристапен токен ", 7 | "Connected accounts" : "Поврзани сметки", 8 | "Data migration" : "Мигрирање на податоци", 9 | "App key" : "Клуч на апликацијата", 10 | "App secret" : "Тајна на апликацијата", 11 | "Failed to get Dropbox storage information" : "Неуспешно добивање информации за Dropbox складиштето", 12 | "Starting importing files in {targetPath} directory" : "Почеток на увоз на датотеки во папката {targetPath}", 13 | "Choose where to write imported files" : "Избери каде да ги увезете датотеките", 14 | "Dropbox data migration" : "Мигрирање на податоци од Dropbox ", 15 | "Authentication" : "Автентикација", 16 | "Connected as {user} ({email})" : "Поврзан како {user} ({email})", 17 | "Disconnect from Dropbox" : "Исклучи се од Dropbox", 18 | "Dropbox storage" : "Dropbox складиште", 19 | "Import directory" : "Увези папка", 20 | "Import Dropbox files" : "Увези датотеки од Dropbox", 21 | "Cancel Dropbox files import" : "Прекини увоз на Dropbox податоци", 22 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} датотека увезена","{amount} датотеки увезени"] 23 | }, 24 | "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); 25 | -------------------------------------------------------------------------------- /l10n/mk.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad credentials" : "Неточни акредитиви", 4 | "OAuth access token refused" : "Одбиен OAuth пристапен токен ", 5 | "Connected accounts" : "Поврзани сметки", 6 | "Data migration" : "Мигрирање на податоци", 7 | "App key" : "Клуч на апликацијата", 8 | "App secret" : "Тајна на апликацијата", 9 | "Failed to get Dropbox storage information" : "Неуспешно добивање информации за Dropbox складиштето", 10 | "Starting importing files in {targetPath} directory" : "Почеток на увоз на датотеки во папката {targetPath}", 11 | "Choose where to write imported files" : "Избери каде да ги увезете датотеките", 12 | "Dropbox data migration" : "Мигрирање на податоци од Dropbox ", 13 | "Authentication" : "Автентикација", 14 | "Connected as {user} ({email})" : "Поврзан како {user} ({email})", 15 | "Disconnect from Dropbox" : "Исклучи се од Dropbox", 16 | "Dropbox storage" : "Dropbox складиште", 17 | "Import directory" : "Увези папка", 18 | "Import Dropbox files" : "Увези датотеки од Dropbox", 19 | "Cancel Dropbox files import" : "Прекини увоз на Dropbox податоци", 20 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} датотека увезена","{amount} датотеки увезени"] 21 | },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" 22 | } -------------------------------------------------------------------------------- /l10n/nb.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "Ugyldig aksesskode", 5 | "Dropbox" : "Dropbox", 6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n fil ble importert fra Dropbox-lagring.","%n filer ble importert fra Dropbox-lagring."], 7 | "Bad HTTP method" : "HTTP-metode er feil", 8 | "Bad credentials" : "Påloggingsdetaljene er feil", 9 | "Token is not valid anymore. Impossible to refresh it." : "Tokenet er ikke gyldig lenger. Umulig å oppfriske det.", 10 | "Could not access file due to failed authentication." : "Kan ikke få tilgang til filen på grunn av feilet autentisering.", 11 | "OAuth access token refused" : "OAuth access token ble avslått", 12 | "Connected accounts" : "Tilknyttede kontoer", 13 | "Data migration" : "Datamigrering", 14 | "Dropbox integration" : "Dropbox-integrasjon", 15 | "Import Dropbox data in Nextcloud" : "Importer Dropbox-data i Nextcloud", 16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox-integrasjon lar deg automatisk importere Dropbox-filene dine til Nextcloud.", 17 | "Dropbox admin options saved" : "Administrasjonsalternativer for Dropbox lagret", 18 | "Failed to save Dropbox admin options" : "Lagring av administrasjonsalternativer for Dropbox feilet", 19 | "Dropbox developer settings" : "Innstillinger for utvikling av Dropbox", 20 | "Make sure your give those permissions to your app:" : "Pass på at du gir disse tillatelsene til appen din:", 21 | "No need to add any redirect URI." : "Det er ingen behov for å legge til omdirigerings-URI.", 22 | "Then set the app key and app secret below." : "Deretter angi app-nøkkel og app-hemmelighet nedenfor.", 23 | "App key" : "App-nøkkel", 24 | "Your Dropbox application key" : "Din Dropbox-applikasjonsnøkkel", 25 | "App secret" : "App-hemmelighet", 26 | "Your Dropbox application secret" : "Din Dropbox-applikasjonshemmelighet", 27 | "Last Dropbox import job at {date}" : "Siste Dropbox-importjobb den {date}", 28 | "Dropbox import process will begin soon" : "Dropbox-importprosessen begynner snart", 29 | "Dropbox options saved" : "Alternativer for Dropbox lagret", 30 | "Failed to save Dropbox options" : "Lagring av alternativer for Dropbox feilet", 31 | "Successfully connected to Dropbox!" : "Koblet til Dropbox!", 32 | "Failed to connect to Dropbox" : "Kobling til Dropbox feilet", 33 | "Failed to get Dropbox storage information" : "Kunne ikke hente Dropbox-lagringsinformasjon", 34 | "Starting importing files in {targetPath} directory" : "Begynner å importere filer i {targetPath}-katalogen", 35 | "Failed to start importing Dropbox storage" : "Kunne ikke begynne å importere Dropbox-lagring", 36 | "Choose where to write imported files" : "Velg hvor du vil skrive importerte filer", 37 | "Dropbox data migration" : "Dropbox-datamigrering", 38 | "Authentication" : "Autentisering", 39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Hvis du har problemer med å autentisere, kan du be Nextcloud-administratoren om å sjekke administratorinnstillingene for Dropbox.", 40 | "Connect to Dropbox to get an access code" : "Koble til Dropbox for å få en aksesskode", 41 | "Dropbox access code" : "Dropbox-aksesskode", 42 | "Access code" : "Aksesskode", 43 | "Connected as {user} ({email})" : "Tilkoblet som {user} ({email})", 44 | "Disconnect from Dropbox" : "Koble fra Dropbox", 45 | "Dropbox storage" : "Dropbox-lagring", 46 | "Import directory" : "Importkatalog", 47 | "Dropbox storage size: {formSize}" : "Dropbox-lagringsstørrelse: {formSize}", 48 | "Import Dropbox files" : "Importer Dropbox-filer", 49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Dropbox-lagringsplassen er større enn den gjenværende plassen som er igjen ({formSpace})", 50 | "Import job is currently running" : "Importjobben kjører for øyeblikket", 51 | "An error occured during the import: {error}" : "Det oppstod en feil under importen: {error}", 52 | "Cancel Dropbox files import" : "Avbryt filimporten fra Dropbox", 53 | "Your Dropbox storage is empty" : "Dropbox-lagringsplassen din er tom", 54 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fil importert","{amount} filer importert"] 55 | }, 56 | "nplurals=2; plural=(n != 1);"); 57 | -------------------------------------------------------------------------------- /l10n/nb.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Ugyldig aksesskode", 3 | "Dropbox" : "Dropbox", 4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n fil ble importert fra Dropbox-lagring.","%n filer ble importert fra Dropbox-lagring."], 5 | "Bad HTTP method" : "HTTP-metode er feil", 6 | "Bad credentials" : "Påloggingsdetaljene er feil", 7 | "Token is not valid anymore. Impossible to refresh it." : "Tokenet er ikke gyldig lenger. Umulig å oppfriske det.", 8 | "Could not access file due to failed authentication." : "Kan ikke få tilgang til filen på grunn av feilet autentisering.", 9 | "OAuth access token refused" : "OAuth access token ble avslått", 10 | "Connected accounts" : "Tilknyttede kontoer", 11 | "Data migration" : "Datamigrering", 12 | "Dropbox integration" : "Dropbox-integrasjon", 13 | "Import Dropbox data in Nextcloud" : "Importer Dropbox-data i Nextcloud", 14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox-integrasjon lar deg automatisk importere Dropbox-filene dine til Nextcloud.", 15 | "Dropbox admin options saved" : "Administrasjonsalternativer for Dropbox lagret", 16 | "Failed to save Dropbox admin options" : "Lagring av administrasjonsalternativer for Dropbox feilet", 17 | "Dropbox developer settings" : "Innstillinger for utvikling av Dropbox", 18 | "Make sure your give those permissions to your app:" : "Pass på at du gir disse tillatelsene til appen din:", 19 | "No need to add any redirect URI." : "Det er ingen behov for å legge til omdirigerings-URI.", 20 | "Then set the app key and app secret below." : "Deretter angi app-nøkkel og app-hemmelighet nedenfor.", 21 | "App key" : "App-nøkkel", 22 | "Your Dropbox application key" : "Din Dropbox-applikasjonsnøkkel", 23 | "App secret" : "App-hemmelighet", 24 | "Your Dropbox application secret" : "Din Dropbox-applikasjonshemmelighet", 25 | "Last Dropbox import job at {date}" : "Siste Dropbox-importjobb den {date}", 26 | "Dropbox import process will begin soon" : "Dropbox-importprosessen begynner snart", 27 | "Dropbox options saved" : "Alternativer for Dropbox lagret", 28 | "Failed to save Dropbox options" : "Lagring av alternativer for Dropbox feilet", 29 | "Successfully connected to Dropbox!" : "Koblet til Dropbox!", 30 | "Failed to connect to Dropbox" : "Kobling til Dropbox feilet", 31 | "Failed to get Dropbox storage information" : "Kunne ikke hente Dropbox-lagringsinformasjon", 32 | "Starting importing files in {targetPath} directory" : "Begynner å importere filer i {targetPath}-katalogen", 33 | "Failed to start importing Dropbox storage" : "Kunne ikke begynne å importere Dropbox-lagring", 34 | "Choose where to write imported files" : "Velg hvor du vil skrive importerte filer", 35 | "Dropbox data migration" : "Dropbox-datamigrering", 36 | "Authentication" : "Autentisering", 37 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Hvis du har problemer med å autentisere, kan du be Nextcloud-administratoren om å sjekke administratorinnstillingene for Dropbox.", 38 | "Connect to Dropbox to get an access code" : "Koble til Dropbox for å få en aksesskode", 39 | "Dropbox access code" : "Dropbox-aksesskode", 40 | "Access code" : "Aksesskode", 41 | "Connected as {user} ({email})" : "Tilkoblet som {user} ({email})", 42 | "Disconnect from Dropbox" : "Koble fra Dropbox", 43 | "Dropbox storage" : "Dropbox-lagring", 44 | "Import directory" : "Importkatalog", 45 | "Dropbox storage size: {formSize}" : "Dropbox-lagringsstørrelse: {formSize}", 46 | "Import Dropbox files" : "Importer Dropbox-filer", 47 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Dropbox-lagringsplassen er større enn den gjenværende plassen som er igjen ({formSpace})", 48 | "Import job is currently running" : "Importjobben kjører for øyeblikket", 49 | "An error occured during the import: {error}" : "Det oppstod en feil under importen: {error}", 50 | "Cancel Dropbox files import" : "Avbryt filimporten fra Dropbox", 51 | "Your Dropbox storage is empty" : "Dropbox-lagringsplassen din er tom", 52 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fil importert","{amount} filer importert"] 53 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 54 | } -------------------------------------------------------------------------------- /l10n/nl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Foute HTTP methode", 6 | "Bad credentials" : "Foute inloggegevens", 7 | "Token is not valid anymore. Impossible to refresh it." : "Token is niet meer geldig en onmogelijk te verversen.", 8 | "OAuth access token refused" : "OAuth toegangstoken geweigerd", 9 | "Connected accounts" : "Verbonden accounts", 10 | "Data migration" : "Gegevensmigratie", 11 | "App key" : "App key", 12 | "App secret" : "App secret", 13 | "Starting importing files in {targetPath} directory" : "Beginnen met importeren bestanden in {targetPath} directory", 14 | "Choose where to write imported files" : "Kies waar geïmporteerde bestanden moeten worden weggeschreven", 15 | "Authentication" : "Authenticatie", 16 | "Connected as {user} ({email})" : "Verbonden als {user} ({email})", 17 | "Import directory" : "Importdirectory" 18 | }, 19 | "nplurals=2; plural=(n != 1);"); 20 | -------------------------------------------------------------------------------- /l10n/nl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Foute HTTP methode", 4 | "Bad credentials" : "Foute inloggegevens", 5 | "Token is not valid anymore. Impossible to refresh it." : "Token is niet meer geldig en onmogelijk te verversen.", 6 | "OAuth access token refused" : "OAuth toegangstoken geweigerd", 7 | "Connected accounts" : "Verbonden accounts", 8 | "Data migration" : "Gegevensmigratie", 9 | "App key" : "App key", 10 | "App secret" : "App secret", 11 | "Starting importing files in {targetPath} directory" : "Beginnen met importeren bestanden in {targetPath} directory", 12 | "Choose where to write imported files" : "Kies waar geïmporteerde bestanden moeten worden weggeschreven", 13 | "Authentication" : "Authenticatie", 14 | "Connected as {user} ({email})" : "Verbonden als {user} ({email})", 15 | "Import directory" : "Importdirectory" 16 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 17 | } -------------------------------------------------------------------------------- /l10n/oc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Bad credentials" : "Marrits identificants", 5 | "Connected accounts" : "Comptes connectats", 6 | "Authentication" : "Autentificacion" 7 | }, 8 | "nplurals=2; plural=(n > 1);"); 9 | -------------------------------------------------------------------------------- /l10n/oc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Bad credentials" : "Marrits identificants", 3 | "Connected accounts" : "Comptes connectats", 4 | "Authentication" : "Autentificacion" 5 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 6 | } -------------------------------------------------------------------------------- /l10n/pl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Zła metoda HTTP", 6 | "Bad credentials" : "Złe poświadczenia", 7 | "Token is not valid anymore. Impossible to refresh it." : "Token jest już nieważny. Nie można go odświeżyć.", 8 | "OAuth access token refused" : "Odmowa tokena dostępu OAuth", 9 | "Connected accounts" : "Połączone konta", 10 | "Data migration" : "Migracja danych", 11 | "App key" : "Klucz aplikacji", 12 | "App secret" : "Tajny klucz aplikacji", 13 | "Starting importing files in {targetPath} directory" : "Rozpoczynam importowanie plików w katalogu {targetPath}", 14 | "Choose where to write imported files" : "Wybierz, gdzie zapisać zaimportowane pliki", 15 | "Authentication" : "Uwierzytelnienie", 16 | "Connected as {user} ({email})" : "Połączono jako {user} ({email})", 17 | "Import directory" : "Importuj katalog" 18 | }, 19 | "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);"); 20 | -------------------------------------------------------------------------------- /l10n/pl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Zła metoda HTTP", 4 | "Bad credentials" : "Złe poświadczenia", 5 | "Token is not valid anymore. Impossible to refresh it." : "Token jest już nieważny. Nie można go odświeżyć.", 6 | "OAuth access token refused" : "Odmowa tokena dostępu OAuth", 7 | "Connected accounts" : "Połączone konta", 8 | "Data migration" : "Migracja danych", 9 | "App key" : "Klucz aplikacji", 10 | "App secret" : "Tajny klucz aplikacji", 11 | "Starting importing files in {targetPath} directory" : "Rozpoczynam importowanie plików w katalogu {targetPath}", 12 | "Choose where to write imported files" : "Wybierz, gdzie zapisać zaimportowane pliki", 13 | "Authentication" : "Uwierzytelnienie", 14 | "Connected as {user} ({email})" : "Połączono jako {user} ({email})", 15 | "Import directory" : "Importuj katalog" 16 | },"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);" 17 | } -------------------------------------------------------------------------------- /l10n/pt_PT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "Código de acesso inválido", 5 | "Dropbox" : "Dropbox", 6 | "Bad HTTP method" : "Método HTTP incorreto", 7 | "Bad credentials" : "Credenciais inválidas", 8 | "Token is not valid anymore. Impossible to refresh it." : "Token deixou de ser válido. Impossível atualizá-lo.", 9 | "App key" : "Chave da App", 10 | "App secret" : "Segredo da app", 11 | "Authentication" : "Autenticação" 12 | }, 13 | "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 14 | -------------------------------------------------------------------------------- /l10n/pt_PT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Código de acesso inválido", 3 | "Dropbox" : "Dropbox", 4 | "Bad HTTP method" : "Método HTTP incorreto", 5 | "Bad credentials" : "Credenciais inválidas", 6 | "Token is not valid anymore. Impossible to refresh it." : "Token deixou de ser válido. Impossível atualizá-lo.", 7 | "App key" : "Chave da App", 8 | "App secret" : "Segredo da app", 9 | "Authentication" : "Autenticação" 10 | },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 11 | } -------------------------------------------------------------------------------- /l10n/ro.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Metodă HTTP nepotrivită", 6 | "Bad credentials" : "Credențiale greșite", 7 | "OAuth access token refused" : "Token-ul OAuth a fost refuzat", 8 | "Connected accounts" : "Conturile conectate", 9 | "App key" : "Cheie aplicație", 10 | "App secret" : "Secret aplicație", 11 | "Authentication" : "Autentificare" 12 | }, 13 | "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); 14 | -------------------------------------------------------------------------------- /l10n/ro.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Metodă HTTP nepotrivită", 4 | "Bad credentials" : "Credențiale greșite", 5 | "OAuth access token refused" : "Token-ul OAuth a fost refuzat", 6 | "Connected accounts" : "Conturile conectate", 7 | "App key" : "Cheie aplicație", 8 | "App secret" : "Secret aplicație", 9 | "Authentication" : "Autentificare" 10 | },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" 11 | } -------------------------------------------------------------------------------- /l10n/ru.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "Неверный код доступа", 5 | "Dropbox" : "Dropbox", 6 | "Bad HTTP method" : "Неверный метод HTTP", 7 | "Bad credentials" : "Неверные учетные данные", 8 | "Token is not valid anymore. Impossible to refresh it." : "Токен больше не действителен. Невозможно обновить его.", 9 | "OAuth access token refused" : "Токен доступа OAuth был отклонен", 10 | "Connected accounts" : "Подключённые учётные записи", 11 | "Data migration" : "Перенос данных", 12 | "Dropbox integration" : "Интеграция с Dropbox", 13 | "Import Dropbox data in Nextcloud" : "Импорт данных Dropbox в Nextcloud", 14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Интеграция с Dropbox позволяет вам автоматически импортировать ваши файлы из Dropbox в Nextcloud", 15 | "Dropbox developer settings" : "Настройки разработчика Dropbox", 16 | "App key" : "Ключ приложения", 17 | "App secret" : "Секретный ключ ", 18 | "Starting importing files in {targetPath} directory" : "Начало импорта файлов в каталог {targetPath}", 19 | "Choose where to write imported files" : "Выберите, куда сохранять импортированные файлы", 20 | "Authentication" : "Аутентификация", 21 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Если у вас возникли проблемы с аутентификацией, попросите администратора Nextcloud проверить настройки администратора Dropbox.", 22 | "Connected as {user} ({email})" : "Подключено как {user} ({email})", 23 | "Import directory" : "Каталог импорта" 24 | }, 25 | "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/ru.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "Неверный код доступа", 3 | "Dropbox" : "Dropbox", 4 | "Bad HTTP method" : "Неверный метод HTTP", 5 | "Bad credentials" : "Неверные учетные данные", 6 | "Token is not valid anymore. Impossible to refresh it." : "Токен больше не действителен. Невозможно обновить его.", 7 | "OAuth access token refused" : "Токен доступа OAuth был отклонен", 8 | "Connected accounts" : "Подключённые учётные записи", 9 | "Data migration" : "Перенос данных", 10 | "Dropbox integration" : "Интеграция с Dropbox", 11 | "Import Dropbox data in Nextcloud" : "Импорт данных Dropbox в Nextcloud", 12 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Интеграция с Dropbox позволяет вам автоматически импортировать ваши файлы из Dropbox в Nextcloud", 13 | "Dropbox developer settings" : "Настройки разработчика Dropbox", 14 | "App key" : "Ключ приложения", 15 | "App secret" : "Секретный ключ ", 16 | "Starting importing files in {targetPath} directory" : "Начало импорта файлов в каталог {targetPath}", 17 | "Choose where to write imported files" : "Выберите, куда сохранять импортированные файлы", 18 | "Authentication" : "Аутентификация", 19 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Если у вас возникли проблемы с аутентификацией, попросите администратора Nextcloud проверить настройки администратора Dropbox.", 20 | "Connected as {user} ({email})" : "Подключено как {user} ({email})", 21 | "Import directory" : "Каталог импорта" 22 | },"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);" 23 | } -------------------------------------------------------------------------------- /l10n/sc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Bad HTTP method" : "Mètodu HTTP no bàlidu", 5 | "Bad credentials" : "Credentziales non bàlidas", 6 | "Token is not valid anymore. Impossible to refresh it." : "Su token no est prus bàlidu. Non faghet a dd'agiornare.", 7 | "OAuth access token refused" : "Token de intrada OAuth refudadu", 8 | "Connected accounts" : "Contos connètidos", 9 | "Data migration" : "Tramudadura de datos", 10 | "App key" : "Crae de s'aplicatzione", 11 | "App secret" : "Segretu de s'aplicatzione", 12 | "Starting importing files in {targetPath} directory" : "Aviamentu de s'importatzione de is archìvios in sa cartella {targetPath}", 13 | "Choose where to write imported files" : "Sèbera in ue est a pònnere is archìvios importados", 14 | "Authentication" : "Autenticatzione", 15 | "Connected as {user} ({email})" : "In connessione comente {user} ({email})", 16 | "Import directory" : "Importa cartella" 17 | }, 18 | "nplurals=2; plural=(n != 1);"); 19 | -------------------------------------------------------------------------------- /l10n/sc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Bad HTTP method" : "Mètodu HTTP no bàlidu", 3 | "Bad credentials" : "Credentziales non bàlidas", 4 | "Token is not valid anymore. Impossible to refresh it." : "Su token no est prus bàlidu. Non faghet a dd'agiornare.", 5 | "OAuth access token refused" : "Token de intrada OAuth refudadu", 6 | "Connected accounts" : "Contos connètidos", 7 | "Data migration" : "Tramudadura de datos", 8 | "App key" : "Crae de s'aplicatzione", 9 | "App secret" : "Segretu de s'aplicatzione", 10 | "Starting importing files in {targetPath} directory" : "Aviamentu de s'importatzione de is archìvios in sa cartella {targetPath}", 11 | "Choose where to write imported files" : "Sèbera in ue est a pònnere is archìvios importados", 12 | "Authentication" : "Autenticatzione", 13 | "Connected as {user} ({email})" : "In connessione comente {user} ({email})", 14 | "Import directory" : "Importa cartella" 15 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 16 | } -------------------------------------------------------------------------------- /l10n/si.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Connected accounts" : "සම්බන්ධිත ගිණුම්", 5 | "Data migration" : "දත්ත සංක්‍රමණය", 6 | "Authentication" : "සත්‍යාපනය" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/si.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Connected accounts" : "සම්බන්ධිත ගිණුම්", 3 | "Data migration" : "දත්ත සංක්‍රමණය", 4 | "Authentication" : "සත්‍යාපනය" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/sl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Neustrezen način HTTP", 6 | "Bad credentials" : "Neustrezna poverila", 7 | "Token is not valid anymore. Impossible to refresh it." : "Žeton ni več veljaven, zato ga ni mogoče osvežiti.", 8 | "OAuth access token refused" : "Žeton OAuth za dostop je bil zavrnjen", 9 | "Connected accounts" : "Povezani računi", 10 | "Data migration" : "Preselitev podatkov", 11 | "App key" : "Programski ključ", 12 | "App secret" : "Skrivni programski ključ", 13 | "Starting importing files in {targetPath} directory" : "Začeto je uvažanje datotek v mapo {targetPath}.", 14 | "Choose where to write imported files" : "Izbor mesta za shranjevanje uvoženih datotek", 15 | "Authentication" : "Overitev", 16 | "Import directory" : "Uvozi mapo", 17 | "Import job is currently running" : "Trenutno poteka opravilo uvažanja podatkov" 18 | }, 19 | "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); 20 | -------------------------------------------------------------------------------- /l10n/sl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Neustrezen način HTTP", 4 | "Bad credentials" : "Neustrezna poverila", 5 | "Token is not valid anymore. Impossible to refresh it." : "Žeton ni več veljaven, zato ga ni mogoče osvežiti.", 6 | "OAuth access token refused" : "Žeton OAuth za dostop je bil zavrnjen", 7 | "Connected accounts" : "Povezani računi", 8 | "Data migration" : "Preselitev podatkov", 9 | "App key" : "Programski ključ", 10 | "App secret" : "Skrivni programski ključ", 11 | "Starting importing files in {targetPath} directory" : "Začeto je uvažanje datotek v mapo {targetPath}.", 12 | "Choose where to write imported files" : "Izbor mesta za shranjevanje uvoženih datotek", 13 | "Authentication" : "Overitev", 14 | "Import directory" : "Uvozi mapo", 15 | "Import job is currently running" : "Trenutno poteka opravilo uvažanja podatkov" 16 | },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" 17 | } -------------------------------------------------------------------------------- /l10n/sq.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "Kyç aplikacioni", 6 | "App secret" : "E fshehtë aplikacioni", 7 | "Authentication" : "Mirëfilltësim" 8 | }, 9 | "nplurals=2; plural=(n != 1);"); 10 | -------------------------------------------------------------------------------- /l10n/sq.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "Kyç aplikacioni", 4 | "App secret" : "E fshehtë aplikacioni", 5 | "Authentication" : "Mirëfilltësim" 6 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 7 | } -------------------------------------------------------------------------------- /l10n/sv.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Felaktig HTTP-metod", 6 | "Bad credentials" : "Ogiltiga inloggningsuppgifter", 7 | "OAuth access token refused" : "OAuth-token avvisades", 8 | "Connected accounts" : "Anslutna konton", 9 | "Data migration" : "Datamigrering", 10 | "App key" : "Appnyckel", 11 | "App secret" : "Apphemlighet", 12 | "Authentication" : "Autentisering", 13 | "Connected as {user} ({email})" : "Ansluten som {user} ({email})" 14 | }, 15 | "nplurals=2; plural=(n != 1);"); 16 | -------------------------------------------------------------------------------- /l10n/sv.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Felaktig HTTP-metod", 4 | "Bad credentials" : "Ogiltiga inloggningsuppgifter", 5 | "OAuth access token refused" : "OAuth-token avvisades", 6 | "Connected accounts" : "Anslutna konton", 7 | "Data migration" : "Datamigrering", 8 | "App key" : "Appnyckel", 9 | "App secret" : "Apphemlighet", 10 | "Authentication" : "Autentisering", 11 | "Connected as {user} ({email})" : "Ansluten som {user} ({email})" 12 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 13 | } -------------------------------------------------------------------------------- /l10n/th.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "App key" : "คีย์แอป", 6 | "App secret" : "ข้อมูลลับแอป", 7 | "Authentication" : "การตรวจสอบสิทธิ์" 8 | }, 9 | "nplurals=1; plural=0;"); 10 | -------------------------------------------------------------------------------- /l10n/th.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "App key" : "คีย์แอป", 4 | "App secret" : "ข้อมูลลับแอป", 5 | "Authentication" : "การตรวจสอบสิทธิ์" 6 | },"pluralForm" :"nplurals=1; plural=0;" 7 | } -------------------------------------------------------------------------------- /l10n/ug.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "زىيارەت كودى ئىناۋەتسىز", 5 | "Dropbox" : "Dropbox", 6 | "Bad HTTP method" : "ناچار HTTP ئۇسۇلى", 7 | "Bad credentials" : "ناچار كىنىشكا", 8 | "Token is not valid anymore. Impossible to refresh it." : "توكەن كۈچكە ئىگە ئەمەس. ئۇنى يېڭىلاش مۇمكىن ئەمەس.", 9 | "Could not access file due to failed authentication." : "دەلىللەش مەغلۇب بولغانلىقتىن ھۆججەتكە كىرەلمىدى.", 10 | "OAuth access token refused" : "OAuth زىيارەت بەلگىسى رەت قىلىندى", 11 | "Connected accounts" : "ئۇلانغان ھېساباتلار", 12 | "Data migration" : "سانلىق مەلۇمات كۆچۈش", 13 | "Dropbox integration" : "Dropbox بىرلەشتۈرۈش", 14 | "Import Dropbox data in Nextcloud" : "Nextcloud دا Dropbox سانلىق مەلۇماتلىرىنى ئەكىرىڭ", 15 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox بىرلەشتۈرۈش ئارقىلىق Dropbox ھۆججىتىڭىزنى Nextcloud غا ئاپتوماتىك ئەكىرىسىز.", 16 | "Dropbox admin options saved" : "Dropbox باشقۇرۇش تاللانمىلىرى ساقلاندى", 17 | "Failed to save Dropbox admin options" : "Dropbox باشقۇرۇش تاللانمىلىرىنى ساقلىيالمىدى", 18 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "ئەگەر Nextcloud ئىشلەتكۈچىلىرىڭىزنىڭ Dropbox OAuth دېتالى ئارقىلىق Dropbox غا دەلىللىشىنى ئۈمىد قىلسىڭىز ، Dropbox دا بىرنى قۇرۇڭ.", 19 | "Dropbox developer settings" : "Dropbox ئاچقۇچىلار تەڭشىكى", 20 | "Make sure your give those permissions to your app:" : "بۇ ئىجازەتلەرنى ئەپىڭىزگە بەرگەنلىكىڭىزنى جەزملەشتۈرۈڭ:", 21 | "No need to add any redirect URI." : "قايتا نىشانلانغان URI نى قوشۇشنىڭ ھاجىتى يوق.", 22 | "Then set the app key and app secret below." : "ئاندىن تۆۋەندىكى ئەپ ئاچقۇچى ۋە ئەپ مەخپىيىتىنى بەلگىلەڭ.", 23 | "App key" : "ئەپ ئاچقۇچى", 24 | "Your Dropbox application key" : "Dropbox قوللىنىشچان پروگراممىڭىز", 25 | "App secret" : "ئەپ مەخپىيىتى", 26 | "Your Dropbox application secret" : "Dropbox قوللىنىشچان پروگراممىڭىزنىڭ مەخپىيىتى", 27 | "Last Dropbox import job at {date}" : "ئەڭ ئاخىرقى Dropbox ئىمپورت خىزمىتى {date}", 28 | "Dropbox import process will begin soon" : "Dropbox ئىمپورت قىلىش جەريانى پات يېقىندا باشلىنىدۇ", 29 | "Dropbox options saved" : "Dropbox تاللانمىلىرى ساقلاندى", 30 | "Failed to save Dropbox options" : "Dropbox تاللانمىلىرىنى ساقلاش مەغلۇب بولدى", 31 | "Successfully connected to Dropbox!" : "Dropbox غا مۇۋەپپەقىيەتلىك ئۇلاندى!", 32 | "Failed to connect to Dropbox" : "Dropbox غا ئۇلىنالمىدى", 33 | "Failed to get Dropbox storage information" : "Dropbox ساقلاش ئۇچۇرىغا ئېرىشەلمىدى", 34 | "Starting importing files in {targetPath} directory" : "ھۆججەتلەرنى {targetPath} مۇندەرىجىسىگە ئەكىرىشنى باشلاش", 35 | "Failed to start importing Dropbox storage" : "Dropbox ساقلاشنى ئىمپورتلاشنى باشلىمىدى", 36 | "Choose where to write imported files" : "ئىمپورت قىلىنغان ھۆججەتلەرنى قەيەرگە يېزىشنى تاللاڭ", 37 | "Dropbox data migration" : "Dropbox سانلىق مەلۇمات كۆچۈش", 38 | "Your administrator has not yet configured this integration." : "باشقۇرغۇچىڭىز بۇ بىرلەشتۈرۈشنى تېخى تەڭشىمىدى.", 39 | "Authentication" : "دەلىللەش", 40 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "دەلىللەشتە مەسىلىگە يولۇقسىڭىز ، Nextcloud باشقۇرغۇچىڭىزدىن Dropbox باشقۇرۇش تەڭشىكىنى تەكشۈرۈشىنى سوراڭ.", 41 | "Connect to Dropbox to get an access code" : "زىيارەت كودىغا ئېرىشىش ئۈچۈن Dropbox غا ئۇلاڭ", 42 | "Dropbox access code" : "Dropbox زىيارەت كودى", 43 | "Access code" : "زىيارەت كودى", 44 | "Connected as {user} ({email})" : "{user} ({email} خەت}) قىلىپ ئۇلاندى", 45 | "Disconnect from Dropbox" : "Dropbox دىن ئۈزۈڭ", 46 | "Dropbox storage" : "Dropbox ساقلاش", 47 | "Import directory" : "مۇندەرىجە ئەكىرىڭ", 48 | "Dropbox storage size: {formSize}" : "Dropbox ساقلاش چوڭلۇقى: {formSize}", 49 | "Import Dropbox files" : "Dropbox ھۆججىتىنى ئەكىرىڭ", 50 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Dropbox ساقلاش بوشلۇقىڭىز قالغان بوشلۇقتىن چوڭ ({formSpace})", 51 | "Import job is currently running" : "ھازىر ئىمپورت خىزمىتى ئىجرا بولۇۋاتىدۇ", 52 | "An error occured during the import: {error}" : "ئىمپورت جەريانىدا خاتالىق كۆرۈلدى: {error}", 53 | "Cancel Dropbox files import" : "Dropbox ھۆججەتلىرىنى ئىمپورت قىلىشنى ئەمەلدىن قالدۇرۇڭ", 54 | "Your Dropbox storage is empty" : "Dropbox ساقلاش بوشلۇقىڭىز قۇرۇق" 55 | }, 56 | "nplurals=2; plural=(n != 1);"); 57 | -------------------------------------------------------------------------------- /l10n/ug.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "زىيارەت كودى ئىناۋەتسىز", 3 | "Dropbox" : "Dropbox", 4 | "Bad HTTP method" : "ناچار HTTP ئۇسۇلى", 5 | "Bad credentials" : "ناچار كىنىشكا", 6 | "Token is not valid anymore. Impossible to refresh it." : "توكەن كۈچكە ئىگە ئەمەس. ئۇنى يېڭىلاش مۇمكىن ئەمەس.", 7 | "Could not access file due to failed authentication." : "دەلىللەش مەغلۇب بولغانلىقتىن ھۆججەتكە كىرەلمىدى.", 8 | "OAuth access token refused" : "OAuth زىيارەت بەلگىسى رەت قىلىندى", 9 | "Connected accounts" : "ئۇلانغان ھېساباتلار", 10 | "Data migration" : "سانلىق مەلۇمات كۆچۈش", 11 | "Dropbox integration" : "Dropbox بىرلەشتۈرۈش", 12 | "Import Dropbox data in Nextcloud" : "Nextcloud دا Dropbox سانلىق مەلۇماتلىرىنى ئەكىرىڭ", 13 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox بىرلەشتۈرۈش ئارقىلىق Dropbox ھۆججىتىڭىزنى Nextcloud غا ئاپتوماتىك ئەكىرىسىز.", 14 | "Dropbox admin options saved" : "Dropbox باشقۇرۇش تاللانمىلىرى ساقلاندى", 15 | "Failed to save Dropbox admin options" : "Dropbox باشقۇرۇش تاللانمىلىرىنى ساقلىيالمىدى", 16 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "ئەگەر Nextcloud ئىشلەتكۈچىلىرىڭىزنىڭ Dropbox OAuth دېتالى ئارقىلىق Dropbox غا دەلىللىشىنى ئۈمىد قىلسىڭىز ، Dropbox دا بىرنى قۇرۇڭ.", 17 | "Dropbox developer settings" : "Dropbox ئاچقۇچىلار تەڭشىكى", 18 | "Make sure your give those permissions to your app:" : "بۇ ئىجازەتلەرنى ئەپىڭىزگە بەرگەنلىكىڭىزنى جەزملەشتۈرۈڭ:", 19 | "No need to add any redirect URI." : "قايتا نىشانلانغان URI نى قوشۇشنىڭ ھاجىتى يوق.", 20 | "Then set the app key and app secret below." : "ئاندىن تۆۋەندىكى ئەپ ئاچقۇچى ۋە ئەپ مەخپىيىتىنى بەلگىلەڭ.", 21 | "App key" : "ئەپ ئاچقۇچى", 22 | "Your Dropbox application key" : "Dropbox قوللىنىشچان پروگراممىڭىز", 23 | "App secret" : "ئەپ مەخپىيىتى", 24 | "Your Dropbox application secret" : "Dropbox قوللىنىشچان پروگراممىڭىزنىڭ مەخپىيىتى", 25 | "Last Dropbox import job at {date}" : "ئەڭ ئاخىرقى Dropbox ئىمپورت خىزمىتى {date}", 26 | "Dropbox import process will begin soon" : "Dropbox ئىمپورت قىلىش جەريانى پات يېقىندا باشلىنىدۇ", 27 | "Dropbox options saved" : "Dropbox تاللانمىلىرى ساقلاندى", 28 | "Failed to save Dropbox options" : "Dropbox تاللانمىلىرىنى ساقلاش مەغلۇب بولدى", 29 | "Successfully connected to Dropbox!" : "Dropbox غا مۇۋەپپەقىيەتلىك ئۇلاندى!", 30 | "Failed to connect to Dropbox" : "Dropbox غا ئۇلىنالمىدى", 31 | "Failed to get Dropbox storage information" : "Dropbox ساقلاش ئۇچۇرىغا ئېرىشەلمىدى", 32 | "Starting importing files in {targetPath} directory" : "ھۆججەتلەرنى {targetPath} مۇندەرىجىسىگە ئەكىرىشنى باشلاش", 33 | "Failed to start importing Dropbox storage" : "Dropbox ساقلاشنى ئىمپورتلاشنى باشلىمىدى", 34 | "Choose where to write imported files" : "ئىمپورت قىلىنغان ھۆججەتلەرنى قەيەرگە يېزىشنى تاللاڭ", 35 | "Dropbox data migration" : "Dropbox سانلىق مەلۇمات كۆچۈش", 36 | "Your administrator has not yet configured this integration." : "باشقۇرغۇچىڭىز بۇ بىرلەشتۈرۈشنى تېخى تەڭشىمىدى.", 37 | "Authentication" : "دەلىللەش", 38 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "دەلىللەشتە مەسىلىگە يولۇقسىڭىز ، Nextcloud باشقۇرغۇچىڭىزدىن Dropbox باشقۇرۇش تەڭشىكىنى تەكشۈرۈشىنى سوراڭ.", 39 | "Connect to Dropbox to get an access code" : "زىيارەت كودىغا ئېرىشىش ئۈچۈن Dropbox غا ئۇلاڭ", 40 | "Dropbox access code" : "Dropbox زىيارەت كودى", 41 | "Access code" : "زىيارەت كودى", 42 | "Connected as {user} ({email})" : "{user} ({email} خەت}) قىلىپ ئۇلاندى", 43 | "Disconnect from Dropbox" : "Dropbox دىن ئۈزۈڭ", 44 | "Dropbox storage" : "Dropbox ساقلاش", 45 | "Import directory" : "مۇندەرىجە ئەكىرىڭ", 46 | "Dropbox storage size: {formSize}" : "Dropbox ساقلاش چوڭلۇقى: {formSize}", 47 | "Import Dropbox files" : "Dropbox ھۆججىتىنى ئەكىرىڭ", 48 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Dropbox ساقلاش بوشلۇقىڭىز قالغان بوشلۇقتىن چوڭ ({formSpace})", 49 | "Import job is currently running" : "ھازىر ئىمپورت خىزمىتى ئىجرا بولۇۋاتىدۇ", 50 | "An error occured during the import: {error}" : "ئىمپورت جەريانىدا خاتالىق كۆرۈلدى: {error}", 51 | "Cancel Dropbox files import" : "Dropbox ھۆججەتلىرىنى ئىمپورت قىلىشنى ئەمەلدىن قالدۇرۇڭ", 52 | "Your Dropbox storage is empty" : "Dropbox ساقلاش بوشلۇقىڭىز قۇرۇق" 53 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 54 | } -------------------------------------------------------------------------------- /l10n/uk.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "Поганий метод HTTP", 6 | "Bad credentials" : "Погані облікові дані", 7 | "OAuth access token refused" : "Токен доступу OAuth відхилено", 8 | "Connected accounts" : "Підключені облікові записи", 9 | "App key" : "Ключ застосунку", 10 | "App secret" : "Секретний ключ застосунку", 11 | "Authentication" : "Авторизація", 12 | "Connected as {user} ({email})" : "Підключено як {user} ({email})" 13 | }, 14 | "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);"); 15 | -------------------------------------------------------------------------------- /l10n/uk.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "Поганий метод HTTP", 4 | "Bad credentials" : "Погані облікові дані", 5 | "OAuth access token refused" : "Токен доступу OAuth відхилено", 6 | "Connected accounts" : "Підключені облікові записи", 7 | "App key" : "Ключ застосунку", 8 | "App secret" : "Секретний ключ застосунку", 9 | "Authentication" : "Авторизація", 10 | "Connected as {user} ({email})" : "Підключено як {user} ({email})" 11 | },"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);" 12 | } -------------------------------------------------------------------------------- /l10n/uz.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Bad HTTP method" : "Yomon HTTP usuli", 5 | "Bad credentials" : "Akkaunt ma'lumotlari xato", 6 | "Authentication" : "Autentifikatsiya" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /l10n/uz.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Bad HTTP method" : "Yomon HTTP usuli", 3 | "Bad credentials" : "Akkaunt ma'lumotlari xato", 4 | "Authentication" : "Autentifikatsiya" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /l10n/vi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Bad HTTP method" : "Phương thức HTTP không hợp lệ", 5 | "Bad credentials" : "Thông tin đăng nhập không hợp lệ.", 6 | "Connected accounts" : "Đã kết nối tài khoản", 7 | "Authentication" : "Xác thực", 8 | "Access code" : "Mã truy cập", 9 | "Disconnect from Dropbox" : "Ngắt kết nối đến Dropbox" 10 | }, 11 | "nplurals=1; plural=0;"); 12 | -------------------------------------------------------------------------------- /l10n/vi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Bad HTTP method" : "Phương thức HTTP không hợp lệ", 3 | "Bad credentials" : "Thông tin đăng nhập không hợp lệ.", 4 | "Connected accounts" : "Đã kết nối tài khoản", 5 | "Authentication" : "Xác thực", 6 | "Access code" : "Mã truy cập", 7 | "Disconnect from Dropbox" : "Ngắt kết nối đến Dropbox" 8 | },"pluralForm" :"nplurals=1; plural=0;" 9 | } -------------------------------------------------------------------------------- /l10n/zh_CN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Dropbox" : "Dropbox", 5 | "Bad HTTP method" : "错误的HTTP方法", 6 | "Bad credentials" : "错误的凭据", 7 | "Token is not valid anymore. Impossible to refresh it." : "令牌已不再有效。无法刷新。", 8 | "Could not access file due to failed authentication." : "由于验证失败,无法访问文件。", 9 | "OAuth access token refused" : "OAuth 访问令牌被拒绝", 10 | "Connected accounts" : "关联账号", 11 | "Data migration" : "数据迁移", 12 | "App key" : "App key", 13 | "App secret" : "应用程序 secret", 14 | "Authentication" : "身份认证", 15 | "Connected as {user} ({email})" : "连接为 {user} ({email})", 16 | "Import directory" : "导入文件夹" 17 | }, 18 | "nplurals=1; plural=0;"); 19 | -------------------------------------------------------------------------------- /l10n/zh_CN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Dropbox" : "Dropbox", 3 | "Bad HTTP method" : "错误的HTTP方法", 4 | "Bad credentials" : "错误的凭据", 5 | "Token is not valid anymore. Impossible to refresh it." : "令牌已不再有效。无法刷新。", 6 | "Could not access file due to failed authentication." : "由于验证失败,无法访问文件。", 7 | "OAuth access token refused" : "OAuth 访问令牌被拒绝", 8 | "Connected accounts" : "关联账号", 9 | "Data migration" : "数据迁移", 10 | "App key" : "App key", 11 | "App secret" : "应用程序 secret", 12 | "Authentication" : "身份认证", 13 | "Connected as {user} ({email})" : "连接为 {user} ({email})", 14 | "Import directory" : "导入文件夹" 15 | },"pluralForm" :"nplurals=1; plural=0;" 16 | } -------------------------------------------------------------------------------- /l10n/zh_HK.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "無效的存取代碼", 5 | "Dropbox" : "Dropbox", 6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["從 Dropbox 儲存空間匯入了 %n 個檔案。"], 7 | "Bad HTTP method" : "不正確的 HTTP 方法", 8 | "Bad credentials" : "錯誤的憑證", 9 | "Token is not valid anymore. Impossible to refresh it." : "權杖不再有效。不可能刷新它。", 10 | "Could not access file due to failed authentication." : "由於身份驗證失敗,無法存取檔案。", 11 | "OAuth access token refused" : "OAuth 存取權杖被拒絕", 12 | "Connected accounts" : "已連線的賬號", 13 | "Data migration" : "數據遷移", 14 | "Dropbox integration" : "Dropbox 整合", 15 | "Import Dropbox data in Nextcloud" : "將 Dropbox 數據導入 Nextcloud", 16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox 整合讓您自動導入您的 Dropbox 檔案至 Nextcloud。", 17 | "Dropbox admin options saved" : "已儲存 Dropbox 管理員選項", 18 | "Failed to save Dropbox admin options" : "儲存 Dropbox 管理選項失敗", 19 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "若您想要您的 Nextcloud 用戶驗證以使用你的 Dropbox OAuth 應用程式,請在 Dropbox 中建立一個。", 20 | "Dropbox developer settings" : "Dropbox 開發人員應用程序設置", 21 | "Make sure your give those permissions to your app:" : "確認將這些權限授予給您的應用程式:", 22 | "No need to add any redirect URI." : "不需要新增任何重新導向 URI。", 23 | "Then set the app key and app secret below." : "然後在下方設定應用程式密鑰與應用程式密碼。", 24 | "App key" : "App 密鑰", 25 | "Your Dropbox application key" : "您的 Dropbox 應用程式密鑰", 26 | "App secret" : "App 密碼", 27 | "Your Dropbox application secret" : "您的 Dropbox 應用程式密碼", 28 | "Last Dropbox import job at {date}" : "上次 Dropbox 導入作業於 {date} 執行", 29 | "Dropbox import process will begin soon" : "DropBox 導入後台作業進程即將開始。", 30 | "Dropbox options saved" : "Dropbox 選項已保存", 31 | "Failed to save Dropbox options" : "保存 Dropbox 選項失敗", 32 | "Successfully connected to Dropbox!" : "成功連線至 Dropbox!", 33 | "Failed to connect to Dropbox" : "連接至 Dropbox 失敗", 34 | "Failed to get Dropbox storage information" : "無法獲取 Dropbox 儲存空間資訊", 35 | "Starting importing files in {targetPath} directory" : "開始將檔案導入到 {targetPath} 目錄", 36 | "Failed to start importing Dropbox storage" : "無法開始導入Dropbox 儲存空間", 37 | "Choose where to write imported files" : "選擇寫入導入檔案的位置", 38 | "Dropbox data migration" : "Dropbox 數據轉移", 39 | "Your administrator has not yet configured this integration." : "您的管理員尚未配置此整合。", 40 | "Authentication" : "驗證", 41 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "若您無法通過身份驗證,請要求您的 Nextcloud 管理員檢查 Dropbox 管理設定。", 42 | "Connect to Dropbox to get an access code" : "連線至 Dropbox 以取得存取代碼", 43 | "Dropbox access code" : "Dropbox 存取代碼", 44 | "Access code" : "存取代碼", 45 | "Connected as {user} ({email})" : "以 {user}({email})身分連線", 46 | "Disconnect from Dropbox" : "從 Dropbox 斷線", 47 | "Dropbox storage" : "Dropbox 儲存空間", 48 | "Import directory" : "導入資料夾", 49 | "Dropbox storage size: {formSize}" : "Dropbox 儲存空間大小:{formSize}", 50 | "Import Dropbox files" : "導入 Dropbox 檔案", 51 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "您的 Dropbox 儲存大於剩餘空間({formSpace})", 52 | "Import job is currently running" : "導入作業目前正在運行", 53 | "An error occured during the import: {error}" : "匯入時發生錯誤:{error}", 54 | "Cancel Dropbox files import" : "取消 Dropbox 檔案導入", 55 | "Your Dropbox storage is empty" : "您的 Dropbox 儲存空間是空的", 56 | "_{amount} file imported_::_{amount} files imported_" : ["已導入 {amount} 個檔案"] 57 | }, 58 | "nplurals=1; plural=0;"); 59 | -------------------------------------------------------------------------------- /l10n/zh_HK.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "無效的存取代碼", 3 | "Dropbox" : "Dropbox", 4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["從 Dropbox 儲存空間匯入了 %n 個檔案。"], 5 | "Bad HTTP method" : "不正確的 HTTP 方法", 6 | "Bad credentials" : "錯誤的憑證", 7 | "Token is not valid anymore. Impossible to refresh it." : "權杖不再有效。不可能刷新它。", 8 | "Could not access file due to failed authentication." : "由於身份驗證失敗,無法存取檔案。", 9 | "OAuth access token refused" : "OAuth 存取權杖被拒絕", 10 | "Connected accounts" : "已連線的賬號", 11 | "Data migration" : "數據遷移", 12 | "Dropbox integration" : "Dropbox 整合", 13 | "Import Dropbox data in Nextcloud" : "將 Dropbox 數據導入 Nextcloud", 14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox 整合讓您自動導入您的 Dropbox 檔案至 Nextcloud。", 15 | "Dropbox admin options saved" : "已儲存 Dropbox 管理員選項", 16 | "Failed to save Dropbox admin options" : "儲存 Dropbox 管理選項失敗", 17 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "若您想要您的 Nextcloud 用戶驗證以使用你的 Dropbox OAuth 應用程式,請在 Dropbox 中建立一個。", 18 | "Dropbox developer settings" : "Dropbox 開發人員應用程序設置", 19 | "Make sure your give those permissions to your app:" : "確認將這些權限授予給您的應用程式:", 20 | "No need to add any redirect URI." : "不需要新增任何重新導向 URI。", 21 | "Then set the app key and app secret below." : "然後在下方設定應用程式密鑰與應用程式密碼。", 22 | "App key" : "App 密鑰", 23 | "Your Dropbox application key" : "您的 Dropbox 應用程式密鑰", 24 | "App secret" : "App 密碼", 25 | "Your Dropbox application secret" : "您的 Dropbox 應用程式密碼", 26 | "Last Dropbox import job at {date}" : "上次 Dropbox 導入作業於 {date} 執行", 27 | "Dropbox import process will begin soon" : "DropBox 導入後台作業進程即將開始。", 28 | "Dropbox options saved" : "Dropbox 選項已保存", 29 | "Failed to save Dropbox options" : "保存 Dropbox 選項失敗", 30 | "Successfully connected to Dropbox!" : "成功連線至 Dropbox!", 31 | "Failed to connect to Dropbox" : "連接至 Dropbox 失敗", 32 | "Failed to get Dropbox storage information" : "無法獲取 Dropbox 儲存空間資訊", 33 | "Starting importing files in {targetPath} directory" : "開始將檔案導入到 {targetPath} 目錄", 34 | "Failed to start importing Dropbox storage" : "無法開始導入Dropbox 儲存空間", 35 | "Choose where to write imported files" : "選擇寫入導入檔案的位置", 36 | "Dropbox data migration" : "Dropbox 數據轉移", 37 | "Your administrator has not yet configured this integration." : "您的管理員尚未配置此整合。", 38 | "Authentication" : "驗證", 39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "若您無法通過身份驗證,請要求您的 Nextcloud 管理員檢查 Dropbox 管理設定。", 40 | "Connect to Dropbox to get an access code" : "連線至 Dropbox 以取得存取代碼", 41 | "Dropbox access code" : "Dropbox 存取代碼", 42 | "Access code" : "存取代碼", 43 | "Connected as {user} ({email})" : "以 {user}({email})身分連線", 44 | "Disconnect from Dropbox" : "從 Dropbox 斷線", 45 | "Dropbox storage" : "Dropbox 儲存空間", 46 | "Import directory" : "導入資料夾", 47 | "Dropbox storage size: {formSize}" : "Dropbox 儲存空間大小:{formSize}", 48 | "Import Dropbox files" : "導入 Dropbox 檔案", 49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "您的 Dropbox 儲存大於剩餘空間({formSpace})", 50 | "Import job is currently running" : "導入作業目前正在運行", 51 | "An error occured during the import: {error}" : "匯入時發生錯誤:{error}", 52 | "Cancel Dropbox files import" : "取消 Dropbox 檔案導入", 53 | "Your Dropbox storage is empty" : "您的 Dropbox 儲存空間是空的", 54 | "_{amount} file imported_::_{amount} files imported_" : ["已導入 {amount} 個檔案"] 55 | },"pluralForm" :"nplurals=1; plural=0;" 56 | } -------------------------------------------------------------------------------- /l10n/zh_TW.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "integration_dropbox", 3 | { 4 | "Invalid access code" : "無效的存取代碼", 5 | "Dropbox" : "Dropbox", 6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["從 Dropbox 儲存空間匯入了 %n 個檔案。"], 7 | "Bad HTTP method" : "錯誤的 HTTP 方法", 8 | "Bad credentials" : "錯誤的憑證", 9 | "Token is not valid anymore. Impossible to refresh it." : "權杖不再有效。無法重新整理。", 10 | "Could not access file due to failed authentication." : "因為驗證失敗,無法存取檔案。", 11 | "OAuth access token refused" : "OAuth 存取權杖被拒絕", 12 | "Connected accounts" : "已連線的帳號", 13 | "Data migration" : "資料遷移", 14 | "Dropbox integration" : "Dropbox 整合", 15 | "Import Dropbox data in Nextcloud" : "將 Dropbox 資料匯入 Nextcloud", 16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox 整合讓您自動匯入您的 Dropbox 檔案至 Nextcloud。", 17 | "Dropbox admin options saved" : "Dropbox 管理選項已儲存", 18 | "Failed to save Dropbox admin options" : "儲存 Dropbox 管理選項失敗", 19 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "若您想要讓您的 Nextcloud 使用者驗證以使用您的 Dropbox OAuth 應用程式,請在 Dropbox 中建立一個。", 20 | "Dropbox developer settings" : "Dropbox 開發者設定", 21 | "Make sure your give those permissions to your app:" : "確認將這些權限授予給您的應用程式:", 22 | "No need to add any redirect URI." : "不需要新增任何重新導向 URI。", 23 | "Then set the app key and app secret below." : "然後在下方設定應用程式金鑰與應用程式密碼。", 24 | "App key" : "應用程式金鑰", 25 | "Your Dropbox application key" : "您的 Dropbox 應用程式金鑰", 26 | "App secret" : "應用程式密碼", 27 | "Your Dropbox application secret" : "您的 Dropbox 應用程式密碼", 28 | "Last Dropbox import job at {date}" : "上次 Dropbox 匯入作業進行日期為 {date}", 29 | "Dropbox import process will begin soon" : "Dropbox 匯入流程即將開始", 30 | "Dropbox options saved" : "Dropbox 選項已儲存", 31 | "Failed to save Dropbox options" : "儲存 Dropbox 選項失敗", 32 | "Successfully connected to Dropbox!" : "成功連線至 Dropbox!", 33 | "Failed to connect to Dropbox" : "連線至 Dropbox 失敗", 34 | "Failed to get Dropbox storage information" : "取得 Dropbox 儲存空間資訊失敗", 35 | "Starting importing files in {targetPath} directory" : "開始匯入檔案至 {targetPath} 目錄", 36 | "Failed to start importing Dropbox storage" : "無法開始匯入 Dropbox 儲存空間", 37 | "Choose where to write imported files" : "選擇要寫入匯入檔案的位置", 38 | "Dropbox data migration" : "Dropbox 資料轉移", 39 | "Your administrator has not yet configured this integration." : "您的管理員尚未設定此整合。", 40 | "Authentication" : "驗證", 41 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "若您無法通過身份驗證,請要求您的 Nextcloud 管理員檢查 Dropbox 管理設定。", 42 | "Connect to Dropbox to get an access code" : "連線至 Dropbox 以取得存取代碼", 43 | "Dropbox access code" : "Dropbox 存取代碼", 44 | "Access code" : "存取代碼", 45 | "Connected as {user} ({email})" : "以 {user} ({email}) 身份連結", 46 | "Disconnect from Dropbox" : "從 Dropbox 斷線", 47 | "Dropbox storage" : "Dropbox 儲存空間", 48 | "Import directory" : "匯入目錄", 49 | "Dropbox storage size: {formSize}" : "Dropbox 儲存空間大小:{formSize}", 50 | "Import Dropbox files" : "匯入 Dropbox 檔案", 51 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "您的 Dropbox 儲存空間大於您的剩餘空間 ({formSpace})", 52 | "Import job is currently running" : "匯入作業正在執行", 53 | "An error occured during the import: {error}" : "匯入時發生錯誤:{error}", 54 | "Cancel Dropbox files import" : "取消 Dropbox 檔案匯入", 55 | "Your Dropbox storage is empty" : "您的 Dropbox 儲存空間為空", 56 | "_{amount} file imported_::_{amount} files imported_" : ["已匯入 {amount} 個檔案"] 57 | }, 58 | "nplurals=1; plural=0;"); 59 | -------------------------------------------------------------------------------- /l10n/zh_TW.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Invalid access code" : "無效的存取代碼", 3 | "Dropbox" : "Dropbox", 4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["從 Dropbox 儲存空間匯入了 %n 個檔案。"], 5 | "Bad HTTP method" : "錯誤的 HTTP 方法", 6 | "Bad credentials" : "錯誤的憑證", 7 | "Token is not valid anymore. Impossible to refresh it." : "權杖不再有效。無法重新整理。", 8 | "Could not access file due to failed authentication." : "因為驗證失敗,無法存取檔案。", 9 | "OAuth access token refused" : "OAuth 存取權杖被拒絕", 10 | "Connected accounts" : "已連線的帳號", 11 | "Data migration" : "資料遷移", 12 | "Dropbox integration" : "Dropbox 整合", 13 | "Import Dropbox data in Nextcloud" : "將 Dropbox 資料匯入 Nextcloud", 14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox 整合讓您自動匯入您的 Dropbox 檔案至 Nextcloud。", 15 | "Dropbox admin options saved" : "Dropbox 管理選項已儲存", 16 | "Failed to save Dropbox admin options" : "儲存 Dropbox 管理選項失敗", 17 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "若您想要讓您的 Nextcloud 使用者驗證以使用您的 Dropbox OAuth 應用程式,請在 Dropbox 中建立一個。", 18 | "Dropbox developer settings" : "Dropbox 開發者設定", 19 | "Make sure your give those permissions to your app:" : "確認將這些權限授予給您的應用程式:", 20 | "No need to add any redirect URI." : "不需要新增任何重新導向 URI。", 21 | "Then set the app key and app secret below." : "然後在下方設定應用程式金鑰與應用程式密碼。", 22 | "App key" : "應用程式金鑰", 23 | "Your Dropbox application key" : "您的 Dropbox 應用程式金鑰", 24 | "App secret" : "應用程式密碼", 25 | "Your Dropbox application secret" : "您的 Dropbox 應用程式密碼", 26 | "Last Dropbox import job at {date}" : "上次 Dropbox 匯入作業進行日期為 {date}", 27 | "Dropbox import process will begin soon" : "Dropbox 匯入流程即將開始", 28 | "Dropbox options saved" : "Dropbox 選項已儲存", 29 | "Failed to save Dropbox options" : "儲存 Dropbox 選項失敗", 30 | "Successfully connected to Dropbox!" : "成功連線至 Dropbox!", 31 | "Failed to connect to Dropbox" : "連線至 Dropbox 失敗", 32 | "Failed to get Dropbox storage information" : "取得 Dropbox 儲存空間資訊失敗", 33 | "Starting importing files in {targetPath} directory" : "開始匯入檔案至 {targetPath} 目錄", 34 | "Failed to start importing Dropbox storage" : "無法開始匯入 Dropbox 儲存空間", 35 | "Choose where to write imported files" : "選擇要寫入匯入檔案的位置", 36 | "Dropbox data migration" : "Dropbox 資料轉移", 37 | "Your administrator has not yet configured this integration." : "您的管理員尚未設定此整合。", 38 | "Authentication" : "驗證", 39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "若您無法通過身份驗證,請要求您的 Nextcloud 管理員檢查 Dropbox 管理設定。", 40 | "Connect to Dropbox to get an access code" : "連線至 Dropbox 以取得存取代碼", 41 | "Dropbox access code" : "Dropbox 存取代碼", 42 | "Access code" : "存取代碼", 43 | "Connected as {user} ({email})" : "以 {user} ({email}) 身份連結", 44 | "Disconnect from Dropbox" : "從 Dropbox 斷線", 45 | "Dropbox storage" : "Dropbox 儲存空間", 46 | "Import directory" : "匯入目錄", 47 | "Dropbox storage size: {formSize}" : "Dropbox 儲存空間大小:{formSize}", 48 | "Import Dropbox files" : "匯入 Dropbox 檔案", 49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "您的 Dropbox 儲存空間大於您的剩餘空間 ({formSpace})", 50 | "Import job is currently running" : "匯入作業正在執行", 51 | "An error occured during the import: {error}" : "匯入時發生錯誤:{error}", 52 | "Cancel Dropbox files import" : "取消 Dropbox 檔案匯入", 53 | "Your Dropbox storage is empty" : "您的 Dropbox 儲存空間為空", 54 | "_{amount} file imported_::_{amount} files imported_" : ["已匯入 {amount} 個檔案"] 55 | },"pluralForm" :"nplurals=1; plural=0;" 56 | } -------------------------------------------------------------------------------- /lib/AppInfo/Application.php: -------------------------------------------------------------------------------- 1 | registerNotifierService(Notifier::class); 28 | } 29 | 30 | public function boot(IBootContext $context): void { 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lib/BackgroundJob/ImportDropboxJob.php: -------------------------------------------------------------------------------- 1 | service->importDropboxJob($userId); 38 | } catch (\Exception|\Throwable $e) { 39 | $this->config->setUserValue($userId, Application::APP_ID, 'last_import_error', $e->getMessage()); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /lib/Command/StartImport.php: -------------------------------------------------------------------------------- 1 | setName('integration_dropbox:start-import') 30 | ->addArgument('user_id', InputArgument::REQUIRED) 31 | ->setDescription('Start import for the passed user'); 32 | } 33 | 34 | /** 35 | * Execute the command 36 | * 37 | * @param InputInterface $input 38 | * @param OutputInterface $output 39 | * 40 | * @return int 41 | */ 42 | protected function execute(InputInterface $input, OutputInterface $output): int { 43 | try { 44 | $this->dropboxStorageAPIService->startImportDropbox($input->getArgument('user_id')); 45 | } catch (\Exception $ex) { 46 | $output->writeln('Failed to start import'); 47 | $output->writeln($ex->getMessage()); 48 | return 1; 49 | } 50 | 51 | return 0; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /lib/Controller/DropboxAPIController.php: -------------------------------------------------------------------------------- 1 | accessToken = $this->secretService->getEncryptedUserValue($this->userId, 'token'); 38 | $this->refreshToken = $this->secretService->getEncryptedUserValue($this->userId, 'refresh_token'); 39 | $this->clientID = $this->secretService->getEncryptedAppValue('client_id'); 40 | $this->clientSecret = $this->secretService->getEncryptedAppValue('client_secret'); 41 | } 42 | 43 | /** 44 | * @return DataResponse 45 | */ 46 | #[NoAdminRequired] 47 | public function getStorageSize(): DataResponse { 48 | if ($this->userId === null) { 49 | return new DataResponse([], Http::STATUS_BAD_REQUEST); 50 | } 51 | if ($this->accessToken === '') { 52 | return new DataResponse([], Http::STATUS_BAD_REQUEST); 53 | } 54 | $result = $this->dropboxStorageApiService->getStorageSize( 55 | $this->accessToken, $this->refreshToken, $this->clientID, $this->clientSecret, $this->userId 56 | ); 57 | 58 | if (isset($result['error'])) { 59 | return new DataResponse($result['error'], Http::STATUS_UNAUTHORIZED); 60 | } 61 | 62 | return new DataResponse($result); 63 | } 64 | 65 | /** 66 | * @return DataResponse 67 | */ 68 | #[NoAdminRequired] 69 | public function importDropbox(): DataResponse { 70 | if ($this->userId === null) { 71 | return new DataResponse([], Http::STATUS_BAD_REQUEST); 72 | } 73 | if ($this->accessToken === '') { 74 | return new DataResponse([], Http::STATUS_BAD_REQUEST); 75 | } 76 | $result = $this->dropboxStorageApiService->startImportDropbox($this->userId); 77 | if (isset($result['error'])) { 78 | return new DataResponse($result['error'], Http::STATUS_UNAUTHORIZED); 79 | } 80 | 81 | return new DataResponse($result); 82 | } 83 | 84 | /** 85 | * @return DataResponse 86 | */ 87 | #[NoAdminRequired] 88 | public function getImportDropboxInformation(): DataResponse { 89 | if ($this->accessToken === '') { 90 | return new DataResponse([], Http::STATUS_BAD_REQUEST); 91 | } 92 | return new DataResponse([ 93 | 'last_import_error' => $this->config->getUserValue($this->userId, Application::APP_ID, 'last_import_error', '') !== '', 94 | 'dropbox_import_running' => $this->config->getUserValue($this->userId, Application::APP_ID, 'dropbox_import_running') === '1', 95 | 'importing_dropbox' => $this->config->getUserValue($this->userId, Application::APP_ID, 'importing_dropbox') === '1', 96 | 'last_dropbox_import_timestamp' => (int)$this->config->getUserValue($this->userId, Application::APP_ID, 'last_dropbox_import_timestamp', '0'), 97 | 'nb_imported_files' => (int)$this->config->getUserValue($this->userId, Application::APP_ID, 'nb_imported_files', '0'), 98 | ]); 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /lib/Notification/Notifier.php: -------------------------------------------------------------------------------- 1 | factory->get('integration_dropbox')->t('Dropbox'); 46 | } 47 | 48 | /** 49 | * @param INotification $notification 50 | * @param string $languageCode The code of the language that should be used to prepare the notification 51 | * @return INotification 52 | * @throws InvalidArgumentException When the notification was not prepared by a notifier 53 | * @since 9.0.0 54 | */ 55 | public function prepare(INotification $notification, string $languageCode): INotification { 56 | if ($notification->getApp() !== 'integration_dropbox') { 57 | // Not my app => throw 58 | throw new InvalidArgumentException(); 59 | } 60 | 61 | $l = $this->factory->get('integration_dropbox', $languageCode); 62 | 63 | switch ($notification->getSubject()) { 64 | case 'import_dropbox_finished': 65 | $p = $notification->getSubjectParameters(); 66 | $nbImported = (int)($p['nbImported'] ?? 0); 67 | /** @var string $targetPath */ 68 | $targetPath = $p['targetPath']; 69 | $content = $l->n('%n file was imported from Dropbox storage.', '%n files were imported from Dropbox storage.', $nbImported); 70 | 71 | $notification->setParsedSubject($content) 72 | ->setIcon($this->url->getAbsoluteURL($this->url->imagePath(Application::APP_ID, 'app-dark.svg'))) 73 | ->setLink($this->url->linkToRouteAbsolute('files.view.index', ['dir' => $targetPath])); 74 | return $notification; 75 | 76 | default: 77 | // Unknown subject => Unknown notification => throw 78 | throw new InvalidArgumentException(); 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /lib/Service/SecretService.php: -------------------------------------------------------------------------------- 1 | config->setUserValue($userId, Application::APP_ID, $key, ''); 34 | return; 35 | } 36 | $encryptedValue = $this->crypto->encrypt($value); 37 | $this->config->setUserValue($userId, Application::APP_ID, $key, $encryptedValue); 38 | } 39 | 40 | /** 41 | * @param string $userId 42 | * @param string $key 43 | * @return string 44 | * @throws \Exception 45 | */ 46 | public function getEncryptedUserValue(string $userId, string $key): string { 47 | $storedValue = $this->config->getUserValue($userId, Application::APP_ID, $key); 48 | if ($storedValue === '') { 49 | return ''; 50 | } 51 | return $this->crypto->decrypt($storedValue); 52 | } 53 | 54 | /** 55 | * @param string $key 56 | * @param string $value 57 | * @return void 58 | */ 59 | public function setEncryptedAppValue(string $key, string $value): void { 60 | if ($value === '') { 61 | $this->config->setAppValue(Application::APP_ID, $key, ''); 62 | return; 63 | } 64 | $encryptedValue = $this->crypto->encrypt($value); 65 | $this->config->setAppValue(Application::APP_ID, $key, $encryptedValue); 66 | } 67 | 68 | /** 69 | * @param string $key 70 | * @return string 71 | * @throws \Exception 72 | */ 73 | public function getEncryptedAppValue(string $key): string { 74 | $storedValue = $this->config->getAppValue(Application::APP_ID, $key); 75 | if ($storedValue === '') { 76 | return ''; 77 | } 78 | return $this->crypto->decrypt($storedValue); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /lib/Service/UserScopeService.php: -------------------------------------------------------------------------------- 1 | userManager->get($uid); 34 | if ($user === null) { 35 | throw new \InvalidArgumentException('No user found for the uid ' . $uid); 36 | } 37 | $this->userSession->setUser($user); 38 | } 39 | 40 | /** 41 | * Setup the FS which is needed to emit hooks 42 | * 43 | * This is required for versioning/activity as the legacy filesystem hooks 44 | * are not emitted if filesystem operations are executed though \OCP\Files\Node\File 45 | * 46 | * @param string $owner 47 | */ 48 | public function setFilesystemScope(string $owner): void { 49 | \OC_Util::tearDownFS(); 50 | \OC_Util::setupFS($owner); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /lib/Settings/Admin.php: -------------------------------------------------------------------------------- 1 | secretService->getEncryptedAppValue('client_id'); 30 | $clientSecret = $this->secretService->getEncryptedAppValue('client_secret'); 31 | 32 | $adminConfig = [ 33 | 'client_id' => $clientID, 34 | 'client_secret' => $clientSecret !== '' ? 'dummySecret' : '' 35 | ]; 36 | $this->initialStateService->provideInitialState('admin-config', $adminConfig); 37 | return new TemplateResponse(Application::APP_ID, 'adminSettings'); 38 | } 39 | 40 | public function getSection(): string { 41 | return 'connected-accounts'; 42 | } 43 | 44 | public function getPriority(): int { 45 | return 10; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /lib/Settings/AdminSection.php: -------------------------------------------------------------------------------- 1 | l->t('Connected accounts'); 39 | } 40 | 41 | /** 42 | * @return int whether the form should be rather on the top or bottom of 43 | * the settings navigation. The sections are arranged in ascending order of 44 | * the priority values. It is required to return a value between 0 and 99. 45 | */ 46 | public function getPriority(): int { 47 | return 80; 48 | } 49 | 50 | /** 51 | * @return string The relative path to a an icon describing the section 52 | */ 53 | public function getIcon(): string { 54 | return $this->urlGenerator->imagePath('core', 'categories/integration.svg'); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /lib/Settings/Personal.php: -------------------------------------------------------------------------------- 1 | config->getUserValue($this->userId, Application::APP_ID, 'email'); 37 | $accountId = $this->config->getUserValue($this->userId, Application::APP_ID, 'account_id'); 38 | $userName = $this->config->getUserValue($this->userId, Application::APP_ID, 'user_name'); 39 | $outputDir = $this->config->getUserValue($this->userId, Application::APP_ID, 'output_dir', '/Dropbox import'); 40 | 41 | // for OAuth 42 | $clientID = $this->secretService->getEncryptedAppValue('client_id'); 43 | $hasClientSecret = $this->secretService->getEncryptedAppValue('client_secret') !== ''; 44 | 45 | // get free space 46 | $userFolder = $this->root->getUserFolder($this->userId); 47 | $freeSpace = $userFolder->getStorage()->free_space('/'); 48 | $user = $this->userManager->get($this->userId); 49 | 50 | $userConfig = [ 51 | 'has_client_secret' => $hasClientSecret, 52 | 'client_id' => $clientID, 53 | 'account_id' => $accountId, 54 | 'email' => $email, 55 | 'user_name' => $userName, 56 | 'free_space' => $freeSpace, 57 | 'user_quota' => $user?->getQuota(), 58 | 'output_dir' => $outputDir, 59 | ]; 60 | $this->initialStateService->provideInitialState('user-config', $userConfig); 61 | return new TemplateResponse(Application::APP_ID, 'personalSettings'); 62 | } 63 | 64 | public function getSection(): string { 65 | return 'migration'; 66 | } 67 | 68 | public function getPriority(): int { 69 | return 10; 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /lib/Settings/PersonalSection.php: -------------------------------------------------------------------------------- 1 | l->t('Data migration'); 39 | } 40 | 41 | /** 42 | * @return int whether the form should be rather on the top or bottom of 43 | * the settings navigation. The sections are arranged in ascending order of 44 | * the priority values. It is required to return a value between 0 and 99. 45 | */ 46 | public function getPriority(): int { 47 | return 80; 48 | } 49 | 50 | /** 51 | * @return string The relative path to a an icon describing the section 52 | */ 53 | public function getIcon(): string { 54 | return $this->urlGenerator->imagePath('core', 'actions/download.svg'); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "integration_dropbox", 3 | "version": "3.0.3", 4 | "description": "Dropbox integration", 5 | "main": "index.js", 6 | "directories": { 7 | "test": "tests" 8 | }, 9 | "scripts": { 10 | "build": "NODE_ENV=production webpack --progress --config webpack.js", 11 | "dev": "NODE_ENV=development webpack --progress --config webpack.js", 12 | "watch": "NODE_ENV=development webpack --progress --watch --config webpack.js", 13 | "lint": "eslint --ext .js,.vue src", 14 | "lint:fix": "eslint --ext .js,.vue src --fix", 15 | "stylelint": "stylelint src/**/*.vue src/**/*.scss src/**/*.css", 16 | "stylelint:fix": "stylelint src/**/*.vue src/**/*.scss src/**/*.css --fix" 17 | }, 18 | "repository": { 19 | "type": "git", 20 | "url": "https://github.com/nextcloud/integration_dropbox" 21 | }, 22 | "keywords": [ 23 | "dropbox" 24 | ], 25 | "author": "Julien Veyssier", 26 | "license": "AGPL-3.0", 27 | "bugs": { 28 | "url": "https://github.com/nextcloud/integration_dropbox/issues" 29 | }, 30 | "homepage": "https://github.com/nextcloud/integration_dropbox", 31 | "browserslist": [ 32 | "extends @nextcloud/browserslist-config" 33 | ], 34 | "engines": { 35 | "node": "^16.0.0", 36 | "npm": "^7.0.0 || ^8.0.0" 37 | }, 38 | "dependencies": { 39 | "@nextcloud/auth": "^2.5.1", 40 | "@nextcloud/axios": "^2.5.0", 41 | "@nextcloud/dialogs": "^5.3.7", 42 | "@nextcloud/initial-state": "^2.2.0", 43 | "@nextcloud/l10n": "^3.2.0", 44 | "@nextcloud/moment": "^1.3.4", 45 | "@nextcloud/password-confirmation": "^5.3.1", 46 | "@nextcloud/router": "^3.0.1", 47 | "@nextcloud/vue": "^8.26.1", 48 | "vue": "^2.6.11", 49 | "vue-material-design-icons": "^5.3.1" 50 | }, 51 | "devDependencies": { 52 | "@nextcloud/babel-config": "^1.2.0", 53 | "@nextcloud/browserslist-config": "^3.0.1", 54 | "@nextcloud/eslint-config": "^8.4.2", 55 | "@nextcloud/stylelint-config": "^3.0.1", 56 | "@nextcloud/webpack-vue-config": "^6.2.0", 57 | "eslint-webpack-plugin": "^4.2.0", 58 | "stylelint-webpack-plugin": "^5.0.1" 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /psalm.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/adminSettings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2020 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 './components/AdminSettings.vue' 8 | Vue.mixin({ methods: { t, n } }) 9 | 10 | const View = Vue.extend(AdminSettings) 11 | new View().$mount('#dropbox_prefs') 12 | -------------------------------------------------------------------------------- /src/components/AdminSettings.vue: -------------------------------------------------------------------------------- 1 | 5 | 59 | 60 | 128 | 129 | 161 | -------------------------------------------------------------------------------- /src/components/icons/DropboxIcon.vue: -------------------------------------------------------------------------------- 1 | 5 | 25 | 26 | 45 | -------------------------------------------------------------------------------- /src/personalSettings.js: -------------------------------------------------------------------------------- 1 | /* jshint esversion: 6 */ 2 | 3 | /** 4 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 5 | * SPDX-License-Identifier: AGPL-3.0-or-later 6 | */ 7 | 8 | import Vue from 'vue' 9 | import PersonalSettings from './components/PersonalSettings.vue' 10 | Vue.mixin({ methods: { t, n } }) 11 | 12 | const View = Vue.extend(PersonalSettings) 13 | new View().$mount('#dropbox_prefs') 14 | -------------------------------------------------------------------------------- /src/utils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | let mytimer = 0 7 | export function delay(callback, ms) { 8 | return function() { 9 | const context = this 10 | const args = arguments 11 | clearTimeout(mytimer) 12 | mytimer = setTimeout(function() { 13 | callback.apply(context, args) 14 | }, ms || 0) 15 | } 16 | } 17 | 18 | export function humanFileSize(bytes, approx = false, si = false, dp = 1) { 19 | const thresh = si ? 1000 : 1024 20 | 21 | if (Math.abs(bytes) < thresh) { 22 | return bytes + ' B' 23 | } 24 | 25 | const units = si 26 | ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] 27 | : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'] 28 | let u = -1 29 | const r = 10 ** dp 30 | 31 | do { 32 | bytes /= thresh 33 | ++u 34 | } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1) 35 | 36 | if (approx) { 37 | return Math.floor(bytes) + ' ' + units[u] 38 | } else { 39 | return bytes.toFixed(dp) + ' ' + units[u] 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /stylelint.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | module.exports = { 7 | extends: 'stylelint-config-recommended-vue', 8 | rules: { 9 | 'selector-type-no-unknown': null, 10 | 'rule-empty-line-before': [ 11 | 'always', 12 | { 13 | ignore: ['after-comment', 'inside-block'], 14 | }, 15 | ], 16 | 'declaration-empty-line-before': [ 17 | 'never', 18 | { 19 | ignore: ['after-declaration'], 20 | }, 21 | ], 22 | 'comment-empty-line-before': null, 23 | 'selector-type-case': null, 24 | 'no-descending-specificity': null, 25 | 'selector-pseudo-element-no-unknown': [ 26 | true, 27 | { 28 | ignorePseudoElements: ['v-deep'], 29 | }, 30 | ], 31 | }, 32 | plugins: ['stylelint-scss'], 33 | } 34 | -------------------------------------------------------------------------------- /templates/adminSettings.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
-------------------------------------------------------------------------------- /templates/personalSettings.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
-------------------------------------------------------------------------------- /tests/psalm-baseline.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /tests/psalm-baseline.xml.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /webpack.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | const path = require('path') 7 | const webpackConfig = require('@nextcloud/webpack-vue-config') 8 | const ESLintPlugin = require('eslint-webpack-plugin') 9 | const StyleLintPlugin = require('stylelint-webpack-plugin') 10 | 11 | const buildMode = process.env.NODE_ENV 12 | const isDev = buildMode === 'development' 13 | webpackConfig.devtool = isDev ? 'cheap-source-map' : 'source-map' 14 | 15 | webpackConfig.stats = { 16 | colors: true, 17 | modules: false, 18 | } 19 | 20 | const appId = 'integration_dropbox' 21 | webpackConfig.entry = { 22 | personalSettings: { import: path.join(__dirname, 'src', 'personalSettings.js'), filename: appId + '-personalSettings.js' }, 23 | adminSettings: { import: path.join(__dirname, 'src', 'adminSettings.js'), filename: appId + '-adminSettings.js' }, 24 | } 25 | 26 | webpackConfig.plugins.push( 27 | new ESLintPlugin({ 28 | extensions: ['js', 'vue'], 29 | files: 'src', 30 | failOnError: !isDev, 31 | }) 32 | ) 33 | webpackConfig.plugins.push( 34 | new StyleLintPlugin({ 35 | files: 'src/**/*.{css,scss,vue}', 36 | failOnError: !isDev, 37 | }), 38 | ) 39 | 40 | module.exports = webpackConfig 41 | --------------------------------------------------------------------------------