├── .eslintrc.js ├── .git-blame-ignore-revs ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug.md │ ├── bug.md.license │ ├── feature_request.md │ ├── feature_request.md.license │ ├── question.md │ └── question.md.license ├── renovate.json └── workflows │ ├── appstore-build-publish.yml │ ├── block-merge-freeze.yml │ ├── command-compile.yml │ ├── fixup.yml │ ├── lint-eslint.yml │ ├── lint-info-xml.yml │ ├── lint-php-cs.yml │ ├── lint-php.yml │ ├── lint-stylelint.yml │ ├── node-test.yml │ ├── node.yml │ ├── npm-audit-fix.yml │ ├── pr-feedback.yml │ ├── psalm.yml │ ├── reuse.yml │ └── test.yml ├── .gitignore ├── .l10nignore ├── .nextcloudignore ├── .php-cs-fixer.dist.php ├── .tx └── config ├── AUTHORS.md ├── CHANGELOG.md ├── COPYING ├── LICENSES ├── AGPL-3.0-only.txt ├── AGPL-3.0-or-later.txt ├── Apache-2.0.txt ├── BSD-3-Clause.txt ├── CC0-1.0.txt ├── GPL-3.0-or-later.txt ├── ISC.txt ├── MIT.txt └── MPL-2.0.txt ├── README.md ├── REUSE.toml ├── appinfo ├── info.xml └── routes.php ├── babel.config.js ├── build-js ├── WebpackSPDXPlugin.js └── npm-post-build.sh ├── composer.json ├── composer.lock ├── css ├── settings.css └── style.css ├── img ├── app-dark.svg └── app.svg ├── js ├── twofactor_totp-main-login-setup.js ├── twofactor_totp-main-login-setup.js.license ├── twofactor_totp-main-login-setup.js.map ├── twofactor_totp-main-login-setup.js.map.license ├── twofactor_totp-main-settings.js ├── twofactor_totp-main-settings.js.license ├── twofactor_totp-main-settings.js.map └── twofactor_totp-main-settings.js.map.license ├── krankerl.toml ├── l10n ├── .gitkeep ├── af.js ├── af.json ├── ar.js ├── ar.json ├── ast.js ├── ast.json ├── bg.js ├── bg.json ├── br.js ├── br.json ├── ca.js ├── ca.json ├── cs.js ├── cs.json ├── da.js ├── da.json ├── de.js ├── de.json ├── de_DE.js ├── de_DE.json ├── el.js ├── el.json ├── en_GB.js ├── en_GB.json ├── eo.js ├── eo.json ├── es.js ├── es.json ├── es_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 ├── fi_FI.php ├── fr.js ├── fr.json ├── ga.js ├── ga.json ├── gl.js ├── gl.json ├── he.js ├── he.json ├── hr.js ├── hr.json ├── hu.js ├── hu.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 ├── mn.js ├── mn.json ├── nb.js ├── nb.json ├── nl.js ├── nl.json ├── nn_NO.js ├── nn_NO.json ├── oc.js ├── oc.json ├── pl.js ├── pl.json ├── pt_BR.js ├── pt_BR.json ├── pt_PT.js ├── pt_PT.json ├── ro.js ├── ro.json ├── ru.js ├── ru.json ├── sc.js ├── sc.json ├── sk.js ├── sk.json ├── sl.js ├── sl.json ├── sq.js ├── sq.json ├── sr.js ├── sr.json ├── sv.js ├── sv.json ├── th.js ├── th.json ├── th_TH.php ├── 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 ├── Activity │ ├── Provider.php │ └── Setting.php ├── AppInfo │ └── Application.php ├── Command │ └── CleanUp.php ├── Controller │ └── SettingsController.php ├── Db │ ├── TotpSecret.php │ └── TotpSecretMapper.php ├── Event │ ├── DisabledByAdmin.php │ └── StateChanged.php ├── Exception │ ├── NoTotpSecretFoundException.php │ └── TotpSecretAlreadySet.php ├── Listener │ ├── StateChangeActivity.php │ ├── StateChangeRegistryUpdater.php │ └── UserDeleted.php ├── Migration │ ├── Version010501Date20181018124436.php │ ├── Version020102Date20190304124405.php │ ├── Version030000Date20190305114917.php │ └── Version140000Date202503027114917.php ├── Provider │ ├── AtLoginProvider.php │ └── TotpProvider.php ├── Service │ ├── ITotp.php │ └── Totp.php └── Settings │ └── Personal.php ├── package-lock.json ├── package.json ├── psalm.xml ├── screenshots ├── enter_challenge.png ├── enter_challenge.png.license ├── settings.png └── settings.png.license ├── src ├── components │ ├── LoginSetup.vue │ ├── PersonalTotpSettings.vue │ └── SetupConfirmation.vue ├── logger.js ├── main-login-setup.js ├── main-settings.js ├── services │ └── StateService.js ├── state.js ├── store.js └── tests │ ├── components │ └── PersonalTotpSettings.spec.js │ └── jest.setup.js ├── stylelint.config.js ├── templates ├── challenge.php ├── loginsetup.php └── personal.php ├── tests ├── Acceptance │ └── TOTPAcceptanceTest.php ├── Unit │ ├── Activity │ │ ├── ProviderTest.php │ │ └── SettingTest.php │ ├── Controller │ │ └── SettingsControllerTest.php │ ├── Event │ │ └── StateChangedTest.php │ ├── Listener │ │ ├── StateChangeActivityTest.php │ │ └── StateChangeRegistryUpdaterTest.php │ └── Provider │ │ ├── AtLoginProviderTest.php │ │ └── TotpProviderTest.php ├── bootstrap.php ├── phpunit.xml └── psalm-baseline.xml ├── vendor-bin └── cs-fixer │ ├── composer.json │ └── composer.lock └── webpack.config.js /.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | module.exports = { 7 | extends: [ 8 | '@nextcloud', 9 | 'plugin:chai-friendly/recommended' 10 | ], 11 | } -------------------------------------------------------------------------------- /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | # .git-blame-ignore-revs 2 | 3 | # SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors 4 | # SPDX-License-Identifier: AGPL-3.0-or-later 5 | 6 | # Update to coding-standard 1.3.2 7 | a7143209bd296f1956fb26ca78fdc1b1e02464b6 8 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | /appinfo/info.xml @ChristophWurst @miaulalala @st3iny 2 | 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 🐛 Bug 3 | about: Have you encountered a bug? 4 | version: 0.1 5 | --- 6 | 7 | ### Steps to reproduce 8 | 1. 9 | 2. 10 | 3. 11 | 12 | ### Expected behaviour 13 | Tell us what should happen 14 | 15 | 16 | ### Actual behaviour 17 | Tell us what happens instead 18 | 19 | 20 | ### Server configuration 21 | 22 | **Operating system**: 23 | 24 | **Web server:** 25 | 26 | **Database:** 27 | 28 | **PHP version:** 29 | 30 | **Version:** (see admin page) 31 | 32 | **Updated from an older version or fresh install:** 33 | 34 | **List of activated apps:** 35 | 36 | ``` 37 | If you have access to your command line run e.g.: 38 | sudo -u www-data php occ app:list 39 | from within your server installation folder 40 | ``` 41 | 42 | **The content of config/config.php:** 43 | ``` 44 | If you have access to your command line run e.g.: 45 | sudo -u www-data php occ config:list system 46 | from within your Nextcloud installation folder 47 | 48 | or 49 | 50 | Insert your config.php content here 51 | Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …) 52 | ``` 53 | 54 | #### Client configuration 55 | **Browser:** 56 | 57 | **Operating system:** 58 | 59 | #### Logs 60 | ##### Web server error log 61 | ``` 62 | Insert your webserver log here 63 | ``` 64 | 65 | ##### Server log (data/nextcloud.log) 66 | ``` 67 | Insert your server log here 68 | ``` 69 | 70 | ##### Browser log 71 | ``` 72 | Insert your browser log here, this could for example include: 73 | 74 | a) The javascript console log 75 | b) The network log 76 | ``` 77 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug.md.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 🚀 Feature Request 3 | about: You have a neat idea that should be implemented? 4 | version: 0.1 5 | --- 6 | 7 | ### Feature Request 8 | 9 | 10 | 11 | #### Summary 12 | 13 | 14 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 🙋 Question 3 | about: Do you have a question about the app? 4 | version: 0.2 5 | --- 6 | 7 | Please ask your question(s) at https://help.nextcloud.com/tags/c/support/7/twofactor-totp-app. 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /.github/workflows/block-merge-freeze.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: Block merges during freezes 10 | 11 | on: 12 | pull_request: 13 | types: [opened, ready_for_review, reopened, synchronize] 14 | 15 | permissions: 16 | contents: read 17 | 18 | concurrency: 19 | group: block-merge-freeze-${{ github.head_ref || github.run_id }} 20 | cancel-in-progress: true 21 | 22 | jobs: 23 | block-merges-during-freeze: 24 | name: Block merges during freezes 25 | 26 | if: github.event.pull_request.draft == false 27 | 28 | runs-on: ubuntu-latest-low 29 | 30 | steps: 31 | - name: Register server reference to fallback to master branch 32 | run: | 33 | server_ref="$(if [ '${{ github.base_ref }}' = 'main' ]; then echo -n 'master'; else echo -n '${{ github.base_ref }}'; fi)" 34 | echo "server_ref=$server_ref" >> $GITHUB_ENV 35 | - name: Download version.php from ${{ env.server_ref }} 36 | run: curl 'https://raw.githubusercontent.com/nextcloud/server/${{ env.server_ref }}/version.php' --output version.php 37 | 38 | - name: Run check 39 | run: cat version.php | grep 'OC_VersionString' | grep -i -v 'RC' 40 | -------------------------------------------------------------------------------- /.github/workflows/fixup.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: Block fixup and squash commits 10 | 11 | on: 12 | pull_request: 13 | types: [opened, ready_for_review, reopened, synchronize] 14 | 15 | permissions: 16 | contents: read 17 | 18 | concurrency: 19 | group: fixup-${{ github.head_ref || github.run_id }} 20 | cancel-in-progress: true 21 | 22 | jobs: 23 | commit-message-check: 24 | if: github.event.pull_request.draft == false 25 | 26 | permissions: 27 | pull-requests: write 28 | name: Block fixup and squash commits 29 | 30 | runs-on: ubuntu-latest-low 31 | 32 | steps: 33 | - name: Run check 34 | uses: skjnldsv/block-fixup-merge-action@c138ea99e45e186567b64cf065ce90f7158c236a # v2 35 | with: 36 | repo-token: ${{ secrets.GITHUB_TOKEN }} 37 | -------------------------------------------------------------------------------- /.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 | 29 | - name: Download schema 30 | run: wget https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/api/v1/release/info.xsd 31 | 32 | - name: Lint info.xml 33 | uses: ChristophWurst/xmllint-action@36f2a302f84f8c83fceea0b9c59e1eb4a616d3c1 # v1.2 34 | with: 35 | xml-file: ./appinfo/info.xml 36 | xml-schema-file: ./info.xsd 37 | -------------------------------------------------------------------------------- /.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 | 30 | - name: Get php version 31 | id: versions 32 | uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 33 | 34 | - name: Set up php${{ steps.versions.outputs.php-min }} 35 | uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 36 | with: 37 | php-version: ${{ steps.versions.outputs.php-min }} 38 | extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite 39 | coverage: none 40 | ini-file: development 41 | env: 42 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 43 | 44 | - name: Install dependencies 45 | run: composer i 46 | 47 | - name: Lint 48 | run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 ) 49 | -------------------------------------------------------------------------------- /.github/workflows/lint-stylelint.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Lint stylelint 10 | 11 | on: pull_request 12 | 13 | permissions: 14 | contents: read 15 | 16 | concurrency: 17 | group: lint-stylelint-${{ github.head_ref || github.run_id }} 18 | cancel-in-progress: true 19 | 20 | jobs: 21 | lint: 22 | runs-on: ubuntu-latest 23 | 24 | name: stylelint 25 | 26 | steps: 27 | - name: Checkout 28 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 29 | 30 | - name: Read package.json node and npm engines version 31 | uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 32 | id: versions 33 | with: 34 | fallbackNode: '^20' 35 | fallbackNpm: '^10' 36 | 37 | - name: Set up node ${{ steps.versions.outputs.nodeVersion }} 38 | uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 39 | with: 40 | node-version: ${{ steps.versions.outputs.nodeVersion }} 41 | 42 | - name: Set up npm ${{ steps.versions.outputs.npmVersion }} 43 | run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' 44 | 45 | - name: Install dependencies 46 | env: 47 | CYPRESS_INSTALL_BINARY: 0 48 | run: npm ci 49 | 50 | - name: Lint 51 | run: npm run stylelint 52 | -------------------------------------------------------------------------------- /.github/workflows/psalm.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | # 6 | # SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-License-Identifier: MIT 8 | 9 | name: Static analysis 10 | 11 | on: pull_request 12 | 13 | concurrency: 14 | group: psalm-${{ github.head_ref || github.run_id }} 15 | cancel-in-progress: true 16 | 17 | jobs: 18 | static-analysis: 19 | runs-on: ubuntu-latest 20 | 21 | name: static-psalm-analysis 22 | steps: 23 | - name: Checkout 24 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 25 | 26 | - name: Get php version 27 | id: versions 28 | uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 29 | 30 | - name: Set up php${{ steps.versions.outputs.php-min }} 31 | uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0 32 | with: 33 | php-version: ${{ steps.versions.outputs.php-min }} 34 | extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite 35 | coverage: none 36 | ini-file: development 37 | env: 38 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 39 | 40 | - name: Install dependencies 41 | run: composer i 42 | 43 | - name: Install nextcloud/ocp 44 | run: composer require --dev nextcloud/ocp:dev-master --ignore-platform-reqs --with-dependencies 45 | 46 | - name: Run coding standards check 47 | run: composer run psalm 48 | -------------------------------------------------------------------------------- /.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 | jobs: 15 | reuse-compliance-check: 16 | runs-on: ubuntu-latest 17 | steps: 18 | - name: Checkout 19 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 20 | 21 | - name: REUSE Compliance Check 22 | uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | composer.phar 4 | 5 | /node_modules 6 | 7 | build/ 8 | vendor/ 9 | 10 | /.php_cs.cache 11 | /.php-cs-fixer.cache 12 | 13 | # Ignore NetBeans project 14 | /nbproject/ 15 | 16 | tests/clover.xml 17 | tests/.phpunit.result.cache 18 | -------------------------------------------------------------------------------- /.l10nignore: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | js/ 4 | vendor/ -------------------------------------------------------------------------------- /.nextcloudignore: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | /.babelrc.js 4 | /.eslintrc.js 5 | /.git 6 | /.github 7 | /.gitignore 8 | /.nextcloudignore 9 | /.tx 10 | /build 11 | /CONTRIBUTING.md 12 | /composer.* 13 | /krankerl.toml 14 | /l10n/no-php 15 | /nbproject 16 | /node_modules 17 | /package* 18 | /.psalm.xml 19 | /screenshots 20 | /src 21 | /tests 22 | /vendor/bin 23 | /vendor/christophwurst/nextcloud/.git 24 | /vendor/endroid/qr-code/assets 25 | /vendor-bin 26 | -------------------------------------------------------------------------------- /.php-cs-fixer.dist.php: -------------------------------------------------------------------------------- 1 | getFinder() 17 | ->ignoreVCSIgnored(true) 18 | ->notPath('build') 19 | ->notPath('l10n') 20 | ->notPath('lib/Vendor') 21 | ->notPath('src') 22 | ->notPath('vendor') 23 | ->in(__DIR__); 24 | return $config; 25 | -------------------------------------------------------------------------------- /.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:twofactor_totp] 6 | file_filter = translationfiles//twofactor_totp.po 7 | source_file = translationfiles/templates/twofactor_totp.pot 8 | source_lang = en 9 | type = PO 10 | 11 | -------------------------------------------------------------------------------- /AUTHORS.md: -------------------------------------------------------------------------------- 1 | 5 | # Authors 6 | 7 | - Adam Monsen 8 | - Aiden Madaffri 9 | - Alexander Paetzelt <36155797+alex-nitrokey@users.noreply.github.com> 10 | - Andy Scherzinger 11 | - Anna Larch 12 | - Arthur Schiwon 13 | - beerisgood 14 | - Christoph Wurst 15 | - Daniel Kesselberg 16 | - dflvunoooooo <32816598+dflvunoooooo@users.noreply.github.com> 17 | - Fabian Rodriguez <317514+MagicFab@users.noreply.github.com> 18 | - j-ed 19 | - Jan-Christoph Borchardt 20 | - Jim Newsome 21 | - Joas Schilling 22 | - John Molakvoæ 23 | - Loki3000 24 | - Maadix <20930277+MaadixNet@users.noreply.github.com> 25 | - Michael J. Keen 26 | - Morris Jobke 27 | - My1 28 | - Pablo Hinojosa 29 | - Richard Steinmetz 30 | - Roeland Jago Douma 31 | - Ronak Patel 32 | - Sascha Wiswedel 33 | - sebastian-berlin-wmse <36327337+sebastian-berlin-wmse@users.noreply.github.com> 34 | - supremesyntax 35 | - Thomas Müller 36 | - Vincent Petry 37 | - Wilfred Dijksman 38 | - Xaver Maierhofer 39 | - Étienne 40 | -------------------------------------------------------------------------------- /LICENSES/BSD-3-Clause.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) . 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 4 | 5 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 6 | 7 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 8 | 9 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 10 | 11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 12 | -------------------------------------------------------------------------------- /LICENSES/ISC.txt: -------------------------------------------------------------------------------- 1 | ISC License: 2 | 3 | Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") 4 | Copyright (c) 1995-2003 by Internet Software Consortium 5 | 6 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 9 | -------------------------------------------------------------------------------- /LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /REUSE.toml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | version = 1 4 | SPDX-PackageName = "twofactor_totp" 5 | SPDX-PackageSupplier = "Nextcloud " 6 | SPDX-PackageDownloadLocation = "https://github.com/nextcloud/twofactor_totp" 7 | 8 | [[annotations]] 9 | path = ["composer.json", "composer.lock"] 10 | precedence = "aggregate" 11 | SPDX-FileCopyrightText = "2016 Nextcloud GmbH and Nextcloud contributors" 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 = "2018 Nextcloud GmbH and Nextcloud contributors" 18 | SPDX-License-Identifier = "AGPL-3.0-or-later" 19 | 20 | [[annotations]] 21 | path = ["psalm.xml", "tests/psalm-baseline.xml", "vendor-bin/cs-fixer/composer.json", "vendor-bin/cs-fixer/composer.lock"] 22 | precedence = "aggregate" 23 | SPDX-FileCopyrightText = "2020 Nextcloud GmbH and Nextcloud contributors" 24 | SPDX-License-Identifier = "AGPL-3.0-or-later" 25 | 26 | [[annotations]] 27 | path = [".github/CODEOWNERS", ".github/renovate.json"] 28 | precedence = "aggregate" 29 | SPDX-FileCopyrightText = "2023 Nextcloud GmbH and Nextcloud contributors" 30 | SPDX-License-Identifier = "AGPL-3.0-or-later" 31 | 32 | [[annotations]] 33 | path = ["l10n/**.js", "l10n/**.json", "l10n/**.php"] 34 | precedence = "aggregate" 35 | SPDX-FileCopyrightText = "2016 Nextcloud translators" 36 | SPDX-License-Identifier = "AGPL-3.0-or-later" 37 | 38 | [[annotations]] 39 | path = ["img/app-dark.svg", "img/app.svg"] 40 | precedence = "aggregate" 41 | SPDX-FileCopyrightText = "2018-2024 Google LLC" 42 | SPDX-License-Identifier = "Apache-2.0" 43 | -------------------------------------------------------------------------------- /appinfo/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | twofactor_totp 9 | Two-Factor TOTP Provider 10 | Two-factor TOTP provider 11 | A two-factor authentication provider for TOTP (RFC 6238) 12 | 14.0.0-dev.0 13 | agpl 14 | Christoph Wurst 15 | TwoFactorTOTP 16 | security 17 | 18 | https://github.com/nextcloud/twofactor_totp#readme 19 | https://github.com/nextcloud/twofactor_totp/issues 20 | https://github.com/nextcloud/twofactor_totp.git 21 | https://raw.githubusercontent.com/nextcloud/twofactor_totp/dd1e48deec73a250886f35f3924186f5357f4c5f/screenshots/enter_challenge.png 22 | https://raw.githubusercontent.com/nextcloud/twofactor_totp/dd1e48deec73a250886f35f3924186f5357f4c5f/screenshots/settings.png 23 | 24 | 25 | 26 | 27 | OCA\TwoFactorTOTP\Provider\TotpProvider 28 | 29 | 30 | OCA\TwoFactorTOTP\Command\CleanUp 31 | 32 | 33 | 34 | OCA\TwoFactorTOTP\Activity\Setting 35 | 36 | 37 | OCA\TwoFactorTOTP\Activity\Provider 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /appinfo/routes.php: -------------------------------------------------------------------------------- 1 | [ 12 | [ 13 | 'name' => 'settings#state', 14 | 'url' => '/settings/state', 15 | 'verb' => 'GET' 16 | ], 17 | [ 18 | 'name' => 'settings#enable', 19 | 'url' => '/settings/enable', 20 | 'verb' => 'POST' 21 | ], 22 | ] 23 | ]; 24 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | const babelConfig = require('@nextcloud/babel-config') 7 | 8 | module.exports = babelConfig 9 | -------------------------------------------------------------------------------- /build-js/npm-post-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors 4 | # SPDX-License-Identifier: AGPL-3.0-or-later 5 | 6 | set -e 7 | 8 | # Add licenses for source maps 9 | if [ -d "js" ]; then 10 | for f in js/*.js; do 11 | # If license file and source map exists copy license for the source map 12 | if [ -f "$f.license" ] && [ -f "$f.map" ]; then 13 | # Remove existing link 14 | [ -e "$f.map.license" ] || [ -L "$f.map.license" ] && rm "$f.map.license" 15 | # Create a new link 16 | ln -s "$(basename "$f.license")" "$f.map.license" 17 | fi 18 | done 19 | echo "Copying licenses for sourcemaps done" 20 | else 21 | echo "This script needs to be executed from the root of the repository" 22 | exit 1 23 | fi 24 | 25 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoload-dev": { 3 | "psr-4": { 4 | "OCP\\": "vendor/nextcloud/ocp/OCP", 5 | "OCA\\TwoFactorTOTP\\": "lib/" 6 | } 7 | }, 8 | "require": { 9 | "christian-riesen/base32": "^1.6.0", 10 | "rullzer/easytotp": "^0.1.4" 11 | }, 12 | "require-dev": { 13 | "bamarni/composer-bin-plugin": "^1.8.2", 14 | "christian-riesen/otp": "2.7.0", 15 | "christophwurst/nextcloud_testing": "^1.0.1", 16 | "psalm/phar": "^5.26.1" 17 | }, 18 | "scripts": { 19 | "lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l", 20 | "cs:check": "php-cs-fixer fix --dry-run --diff", 21 | "cs:fix": "php-cs-fixer fix", 22 | "psalm": "psalm.phar --threads=1", 23 | "psalm:update-baseline": "psalm.phar --threads=1 --update-baseline --set-baseline=tests/psalm-baseline.xml", 24 | "psalm:clear": "psalm.phar --clear-cache && psalm.phar --clear-global-cache", 25 | "psalm:fix": "psalm.phar --alter --issues=InvalidReturnType,InvalidNullableReturnType,MissingParamType,InvalidFalsableReturnType", 26 | "test": "phpunit -c tests/phpunit.xml", 27 | "test:acceptance": "phpunit -c tests/phpunit.xml tests/Acceptance", 28 | "test:unit": "phpunit -c tests/phpunit.xml tests/Unit", 29 | "test:acceptance:dev": "phpunit -c tests/phpunit.xml tests/Acceptance --no-coverage", 30 | "test:unit:dev": "phpunit -c tests/phpunit.xml tests/Unit --no-coverage", 31 | "bin": "echo 'bin not installed'", 32 | "post-install-cmd": ["@composer bin all install --ansi"] 33 | }, 34 | "config": { 35 | "optimize-autoloader": true, 36 | "classmap-authoritative": true, 37 | "platform": { 38 | "php": "8.0" 39 | }, 40 | "sort-packages": true, 41 | "allow-plugins": { 42 | "bamarni/composer-bin-plugin": true 43 | } 44 | }, 45 | "extra": { 46 | "bamarni-bin": { 47 | "bin-links": true, 48 | "forward-command": true 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /css/settings.css: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | /** icons for personal page settings **/ 7 | .nav-icon-totp-second-factor-auth { 8 | background-image: url('../img/app-dark.svg?v=1'); 9 | } 10 | -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | .totp-form { 7 | margin: 16px auto 1px !important; 8 | } 9 | 10 | .totp-form > input { 11 | padding: 10px; 12 | margin: 0 0 5px 0; 13 | } 14 | 15 | .totp-form > input[type='tel'] { 16 | margin: 0 0 5px 0; 17 | } 18 | 19 | .two-factor-totp-icon { 20 | filter: var(--background-invert-if-bright); 21 | } 22 | -------------------------------------------------------------------------------- /img/app-dark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/app.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/twofactor_totp-main-login-setup.js.map.license: -------------------------------------------------------------------------------- 1 | twofactor_totp-main-login-setup.js.license -------------------------------------------------------------------------------- /js/twofactor_totp-main-settings.js.map.license: -------------------------------------------------------------------------------- 1 | twofactor_totp-main-settings.js.license -------------------------------------------------------------------------------- /krankerl.toml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors 2 | # SPDX-License-Identifier: AGPL-3.0-or-later 3 | [package] 4 | before_cmds = [ 5 | "composer install --no-dev -o", 6 | "npm ci", 7 | "npm run build", 8 | ] 9 | -------------------------------------------------------------------------------- /l10n/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/twofactor_totp/0e97590cbfe495e75f035facd121c94e36e574f3/l10n/.gitkeep -------------------------------------------------------------------------------- /l10n/af.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "Authentication code" : "Verifikasiekode", 5 | "Submit" : "Dien in" 6 | }, 7 | "nplurals=2; plural=(n != 1);"); 8 | -------------------------------------------------------------------------------- /l10n/af.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Authentication code" : "Verifikasiekode", 3 | "Submit" : "Dien in" 4 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 5 | } -------------------------------------------------------------------------------- /l10n/ast.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Activesti l'autenticación en dos pasos TOTP pa la cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Desactivesti l'autenticación en dos pasos TOTP pa la cuenta", 6 | "Two-Factor TOTP Provider" : "Fornidor de l'autenticación en dos pasos TOTP", 7 | "Could not enable TOTP" : "Nun se pudo activar l'autenticación TOTP", 8 | "Could not verify your key. Please try again" : "Nun se pudo verificar la clave. Volvi tentalo", 9 | "Enable TOTP" : "Activar l'autenticación TOTP", 10 | "Authentication code" : "Códigu d'autenticación", 11 | "Verify" : "Verificar", 12 | "Submit" : "Unviar", 13 | "TOTP two-factor authentication disabled by an admin" : "L'alministración desactivó l'autenticación en dos pasos TOTP", 14 | "TOTP two-factor provider" : "Fornidor de l'autenticación en dos pasos TOTP" 15 | }, 16 | "nplurals=2; plural=(n != 1);"); 17 | -------------------------------------------------------------------------------- /l10n/ast.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Activesti l'autenticación en dos pasos TOTP pa la cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Desactivesti l'autenticación en dos pasos TOTP pa la cuenta", 4 | "Two-Factor TOTP Provider" : "Fornidor de l'autenticación en dos pasos TOTP", 5 | "Could not enable TOTP" : "Nun se pudo activar l'autenticación TOTP", 6 | "Could not verify your key. Please try again" : "Nun se pudo verificar la clave. Volvi tentalo", 7 | "Enable TOTP" : "Activar l'autenticación TOTP", 8 | "Authentication code" : "Códigu d'autenticación", 9 | "Verify" : "Verificar", 10 | "Submit" : "Unviar", 11 | "TOTP two-factor authentication disabled by an admin" : "L'alministración desactivó l'autenticación en dos pasos TOTP", 12 | "TOTP two-factor provider" : "Fornidor de l'autenticación en dos pasos TOTP" 13 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 14 | } -------------------------------------------------------------------------------- /l10n/bg.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Включихте двустепенното TOTP удостоверяване за вашия профил", 5 | "You disabled TOTP two-factor authentication for your account" : "Изключихте двустепенното TOTP удостоверяване за вашия профил", 6 | "TOTP (Authenticator app)" : "TOTP (Удостоверител)", 7 | "Authenticate with a TOTP app" : "Удостоверяване с TOTP приложение", 8 | "Two-Factor TOTP Provider" : " Двустепенен доставчик на TOTP", 9 | "Could not enable TOTP" : "TOTP не може да бъде включено", 10 | "Could not verify your key. Please try again" : "Вашият ключ не може да бъде потвърден. Моля, опитайте отново.", 11 | "Enable TOTP" : "Вклчюване на TOTP", 12 | "Your new TOTP secret is:" : "Вашата нова TOTP тайна е:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "За бързо настройване, сканирайте QR кода с избрано от вас TOTP приложение:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "След като настроите приложението, въведете генериран от него код, в полето долу, за да се уверите, че всичко работи коректно:", 15 | "Authentication code" : "Удостоверителен код", 16 | "Verify" : "Потвърждаване", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Въведете кода от приложението за двустепенно удостоверяване.", 18 | "Submit" : "Изпращане", 19 | "TOTP two-factor authentication disabled by an admin" : "Двустепенното TOTP удостоверяване е изключено от администратора", 20 | "TOTP two-factor provider" : "Доставчик на двустепенно TOTP", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Доставчик на двустепенно удостоверяване за TOTP (RFC 6238) " 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/bg.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Включихте двустепенното TOTP удостоверяване за вашия профил", 3 | "You disabled TOTP two-factor authentication for your account" : "Изключихте двустепенното TOTP удостоверяване за вашия профил", 4 | "TOTP (Authenticator app)" : "TOTP (Удостоверител)", 5 | "Authenticate with a TOTP app" : "Удостоверяване с TOTP приложение", 6 | "Two-Factor TOTP Provider" : " Двустепенен доставчик на TOTP", 7 | "Could not enable TOTP" : "TOTP не може да бъде включено", 8 | "Could not verify your key. Please try again" : "Вашият ключ не може да бъде потвърден. Моля, опитайте отново.", 9 | "Enable TOTP" : "Вклчюване на TOTP", 10 | "Your new TOTP secret is:" : "Вашата нова TOTP тайна е:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "За бързо настройване, сканирайте QR кода с избрано от вас TOTP приложение:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "След като настроите приложението, въведете генериран от него код, в полето долу, за да се уверите, че всичко работи коректно:", 13 | "Authentication code" : "Удостоверителен код", 14 | "Verify" : "Потвърждаване", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Въведете кода от приложението за двустепенно удостоверяване.", 16 | "Submit" : "Изпращане", 17 | "TOTP two-factor authentication disabled by an admin" : "Двустепенното TOTP удостоверяване е изключено от администратора", 18 | "TOTP two-factor provider" : "Доставчик на двустепенно TOTP", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Доставчик на двустепенно удостоверяване за TOTP (RFC 6238) " 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/br.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "Verify" : "Gwiriañ", 5 | "Submit" : "Kinnig" 6 | }, 7 | "nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"); 8 | -------------------------------------------------------------------------------- /l10n/br.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Verify" : "Gwiriañ", 3 | "Submit" : "Kinnig" 4 | },"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);" 5 | } -------------------------------------------------------------------------------- /l10n/ca.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Heu activat l'autenticació de dos factors TOTP per al vostre compte", 5 | "You disabled TOTP two-factor authentication for your account" : "Heu desactivat l'autenticació de dos factors TOTP per al vostre compte", 6 | "TOTP (Authenticator app)" : "TOTP (Autenticació de l'aplicació)", 7 | "Authenticate with a TOTP app" : "Autentiqueu-vos amb l'aplicació TOTP", 8 | "Two-Factor TOTP Provider" : "Proveïdor TOTP de dos factors", 9 | "Could not enable TOTP" : "No s'ha pogut activar TOTP", 10 | "Could not verify your key. Please try again" : "No es va poder verificar la vostra clau. Si us plau, torneu-ho a provar", 11 | "Enable TOTP" : "Activa TOTP", 12 | "Your new TOTP secret is:" : "El vostre nou secret TOTP és:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "Per a una configuració ràpida, escaneu aquest codi QR amb l'aplicació TOTP:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Després de configurar l'aplicació, introduïu un codi de prova a sota per garantir que tot funciona correctament:", 15 | "Authentication code" : "Codi d'autenticació", 16 | "Verify" : "Verifica", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Obteniu el codi d’autenticació de l’aplicació d’autenticació de dos factors al vostre dispositiu.", 18 | "Submit" : "Envia", 19 | "TOTP two-factor authentication disabled by an admin" : "L'autenticació de dos factors TOTP ha estat desactivada per un administrador", 20 | "TOTP two-factor provider" : "Proveïdor de dos factors TOTP", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Un proveïdor d'autenticitat de dos factors per a TOTP (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/ca.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Heu activat l'autenticació de dos factors TOTP per al vostre compte", 3 | "You disabled TOTP two-factor authentication for your account" : "Heu desactivat l'autenticació de dos factors TOTP per al vostre compte", 4 | "TOTP (Authenticator app)" : "TOTP (Autenticació de l'aplicació)", 5 | "Authenticate with a TOTP app" : "Autentiqueu-vos amb l'aplicació TOTP", 6 | "Two-Factor TOTP Provider" : "Proveïdor TOTP de dos factors", 7 | "Could not enable TOTP" : "No s'ha pogut activar TOTP", 8 | "Could not verify your key. Please try again" : "No es va poder verificar la vostra clau. Si us plau, torneu-ho a provar", 9 | "Enable TOTP" : "Activa TOTP", 10 | "Your new TOTP secret is:" : "El vostre nou secret TOTP és:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Per a una configuració ràpida, escaneu aquest codi QR amb l'aplicació TOTP:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Després de configurar l'aplicació, introduïu un codi de prova a sota per garantir que tot funciona correctament:", 13 | "Authentication code" : "Codi d'autenticació", 14 | "Verify" : "Verifica", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Obteniu el codi d’autenticació de l’aplicació d’autenticació de dos factors al vostre dispositiu.", 16 | "Submit" : "Envia", 17 | "TOTP two-factor authentication disabled by an admin" : "L'autenticació de dos factors TOTP ha estat desactivada per un administrador", 18 | "TOTP two-factor provider" : "Proveïdor de dos factors TOTP", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Un proveïdor d'autenticitat de dos factors per a TOTP (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/da.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Du har aktiveret to-faktor godkendelse til din konto", 5 | "You disabled TOTP two-factor authentication for your account" : "Du har deaktiveret to-fakto godkendelse til din konto.", 6 | "TOTP (Authenticator app)" : "TOTP (Gokendelses app)", 7 | "Authenticate with a TOTP app" : "Godkend med en TOTP App", 8 | "Two-Factor TOTP Provider" : "To-faktor TOTP-udbyder", 9 | "Could not enable TOTP" : "Kunne ikke aktivere TOTP", 10 | "Could not verify your key. Please try again" : "Kunne ikke bekræfte din nøgle. Prøv venligst igen", 11 | "Enable TOTP" : "Aktiver TOTP", 12 | "Your new TOTP secret is:" : "Din nye TOTP-hemmelighed er:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "For hurtig opsætning skal du scanne denne QR-kode med din TOTP-app:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Når du har konfigureret din app, skal du indtaste en testkode nedenfor for at sikre, at alt fungerer korrekt:", 15 | "Authentication code" : "Autorisationskode", 16 | "Verify" : "Bekræft", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Få godkendelses koden fra two-factor godkendelses app på din enhed. ", 18 | "Submit" : "Indsend", 19 | "TOTP two-factor authentication disabled by an admin" : "To-faktor-godkendelse deaktiveret af en administrator", 20 | "TOTP two-factor provider" : "TOTP to-faktor udbyder", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "En to-faktor-godkendelsesudbyder til TOTP (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/da.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Du har aktiveret to-faktor godkendelse til din konto", 3 | "You disabled TOTP two-factor authentication for your account" : "Du har deaktiveret to-fakto godkendelse til din konto.", 4 | "TOTP (Authenticator app)" : "TOTP (Gokendelses app)", 5 | "Authenticate with a TOTP app" : "Godkend med en TOTP App", 6 | "Two-Factor TOTP Provider" : "To-faktor TOTP-udbyder", 7 | "Could not enable TOTP" : "Kunne ikke aktivere TOTP", 8 | "Could not verify your key. Please try again" : "Kunne ikke bekræfte din nøgle. Prøv venligst igen", 9 | "Enable TOTP" : "Aktiver TOTP", 10 | "Your new TOTP secret is:" : "Din nye TOTP-hemmelighed er:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "For hurtig opsætning skal du scanne denne QR-kode med din TOTP-app:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Når du har konfigureret din app, skal du indtaste en testkode nedenfor for at sikre, at alt fungerer korrekt:", 13 | "Authentication code" : "Autorisationskode", 14 | "Verify" : "Bekræft", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Få godkendelses koden fra two-factor godkendelses app på din enhed. ", 16 | "Submit" : "Indsend", 17 | "TOTP two-factor authentication disabled by an admin" : "To-faktor-godkendelse deaktiveret af en administrator", 18 | "TOTP two-factor provider" : "TOTP to-faktor udbyder", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "En to-faktor-godkendelsesudbyder til TOTP (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/el.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Ενεργοποιήσατε την ΤΟΤΡ πιστοποίηση δύο-παραγόντων για το λογαριασμό σας", 5 | "You disabled TOTP two-factor authentication for your account" : "Απενεργοποιήσατε την ΤΟΤΡ πιστοποίηση δύο-παραγόντων για το λογαριασμό σας", 6 | "TOTP (Authenticator app)" : "TOTP (Εφαρμογή πιστοποίησης)", 7 | "Authenticate with a TOTP app" : "Πιστοποίηση με μια TOTP εφαρμογή", 8 | "Two-Factor TOTP Provider" : "Πάροχος ΤΟΤΡ δύο-Παραγόντων", 9 | "Could not enable TOTP" : "Αδυναμία ενεργοποίησης TOTP", 10 | "Could not verify your key. Please try again" : "Αδυναμία επαλήθευσης κλειδιού. Παρακαλούμε προσπαθήστε ξανά", 11 | "Enable TOTP" : "Ενεργοποίηση TOTP", 12 | "Your new TOTP secret is:" : "Ο νέος κωδικός σας ΤΟΤΡ είναι:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "Για γρήγορη εγκατάσταση, σαρώστε αυτόν τον κωδικό QR με την εφαρμογή TOTP:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Αφού διαμορφώσετε την εφαρμογή σας, εισάγετε έναν κωδικό δοκιμής παρακάτω για να βεβαιωθείτε ότι όλα λειτουργούν σωστά:", 15 | "Authentication code" : "Κώδικας πιστοποίησης", 16 | "Verify" : "Επαλήθευση", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Παραλάβετε τον κωδικό πιστοποίησης από την εφαρμογή δύο-παραγόντων στην συσκευή σας.", 18 | "Submit" : "Υποβολή", 19 | "TOTP two-factor authentication disabled by an admin" : "Η πιστοποίηση δύο-παραγόντων ΤΟΤΡ απενεργοποιήθηκε από τον διαχειριστή", 20 | "TOTP two-factor provider" : "TOTP δύο-παραγόντων πάροχος", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Πάροχος Αυθεντικοποίησης-Δύο-Παραγόντων για TOTP (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/el.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Ενεργοποιήσατε την ΤΟΤΡ πιστοποίηση δύο-παραγόντων για το λογαριασμό σας", 3 | "You disabled TOTP two-factor authentication for your account" : "Απενεργοποιήσατε την ΤΟΤΡ πιστοποίηση δύο-παραγόντων για το λογαριασμό σας", 4 | "TOTP (Authenticator app)" : "TOTP (Εφαρμογή πιστοποίησης)", 5 | "Authenticate with a TOTP app" : "Πιστοποίηση με μια TOTP εφαρμογή", 6 | "Two-Factor TOTP Provider" : "Πάροχος ΤΟΤΡ δύο-Παραγόντων", 7 | "Could not enable TOTP" : "Αδυναμία ενεργοποίησης TOTP", 8 | "Could not verify your key. Please try again" : "Αδυναμία επαλήθευσης κλειδιού. Παρακαλούμε προσπαθήστε ξανά", 9 | "Enable TOTP" : "Ενεργοποίηση TOTP", 10 | "Your new TOTP secret is:" : "Ο νέος κωδικός σας ΤΟΤΡ είναι:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Για γρήγορη εγκατάσταση, σαρώστε αυτόν τον κωδικό QR με την εφαρμογή TOTP:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Αφού διαμορφώσετε την εφαρμογή σας, εισάγετε έναν κωδικό δοκιμής παρακάτω για να βεβαιωθείτε ότι όλα λειτουργούν σωστά:", 13 | "Authentication code" : "Κώδικας πιστοποίησης", 14 | "Verify" : "Επαλήθευση", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Παραλάβετε τον κωδικό πιστοποίησης από την εφαρμογή δύο-παραγόντων στην συσκευή σας.", 16 | "Submit" : "Υποβολή", 17 | "TOTP two-factor authentication disabled by an admin" : "Η πιστοποίηση δύο-παραγόντων ΤΟΤΡ απενεργοποιήθηκε από τον διαχειριστή", 18 | "TOTP two-factor provider" : "TOTP δύο-παραγόντων πάροχος", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Πάροχος Αυθεντικοποίησης-Δύο-Παραγόντων για TOTP (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/eo.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "Verify" : "Kontroli", 5 | "Submit" : "Sendi" 6 | }, 7 | "nplurals=2; plural=(n != 1);"); 8 | -------------------------------------------------------------------------------- /l10n/eo.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Verify" : "Kontroli", 3 | "Submit" : "Sendi" 4 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 5 | } -------------------------------------------------------------------------------- /l10n/es_419.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 9 | "Enable TOTP" : "Habilitar TOTP", 10 | "Authentication code" : "Código de autenticación", 11 | "Verify" : "Verificar", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 13 | "Submit" : "Enviar" 14 | }, 15 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 16 | -------------------------------------------------------------------------------- /l10n/es_419.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 7 | "Enable TOTP" : "Habilitar TOTP", 8 | "Authentication code" : "Código de autenticación", 9 | "Verify" : "Verificar", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 11 | "Submit" : "Enviar" 12 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 13 | } -------------------------------------------------------------------------------- /l10n/es_AR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Ha habilitado la autenticación TOTP de dos factores en su cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Usted ha deshabilitado la autenticación de dos factores TOTP para su cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not verify your key. Please try again" : "No fue posible verificar su llave. Favor de volver a intentarlo", 9 | "Enable TOTP" : "Habilitar TOTP", 10 | "Authentication code" : "Código de autenticación", 11 | "Verify" : "Verificar", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Obtenga el código de autenticación de la aplicación de autenticación de dos factores en su dispositivo.", 13 | "Submit" : "Enviar" 14 | }, 15 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 16 | -------------------------------------------------------------------------------- /l10n/es_AR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Ha habilitado la autenticación TOTP de dos factores en su cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Usted ha deshabilitado la autenticación de dos factores TOTP para su cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not verify your key. Please try again" : "No fue posible verificar su llave. Favor de volver a intentarlo", 7 | "Enable TOTP" : "Habilitar TOTP", 8 | "Authentication code" : "Código de autenticación", 9 | "Verify" : "Verificar", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Obtenga el código de autenticación de la aplicación de autenticación de dos factores en su dispositivo.", 11 | "Submit" : "Enviar" 12 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 13 | } -------------------------------------------------------------------------------- /l10n/es_CL.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 9 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 10 | "Enable TOTP" : "Habilitar TOTP", 11 | "Authentication code" : "Código de autenticación", 12 | "Verify" : "Verificar", 13 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 14 | "Submit" : "Enviar" 15 | }, 16 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 17 | -------------------------------------------------------------------------------- /l10n/es_CL.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 7 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 8 | "Enable TOTP" : "Habilitar TOTP", 9 | "Authentication code" : "Código de autenticación", 10 | "Verify" : "Verificar", 11 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 12 | "Submit" : "Enviar" 13 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 14 | } -------------------------------------------------------------------------------- /l10n/es_CO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 9 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 10 | "Enable TOTP" : "Habilitar TOTP", 11 | "Authentication code" : "Código de autenticación", 12 | "Verify" : "Verificar", 13 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 14 | "Submit" : "Enviar" 15 | }, 16 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 17 | -------------------------------------------------------------------------------- /l10n/es_CO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 7 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 8 | "Enable TOTP" : "Habilitar TOTP", 9 | "Authentication code" : "Código de autenticación", 10 | "Verify" : "Verificar", 11 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 12 | "Submit" : "Enviar" 13 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 14 | } -------------------------------------------------------------------------------- /l10n/es_CR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 9 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 10 | "Enable TOTP" : "Habilitar TOTP", 11 | "Authentication code" : "Código de autenticación", 12 | "Verify" : "Verificar", 13 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 14 | "Submit" : "Enviar" 15 | }, 16 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 17 | -------------------------------------------------------------------------------- /l10n/es_CR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 7 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 8 | "Enable TOTP" : "Habilitar TOTP", 9 | "Authentication code" : "Código de autenticación", 10 | "Verify" : "Verificar", 11 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 12 | "Submit" : "Enviar" 13 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 14 | } -------------------------------------------------------------------------------- /l10n/es_DO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 9 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 10 | "Enable TOTP" : "Habilitar TOTP", 11 | "Authentication code" : "Código de autenticación", 12 | "Verify" : "Verificar", 13 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 14 | "Submit" : "Enviar" 15 | }, 16 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 17 | -------------------------------------------------------------------------------- /l10n/es_DO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 7 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 8 | "Enable TOTP" : "Habilitar TOTP", 9 | "Authentication code" : "Código de autenticación", 10 | "Verify" : "Verificar", 11 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 12 | "Submit" : "Enviar" 13 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 14 | } -------------------------------------------------------------------------------- /l10n/es_EC.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Two-Factor TOTP Provider" : "Proveedor de autenticación de dos factores TOTP", 7 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 8 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 9 | "Enable TOTP" : "Habilitar TOTP", 10 | "Your new TOTP secret is:" : "Tu nuevo secreto TOTP es:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Para una configuración rápida, escanea este código QR con tu aplicación TOTP:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Después de configurar tu aplicación, ingresa un código de prueba a continuación para asegurarte de que todo funcione correctamente:", 13 | "Authentication code" : "Código de autenticación", 14 | "Verify" : "Verificar", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 16 | "Submit" : "Enviar", 17 | "TOTP two-factor authentication disabled by an admin" : "La autenticación de dos factores TOTP ha sido desactivada por un administrador", 18 | "TOTP two-factor provider" : "Proveedor de dos factores TOTP", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Un proveedor de autenticación de dos factores para TOTP (RFC 6238)" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_GT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 9 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 10 | "Enable TOTP" : "Habilitar TOTP", 11 | "Authentication code" : "Código de autenticación", 12 | "Verify" : "Verificar", 13 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 14 | "Submit" : "Enviar" 15 | }, 16 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 17 | -------------------------------------------------------------------------------- /l10n/es_GT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 7 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 8 | "Enable TOTP" : "Habilitar TOTP", 9 | "Authentication code" : "Código de autenticación", 10 | "Verify" : "Verificar", 11 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 12 | "Submit" : "Enviar" 13 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 14 | } -------------------------------------------------------------------------------- /l10n/es_HN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 9 | "Enable TOTP" : "Habilitar TOTP", 10 | "Authentication code" : "Código de autenticación", 11 | "Verify" : "Verificar", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 13 | "Submit" : "Enviar" 14 | }, 15 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 16 | -------------------------------------------------------------------------------- /l10n/es_HN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 7 | "Enable TOTP" : "Habilitar TOTP", 8 | "Authentication code" : "Código de autenticación", 9 | "Verify" : "Verificar", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 11 | "Submit" : "Enviar" 12 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 13 | } -------------------------------------------------------------------------------- /l10n/es_MX.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 9 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 10 | "Enable TOTP" : "Habilitar TOTP", 11 | "Authentication code" : "Código de autenticación", 12 | "Verify" : "Verificar", 13 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 14 | "Submit" : "Enviar", 15 | "TOTP two-factor provider" : "Proveedor de dos-factores TOTP ", 16 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Un proveedor de Autenticación de Dos-Factores para TOTP (RFC 6238)" 17 | }, 18 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 19 | -------------------------------------------------------------------------------- /l10n/es_MX.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 7 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 8 | "Enable TOTP" : "Habilitar TOTP", 9 | "Authentication code" : "Código de autenticación", 10 | "Verify" : "Verificar", 11 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 12 | "Submit" : "Enviar", 13 | "TOTP two-factor provider" : "Proveedor de dos-factores TOTP ", 14 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Un proveedor de Autenticación de Dos-Factores para TOTP (RFC 6238)" 15 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 16 | } -------------------------------------------------------------------------------- /l10n/es_NI.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 9 | "Enable TOTP" : "Habilitar TOTP", 10 | "Authentication code" : "Código de autenticación", 11 | "Verify" : "Verificar", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 13 | "Submit" : "Enviar" 14 | }, 15 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 16 | -------------------------------------------------------------------------------- /l10n/es_NI.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 7 | "Enable TOTP" : "Habilitar TOTP", 8 | "Authentication code" : "Código de autenticación", 9 | "Verify" : "Verificar", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 11 | "Submit" : "Enviar" 12 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 13 | } -------------------------------------------------------------------------------- /l10n/es_PA.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 9 | "Enable TOTP" : "Habilitar TOTP", 10 | "Authentication code" : "Código de autenticación", 11 | "Verify" : "Verificar", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 13 | "Submit" : "Enviar" 14 | }, 15 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 16 | -------------------------------------------------------------------------------- /l10n/es_PA.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 7 | "Enable TOTP" : "Habilitar TOTP", 8 | "Authentication code" : "Código de autenticación", 9 | "Verify" : "Verificar", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 11 | "Submit" : "Enviar" 12 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 13 | } -------------------------------------------------------------------------------- /l10n/es_PE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 9 | "Enable TOTP" : "Habilitar TOTP", 10 | "Authentication code" : "Código de autenticación", 11 | "Verify" : "Verificar", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 13 | "Submit" : "Enviar" 14 | }, 15 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 16 | -------------------------------------------------------------------------------- /l10n/es_PE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 7 | "Enable TOTP" : "Habilitar TOTP", 8 | "Authentication code" : "Código de autenticación", 9 | "Verify" : "Verificar", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 11 | "Submit" : "Enviar" 12 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 13 | } -------------------------------------------------------------------------------- /l10n/es_PR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 9 | "Enable TOTP" : "Habilitar TOTP", 10 | "Authentication code" : "Código de autenticación", 11 | "Verify" : "Verificar", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 13 | "Submit" : "Enviar" 14 | }, 15 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 16 | -------------------------------------------------------------------------------- /l10n/es_PR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 7 | "Enable TOTP" : "Habilitar TOTP", 8 | "Authentication code" : "Código de autenticación", 9 | "Verify" : "Verificar", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 11 | "Submit" : "Enviar" 12 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 13 | } -------------------------------------------------------------------------------- /l10n/es_PY.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 9 | "Enable TOTP" : "Habilitar TOTP", 10 | "Authentication code" : "Código de autenticación", 11 | "Verify" : "Verificar", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 13 | "Submit" : "Enviar" 14 | }, 15 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 16 | -------------------------------------------------------------------------------- /l10n/es_PY.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 7 | "Enable TOTP" : "Habilitar TOTP", 8 | "Authentication code" : "Código de autenticación", 9 | "Verify" : "Verificar", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 11 | "Submit" : "Enviar" 12 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 13 | } -------------------------------------------------------------------------------- /l10n/es_SV.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 9 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 10 | "Enable TOTP" : "Habilitar TOTP", 11 | "Authentication code" : "Código de autenticación", 12 | "Verify" : "Verificar", 13 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 14 | "Submit" : "Enviar" 15 | }, 16 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 17 | -------------------------------------------------------------------------------- /l10n/es_SV.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not enable TOTP" : "No se pudo habilitar TOTP", 7 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 8 | "Enable TOTP" : "Habilitar TOTP", 9 | "Authentication code" : "Código de autenticación", 10 | "Verify" : "Verificar", 11 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 12 | "Submit" : "Enviar" 13 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 14 | } -------------------------------------------------------------------------------- /l10n/es_UY.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 5 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 6 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 7 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 8 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 9 | "Enable TOTP" : "Habilitar TOTP", 10 | "Authentication code" : "Código de autenticación", 11 | "Verify" : "Verificar", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 13 | "Submit" : "Enviar" 14 | }, 15 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 16 | -------------------------------------------------------------------------------- /l10n/es_UY.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Habilitaste la autenticación TOTP de dos factores en tu cuenta", 3 | "You disabled TOTP two-factor authentication for your account" : "Deshabilitaste la autenticación de dos factores TOTP para tu cuenta.", 4 | "TOTP (Authenticator app)" : "TOTP (aplicación de autenticador)", 5 | "Authenticate with a TOTP app" : "Autenticar con una aplicación TOTP", 6 | "Could not verify your key. Please try again" : "No fue posible verificar tu llave. Por favor vuelve a intentarlo", 7 | "Enable TOTP" : "Habilitar TOTP", 8 | "Authentication code" : "Código de autenticación", 9 | "Verify" : "Verificar", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Obten el código de autenticación de la aplicación de autenticación de dos factores en tu dispositivo.", 11 | "Submit" : "Enviar" 12 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 13 | } -------------------------------------------------------------------------------- /l10n/eu.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "TOTP bi faktoreko autentifikazioa aktibatu duzu zure kontuan", 5 | "You disabled TOTP two-factor authentication for your account" : "TOTP bi faktoreko autentifikazioa desgaitu duzu zure kontuan", 6 | "TOTP (Authenticator app)" : "TOTP (autentifikazio app-a)", 7 | "Authenticate with a TOTP app" : "TOTP app-arekin izena eman", 8 | "Two-Factor TOTP Provider" : "TOTP bi faktoreko zerbitzua", 9 | "Could not enable TOTP" : "Ezin izan da TOTP aktibatu", 10 | "Could not verify your key. Please try again" : "Ezin da zure gakoa ziurtatu. Saia zaitez berriz mesedez", 11 | "Enable TOTP" : "Gaitu TOTP", 12 | "Your new TOTP secret is:" : "Zure TOTP sekretua hauxe da:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "Konfigurazio azkarra lortzeko, eskaneatu QR kode hau zure TOTP aplikazioarekin:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Aplikazioa konfiguratu ondoren, idatzi beheko proba-kodea denak ondo funtzionatzen duela ziurtatzeko:", 15 | "Authentication code" : "Autentifikazio kodea", 16 | "Verify" : "Egiaztatu", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Zure gailuko bi faktoreko autentifikazio aplikaziotik autentifikazio kodea lortu.", 18 | "Submit" : "Bidali", 19 | "TOTP two-factor authentication disabled by an admin" : "TOTP bi faktoreko autentifikazioa kudeatzaileak desaktibatu egin du", 20 | "TOTP two-factor provider" : "TOTP bi faktoreko zerbitzua", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP eskaintzeko zerbitzua (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/eu.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "TOTP bi faktoreko autentifikazioa aktibatu duzu zure kontuan", 3 | "You disabled TOTP two-factor authentication for your account" : "TOTP bi faktoreko autentifikazioa desgaitu duzu zure kontuan", 4 | "TOTP (Authenticator app)" : "TOTP (autentifikazio app-a)", 5 | "Authenticate with a TOTP app" : "TOTP app-arekin izena eman", 6 | "Two-Factor TOTP Provider" : "TOTP bi faktoreko zerbitzua", 7 | "Could not enable TOTP" : "Ezin izan da TOTP aktibatu", 8 | "Could not verify your key. Please try again" : "Ezin da zure gakoa ziurtatu. Saia zaitez berriz mesedez", 9 | "Enable TOTP" : "Gaitu TOTP", 10 | "Your new TOTP secret is:" : "Zure TOTP sekretua hauxe da:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Konfigurazio azkarra lortzeko, eskaneatu QR kode hau zure TOTP aplikazioarekin:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Aplikazioa konfiguratu ondoren, idatzi beheko proba-kodea denak ondo funtzionatzen duela ziurtatzeko:", 13 | "Authentication code" : "Autentifikazio kodea", 14 | "Verify" : "Egiaztatu", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Zure gailuko bi faktoreko autentifikazio aplikaziotik autentifikazio kodea lortu.", 16 | "Submit" : "Bidali", 17 | "TOTP two-factor authentication disabled by an admin" : "TOTP bi faktoreko autentifikazioa kudeatzaileak desaktibatu egin du", 18 | "TOTP two-factor provider" : "TOTP bi faktoreko zerbitzua", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP eskaintzeko zerbitzua (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/fa.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "شما احراز هویت دو مرحله ای TOTP را برای حساب خود فعال کرده اید", 5 | "You disabled TOTP two-factor authentication for your account" : "شما احراز هویت دو مرحله ای TOTP را برای حساب خود غیرفعال کردید", 6 | "TOTP (Authenticator app)" : "TOTP (برنامه Authenticator)", 7 | "Authenticate with a TOTP app" : "با یک برنامه TOTP احراز هویت", 8 | "Two-Factor TOTP Provider" : "ارائه دهنده TOTP دو عاملی", 9 | "Could not enable TOTP" : "TOTP فعال نشد", 10 | "Could not verify your key. Please try again" : "کلید شما تأیید نشد. لطفا دوباره تلاش کنید", 11 | "Enable TOTP" : "TOTP را فعال کنید", 12 | "Your new TOTP secret is:" : "راز جدید TOTP شما این است:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "برای راه اندازی سریع، این کد QR را با برنامه TOTP خود اسکن کنید:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "پس از پیکربندی برنامه خود، یک کد آزمایشی در زیر وارد کنید تا مطمئن شوید همه چیز به درستی کار می کند:", 15 | "Authentication code" : "کد هویت", 16 | "Verify" : "تأیید کنید", 17 | "Get the authentication code from the two-factor authentication app on your device." : "کد احراز هویت را از برنامه احراز هویت دو مرحله ای در دستگاه خود دریافت کنید.", 18 | "Submit" : "ارسال", 19 | "TOTP two-factor authentication disabled by an admin" : "احراز هویت دو مرحله‌ای TOTP توسط یک مدیر غیرفعال شد", 20 | "TOTP two-factor provider" : "ارائه دهنده دو عامل TOTP", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "ارائه‌دهنده تأییدیه دو عاملی برای TOTP (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n > 1);"); 24 | -------------------------------------------------------------------------------- /l10n/fa.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "شما احراز هویت دو مرحله ای TOTP را برای حساب خود فعال کرده اید", 3 | "You disabled TOTP two-factor authentication for your account" : "شما احراز هویت دو مرحله ای TOTP را برای حساب خود غیرفعال کردید", 4 | "TOTP (Authenticator app)" : "TOTP (برنامه Authenticator)", 5 | "Authenticate with a TOTP app" : "با یک برنامه TOTP احراز هویت", 6 | "Two-Factor TOTP Provider" : "ارائه دهنده TOTP دو عاملی", 7 | "Could not enable TOTP" : "TOTP فعال نشد", 8 | "Could not verify your key. Please try again" : "کلید شما تأیید نشد. لطفا دوباره تلاش کنید", 9 | "Enable TOTP" : "TOTP را فعال کنید", 10 | "Your new TOTP secret is:" : "راز جدید TOTP شما این است:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "برای راه اندازی سریع، این کد QR را با برنامه TOTP خود اسکن کنید:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "پس از پیکربندی برنامه خود، یک کد آزمایشی در زیر وارد کنید تا مطمئن شوید همه چیز به درستی کار می کند:", 13 | "Authentication code" : "کد هویت", 14 | "Verify" : "تأیید کنید", 15 | "Get the authentication code from the two-factor authentication app on your device." : "کد احراز هویت را از برنامه احراز هویت دو مرحله ای در دستگاه خود دریافت کنید.", 16 | "Submit" : "ارسال", 17 | "TOTP two-factor authentication disabled by an admin" : "احراز هویت دو مرحله‌ای TOTP توسط یک مدیر غیرفعال شد", 18 | "TOTP two-factor provider" : "ارائه دهنده دو عامل TOTP", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "ارائه‌دهنده تأییدیه دو عاملی برای TOTP (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 21 | } -------------------------------------------------------------------------------- /l10n/fi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Otit TOTP-tunnistautumisen käyttöön tililläsi", 5 | "You disabled TOTP two-factor authentication for your account" : "Poistit TOTP-tunnistautumisen käytöstä tililläsi", 6 | "TOTP (Authenticator app)" : "TOTP (Authenticator-sovellus)", 7 | "Authenticate with a TOTP app" : "Tunnistaudu TOTP-sovelluksella", 8 | "Two-Factor TOTP Provider" : "Kaksivaiheinen TOTP-tarjoaja", 9 | "Could not enable TOTP" : "TOTP:ia ei voitu ottaa käyttöön", 10 | "Could not verify your key. Please try again" : "Koodin tarkastus epäonnistui. Yritä uudelleen.", 11 | "Enable TOTP" : "Käytä TOTP:tä", 12 | "Your new TOTP secret is:" : "Uusi TOTP-salaisuutesi on:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "Skannaa tämä QR-koodi TOTP-sovelluksellasi asetusten nopeaa määritystä varten:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Kun olet määrittänyt sovelluksen, kirjoita testikoodi alle varmistaaksesi että kaikki toimii kunnolla:", 15 | "Authentication code" : "Tunnistautumiskoodi", 16 | "Verify" : "Vahvista", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Hanki tunnistautumiskoodi laitteesi 2-vaiheisen tunnistautumisen sovelluksesta.", 18 | "Submit" : "Lähetä", 19 | "TOTP two-factor authentication disabled by an admin" : "TOTP-kaksivaiheinen tunnistautuminen on poistettu käytöstä ylläpidon toimesta", 20 | "TOTP two-factor provider" : "TOTP-kaksivaiheisuuden tarjoaja", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Kaksivaiheisen tunnistautumisen tarjoaja TOTP:ille (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/fi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Otit TOTP-tunnistautumisen käyttöön tililläsi", 3 | "You disabled TOTP two-factor authentication for your account" : "Poistit TOTP-tunnistautumisen käytöstä tililläsi", 4 | "TOTP (Authenticator app)" : "TOTP (Authenticator-sovellus)", 5 | "Authenticate with a TOTP app" : "Tunnistaudu TOTP-sovelluksella", 6 | "Two-Factor TOTP Provider" : "Kaksivaiheinen TOTP-tarjoaja", 7 | "Could not enable TOTP" : "TOTP:ia ei voitu ottaa käyttöön", 8 | "Could not verify your key. Please try again" : "Koodin tarkastus epäonnistui. Yritä uudelleen.", 9 | "Enable TOTP" : "Käytä TOTP:tä", 10 | "Your new TOTP secret is:" : "Uusi TOTP-salaisuutesi on:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Skannaa tämä QR-koodi TOTP-sovelluksellasi asetusten nopeaa määritystä varten:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Kun olet määrittänyt sovelluksen, kirjoita testikoodi alle varmistaaksesi että kaikki toimii kunnolla:", 13 | "Authentication code" : "Tunnistautumiskoodi", 14 | "Verify" : "Vahvista", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Hanki tunnistautumiskoodi laitteesi 2-vaiheisen tunnistautumisen sovelluksesta.", 16 | "Submit" : "Lähetä", 17 | "TOTP two-factor authentication disabled by an admin" : "TOTP-kaksivaiheinen tunnistautuminen on poistettu käytöstä ylläpidon toimesta", 18 | "TOTP two-factor provider" : "TOTP-kaksivaiheisuuden tarjoaja", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Kaksivaiheisen tunnistautumisen tarjoaja TOTP:ille (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/fi_FI.php: -------------------------------------------------------------------------------- 1 | "Käytä TOTP:tä", 4 | "This is your new TOTP secret:" => "Tämä on uusi TOTP-salaisuutesi:", 5 | "Scan this QR code with your TOTP app" => "Skannaa tämä QR-koodi TOTP-sovelluksellasi", 6 | "Authenticate with a TOTP app" => "Tunnistaudu TOTP-sovelluksella", 7 | "TOTP Second-factor Auth" => "Aikaperusteisen kertasalasanan (TOTP) kaksivaiheinen tunnistautuminen" 8 | ); 9 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 10 | -------------------------------------------------------------------------------- /l10n/he.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "הפעלת אימות TOTP דו־שלבי לחשבון שלך", 5 | "You disabled TOTP two-factor authentication for your account" : "השבתת אימות TOTP דו־שלבי לחשבון שלך", 6 | "TOTP (Authenticator app)" : "TOTP (יישומון אימות)", 7 | "Authenticate with a TOTP app" : "אימות עם יישום ה- TOTP", 8 | "Two-Factor TOTP Provider" : "ספק TOTP לאימות דו־שלבי", 9 | "Could not enable TOTP" : "לא ניתן להפעיל TOTP", 10 | "Could not verify your key. Please try again" : "לא ניתן לוודא שהמפתח שלך תקין. נא לנסות שוב", 11 | "Enable TOTP" : "הפעלת TOTP", 12 | "Your new TOTP secret is:" : "סוד ה־TOTP החדש שלך הוא:", 13 | "Authentication code" : "קוד אימות", 14 | "Verify" : "אימות", 15 | "Get the authentication code from the two-factor authentication app on your device." : "קבלת קוד אימות מיישום אימות דו-מרכיבי בהתקן שלך.", 16 | "Submit" : "הגשה", 17 | "TOTP two-factor authentication disabled by an admin" : "אימות דו־שלבי בתצורת TOTP הושבת על ידי ההנהלה", 18 | "TOTP two-factor provider" : "ספק אימות דו־שלבי TOTP", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "ספק אימות דו־שלבי עבור TOTP‏ (RFC 6238)" 20 | }, 21 | "nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"); 22 | -------------------------------------------------------------------------------- /l10n/he.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "הפעלת אימות TOTP דו־שלבי לחשבון שלך", 3 | "You disabled TOTP two-factor authentication for your account" : "השבתת אימות TOTP דו־שלבי לחשבון שלך", 4 | "TOTP (Authenticator app)" : "TOTP (יישומון אימות)", 5 | "Authenticate with a TOTP app" : "אימות עם יישום ה- TOTP", 6 | "Two-Factor TOTP Provider" : "ספק TOTP לאימות דו־שלבי", 7 | "Could not enable TOTP" : "לא ניתן להפעיל TOTP", 8 | "Could not verify your key. Please try again" : "לא ניתן לוודא שהמפתח שלך תקין. נא לנסות שוב", 9 | "Enable TOTP" : "הפעלת TOTP", 10 | "Your new TOTP secret is:" : "סוד ה־TOTP החדש שלך הוא:", 11 | "Authentication code" : "קוד אימות", 12 | "Verify" : "אימות", 13 | "Get the authentication code from the two-factor authentication app on your device." : "קבלת קוד אימות מיישום אימות דו-מרכיבי בהתקן שלך.", 14 | "Submit" : "הגשה", 15 | "TOTP two-factor authentication disabled by an admin" : "אימות דו־שלבי בתצורת TOTP הושבת על ידי ההנהלה", 16 | "TOTP two-factor provider" : "ספק אימות דו־שלבי TOTP", 17 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "ספק אימות דו־שלבי עבור TOTP‏ (RFC 6238)" 18 | },"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;" 19 | } -------------------------------------------------------------------------------- /l10n/hr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Omogućili ste TOTP dvofaktorsku autentifikaciju za svoj račun", 5 | "You disabled TOTP two-factor authentication for your account" : "Onemogućili ste TOTP dvofaktorsku autentifikaciju za svoj račun", 6 | "TOTP (Authenticator app)" : "TOTP (aplikacija za autentifikaciju)", 7 | "Authenticate with a TOTP app" : "Izvršite autentifikaciju putem aplikacije TOTP", 8 | "Two-Factor TOTP Provider" : "Davatelj usluge dvofaktorskog TOTP-a", 9 | "Could not enable TOTP" : "Nije moguće omogućiti TOTP", 10 | "Could not verify your key. Please try again" : "Vaš ključ nije moguće potvrditi. Pokušajte ponovno", 11 | "Enable TOTP" : "Omogući TOTP", 12 | "Your new TOTP secret is:" : "Vaš novi tajni ključ za TOTP je:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "Za brzo postavljanje, skenirajte ovaj QR kôd sa svojom aplikacijom TOTP:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Nakon što konfigurirate aplikaciju, unesite testnu šifru navedenu u nastavku kako biste bili sigurni da sve ispravno radi:", 15 | "Authentication code" : "Šifra za autentifikaciju", 16 | "Verify" : "Provjeri", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Nabavite šifru za autentifikaciju iz aplikacije za dvofaktorsku autentifikaciju na uređaju.", 18 | "Submit" : "Šalji", 19 | "TOTP two-factor authentication disabled by an admin" : "Administrator je onemogućio TOTP dvofaktorsku autentifikaciju", 20 | "TOTP two-factor provider" : "Davatelj usluge dvofaktorskog TOTP-a", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Davatelj usluge dvofaktorske autentifikacije za TOTP (RFC 6238)" 22 | }, 23 | "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/hr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Omogućili ste TOTP dvofaktorsku autentifikaciju za svoj račun", 3 | "You disabled TOTP two-factor authentication for your account" : "Onemogućili ste TOTP dvofaktorsku autentifikaciju za svoj račun", 4 | "TOTP (Authenticator app)" : "TOTP (aplikacija za autentifikaciju)", 5 | "Authenticate with a TOTP app" : "Izvršite autentifikaciju putem aplikacije TOTP", 6 | "Two-Factor TOTP Provider" : "Davatelj usluge dvofaktorskog TOTP-a", 7 | "Could not enable TOTP" : "Nije moguće omogućiti TOTP", 8 | "Could not verify your key. Please try again" : "Vaš ključ nije moguće potvrditi. Pokušajte ponovno", 9 | "Enable TOTP" : "Omogući TOTP", 10 | "Your new TOTP secret is:" : "Vaš novi tajni ključ za TOTP je:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Za brzo postavljanje, skenirajte ovaj QR kôd sa svojom aplikacijom TOTP:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Nakon što konfigurirate aplikaciju, unesite testnu šifru navedenu u nastavku kako biste bili sigurni da sve ispravno radi:", 13 | "Authentication code" : "Šifra za autentifikaciju", 14 | "Verify" : "Provjeri", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Nabavite šifru za autentifikaciju iz aplikacije za dvofaktorsku autentifikaciju na uređaju.", 16 | "Submit" : "Šalji", 17 | "TOTP two-factor authentication disabled by an admin" : "Administrator je onemogućio TOTP dvofaktorsku autentifikaciju", 18 | "TOTP two-factor provider" : "Davatelj usluge dvofaktorskog TOTP-a", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Davatelj usluge dvofaktorske autentifikacije za TOTP (RFC 6238)" 20 | },"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;" 21 | } -------------------------------------------------------------------------------- /l10n/hu.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Engedélyezte a TOTP kétlépcsős hitelesítést a fiókjához", 5 | "You disabled TOTP two-factor authentication for your account" : "Letiltotta a TOTP kétlépcsős hitelesítést a fiókjához", 6 | "TOTP (Authenticator app)" : "TOTP (Hitelesítő alkalmazás)", 7 | "Authenticate with a TOTP app" : "Hitelesítés egy TOTP alkalmazással", 8 | "Two-Factor TOTP Provider" : "Kétlépcsős TOTP szolgáltató", 9 | "Could not enable TOTP" : "Nem sikerült engedélyezni a TOTP-t", 10 | "Could not verify your key. Please try again" : "A kulcs nem ellenőrizhető. Próbálja meg újra.", 11 | "Enable TOTP" : "Időalapú egyszer használatos jelszó (TOTP) engedélyezése", 12 | "Your new TOTP secret is:" : "Az új TOTP titka:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "A gyors beállításhoz olvassa be ezt a QR-kódot a TOTP alkalmazásával:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Miután beállította az alkalmazást, írja be az alábbi tesztkódot, hogy meggyőződhessen arról, hogy minden megfelelően működik:", 15 | "Authentication code" : "Hitelesítőkód", 16 | "Verify" : "Ellenőrzés", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Szerezze meg a hitelesítőkódot az eszközén lévő kétlépcsős hitelesítési alkalmazásából.", 18 | "Submit" : "Küldés", 19 | "TOTP two-factor authentication disabled by an admin" : "A TOTP kétlépcsős hitelesítést egy rendszergazda letiltotta", 20 | "TOTP two-factor provider" : "TOTP kétlépcsős szolgáltató", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Kétlépcsős hitelesítésszolgáltató TOTP-hez (RFC6238)" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/hu.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Engedélyezte a TOTP kétlépcsős hitelesítést a fiókjához", 3 | "You disabled TOTP two-factor authentication for your account" : "Letiltotta a TOTP kétlépcsős hitelesítést a fiókjához", 4 | "TOTP (Authenticator app)" : "TOTP (Hitelesítő alkalmazás)", 5 | "Authenticate with a TOTP app" : "Hitelesítés egy TOTP alkalmazással", 6 | "Two-Factor TOTP Provider" : "Kétlépcsős TOTP szolgáltató", 7 | "Could not enable TOTP" : "Nem sikerült engedélyezni a TOTP-t", 8 | "Could not verify your key. Please try again" : "A kulcs nem ellenőrizhető. Próbálja meg újra.", 9 | "Enable TOTP" : "Időalapú egyszer használatos jelszó (TOTP) engedélyezése", 10 | "Your new TOTP secret is:" : "Az új TOTP titka:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "A gyors beállításhoz olvassa be ezt a QR-kódot a TOTP alkalmazásával:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Miután beállította az alkalmazást, írja be az alábbi tesztkódot, hogy meggyőződhessen arról, hogy minden megfelelően működik:", 13 | "Authentication code" : "Hitelesítőkód", 14 | "Verify" : "Ellenőrzés", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Szerezze meg a hitelesítőkódot az eszközén lévő kétlépcsős hitelesítési alkalmazásából.", 16 | "Submit" : "Küldés", 17 | "TOTP two-factor authentication disabled by an admin" : "A TOTP kétlépcsős hitelesítést egy rendszergazda letiltotta", 18 | "TOTP two-factor provider" : "TOTP kétlépcsős szolgáltató", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Kétlépcsős hitelesítésszolgáltató TOTP-hez (RFC6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/id.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "TOTP (Authenticator app)" : "TOTP (Aplikasi autentikasi)", 5 | "Authenticate with a TOTP app" : "Autentikasi dengan aplikasi TOTP", 6 | "Verify" : "Verifikasi" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /l10n/id.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "TOTP (Authenticator app)" : "TOTP (Aplikasi autentikasi)", 3 | "Authenticate with a TOTP app" : "Autentikasi dengan aplikasi TOTP", 4 | "Verify" : "Verifikasi" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /l10n/is.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Þú virkjaðir TOTP tveggja-þrepa auðkenningu fyrir aðganginn þinn", 5 | "You disabled TOTP two-factor authentication for your account" : "Þú gerðir TOTP tveggja-þrepa auðkenningu fyrir aðganginn þinn óvirka", 6 | "TOTP (Authenticator app)" : "TOTP (auðkenningarforrit)", 7 | "Authenticate with a TOTP app" : "Auðkenna með TOTP-forriti", 8 | "Two-Factor TOTP Provider" : "Veituaðili tveggja-þrepa TOTP-vottunar", 9 | "Could not enable TOTP" : "Tókst ekki að virkja TOTP", 10 | "Could not verify your key. Please try again" : "Gat ekki sannreynt lykilinn þinn. Endilega reyndu aftur", 11 | "Enable TOTP" : "Virkja TOTP", 12 | "Your new TOTP secret is:" : "Nýi TOTP-leynilykillinn þinn:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "Til að setja upp í flýti, skannaðu þennan QR-kóða með TOTP-forritinu þínu:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Þegar þú hefur lokið uppsetningu forritsins, settu þá inn prufukóðann hér fyrir neðan til að tryggja að allt virki nú rétt:", 15 | "Authentication code" : "Auðkenningarkóði", 16 | "Verify" : "Sannprófa", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Náðu í auðkenningarkóða frá tveggja-þrepa auðkenningarforriti á tækinu þínu.", 18 | "Submit" : "Senda inn", 19 | "TOTP two-factor authentication disabled by an admin" : "TOTP tveggja-þátta auðkenning er gerð óvirk af kerfisstjóra", 20 | "TOTP two-factor provider" : "Veituaðili tveggja-þrepa TOTP-vottunar", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Veituaðili tveggja-þrepa vottunar fyrir TOTP (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); 24 | -------------------------------------------------------------------------------- /l10n/is.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Þú virkjaðir TOTP tveggja-þrepa auðkenningu fyrir aðganginn þinn", 3 | "You disabled TOTP two-factor authentication for your account" : "Þú gerðir TOTP tveggja-þrepa auðkenningu fyrir aðganginn þinn óvirka", 4 | "TOTP (Authenticator app)" : "TOTP (auðkenningarforrit)", 5 | "Authenticate with a TOTP app" : "Auðkenna með TOTP-forriti", 6 | "Two-Factor TOTP Provider" : "Veituaðili tveggja-þrepa TOTP-vottunar", 7 | "Could not enable TOTP" : "Tókst ekki að virkja TOTP", 8 | "Could not verify your key. Please try again" : "Gat ekki sannreynt lykilinn þinn. Endilega reyndu aftur", 9 | "Enable TOTP" : "Virkja TOTP", 10 | "Your new TOTP secret is:" : "Nýi TOTP-leynilykillinn þinn:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Til að setja upp í flýti, skannaðu þennan QR-kóða með TOTP-forritinu þínu:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Þegar þú hefur lokið uppsetningu forritsins, settu þá inn prufukóðann hér fyrir neðan til að tryggja að allt virki nú rétt:", 13 | "Authentication code" : "Auðkenningarkóði", 14 | "Verify" : "Sannprófa", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Náðu í auðkenningarkóða frá tveggja-þrepa auðkenningarforriti á tækinu þínu.", 16 | "Submit" : "Senda inn", 17 | "TOTP two-factor authentication disabled by an admin" : "TOTP tveggja-þátta auðkenning er gerð óvirk af kerfisstjóra", 18 | "TOTP two-factor provider" : "Veituaðili tveggja-þrepa TOTP-vottunar", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Veituaðili tveggja-þrepa vottunar fyrir TOTP (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" 21 | } -------------------------------------------------------------------------------- /l10n/ja.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "あなたのアカウントに対するTOTP 二要素認証を有効にしました。", 5 | "You disabled TOTP two-factor authentication for your account" : "あなたのアカウントに対するTOTP 二要素認証を無効化しました。", 6 | "TOTP two-factor authentication disabled by the administration" : "管理者によってTOTP二要素認証は無効にされています", 7 | "TOTP (Authenticator app)" : "TOTP (認証アプリ)", 8 | "Authenticate with a TOTP app" : "TOTPアプリで認証する", 9 | "Two-Factor TOTP Provider" : "TOTP 二要素認証プロバイダー", 10 | "Two-factor TOTP provider" : "TOTP 二要素認証プロバイダー", 11 | "A two-factor authentication provider for TOTP (RFC 6238)" : "TOTP(RFC 6238)の二要素認証プロバイダー", 12 | "Could not enable TOTP" : "TOTP を有効にできません", 13 | "Could not verify your key. Please try again" : "鍵を検証できませんでした。やり直してください。", 14 | "Enable TOTP" : "TOTP有効化", 15 | "Your new TOTP secret is:" : "新しいTOTP秘密鍵は次のとおりです:", 16 | "For quick setup, scan this QR code with your TOTP app:" : "クイックセットアップでは、このQRコードをTOTPアプリでスキャンしてください:", 17 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "アプリを設定したら、以下のテストコードを入力してすべてが正しく動作することを確認します。", 18 | "Authentication code" : "認証コード", 19 | "Verify" : "検証", 20 | "Get the authentication code from the two-factor authentication app on your device." : "デバイスの二要素認証アプリで認証コードを取得してください。", 21 | "Submit" : "送信", 22 | "TOTP two-factor authentication disabled by an admin" : "管理者によってTOTP二要素認証は無効にされています", 23 | "TOTP two-factor provider" : "TOTP 二要素認証プロバイダー", 24 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP(RFC 6238)の二要素認証プロバイダー" 25 | }, 26 | "nplurals=1; plural=0;"); 27 | -------------------------------------------------------------------------------- /l10n/ja.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "あなたのアカウントに対するTOTP 二要素認証を有効にしました。", 3 | "You disabled TOTP two-factor authentication for your account" : "あなたのアカウントに対するTOTP 二要素認証を無効化しました。", 4 | "TOTP two-factor authentication disabled by the administration" : "管理者によってTOTP二要素認証は無効にされています", 5 | "TOTP (Authenticator app)" : "TOTP (認証アプリ)", 6 | "Authenticate with a TOTP app" : "TOTPアプリで認証する", 7 | "Two-Factor TOTP Provider" : "TOTP 二要素認証プロバイダー", 8 | "Two-factor TOTP provider" : "TOTP 二要素認証プロバイダー", 9 | "A two-factor authentication provider for TOTP (RFC 6238)" : "TOTP(RFC 6238)の二要素認証プロバイダー", 10 | "Could not enable TOTP" : "TOTP を有効にできません", 11 | "Could not verify your key. Please try again" : "鍵を検証できませんでした。やり直してください。", 12 | "Enable TOTP" : "TOTP有効化", 13 | "Your new TOTP secret is:" : "新しいTOTP秘密鍵は次のとおりです:", 14 | "For quick setup, scan this QR code with your TOTP app:" : "クイックセットアップでは、このQRコードをTOTPアプリでスキャンしてください:", 15 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "アプリを設定したら、以下のテストコードを入力してすべてが正しく動作することを確認します。", 16 | "Authentication code" : "認証コード", 17 | "Verify" : "検証", 18 | "Get the authentication code from the two-factor authentication app on your device." : "デバイスの二要素認証アプリで認証コードを取得してください。", 19 | "Submit" : "送信", 20 | "TOTP two-factor authentication disabled by an admin" : "管理者によってTOTP二要素認証は無効にされています", 21 | "TOTP two-factor provider" : "TOTP 二要素認証プロバイダー", 22 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP(RFC 6238)の二要素認証プロバイダー" 23 | },"pluralForm" :"nplurals=1; plural=0;" 24 | } -------------------------------------------------------------------------------- /l10n/ka.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "You enabled TOTP two-factor authentication for your account", 5 | "You disabled TOTP two-factor authentication for your account" : "You disabled TOTP two-factor authentication for your account", 6 | "TOTP (Authenticator app)" : "TOTP (Authenticator app)", 7 | "Authenticate with a TOTP app" : "Authenticate with a TOTP app", 8 | "Two-Factor TOTP Provider" : "Two-Factor TOTP Provider", 9 | "Could not enable TOTP" : "Could not enable TOTP", 10 | "Could not verify your key. Please try again" : "Could not verify your key. Please try again", 11 | "Enable TOTP" : "Enable TOTP", 12 | "Your new TOTP secret is:" : "Your new TOTP secret is:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "For quick setup, scan this QR code with your TOTP app:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "After you configured your app, enter a test code below to ensure everything works correctly:", 15 | "Authentication code" : "Authentication code", 16 | "Verify" : "Verify", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Get the authentication code from the two-factor authentication app on your device.", 18 | "Submit" : "Submit", 19 | "TOTP two-factor authentication disabled by an admin" : "TOTP two-factor authentication disabled by an admin", 20 | "TOTP two-factor provider" : "TOTP two-factor provider", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "A Two-Factor-Auth Provider for TOTP (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n!=1);"); 24 | -------------------------------------------------------------------------------- /l10n/ka.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "You enabled TOTP two-factor authentication for your account", 3 | "You disabled TOTP two-factor authentication for your account" : "You disabled TOTP two-factor authentication for your account", 4 | "TOTP (Authenticator app)" : "TOTP (Authenticator app)", 5 | "Authenticate with a TOTP app" : "Authenticate with a TOTP app", 6 | "Two-Factor TOTP Provider" : "Two-Factor TOTP Provider", 7 | "Could not enable TOTP" : "Could not enable TOTP", 8 | "Could not verify your key. Please try again" : "Could not verify your key. Please try again", 9 | "Enable TOTP" : "Enable TOTP", 10 | "Your new TOTP secret is:" : "Your new TOTP secret is:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "For quick setup, scan this QR code with your TOTP app:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "After you configured your app, enter a test code below to ensure everything works correctly:", 13 | "Authentication code" : "Authentication code", 14 | "Verify" : "Verify", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Get the authentication code from the two-factor authentication app on your device.", 16 | "Submit" : "Submit", 17 | "TOTP two-factor authentication disabled by an admin" : "TOTP two-factor authentication disabled by an admin", 18 | "TOTP two-factor provider" : "TOTP two-factor provider", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "A Two-Factor-Auth Provider for TOTP (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n!=1);" 21 | } -------------------------------------------------------------------------------- /l10n/ka_GE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "თქვენს ანგარიშზე აამოქმედეთ TOTP ორ-ფაქტორიანი აუტენტიფიკაცია", 5 | "You disabled TOTP two-factor authentication for your account" : "თქვენს ანგარიშზე გათიშეთ TOTP ორ-ფაქტორიანი აუტენტიფიკაცია", 6 | "TOTP (Authenticator app)" : "TOTP (აუტენტიფიკაციის აპლიკაცია)", 7 | "Authenticate with a TOTP app" : "გაიარეთ აუტენტიფიკაცია თქვენს TOTP აპლიკაციასთან", 8 | "Could not enable TOTP" : "TOTP-ს ამოქმედება ვერ მოხერხდა", 9 | "Could not verify your key. Please try again" : "თქვენი გასაღები ვერ დამოწმდა. გთხოვთ სცადოთ ახლიდან", 10 | "Enable TOTP" : "აამოქმედეთ TOTP", 11 | "Authentication code" : "აუტენტიფიკაციის კოდი", 12 | "Verify" : "დამოწმება", 13 | "Get the authentication code from the two-factor authentication app on your device." : "აუტენტიფიკაციის კოდი მიიღეთ თქვენს მოწყობილობაზე არსებული ორ-ფაქტორიანი აუტენტიფიკაციის აპლიკაციისგან.", 14 | "Submit" : "გაგზავნა" 15 | }, 16 | "nplurals=2; plural=(n!=1);"); 17 | -------------------------------------------------------------------------------- /l10n/ka_GE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "თქვენს ანგარიშზე აამოქმედეთ TOTP ორ-ფაქტორიანი აუტენტიფიკაცია", 3 | "You disabled TOTP two-factor authentication for your account" : "თქვენს ანგარიშზე გათიშეთ TOTP ორ-ფაქტორიანი აუტენტიფიკაცია", 4 | "TOTP (Authenticator app)" : "TOTP (აუტენტიფიკაციის აპლიკაცია)", 5 | "Authenticate with a TOTP app" : "გაიარეთ აუტენტიფიკაცია თქვენს TOTP აპლიკაციასთან", 6 | "Could not enable TOTP" : "TOTP-ს ამოქმედება ვერ მოხერხდა", 7 | "Could not verify your key. Please try again" : "თქვენი გასაღები ვერ დამოწმდა. გთხოვთ სცადოთ ახლიდან", 8 | "Enable TOTP" : "აამოქმედეთ TOTP", 9 | "Authentication code" : "აუტენტიფიკაციის კოდი", 10 | "Verify" : "დამოწმება", 11 | "Get the authentication code from the two-factor authentication app on your device." : "აუტენტიფიკაციის კოდი მიიღეთ თქვენს მოწყობილობაზე არსებული ორ-ფაქტორიანი აუტენტიფიკაციის აპლიკაციისგან.", 12 | "Submit" : "გაგზავნა" 13 | },"pluralForm" :"nplurals=2; plural=(n!=1);" 14 | } -------------------------------------------------------------------------------- /l10n/ko.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "내 계정의 TOTP 2단계 인증을 활성화함", 5 | "You disabled TOTP two-factor authentication for your account" : "내 계정의 TOTP 2단계 인증을 비활성화함", 6 | "TOTP two-factor authentication disabled by the administration" : "TOTP 2단계 인증이 관리자에 의해 비활성화됨", 7 | "TOTP (Authenticator app)" : "TOTP(인증기 앱)", 8 | "Authenticate with a TOTP app" : "TOTP 앱으로 인증", 9 | "Two-Factor TOTP Provider" : "2단계 인증 TOTP 공급자", 10 | "Two-factor TOTP provider" : "2단계 인증 TOTP 공급자", 11 | "A two-factor authentication provider for TOTP (RFC 6238)" : "TOTP 2단계 인증 공급자 (RFC 6238)", 12 | "Could not enable TOTP" : "TOTP를 활성화할 수 없음", 13 | "Could not verify your key. Please try again" : "내 키를 확인할 수 없습니다. 다시 시도하십시오", 14 | "Enable TOTP" : "TOTP 활성화", 15 | "Your new TOTP secret is:" : "새로운 TOTP 비밀 키:", 16 | "For quick setup, scan this QR code with your TOTP app:" : "빠르게 설정하려면 다음 QR 코드를 TOTP 앱으로 스캔하세요:", 17 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "앱을 설정한 후 아래에 테스트 코드를 입력하여 앱 설정이 올바른지 확인하세요:", 18 | "Authentication code" : "인증 코드", 19 | "Verify" : "인증", 20 | "Get the authentication code from the two-factor authentication app on your device." : "내 장치에 있는 2단계 인증 앱에서 인증 코드를 확인하십시오.", 21 | "Submit" : "제출", 22 | "TOTP two-factor authentication disabled by an admin" : "관리자가 TOTP 2단계 인증을 비활성화함", 23 | "TOTP two-factor provider" : "TOTP 2단계 인증 공급자", 24 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP 2단계 인증 공급자(RFC 6238)" 25 | }, 26 | "nplurals=1; plural=0;"); 27 | -------------------------------------------------------------------------------- /l10n/ko.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "내 계정의 TOTP 2단계 인증을 활성화함", 3 | "You disabled TOTP two-factor authentication for your account" : "내 계정의 TOTP 2단계 인증을 비활성화함", 4 | "TOTP two-factor authentication disabled by the administration" : "TOTP 2단계 인증이 관리자에 의해 비활성화됨", 5 | "TOTP (Authenticator app)" : "TOTP(인증기 앱)", 6 | "Authenticate with a TOTP app" : "TOTP 앱으로 인증", 7 | "Two-Factor TOTP Provider" : "2단계 인증 TOTP 공급자", 8 | "Two-factor TOTP provider" : "2단계 인증 TOTP 공급자", 9 | "A two-factor authentication provider for TOTP (RFC 6238)" : "TOTP 2단계 인증 공급자 (RFC 6238)", 10 | "Could not enable TOTP" : "TOTP를 활성화할 수 없음", 11 | "Could not verify your key. Please try again" : "내 키를 확인할 수 없습니다. 다시 시도하십시오", 12 | "Enable TOTP" : "TOTP 활성화", 13 | "Your new TOTP secret is:" : "새로운 TOTP 비밀 키:", 14 | "For quick setup, scan this QR code with your TOTP app:" : "빠르게 설정하려면 다음 QR 코드를 TOTP 앱으로 스캔하세요:", 15 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "앱을 설정한 후 아래에 테스트 코드를 입력하여 앱 설정이 올바른지 확인하세요:", 16 | "Authentication code" : "인증 코드", 17 | "Verify" : "인증", 18 | "Get the authentication code from the two-factor authentication app on your device." : "내 장치에 있는 2단계 인증 앱에서 인증 코드를 확인하십시오.", 19 | "Submit" : "제출", 20 | "TOTP two-factor authentication disabled by an admin" : "관리자가 TOTP 2단계 인증을 비활성화함", 21 | "TOTP two-factor provider" : "TOTP 2단계 인증 공급자", 22 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP 2단계 인증 공급자(RFC 6238)" 23 | },"pluralForm" :"nplurals=1; plural=0;" 24 | } -------------------------------------------------------------------------------- /l10n/lt_LT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "TOTP (Authenticator app)" : "TOTP (Tapatybės nustatymo programėlė)", 5 | "Could not enable TOTP" : "Nepavyko įjungti TOTP", 6 | "Enable TOTP" : "Įjungti TOTP", 7 | "Your new TOTP secret is:" : "Jūsų nauja TOTP paslaptis yra:", 8 | "For quick setup, scan this QR code with your TOTP app:" : "Greitai sąrankai, nuskenuokite šį QR kodą naudodami savo TOTP programėlę:", 9 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Sukonfigūravę savo programėlę, žemiau įveskite bandomąjį kodą, kad būtų užtikrinta, jog viskas veikia tinkamai:", 10 | "Authentication code" : "Tapatybės nustatymo kodas", 11 | "Verify" : "Patikrinti", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Gaukite tapatybės nustatymo kodą iš dviejų faktorių tapatybės nustatymo programėlės savo įrenginyje.", 13 | "Submit" : "Pateikti" 14 | }, 15 | "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);"); 16 | -------------------------------------------------------------------------------- /l10n/lt_LT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "TOTP (Authenticator app)" : "TOTP (Tapatybės nustatymo programėlė)", 3 | "Could not enable TOTP" : "Nepavyko įjungti TOTP", 4 | "Enable TOTP" : "Įjungti TOTP", 5 | "Your new TOTP secret is:" : "Jūsų nauja TOTP paslaptis yra:", 6 | "For quick setup, scan this QR code with your TOTP app:" : "Greitai sąrankai, nuskenuokite šį QR kodą naudodami savo TOTP programėlę:", 7 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Sukonfigūravę savo programėlę, žemiau įveskite bandomąjį kodą, kad būtų užtikrinta, jog viskas veikia tinkamai:", 8 | "Authentication code" : "Tapatybės nustatymo kodas", 9 | "Verify" : "Patikrinti", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Gaukite tapatybės nustatymo kodą iš dviejų faktorių tapatybės nustatymo programėlės savo įrenginyje.", 11 | "Submit" : "Pateikti" 12 | },"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);" 13 | } -------------------------------------------------------------------------------- /l10n/lv.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Tu iespējoji TOTP divpakāpju autentifikāciju savam kontam", 5 | "You disabled TOTP two-factor authentication for your account" : "Tu atspējoji TOTP divpakāpju autentifikāciju savam kontam", 6 | "TOTP (Authenticator app)" : "TOTP (autentificētājlietotne)", 7 | "Authenticate with a TOTP app" : "Autentificēties ar TOTP lietotni", 8 | "Could not verify your key. Please try again" : "Nevarēja verificēt tavu atslēgu. Mēģini vēlreiz.", 9 | "Enable TOTP" : "Iespējot TOTP", 10 | "Authentication code" : "Autentificēšanās kods", 11 | "Verify" : "Verificēt", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Autentificēšanas kods ir iegūstams divpakāpju autentificēšanas lietotnē Tavā ierīcē.", 13 | "Submit" : "Iesniegt" 14 | }, 15 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); 16 | -------------------------------------------------------------------------------- /l10n/lv.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Tu iespējoji TOTP divpakāpju autentifikāciju savam kontam", 3 | "You disabled TOTP two-factor authentication for your account" : "Tu atspējoji TOTP divpakāpju autentifikāciju savam kontam", 4 | "TOTP (Authenticator app)" : "TOTP (autentificētājlietotne)", 5 | "Authenticate with a TOTP app" : "Autentificēties ar TOTP lietotni", 6 | "Could not verify your key. Please try again" : "Nevarēja verificēt tavu atslēgu. Mēģini vēlreiz.", 7 | "Enable TOTP" : "Iespējot TOTP", 8 | "Authentication code" : "Autentificēšanās kods", 9 | "Verify" : "Verificēt", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Autentificēšanas kods ir iegūstams divpakāpju autentificēšanas lietotnē Tavā ierīcē.", 11 | "Submit" : "Iesniegt" 12 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" 13 | } -------------------------------------------------------------------------------- /l10n/mk.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "Authentication code" : "Код за автентификација", 5 | "Verify" : "Потврди", 6 | "Submit" : "Испрати" 7 | }, 8 | "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); 9 | -------------------------------------------------------------------------------- /l10n/mk.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Authentication code" : "Код за автентификација", 3 | "Verify" : "Потврди", 4 | "Submit" : "Испрати" 5 | },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" 6 | } -------------------------------------------------------------------------------- /l10n/mn.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Та TOTP-ийн хоёр хүчин зүйлийн баталгаажуулалтыг өөрийн акаунтад идэвхжүүлсэн байна", 5 | "You disabled TOTP two-factor authentication for your account" : "Та TOTP-ийн хоёр хүчин зүйлийн таних тэмдгийг идэвхгүй болгосон", 6 | "TOTP (Authenticator app)" : "TOTP(баталгаатай апп)", 7 | "Authenticate with a TOTP app" : "TOTP апп-аар баталгаажуулна уу", 8 | "Could not verify your key. Please try again" : "Таны түлхүүрийг баталгаажуулж чадсангүй. Дахин оролдоно уу", 9 | "Enable TOTP" : "TOTP эрх олгох", 10 | "Authentication code" : "баталгаажуулсан код", 11 | "Verify" : "Шалнгах", 12 | "Get the authentication code from the two-factor authentication app on your device." : "Таны төхөөрөмж дээрх хоёр хүчин зүйл нь таних апп-аас баталгаажуулах кодыг аваарай.", 13 | "Submit" : "мэдэгдэх" 14 | }, 15 | "nplurals=2; plural=(n != 1);"); 16 | -------------------------------------------------------------------------------- /l10n/mn.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Та TOTP-ийн хоёр хүчин зүйлийн баталгаажуулалтыг өөрийн акаунтад идэвхжүүлсэн байна", 3 | "You disabled TOTP two-factor authentication for your account" : "Та TOTP-ийн хоёр хүчин зүйлийн таних тэмдгийг идэвхгүй болгосон", 4 | "TOTP (Authenticator app)" : "TOTP(баталгаатай апп)", 5 | "Authenticate with a TOTP app" : "TOTP апп-аар баталгаажуулна уу", 6 | "Could not verify your key. Please try again" : "Таны түлхүүрийг баталгаажуулж чадсангүй. Дахин оролдоно уу", 7 | "Enable TOTP" : "TOTP эрх олгох", 8 | "Authentication code" : "баталгаажуулсан код", 9 | "Verify" : "Шалнгах", 10 | "Get the authentication code from the two-factor authentication app on your device." : "Таны төхөөрөмж дээрх хоёр хүчин зүйл нь таних апп-аас баталгаажуулах кодыг аваарай.", 11 | "Submit" : "мэдэгдэх" 12 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 13 | } -------------------------------------------------------------------------------- /l10n/nb.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Du har aktivert to-trinns bekreftelse for din konto", 5 | "You disabled TOTP two-factor authentication for your account" : "Du har deaktivert to-trinns bekreftelse for din konto", 6 | "TOTP (Authenticator app)" : "To-trinns bekreftelse (TOTP)", 7 | "Authenticate with a TOTP app" : "Autentiser med en TOTP-app", 8 | "Two-Factor TOTP Provider" : "To-trinn tilbyder", 9 | "Could not enable TOTP" : "Kunne ikke aktivere to-trinn autentisering", 10 | "Could not verify your key. Please try again" : "Kunne ikke bekrefte din nøkkel. Prøv igjen", 11 | "Enable TOTP" : "Aktiver to-trinn autentisering", 12 | "Your new TOTP secret is:" : "Ny to-trinn hemmelig nøkkel er:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "For raskt oppsett, skann QR koden med din autentiseringsapp:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Etter app er satt opp, må du oppgi en kode for å verifisere at alt fungerer korrekt:", 15 | "Authentication code" : "Autentiseringskode", 16 | "Verify" : "Verifiser", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Få autentiseringskoden fra to-trinns-appen på din enhet. ", 18 | "Submit" : "Send inn", 19 | "TOTP two-factor authentication disabled by an admin" : "To-trinn autentisering er deaktivert av administrator", 20 | "TOTP two-factor provider" : "To-trinn tilbyder", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "En to-trinn tilbyder (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/nb.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Du har aktivert to-trinns bekreftelse for din konto", 3 | "You disabled TOTP two-factor authentication for your account" : "Du har deaktivert to-trinns bekreftelse for din konto", 4 | "TOTP (Authenticator app)" : "To-trinns bekreftelse (TOTP)", 5 | "Authenticate with a TOTP app" : "Autentiser med en TOTP-app", 6 | "Two-Factor TOTP Provider" : "To-trinn tilbyder", 7 | "Could not enable TOTP" : "Kunne ikke aktivere to-trinn autentisering", 8 | "Could not verify your key. Please try again" : "Kunne ikke bekrefte din nøkkel. Prøv igjen", 9 | "Enable TOTP" : "Aktiver to-trinn autentisering", 10 | "Your new TOTP secret is:" : "Ny to-trinn hemmelig nøkkel er:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "For raskt oppsett, skann QR koden med din autentiseringsapp:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Etter app er satt opp, må du oppgi en kode for å verifisere at alt fungerer korrekt:", 13 | "Authentication code" : "Autentiseringskode", 14 | "Verify" : "Verifiser", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Få autentiseringskoden fra to-trinns-appen på din enhet. ", 16 | "Submit" : "Send inn", 17 | "TOTP two-factor authentication disabled by an admin" : "To-trinn autentisering er deaktivert av administrator", 18 | "TOTP two-factor provider" : "To-trinn tilbyder", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "En to-trinn tilbyder (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/nl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Je hebt TOTP twee-factor authenticatie voor je account ingeschakeld", 5 | "You disabled TOTP two-factor authentication for your account" : "Je hebt TOTP twee-factor authenticatie voor je account uitgeschakeld", 6 | "TOTP (Authenticator app)" : "TOTP (Authenticator app)", 7 | "Authenticate with a TOTP app" : "Authenticeren met een TOTP app", 8 | "Two-Factor TOTP Provider" : "Twee-Factor TOTP Provider", 9 | "Could not enable TOTP" : "Kon TOTP niet inschakelen", 10 | "Could not verify your key. Please try again" : "Kon je sleutel niet verifiëren. Probeer het opnieuw", 11 | "Enable TOTP" : "Inschakelen TOTP", 12 | "Your new TOTP secret is:" : "Je nieuwe TOTP geheim is:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "Voor een snelle instelling scan je deze QR code met je TOTP app:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Na het instellen van je app moet je een testcode invoeren om er zeker van te zijn dat alles goed werkt:", 15 | "Authentication code" : "Authenticatie code", 16 | "Verify" : "Verifiëren", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Krijg de authenticatiecode op je 'tweede factor' authenticatie app op je toestel.", 18 | "Submit" : "Versturen", 19 | "TOTP two-factor authentication disabled by an admin" : "TOTP tweefactor authenticatie is uitgeschakeld door een beheerder", 20 | "TOTP two-factor provider" : "TOTP two-factor provider", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Een Two-Factor-Auth Provider voor TOTP (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/nl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Je hebt TOTP twee-factor authenticatie voor je account ingeschakeld", 3 | "You disabled TOTP two-factor authentication for your account" : "Je hebt TOTP twee-factor authenticatie voor je account uitgeschakeld", 4 | "TOTP (Authenticator app)" : "TOTP (Authenticator app)", 5 | "Authenticate with a TOTP app" : "Authenticeren met een TOTP app", 6 | "Two-Factor TOTP Provider" : "Twee-Factor TOTP Provider", 7 | "Could not enable TOTP" : "Kon TOTP niet inschakelen", 8 | "Could not verify your key. Please try again" : "Kon je sleutel niet verifiëren. Probeer het opnieuw", 9 | "Enable TOTP" : "Inschakelen TOTP", 10 | "Your new TOTP secret is:" : "Je nieuwe TOTP geheim is:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Voor een snelle instelling scan je deze QR code met je TOTP app:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Na het instellen van je app moet je een testcode invoeren om er zeker van te zijn dat alles goed werkt:", 13 | "Authentication code" : "Authenticatie code", 14 | "Verify" : "Verifiëren", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Krijg de authenticatiecode op je 'tweede factor' authenticatie app op je toestel.", 16 | "Submit" : "Versturen", 17 | "TOTP two-factor authentication disabled by an admin" : "TOTP tweefactor authenticatie is uitgeschakeld door een beheerder", 18 | "TOTP two-factor provider" : "TOTP two-factor provider", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Een Two-Factor-Auth Provider voor TOTP (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/nn_NO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "Authenticate with a TOTP app" : "Autentiser med to-faktor program", 5 | "Enable TOTP" : "Aktivere to-faktor pålogging", 6 | "Authentication code" : "Autentifikasjons kode", 7 | "Verify" : "Stadfest" 8 | }, 9 | "nplurals=2; plural=(n != 1);"); 10 | -------------------------------------------------------------------------------- /l10n/nn_NO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Authenticate with a TOTP app" : "Autentiser med to-faktor program", 3 | "Enable TOTP" : "Aktivere to-faktor pålogging", 4 | "Authentication code" : "Autentifikasjons kode", 5 | "Verify" : "Stadfest" 6 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 7 | } -------------------------------------------------------------------------------- /l10n/oc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "Enable TOTP" : "Activar TOTP", 5 | "Authentication code" : "Còdi d’autentificacion", 6 | "Verify" : "Verificar", 7 | "Submit" : "Transmetre" 8 | }, 9 | "nplurals=2; plural=(n > 1);"); 10 | -------------------------------------------------------------------------------- /l10n/oc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Enable TOTP" : "Activar TOTP", 3 | "Authentication code" : "Còdi d’autentificacion", 4 | "Verify" : "Verificar", 5 | "Submit" : "Transmetre" 6 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 7 | } -------------------------------------------------------------------------------- /l10n/pt_PT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "Authenticate with a TOTP app" : "Autenticação com uma app TOTP", 5 | "Enable TOTP" : "Ativar TOTP", 6 | "Authentication code" : "Código de autenticação", 7 | "Verify" : "Verificar", 8 | "Get the authentication code from the two-factor authentication app on your device." : "Obtenha o código de autenticação de dois fatores da sua aplicação de autenticação, no seu dispositivo.", 9 | "Submit" : "Submeter" 10 | }, 11 | "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 12 | -------------------------------------------------------------------------------- /l10n/pt_PT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Authenticate with a TOTP app" : "Autenticação com uma app TOTP", 3 | "Enable TOTP" : "Ativar TOTP", 4 | "Authentication code" : "Código de autenticação", 5 | "Verify" : "Verificar", 6 | "Get the authentication code from the two-factor authentication app on your device." : "Obtenha o código de autenticação de dois fatores da sua aplicação de autenticação, no seu dispositivo.", 7 | "Submit" : "Submeter" 8 | },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 9 | } -------------------------------------------------------------------------------- /l10n/ro.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Ai activat autentificarea în doi pași TOTP pentru contul tău", 5 | "You disabled TOTP two-factor authentication for your account" : "Ai dezactivat autentificarea în doi pași TOTP pentru contul tău", 6 | "TOTP (Authenticator app)" : "TOTP (Authenticator app)", 7 | "Authenticate with a TOTP app" : "Autentifică-te cu o aplicație TOTP", 8 | "Two-Factor TOTP Provider" : "Furnizorul de autentificare în doi pași TOTP", 9 | "Could not enable TOTP" : "Nu s-a putut activa autentificarea TOTP", 10 | "Could not verify your key. Please try again" : "Nu s-a putut verifica cheia. Vă rugăm să încercați din nou", 11 | "Enable TOTP" : "Activează TOTP", 12 | "Your new TOTP secret is:" : "Noul dumneavoastră secret TOTP este:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "Pentru a seta rapid, scanați acest cod QR cu aplicația dumneavoastră TOTP:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "După ce a-ți configurat aplicația, introuceți un cod de test mai jos pentru a ne asigura că totul funcționează corect:", 15 | "Authentication code" : "Cod autentificare", 16 | "Verify" : "Verifică", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Obțineți codul de autentificare din aplicația de autentificare two-factor de pe dispozitiv.", 18 | "Submit" : "Trimite", 19 | "TOTP two-factor authentication disabled by an admin" : "TOTO autentificarea în doi pași a fost dezacticată de admin", 20 | "TOTP two-factor provider" : "Furnizorul de autentificare în doi pași TOTP", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Un furnizor de autentificare în doi pași TOTP (RFC6238)" 22 | }, 23 | "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); 24 | -------------------------------------------------------------------------------- /l10n/ro.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Ai activat autentificarea în doi pași TOTP pentru contul tău", 3 | "You disabled TOTP two-factor authentication for your account" : "Ai dezactivat autentificarea în doi pași TOTP pentru contul tău", 4 | "TOTP (Authenticator app)" : "TOTP (Authenticator app)", 5 | "Authenticate with a TOTP app" : "Autentifică-te cu o aplicație TOTP", 6 | "Two-Factor TOTP Provider" : "Furnizorul de autentificare în doi pași TOTP", 7 | "Could not enable TOTP" : "Nu s-a putut activa autentificarea TOTP", 8 | "Could not verify your key. Please try again" : "Nu s-a putut verifica cheia. Vă rugăm să încercați din nou", 9 | "Enable TOTP" : "Activează TOTP", 10 | "Your new TOTP secret is:" : "Noul dumneavoastră secret TOTP este:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Pentru a seta rapid, scanați acest cod QR cu aplicația dumneavoastră TOTP:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "După ce a-ți configurat aplicația, introuceți un cod de test mai jos pentru a ne asigura că totul funcționează corect:", 13 | "Authentication code" : "Cod autentificare", 14 | "Verify" : "Verifică", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Obțineți codul de autentificare din aplicația de autentificare two-factor de pe dispozitiv.", 16 | "Submit" : "Trimite", 17 | "TOTP two-factor authentication disabled by an admin" : "TOTO autentificarea în doi pași a fost dezacticată de admin", 18 | "TOTP two-factor provider" : "Furnizorul de autentificare în doi pași TOTP", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Un furnizor de autentificare în doi pași TOTP (RFC6238)" 20 | },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" 21 | } -------------------------------------------------------------------------------- /l10n/ru.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Вы включили двухфакторную аутентификацию с использованием TOTP", 5 | "You disabled TOTP two-factor authentication for your account" : "Вы отключили двухфакторную аутентификацию TOTP", 6 | "TOTP (Authenticator app)" : "TOTP (Приложение аутентификации)", 7 | "Authenticate with a TOTP app" : "Аутентифицируйтесь с помощью TOTP приложения", 8 | "Two-Factor TOTP Provider" : "Второй фактор — коды TOTP", 9 | "Could not enable TOTP" : "Не удалось включить TOTP", 10 | "Could not verify your key. Please try again" : "Не удаётся проверить ваш ключ. Попробуйте ещё раз.", 11 | "Enable TOTP" : "Включить TOTP", 12 | "Your new TOTP secret is:" : "Новый секрет TOTP:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "Для быстрой настройки, отсканируйте QR-код с помощью приложения TOTP:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "После настройки приложения введите проверочный код в поле ниже:", 15 | "Authentication code" : "Код аутентификации", 16 | "Verify" : "Подтвердить", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Введите одноразовый код из приложения двухфакторной аутентификации.", 18 | "Submit" : "Отправить", 19 | "TOTP two-factor authentication disabled by an admin" : "Двухфакторная аутентификация TOTP была отключена администратором", 20 | "TOTP two-factor provider" : "Провайдер двухфакторной аутентификации TOTP", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Провайдер двухфакторной аутентификации для TOTP (RFC 6238)" 22 | }, 23 | "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);"); 24 | -------------------------------------------------------------------------------- /l10n/ru.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Вы включили двухфакторную аутентификацию с использованием TOTP", 3 | "You disabled TOTP two-factor authentication for your account" : "Вы отключили двухфакторную аутентификацию TOTP", 4 | "TOTP (Authenticator app)" : "TOTP (Приложение аутентификации)", 5 | "Authenticate with a TOTP app" : "Аутентифицируйтесь с помощью TOTP приложения", 6 | "Two-Factor TOTP Provider" : "Второй фактор — коды TOTP", 7 | "Could not enable TOTP" : "Не удалось включить TOTP", 8 | "Could not verify your key. Please try again" : "Не удаётся проверить ваш ключ. Попробуйте ещё раз.", 9 | "Enable TOTP" : "Включить TOTP", 10 | "Your new TOTP secret is:" : "Новый секрет TOTP:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Для быстрой настройки, отсканируйте QR-код с помощью приложения TOTP:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "После настройки приложения введите проверочный код в поле ниже:", 13 | "Authentication code" : "Код аутентификации", 14 | "Verify" : "Подтвердить", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Введите одноразовый код из приложения двухфакторной аутентификации.", 16 | "Submit" : "Отправить", 17 | "TOTP two-factor authentication disabled by an admin" : "Двухфакторная аутентификация TOTP была отключена администратором", 18 | "TOTP two-factor provider" : "Провайдер двухфакторной аутентификации TOTP", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Провайдер двухфакторной аутентификации для TOTP (RFC 6238)" 20 | },"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);" 21 | } -------------------------------------------------------------------------------- /l10n/sc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "As ativadu s'autenticatzione a duos fatores TOTP pro su contu tuo", 5 | "You disabled TOTP two-factor authentication for your account" : "As disativadu s'autenticatzione a duos fatores TOTP pro su contu tuo", 6 | "TOTP (Authenticator app)" : "TOTP (Aplicatzione autenticatzione)", 7 | "Authenticate with a TOTP app" : "Autentica·ti cun un'aplicatzione TOTP", 8 | "Two-Factor TOTP Provider" : "Frunidore TOTP a duos fatores", 9 | "Could not enable TOTP" : "No at fatu a ativare TOTP", 10 | "Could not verify your key. Please try again" : "No at fatu a verificare sa crae tua. Torra a proare", 11 | "Enable TOTP" : "Ativa TOTP", 12 | "Your new TOTP secret is:" : "Su segretu TOTP nou est:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "Pro una cunfiguratzione lestra, iscansiona custu còdighe QR cun s'aplicatzione TOTP tua:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "A pustis de sa cunfiguratzione de s'aplicatzione, inserta unu còdighe de proa in fatu pro t'assegurare chi totu est funtzionende:", 15 | "Authentication code" : "Còdighe de autenticatzione", 16 | "Verify" : "Verìfica", 17 | "Get the authentication code from the two-factor authentication app on your device." : "Otene su còdighe de autenticatzione dae s'aplicatzione de autenticatzione a duos fatores in su dispositivu tuo.", 18 | "Submit" : "Imbia", 19 | "TOTP two-factor authentication disabled by an admin" : "Autenticatzione a duos fatores TOTP disativada dae s'amministratzione", 20 | "TOTP two-factor provider" : "Frunidore a duos fatores pro TOTP", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Unu frunidore de autenticatzione a duos fatores pro TOTP (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/sc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "As ativadu s'autenticatzione a duos fatores TOTP pro su contu tuo", 3 | "You disabled TOTP two-factor authentication for your account" : "As disativadu s'autenticatzione a duos fatores TOTP pro su contu tuo", 4 | "TOTP (Authenticator app)" : "TOTP (Aplicatzione autenticatzione)", 5 | "Authenticate with a TOTP app" : "Autentica·ti cun un'aplicatzione TOTP", 6 | "Two-Factor TOTP Provider" : "Frunidore TOTP a duos fatores", 7 | "Could not enable TOTP" : "No at fatu a ativare TOTP", 8 | "Could not verify your key. Please try again" : "No at fatu a verificare sa crae tua. Torra a proare", 9 | "Enable TOTP" : "Ativa TOTP", 10 | "Your new TOTP secret is:" : "Su segretu TOTP nou est:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Pro una cunfiguratzione lestra, iscansiona custu còdighe QR cun s'aplicatzione TOTP tua:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "A pustis de sa cunfiguratzione de s'aplicatzione, inserta unu còdighe de proa in fatu pro t'assegurare chi totu est funtzionende:", 13 | "Authentication code" : "Còdighe de autenticatzione", 14 | "Verify" : "Verìfica", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Otene su còdighe de autenticatzione dae s'aplicatzione de autenticatzione a duos fatores in su dispositivu tuo.", 16 | "Submit" : "Imbia", 17 | "TOTP two-factor authentication disabled by an admin" : "Autenticatzione a duos fatores TOTP disativada dae s'amministratzione", 18 | "TOTP two-factor provider" : "Frunidore a duos fatores pro TOTP", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Unu frunidore de autenticatzione a duos fatores pro TOTP (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/sl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Za račun ste omogočili dvostopenjsko overitev s časovno omejenim enkratnim geslom TOTP", 3 | "You disabled TOTP two-factor authentication for your account" : "Za račun ste onemogočili dvostopenjsko overitev s časovno omejenim enkratnim geslom TOTP", 4 | "TOTP (Authenticator app)" : "TOTP (overjevalni program)", 5 | "Authenticate with a TOTP app" : "Overi s programom TOTP", 6 | "Two-Factor TOTP Provider" : "Ponudnik dvostopenjske overitve TOTP", 7 | "Could not enable TOTP" : "Ni mogoče uporabiti časovno omejenega enkratnega gesla TOTP", 8 | "Could not verify your key. Please try again" : "Ključa ni mogoče overiti. Poskusite znova.", 9 | "Enable TOTP" : "Omogoči enkratno geslo", 10 | "Your new TOTP secret is:" : "Novo enkratno geslo TOTP:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "Hitro nastavljanje je mogoče s kodo QR znotraj programa za enkratna gesla:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "Po nastavljanju programa vpišite preizkusno kodo v spodnje polje, da preverite pravilno delovanje: ", 13 | "Authentication code" : "Overitvena koda", 14 | "Verify" : "Overi", 15 | "Get the authentication code from the two-factor authentication app on your device." : "Pridobi kodo za overitev s programom za dvostopenjsko overjanje na napravi.", 16 | "Submit" : "Pošlji", 17 | "TOTP two-factor authentication disabled by an admin" : "Dvostopenjska overitev s časovno omejenim geslom TOTP je skrbniško omejena", 18 | "TOTP two-factor provider" : "Ponudnik dvostopenjske overitve TOTP", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "Ponudnik dvostopenjske overitve s časovno omejenim geslom TOTP (RFC 6238)" 20 | },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" 21 | } -------------------------------------------------------------------------------- /l10n/sq.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Ju aktivizuat vërtetimin TOTP të dyfishtë për llogarinë tuaj", 5 | "You disabled TOTP two-factor authentication for your account" : "Keni çaktivizuar vertëtimin me dy faktorë TOTP për llogarinë tënde", 6 | "TOTP (Authenticator app)" : "TOTP (Aplikacion autentifikues)", 7 | "Authenticate with a TOTP app" : "Mirëfilltësimin kryejeni me një aplikacion TOTP", 8 | "Could not enable TOTP" : "Nuk mund të aktivizohej TOTP", 9 | "Could not verify your key. Please try again" : "Çelësi juaj s'mund të verifikohej. Ju lutem provoni përsëri", 10 | "Enable TOTP" : "Aktivizo TOTP", 11 | "Authentication code" : "Kod mirëfilltësimi", 12 | "Verify" : "Verifiko", 13 | "Get the authentication code from the two-factor authentication app on your device." : "Merreni kodin e mirëfilltësimit pre aplikacionit të mirëfilltësimit dyfaktorësh te pajisja juaj.", 14 | "Submit" : "Dërgo" 15 | }, 16 | "nplurals=2; plural=(n != 1);"); 17 | -------------------------------------------------------------------------------- /l10n/sq.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Ju aktivizuat vërtetimin TOTP të dyfishtë për llogarinë tuaj", 3 | "You disabled TOTP two-factor authentication for your account" : "Keni çaktivizuar vertëtimin me dy faktorë TOTP për llogarinë tënde", 4 | "TOTP (Authenticator app)" : "TOTP (Aplikacion autentifikues)", 5 | "Authenticate with a TOTP app" : "Mirëfilltësimin kryejeni me një aplikacion TOTP", 6 | "Could not enable TOTP" : "Nuk mund të aktivizohej TOTP", 7 | "Could not verify your key. Please try again" : "Çelësi juaj s'mund të verifikohej. Ju lutem provoni përsëri", 8 | "Enable TOTP" : "Aktivizo TOTP", 9 | "Authentication code" : "Kod mirëfilltësimi", 10 | "Verify" : "Verifiko", 11 | "Get the authentication code from the two-factor authentication app on your device." : "Merreni kodin e mirëfilltësimit pre aplikacionit të mirëfilltësimit dyfaktorësh te pajisja juaj.", 12 | "Submit" : "Dërgo" 13 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 14 | } -------------------------------------------------------------------------------- /l10n/th.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "Authenticate with a TOTP app" : "ตรวจสอบสิทธิ์ด้วยแอป TOTP", 5 | "Enable TOTP" : "เปิดใช้งาน TOTP", 6 | "Verify" : "ยืนยัน", 7 | "Submit" : "ส่ง" 8 | }, 9 | "nplurals=1; plural=0;"); 10 | -------------------------------------------------------------------------------- /l10n/th.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Authenticate with a TOTP app" : "ตรวจสอบสิทธิ์ด้วยแอป TOTP", 3 | "Enable TOTP" : "เปิดใช้งาน TOTP", 4 | "Verify" : "ยืนยัน", 5 | "Submit" : "ส่ง" 6 | },"pluralForm" :"nplurals=1; plural=0;" 7 | } -------------------------------------------------------------------------------- /l10n/th_TH.php: -------------------------------------------------------------------------------- 1 | "เปิดใช้งาน TOTP", 4 | "This is your new TOTP secret:" => "นี่คือข้อความลับ TOTP ใหม่ของคุณ:", 5 | "Scan this QR code with your TOTP app" => "สแกน QR โค้ดนี้กับแอพฯ TOTP ของคุณ", 6 | "Authenticate with a TOTP app" => "ตรวจสอบสิทธิ์ด้วยแอพฯ TOTP", 7 | "TOTP Second-factor Auth" => "TOTP รับรองความถูกต้องขั้นตอนที่สอง" 8 | ); 9 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 10 | -------------------------------------------------------------------------------- /l10n/ug.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "ھېساباتىڭىز ئۈچۈن TOTP ئىككى ئامىللىق دەلىللەشنى قوزغىتىڭ", 5 | "You disabled TOTP two-factor authentication for your account" : "ھېساباتىڭىز ئۈچۈن TOTP ئىككى ئامىللىق دەلىللەشنى چەكلىدىڭىز", 6 | "TOTP (Authenticator app)" : "TOTP (دەلىللەش دېتالى)", 7 | "Authenticate with a TOTP app" : "TOTP دېتالى ئارقىلىق دەلىللەڭ", 8 | "Two-Factor TOTP Provider" : "ئىككى ئامىللىق TOTP تەمىنلىگۈچى", 9 | "Could not enable TOTP" : "TOTP نى قوزغىتالمىدى", 10 | "Could not verify your key. Please try again" : "ئاچقۇچىڭىزنى دەلىللىيەلمىدى. قايتا سىناڭ", 11 | "Enable TOTP" : "TOTP نى قوزغىتىڭ", 12 | "Your new TOTP secret is:" : "يېڭى TOTP مەخپىيىتىڭىز:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "تېز تەڭشەش ئۈچۈن ، بۇ QR كودىنى TOTP ئەپىڭىز بىلەن سايىلەڭ:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "ئەپىڭىزنى تەڭشىگەندىن كېيىن ، تۆۋەندىكى سىناق كودىنى كىرگۈزۈپ ، ھەممە ئىشنىڭ نورمال ئىشلىشىگە كاپالەتلىك قىلىڭ:", 15 | "Authentication code" : "دەلىللەش كودى", 16 | "Verify" : "دەلىللەڭ", 17 | "Get the authentication code from the two-factor authentication app on your device." : "ئۈسكۈنىڭىزدىكى ئىككى ئامىللىق دەلىللەش دېتالىدىن دەلىللەش كودىغا ئېرىشىڭ.", 18 | "Submit" : "يوللاڭ", 19 | "TOTP two-factor authentication disabled by an admin" : "باشقۇرغۇچى تەرىپىدىن TOTP ئىككى ئامىللىق دەلىللەش چەكلەنگەن", 20 | "TOTP two-factor provider" : "TOTP ئىككى ئامىل تەمىنلىگۈچى", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP ئۈچۈن ئىككى ئامىللىق ئاپتور تەمىنلىگۈچى (RFC 6238)" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/ug.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "ھېساباتىڭىز ئۈچۈن TOTP ئىككى ئامىللىق دەلىللەشنى قوزغىتىڭ", 3 | "You disabled TOTP two-factor authentication for your account" : "ھېساباتىڭىز ئۈچۈن TOTP ئىككى ئامىللىق دەلىللەشنى چەكلىدىڭىز", 4 | "TOTP (Authenticator app)" : "TOTP (دەلىللەش دېتالى)", 5 | "Authenticate with a TOTP app" : "TOTP دېتالى ئارقىلىق دەلىللەڭ", 6 | "Two-Factor TOTP Provider" : "ئىككى ئامىللىق TOTP تەمىنلىگۈچى", 7 | "Could not enable TOTP" : "TOTP نى قوزغىتالمىدى", 8 | "Could not verify your key. Please try again" : "ئاچقۇچىڭىزنى دەلىللىيەلمىدى. قايتا سىناڭ", 9 | "Enable TOTP" : "TOTP نى قوزغىتىڭ", 10 | "Your new TOTP secret is:" : "يېڭى TOTP مەخپىيىتىڭىز:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "تېز تەڭشەش ئۈچۈن ، بۇ QR كودىنى TOTP ئەپىڭىز بىلەن سايىلەڭ:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "ئەپىڭىزنى تەڭشىگەندىن كېيىن ، تۆۋەندىكى سىناق كودىنى كىرگۈزۈپ ، ھەممە ئىشنىڭ نورمال ئىشلىشىگە كاپالەتلىك قىلىڭ:", 13 | "Authentication code" : "دەلىللەش كودى", 14 | "Verify" : "دەلىللەڭ", 15 | "Get the authentication code from the two-factor authentication app on your device." : "ئۈسكۈنىڭىزدىكى ئىككى ئامىللىق دەلىللەش دېتالىدىن دەلىللەش كودىغا ئېرىشىڭ.", 16 | "Submit" : "يوللاڭ", 17 | "TOTP two-factor authentication disabled by an admin" : "باشقۇرغۇچى تەرىپىدىن TOTP ئىككى ئامىللىق دەلىللەش چەكلەنگەن", 18 | "TOTP two-factor provider" : "TOTP ئىككى ئامىل تەمىنلىگۈچى", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP ئۈچۈن ئىككى ئامىللىق ئاپتور تەمىنلىگۈچى (RFC 6238)" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/uz.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "Enable TOTP" : "Enable TOTP", 5 | "Verify" : "Verify" 6 | }, 7 | "nplurals=1; plural=0;"); 8 | -------------------------------------------------------------------------------- /l10n/uz.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Enable TOTP" : "Enable TOTP", 3 | "Verify" : "Verify" 4 | },"pluralForm" :"nplurals=1; plural=0;" 5 | } -------------------------------------------------------------------------------- /l10n/vi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "Bạn đã bật xác thực hai yếu tố TOTP cho tài khoản của mình", 5 | "You disabled TOTP two-factor authentication for your account" : "Bạn đã tắt xác thực hai yếu tố TOTP cho tài khoản của mình", 6 | "TOTP (Authenticator app)" : "TOTP (Ứng dụng xác thực)", 7 | "Authenticate with a TOTP app" : "Xác thực bằng ứng dụng TOTP", 8 | "Enable TOTP" : "Bật TOTP", 9 | "Authentication code" : "Mã xác thực", 10 | "Verify" : "Xác minh", 11 | "Get the authentication code from the two-factor authentication app on your device." : "Nhận mã xác thực từ ứng dụng xác thực hai yếu tố trên thiết bị của bạn.", 12 | "Submit" : "Gửi" 13 | }, 14 | "nplurals=1; plural=0;"); 15 | -------------------------------------------------------------------------------- /l10n/vi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "Bạn đã bật xác thực hai yếu tố TOTP cho tài khoản của mình", 3 | "You disabled TOTP two-factor authentication for your account" : "Bạn đã tắt xác thực hai yếu tố TOTP cho tài khoản của mình", 4 | "TOTP (Authenticator app)" : "TOTP (Ứng dụng xác thực)", 5 | "Authenticate with a TOTP app" : "Xác thực bằng ứng dụng TOTP", 6 | "Enable TOTP" : "Bật TOTP", 7 | "Authentication code" : "Mã xác thực", 8 | "Verify" : "Xác minh", 9 | "Get the authentication code from the two-factor authentication app on your device." : "Nhận mã xác thực từ ứng dụng xác thực hai yếu tố trên thiết bị của bạn.", 10 | "Submit" : "Gửi" 11 | },"pluralForm" :"nplurals=1; plural=0;" 12 | } -------------------------------------------------------------------------------- /l10n/zh_CN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "您为您的账号启用了 TOTP 两步验证", 5 | "You disabled TOTP two-factor authentication for your account" : "您为您的账号禁用了 TOTP 两步验证", 6 | "TOTP (Authenticator app)" : "TOTP (认证应用)", 7 | "Authenticate with a TOTP app" : "使用 TOTP 应用验证身份", 8 | "Two-Factor TOTP Provider" : "两步验证TOTP提供者", 9 | "Could not enable TOTP" : "无法启用 TOTP", 10 | "Could not verify your key. Please try again" : "无法验证您的密钥。请再次尝试", 11 | "Enable TOTP" : "启用 TOTP", 12 | "Your new TOTP secret is:" : "您的新 TOTP 密钥:", 13 | "For quick setup, scan this QR code with your TOTP app:" : "使用您的 TOTP 应用扫描二维码以快速安装:", 14 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "在您配置好您的应用后,输入以下测试码来确保您的应用配置正确:", 15 | "Authentication code" : "验证码", 16 | "Verify" : "验证", 17 | "Get the authentication code from the two-factor authentication app on your device." : "从您设备上的两步验证应用获取验证码", 18 | "Submit" : "提交", 19 | "TOTP two-factor authentication disabled by an admin" : "管理员已禁用了 TOTP 两步验证", 20 | "TOTP two-factor provider" : "TOTP 两步验证", 21 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "一个 TOTP(RFC 6238)两步验证提供者" 22 | }, 23 | "nplurals=1; plural=0;"); 24 | -------------------------------------------------------------------------------- /l10n/zh_CN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "您为您的账号启用了 TOTP 两步验证", 3 | "You disabled TOTP two-factor authentication for your account" : "您为您的账号禁用了 TOTP 两步验证", 4 | "TOTP (Authenticator app)" : "TOTP (认证应用)", 5 | "Authenticate with a TOTP app" : "使用 TOTP 应用验证身份", 6 | "Two-Factor TOTP Provider" : "两步验证TOTP提供者", 7 | "Could not enable TOTP" : "无法启用 TOTP", 8 | "Could not verify your key. Please try again" : "无法验证您的密钥。请再次尝试", 9 | "Enable TOTP" : "启用 TOTP", 10 | "Your new TOTP secret is:" : "您的新 TOTP 密钥:", 11 | "For quick setup, scan this QR code with your TOTP app:" : "使用您的 TOTP 应用扫描二维码以快速安装:", 12 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "在您配置好您的应用后,输入以下测试码来确保您的应用配置正确:", 13 | "Authentication code" : "验证码", 14 | "Verify" : "验证", 15 | "Get the authentication code from the two-factor authentication app on your device." : "从您设备上的两步验证应用获取验证码", 16 | "Submit" : "提交", 17 | "TOTP two-factor authentication disabled by an admin" : "管理员已禁用了 TOTP 两步验证", 18 | "TOTP two-factor provider" : "TOTP 两步验证", 19 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "一个 TOTP(RFC 6238)两步验证提供者" 20 | },"pluralForm" :"nplurals=1; plural=0;" 21 | } -------------------------------------------------------------------------------- /l10n/zh_HK.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "您已為您的帳戶啟用了 TOTP 雙重認證", 5 | "You disabled TOTP two-factor authentication for your account" : "您已為您的帳戶停用了 TOTP 雙重認證", 6 | "TOTP two-factor authentication disabled by the administration" : "管理員已禁用 TOTP 雙重身份驗證。", 7 | "TOTP (Authenticator app)" : "TOTP (驗證應用程式)", 8 | "Authenticate with a TOTP app" : "使用 TOTP 應用程式進行驗證", 9 | "Two-Factor TOTP Provider" : "雙重認證 TOTP 提供者", 10 | "Two-factor TOTP provider" : "雙重認證 TOTP 提供者", 11 | "A two-factor authentication provider for TOTP (RFC 6238)" : "TOTP 雙重認證裝置供應商(RFC 6238)", 12 | "Could not enable TOTP" : "無法啟用 TOTP", 13 | "Could not verify your key. Please try again" : "無法驗證你的密鑰。請重新再試", 14 | "Enable TOTP" : "啟用 TOTP", 15 | "Your new TOTP secret is:" : "您的新 TOTP 密鑰為:", 16 | "For quick setup, scan this QR code with your TOTP app:" : "使用你的 TOTP 應用程式掃描此QR碼可快速設定", 17 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "當你設定好你的應用程式,請試著在下方輸入應用程式產生的驗證碼,以確保一切正常運作。", 18 | "Authentication code" : "驗證碼", 19 | "Verify" : "核對", 20 | "Get the authentication code from the two-factor authentication app on your device." : "從你裝置上的雙重認證應用程式取得驗證碼。", 21 | "Submit" : "遞交", 22 | "TOTP two-factor authentication disabled by an admin" : "系統管理員已停用 TOTP 雙重認證功能", 23 | "TOTP two-factor provider" : "TOTP 雙重認證供應商", 24 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP 雙重認證裝置供應商(RFC 6238)" 25 | }, 26 | "nplurals=1; plural=0;"); 27 | -------------------------------------------------------------------------------- /l10n/zh_HK.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "您已為您的帳戶啟用了 TOTP 雙重認證", 3 | "You disabled TOTP two-factor authentication for your account" : "您已為您的帳戶停用了 TOTP 雙重認證", 4 | "TOTP two-factor authentication disabled by the administration" : "管理員已禁用 TOTP 雙重身份驗證。", 5 | "TOTP (Authenticator app)" : "TOTP (驗證應用程式)", 6 | "Authenticate with a TOTP app" : "使用 TOTP 應用程式進行驗證", 7 | "Two-Factor TOTP Provider" : "雙重認證 TOTP 提供者", 8 | "Two-factor TOTP provider" : "雙重認證 TOTP 提供者", 9 | "A two-factor authentication provider for TOTP (RFC 6238)" : "TOTP 雙重認證裝置供應商(RFC 6238)", 10 | "Could not enable TOTP" : "無法啟用 TOTP", 11 | "Could not verify your key. Please try again" : "無法驗證你的密鑰。請重新再試", 12 | "Enable TOTP" : "啟用 TOTP", 13 | "Your new TOTP secret is:" : "您的新 TOTP 密鑰為:", 14 | "For quick setup, scan this QR code with your TOTP app:" : "使用你的 TOTP 應用程式掃描此QR碼可快速設定", 15 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "當你設定好你的應用程式,請試著在下方輸入應用程式產生的驗證碼,以確保一切正常運作。", 16 | "Authentication code" : "驗證碼", 17 | "Verify" : "核對", 18 | "Get the authentication code from the two-factor authentication app on your device." : "從你裝置上的雙重認證應用程式取得驗證碼。", 19 | "Submit" : "遞交", 20 | "TOTP two-factor authentication disabled by an admin" : "系統管理員已停用 TOTP 雙重認證功能", 21 | "TOTP two-factor provider" : "TOTP 雙重認證供應商", 22 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP 雙重認證裝置供應商(RFC 6238)" 23 | },"pluralForm" :"nplurals=1; plural=0;" 24 | } -------------------------------------------------------------------------------- /l10n/zh_TW.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "twofactor_totp", 3 | { 4 | "You enabled TOTP two-factor authentication for your account" : "您已為您的帳號啟用了 TOTP 兩階段驗證", 5 | "You disabled TOTP two-factor authentication for your account" : "您已為您的帳號停用了 TOTP 兩階段驗證", 6 | "TOTP two-factor authentication disabled by the administration" : "管理員已停用 TOTP 兩階段身份驗證", 7 | "TOTP (Authenticator app)" : "TOTP(驗證應用程式)", 8 | "Authenticate with a TOTP app" : "使用 TOTP 應用程式驗證身分", 9 | "Two-Factor TOTP Provider" : "雙因驗證 TOTP 碼提供者", 10 | "Two-factor TOTP provider" : "兩階段 TOTP 提供者", 11 | "A two-factor authentication provider for TOTP (RFC 6238)" : "TOTP 兩階段驗證提供者 (RFC 6238)", 12 | "Could not enable TOTP" : "無法啟用 TOTP", 13 | "Could not verify your key. Please try again" : "無法驗證您的金鑰。請重試", 14 | "Enable TOTP" : "啟用 TOTP", 15 | "Your new TOTP secret is:" : "您的新 TOTP 密鑰為:", 16 | "For quick setup, scan this QR code with your TOTP app:" : "使用您的 TOTP 應用程式掃描此 QR code 可快速設定:", 17 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "當你設定好你的應用程式,請試著在下方輸入應用程式產生的驗證碼,以確保一切正常運作。", 18 | "Authentication code" : "驗證碼", 19 | "Verify" : "核對", 20 | "Get the authentication code from the two-factor authentication app on your device." : "從您裝置上的兩階段驗證應用程式取得驗證碼。", 21 | "Submit" : "送出", 22 | "TOTP two-factor authentication disabled by an admin" : "TOTP 兩階段驗證功能已被系統管理員停用", 23 | "TOTP two-factor provider" : "TOTP 兩階段驗證提供者", 24 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP 兩階段驗證裝置提供者 (RFC 6238)" 25 | }, 26 | "nplurals=1; plural=0;"); 27 | -------------------------------------------------------------------------------- /l10n/zh_TW.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "You enabled TOTP two-factor authentication for your account" : "您已為您的帳號啟用了 TOTP 兩階段驗證", 3 | "You disabled TOTP two-factor authentication for your account" : "您已為您的帳號停用了 TOTP 兩階段驗證", 4 | "TOTP two-factor authentication disabled by the administration" : "管理員已停用 TOTP 兩階段身份驗證", 5 | "TOTP (Authenticator app)" : "TOTP(驗證應用程式)", 6 | "Authenticate with a TOTP app" : "使用 TOTP 應用程式驗證身分", 7 | "Two-Factor TOTP Provider" : "雙因驗證 TOTP 碼提供者", 8 | "Two-factor TOTP provider" : "兩階段 TOTP 提供者", 9 | "A two-factor authentication provider for TOTP (RFC 6238)" : "TOTP 兩階段驗證提供者 (RFC 6238)", 10 | "Could not enable TOTP" : "無法啟用 TOTP", 11 | "Could not verify your key. Please try again" : "無法驗證您的金鑰。請重試", 12 | "Enable TOTP" : "啟用 TOTP", 13 | "Your new TOTP secret is:" : "您的新 TOTP 密鑰為:", 14 | "For quick setup, scan this QR code with your TOTP app:" : "使用您的 TOTP 應用程式掃描此 QR code 可快速設定:", 15 | "After you configured your app, enter a test code below to ensure everything works correctly:" : "當你設定好你的應用程式,請試著在下方輸入應用程式產生的驗證碼,以確保一切正常運作。", 16 | "Authentication code" : "驗證碼", 17 | "Verify" : "核對", 18 | "Get the authentication code from the two-factor authentication app on your device." : "從您裝置上的兩階段驗證應用程式取得驗證碼。", 19 | "Submit" : "送出", 20 | "TOTP two-factor authentication disabled by an admin" : "TOTP 兩階段驗證功能已被系統管理員停用", 21 | "TOTP two-factor provider" : "TOTP 兩階段驗證提供者", 22 | "A Two-Factor-Auth Provider for TOTP (RFC 6238)" : "TOTP 兩階段驗證裝置提供者 (RFC 6238)" 23 | },"pluralForm" :"nplurals=1; plural=0;" 24 | } -------------------------------------------------------------------------------- /lib/Activity/Provider.php: -------------------------------------------------------------------------------- 1 | getApp() !== 'twofactor_totp') { 28 | throw new UnknownActivityException(); 29 | } 30 | 31 | $l = $this->l10n->get('twofactor_totp', $language); 32 | 33 | $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); 34 | switch ($event->getSubject()) { 35 | case 'totp_enabled_subject': 36 | $event->setSubject($l->t('You enabled TOTP two-factor authentication for your account')); 37 | break; 38 | case 'totp_disabled_subject': 39 | $event->setSubject($l->t('You disabled TOTP two-factor authentication for your account')); 40 | break; 41 | case 'totp_disabled_by_admin': 42 | $event->setSubject($l->t('TOTP two-factor authentication disabled by the administration')); 43 | break; 44 | default: 45 | throw new UnknownActivityException(); 46 | } 47 | return $event; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /lib/Activity/Setting.php: -------------------------------------------------------------------------------- 1 | l10n->t('TOTP (Authenticator app)'); 36 | } 37 | 38 | public function getPriority(): int { 39 | return 10; 40 | } 41 | 42 | public function isDefaultEnabledMail(): bool { 43 | return true; 44 | } 45 | 46 | public function isDefaultEnabledStream(): bool { 47 | return true; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /lib/AppInfo/Application.php: -------------------------------------------------------------------------------- 1 | registerServiceAlias(ITotp::class, Totp::class); 36 | 37 | $context->registerEventListener(StateChanged::class, StateChangeActivity::class); 38 | $context->registerEventListener(StateChanged::class, StateChangeRegistryUpdater::class); 39 | $context->registerEventListener(DisabledByAdmin::class, StateChangeActivity::class); 40 | $context->registerEventListener(UserDeletedEvent::class, UserDeleted::class); 41 | } 42 | 43 | public function boot(IBootContext $context): void { 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /lib/Db/TotpSecret.php: -------------------------------------------------------------------------------- 1 | addType('userId', 'string'); 40 | $this->addType('secret', 'string'); 41 | $this->addType('state', 'integer'); 42 | $this->addType('lastCounter', 'integer'); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /lib/Db/TotpSecretMapper.php: -------------------------------------------------------------------------------- 1 | 21 | */ 22 | class TotpSecretMapper extends QBMapper { 23 | public function __construct(IDBConnection $db) { 24 | parent::__construct($db, 'twofactor_totp_secrets'); 25 | } 26 | 27 | /** 28 | * @param IUser $user 29 | * @throws DoesNotExistException 30 | * @return TotpSecret 31 | */ 32 | public function getSecret(IUser $user): TotpSecret { 33 | /* @var $qb IQueryBuilder */ 34 | $qb = $this->db->getQueryBuilder(); 35 | 36 | $qb->select('id', 'user_id', 'secret', 'state', 'last_counter') 37 | ->from($this->getTableName()) 38 | ->from('twofactor_totp_secrets') 39 | ->where($qb->expr()->eq('user_id', $qb->createNamedParameter($user->getUID()))); 40 | $result = $qb->executeQuery(); 41 | 42 | $row = $result->fetch(); 43 | $result->closeCursor(); 44 | if ($row === false) { 45 | throw new DoesNotExistException('Secret does not exist'); 46 | } 47 | return TotpSecret::fromRow($row); 48 | } 49 | 50 | /** 51 | * @param string $uid 52 | * @throws Exception 53 | */ 54 | public function deleteSecretByUserId(string $uid): void { 55 | $qb = $this->db->getQueryBuilder(); 56 | 57 | $qb->delete($this->getTableName()) 58 | ->where($qb->expr()->eq('user_id', $qb->createNamedParameter($uid))); 59 | $qb->executeStatement(); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /lib/Event/DisabledByAdmin.php: -------------------------------------------------------------------------------- 1 | user; 26 | } 27 | 28 | public function isEnabled(): bool { 29 | return $this->enabled; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /lib/Exception/NoTotpSecretFoundException.php: -------------------------------------------------------------------------------- 1 | 20 | */ 21 | class StateChangeActivity implements IEventListener { 22 | 23 | public function __construct( 24 | private ActivityManager $activityManager, 25 | ) { 26 | } 27 | 28 | public function handle(Event $event): void { 29 | if ($event instanceof StateChanged) { 30 | if ($event instanceof DisabledByAdmin) { 31 | $subject = 'totp_disabled_by_admin'; 32 | } else { 33 | $subject = $event->isEnabled() ? 'totp_enabled_subject' : 'totp_disabled_subject'; 34 | } 35 | $user = $event->getUser(); 36 | 37 | $activity = $this->activityManager->generateEvent(); 38 | $activity->setApp('twofactor_totp') 39 | ->setType('security') 40 | ->setAuthor($user->getUID()) 41 | ->setAffectedUser($user->getUID()) 42 | ->setSubject($subject); 43 | $this->activityManager->publish($activity); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /lib/Listener/StateChangeRegistryUpdater.php: -------------------------------------------------------------------------------- 1 | 20 | */ 21 | class StateChangeRegistryUpdater implements IEventListener { 22 | 23 | public function __construct( 24 | private IRegistry $registry, 25 | private TotpProvider $provider, 26 | ) { 27 | } 28 | 29 | public function handle(Event $event): void { 30 | if ($event instanceof StateChanged) { 31 | if ($event->isEnabled()) { 32 | $this->registry->enableProviderFor($this->provider, $event->getUser()); 33 | } else { 34 | $this->registry->disableProviderFor($this->provider, $event->getUser()); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /lib/Listener/UserDeleted.php: -------------------------------------------------------------------------------- 1 | 21 | */ 22 | class UserDeleted implements IEventListener { 23 | 24 | public function __construct( 25 | private TotpSecretMapper $totpSecretMapper, 26 | private LoggerInterface $logger, 27 | ) { 28 | } 29 | 30 | public function handle(Event $event): void { 31 | if ($event instanceof UserDeletedEvent) { 32 | try { 33 | $this->totpSecretMapper->deleteSecretByUserId($event->getUser()->getUID()); 34 | } catch (Exception $e) { 35 | $this->logger->warning($e->getMessage(), ['uid' => $event->getUser()->getUID()]); 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /lib/Migration/Version010501Date20181018124436.php: -------------------------------------------------------------------------------- 1 | hasTable('twofactor_totp_secrets')) { 30 | $table = $schema->createTable('twofactor_totp_secrets'); 31 | // TODO: use \OCP\DB\Types::INT 32 | $table->addColumn('id', 'integer', [ 33 | 'autoincrement' => true, 34 | 'notnull' => true, 35 | 'length' => 4, 36 | ]); 37 | // TODO: use \OCP\DB\Types::STRING 38 | $table->addColumn('user_id', 'string', [ 39 | 'notnull' => true, 40 | 'length' => 64, 41 | 'default' => '', 42 | ]); 43 | // TODO: use \OCP\DB\Types::TEXT 44 | $table->addColumn('secret', 'text', [ 45 | 'notnull' => true, 46 | ]); 47 | // TODO: \OCP\DB\Types::INT 48 | $table->addColumn('state', 'integer', [ 49 | 'notnull' => true, 50 | 'default' => 2, 51 | ]); 52 | $table->setPrimaryKey(['id']); 53 | $table->addUniqueIndex(['user_id'], 'totp_secrets_user_id'); 54 | } 55 | return $schema; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /lib/Migration/Version020102Date20190304124405.php: -------------------------------------------------------------------------------- 1 | getTable('twofactor_totp_secrets'); 31 | if (!$table->hasColumn('state')) { 32 | // TODO: use \OCP\DB\Types::INT 33 | $table->addColumn('state', 'integer', [ 34 | 'notnull' => true, 35 | 'default' => 2, 36 | ]); 37 | } 38 | if (!$table->hasPrimaryKey()) { 39 | $table->setPrimaryKey(['id']); 40 | } 41 | if (!$table->hasIndex('totp_secrets_user_id')) { 42 | $table->addUniqueIndex(['user_id'], 'totp_secrets_user_id'); 43 | } 44 | 45 | return $schema; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /lib/Migration/Version030000Date20190305114917.php: -------------------------------------------------------------------------------- 1 | getTable('twofactor_totp_secrets'); 30 | if (!$table->hasColumn('last_counter')) { 31 | // TODO: use \OCP\DB\Types::BIGINT 32 | $table->addColumn('last_counter', 'bigint', [ 33 | 'notnull' => true, 34 | 'default' => -1, 35 | ]); 36 | } 37 | return $schema; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /lib/Provider/AtLoginProvider.php: -------------------------------------------------------------------------------- 1 | assign('urlGenerator', $this->urlGenerator); 27 | return $template; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /lib/Service/ITotp.php: -------------------------------------------------------------------------------- 1 | 2 | 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 | -------------------------------------------------------------------------------- /screenshots/enter_challenge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/twofactor_totp/0e97590cbfe495e75f035facd121c94e36e574f3/screenshots/enter_challenge.png -------------------------------------------------------------------------------- /screenshots/enter_challenge.png.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /screenshots/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/twofactor_totp/0e97590cbfe495e75f035facd121c94e36e574f3/screenshots/settings.png -------------------------------------------------------------------------------- /screenshots/settings.png.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors 2 | SPDX-License-Identifier: AGPL-3.0-or-later 3 | -------------------------------------------------------------------------------- /src/logger.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | import { getCurrentUser } from '@nextcloud/auth' 7 | import { getLoggerBuilder } from '@nextcloud/logger' 8 | 9 | const builder = getLoggerBuilder().setApp('twofactor_totp') 10 | 11 | const user = getCurrentUser() 12 | if (user !== null) { 13 | builder.setUid(user.uid) 14 | } 15 | 16 | export default builder.build() 17 | -------------------------------------------------------------------------------- /src/main-login-setup.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | import Vue from 'vue' 7 | import Logger from './logger.js' 8 | import LoginSetup from './components/LoginSetup.vue' 9 | 10 | Vue.mixin({ 11 | methods: { 12 | t, 13 | }, 14 | }) 15 | 16 | Logger.debug('rendering login setup view') 17 | const View = Vue.extend(LoginSetup) 18 | new View().$mount('#twofactor-totp-login-setup') 19 | Logger.debug('login setup view rendered') 20 | -------------------------------------------------------------------------------- /src/main-settings.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | import Vue from 'vue' 7 | import { loadState } from '@nextcloud/initial-state' 8 | import Logger from './logger.js' 9 | import store from './store.js' 10 | 11 | import PersonalTotpSettings from './components/PersonalTotpSettings.vue' 12 | 13 | Vue.mixin({ 14 | methods: { 15 | t, 16 | }, 17 | }) 18 | 19 | store.replaceState({ 20 | totpState: loadState('twofactor_totp', 'state'), 21 | }) 22 | 23 | const View = Vue.extend(PersonalTotpSettings) 24 | new View({ 25 | store, 26 | }).$mount('#twofactor-totp-settings') 27 | 28 | Logger.debug('personal settings loaded and rendered') 29 | -------------------------------------------------------------------------------- /src/services/StateService.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | import Axios from '@nextcloud/axios' 7 | import { generateUrl } from '@nextcloud/router' 8 | 9 | export const saveState = async (data) => { 10 | const url = generateUrl('/apps/twofactor_totp/settings/enable') 11 | 12 | const resp = await Axios.post(url, data) 13 | return resp.data 14 | } 15 | -------------------------------------------------------------------------------- /src/state.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | export default Object.freeze({ 7 | STATE_DISABLED: 0, 8 | STATE_CREATED: 1, 9 | STATE_ENABLED: 2, 10 | }) 11 | -------------------------------------------------------------------------------- /src/store.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | import Vue from 'vue' 7 | import Vuex from 'vuex' 8 | 9 | import { saveState } from './services/StateService.js' 10 | import state from './state.js' 11 | 12 | Vue.use(Vuex) 13 | 14 | export const mutations = { 15 | setState(state, totpState) { 16 | state.totpState = totpState 17 | }, 18 | } 19 | 20 | export const actions = { 21 | enable({ commit }) { 22 | return saveState({ state: state.STATE_CREATED }).then( 23 | ({ state, secret, qrUrl }) => { 24 | commit('setState', state) 25 | return { qrUrl, secret } 26 | }, 27 | ) 28 | }, 29 | 30 | confirm({ commit }, code) { 31 | return saveState({ 32 | state: state.STATE_ENABLED, 33 | code, 34 | }).then(({ state }) => commit('setState', state)) 35 | }, 36 | 37 | disable({ commit }) { 38 | return saveState({ state: state.STATE_DISABLED }).then(({ state }) => 39 | commit('setState', state), 40 | ) 41 | }, 42 | } 43 | 44 | export const getters = {} 45 | 46 | export default new Vuex.Store({ 47 | strict: process.env.NODE_ENV !== 'production', 48 | state: { 49 | totpState: undefined, 50 | }, 51 | getters, 52 | mutations, 53 | actions, 54 | }) 55 | -------------------------------------------------------------------------------- /src/tests/components/PersonalTotpSettings.spec.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | import { shallowMount, createLocalVue } from '@vue/test-utils' 7 | import Vuex from 'vuex' 8 | 9 | import PersonalTotpSettings from '../../components/PersonalTotpSettings.vue' 10 | 11 | const localVue = createLocalVue() 12 | 13 | localVue.use(Vuex) 14 | 15 | describe('PersonalTotpSettings', () => { 16 | let actions 17 | let store 18 | 19 | beforeEach(() => { 20 | actions = { 21 | enable: () => {}, 22 | confirm: () => {}, 23 | disable: () => {}, 24 | } 25 | store = new Vuex.Store({ 26 | state: {}, 27 | actions, 28 | }) 29 | }) 30 | 31 | it('does not load on start', () => { 32 | const settings = shallowMount(PersonalTotpSettings, { 33 | store, 34 | localVue, 35 | }) 36 | 37 | expect(settings.vm.loading).to.be.false 38 | }) 39 | }) 40 | -------------------------------------------------------------------------------- /src/tests/jest.setup.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | import Vue from 'vue' 7 | 8 | Vue.mixin({ 9 | methods: { 10 | t: (app, str) => str, 11 | }, 12 | }) 13 | 14 | global.expect = require('chai').expect 15 | // https://github.com/vuejs/vue-test-utils/issues/936 16 | // better fix for "TypeError: Super expression must either be null or 17 | // a function" than pinning an old version of prettier. 18 | // 19 | // https://github.com/vuejs/vue-cli/issues/2128#issuecomment-453109575 20 | window.Date = Date 21 | 22 | global.OC = { 23 | getCurrentUser: () => { 24 | return { uid: false } 25 | }, 26 | isUserAdmin: () => false, 27 | } 28 | -------------------------------------------------------------------------------- /stylelint.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | const stylelintConfig = require('@nextcloud/stylelint-config') 7 | 8 | module.exports = stylelintConfig 9 | -------------------------------------------------------------------------------- /templates/challenge.php: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 |

t('Get the authentication code from the two-factor authentication app on your device.')) ?>

14 | 15 |
16 | 17 | 20 |
21 | -------------------------------------------------------------------------------- /templates/loginsetup.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |
15 | -------------------------------------------------------------------------------- /templates/personal.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |
14 | -------------------------------------------------------------------------------- /tests/Unit/Activity/SettingTest.php: -------------------------------------------------------------------------------- 1 | l10n = $this->createMock(IL10N::class); 24 | 25 | $this->setting = new Setting($this->l10n); 26 | } 27 | 28 | public function testAll() { 29 | $this->assertEquals(false, $this->setting->canChangeMail()); 30 | $this->assertEquals(false, $this->setting->canChangeStream()); 31 | $this->assertEquals('twofactor_totp', $this->setting->getIdentifier()); 32 | $this->l10n->expects($this->once()) 33 | ->method('t') 34 | ->with('TOTP (Authenticator app)') 35 | ->willReturn('TOTP (Google Authentifizierer)'); 36 | $this->assertEquals('TOTP (Google Authentifizierer)', $this->setting->getName()); 37 | $this->assertEquals(10, $this->setting->getPriority()); 38 | $this->assertEquals(true, $this->setting->isDefaultEnabledMail()); 39 | $this->assertEquals(true, $this->setting->isDefaultEnabledStream()); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /tests/Unit/Event/StateChangedTest.php: -------------------------------------------------------------------------------- 1 | createMock(IUser::class); 19 | $event = new StateChanged($user, true); 20 | 21 | $enabled = $event->isEnabled(); 22 | 23 | $this->assertTrue($enabled); 24 | } 25 | 26 | public function testDisabled() { 27 | $user = $this->createMock(IUser::class); 28 | $event = new StateChanged($user, false); 29 | 30 | $enabled = $event->isEnabled(); 31 | 32 | $this->assertFalse($enabled); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /tests/Unit/Provider/AtLoginProviderTest.php: -------------------------------------------------------------------------------- 1 | urlGenerator = $this->createMock(IURLGenerator::class); 26 | 27 | $this->provider = new AtLoginProvider( 28 | $this->urlGenerator 29 | ); 30 | } 31 | 32 | 33 | public function testGetBody() { 34 | // Not really anything to test, let's see if it does :boom:, though 35 | $this->provider->getBody(); 36 | 37 | $this->addToAssertionCount(1); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- 1 | 2 | 6 | 11 | 12 | 13 | ../lib 14 | 15 | 16 | 17 | 18 | 19 | 20 | . 21 | 22 | 23 | -------------------------------------------------------------------------------- /tests/psalm-baseline.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | StateChangeActivity::class 6 | StateChangeActivity::class 7 | StateChangeRegistryUpdater::class 8 | UserDeleted::class 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Template 19 | Template 20 | 21 | 22 | 23 | 24 | Template 25 | Template 26 | 27 | 28 | 29 | 30 | Template 31 | Template 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /vendor-bin/cs-fixer/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require-dev": { 3 | "nextcloud/coding-standard": "1.3.2" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors 3 | * SPDX-License-Identifier: AGPL-3.0-or-later 4 | */ 5 | 6 | const path = require('path') 7 | const WebpackSPDXPlugin = require('./build-js/WebpackSPDXPlugin.js') 8 | const webpackConfig = require('@nextcloud/webpack-vue-config') 9 | 10 | const isDev = process.env.NODE_ENV === 'development' 11 | 12 | webpackConfig.entry = { 13 | 'main-settings': path.join(__dirname, 'src', 'main-settings.js'), 14 | 'main-login-setup': path.join(__dirname, 'src', 'main-login-setup.js'), 15 | } 16 | 17 | // Generate reuse license files if not in development mode 18 | if (!isDev) { 19 | webpackConfig.plugins.push(new WebpackSPDXPlugin({ 20 | override: { 21 | select2: 'MIT', 22 | }, 23 | })) 24 | 25 | webpackConfig.optimization.minimizer = [{ 26 | apply: (compiler) => { 27 | // Lazy load the Terser plugin 28 | const TerserPlugin = require('terser-webpack-plugin') 29 | new TerserPlugin({ 30 | extractComments: false, 31 | terserOptions: { 32 | format: { 33 | comments: false, 34 | }, 35 | compress: { 36 | passes: 2, 37 | }, 38 | }, 39 | }).apply(compiler) 40 | }, 41 | }] 42 | } 43 | 44 | module.exports = webpackConfig 45 | --------------------------------------------------------------------------------