aboutsummaryrefslogtreecommitdiffstats
path: root/apps/twofactor_backupcodes
diff options
context:
space:
mode:
Diffstat (limited to 'apps/twofactor_backupcodes')
-rw-r--r--apps/twofactor_backupcodes/.l10nignore2
-rw-r--r--apps/twofactor_backupcodes/.noopenapi0
-rw-r--r--apps/twofactor_backupcodes/appinfo/info.xml8
-rw-r--r--apps/twofactor_backupcodes/appinfo/routes.php21
-rw-r--r--apps/twofactor_backupcodes/composer/autoload.php17
-rw-r--r--apps/twofactor_backupcodes/composer/composer/ClassLoader.php137
-rw-r--r--apps/twofactor_backupcodes/composer/composer/InstalledVersions.php31
-rw-r--r--apps/twofactor_backupcodes/composer/composer/installed.php6
-rw-r--r--apps/twofactor_backupcodes/css/style.css10
-rw-r--r--apps/twofactor_backupcodes/l10n/af.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/af.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/ar.js23
-rw-r--r--apps/twofactor_backupcodes/l10n/ar.json21
-rw-r--r--apps/twofactor_backupcodes/l10n/ast.js26
-rw-r--r--apps/twofactor_backupcodes/l10n/ast.json26
-rw-r--r--apps/twofactor_backupcodes/l10n/bg.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/bg.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/ca.js34
-rw-r--r--apps/twofactor_backupcodes/l10n/ca.json34
-rw-r--r--apps/twofactor_backupcodes/l10n/cs.js10
-rw-r--r--apps/twofactor_backupcodes/l10n/cs.json10
-rw-r--r--apps/twofactor_backupcodes/l10n/da.js14
-rw-r--r--apps/twofactor_backupcodes/l10n/da.json14
-rw-r--r--apps/twofactor_backupcodes/l10n/de.js16
-rw-r--r--apps/twofactor_backupcodes/l10n/de.json16
-rw-r--r--apps/twofactor_backupcodes/l10n/de_DE.js8
-rw-r--r--apps/twofactor_backupcodes/l10n/de_DE.json8
-rw-r--r--apps/twofactor_backupcodes/l10n/el.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/el.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/en_GB.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/en_GB.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/eo.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/eo.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/es.js20
-rw-r--r--apps/twofactor_backupcodes/l10n/es.json20
-rw-r--r--apps/twofactor_backupcodes/l10n/es_419.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_419.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_AR.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_AR.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_CL.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_CL.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_CO.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_CO.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_CR.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_CR.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_DO.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_DO.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_EC.js10
-rw-r--r--apps/twofactor_backupcodes/l10n/es_EC.json10
-rw-r--r--apps/twofactor_backupcodes/l10n/es_GT.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_GT.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_HN.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_HN.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_MX.js10
-rw-r--r--apps/twofactor_backupcodes/l10n/es_MX.json10
-rw-r--r--apps/twofactor_backupcodes/l10n/es_NI.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_NI.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_PA.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_PA.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_PE.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_PE.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_PR.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_PR.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_PY.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_PY.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_SV.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_SV.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_UY.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/es_UY.json5
-rw-r--r--apps/twofactor_backupcodes/l10n/et_EE.js23
-rw-r--r--apps/twofactor_backupcodes/l10n/et_EE.json21
-rw-r--r--apps/twofactor_backupcodes/l10n/eu.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/eu.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/fa.js22
-rw-r--r--apps/twofactor_backupcodes/l10n/fa.json20
-rw-r--r--apps/twofactor_backupcodes/l10n/fi.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/fi.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/fr.js12
-rw-r--r--apps/twofactor_backupcodes/l10n/fr.json12
-rw-r--r--apps/twofactor_backupcodes/l10n/ga.js23
-rw-r--r--apps/twofactor_backupcodes/l10n/ga.json21
-rw-r--r--apps/twofactor_backupcodes/l10n/gl.js34
-rw-r--r--apps/twofactor_backupcodes/l10n/gl.json34
-rw-r--r--apps/twofactor_backupcodes/l10n/he.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/he.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/hr.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/hr.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/hu.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/hu.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/is.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/is.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/it.js6
-rw-r--r--apps/twofactor_backupcodes/l10n/it.json6
-rw-r--r--apps/twofactor_backupcodes/l10n/ja.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/ja.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/ka.js22
-rw-r--r--apps/twofactor_backupcodes/l10n/ka.json20
-rw-r--r--apps/twofactor_backupcodes/l10n/ka_GE.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/ka_GE.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/ko.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/ko.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/lt_LT.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/lt_LT.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/lv.js7
-rw-r--r--apps/twofactor_backupcodes/l10n/lv.json7
-rw-r--r--apps/twofactor_backupcodes/l10n/mk.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/mk.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/mn.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/mn.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/nb.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/nb.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/nl.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/nl.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/pl.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/pl.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/pt_BR.js6
-rw-r--r--apps/twofactor_backupcodes/l10n/pt_BR.json6
-rw-r--r--apps/twofactor_backupcodes/l10n/pt_PT.js15
-rw-r--r--apps/twofactor_backupcodes/l10n/pt_PT.json13
-rw-r--r--apps/twofactor_backupcodes/l10n/ru.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/ru.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/sc.js7
-rw-r--r--apps/twofactor_backupcodes/l10n/sc.json7
-rw-r--r--apps/twofactor_backupcodes/l10n/sk.js6
-rw-r--r--apps/twofactor_backupcodes/l10n/sk.json6
-rw-r--r--apps/twofactor_backupcodes/l10n/sl.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/sl.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/sq.js3
-rw-r--r--apps/twofactor_backupcodes/l10n/sq.json3
-rw-r--r--apps/twofactor_backupcodes/l10n/sr.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/sr.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/sv.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/sv.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/sw.js23
-rw-r--r--apps/twofactor_backupcodes/l10n/sw.json21
-rw-r--r--apps/twofactor_backupcodes/l10n/tr.js16
-rw-r--r--apps/twofactor_backupcodes/l10n/tr.json16
-rw-r--r--apps/twofactor_backupcodes/l10n/ug.js23
-rw-r--r--apps/twofactor_backupcodes/l10n/ug.json21
-rw-r--r--apps/twofactor_backupcodes/l10n/uk.js16
-rw-r--r--apps/twofactor_backupcodes/l10n/uk.json16
-rw-r--r--apps/twofactor_backupcodes/l10n/zh_CN.js4
-rw-r--r--apps/twofactor_backupcodes/l10n/zh_CN.json4
-rw-r--r--apps/twofactor_backupcodes/l10n/zh_HK.js8
-rw-r--r--apps/twofactor_backupcodes/l10n/zh_HK.json8
-rw-r--r--apps/twofactor_backupcodes/l10n/zh_TW.js36
-rw-r--r--apps/twofactor_backupcodes/l10n/zh_TW.json36
-rw-r--r--apps/twofactor_backupcodes/lib/Activity/Provider.php49
-rw-r--r--apps/twofactor_backupcodes/lib/AppInfo/Application.php30
-rw-r--r--apps/twofactor_backupcodes/lib/BackgroundJob/CheckBackupCodes.php48
-rw-r--r--apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php63
-rw-r--r--apps/twofactor_backupcodes/lib/Controller/SettingsController.php45
-rw-r--r--apps/twofactor_backupcodes/lib/Db/BackupCode.php21
-rw-r--r--apps/twofactor_backupcodes/lib/Db/BackupCodeMapper.php24
-rw-r--r--apps/twofactor_backupcodes/lib/Event/CodesGenerated.php29
-rw-r--r--apps/twofactor_backupcodes/lib/Listener/ActivityPublisher.php42
-rw-r--r--apps/twofactor_backupcodes/lib/Listener/ClearNotifications.php31
-rw-r--r--apps/twofactor_backupcodes/lib/Listener/ProviderDisabled.php41
-rw-r--r--apps/twofactor_backupcodes/lib/Listener/ProviderEnabled.php41
-rw-r--r--apps/twofactor_backupcodes/lib/Listener/RegistryUpdater.php35
-rw-r--r--apps/twofactor_backupcodes/lib/Listener/UserDeleted.php30
-rw-r--r--apps/twofactor_backupcodes/lib/Migration/CheckBackupCodes.php29
-rw-r--r--apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607104347.php23
-rw-r--r--apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607113030.php30
-rw-r--r--apps/twofactor_backupcodes/lib/Migration/Version1002Date20170919123342.php23
-rw-r--r--apps/twofactor_backupcodes/lib/Migration/Version1002Date20170926101419.php24
-rw-r--r--apps/twofactor_backupcodes/lib/Migration/Version1002Date20180821043638.php22
-rw-r--r--apps/twofactor_backupcodes/lib/Notifications/Notifier.php41
-rw-r--r--apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php77
-rw-r--r--apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php56
-rw-r--r--apps/twofactor_backupcodes/lib/Settings/Personal.php32
-rw-r--r--apps/twofactor_backupcodes/src/service/BackupCodesService.js23
-rw-r--r--apps/twofactor_backupcodes/src/service/PrintService.js22
-rw-r--r--apps/twofactor_backupcodes/src/settings.js27
-rw-r--r--apps/twofactor_backupcodes/src/store.js24
-rw-r--r--apps/twofactor_backupcodes/src/views/PersonalSettings.vue81
-rw-r--r--apps/twofactor_backupcodes/templates/challenge.php5
-rw-r--r--apps/twofactor_backupcodes/templates/personal.php7
-rw-r--r--apps/twofactor_backupcodes/tests/Db/BackupCodeMapperTest.php47
-rw-r--r--apps/twofactor_backupcodes/tests/Service/BackupCodeStorageTest.php55
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Activity/ProviderTest.php59
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/BackgroundJob/CheckBackupCodeTest.php78
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/BackgroundJob/RememberBackupCodesJobTest.php136
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Controller/SettingsControllerTest.php53
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Event/CodesGeneratedTest.php23
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Listener/ActivityPublisherTest.php44
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Listener/ClearNotificationsTest.php46
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Listener/ProviderDisabledTest.php47
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Listener/ProviderEnabledTest.php47
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Listener/RegistryUpdaterTest.php39
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Migration/CheckBackupCodeTest.php34
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Notification/NotifierTest.php50
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Provider/BackupCodesProviderTest.php86
-rw-r--r--apps/twofactor_backupcodes/tests/Unit/Service/BackupCodeStorageTest.php60
194 files changed, 1469 insertions, 2012 deletions
diff --git a/apps/twofactor_backupcodes/.l10nignore b/apps/twofactor_backupcodes/.l10nignore
index 6a63c9d5138..cceeb774628 100644
--- a/apps/twofactor_backupcodes/.l10nignore
+++ b/apps/twofactor_backupcodes/.l10nignore
@@ -1 +1,3 @@
+# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+# SPDX-License-Identifier: AGPL-3.0-or-later
js/
diff --git a/apps/twofactor_backupcodes/.noopenapi b/apps/twofactor_backupcodes/.noopenapi
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/twofactor_backupcodes/.noopenapi
diff --git a/apps/twofactor_backupcodes/appinfo/info.xml b/apps/twofactor_backupcodes/appinfo/info.xml
index bda0c18e3ed..48a96e3fa15 100644
--- a/apps/twofactor_backupcodes/appinfo/info.xml
+++ b/apps/twofactor_backupcodes/appinfo/info.xml
@@ -1,11 +1,15 @@
<?xml version="1.0"?>
+<!--
+ - SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
<id>twofactor_backupcodes</id>
<name>Two factor backup codes</name>
<summary>A two-factor auth backup codes provider</summary>
<description>A two-factor auth backup codes provider</description>
- <version>1.14.0</version>
+ <version>1.21.0</version>
<licence>agpl</licence>
<author>Christoph Wurst</author>
<namespace>TwoFactorBackupCodes</namespace>
@@ -13,7 +17,7 @@
<category>security</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
- <nextcloud min-version="25" max-version="25"/>
+ <nextcloud min-version="32" max-version="32"/>
</dependencies>
<repair-steps>
diff --git a/apps/twofactor_backupcodes/appinfo/routes.php b/apps/twofactor_backupcodes/appinfo/routes.php
index 5339cc26e9a..958e319c49d 100644
--- a/apps/twofactor_backupcodes/appinfo/routes.php
+++ b/apps/twofactor_backupcodes/appinfo/routes.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
// @codeCoverageIgnoreStart
return [
diff --git a/apps/twofactor_backupcodes/composer/autoload.php b/apps/twofactor_backupcodes/composer/autoload.php
index 091a9b4fefa..fee47fcf513 100644
--- a/apps/twofactor_backupcodes/composer/autoload.php
+++ b/apps/twofactor_backupcodes/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/twofactor_backupcodes/composer/composer/ClassLoader.php b/apps/twofactor_backupcodes/composer/composer/ClassLoader.php
index afef3fa2ad8..7824d8f7eaf 100644
--- a/apps/twofactor_backupcodes/composer/composer/ClassLoader.php
+++ b/apps/twofactor_backupcodes/composer/composer/ClassLoader.php
@@ -42,35 +42,37 @@ namespace Composer\Autoload;
*/
class ClassLoader
{
- /** @var ?string */
+ /** @var \Closure(string):void */
+ private static $includeFile;
+
+ /** @var string|null */
private $vendorDir;
// PSR-4
/**
- * @var array[]
- * @psalm-var array<string, array<string, int>>
+ * @var array<string, array<string, int>>
*/
private $prefixLengthsPsr4 = array();
/**
- * @var array[]
- * @psalm-var array<string, array<int, string>>
+ * @var array<string, list<string>>
*/
private $prefixDirsPsr4 = array();
/**
- * @var array[]
- * @psalm-var array<string, string>
+ * @var list<string>
*/
private $fallbackDirsPsr4 = array();
// PSR-0
/**
- * @var array[]
- * @psalm-var array<string, array<string, string[]>>
+ * List of PSR-0 prefixes
+ *
+ * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2')))
+ *
+ * @var array<string, array<string, list<string>>>
*/
private $prefixesPsr0 = array();
/**
- * @var array[]
- * @psalm-var array<string, string>
+ * @var list<string>
*/
private $fallbackDirsPsr0 = array();
@@ -78,8 +80,7 @@ class ClassLoader
private $useIncludePath = false;
/**
- * @var string[]
- * @psalm-var array<string, string>
+ * @var array<string, string>
*/
private $classMap = array();
@@ -87,29 +88,29 @@ class ClassLoader
private $classMapAuthoritative = false;
/**
- * @var bool[]
- * @psalm-var array<string, bool>
+ * @var array<string, bool>
*/
private $missingClasses = array();
- /** @var ?string */
+ /** @var string|null */
private $apcuPrefix;
/**
- * @var self[]
+ * @var array<string, self>
*/
private static $registeredLoaders = array();
/**
- * @param ?string $vendorDir
+ * @param string|null $vendorDir
*/
public function __construct($vendorDir = null)
{
$this->vendorDir = $vendorDir;
+ self::initializeIncludeClosure();
}
/**
- * @return string[]
+ * @return array<string, list<string>>
*/
public function getPrefixes()
{
@@ -121,8 +122,7 @@ class ClassLoader
}
/**
- * @return array[]
- * @psalm-return array<string, array<int, string>>
+ * @return array<string, list<string>>
*/
public function getPrefixesPsr4()
{
@@ -130,8 +130,7 @@ class ClassLoader
}
/**
- * @return array[]
- * @psalm-return array<string, string>
+ * @return list<string>
*/
public function getFallbackDirs()
{
@@ -139,8 +138,7 @@ class ClassLoader
}
/**
- * @return array[]
- * @psalm-return array<string, string>
+ * @return list<string>
*/
public function getFallbackDirsPsr4()
{
@@ -148,8 +146,7 @@ class ClassLoader
}
/**
- * @return string[] Array of classname => path
- * @psalm-return array<string, string>
+ * @return array<string, string> Array of classname => path
*/
public function getClassMap()
{
@@ -157,8 +154,7 @@ class ClassLoader
}
/**
- * @param string[] $classMap Class to filename map
- * @psalm-param array<string, string> $classMap
+ * @param array<string, string> $classMap Class to filename map
*
* @return void
*/
@@ -175,24 +171,25 @@ class ClassLoader
* Registers a set of PSR-0 directories for a given prefix, either
* appending or prepending to the ones previously set for this prefix.
*
- * @param string $prefix The prefix
- * @param string[]|string $paths The PSR-0 root directories
- * @param bool $prepend Whether to prepend the directories
+ * @param string $prefix The prefix
+ * @param list<string>|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
*
* @return void
*/
public function add($prefix, $paths, $prepend = false)
{
+ $paths = (array) $paths;
if (!$prefix) {
if ($prepend) {
$this->fallbackDirsPsr0 = array_merge(
- (array) $paths,
+ $paths,
$this->fallbackDirsPsr0
);
} else {
$this->fallbackDirsPsr0 = array_merge(
$this->fallbackDirsPsr0,
- (array) $paths
+ $paths
);
}
@@ -201,19 +198,19 @@ class ClassLoader
$first = $prefix[0];
if (!isset($this->prefixesPsr0[$first][$prefix])) {
- $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+ $this->prefixesPsr0[$first][$prefix] = $paths;
return;
}
if ($prepend) {
$this->prefixesPsr0[$first][$prefix] = array_merge(
- (array) $paths,
+ $paths,
$this->prefixesPsr0[$first][$prefix]
);
} else {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$this->prefixesPsr0[$first][$prefix],
- (array) $paths
+ $paths
);
}
}
@@ -222,9 +219,9 @@ class ClassLoader
* Registers a set of PSR-4 directories for a given namespace, either
* appending or prepending to the ones previously set for this namespace.
*
- * @param string $prefix The prefix/namespace, with trailing '\\'
- * @param string[]|string $paths The PSR-4 base directories
- * @param bool $prepend Whether to prepend the directories
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param list<string>|string $paths The PSR-4 base directories
+ * @param bool $prepend Whether to prepend the directories
*
* @throws \InvalidArgumentException
*
@@ -232,17 +229,18 @@ class ClassLoader
*/
public function addPsr4($prefix, $paths, $prepend = false)
{
+ $paths = (array) $paths;
if (!$prefix) {
// Register directories for the root namespace.
if ($prepend) {
$this->fallbackDirsPsr4 = array_merge(
- (array) $paths,
+ $paths,
$this->fallbackDirsPsr4
);
} else {
$this->fallbackDirsPsr4 = array_merge(
$this->fallbackDirsPsr4,
- (array) $paths
+ $paths
);
}
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
@@ -252,18 +250,18 @@ class ClassLoader
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
- $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ $this->prefixDirsPsr4[$prefix] = $paths;
} elseif ($prepend) {
// Prepend directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
- (array) $paths,
+ $paths,
$this->prefixDirsPsr4[$prefix]
);
} else {
// Append directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$this->prefixDirsPsr4[$prefix],
- (array) $paths
+ $paths
);
}
}
@@ -272,8 +270,8 @@ class ClassLoader
* Registers a set of PSR-0 directories for a given prefix,
* replacing any others previously set for this prefix.
*
- * @param string $prefix The prefix
- * @param string[]|string $paths The PSR-0 base directories
+ * @param string $prefix The prefix
+ * @param list<string>|string $paths The PSR-0 base directories
*
* @return void
*/
@@ -290,8 +288,8 @@ class ClassLoader
* Registers a set of PSR-4 directories for a given namespace,
* replacing any others previously set for this namespace.
*
- * @param string $prefix The prefix/namespace, with trailing '\\'
- * @param string[]|string $paths The PSR-4 base directories
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param list<string>|string $paths The PSR-4 base directories
*
* @throws \InvalidArgumentException
*
@@ -425,7 +423,8 @@ class ClassLoader
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
- includeFile($file);
+ $includeFile = self::$includeFile;
+ $includeFile($file);
return true;
}
@@ -476,9 +475,9 @@ class ClassLoader
}
/**
- * Returns the currently registered loaders indexed by their corresponding vendor directories.
+ * Returns the currently registered loaders keyed by their corresponding vendor directories.
*
- * @return self[]
+ * @return array<string, self>
*/
public static function getRegisteredLoaders()
{
@@ -555,18 +554,26 @@ class ClassLoader
return false;
}
-}
-/**
- * Scope isolated include.
- *
- * Prevents access to $this/self from included files.
- *
- * @param string $file
- * @return void
- * @private
- */
-function includeFile($file)
-{
- include $file;
+ /**
+ * @return void
+ */
+ private static function initializeIncludeClosure()
+ {
+ if (self::$includeFile !== null) {
+ return;
+ }
+
+ /**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ *
+ * @param string $file
+ * @return void
+ */
+ self::$includeFile = \Closure::bind(static function($file) {
+ include $file;
+ }, null, null);
+ }
}
diff --git a/apps/twofactor_backupcodes/composer/composer/InstalledVersions.php b/apps/twofactor_backupcodes/composer/composer/InstalledVersions.php
index 41bc143c114..51e734a774b 100644
--- a/apps/twofactor_backupcodes/composer/composer/InstalledVersions.php
+++ b/apps/twofactor_backupcodes/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -98,7 +98,7 @@ class InstalledVersions
{
foreach (self::getInstalled() as $installed) {
if (isset($installed['versions'][$packageName])) {
- return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
+ return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
}
}
@@ -119,7 +119,7 @@ class InstalledVersions
*/
public static function satisfies(VersionParser $parser, $packageName, $constraint)
{
- $constraint = $parser->parseConstraints($constraint);
+ $constraint = $parser->parseConstraints((string) $constraint);
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
return $provided->matches($constraint);
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
@@ -328,7 +328,9 @@ class InstalledVersions
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
- $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
+ /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
+ $required = require $vendorDir.'/composer/installed.php';
+ $installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
}
@@ -340,12 +342,17 @@ class InstalledVersions
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
- self::$installed = require __DIR__ . '/installed.php';
+ /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
+ $required = require __DIR__ . '/installed.php';
+ self::$installed = $required;
} else {
self::$installed = array();
}
}
- $installed[] = self::$installed;
+
+ if (self::$installed !== array()) {
+ $installed[] = self::$installed;
+ }
return $installed;
}
diff --git a/apps/twofactor_backupcodes/composer/composer/installed.php b/apps/twofactor_backupcodes/composer/composer/installed.php
index 5440719fa40..1a66c7f2416 100644
--- a/apps/twofactor_backupcodes/composer/composer/installed.php
+++ b/apps/twofactor_backupcodes/composer/composer/installed.php
@@ -1,22 +1,22 @@
<?php return array(
'root' => array(
+ 'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
+ 'reference' => 'b1797842784b250fb01ed5e3bf130705eb94751b',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
- 'reference' => 'c6429e6cd19c57582364338362e543580821cf99',
- 'name' => '__root__',
'dev' => false,
),
'versions' => array(
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
+ 'reference' => 'b1797842784b250fb01ed5e3bf130705eb94751b',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
- 'reference' => 'c6429e6cd19c57582364338362e543580821cf99',
'dev_requirement' => false,
),
),
diff --git a/apps/twofactor_backupcodes/css/style.css b/apps/twofactor_backupcodes/css/style.css
index 33b7e85e11c..8df541fe3dc 100644
--- a/apps/twofactor_backupcodes/css/style.css
+++ b/apps/twofactor_backupcodes/css/style.css
@@ -1,20 +1,24 @@
+/**
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
.challenge-form {
margin: 16px auto 1px !important;
}
.challenge {
margin-top: 0 !important;
- margin-left: 0 !important;
+ margin-inline-start: 0 !important;
box-sizing: border-box !important;
width: 100% !important;
}
.confirm-inline {
position: absolute;
- right: 0;
+ inset-inline-end: 0;
top: 0;
margin: 0 !important;
- padding-right: 25px !important;
+ padding-inline-end: 25px !important;
background-color: transparent !important;
border: none !important;
opacity: .5;
diff --git a/apps/twofactor_backupcodes/l10n/af.js b/apps/twofactor_backupcodes/l10n/af.js
index c6c6dfff8b1..cdd9083fbc7 100644
--- a/apps/twofactor_backupcodes/l10n/af.js
+++ b/apps/twofactor_backupcodes/l10n/af.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "Rugsteunkode",
"Use backup code" : "Gebruik rugsteunkode",
"Two factor backup codes" : "Tweefaktorrugsteunkodes",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dit is u rugsteunkodes. Bewaar dit of druk dit af aangesien u later nie hierdie kodes sal kan lees nie",
+ "An error occurred while generating your backup codes" : "’n fout het voorgekom tydens generering van u rugsteunkodes",
"Save backup codes" : "Bewaar rugsteunkodes",
"Print backup codes" : "Druk rugsteunkodes",
"Regenerate backup codes" : "Hergenereer rugsteunkodes",
"If you regenerate backup codes, you automatically invalidate old codes." : "Indien u rugsteunkodes hergenereer maak u outomaties die ou kodes ongeldig.",
- "An error occurred while generating your backup codes" : "’n fout het voorgekom tydens generering van u rugsteunkodes",
"Submit" : "Dien in"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/af.json b/apps/twofactor_backupcodes/l10n/af.json
index d101e76d5fb..c4fc9d35c4c 100644
--- a/apps/twofactor_backupcodes/l10n/af.json
+++ b/apps/twofactor_backupcodes/l10n/af.json
@@ -5,12 +5,11 @@
"Backup code" : "Rugsteunkode",
"Use backup code" : "Gebruik rugsteunkode",
"Two factor backup codes" : "Tweefaktorrugsteunkodes",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dit is u rugsteunkodes. Bewaar dit of druk dit af aangesien u later nie hierdie kodes sal kan lees nie",
+ "An error occurred while generating your backup codes" : "’n fout het voorgekom tydens generering van u rugsteunkodes",
"Save backup codes" : "Bewaar rugsteunkodes",
"Print backup codes" : "Druk rugsteunkodes",
"Regenerate backup codes" : "Hergenereer rugsteunkodes",
"If you regenerate backup codes, you automatically invalidate old codes." : "Indien u rugsteunkodes hergenereer maak u outomaties die ou kodes ongeldig.",
- "An error occurred while generating your backup codes" : "’n fout het voorgekom tydens generering van u rugsteunkodes",
"Submit" : "Dien in"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/ar.js b/apps/twofactor_backupcodes/l10n/ar.js
new file mode 100644
index 00000000000..0c5f32cbf3d
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ar.js
@@ -0,0 +1,23 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "You created two-factor backup codes for your account" : "لقد قمت بتوليد الأكواد الاحتياطية للدخول مع التحقق ثنائي العوامل لحسابك",
+ "Second-factor backup codes" : "الأكواد الاحتياطية للعامل الثاني في الدخول مع التحقق ثنائي العوامل من الهوية",
+ "Generate backup codes" : "توليد رموز الاسترجاع الاحتياطية",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "لقد قمت بتمكين التحقّق المثنى من الهوية لكنك لم تقم بتوليد الأكواد الاحتياطية بعد. ستحتاج هذه الأكواد لاسترجاع حق الدخول لحسابك إذا ما ضاع عاملك الثاني في الدخول.",
+ "Backup code" : "الرمز الاحتياطي",
+ "Use backup code" : "إستخدم الرمز الإحتياطي",
+ "Two factor backup codes" : "الأكواد الاحتياطية للتحقق ثنائي العوامل",
+ "A two-factor auth backup codes provider" : "مزوّد الأكواد الاحتياطية للتحقق ثنائي العوامل من الهويّة",
+ "An error occurred while generating your backup codes" : "حدث خطأ عند توليد أكوادك الاحتياطية",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "تمّ توليد الأكواد الاحتياطية. {used} من {total} تمّ استخدامها.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "هذه هي الرموز الاحتياطية الخاصة بك. يرجى حفظها و/أو طباعتها لأنك لن تتمكن من قراءة الرموز لاحقًا.",
+ "Save backup codes" : "الإحتفاظ بالرموز الإحتياطية",
+ "Print backup codes" : "طباعة الرموز الإحتياطية",
+ "Regenerate backup codes" : "إعادة توليد رموز الإسترجاع الإحتياطية",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "عندما تقوم بتوليد أكواد احتياطية جديدة، فإن الأكواد القديمة تفقد صلاحيتها تلقائيّتاً.",
+ "{name} backup codes" : "{name} أكواد احتياطية",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "استخدم واحداً من الأكواد الاحتياطية التي سبق و أن خزنتها عند تجهيز إعدادات التحقق ثنائي العوامل من الهويّة.",
+ "Submit" : "إرسال "
+},
+"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
diff --git a/apps/twofactor_backupcodes/l10n/ar.json b/apps/twofactor_backupcodes/l10n/ar.json
new file mode 100644
index 00000000000..0e496b1fb71
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ar.json
@@ -0,0 +1,21 @@
+{ "translations": {
+ "You created two-factor backup codes for your account" : "لقد قمت بتوليد الأكواد الاحتياطية للدخول مع التحقق ثنائي العوامل لحسابك",
+ "Second-factor backup codes" : "الأكواد الاحتياطية للعامل الثاني في الدخول مع التحقق ثنائي العوامل من الهوية",
+ "Generate backup codes" : "توليد رموز الاسترجاع الاحتياطية",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "لقد قمت بتمكين التحقّق المثنى من الهوية لكنك لم تقم بتوليد الأكواد الاحتياطية بعد. ستحتاج هذه الأكواد لاسترجاع حق الدخول لحسابك إذا ما ضاع عاملك الثاني في الدخول.",
+ "Backup code" : "الرمز الاحتياطي",
+ "Use backup code" : "إستخدم الرمز الإحتياطي",
+ "Two factor backup codes" : "الأكواد الاحتياطية للتحقق ثنائي العوامل",
+ "A two-factor auth backup codes provider" : "مزوّد الأكواد الاحتياطية للتحقق ثنائي العوامل من الهويّة",
+ "An error occurred while generating your backup codes" : "حدث خطأ عند توليد أكوادك الاحتياطية",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "تمّ توليد الأكواد الاحتياطية. {used} من {total} تمّ استخدامها.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "هذه هي الرموز الاحتياطية الخاصة بك. يرجى حفظها و/أو طباعتها لأنك لن تتمكن من قراءة الرموز لاحقًا.",
+ "Save backup codes" : "الإحتفاظ بالرموز الإحتياطية",
+ "Print backup codes" : "طباعة الرموز الإحتياطية",
+ "Regenerate backup codes" : "إعادة توليد رموز الإسترجاع الإحتياطية",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "عندما تقوم بتوليد أكواد احتياطية جديدة، فإن الأكواد القديمة تفقد صلاحيتها تلقائيّتاً.",
+ "{name} backup codes" : "{name} أكواد احتياطية",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "استخدم واحداً من الأكواد الاحتياطية التي سبق و أن خزنتها عند تجهيز إعدادات التحقق ثنائي العوامل من الهويّة.",
+ "Submit" : "إرسال "
+},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
+} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/ast.js b/apps/twofactor_backupcodes/l10n/ast.js
index 9c594ff6ad1..787fc3bf72f 100644
--- a/apps/twofactor_backupcodes/l10n/ast.js
+++ b/apps/twofactor_backupcodes/l10n/ast.js
@@ -1,14 +1,22 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "Generate backup codes" : "Xenerar códigos de respaldu",
- "Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Xeneráronse los códigos de respaldu. Usáronse {{used}} de {{total}} códigos.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son los códigos de respaldu. Guárdalos y/o impréntalos darréu que nun sedrás a lleelos de nueves más sero",
- "Save backup codes" : "Guardar códigos de respaldu",
- "Regenerate backup codes" : "Rexenerar códigos de respaldu",
- "An error occurred while generating your backup codes" : "Asocedió un fallu entrín se xeneraben los tos códigos de respaldu",
- "Nextcloud backup codes" : "Códigos de respaldu de Nextcloud",
- "You created two-factor backup codes for your account" : "Creesti códigos de respaldu pa l'autenticación en dos pasos de la to cuenta",
- "Use backup code" : "Usar códigu de respaldu"
+ "You created two-factor backup codes for your account" : "Creesti los códigos de recuperación pa l'autenticación en dos pasos de la to cuenta",
+ "Second-factor backup codes" : "Códigos de recuperación de l'autenticación en dos pasos",
+ "Generate backup codes" : "Xenerar códigos de recuperación",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Activesti l'autenticación en dos pasos mas entá nun xeneresti nengún códigu de recuperación. Estos códigos precísense pa recuperar l'accesu a la to cuenta en casu de perder l'autenticación en dos pasos.",
+ "Backup code" : "Códigu de recuperación",
+ "Use backup code" : "Usar un códigu de recuperación",
+ "Two factor backup codes" : "Códigos de recuperación de l'autenticación en dos pasos",
+ "A two-factor auth backup codes provider" : "Un fornidor de códigos de recuperación pa l'autenticación en dos pasos",
+ "An error occurred while generating your backup codes" : "Prodúxose un error mentanto se xeneraben los códigos de recuperación",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Xeneráronse los códigos de recuperación y usáronse {used} de {total} códigos.",
+ "Save backup codes" : "Guardar los códigos de recuperación",
+ "Print backup codes" : "Imprentar los códigos de recuperación",
+ "Regenerate backup codes" : "Volver xenerar los códigos de recuperación",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Si vuelves xenerar los códigos de recuperación, anules automáticamente los antiguos.",
+ "{name} backup codes" : "Códigos de recuperación de: {name}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Usa unu de los códigos de recuperación que guardesti cuando configuresti l'autenticación en dos pasos.",
+ "Submit" : "Unviar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/ast.json b/apps/twofactor_backupcodes/l10n/ast.json
index 89c231dfe00..ff63a8a9cf4 100644
--- a/apps/twofactor_backupcodes/l10n/ast.json
+++ b/apps/twofactor_backupcodes/l10n/ast.json
@@ -1,12 +1,20 @@
{ "translations": {
- "Generate backup codes" : "Xenerar códigos de respaldu",
- "Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Xeneráronse los códigos de respaldu. Usáronse {{used}} de {{total}} códigos.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son los códigos de respaldu. Guárdalos y/o impréntalos darréu que nun sedrás a lleelos de nueves más sero",
- "Save backup codes" : "Guardar códigos de respaldu",
- "Regenerate backup codes" : "Rexenerar códigos de respaldu",
- "An error occurred while generating your backup codes" : "Asocedió un fallu entrín se xeneraben los tos códigos de respaldu",
- "Nextcloud backup codes" : "Códigos de respaldu de Nextcloud",
- "You created two-factor backup codes for your account" : "Creesti códigos de respaldu pa l'autenticación en dos pasos de la to cuenta",
- "Use backup code" : "Usar códigu de respaldu"
+ "You created two-factor backup codes for your account" : "Creesti los códigos de recuperación pa l'autenticación en dos pasos de la to cuenta",
+ "Second-factor backup codes" : "Códigos de recuperación de l'autenticación en dos pasos",
+ "Generate backup codes" : "Xenerar códigos de recuperación",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Activesti l'autenticación en dos pasos mas entá nun xeneresti nengún códigu de recuperación. Estos códigos precísense pa recuperar l'accesu a la to cuenta en casu de perder l'autenticación en dos pasos.",
+ "Backup code" : "Códigu de recuperación",
+ "Use backup code" : "Usar un códigu de recuperación",
+ "Two factor backup codes" : "Códigos de recuperación de l'autenticación en dos pasos",
+ "A two-factor auth backup codes provider" : "Un fornidor de códigos de recuperación pa l'autenticación en dos pasos",
+ "An error occurred while generating your backup codes" : "Prodúxose un error mentanto se xeneraben los códigos de recuperación",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Xeneráronse los códigos de recuperación y usáronse {used} de {total} códigos.",
+ "Save backup codes" : "Guardar los códigos de recuperación",
+ "Print backup codes" : "Imprentar los códigos de recuperación",
+ "Regenerate backup codes" : "Volver xenerar los códigos de recuperación",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Si vuelves xenerar los códigos de recuperación, anules automáticamente los antiguos.",
+ "{name} backup codes" : "Códigos de recuperación de: {name}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Usa unu de los códigos de recuperación que guardesti cuando configuresti l'autenticación en dos pasos.",
+ "Submit" : "Unviar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/bg.js b/apps/twofactor_backupcodes/l10n/bg.js
index 734275a33f6..a690b5d6afe 100644
--- a/apps/twofactor_backupcodes/l10n/bg.js
+++ b/apps/twofactor_backupcodes/l10n/bg.js
@@ -9,13 +9,12 @@ OC.L10N.register(
"Use backup code" : "Използвай код за възстановяване",
"Two factor backup codes" : "Двустепенни резервни кодове",
"A two-factor auth backup codes provider" : "Доставчик на двустепенни резервни кодове за удостоверяване",
+ "An error occurred while generating your backup codes" : "Възникна грешка при генерирането на резервния код",
"Backup codes have been generated. {used} of {total} codes have been used." : "Резервен код е бил генериран. Използвани са {used} от {total} кода.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Това е вашия резервен код. Моля, запишете го (или го принтирайте) защото по-късно няма да имате възможност да го видите.",
"Save backup codes" : "Записване на резервния код",
"Print backup codes" : "Принтиране на резервния код",
"Regenerate backup codes" : "Регенериране на резервния код",
"If you regenerate backup codes, you automatically invalidate old codes." : "При регенерирането на резервния код, стария код автоматично бива анулиран.",
- "An error occurred while generating your backup codes" : "Възникна грешка при генерирането на резервния код",
"{name} backup codes" : "{name} резервни кодове",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Използвайте един от резервните кодове, които сте запазили, когато настройвате двустепенно удостоверяване.",
"Submit" : "Изпращане"
diff --git a/apps/twofactor_backupcodes/l10n/bg.json b/apps/twofactor_backupcodes/l10n/bg.json
index 3775136fd2e..8a60d037158 100644
--- a/apps/twofactor_backupcodes/l10n/bg.json
+++ b/apps/twofactor_backupcodes/l10n/bg.json
@@ -7,13 +7,12 @@
"Use backup code" : "Използвай код за възстановяване",
"Two factor backup codes" : "Двустепенни резервни кодове",
"A two-factor auth backup codes provider" : "Доставчик на двустепенни резервни кодове за удостоверяване",
+ "An error occurred while generating your backup codes" : "Възникна грешка при генерирането на резервния код",
"Backup codes have been generated. {used} of {total} codes have been used." : "Резервен код е бил генериран. Използвани са {used} от {total} кода.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Това е вашия резервен код. Моля, запишете го (или го принтирайте) защото по-късно няма да имате възможност да го видите.",
"Save backup codes" : "Записване на резервния код",
"Print backup codes" : "Принтиране на резервния код",
"Regenerate backup codes" : "Регенериране на резервния код",
"If you regenerate backup codes, you automatically invalidate old codes." : "При регенерирането на резервния код, стария код автоматично бива анулиран.",
- "An error occurred while generating your backup codes" : "Възникна грешка при генерирането на резервния код",
"{name} backup codes" : "{name} резервни кодове",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Използвайте един от резервните кодове, които сте запазили, когато настройвате двустепенно удостоверяване.",
"Submit" : "Изпращане"
diff --git a/apps/twofactor_backupcodes/l10n/ca.js b/apps/twofactor_backupcodes/l10n/ca.js
index 095c9daa747..a530ac84138 100644
--- a/apps/twofactor_backupcodes/l10n/ca.js
+++ b/apps/twofactor_backupcodes/l10n/ca.js
@@ -1,23 +1,23 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "Heu creat els codis de seguretat de dos factors per al vostre compte",
- "Second-factor backup codes" : "Codis de seguretat de segon factor",
- "Generate backup codes" : "Genera els codis de seguretat",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Heu activat l'autenticació de dos factors però encara no heu generat els codis de seguretat. Aquests són necessaris per restablir l'accés al vostre compte en cas de perdre el vostre segon factor.",
- "Backup code" : "Codi de seguretat",
- "Use backup code" : "Utilitza un codi de seguretat",
- "Two factor backup codes" : "Codis de seguretat de l'autenticació en dos factors",
- "A two-factor auth backup codes provider" : "Proveïdor de codis de seguretat d'autenticació en dos factors",
- "Backup codes have been generated. {used} of {total} codes have been used." : "S'han generat els codis de seguretat. S'han fet servir {used} de {total} codis.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Aquests són els vostres codis de seguretat. Si us plau, deseu-los i/o imprimiu-los ja que no podreu tornar-los a llegir després",
- "Save backup codes" : "Desa els codis de seguretat",
- "Print backup codes" : "Imprimeix codis de seguretat",
- "Regenerate backup codes" : "Regenera els codis de seguretat",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Si regenereu els codis de seguretat, invalidareu automàticament els codis antics.",
- "An error occurred while generating your backup codes" : "S'ha produït un error mentre es generaven els codis de seguretat",
- "{name} backup codes" : "Codis de seguretat {name}",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Feu servir un dels codis de seguretat que heu desat quan he configurat l’autenticació de dos factors.",
+ "You created two-factor backup codes for your account" : "Heu creat els codis de reserva de dos factors per al vostre compte",
+ "Second-factor backup codes" : "Codis de reserva de dos factors",
+ "Generate backup codes" : "Genera els codis de reserva",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Heu habilitat l'autenticació de dos factors, però encara no heu generat codis de reserva. Els necessitareu per a restablir l'accés al compte si perdeu el segon factor.",
+ "Backup code" : "Codi de reserva",
+ "Use backup code" : "Utilitza un codi de reserva",
+ "Two factor backup codes" : "Codis de reserva de l'autenticació de dos factors",
+ "A two-factor auth backup codes provider" : "Proveïdor de codis de reserva de l'autenticació de dos factors",
+ "An error occurred while generating your backup codes" : "S'ha produït un error en generar els codis de reserva",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "S'han generat els codis de reserva. Heu utilitzat {used} de {total} codis.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Aquests són els vostres codis de reserva. Deseu-los o imprimiu-los, ja que no podreu tornar-los a consultar més tard.",
+ "Save backup codes" : "Desa els codis de reserva",
+ "Print backup codes" : "Imprimeix els codis de reserva",
+ "Regenerate backup codes" : "Torna a generar els codis de reserva",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Si torneu a generar els codis de reserva, anul·lareu automàticament els codis antics.",
+ "{name} backup codes" : "Codis de seguretat per a {name}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Utilitzeu un dels codis de reserva que vau desar en configurar l'autenticació de dos factors.",
"Submit" : "Envia"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/ca.json b/apps/twofactor_backupcodes/l10n/ca.json
index a30bc2a8ef9..a57edf504f4 100644
--- a/apps/twofactor_backupcodes/l10n/ca.json
+++ b/apps/twofactor_backupcodes/l10n/ca.json
@@ -1,21 +1,21 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "Heu creat els codis de seguretat de dos factors per al vostre compte",
- "Second-factor backup codes" : "Codis de seguretat de segon factor",
- "Generate backup codes" : "Genera els codis de seguretat",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Heu activat l'autenticació de dos factors però encara no heu generat els codis de seguretat. Aquests són necessaris per restablir l'accés al vostre compte en cas de perdre el vostre segon factor.",
- "Backup code" : "Codi de seguretat",
- "Use backup code" : "Utilitza un codi de seguretat",
- "Two factor backup codes" : "Codis de seguretat de l'autenticació en dos factors",
- "A two-factor auth backup codes provider" : "Proveïdor de codis de seguretat d'autenticació en dos factors",
- "Backup codes have been generated. {used} of {total} codes have been used." : "S'han generat els codis de seguretat. S'han fet servir {used} de {total} codis.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Aquests són els vostres codis de seguretat. Si us plau, deseu-los i/o imprimiu-los ja que no podreu tornar-los a llegir després",
- "Save backup codes" : "Desa els codis de seguretat",
- "Print backup codes" : "Imprimeix codis de seguretat",
- "Regenerate backup codes" : "Regenera els codis de seguretat",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Si regenereu els codis de seguretat, invalidareu automàticament els codis antics.",
- "An error occurred while generating your backup codes" : "S'ha produït un error mentre es generaven els codis de seguretat",
- "{name} backup codes" : "Codis de seguretat {name}",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Feu servir un dels codis de seguretat que heu desat quan he configurat l’autenticació de dos factors.",
+ "You created two-factor backup codes for your account" : "Heu creat els codis de reserva de dos factors per al vostre compte",
+ "Second-factor backup codes" : "Codis de reserva de dos factors",
+ "Generate backup codes" : "Genera els codis de reserva",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Heu habilitat l'autenticació de dos factors, però encara no heu generat codis de reserva. Els necessitareu per a restablir l'accés al compte si perdeu el segon factor.",
+ "Backup code" : "Codi de reserva",
+ "Use backup code" : "Utilitza un codi de reserva",
+ "Two factor backup codes" : "Codis de reserva de l'autenticació de dos factors",
+ "A two-factor auth backup codes provider" : "Proveïdor de codis de reserva de l'autenticació de dos factors",
+ "An error occurred while generating your backup codes" : "S'ha produït un error en generar els codis de reserva",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "S'han generat els codis de reserva. Heu utilitzat {used} de {total} codis.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Aquests són els vostres codis de reserva. Deseu-los o imprimiu-los, ja que no podreu tornar-los a consultar més tard.",
+ "Save backup codes" : "Desa els codis de reserva",
+ "Print backup codes" : "Imprimeix els codis de reserva",
+ "Regenerate backup codes" : "Torna a generar els codis de reserva",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Si torneu a generar els codis de reserva, anul·lareu automàticament els codis antics.",
+ "{name} backup codes" : "Codis de seguretat per a {name}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Utilitzeu un dels codis de reserva que vau desar en configurar l'autenticació de dos factors.",
"Submit" : "Envia"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/cs.js b/apps/twofactor_backupcodes/l10n/cs.js
index 3b8731d8bf9..cfb0cf59dc3 100644
--- a/apps/twofactor_backupcodes/l10n/cs.js
+++ b/apps/twofactor_backupcodes/l10n/cs.js
@@ -1,21 +1,21 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "Vytvořili jste záložní kódy dvoufázového ověření pro váš účet",
+ "You created two-factor backup codes for your account" : "Vytvořili jste záložní kódy pro dvoufázové ověřování se pro svůj účet",
"Second-factor backup codes" : "Záložní kódy pro dvoufázové ověřování",
"Generate backup codes" : "Vytvořit záložní kódy",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Zapnuli jste si dvouúrovňové ověřování, ale doposud nenechali vytvořit záložní kódy. Ty jsou potřebné pro obnovení přístupu k vašemu účtu v případě, že ztratíte druhý faktor.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Zapnuli jste si dvoufázové ověřování, ale doposud nenechali vytvořit záložní kódy. Ty jsou potřebné pro obnovení přístupu k vašemu účtu v případě, že ztratíte druhý faktor.",
"Backup code" : "Záložní kód",
"Use backup code" : "Použít záložní kód",
"Two factor backup codes" : "Záložní kódy pro dvoufázové ověřování",
- "A two-factor auth backup codes provider" : "Poskytovatel záložních kódů pro dvoustupňové ověřování",
+ "A two-factor auth backup codes provider" : "Poskytovatel záložních kódů pro dvoufázové ověřování",
+ "An error occurred while generating your backup codes" : "Při pokusu o vytvoření záložních kódů nastala chyba.",
"Backup codes have been generated. {used} of {total} codes have been used." : "Záložní kódy byly vytvořeny. Využito {used} z {total} kódů.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Zde jsou vaše záložní kódy. Kódy si uložte a/nebo vytiskněte, protože už je nebude možné zobrazit znovu.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Zde jsou vaše záložní kódy. Kódy si uložte a/nebo vytiskněte, protože už je nebude možné zobrazit znovu.",
"Save backup codes" : "Uložit záložní kódy",
"Print backup codes" : "Vytisknout záložní kódy",
"Regenerate backup codes" : "Vytvořit nové záložní kódy",
"If you regenerate backup codes, you automatically invalidate old codes." : "Pokud necháte vytvořit nové záložní kódy, staré budou automaticky zneplatněny.",
- "An error occurred while generating your backup codes" : "Při pokusu o vytvoření záložních kódů nastala chyba.",
"{name} backup codes" : "{name} záložní kódy",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Použijte jeden ze svých záložních kódů které jste si uložili při nastavování dvoufázového ověřování.",
"Submit" : "Odeslat"
diff --git a/apps/twofactor_backupcodes/l10n/cs.json b/apps/twofactor_backupcodes/l10n/cs.json
index 492a91274fc..199c42c7e99 100644
--- a/apps/twofactor_backupcodes/l10n/cs.json
+++ b/apps/twofactor_backupcodes/l10n/cs.json
@@ -1,19 +1,19 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "Vytvořili jste záložní kódy dvoufázového ověření pro váš účet",
+ "You created two-factor backup codes for your account" : "Vytvořili jste záložní kódy pro dvoufázové ověřování se pro svůj účet",
"Second-factor backup codes" : "Záložní kódy pro dvoufázové ověřování",
"Generate backup codes" : "Vytvořit záložní kódy",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Zapnuli jste si dvouúrovňové ověřování, ale doposud nenechali vytvořit záložní kódy. Ty jsou potřebné pro obnovení přístupu k vašemu účtu v případě, že ztratíte druhý faktor.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Zapnuli jste si dvoufázové ověřování, ale doposud nenechali vytvořit záložní kódy. Ty jsou potřebné pro obnovení přístupu k vašemu účtu v případě, že ztratíte druhý faktor.",
"Backup code" : "Záložní kód",
"Use backup code" : "Použít záložní kód",
"Two factor backup codes" : "Záložní kódy pro dvoufázové ověřování",
- "A two-factor auth backup codes provider" : "Poskytovatel záložních kódů pro dvoustupňové ověřování",
+ "A two-factor auth backup codes provider" : "Poskytovatel záložních kódů pro dvoufázové ověřování",
+ "An error occurred while generating your backup codes" : "Při pokusu o vytvoření záložních kódů nastala chyba.",
"Backup codes have been generated. {used} of {total} codes have been used." : "Záložní kódy byly vytvořeny. Využito {used} z {total} kódů.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Zde jsou vaše záložní kódy. Kódy si uložte a/nebo vytiskněte, protože už je nebude možné zobrazit znovu.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Zde jsou vaše záložní kódy. Kódy si uložte a/nebo vytiskněte, protože už je nebude možné zobrazit znovu.",
"Save backup codes" : "Uložit záložní kódy",
"Print backup codes" : "Vytisknout záložní kódy",
"Regenerate backup codes" : "Vytvořit nové záložní kódy",
"If you regenerate backup codes, you automatically invalidate old codes." : "Pokud necháte vytvořit nové záložní kódy, staré budou automaticky zneplatněny.",
- "An error occurred while generating your backup codes" : "Při pokusu o vytvoření záložních kódů nastala chyba.",
"{name} backup codes" : "{name} záložní kódy",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Použijte jeden ze svých záložních kódů které jste si uložili při nastavování dvoufázového ověřování.",
"Submit" : "Odeslat"
diff --git a/apps/twofactor_backupcodes/l10n/da.js b/apps/twofactor_backupcodes/l10n/da.js
index d66ebbccaa9..29ba82cb980 100644
--- a/apps/twofactor_backupcodes/l10n/da.js
+++ b/apps/twofactor_backupcodes/l10n/da.js
@@ -1,21 +1,21 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "Du har lavet two-factor backup koder til din konto.",
+ "You created two-factor backup codes for your account" : "Du har lavet two-factor backup koder til din konto",
"Second-factor backup codes" : "Second-factor backup koder",
- "Generate backup codes" : "Generer backup-koder",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du har aktiveret to-faktor-godkendelse, men har ikke genereret backup-koder endnu. De er nødvendige for at gendanne adgangen til din konto, hvis du mister din anden faktor.",
+ "Generate backup codes" : "Generer backup koder",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du har aktiveret to-faktor-godkendelse, men har ikke genereret backup-koder endnu. De er nødvendige for at gendanne adgang til din konto, hvis du mister din anden faktor.",
"Backup code" : "Backup-kode",
- "Use backup code" : "Benyt backup-kode",
+ "Use backup code" : "Anvend backup kode",
"Two factor backup codes" : "To faktor backup koder",
"A two-factor auth backup codes provider" : "En to-faktor udbyder af sikkerhedskopieringskoder",
+ "An error occurred while generating your backup codes" : "Der opstod en fejl under genereringen af dine backup-koder",
"Backup codes have been generated. {used} of {total} codes have been used." : "Sikkerhedskopieringskoder er blevet genereret. {used} af {total} koder er blevet brugt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dett er dine backup koder. Gem eller udskriv dem venligst da det ikke vil være muligt at læse koderne her igen senere.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Dette er dine backup-koder. Gem og/eller udskriv dem, da du ikke vil kunne se koderne igen senere.",
"Save backup codes" : "Gem backup-koder",
"Print backup codes" : "Print backup-koder",
"Regenerate backup codes" : "Regenerer backup-koder",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Hvis du genere nye backup koder vil de gamle koder blive ubrugelige.",
- "An error occurred while generating your backup codes" : "Der opstod en fejl under genereringen af dine backup-koder",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Hvis du genererer nye backupkoder, så vil de gamle koder blive ubrugelige.",
"{name} backup codes" : "{name} backup-koder",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Brug en af de backupkoder, du har gemt, når du konfigurerer to-faktor-godkendelse.",
"Submit" : "Tilføj"
diff --git a/apps/twofactor_backupcodes/l10n/da.json b/apps/twofactor_backupcodes/l10n/da.json
index ce371baf440..21e8083f0f6 100644
--- a/apps/twofactor_backupcodes/l10n/da.json
+++ b/apps/twofactor_backupcodes/l10n/da.json
@@ -1,19 +1,19 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "Du har lavet two-factor backup koder til din konto.",
+ "You created two-factor backup codes for your account" : "Du har lavet two-factor backup koder til din konto",
"Second-factor backup codes" : "Second-factor backup koder",
- "Generate backup codes" : "Generer backup-koder",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du har aktiveret to-faktor-godkendelse, men har ikke genereret backup-koder endnu. De er nødvendige for at gendanne adgangen til din konto, hvis du mister din anden faktor.",
+ "Generate backup codes" : "Generer backup koder",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du har aktiveret to-faktor-godkendelse, men har ikke genereret backup-koder endnu. De er nødvendige for at gendanne adgang til din konto, hvis du mister din anden faktor.",
"Backup code" : "Backup-kode",
- "Use backup code" : "Benyt backup-kode",
+ "Use backup code" : "Anvend backup kode",
"Two factor backup codes" : "To faktor backup koder",
"A two-factor auth backup codes provider" : "En to-faktor udbyder af sikkerhedskopieringskoder",
+ "An error occurred while generating your backup codes" : "Der opstod en fejl under genereringen af dine backup-koder",
"Backup codes have been generated. {used} of {total} codes have been used." : "Sikkerhedskopieringskoder er blevet genereret. {used} af {total} koder er blevet brugt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dett er dine backup koder. Gem eller udskriv dem venligst da det ikke vil være muligt at læse koderne her igen senere.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Dette er dine backup-koder. Gem og/eller udskriv dem, da du ikke vil kunne se koderne igen senere.",
"Save backup codes" : "Gem backup-koder",
"Print backup codes" : "Print backup-koder",
"Regenerate backup codes" : "Regenerer backup-koder",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Hvis du genere nye backup koder vil de gamle koder blive ubrugelige.",
- "An error occurred while generating your backup codes" : "Der opstod en fejl under genereringen af dine backup-koder",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Hvis du genererer nye backupkoder, så vil de gamle koder blive ubrugelige.",
"{name} backup codes" : "{name} backup-koder",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Brug en af de backupkoder, du har gemt, når du konfigurerer to-faktor-godkendelse.",
"Submit" : "Tilføj"
diff --git a/apps/twofactor_backupcodes/l10n/de.js b/apps/twofactor_backupcodes/l10n/de.js
index 8ebbe05083d..a4e7c13ab45 100644
--- a/apps/twofactor_backupcodes/l10n/de.js
+++ b/apps/twofactor_backupcodes/l10n/de.js
@@ -1,23 +1,23 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "Du hast Zwei-Faktor Sicherungs-Codes für Dein Konto erstellt",
+ "You created two-factor backup codes for your account" : "Du hast Zwei-Faktor Sicherungs-Codes für dein Konto erstellt",
"Second-factor backup codes" : "Zweitfaktor Backup-Codes",
"Generate backup codes" : "Backup-Codes erzeugen",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du hast die Zwei-Faktor-Authentifizierung aktiviert, aber noch keine Backup-Codes erzeugt. Diese werden für den Fall benötigt, dass Du den Zugriff auf Deinen zweiten Faktor verloren hast.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du hast die Zwei-Faktor-Authentifizierung aktiviert, aber noch keine Backup-Codes erzeugt. Diese werden für den Fall benötigt, dass du den Zugriff auf deinen zweiten Faktor verloren hast.",
"Backup code" : "Backup-Code",
"Use backup code" : "Verwende Backup-Code",
- "Two factor backup codes" : "Zweifaktor-Backup-Codes",
- "A two-factor auth backup codes provider" : "Ein Anbieter für Zweifaktor-Backup-Codes",
+ "Two factor backup codes" : "Zwei-Faktor-Backup-Codes",
+ "A two-factor auth backup codes provider" : "Ein Anbieter für Zwei-Faktor-Backup-Codes",
+ "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen deiner Backup-Codes aufgetreten",
"Backup codes have been generated. {used} of {total} codes have been used." : "Backup-Codes wurden erzeugt. {used} von {total} Codes wurden benutzt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dies sind Deine Backup-Codes. Bitte speichere und/oder drucke diese aus, da diese Codes später nicht mehr angezeigt werden können",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Dies sind deine Backup-Codes. Bitte speichere und/oder drucke diese aus, da du die Codes später nicht mehr abrufen kannst.",
"Save backup codes" : "Backup-Codes speichern",
"Print backup codes" : "Backup-Codes drucken",
"Regenerate backup codes" : "Backup-Codes erneuern",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Wenn Du Backup-Codes erneuerst, werden alte automatisch ungültig.",
- "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen Deiner Backup-Codes aufgetreten",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Wenn du Backup-Codes erneuerst, werden alte automatisch ungültig.",
"{name} backup codes" : "{name} Backup-Codes",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Verwende einen der Backup-Codes, den Du bei der Einrichtung der Zwei-Faktor-Authentifizierung gespeichert hast.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Verwende einen der Backup-Codes, den du bei der Einrichtung der Zwei-Faktor-Authentifizierung gespeichert hast.",
"Submit" : "Übermitteln"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/de.json b/apps/twofactor_backupcodes/l10n/de.json
index 75a64bf9d39..290f9f47be3 100644
--- a/apps/twofactor_backupcodes/l10n/de.json
+++ b/apps/twofactor_backupcodes/l10n/de.json
@@ -1,21 +1,21 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "Du hast Zwei-Faktor Sicherungs-Codes für Dein Konto erstellt",
+ "You created two-factor backup codes for your account" : "Du hast Zwei-Faktor Sicherungs-Codes für dein Konto erstellt",
"Second-factor backup codes" : "Zweitfaktor Backup-Codes",
"Generate backup codes" : "Backup-Codes erzeugen",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du hast die Zwei-Faktor-Authentifizierung aktiviert, aber noch keine Backup-Codes erzeugt. Diese werden für den Fall benötigt, dass Du den Zugriff auf Deinen zweiten Faktor verloren hast.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du hast die Zwei-Faktor-Authentifizierung aktiviert, aber noch keine Backup-Codes erzeugt. Diese werden für den Fall benötigt, dass du den Zugriff auf deinen zweiten Faktor verloren hast.",
"Backup code" : "Backup-Code",
"Use backup code" : "Verwende Backup-Code",
- "Two factor backup codes" : "Zweifaktor-Backup-Codes",
- "A two-factor auth backup codes provider" : "Ein Anbieter für Zweifaktor-Backup-Codes",
+ "Two factor backup codes" : "Zwei-Faktor-Backup-Codes",
+ "A two-factor auth backup codes provider" : "Ein Anbieter für Zwei-Faktor-Backup-Codes",
+ "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen deiner Backup-Codes aufgetreten",
"Backup codes have been generated. {used} of {total} codes have been used." : "Backup-Codes wurden erzeugt. {used} von {total} Codes wurden benutzt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dies sind Deine Backup-Codes. Bitte speichere und/oder drucke diese aus, da diese Codes später nicht mehr angezeigt werden können",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Dies sind deine Backup-Codes. Bitte speichere und/oder drucke diese aus, da du die Codes später nicht mehr abrufen kannst.",
"Save backup codes" : "Backup-Codes speichern",
"Print backup codes" : "Backup-Codes drucken",
"Regenerate backup codes" : "Backup-Codes erneuern",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Wenn Du Backup-Codes erneuerst, werden alte automatisch ungültig.",
- "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen Deiner Backup-Codes aufgetreten",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Wenn du Backup-Codes erneuerst, werden alte automatisch ungültig.",
"{name} backup codes" : "{name} Backup-Codes",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Verwende einen der Backup-Codes, den Du bei der Einrichtung der Zwei-Faktor-Authentifizierung gespeichert hast.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Verwende einen der Backup-Codes, den du bei der Einrichtung der Zwei-Faktor-Authentifizierung gespeichert hast.",
"Submit" : "Übermitteln"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/de_DE.js b/apps/twofactor_backupcodes/l10n/de_DE.js
index 6cfaf404c81..800e3e112c1 100644
--- a/apps/twofactor_backupcodes/l10n/de_DE.js
+++ b/apps/twofactor_backupcodes/l10n/de_DE.js
@@ -7,15 +7,15 @@ OC.L10N.register(
"You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Sie haben die Zwei-Faktor-Authentifizierung aktiviert, aber noch keine Backup-Codes erzeugt. Diese werden für den Fall benötigt, dass Sie den Zugriff auf Ihren zweiten Faktor verlieren.",
"Backup code" : "Backup-Code",
"Use backup code" : "Backup-Code verwenden",
- "Two factor backup codes" : "Zweifaktor-Backup-Codes",
- "A two-factor auth backup codes provider" : "Ein Anbieter für Zweifaktor-Backup-Codes",
+ "Two factor backup codes" : "Zwei-Faktor-Backup-Codes",
+ "A two-factor auth backup codes provider" : "Ein Anbieter für Zwei-Faktor-Backup-Codes",
+ "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen Ihrer Backup-Codes aufgetreten",
"Backup codes have been generated. {used} of {total} codes have been used." : "Backup-Codes wurden erzeugt. {used} von {total} Codes wurden benutzt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dies sind Ihre Backup-Codes. Bitte speichern und/oder drucken Sie diese, da diese Codes später nicht mehr gelesen werden können",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Dies sind Ihre Backup-Codes. Bitte speichern und/oder drucken Sie diese aus, da Sie die Codes später nicht mehr abrufen können.",
"Save backup codes" : "Backup-Codes speichern",
"Print backup codes" : "Backup-Codes drucken",
"Regenerate backup codes" : "Backup-Codes erneuern",
"If you regenerate backup codes, you automatically invalidate old codes." : "Wenn Sie die Backup-Codes erneuern, werden die alten Codes automatisch ungültig.",
- "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen Ihrer Backup-Codes aufgetreten",
"{name} backup codes" : "{name} Backup-Codes",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Verwenden Sie einen der Backup-Codes, den Sie bei der Einrichtung der Zwei-Faktor-Authentifizierung gespeichert haben.",
"Submit" : "Übermitteln"
diff --git a/apps/twofactor_backupcodes/l10n/de_DE.json b/apps/twofactor_backupcodes/l10n/de_DE.json
index 6bae489f9bc..04f73e1e330 100644
--- a/apps/twofactor_backupcodes/l10n/de_DE.json
+++ b/apps/twofactor_backupcodes/l10n/de_DE.json
@@ -5,15 +5,15 @@
"You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Sie haben die Zwei-Faktor-Authentifizierung aktiviert, aber noch keine Backup-Codes erzeugt. Diese werden für den Fall benötigt, dass Sie den Zugriff auf Ihren zweiten Faktor verlieren.",
"Backup code" : "Backup-Code",
"Use backup code" : "Backup-Code verwenden",
- "Two factor backup codes" : "Zweifaktor-Backup-Codes",
- "A two-factor auth backup codes provider" : "Ein Anbieter für Zweifaktor-Backup-Codes",
+ "Two factor backup codes" : "Zwei-Faktor-Backup-Codes",
+ "A two-factor auth backup codes provider" : "Ein Anbieter für Zwei-Faktor-Backup-Codes",
+ "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen Ihrer Backup-Codes aufgetreten",
"Backup codes have been generated. {used} of {total} codes have been used." : "Backup-Codes wurden erzeugt. {used} von {total} Codes wurden benutzt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dies sind Ihre Backup-Codes. Bitte speichern und/oder drucken Sie diese, da diese Codes später nicht mehr gelesen werden können",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Dies sind Ihre Backup-Codes. Bitte speichern und/oder drucken Sie diese aus, da Sie die Codes später nicht mehr abrufen können.",
"Save backup codes" : "Backup-Codes speichern",
"Print backup codes" : "Backup-Codes drucken",
"Regenerate backup codes" : "Backup-Codes erneuern",
"If you regenerate backup codes, you automatically invalidate old codes." : "Wenn Sie die Backup-Codes erneuern, werden die alten Codes automatisch ungültig.",
- "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen Ihrer Backup-Codes aufgetreten",
"{name} backup codes" : "{name} Backup-Codes",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Verwenden Sie einen der Backup-Codes, den Sie bei der Einrichtung der Zwei-Faktor-Authentifizierung gespeichert haben.",
"Submit" : "Übermitteln"
diff --git a/apps/twofactor_backupcodes/l10n/el.js b/apps/twofactor_backupcodes/l10n/el.js
index e7df01eaa23..cda1c9ba2bb 100644
--- a/apps/twofactor_backupcodes/l10n/el.js
+++ b/apps/twofactor_backupcodes/l10n/el.js
@@ -9,13 +9,12 @@ OC.L10N.register(
"Use backup code" : "Χρησιμοποιήστε έναν εφεδρικό κωδικό",
"Two factor backup codes" : "Δύο συντελεστές δημιουργίας αντιγράφων",
"A two-factor auth backup codes provider" : "Παροχέας εφεδρικών κωδικών δύο-παραγόντων",
+ "An error occurred while generating your backup codes" : "Ένα σφάλμα προέκυψε κατά τη δημιουργία των εφεδρικών κωδικών.",
"Backup codes have been generated. {used} of {total} codes have been used." : "Δημιουργήθηκαν εφεδρικοί κωδικοί. Χρησιμοποιήθηκαν {used} από {total} κωδικοί.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Αυτοί είναι είναι οι εφεδρικοί σας κωδικοί. Παρακαλούμε αποθηκεύστε τους και/ή εκτυπώστε τους καθώς δεν θα είστε σε θέση να τους διαβάσετε ξανά αργότερα.",
"Save backup codes" : "Αποθήκευση εφεδρικών κωδικών",
"Print backup codes" : "Εκτύπωση εφεδρικών κωδικών",
"Regenerate backup codes" : "Δημιουργία εφεδρικών κωδικών",
"If you regenerate backup codes, you automatically invalidate old codes." : "Εάν αναδημιουργήσετε εφεδρικούς κωδικούς, οι παλιοί κωδικοί ακυρώνονται αυτόματα.",
- "An error occurred while generating your backup codes" : "Ένα σφάλμα προέκυψε κατά τη δημιουργία των εφεδρικών κωδικών.",
"{name} backup codes" : "{name} εφεδρικοί κωδικοί",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Χρησιμοποιήστε έναν από τους εφεδρικούς κωδικούς που αποθηκεύσατε όταν ρυθμίζετε τον έλεγχο ταυτότητας δύο παραγόντων.",
"Submit" : "Υποβολή"
diff --git a/apps/twofactor_backupcodes/l10n/el.json b/apps/twofactor_backupcodes/l10n/el.json
index 40be7e890b1..1f43bf0c068 100644
--- a/apps/twofactor_backupcodes/l10n/el.json
+++ b/apps/twofactor_backupcodes/l10n/el.json
@@ -7,13 +7,12 @@
"Use backup code" : "Χρησιμοποιήστε έναν εφεδρικό κωδικό",
"Two factor backup codes" : "Δύο συντελεστές δημιουργίας αντιγράφων",
"A two-factor auth backup codes provider" : "Παροχέας εφεδρικών κωδικών δύο-παραγόντων",
+ "An error occurred while generating your backup codes" : "Ένα σφάλμα προέκυψε κατά τη δημιουργία των εφεδρικών κωδικών.",
"Backup codes have been generated. {used} of {total} codes have been used." : "Δημιουργήθηκαν εφεδρικοί κωδικοί. Χρησιμοποιήθηκαν {used} από {total} κωδικοί.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Αυτοί είναι είναι οι εφεδρικοί σας κωδικοί. Παρακαλούμε αποθηκεύστε τους και/ή εκτυπώστε τους καθώς δεν θα είστε σε θέση να τους διαβάσετε ξανά αργότερα.",
"Save backup codes" : "Αποθήκευση εφεδρικών κωδικών",
"Print backup codes" : "Εκτύπωση εφεδρικών κωδικών",
"Regenerate backup codes" : "Δημιουργία εφεδρικών κωδικών",
"If you regenerate backup codes, you automatically invalidate old codes." : "Εάν αναδημιουργήσετε εφεδρικούς κωδικούς, οι παλιοί κωδικοί ακυρώνονται αυτόματα.",
- "An error occurred while generating your backup codes" : "Ένα σφάλμα προέκυψε κατά τη δημιουργία των εφεδρικών κωδικών.",
"{name} backup codes" : "{name} εφεδρικοί κωδικοί",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Χρησιμοποιήστε έναν από τους εφεδρικούς κωδικούς που αποθηκεύσατε όταν ρυθμίζετε τον έλεγχο ταυτότητας δύο παραγόντων.",
"Submit" : "Υποβολή"
diff --git a/apps/twofactor_backupcodes/l10n/en_GB.js b/apps/twofactor_backupcodes/l10n/en_GB.js
index 3ef9ae2b3c6..e2426b031c8 100644
--- a/apps/twofactor_backupcodes/l10n/en_GB.js
+++ b/apps/twofactor_backupcodes/l10n/en_GB.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Use backup code",
"Two factor backup codes" : "Two factor backup codes",
"A two-factor auth backup codes provider" : "A two-factor auth backup codes provider",
+ "An error occurred while generating your backup codes" : "An error occurred while generating your backup codes",
"Backup codes have been generated. {used} of {total} codes have been used." : "Backup codes have been generated. {used} of {total} codes have been used.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later.",
"Save backup codes" : "Save backup codes",
"Print backup codes" : "Print backup codes",
"Regenerate backup codes" : "Regenerate backup codes",
"If you regenerate backup codes, you automatically invalidate old codes." : "If you regenerate backup codes, you automatically invalidate old codes.",
- "An error occurred while generating your backup codes" : "An error occurred while generating your backup codes",
"{name} backup codes" : "{name} backup codes",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Use one of the backup codes you saved when setting up two-factor authentication.",
"Submit" : "Submit"
diff --git a/apps/twofactor_backupcodes/l10n/en_GB.json b/apps/twofactor_backupcodes/l10n/en_GB.json
index 3aaf24cb716..2b255e97cd7 100644
--- a/apps/twofactor_backupcodes/l10n/en_GB.json
+++ b/apps/twofactor_backupcodes/l10n/en_GB.json
@@ -7,13 +7,13 @@
"Use backup code" : "Use backup code",
"Two factor backup codes" : "Two factor backup codes",
"A two-factor auth backup codes provider" : "A two-factor auth backup codes provider",
+ "An error occurred while generating your backup codes" : "An error occurred while generating your backup codes",
"Backup codes have been generated. {used} of {total} codes have been used." : "Backup codes have been generated. {used} of {total} codes have been used.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later.",
"Save backup codes" : "Save backup codes",
"Print backup codes" : "Print backup codes",
"Regenerate backup codes" : "Regenerate backup codes",
"If you regenerate backup codes, you automatically invalidate old codes." : "If you regenerate backup codes, you automatically invalidate old codes.",
- "An error occurred while generating your backup codes" : "An error occurred while generating your backup codes",
"{name} backup codes" : "{name} backup codes",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Use one of the backup codes you saved when setting up two-factor authentication.",
"Submit" : "Submit"
diff --git a/apps/twofactor_backupcodes/l10n/eo.js b/apps/twofactor_backupcodes/l10n/eo.js
index f0d684b9b23..8cf8ac95ce5 100644
--- a/apps/twofactor_backupcodes/l10n/eo.js
+++ b/apps/twofactor_backupcodes/l10n/eo.js
@@ -9,13 +9,12 @@ OC.L10N.register(
"Use backup code" : "Uzi rezervkodon",
"Two factor backup codes" : "Dufazaj rezervkodoj",
"A two-factor auth backup codes provider" : "Provizanto de rezervkodoj por dufaza aŭtentigo",
+ "An error occurred while generating your backup codes" : "Eraro okazis dum generado de viaj rezervkodoj",
"Backup codes have been generated. {used} of {total} codes have been used." : "Rezervkodoj generiĝis. {used} kodoj el {total} uziĝis.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Jen viaj rezervkodoj. Bv. konservi aŭ presi ilin, ĉar vi ne plu povos vidi tiujn kodojn poste",
"Save backup codes" : "Konservi la rezervkodojn",
"Print backup codes" : "Presi la rezervkodojn",
"Regenerate backup codes" : "Regeneri rezervkodojn",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si vi regeneras rezervkodojn, vi aŭtomate senvalidigas la antaŭajn.",
- "An error occurred while generating your backup codes" : "Eraro okazis dum generado de viaj rezervkodoj",
"{name} backup codes" : "{name} rezervkodoj",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Uzu unu el viaj rezervkodoj, kiujn vi konservis dum agordo de dufaza aŭtentigo.",
"Submit" : "Sendi"
diff --git a/apps/twofactor_backupcodes/l10n/eo.json b/apps/twofactor_backupcodes/l10n/eo.json
index 271b9f2b989..44cc0c9660f 100644
--- a/apps/twofactor_backupcodes/l10n/eo.json
+++ b/apps/twofactor_backupcodes/l10n/eo.json
@@ -7,13 +7,12 @@
"Use backup code" : "Uzi rezervkodon",
"Two factor backup codes" : "Dufazaj rezervkodoj",
"A two-factor auth backup codes provider" : "Provizanto de rezervkodoj por dufaza aŭtentigo",
+ "An error occurred while generating your backup codes" : "Eraro okazis dum generado de viaj rezervkodoj",
"Backup codes have been generated. {used} of {total} codes have been used." : "Rezervkodoj generiĝis. {used} kodoj el {total} uziĝis.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Jen viaj rezervkodoj. Bv. konservi aŭ presi ilin, ĉar vi ne plu povos vidi tiujn kodojn poste",
"Save backup codes" : "Konservi la rezervkodojn",
"Print backup codes" : "Presi la rezervkodojn",
"Regenerate backup codes" : "Regeneri rezervkodojn",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si vi regeneras rezervkodojn, vi aŭtomate senvalidigas la antaŭajn.",
- "An error occurred while generating your backup codes" : "Eraro okazis dum generado de viaj rezervkodoj",
"{name} backup codes" : "{name} rezervkodoj",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Uzu unu el viaj rezervkodoj, kiujn vi konservis dum agordo de dufaza aŭtentigo.",
"Submit" : "Sendi"
diff --git a/apps/twofactor_backupcodes/l10n/es.js b/apps/twofactor_backupcodes/l10n/es.js
index b17f1b86dca..1f0621f4a8c 100644
--- a/apps/twofactor_backupcodes/l10n/es.js
+++ b/apps/twofactor_backupcodes/l10n/es.js
@@ -1,23 +1,23 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "Has creado códigos de respaldo para la verificación en dos pasos de tu cuenta",
- "Second-factor backup codes" : "Códigos de respaldo para verificación en dos pasos",
+ "You created two-factor backup codes for your account" : "Has creado códigos de respaldo para la autenticación de dos factores para tu cuenta",
+ "Second-factor backup codes" : "Códigos de respaldo para el segundo factor",
"Generate backup codes" : "Generar códigos de respaldo",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Has habilitado la verificación en dos pasos pero no has generado aún los códigos de respaldo. Son necesarios para acceder a tu cuenta en caso de pérdida del segundo paso.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Ha habilitado la autenticación de dos factores pero no ha generado aún los códigos de respaldo. Estos son necesarios para acceder a su cuenta en caso de pérdida del segundo factor.",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usar código de respaldo",
- "Two factor backup codes" : "Códigos de respaldo de la verificación en dos pasos",
- "A two-factor auth backup codes provider" : "Un proveedor de códigos respaldo para verificación en dos pasos",
+ "Two factor backup codes" : "Códigos de respaldo para la verificación de dos factores",
+ "A two-factor auth backup codes provider" : "Un proveedor de códigos respaldo para autenticación de dos factores",
+ "An error occurred while generating your backup codes" : "Ha ocurrido un error mientras se generaban sus códigos de respaldo.",
"Backup codes have been generated. {used} of {total} codes have been used." : "Se han generado códigos de respaldo. Se han usado {used} de {total} códigos.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son sus códigos de respaldo. Por favor guardelos y/o imprimalos ya que no podrá obtenerlos de nuevo.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Estos son sus códigos de respaldo. Por favor, guárdelos y/o imprima los mismos, ya que no podrá volver a verlos más tarde.",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Si regenera los códigos de respaldo, automáticamente invalidarás los antiguos.",
- "An error occurred while generating your backup codes" : "Ha ocurrido un error mientras se generaban los códigos de respaldo.",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Si regenera los códigos de respaldo, automáticamente invalidará los antiguos.",
"{name} backup codes" : "Códigos de respaldo {name}",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Usa uno de los códigos de respaldo que guardaste cuando activaste la verificación en dos pasos.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Use uno de los códigos de respaldo que guardó cuando activó la autenticación de dos factores.",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es.json b/apps/twofactor_backupcodes/l10n/es.json
index 7ffd50a6c18..bad78f7b72d 100644
--- a/apps/twofactor_backupcodes/l10n/es.json
+++ b/apps/twofactor_backupcodes/l10n/es.json
@@ -1,21 +1,21 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "Has creado códigos de respaldo para la verificación en dos pasos de tu cuenta",
- "Second-factor backup codes" : "Códigos de respaldo para verificación en dos pasos",
+ "You created two-factor backup codes for your account" : "Has creado códigos de respaldo para la autenticación de dos factores para tu cuenta",
+ "Second-factor backup codes" : "Códigos de respaldo para el segundo factor",
"Generate backup codes" : "Generar códigos de respaldo",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Has habilitado la verificación en dos pasos pero no has generado aún los códigos de respaldo. Son necesarios para acceder a tu cuenta en caso de pérdida del segundo paso.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Ha habilitado la autenticación de dos factores pero no ha generado aún los códigos de respaldo. Estos son necesarios para acceder a su cuenta en caso de pérdida del segundo factor.",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usar código de respaldo",
- "Two factor backup codes" : "Códigos de respaldo de la verificación en dos pasos",
- "A two-factor auth backup codes provider" : "Un proveedor de códigos respaldo para verificación en dos pasos",
+ "Two factor backup codes" : "Códigos de respaldo para la verificación de dos factores",
+ "A two-factor auth backup codes provider" : "Un proveedor de códigos respaldo para autenticación de dos factores",
+ "An error occurred while generating your backup codes" : "Ha ocurrido un error mientras se generaban sus códigos de respaldo.",
"Backup codes have been generated. {used} of {total} codes have been used." : "Se han generado códigos de respaldo. Se han usado {used} de {total} códigos.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son sus códigos de respaldo. Por favor guardelos y/o imprimalos ya que no podrá obtenerlos de nuevo.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Estos son sus códigos de respaldo. Por favor, guárdelos y/o imprima los mismos, ya que no podrá volver a verlos más tarde.",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Si regenera los códigos de respaldo, automáticamente invalidarás los antiguos.",
- "An error occurred while generating your backup codes" : "Ha ocurrido un error mientras se generaban los códigos de respaldo.",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Si regenera los códigos de respaldo, automáticamente invalidará los antiguos.",
"{name} backup codes" : "Códigos de respaldo {name}",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Usa uno de los códigos de respaldo que guardaste cuando activaste la verificación en dos pasos.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Use uno de los códigos de respaldo que guardó cuando activó la autenticación de dos factores.",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_419.js b/apps/twofactor_backupcodes/l10n/es_419.js
index 613ecd8a6f2..bda75e326ad 100644
--- a/apps/twofactor_backupcodes/l10n/es_419.js
+++ b/apps/twofactor_backupcodes/l10n/es_419.js
@@ -6,12 +6,11 @@ OC.L10N.register(
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_419.json b/apps/twofactor_backupcodes/l10n/es_419.json
index ef3ce8cb5d1..67d4525548f 100644
--- a/apps/twofactor_backupcodes/l10n/es_419.json
+++ b/apps/twofactor_backupcodes/l10n/es_419.json
@@ -4,12 +4,11 @@
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_AR.js b/apps/twofactor_backupcodes/l10n/es_AR.js
index 66d064fa2e3..dac1122e86b 100644
--- a/apps/twofactor_backupcodes/l10n/es_AR.js
+++ b/apps/twofactor_backupcodes/l10n/es_AR.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "Código de respaldo",
"Use backup code" : "Use el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son sus códigos de respaldo. Favor de resguardarlos y/o imprimirlos ya que no podrá leerlos otra vez después. ",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar sus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si usted regenera los códigos de respaldo, automáticamente invalidará los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar sus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_AR.json b/apps/twofactor_backupcodes/l10n/es_AR.json
index 729eb4dafe8..425dd987e3e 100644
--- a/apps/twofactor_backupcodes/l10n/es_AR.json
+++ b/apps/twofactor_backupcodes/l10n/es_AR.json
@@ -5,12 +5,11 @@
"Backup code" : "Código de respaldo",
"Use backup code" : "Use el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son sus códigos de respaldo. Favor de resguardarlos y/o imprimirlos ya que no podrá leerlos otra vez después. ",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar sus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si usted regenera los códigos de respaldo, automáticamente invalidará los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar sus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_CL.js b/apps/twofactor_backupcodes/l10n/es_CL.js
index 787ad85152e..bd9cbba24a9 100644
--- a/apps/twofactor_backupcodes/l10n/es_CL.js
+++ b/apps/twofactor_backupcodes/l10n/es_CL.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_CL.json b/apps/twofactor_backupcodes/l10n/es_CL.json
index 08db3931be3..3798120620d 100644
--- a/apps/twofactor_backupcodes/l10n/es_CL.json
+++ b/apps/twofactor_backupcodes/l10n/es_CL.json
@@ -5,12 +5,11 @@
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_CO.js b/apps/twofactor_backupcodes/l10n/es_CO.js
index 787ad85152e..bd9cbba24a9 100644
--- a/apps/twofactor_backupcodes/l10n/es_CO.js
+++ b/apps/twofactor_backupcodes/l10n/es_CO.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_CO.json b/apps/twofactor_backupcodes/l10n/es_CO.json
index 08db3931be3..3798120620d 100644
--- a/apps/twofactor_backupcodes/l10n/es_CO.json
+++ b/apps/twofactor_backupcodes/l10n/es_CO.json
@@ -5,12 +5,11 @@
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_CR.js b/apps/twofactor_backupcodes/l10n/es_CR.js
index 787ad85152e..bd9cbba24a9 100644
--- a/apps/twofactor_backupcodes/l10n/es_CR.js
+++ b/apps/twofactor_backupcodes/l10n/es_CR.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_CR.json b/apps/twofactor_backupcodes/l10n/es_CR.json
index 08db3931be3..3798120620d 100644
--- a/apps/twofactor_backupcodes/l10n/es_CR.json
+++ b/apps/twofactor_backupcodes/l10n/es_CR.json
@@ -5,12 +5,11 @@
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_DO.js b/apps/twofactor_backupcodes/l10n/es_DO.js
index 787ad85152e..bd9cbba24a9 100644
--- a/apps/twofactor_backupcodes/l10n/es_DO.js
+++ b/apps/twofactor_backupcodes/l10n/es_DO.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_DO.json b/apps/twofactor_backupcodes/l10n/es_DO.json
index 08db3931be3..3798120620d 100644
--- a/apps/twofactor_backupcodes/l10n/es_DO.json
+++ b/apps/twofactor_backupcodes/l10n/es_DO.json
@@ -5,12 +5,11 @@
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_EC.js b/apps/twofactor_backupcodes/l10n/es_EC.js
index 787ad85152e..14f349562cd 100644
--- a/apps/twofactor_backupcodes/l10n/es_EC.js
+++ b/apps/twofactor_backupcodes/l10n/es_EC.js
@@ -4,15 +4,19 @@ OC.L10N.register(
"You created two-factor backup codes for your account" : "Creaste códigos de respaldo de dos factores para tu cuenta",
"Second-factor backup codes" : "Códigos de respaldo del segundo factor",
"Generate backup codes" : "Generar los códigos de respaldo",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Has habilitado la autenticación de dos factores pero aún no has generado códigos de respaldo. Estos son necesarios para restaurar el acceso a tu cuenta en caso de que pierdas tu segundo factor.",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "A two-factor auth backup codes provider" : "Un proveedor de códigos de respaldo para autenticación de dos factores.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Se han generado códigos de respaldo. Se han utilizado {used} de {total} códigos.",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
+ "{name} backup codes" : "Códigos de respaldo de {name}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Utiliza uno de los códigos de respaldo que guardaste al configurar la autenticación de dos factores.",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_EC.json b/apps/twofactor_backupcodes/l10n/es_EC.json
index 08db3931be3..7747d76faa5 100644
--- a/apps/twofactor_backupcodes/l10n/es_EC.json
+++ b/apps/twofactor_backupcodes/l10n/es_EC.json
@@ -2,15 +2,19 @@
"You created two-factor backup codes for your account" : "Creaste códigos de respaldo de dos factores para tu cuenta",
"Second-factor backup codes" : "Códigos de respaldo del segundo factor",
"Generate backup codes" : "Generar los códigos de respaldo",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Has habilitado la autenticación de dos factores pero aún no has generado códigos de respaldo. Estos son necesarios para restaurar el acceso a tu cuenta en caso de que pierdas tu segundo factor.",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "A two-factor auth backup codes provider" : "Un proveedor de códigos de respaldo para autenticación de dos factores.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Se han generado códigos de respaldo. Se han utilizado {used} de {total} códigos.",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
+ "{name} backup codes" : "Códigos de respaldo de {name}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Utiliza uno de los códigos de respaldo que guardaste al configurar la autenticación de dos factores.",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_GT.js b/apps/twofactor_backupcodes/l10n/es_GT.js
index 787ad85152e..bd9cbba24a9 100644
--- a/apps/twofactor_backupcodes/l10n/es_GT.js
+++ b/apps/twofactor_backupcodes/l10n/es_GT.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_GT.json b/apps/twofactor_backupcodes/l10n/es_GT.json
index 08db3931be3..3798120620d 100644
--- a/apps/twofactor_backupcodes/l10n/es_GT.json
+++ b/apps/twofactor_backupcodes/l10n/es_GT.json
@@ -5,12 +5,11 @@
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_HN.js b/apps/twofactor_backupcodes/l10n/es_HN.js
index 613ecd8a6f2..bda75e326ad 100644
--- a/apps/twofactor_backupcodes/l10n/es_HN.js
+++ b/apps/twofactor_backupcodes/l10n/es_HN.js
@@ -6,12 +6,11 @@ OC.L10N.register(
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_HN.json b/apps/twofactor_backupcodes/l10n/es_HN.json
index ef3ce8cb5d1..67d4525548f 100644
--- a/apps/twofactor_backupcodes/l10n/es_HN.json
+++ b/apps/twofactor_backupcodes/l10n/es_HN.json
@@ -4,12 +4,11 @@
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_MX.js b/apps/twofactor_backupcodes/l10n/es_MX.js
index 8c94cdaeb1f..b6860f03ea7 100644
--- a/apps/twofactor_backupcodes/l10n/es_MX.js
+++ b/apps/twofactor_backupcodes/l10n/es_MX.js
@@ -4,16 +4,20 @@ OC.L10N.register(
"You created two-factor backup codes for your account" : "Creaste códigos de respaldo de dos factores para tu cuenta",
"Second-factor backup codes" : "Códigos de respaldo del segundo factor",
"Generate backup codes" : "Generar los códigos de respaldo",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Habilitó la autentificación de dos factores pero aún no ha generado los códigos de respaldo. Éstos son necesarios para acceder a su cuenta en caso de que pierda del segundo factor.",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
"A two-factor auth backup codes provider" : "Un proveedor de códigos de respaldo para autenticación de dos-factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Se generaron los códigos de respaldo. Se han utilizado {used} de {total} códigos.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Estos son sus códigos de respaldo. Por favor guárdelos y/o imprímalos ya que no podrá leerlos después.",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
+ "{name} backup codes" : "Códigos de respaldo {name}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Utilice uno de los códigos de respaldo que guardó al configurar la autentificación de dos factores.",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_MX.json b/apps/twofactor_backupcodes/l10n/es_MX.json
index 3b07e21f3fb..5256ae1025a 100644
--- a/apps/twofactor_backupcodes/l10n/es_MX.json
+++ b/apps/twofactor_backupcodes/l10n/es_MX.json
@@ -2,16 +2,20 @@
"You created two-factor backup codes for your account" : "Creaste códigos de respaldo de dos factores para tu cuenta",
"Second-factor backup codes" : "Códigos de respaldo del segundo factor",
"Generate backup codes" : "Generar los códigos de respaldo",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Habilitó la autentificación de dos factores pero aún no ha generado los códigos de respaldo. Éstos son necesarios para acceder a su cuenta en caso de que pierda del segundo factor.",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
"A two-factor auth backup codes provider" : "Un proveedor de códigos de respaldo para autenticación de dos-factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Se generaron los códigos de respaldo. Se han utilizado {used} de {total} códigos.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Estos son sus códigos de respaldo. Por favor guárdelos y/o imprímalos ya que no podrá leerlos después.",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
+ "{name} backup codes" : "Códigos de respaldo {name}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Utilice uno de los códigos de respaldo que guardó al configurar la autentificación de dos factores.",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_NI.js b/apps/twofactor_backupcodes/l10n/es_NI.js
index 613ecd8a6f2..bda75e326ad 100644
--- a/apps/twofactor_backupcodes/l10n/es_NI.js
+++ b/apps/twofactor_backupcodes/l10n/es_NI.js
@@ -6,12 +6,11 @@ OC.L10N.register(
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_NI.json b/apps/twofactor_backupcodes/l10n/es_NI.json
index ef3ce8cb5d1..67d4525548f 100644
--- a/apps/twofactor_backupcodes/l10n/es_NI.json
+++ b/apps/twofactor_backupcodes/l10n/es_NI.json
@@ -4,12 +4,11 @@
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_PA.js b/apps/twofactor_backupcodes/l10n/es_PA.js
index 613ecd8a6f2..bda75e326ad 100644
--- a/apps/twofactor_backupcodes/l10n/es_PA.js
+++ b/apps/twofactor_backupcodes/l10n/es_PA.js
@@ -6,12 +6,11 @@ OC.L10N.register(
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_PA.json b/apps/twofactor_backupcodes/l10n/es_PA.json
index ef3ce8cb5d1..67d4525548f 100644
--- a/apps/twofactor_backupcodes/l10n/es_PA.json
+++ b/apps/twofactor_backupcodes/l10n/es_PA.json
@@ -4,12 +4,11 @@
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_PE.js b/apps/twofactor_backupcodes/l10n/es_PE.js
index 613ecd8a6f2..bda75e326ad 100644
--- a/apps/twofactor_backupcodes/l10n/es_PE.js
+++ b/apps/twofactor_backupcodes/l10n/es_PE.js
@@ -6,12 +6,11 @@ OC.L10N.register(
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_PE.json b/apps/twofactor_backupcodes/l10n/es_PE.json
index ef3ce8cb5d1..67d4525548f 100644
--- a/apps/twofactor_backupcodes/l10n/es_PE.json
+++ b/apps/twofactor_backupcodes/l10n/es_PE.json
@@ -4,12 +4,11 @@
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_PR.js b/apps/twofactor_backupcodes/l10n/es_PR.js
index 613ecd8a6f2..bda75e326ad 100644
--- a/apps/twofactor_backupcodes/l10n/es_PR.js
+++ b/apps/twofactor_backupcodes/l10n/es_PR.js
@@ -6,12 +6,11 @@ OC.L10N.register(
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_PR.json b/apps/twofactor_backupcodes/l10n/es_PR.json
index ef3ce8cb5d1..67d4525548f 100644
--- a/apps/twofactor_backupcodes/l10n/es_PR.json
+++ b/apps/twofactor_backupcodes/l10n/es_PR.json
@@ -4,12 +4,11 @@
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_PY.js b/apps/twofactor_backupcodes/l10n/es_PY.js
index 613ecd8a6f2..bda75e326ad 100644
--- a/apps/twofactor_backupcodes/l10n/es_PY.js
+++ b/apps/twofactor_backupcodes/l10n/es_PY.js
@@ -6,12 +6,11 @@ OC.L10N.register(
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_PY.json b/apps/twofactor_backupcodes/l10n/es_PY.json
index ef3ce8cb5d1..67d4525548f 100644
--- a/apps/twofactor_backupcodes/l10n/es_PY.json
+++ b/apps/twofactor_backupcodes/l10n/es_PY.json
@@ -4,12 +4,11 @@
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_SV.js b/apps/twofactor_backupcodes/l10n/es_SV.js
index 787ad85152e..bd9cbba24a9 100644
--- a/apps/twofactor_backupcodes/l10n/es_SV.js
+++ b/apps/twofactor_backupcodes/l10n/es_SV.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_SV.json b/apps/twofactor_backupcodes/l10n/es_SV.json
index 08db3931be3..3798120620d 100644
--- a/apps/twofactor_backupcodes/l10n/es_SV.json
+++ b/apps/twofactor_backupcodes/l10n/es_SV.json
@@ -5,12 +5,11 @@
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
"Two factor backup codes" : "Códigos de respaldo de dos factores",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/es_UY.js b/apps/twofactor_backupcodes/l10n/es_UY.js
index 613ecd8a6f2..bda75e326ad 100644
--- a/apps/twofactor_backupcodes/l10n/es_UY.js
+++ b/apps/twofactor_backupcodes/l10n/es_UY.js
@@ -6,12 +6,11 @@ OC.L10N.register(
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/es_UY.json b/apps/twofactor_backupcodes/l10n/es_UY.json
index ef3ce8cb5d1..67d4525548f 100644
--- a/apps/twofactor_backupcodes/l10n/es_UY.json
+++ b/apps/twofactor_backupcodes/l10n/es_UY.json
@@ -4,12 +4,11 @@
"Generate backup codes" : "Generar los códigos de respaldo",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usa el código de respaldo",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son tus códigos de respaldo. Por favor resguárdalos y/o imprímelos ya que no podrás leerlos otra vez después.",
+ "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si regeneras los códigos de respaldo, automáticamente invalidarás los anteriores. ",
- "An error occurred while generating your backup codes" : "Se presentó un error al generar tus códigos de respaldo. ",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/et_EE.js b/apps/twofactor_backupcodes/l10n/et_EE.js
new file mode 100644
index 00000000000..8f62eea86ee
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/et_EE.js
@@ -0,0 +1,23 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "You created two-factor backup codes for your account" : "Sa lõid oma konto jaoks kaheastmelise autentimise varukoodid",
+ "Second-factor backup codes" : "Kaheastmelise autentimise varukoodid",
+ "Generate backup codes" : "Genereeri varukoodid",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Sa lülitasid sisse kaheastmelise autentimise, aga pole veel varukoode genereerinud. Neid on vaja kontole ligipääsemiseks, kui peaksid oma teise autentimisfaktori kaotama.",
+ "Backup code" : "Varukood",
+ "Use backup code" : "Kasuta varukoodi",
+ "Two factor backup codes" : "Kaheastmelise autentimise varukoodid",
+ "A two-factor auth backup codes provider" : "Kaheastmelise autentimise varukoodide pakkuja",
+ "An error occurred while generating your backup codes" : "Varukoodide genereerimisel tekkis tõrge",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Varukoodid genereeritud. {used} koodi {total}-st on kasutatud.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Need on su tagavarakoodid. Palun salvesta ja/või prindi need välja kuna sa ei saa neid koode hiljem uuesti lugeda.",
+ "Save backup codes" : "Salvesta varukoodid",
+ "Print backup codes" : "Trüki varukoodid",
+ "Regenerate backup codes" : "Genereeri varukoodid uuesti",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Kui genereerid varukoodid uuesti, muudad vanad koodid automaatselt kehtetuks.",
+ "{name} backup codes" : "{name} varukoodid",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Kasuta üht kaheastmelise autentimise seadistamisel salvestatud varukoodidest.",
+ "Submit" : "Saada"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/et_EE.json b/apps/twofactor_backupcodes/l10n/et_EE.json
new file mode 100644
index 00000000000..9cc7ebced77
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/et_EE.json
@@ -0,0 +1,21 @@
+{ "translations": {
+ "You created two-factor backup codes for your account" : "Sa lõid oma konto jaoks kaheastmelise autentimise varukoodid",
+ "Second-factor backup codes" : "Kaheastmelise autentimise varukoodid",
+ "Generate backup codes" : "Genereeri varukoodid",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Sa lülitasid sisse kaheastmelise autentimise, aga pole veel varukoode genereerinud. Neid on vaja kontole ligipääsemiseks, kui peaksid oma teise autentimisfaktori kaotama.",
+ "Backup code" : "Varukood",
+ "Use backup code" : "Kasuta varukoodi",
+ "Two factor backup codes" : "Kaheastmelise autentimise varukoodid",
+ "A two-factor auth backup codes provider" : "Kaheastmelise autentimise varukoodide pakkuja",
+ "An error occurred while generating your backup codes" : "Varukoodide genereerimisel tekkis tõrge",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Varukoodid genereeritud. {used} koodi {total}-st on kasutatud.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Need on su tagavarakoodid. Palun salvesta ja/või prindi need välja kuna sa ei saa neid koode hiljem uuesti lugeda.",
+ "Save backup codes" : "Salvesta varukoodid",
+ "Print backup codes" : "Trüki varukoodid",
+ "Regenerate backup codes" : "Genereeri varukoodid uuesti",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Kui genereerid varukoodid uuesti, muudad vanad koodid automaatselt kehtetuks.",
+ "{name} backup codes" : "{name} varukoodid",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Kasuta üht kaheastmelise autentimise seadistamisel salvestatud varukoodidest.",
+ "Submit" : "Saada"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/eu.js b/apps/twofactor_backupcodes/l10n/eu.js
index 093dcb8e02b..51bbef86537 100644
--- a/apps/twofactor_backupcodes/l10n/eu.js
+++ b/apps/twofactor_backupcodes/l10n/eu.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Erabili ordezko kodea",
"Two factor backup codes" : "Bigarren faktoreko segurtasun kodeak",
"A two-factor auth backup codes provider" : "Bigarren faktoreko segurtasun kodeen hornitzailea",
+ "An error occurred while generating your backup codes" : "Errorea gertatu da segurtasun kodeak sortzean",
"Backup codes have been generated. {used} of {total} codes have been used." : "Sortu den segurtasun kode kopurua. {used} erabili dira {total} segurtasun kodetik.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Hauexek dira zure segurtasun kodeak. Gorde edo/eta inprimatu itzazu ez baitira berriz agertuko.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Hauexek dira zure segurtasun kodeak. Gorde edo/eta inprimatu itzazu ez baitira berriz agertuko.",
"Save backup codes" : "Gorde babeskopia-kodeak",
"Print backup codes" : "Segurtasun kodeak inprimatu",
"Regenerate backup codes" : "Segurtasun kodeak berriz sortu",
"If you regenerate backup codes, you automatically invalidate old codes." : "Segurtasun kodeak berriz sortzen badituzu, zaharrak desaktibatu egingo dira.",
- "An error occurred while generating your backup codes" : "Errorea gertatu da segurtasun kodeak sortzean",
"{name} backup codes" : "{name} segurtasun kodeak",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Erabili bi faktoreko autentifikazioa aktibatu zenuenean sortutako segurtasun kodeetako bat",
"Submit" : "Bidali"
diff --git a/apps/twofactor_backupcodes/l10n/eu.json b/apps/twofactor_backupcodes/l10n/eu.json
index 75fa7b1c82a..23655c5bbcc 100644
--- a/apps/twofactor_backupcodes/l10n/eu.json
+++ b/apps/twofactor_backupcodes/l10n/eu.json
@@ -7,13 +7,13 @@
"Use backup code" : "Erabili ordezko kodea",
"Two factor backup codes" : "Bigarren faktoreko segurtasun kodeak",
"A two-factor auth backup codes provider" : "Bigarren faktoreko segurtasun kodeen hornitzailea",
+ "An error occurred while generating your backup codes" : "Errorea gertatu da segurtasun kodeak sortzean",
"Backup codes have been generated. {used} of {total} codes have been used." : "Sortu den segurtasun kode kopurua. {used} erabili dira {total} segurtasun kodetik.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Hauexek dira zure segurtasun kodeak. Gorde edo/eta inprimatu itzazu ez baitira berriz agertuko.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Hauexek dira zure segurtasun kodeak. Gorde edo/eta inprimatu itzazu ez baitira berriz agertuko.",
"Save backup codes" : "Gorde babeskopia-kodeak",
"Print backup codes" : "Segurtasun kodeak inprimatu",
"Regenerate backup codes" : "Segurtasun kodeak berriz sortu",
"If you regenerate backup codes, you automatically invalidate old codes." : "Segurtasun kodeak berriz sortzen badituzu, zaharrak desaktibatu egingo dira.",
- "An error occurred while generating your backup codes" : "Errorea gertatu da segurtasun kodeak sortzean",
"{name} backup codes" : "{name} segurtasun kodeak",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Erabili bi faktoreko autentifikazioa aktibatu zenuenean sortutako segurtasun kodeetako bat",
"Submit" : "Bidali"
diff --git a/apps/twofactor_backupcodes/l10n/fa.js b/apps/twofactor_backupcodes/l10n/fa.js
new file mode 100644
index 00000000000..123700613c3
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/fa.js
@@ -0,0 +1,22 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "You created two-factor backup codes for your account" : "شما کدهای پشتیبان دو مرحله ای برای حساب خود ایجاد کردید.",
+ "Second-factor backup codes" : "کدهای پشتیبان فاکتور دوم",
+ "Generate backup codes" : "کدهای پشتیبان تولید کنید",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "شما احراز هویت دو مرحله ای را فعال کرده اید اما هنوز کدهای پشتیبان ایجاد نکرده اید. آنها برای بازگرداندن دسترسی به حساب شما در صورت از دست دادن فاکتور دوم مورد نیاز هستند.",
+ "Backup code" : "کد پشتیبان",
+ "Use backup code" : "از کد پشتیبان استفاده شود",
+ "Two factor backup codes" : "کدهای پشتیبان دو عاملی",
+ "A two-factor auth backup codes provider" : "ارائه دهنده کدهای پشتیبان تأیید اعتبار دو مرحله ای",
+ "An error occurred while generating your backup codes" : "هنگام ایجاد کدهای پشتیبان شما خطایی روی داد",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "کدهای پشتیبان ایجاد شده است. {used} از {total} کد استفاده شده است.",
+ "Save backup codes" : "ذخیره کدهای پشتیبان",
+ "Print backup codes" : "چاپ کدهای پشتیبان",
+ "Regenerate backup codes" : "کدهای پشتیبان را دوباره تولید کنید.",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "اگر کدهای پشتیبان را دوباره تولید کنید، به طور خودکار کدهای قدیمی را باطل می کنید.",
+ "{name} backup codes" : "کدهای پشتیبان {نام}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "از یکی از کدهای پشتیبان که هنگام تنظیم احراز هویت دو مرحله ای ذخیره کرده اید استفاده کنید.",
+ "Submit" : "ارسال"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/twofactor_backupcodes/l10n/fa.json b/apps/twofactor_backupcodes/l10n/fa.json
new file mode 100644
index 00000000000..c1c2d24f30e
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/fa.json
@@ -0,0 +1,20 @@
+{ "translations": {
+ "You created two-factor backup codes for your account" : "شما کدهای پشتیبان دو مرحله ای برای حساب خود ایجاد کردید.",
+ "Second-factor backup codes" : "کدهای پشتیبان فاکتور دوم",
+ "Generate backup codes" : "کدهای پشتیبان تولید کنید",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "شما احراز هویت دو مرحله ای را فعال کرده اید اما هنوز کدهای پشتیبان ایجاد نکرده اید. آنها برای بازگرداندن دسترسی به حساب شما در صورت از دست دادن فاکتور دوم مورد نیاز هستند.",
+ "Backup code" : "کد پشتیبان",
+ "Use backup code" : "از کد پشتیبان استفاده شود",
+ "Two factor backup codes" : "کدهای پشتیبان دو عاملی",
+ "A two-factor auth backup codes provider" : "ارائه دهنده کدهای پشتیبان تأیید اعتبار دو مرحله ای",
+ "An error occurred while generating your backup codes" : "هنگام ایجاد کدهای پشتیبان شما خطایی روی داد",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "کدهای پشتیبان ایجاد شده است. {used} از {total} کد استفاده شده است.",
+ "Save backup codes" : "ذخیره کدهای پشتیبان",
+ "Print backup codes" : "چاپ کدهای پشتیبان",
+ "Regenerate backup codes" : "کدهای پشتیبان را دوباره تولید کنید.",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "اگر کدهای پشتیبان را دوباره تولید کنید، به طور خودکار کدهای قدیمی را باطل می کنید.",
+ "{name} backup codes" : "کدهای پشتیبان {نام}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "از یکی از کدهای پشتیبان که هنگام تنظیم احراز هویت دو مرحله ای ذخیره کرده اید استفاده کنید.",
+ "Submit" : "ارسال"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/fi.js b/apps/twofactor_backupcodes/l10n/fi.js
index fed7b745cfa..6a408e16400 100644
--- a/apps/twofactor_backupcodes/l10n/fi.js
+++ b/apps/twofactor_backupcodes/l10n/fi.js
@@ -7,13 +7,12 @@ OC.L10N.register(
"Backup code" : "Varakoodi",
"Use backup code" : "Käytä varakoodia",
"Two factor backup codes" : "Kaksivaiheiden tunnistautumisen varakoodit",
+ "An error occurred while generating your backup codes" : "Tapahtui virhe varakoodeja luotaessa",
"Backup codes have been generated. {used} of {total} codes have been used." : "Varakoodit on luotu. {used}/{total} koodia on käytetty.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Nämä ovat varakoodisi. Tallenna ja/tai tulosta ne, koska et voi lukea koodeja myöhemmin",
"Save backup codes" : "Tallenna varakoodit",
"Print backup codes" : "Tulosta varakoodit",
"Regenerate backup codes" : "Luo varakoodit uudelleen",
"If you regenerate backup codes, you automatically invalidate old codes." : "Jos luot varakoodit uudelleen, vanhat koodit poistetaan automaattisesti käytöstä.",
- "An error occurred while generating your backup codes" : "Tapahtui virhe varakoodeja luotaessa",
"Submit" : "Lähetä"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/fi.json b/apps/twofactor_backupcodes/l10n/fi.json
index 5b71da5bc84..ce82c32a30f 100644
--- a/apps/twofactor_backupcodes/l10n/fi.json
+++ b/apps/twofactor_backupcodes/l10n/fi.json
@@ -5,13 +5,12 @@
"Backup code" : "Varakoodi",
"Use backup code" : "Käytä varakoodia",
"Two factor backup codes" : "Kaksivaiheiden tunnistautumisen varakoodit",
+ "An error occurred while generating your backup codes" : "Tapahtui virhe varakoodeja luotaessa",
"Backup codes have been generated. {used} of {total} codes have been used." : "Varakoodit on luotu. {used}/{total} koodia on käytetty.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Nämä ovat varakoodisi. Tallenna ja/tai tulosta ne, koska et voi lukea koodeja myöhemmin",
"Save backup codes" : "Tallenna varakoodit",
"Print backup codes" : "Tulosta varakoodit",
"Regenerate backup codes" : "Luo varakoodit uudelleen",
"If you regenerate backup codes, you automatically invalidate old codes." : "Jos luot varakoodit uudelleen, vanhat koodit poistetaan automaattisesti käytöstä.",
- "An error occurred while generating your backup codes" : "Tapahtui virhe varakoodeja luotaessa",
"Submit" : "Lähetä"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/fr.js b/apps/twofactor_backupcodes/l10n/fr.js
index 8f44815a5f8..c49e09edc8f 100644
--- a/apps/twofactor_backupcodes/l10n/fr.js
+++ b/apps/twofactor_backupcodes/l10n/fr.js
@@ -2,22 +2,22 @@ OC.L10N.register(
"twofactor_backupcodes",
{
"You created two-factor backup codes for your account" : "Vous avez créé des codes de secours à deux facteurs pour votre compte",
- "Second-factor backup codes" : "Codes de récupération pour l'authentification en deux étapes",
+ "Second-factor backup codes" : "Codes de récupération pour l’authentification en deux étapes",
"Generate backup codes" : "Générer des codes de récupération",
"You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Vous avez activé l'authentification en deux étapes mais vous n'avez pas généré de codes de secours. Ils sont nécessaires pour récupérer l'accès à votre compte en cas de perte de votre autre moyen de connexion.",
"Backup code" : "Code de récupération",
"Use backup code" : "Utiliser un code de récupération",
"Two factor backup codes" : "Code de secours pour l'authentification double facteur.",
"A two-factor auth backup codes provider" : "Un fournisseur de codes de récupération d'authentification à deux facteurs",
+ "An error occurred while generating your backup codes" : "Une erreur est survenue lors de la génération de vos codes de récupération",
"Backup codes have been generated. {used} of {total} codes have been used." : "Les codes de récupération ont été générés. {used} codes sur {total} ont été utilisés.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Voici vos codes de récupération. Veuillez les sauvegarder et/ou les imprimer car vous ne pourrez plus y avoir accès ultérieurement",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Ce sont vos codes de secours. Veuillez les enregistrer et/ou les imprimer car vous ne pourrez plus les redemander ultérieurement.",
"Save backup codes" : "Sauvegarder les codes de récupération",
"Print backup codes" : "Imprimer les codes de récupération",
"Regenerate backup codes" : "Régénérer les codes de récupération",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si vous régénérez les codes de récupération, vous invalidez automatiquement les anciens codes.",
- "An error occurred while generating your backup codes" : "Une erreur est survenue lors de la génération de vos codes de récupération",
"{name} backup codes" : "{name} codes de récupération",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Utilisez l'un des codes de secours que vous avez crée lors du paramétrage de l'authentification à deux facteurs.",
- "Submit" : "Envoyer"
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Utilisez l'un des codes de récupération que vous avez enregistrés lors de la configuration de l'authentification à deux facteurs.",
+ "Submit" : "Soumettre"
},
-"nplurals=2; plural=(n > 1);");
+"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/fr.json b/apps/twofactor_backupcodes/l10n/fr.json
index 48157e74a03..04f04ae2c6e 100644
--- a/apps/twofactor_backupcodes/l10n/fr.json
+++ b/apps/twofactor_backupcodes/l10n/fr.json
@@ -1,21 +1,21 @@
{ "translations": {
"You created two-factor backup codes for your account" : "Vous avez créé des codes de secours à deux facteurs pour votre compte",
- "Second-factor backup codes" : "Codes de récupération pour l'authentification en deux étapes",
+ "Second-factor backup codes" : "Codes de récupération pour l’authentification en deux étapes",
"Generate backup codes" : "Générer des codes de récupération",
"You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Vous avez activé l'authentification en deux étapes mais vous n'avez pas généré de codes de secours. Ils sont nécessaires pour récupérer l'accès à votre compte en cas de perte de votre autre moyen de connexion.",
"Backup code" : "Code de récupération",
"Use backup code" : "Utiliser un code de récupération",
"Two factor backup codes" : "Code de secours pour l'authentification double facteur.",
"A two-factor auth backup codes provider" : "Un fournisseur de codes de récupération d'authentification à deux facteurs",
+ "An error occurred while generating your backup codes" : "Une erreur est survenue lors de la génération de vos codes de récupération",
"Backup codes have been generated. {used} of {total} codes have been used." : "Les codes de récupération ont été générés. {used} codes sur {total} ont été utilisés.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Voici vos codes de récupération. Veuillez les sauvegarder et/ou les imprimer car vous ne pourrez plus y avoir accès ultérieurement",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Ce sont vos codes de secours. Veuillez les enregistrer et/ou les imprimer car vous ne pourrez plus les redemander ultérieurement.",
"Save backup codes" : "Sauvegarder les codes de récupération",
"Print backup codes" : "Imprimer les codes de récupération",
"Regenerate backup codes" : "Régénérer les codes de récupération",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si vous régénérez les codes de récupération, vous invalidez automatiquement les anciens codes.",
- "An error occurred while generating your backup codes" : "Une erreur est survenue lors de la génération de vos codes de récupération",
"{name} backup codes" : "{name} codes de récupération",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Utilisez l'un des codes de secours que vous avez crée lors du paramétrage de l'authentification à deux facteurs.",
- "Submit" : "Envoyer"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Utilisez l'un des codes de récupération que vous avez enregistrés lors de la configuration de l'authentification à deux facteurs.",
+ "Submit" : "Soumettre"
+},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/ga.js b/apps/twofactor_backupcodes/l10n/ga.js
new file mode 100644
index 00000000000..92afbed005f
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ga.js
@@ -0,0 +1,23 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "You created two-factor backup codes for your account" : "Chruthaigh tú cóid chúltaca dhá-fhachtóir do do chuntas",
+ "Second-factor backup codes" : "Cóid chúltaca dara fachtóir",
+ "Generate backup codes" : "Gin cóid chúltaca",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Chuir tú ar chumas fíordheimhnithe dhá-fhachtóir ach níor ghin tú cóid chúltaca fós. Tá siad ag teastáil chun rochtain ar do chuntas a aischur ar eagla go gcaillfidh tú do dhara fachtóir.",
+ "Backup code" : "Cód cúltaca",
+ "Use backup code" : "Úsáid cód cúltaca",
+ "Two factor backup codes" : "Cóid chúltaca dhá fhachtóir",
+ "A two-factor auth backup codes provider" : "Soláthraí cóid chúltaca údaráis dhá-fhachtóir",
+ "An error occurred while generating your backup codes" : "Tharla earráid agus do chóid chúltaca á nginiúint",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Gineadh cóid chúltaca. Baineadh úsáid as {used} as {total} cóid.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Seo iad do chóid chúltaca. Sábháil agus/nó priontáil iad mar ní bheidh tú in ann na cóid a léamh arís ar ball le do thoil.",
+ "Save backup codes" : "Sábháil cóid chúltaca",
+ "Print backup codes" : "Priontáil cóid chúltaca",
+ "Regenerate backup codes" : "Athghin cóid chúltaca",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Má athghineann tú cóid chúltaca, déanann tú sean-chóid neamhbhailí go huathoibríoch.",
+ "{name} backup codes" : "cóid chúltaca {name}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Bain úsáid as ceann de na cóid chúltaca a shábháil tú agus fíordheimhniú dhá-fhachtóir á socrú agat.",
+ "Submit" : "Cuir isteach"
+},
+"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);");
diff --git a/apps/twofactor_backupcodes/l10n/ga.json b/apps/twofactor_backupcodes/l10n/ga.json
new file mode 100644
index 00000000000..b610ac4d1b7
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ga.json
@@ -0,0 +1,21 @@
+{ "translations": {
+ "You created two-factor backup codes for your account" : "Chruthaigh tú cóid chúltaca dhá-fhachtóir do do chuntas",
+ "Second-factor backup codes" : "Cóid chúltaca dara fachtóir",
+ "Generate backup codes" : "Gin cóid chúltaca",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Chuir tú ar chumas fíordheimhnithe dhá-fhachtóir ach níor ghin tú cóid chúltaca fós. Tá siad ag teastáil chun rochtain ar do chuntas a aischur ar eagla go gcaillfidh tú do dhara fachtóir.",
+ "Backup code" : "Cód cúltaca",
+ "Use backup code" : "Úsáid cód cúltaca",
+ "Two factor backup codes" : "Cóid chúltaca dhá fhachtóir",
+ "A two-factor auth backup codes provider" : "Soláthraí cóid chúltaca údaráis dhá-fhachtóir",
+ "An error occurred while generating your backup codes" : "Tharla earráid agus do chóid chúltaca á nginiúint",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Gineadh cóid chúltaca. Baineadh úsáid as {used} as {total} cóid.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Seo iad do chóid chúltaca. Sábháil agus/nó priontáil iad mar ní bheidh tú in ann na cóid a léamh arís ar ball le do thoil.",
+ "Save backup codes" : "Sábháil cóid chúltaca",
+ "Print backup codes" : "Priontáil cóid chúltaca",
+ "Regenerate backup codes" : "Athghin cóid chúltaca",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Má athghineann tú cóid chúltaca, déanann tú sean-chóid neamhbhailí go huathoibríoch.",
+ "{name} backup codes" : "cóid chúltaca {name}",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Bain úsáid as ceann de na cóid chúltaca a shábháil tú agus fíordheimhniú dhá-fhachtóir á socrú agat.",
+ "Submit" : "Cuir isteach"
+},"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"
+} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/gl.js b/apps/twofactor_backupcodes/l10n/gl.js
index 6f01f163ac0..76a82fe9ebc 100644
--- a/apps/twofactor_backupcodes/l10n/gl.js
+++ b/apps/twofactor_backupcodes/l10n/gl.js
@@ -1,23 +1,23 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "Creou códigos de seguridade de dous factores para a súa conta",
- "Second-factor backup codes" : "Códigos de seguridade do segundo factor",
- "Generate backup codes" : "Xerar códigos de seguridade",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Activou a autenticación de dous factores mais aínda non xerou os códigos de copia de seguridade. Necesítanse para restaurar o acceso á súa conta no caso de perder o segundo factor.",
- "Backup code" : "Código de seguridade",
- "Use backup code" : "Usar código de seguridade",
- "Two factor backup codes" : "Códigos de seguridade de dous factores",
- "A two-factor auth backup codes provider" : "Un provedor de códigos de seguridade para a autenticación de dous factores",
- "Backup codes have been generated. {used} of {total} codes have been used." : "Os códigos de seguridade foron xerados. Usou {used} códigos de {total}.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estes son os seus códigos de seguridade. Gárdeos e/ou imprímaos xa que non poderá volver lelos de novo.",
- "Save backup codes" : "Gardar os códigos de seguridade",
- "Print backup codes" : "Imprimir os códigos de seguridade",
- "Regenerate backup codes" : "Rexenerar códigos de seguridade",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Se rexenera os códigos de seguridade, automaticamente invalidara os antigos códigos.",
- "An error occurred while generating your backup codes" : "Produciuse un erro ao rexenerar os seus códigos de seguridade",
- "{name} backup codes" : "{name} códigos de seguridade",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Use un dos códigos de seguridade que gardou cuando axustou a autenticación de dous factores.",
+ "You created two-factor backup codes for your account" : "Creou códigos de recuperación de dous factores para a súa conta",
+ "Second-factor backup codes" : "Códigos de recuperación do segundo factor",
+ "Generate backup codes" : "Xerar códigos de recuperación",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Activou a autenticación de dous factores mais aínda non xerou os códigos de recuperación. Necesítanse para restaurar o acceso á súa conta no caso de perder o segundo factor.",
+ "Backup code" : "Código de recuperación",
+ "Use backup code" : "Usar código de recuperación",
+ "Two factor backup codes" : "Códigos de recuperación de dous factores",
+ "A two-factor auth backup codes provider" : "Un provedor de códigos de recuperación para a autenticación de dous factores",
+ "An error occurred while generating your backup codes" : "Produciuse un erro ao xerar os seus códigos de recuperación",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Xeraronse os códigos de recuperación. Usou {used} códigos de {total}.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Estes son os seus códigos de recuperación. Gárdeos e/ou imprímaos xa que non poderá volver lelos de novo.",
+ "Save backup codes" : "Gardar os códigos de recuperación",
+ "Print backup codes" : "Imprimir os códigos de recuperación",
+ "Regenerate backup codes" : "Volver xerar códigos de recuperación",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Se volve xerar os códigos de recuperación, automaticamente invalidara os antigos códigos.",
+ "{name} backup codes" : "Códigos de recuperación {name} ",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Use un dos códigos de recuperación que gardou cando axustou a autenticación de dous factores.",
"Submit" : "Enviar "
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/gl.json b/apps/twofactor_backupcodes/l10n/gl.json
index 523715b48e2..47cc4a174f4 100644
--- a/apps/twofactor_backupcodes/l10n/gl.json
+++ b/apps/twofactor_backupcodes/l10n/gl.json
@@ -1,21 +1,21 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "Creou códigos de seguridade de dous factores para a súa conta",
- "Second-factor backup codes" : "Códigos de seguridade do segundo factor",
- "Generate backup codes" : "Xerar códigos de seguridade",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Activou a autenticación de dous factores mais aínda non xerou os códigos de copia de seguridade. Necesítanse para restaurar o acceso á súa conta no caso de perder o segundo factor.",
- "Backup code" : "Código de seguridade",
- "Use backup code" : "Usar código de seguridade",
- "Two factor backup codes" : "Códigos de seguridade de dous factores",
- "A two-factor auth backup codes provider" : "Un provedor de códigos de seguridade para a autenticación de dous factores",
- "Backup codes have been generated. {used} of {total} codes have been used." : "Os códigos de seguridade foron xerados. Usou {used} códigos de {total}.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estes son os seus códigos de seguridade. Gárdeos e/ou imprímaos xa que non poderá volver lelos de novo.",
- "Save backup codes" : "Gardar os códigos de seguridade",
- "Print backup codes" : "Imprimir os códigos de seguridade",
- "Regenerate backup codes" : "Rexenerar códigos de seguridade",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Se rexenera os códigos de seguridade, automaticamente invalidara os antigos códigos.",
- "An error occurred while generating your backup codes" : "Produciuse un erro ao rexenerar os seus códigos de seguridade",
- "{name} backup codes" : "{name} códigos de seguridade",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Use un dos códigos de seguridade que gardou cuando axustou a autenticación de dous factores.",
+ "You created two-factor backup codes for your account" : "Creou códigos de recuperación de dous factores para a súa conta",
+ "Second-factor backup codes" : "Códigos de recuperación do segundo factor",
+ "Generate backup codes" : "Xerar códigos de recuperación",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Activou a autenticación de dous factores mais aínda non xerou os códigos de recuperación. Necesítanse para restaurar o acceso á súa conta no caso de perder o segundo factor.",
+ "Backup code" : "Código de recuperación",
+ "Use backup code" : "Usar código de recuperación",
+ "Two factor backup codes" : "Códigos de recuperación de dous factores",
+ "A two-factor auth backup codes provider" : "Un provedor de códigos de recuperación para a autenticación de dous factores",
+ "An error occurred while generating your backup codes" : "Produciuse un erro ao xerar os seus códigos de recuperación",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Xeraronse os códigos de recuperación. Usou {used} códigos de {total}.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Estes son os seus códigos de recuperación. Gárdeos e/ou imprímaos xa que non poderá volver lelos de novo.",
+ "Save backup codes" : "Gardar os códigos de recuperación",
+ "Print backup codes" : "Imprimir os códigos de recuperación",
+ "Regenerate backup codes" : "Volver xerar códigos de recuperación",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Se volve xerar os códigos de recuperación, automaticamente invalidara os antigos códigos.",
+ "{name} backup codes" : "Códigos de recuperación {name} ",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Use un dos códigos de recuperación que gardou cando axustou a autenticación de dous factores.",
"Submit" : "Enviar "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/he.js b/apps/twofactor_backupcodes/l10n/he.js
index c8b0f6fad32..e3d24e14788 100644
--- a/apps/twofactor_backupcodes/l10n/he.js
+++ b/apps/twofactor_backupcodes/l10n/he.js
@@ -8,12 +8,12 @@ OC.L10N.register(
"Backup code" : "קוד גיבוי",
"Use backup code" : "שימוש בקוד גיבוי",
"Two factor backup codes" : "קודים לגיבוי אימות דו־שלבי",
+ "An error occurred while generating your backup codes" : "אירעה שגיאה ביצירת הקודים שלך לגיבוי",
"Save backup codes" : "שמירת קודים לגיבוי",
"Print backup codes" : "הדפסת קודים לגיבוי",
"Regenerate backup codes" : "יצירת קודים לגיבוי",
"If you regenerate backup codes, you automatically invalidate old codes." : "ייצור של קודים חדשים לגיבוי יבטל את תוקף הקודים הישנים.",
- "An error occurred while generating your backup codes" : "אירעה שגיאה ביצירת הקודים שלך לגיבוי",
"{name} backup codes" : "{name} קודים לגיבוי",
"Submit" : "שליחה"
},
-"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
+"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");
diff --git a/apps/twofactor_backupcodes/l10n/he.json b/apps/twofactor_backupcodes/l10n/he.json
index 32c8688960c..a0528976ea0 100644
--- a/apps/twofactor_backupcodes/l10n/he.json
+++ b/apps/twofactor_backupcodes/l10n/he.json
@@ -6,12 +6,12 @@
"Backup code" : "קוד גיבוי",
"Use backup code" : "שימוש בקוד גיבוי",
"Two factor backup codes" : "קודים לגיבוי אימות דו־שלבי",
+ "An error occurred while generating your backup codes" : "אירעה שגיאה ביצירת הקודים שלך לגיבוי",
"Save backup codes" : "שמירת קודים לגיבוי",
"Print backup codes" : "הדפסת קודים לגיבוי",
"Regenerate backup codes" : "יצירת קודים לגיבוי",
"If you regenerate backup codes, you automatically invalidate old codes." : "ייצור של קודים חדשים לגיבוי יבטל את תוקף הקודים הישנים.",
- "An error occurred while generating your backup codes" : "אירעה שגיאה ביצירת הקודים שלך לגיבוי",
"{name} backup codes" : "{name} קודים לגיבוי",
"Submit" : "שליחה"
-},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
+},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/hr.js b/apps/twofactor_backupcodes/l10n/hr.js
index 1e9c1af7075..8fecb092274 100644
--- a/apps/twofactor_backupcodes/l10n/hr.js
+++ b/apps/twofactor_backupcodes/l10n/hr.js
@@ -9,13 +9,12 @@ OC.L10N.register(
"Use backup code" : "Upotrijebi pričuvnu šifru",
"Two factor backup codes" : "Dvofaktorske pričuvne šifre",
"A two-factor auth backup codes provider" : "Davatelj pričuvnih šifri za dvofaktorsku autentifikaciju",
+ "An error occurred while generating your backup codes" : "Došlo je do pogreške pri generiranju pričuvnih šifri",
"Backup codes have been generated. {used} of {total} codes have been used." : "Pričuvne šifre su generirane. Iskorišteno je {used} od {total} šifri.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Ovo su vaše pričuvne šifre. Spremite ih i/ili ih ispišite jer ih kasnije više nećete moći pročitati",
"Save backup codes" : "Spremi pričuvne šifre",
"Print backup codes" : "Ispis pričuvnih šifri",
"Regenerate backup codes" : "Ponovno generiranje pričuvnih šifri",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ako ponovno generirate pričuvne šifre, automatski poništavate stare šifre.",
- "An error occurred while generating your backup codes" : "Došlo je do pogreške pri generiranju pričuvnih šifri",
"{name} backup codes" : "{name} pričuvnih šifri",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Upotrijebite jednu od pričuvnih šifri koje ste spremili prilikom postavljanja dvofaktorske autentifikacije.",
"Submit" : "Šalji"
diff --git a/apps/twofactor_backupcodes/l10n/hr.json b/apps/twofactor_backupcodes/l10n/hr.json
index 2c0d33bc2f2..049d4a601fa 100644
--- a/apps/twofactor_backupcodes/l10n/hr.json
+++ b/apps/twofactor_backupcodes/l10n/hr.json
@@ -7,13 +7,12 @@
"Use backup code" : "Upotrijebi pričuvnu šifru",
"Two factor backup codes" : "Dvofaktorske pričuvne šifre",
"A two-factor auth backup codes provider" : "Davatelj pričuvnih šifri za dvofaktorsku autentifikaciju",
+ "An error occurred while generating your backup codes" : "Došlo je do pogreške pri generiranju pričuvnih šifri",
"Backup codes have been generated. {used} of {total} codes have been used." : "Pričuvne šifre su generirane. Iskorišteno je {used} od {total} šifri.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Ovo su vaše pričuvne šifre. Spremite ih i/ili ih ispišite jer ih kasnije više nećete moći pročitati",
"Save backup codes" : "Spremi pričuvne šifre",
"Print backup codes" : "Ispis pričuvnih šifri",
"Regenerate backup codes" : "Ponovno generiranje pričuvnih šifri",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ako ponovno generirate pričuvne šifre, automatski poništavate stare šifre.",
- "An error occurred while generating your backup codes" : "Došlo je do pogreške pri generiranju pričuvnih šifri",
"{name} backup codes" : "{name} pričuvnih šifri",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Upotrijebite jednu od pričuvnih šifri koje ste spremili prilikom postavljanja dvofaktorske autentifikacije.",
"Submit" : "Šalji"
diff --git a/apps/twofactor_backupcodes/l10n/hu.js b/apps/twofactor_backupcodes/l10n/hu.js
index 659313bee17..1ddbcdb4277 100644
--- a/apps/twofactor_backupcodes/l10n/hu.js
+++ b/apps/twofactor_backupcodes/l10n/hu.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Biztonsági kód használata",
"Two factor backup codes" : "Kétlépcsős biztonsági mentési kódok",
"A two-factor auth backup codes provider" : "Kétlépcsős hitelesítés biztonsági kódjainak szolgáltatója",
+ "An error occurred while generating your backup codes" : "Hiba történt a biztonsági kódok előállítása során",
"Backup codes have been generated. {used} of {total} codes have been used." : "Létrejöttek a biztonsági kódok. {total} kódból {used} lett felhasználva.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Ezek a biztonsági kódjai. Mentse el vagy nyomtassa ki őket úgy, hogy később is meglegyenek.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Ezek a biztonsági kódjai. Mentse el vagy nyomtassa ki őket úgy, hogy később is meglegyenek.",
"Save backup codes" : "Biztonsági kódok mentése",
"Print backup codes" : "Biztonsági kódok nyomtatása",
"Regenerate backup codes" : "Biztonsági kódok újbóli előállítása",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ha újra előállítja a biztonsági kódokat, akkor a régiek automatikusan érvénytelenítve lesznek.",
- "An error occurred while generating your backup codes" : "Hiba történt a biztonsági kódok előállítása során",
"{name} backup codes" : "{name} biztonsági kódjai",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Használjon egy biztonsági kódot, amikor beállítja a kétlépcsős hitelesítést.",
"Submit" : "Küldés"
diff --git a/apps/twofactor_backupcodes/l10n/hu.json b/apps/twofactor_backupcodes/l10n/hu.json
index 30491648c6c..514b09a7896 100644
--- a/apps/twofactor_backupcodes/l10n/hu.json
+++ b/apps/twofactor_backupcodes/l10n/hu.json
@@ -7,13 +7,13 @@
"Use backup code" : "Biztonsági kód használata",
"Two factor backup codes" : "Kétlépcsős biztonsági mentési kódok",
"A two-factor auth backup codes provider" : "Kétlépcsős hitelesítés biztonsági kódjainak szolgáltatója",
+ "An error occurred while generating your backup codes" : "Hiba történt a biztonsági kódok előállítása során",
"Backup codes have been generated. {used} of {total} codes have been used." : "Létrejöttek a biztonsági kódok. {total} kódból {used} lett felhasználva.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Ezek a biztonsági kódjai. Mentse el vagy nyomtassa ki őket úgy, hogy később is meglegyenek.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Ezek a biztonsági kódjai. Mentse el vagy nyomtassa ki őket úgy, hogy később is meglegyenek.",
"Save backup codes" : "Biztonsági kódok mentése",
"Print backup codes" : "Biztonsági kódok nyomtatása",
"Regenerate backup codes" : "Biztonsági kódok újbóli előállítása",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ha újra előállítja a biztonsági kódokat, akkor a régiek automatikusan érvénytelenítve lesznek.",
- "An error occurred while generating your backup codes" : "Hiba történt a biztonsági kódok előállítása során",
"{name} backup codes" : "{name} biztonsági kódjai",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Használjon egy biztonsági kódot, amikor beállítja a kétlépcsős hitelesítést.",
"Submit" : "Küldés"
diff --git a/apps/twofactor_backupcodes/l10n/is.js b/apps/twofactor_backupcodes/l10n/is.js
index b6d8a747ae5..c43e3779337 100644
--- a/apps/twofactor_backupcodes/l10n/is.js
+++ b/apps/twofactor_backupcodes/l10n/is.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Nota öryggisafritunarkóða",
"Two factor backup codes" : "Tveggja-þrepa öryggisafritunarkóðar",
"A two-factor auth backup codes provider" : "Útgefandi tveggja-þrepa öryggisafritunarkóða",
+ "An error occurred while generating your backup codes" : "Villa kom upp við að búa til öryggisafritunarkóðana þína",
"Backup codes have been generated. {used} of {total} codes have been used." : "Öryggisafritunarkóðar hafa verið útbúnir. {used} af {total} kóðum hafa verið notaðir.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Þetta eru öryggisafritunarkóðarnir þínir. Vistaðu þá og/eða prentaðu þá út, því þú munt ekki geta lesið þá aftur síðar í ferlinu",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Þetta eru öryggisafritunarkóðarnir þínir. Vistaðu þá og/eða prentaðu þá út, því þú munt ekki geta lesið þá aftur síðar í ferlinu.",
"Save backup codes" : "Vista öryggisafritunarkóða",
"Print backup codes" : "Prenta öryggisafritunarkóða",
"Regenerate backup codes" : "Endurnýja öryggisafritunarkóða",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ef þú endurnýjar öryggisafritunarkóða, gerir þú sjálfkrafa eldri kóða ógilda.",
- "An error occurred while generating your backup codes" : "Villa kom upp við að búa til öryggisafritunarkóðana þína",
"{name} backup codes" : "{name} öryggisafritunarkóðar",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Notaðu einn af öryggisafritunarkóðunum sem þú vistaðir þegar þú settir upp tveggja-þátta auðkenningu.",
"Submit" : "Senda inn"
diff --git a/apps/twofactor_backupcodes/l10n/is.json b/apps/twofactor_backupcodes/l10n/is.json
index 2c785eea38d..2141b6e51bc 100644
--- a/apps/twofactor_backupcodes/l10n/is.json
+++ b/apps/twofactor_backupcodes/l10n/is.json
@@ -7,13 +7,13 @@
"Use backup code" : "Nota öryggisafritunarkóða",
"Two factor backup codes" : "Tveggja-þrepa öryggisafritunarkóðar",
"A two-factor auth backup codes provider" : "Útgefandi tveggja-þrepa öryggisafritunarkóða",
+ "An error occurred while generating your backup codes" : "Villa kom upp við að búa til öryggisafritunarkóðana þína",
"Backup codes have been generated. {used} of {total} codes have been used." : "Öryggisafritunarkóðar hafa verið útbúnir. {used} af {total} kóðum hafa verið notaðir.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Þetta eru öryggisafritunarkóðarnir þínir. Vistaðu þá og/eða prentaðu þá út, því þú munt ekki geta lesið þá aftur síðar í ferlinu",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Þetta eru öryggisafritunarkóðarnir þínir. Vistaðu þá og/eða prentaðu þá út, því þú munt ekki geta lesið þá aftur síðar í ferlinu.",
"Save backup codes" : "Vista öryggisafritunarkóða",
"Print backup codes" : "Prenta öryggisafritunarkóða",
"Regenerate backup codes" : "Endurnýja öryggisafritunarkóða",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ef þú endurnýjar öryggisafritunarkóða, gerir þú sjálfkrafa eldri kóða ógilda.",
- "An error occurred while generating your backup codes" : "Villa kom upp við að búa til öryggisafritunarkóðana þína",
"{name} backup codes" : "{name} öryggisafritunarkóðar",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Notaðu einn af öryggisafritunarkóðunum sem þú vistaðir þegar þú settir upp tveggja-þátta auðkenningu.",
"Submit" : "Senda inn"
diff --git a/apps/twofactor_backupcodes/l10n/it.js b/apps/twofactor_backupcodes/l10n/it.js
index f5207afe264..4ccc170b59c 100644
--- a/apps/twofactor_backupcodes/l10n/it.js
+++ b/apps/twofactor_backupcodes/l10n/it.js
@@ -9,15 +9,15 @@ OC.L10N.register(
"Use backup code" : "Usa il codice di backup",
"Two factor backup codes" : "Codici di backup a due fattori",
"A two-factor auth backup codes provider" : "Un fornitore di codici di backup per l'autenticazione a due fattori",
+ "An error occurred while generating your backup codes" : "Si è verificato un errore durante la generazione dei tuoi codici di backup",
"Backup codes have been generated. {used} of {total} codes have been used." : "I codici di backup sono stati generali. {used} di {total} codici sono stati utilizzati.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Questi sono i tuoi codici di backup. Salvali e/o stampali poiché non potrai più leggerli successivamente",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Questi sono i tuoi codici di backup. Salvali e/o stampali poiché non potrai più leggerli successivamente.",
"Save backup codes" : "Salva i codici di backup",
"Print backup codes" : "Stampa i codici di backup",
"Regenerate backup codes" : "Rigenera i codici di backup",
"If you regenerate backup codes, you automatically invalidate old codes." : "Se rigeneri i codici di backup, invaliderai automaticamente i vecchi codici.",
- "An error occurred while generating your backup codes" : "Si è verificato un errore durante la generazione dei tuoi codici di backup",
"{name} backup codes" : "Codici di backup di {name}",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Usa uno dei codici di backup che hai salvato quando configuri l'autenticazione a due fattori.",
"Submit" : "Invia"
},
-"nplurals=2; plural=(n != 1);");
+"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/it.json b/apps/twofactor_backupcodes/l10n/it.json
index 69884e2f56a..cc13db71619 100644
--- a/apps/twofactor_backupcodes/l10n/it.json
+++ b/apps/twofactor_backupcodes/l10n/it.json
@@ -7,15 +7,15 @@
"Use backup code" : "Usa il codice di backup",
"Two factor backup codes" : "Codici di backup a due fattori",
"A two-factor auth backup codes provider" : "Un fornitore di codici di backup per l'autenticazione a due fattori",
+ "An error occurred while generating your backup codes" : "Si è verificato un errore durante la generazione dei tuoi codici di backup",
"Backup codes have been generated. {used} of {total} codes have been used." : "I codici di backup sono stati generali. {used} di {total} codici sono stati utilizzati.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Questi sono i tuoi codici di backup. Salvali e/o stampali poiché non potrai più leggerli successivamente",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Questi sono i tuoi codici di backup. Salvali e/o stampali poiché non potrai più leggerli successivamente.",
"Save backup codes" : "Salva i codici di backup",
"Print backup codes" : "Stampa i codici di backup",
"Regenerate backup codes" : "Rigenera i codici di backup",
"If you regenerate backup codes, you automatically invalidate old codes." : "Se rigeneri i codici di backup, invaliderai automaticamente i vecchi codici.",
- "An error occurred while generating your backup codes" : "Si è verificato un errore durante la generazione dei tuoi codici di backup",
"{name} backup codes" : "Codici di backup di {name}",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Usa uno dei codici di backup che hai salvato quando configuri l'autenticazione a due fattori.",
"Submit" : "Invia"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/ja.js b/apps/twofactor_backupcodes/l10n/ja.js
index 407a8bf1202..52fd8935dba 100644
--- a/apps/twofactor_backupcodes/l10n/ja.js
+++ b/apps/twofactor_backupcodes/l10n/ja.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "バックアップコードを使用する",
"Two factor backup codes" : "二要素認証バックアップコード",
"A two-factor auth backup codes provider" : "二要素認証バックアップコードプロバイダー",
+ "An error occurred while generating your backup codes" : "バックアップコードの生成中にエラーが発生しました",
"Backup codes have been generated. {used} of {total} codes have been used." : "バックアップコードが生成されました。 {total} 個のうち {used} 個のコードが使用されています。",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "以下はあなたのバックアップコードです。 後からこのコードを見ることはできないので、保存するか印刷しておいてください",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "これらはバックアップコードです。後でコードを再度読み取ることはできませんので、保存または印刷してください。",
"Save backup codes" : "バックアップコードを保存",
"Print backup codes" : "バックアップコードを印刷",
"Regenerate backup codes" : "バックアップコードを再生成",
"If you regenerate backup codes, you automatically invalidate old codes." : "バックアップコードを再生成すると、自動的に古いコードが無効になります。",
- "An error occurred while generating your backup codes" : "バックアップコードの生成中にエラーが発生しました",
"{name} backup codes" : "{name} バックアップコード",
"Use one of the backup codes you saved when setting up two-factor authentication." : "二要素認証を設定するときに保存したバックアップコードのいずれかを使用します。",
"Submit" : "了解"
diff --git a/apps/twofactor_backupcodes/l10n/ja.json b/apps/twofactor_backupcodes/l10n/ja.json
index d92336de7f6..a813c3102ca 100644
--- a/apps/twofactor_backupcodes/l10n/ja.json
+++ b/apps/twofactor_backupcodes/l10n/ja.json
@@ -7,13 +7,13 @@
"Use backup code" : "バックアップコードを使用する",
"Two factor backup codes" : "二要素認証バックアップコード",
"A two-factor auth backup codes provider" : "二要素認証バックアップコードプロバイダー",
+ "An error occurred while generating your backup codes" : "バックアップコードの生成中にエラーが発生しました",
"Backup codes have been generated. {used} of {total} codes have been used." : "バックアップコードが生成されました。 {total} 個のうち {used} 個のコードが使用されています。",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "以下はあなたのバックアップコードです。 後からこのコードを見ることはできないので、保存するか印刷しておいてください",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "これらはバックアップコードです。後でコードを再度読み取ることはできませんので、保存または印刷してください。",
"Save backup codes" : "バックアップコードを保存",
"Print backup codes" : "バックアップコードを印刷",
"Regenerate backup codes" : "バックアップコードを再生成",
"If you regenerate backup codes, you automatically invalidate old codes." : "バックアップコードを再生成すると、自動的に古いコードが無効になります。",
- "An error occurred while generating your backup codes" : "バックアップコードの生成中にエラーが発生しました",
"{name} backup codes" : "{name} バックアップコード",
"Use one of the backup codes you saved when setting up two-factor authentication." : "二要素認証を設定するときに保存したバックアップコードのいずれかを使用します。",
"Submit" : "了解"
diff --git a/apps/twofactor_backupcodes/l10n/ka.js b/apps/twofactor_backupcodes/l10n/ka.js
new file mode 100644
index 00000000000..fb9029941b0
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ka.js
@@ -0,0 +1,22 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "You created two-factor backup codes for your account" : "You created two-factor backup codes for your account",
+ "Second-factor backup codes" : "Second-factor backup codes",
+ "Generate backup codes" : "Generate backup codes",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor.",
+ "Backup code" : "Backup code",
+ "Use backup code" : "Use backup code",
+ "Two factor backup codes" : "Two factor backup codes",
+ "A two-factor auth backup codes provider" : "A two-factor auth backup codes provider",
+ "An error occurred while generating your backup codes" : "An error occurred while generating your backup codes",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Backup codes have been generated. {used} of {total} codes have been used.",
+ "Save backup codes" : "Save backup codes",
+ "Print backup codes" : "Print backup codes",
+ "Regenerate backup codes" : "Regenerate backup codes",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "If you regenerate backup codes, you automatically invalidate old codes.",
+ "{name} backup codes" : "{name} backup codes",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Use one of the backup codes you saved when setting up two-factor authentication.",
+ "Submit" : "Submit"
+},
+"nplurals=2; plural=(n!=1);");
diff --git a/apps/twofactor_backupcodes/l10n/ka.json b/apps/twofactor_backupcodes/l10n/ka.json
new file mode 100644
index 00000000000..f663ce8ddff
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ka.json
@@ -0,0 +1,20 @@
+{ "translations": {
+ "You created two-factor backup codes for your account" : "You created two-factor backup codes for your account",
+ "Second-factor backup codes" : "Second-factor backup codes",
+ "Generate backup codes" : "Generate backup codes",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor.",
+ "Backup code" : "Backup code",
+ "Use backup code" : "Use backup code",
+ "Two factor backup codes" : "Two factor backup codes",
+ "A two-factor auth backup codes provider" : "A two-factor auth backup codes provider",
+ "An error occurred while generating your backup codes" : "An error occurred while generating your backup codes",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Backup codes have been generated. {used} of {total} codes have been used.",
+ "Save backup codes" : "Save backup codes",
+ "Print backup codes" : "Print backup codes",
+ "Regenerate backup codes" : "Regenerate backup codes",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "If you regenerate backup codes, you automatically invalidate old codes.",
+ "{name} backup codes" : "{name} backup codes",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Use one of the backup codes you saved when setting up two-factor authentication.",
+ "Submit" : "Submit"
+},"pluralForm" :"nplurals=2; plural=(n!=1);"
+} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/ka_GE.js b/apps/twofactor_backupcodes/l10n/ka_GE.js
index 1b498caead3..2155dcba759 100644
--- a/apps/twofactor_backupcodes/l10n/ka_GE.js
+++ b/apps/twofactor_backupcodes/l10n/ka_GE.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "ბექაფის კოდები",
"Use backup code" : "ბექაფის კოდების გამოყენება",
"Two factor backup codes" : "მეორე-ფაქტორის ბექაფის კოდები",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "ეს თქვენი ბექაფის კოდებია. გთხოვთ შეინახოთ ან ამობეჭდოთ ისინი, კოდებს მეტი ვეღარ წაიკითხავთ",
+ "An error occurred while generating your backup codes" : "ბექაფის კოდების გენერაციისას წარმოიშვა შეცდომა",
"Save backup codes" : "ბექაფის კოდების შენახვა",
"Print backup codes" : "ბექაფის კოდების ამობეჭდვა",
"Regenerate backup codes" : "ბექაფის კოდების გენერაცია",
"If you regenerate backup codes, you automatically invalidate old codes." : "ძველი კოდები, ახალი ბექაფის კოდების რეგენერაციისას დაკარგავენ მოქმდების ძალას.",
- "An error occurred while generating your backup codes" : "ბექაფის კოდების გენერაციისას წარმოიშვა შეცდომა",
"Submit" : "გაგზავნა"
},
"nplurals=2; plural=(n!=1);");
diff --git a/apps/twofactor_backupcodes/l10n/ka_GE.json b/apps/twofactor_backupcodes/l10n/ka_GE.json
index 39bcdeafd48..bf5bc6ebff3 100644
--- a/apps/twofactor_backupcodes/l10n/ka_GE.json
+++ b/apps/twofactor_backupcodes/l10n/ka_GE.json
@@ -5,12 +5,11 @@
"Backup code" : "ბექაფის კოდები",
"Use backup code" : "ბექაფის კოდების გამოყენება",
"Two factor backup codes" : "მეორე-ფაქტორის ბექაფის კოდები",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "ეს თქვენი ბექაფის კოდებია. გთხოვთ შეინახოთ ან ამობეჭდოთ ისინი, კოდებს მეტი ვეღარ წაიკითხავთ",
+ "An error occurred while generating your backup codes" : "ბექაფის კოდების გენერაციისას წარმოიშვა შეცდომა",
"Save backup codes" : "ბექაფის კოდების შენახვა",
"Print backup codes" : "ბექაფის კოდების ამობეჭდვა",
"Regenerate backup codes" : "ბექაფის კოდების გენერაცია",
"If you regenerate backup codes, you automatically invalidate old codes." : "ძველი კოდები, ახალი ბექაფის კოდების რეგენერაციისას დაკარგავენ მოქმდების ძალას.",
- "An error occurred while generating your backup codes" : "ბექაფის კოდების გენერაციისას წარმოიშვა შეცდომა",
"Submit" : "გაგზავნა"
},"pluralForm" :"nplurals=2; plural=(n!=1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/ko.js b/apps/twofactor_backupcodes/l10n/ko.js
index 635e9231b1e..d292d78e9a1 100644
--- a/apps/twofactor_backupcodes/l10n/ko.js
+++ b/apps/twofactor_backupcodes/l10n/ko.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "백업 코드 사용",
"Two factor backup codes" : "2단계 인증 백업 코드",
"A two-factor auth backup codes provider" : "2단계 인증 백업 코드 공급자",
+ "An error occurred while generating your backup codes" : "백업 코드를 생성하는 중 오류가 발생했습니다.",
"Backup codes have been generated. {used} of {total} codes have been used." : "백업 코드가 생성되었습니다. {total}개 중 {used}개의 코드가 사용되었습니다.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "다음은 백업 코드입니다. 이 코드는 나중에 다시 확인할 수 없으므로 저장하거나 인쇄하십시오.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "귀하의 백업 코드입니다. 이 코드는 다시 확인할 수 없다는 사실을 염두에 두고, 저장하거나 출력해 두십시오.",
"Save backup codes" : "백업 코드 저장",
"Print backup codes" : "백업 코드 인쇄",
"Regenerate backup codes" : "백업 코드 다시 생성",
"If you regenerate backup codes, you automatically invalidate old codes." : "백업 코드를 다시 생성하면 이전 코드는 자동으로 무효화됩니다.",
- "An error occurred while generating your backup codes" : "백업 코드를 생성하는 중 오류가 발생했습니다.",
"{name} backup codes" : "{name} 백업 코드",
"Use one of the backup codes you saved when setting up two-factor authentication." : "2단계 인증을 설정할 때 저장한 백업 코드를 사용하십시오.",
"Submit" : "제출"
diff --git a/apps/twofactor_backupcodes/l10n/ko.json b/apps/twofactor_backupcodes/l10n/ko.json
index 15e0330e638..29ec38258a5 100644
--- a/apps/twofactor_backupcodes/l10n/ko.json
+++ b/apps/twofactor_backupcodes/l10n/ko.json
@@ -7,13 +7,13 @@
"Use backup code" : "백업 코드 사용",
"Two factor backup codes" : "2단계 인증 백업 코드",
"A two-factor auth backup codes provider" : "2단계 인증 백업 코드 공급자",
+ "An error occurred while generating your backup codes" : "백업 코드를 생성하는 중 오류가 발생했습니다.",
"Backup codes have been generated. {used} of {total} codes have been used." : "백업 코드가 생성되었습니다. {total}개 중 {used}개의 코드가 사용되었습니다.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "다음은 백업 코드입니다. 이 코드는 나중에 다시 확인할 수 없으므로 저장하거나 인쇄하십시오.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "귀하의 백업 코드입니다. 이 코드는 다시 확인할 수 없다는 사실을 염두에 두고, 저장하거나 출력해 두십시오.",
"Save backup codes" : "백업 코드 저장",
"Print backup codes" : "백업 코드 인쇄",
"Regenerate backup codes" : "백업 코드 다시 생성",
"If you regenerate backup codes, you automatically invalidate old codes." : "백업 코드를 다시 생성하면 이전 코드는 자동으로 무효화됩니다.",
- "An error occurred while generating your backup codes" : "백업 코드를 생성하는 중 오류가 발생했습니다.",
"{name} backup codes" : "{name} 백업 코드",
"Use one of the backup codes you saved when setting up two-factor authentication." : "2단계 인증을 설정할 때 저장한 백업 코드를 사용하십시오.",
"Submit" : "제출"
diff --git a/apps/twofactor_backupcodes/l10n/lt_LT.js b/apps/twofactor_backupcodes/l10n/lt_LT.js
index e1e1f01e516..206e3dc2ed2 100644
--- a/apps/twofactor_backupcodes/l10n/lt_LT.js
+++ b/apps/twofactor_backupcodes/l10n/lt_LT.js
@@ -8,13 +8,12 @@ OC.L10N.register(
"Backup code" : "Atsarginis kodas",
"Use backup code" : "Naudoti atsarginį kodą",
"Two factor backup codes" : "Dviejų faktorių atsarginiai kodai",
+ "An error occurred while generating your backup codes" : "Generuojant jūsų atsarginius kodus, įvyko klaida",
"Backup codes have been generated. {used} of {total} codes have been used." : "Atsarginiai kodai sugeneruoti. Panaudota {used} iš {total} kodų.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Tai yra jūsų atsarginiai kodai. Įsirašykite ir/arba atspausdinkite juos, nes vėliau nebegalėsite dar kartą jų perskaityti",
"Save backup codes" : "Įrašyti atsarginius kodus",
"Print backup codes" : "Spausdinti atsarginius kodus",
"Regenerate backup codes" : "Iš naujo generuoti atsarginius kodus",
"If you regenerate backup codes, you automatically invalidate old codes." : "Jeigu iš naujo generuosite atsarginius kodus, automatiškai paversite senuosius kodus nebegaliojančiais.",
- "An error occurred while generating your backup codes" : "Generuojant jūsų atsarginius kodus, įvyko klaida",
"{name} backup codes" : "{name} atsarginiai kodai",
"Submit" : "Pateikti"
},
diff --git a/apps/twofactor_backupcodes/l10n/lt_LT.json b/apps/twofactor_backupcodes/l10n/lt_LT.json
index e4696e95d3f..bb37a06a21b 100644
--- a/apps/twofactor_backupcodes/l10n/lt_LT.json
+++ b/apps/twofactor_backupcodes/l10n/lt_LT.json
@@ -6,13 +6,12 @@
"Backup code" : "Atsarginis kodas",
"Use backup code" : "Naudoti atsarginį kodą",
"Two factor backup codes" : "Dviejų faktorių atsarginiai kodai",
+ "An error occurred while generating your backup codes" : "Generuojant jūsų atsarginius kodus, įvyko klaida",
"Backup codes have been generated. {used} of {total} codes have been used." : "Atsarginiai kodai sugeneruoti. Panaudota {used} iš {total} kodų.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Tai yra jūsų atsarginiai kodai. Įsirašykite ir/arba atspausdinkite juos, nes vėliau nebegalėsite dar kartą jų perskaityti",
"Save backup codes" : "Įrašyti atsarginius kodus",
"Print backup codes" : "Spausdinti atsarginius kodus",
"Regenerate backup codes" : "Iš naujo generuoti atsarginius kodus",
"If you regenerate backup codes, you automatically invalidate old codes." : "Jeigu iš naujo generuosite atsarginius kodus, automatiškai paversite senuosius kodus nebegaliojančiais.",
- "An error occurred while generating your backup codes" : "Generuojant jūsų atsarginius kodus, įvyko klaida",
"{name} backup codes" : "{name} atsarginiai kodai",
"Submit" : "Pateikti"
},"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);"
diff --git a/apps/twofactor_backupcodes/l10n/lv.js b/apps/twofactor_backupcodes/l10n/lv.js
index 58e5effc212..7c0eaf63c4b 100644
--- a/apps/twofactor_backupcodes/l10n/lv.js
+++ b/apps/twofactor_backupcodes/l10n/lv.js
@@ -1,17 +1,16 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "Jūs izveidojāt divpakāpju dublējumu kodus savam kontam",
+ "You created two-factor backup codes for your account" : "Tu savam kontam izveidoji divpakāpju rezerves kopiju kodus",
"Second-factor backup codes" : "Second-factor dublēšanas kodi",
"Generate backup codes" : "Izveidot rezerves kodus",
"Backup code" : "Dublēšanas kods",
- "Use backup code" : "Izmantojiet dublēšanas kodu",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Šie ir jūsu dublējuma kodi. Lūdzu saglabāt un / vai izdrukāt tos, jūs nevarēsiet izlasīt kodus vēlreiz",
+ "Use backup code" : "Izmantot rezerves kodu",
+ "An error occurred while generating your backup codes" : "Atgadījās kļūda rezerves kodu izveidošanas laikā",
"Save backup codes" : "Saglabāt rezerves kodus",
"Print backup codes" : "Drukāt dublējuma kodus",
"Regenerate backup codes" : "Atjaunot dublējuma kodus",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ja atjaunot dublējum kodus, tiek automātiski anulēti vecie kodi.",
- "An error occurred while generating your backup codes" : "Radās kļūda, ģenerējot jūsu dublējuma kodus",
"Submit" : "Iesniegt"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/twofactor_backupcodes/l10n/lv.json b/apps/twofactor_backupcodes/l10n/lv.json
index 90d783603dd..871dee78b2c 100644
--- a/apps/twofactor_backupcodes/l10n/lv.json
+++ b/apps/twofactor_backupcodes/l10n/lv.json
@@ -1,15 +1,14 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "Jūs izveidojāt divpakāpju dublējumu kodus savam kontam",
+ "You created two-factor backup codes for your account" : "Tu savam kontam izveidoji divpakāpju rezerves kopiju kodus",
"Second-factor backup codes" : "Second-factor dublēšanas kodi",
"Generate backup codes" : "Izveidot rezerves kodus",
"Backup code" : "Dublēšanas kods",
- "Use backup code" : "Izmantojiet dublēšanas kodu",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Šie ir jūsu dublējuma kodi. Lūdzu saglabāt un / vai izdrukāt tos, jūs nevarēsiet izlasīt kodus vēlreiz",
+ "Use backup code" : "Izmantot rezerves kodu",
+ "An error occurred while generating your backup codes" : "Atgadījās kļūda rezerves kodu izveidošanas laikā",
"Save backup codes" : "Saglabāt rezerves kodus",
"Print backup codes" : "Drukāt dublējuma kodus",
"Regenerate backup codes" : "Atjaunot dublējuma kodus",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ja atjaunot dublējum kodus, tiek automātiski anulēti vecie kodi.",
- "An error occurred while generating your backup codes" : "Radās kļūda, ģenerējot jūsu dublējuma kodus",
"Submit" : "Iesniegt"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/mk.js b/apps/twofactor_backupcodes/l10n/mk.js
index 3ba50a0581e..f6447ece31d 100644
--- a/apps/twofactor_backupcodes/l10n/mk.js
+++ b/apps/twofactor_backupcodes/l10n/mk.js
@@ -9,13 +9,12 @@ OC.L10N.register(
"Use backup code" : "Искористи резервен код",
"Two factor backup codes" : "Резервни кодови за двофакторна автентификација",
"A two-factor auth backup codes provider" : "Провајдер за резервни кодови за двофакторна автентификација",
+ "An error occurred while generating your backup codes" : "Настана грешка при генерирање на вашите резервни кодови",
"Backup codes have been generated. {used} of {total} codes have been used." : "Резервни кодови се генерирани. Искористени се {used} од {total} кодови.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Ова се вашите резервни кодови. Ве молиме зачувајте ги и/или испечатете ги бидејќи нема да бидете во можност да ги видите повторно",
"Save backup codes" : "Зачувај ги резервните кодови",
"Print backup codes" : "Печати ги резевните кодови",
"Regenerate backup codes" : "Генерирај повторно резервни кодови",
"If you regenerate backup codes, you automatically invalidate old codes." : "Доколку генерирате повторно резервни кодови, старите кодови нема да бидат во употреба.",
- "An error occurred while generating your backup codes" : "Настана грешка при генерирање на вашите резервни кодови",
"{name} backup codes" : "{name} резервни кодови",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Искористи еден од резервните кодови што ги зачувавте кога активиравте двофакторна автентикација.",
"Submit" : "Испрати"
diff --git a/apps/twofactor_backupcodes/l10n/mk.json b/apps/twofactor_backupcodes/l10n/mk.json
index 849e9c581ab..8ff2522dd78 100644
--- a/apps/twofactor_backupcodes/l10n/mk.json
+++ b/apps/twofactor_backupcodes/l10n/mk.json
@@ -7,13 +7,12 @@
"Use backup code" : "Искористи резервен код",
"Two factor backup codes" : "Резервни кодови за двофакторна автентификација",
"A two-factor auth backup codes provider" : "Провајдер за резервни кодови за двофакторна автентификација",
+ "An error occurred while generating your backup codes" : "Настана грешка при генерирање на вашите резервни кодови",
"Backup codes have been generated. {used} of {total} codes have been used." : "Резервни кодови се генерирани. Искористени се {used} од {total} кодови.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Ова се вашите резервни кодови. Ве молиме зачувајте ги и/или испечатете ги бидејќи нема да бидете во можност да ги видите повторно",
"Save backup codes" : "Зачувај ги резервните кодови",
"Print backup codes" : "Печати ги резевните кодови",
"Regenerate backup codes" : "Генерирај повторно резервни кодови",
"If you regenerate backup codes, you automatically invalidate old codes." : "Доколку генерирате повторно резервни кодови, старите кодови нема да бидат во употреба.",
- "An error occurred while generating your backup codes" : "Настана грешка при генерирање на вашите резервни кодови",
"{name} backup codes" : "{name} резервни кодови",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Искористи еден од резервните кодови што ги зачувавте кога активиравте двофакторна автентикација.",
"Submit" : "Испрати"
diff --git a/apps/twofactor_backupcodes/l10n/mn.js b/apps/twofactor_backupcodes/l10n/mn.js
index 907e86d16e6..7c6cf17b2eb 100644
--- a/apps/twofactor_backupcodes/l10n/mn.js
+++ b/apps/twofactor_backupcodes/l10n/mn.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "Нөөц код",
"Use backup code" : "Нөөц кодыг ашиглах",
"Two factor backup codes" : "Нөөц кодын хоёр хүчин зүйл",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Эдгээр нь таны нөөц код юм. Дараа нь дахин кодыг уншиж чадахгүй тул та тэдгээрийг хадгалах буюу хэвлэх боломжтой",
+ "An error occurred while generating your backup codes" : "Таны нөөц кодыг үүсгэх явцад алдаа гарлаа",
"Save backup codes" : "Нөөц кодыг хадгалах",
"Print backup codes" : "Нөөц кодыг хэвлэх",
"Regenerate backup codes" : "Нөөц кодыг дахин сэргээх",
"If you regenerate backup codes, you automatically invalidate old codes." : "хэрвээ нөөц кодыг дахин сэргээх бол, та хуучин кодыг автоматаар хүчингүй болгоно",
- "An error occurred while generating your backup codes" : "Таны нөөц кодыг үүсгэх явцад алдаа гарлаа",
"Submit" : "мэдэгдэх"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/mn.json b/apps/twofactor_backupcodes/l10n/mn.json
index fa3cde21751..17763574b64 100644
--- a/apps/twofactor_backupcodes/l10n/mn.json
+++ b/apps/twofactor_backupcodes/l10n/mn.json
@@ -5,12 +5,11 @@
"Backup code" : "Нөөц код",
"Use backup code" : "Нөөц кодыг ашиглах",
"Two factor backup codes" : "Нөөц кодын хоёр хүчин зүйл",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Эдгээр нь таны нөөц код юм. Дараа нь дахин кодыг уншиж чадахгүй тул та тэдгээрийг хадгалах буюу хэвлэх боломжтой",
+ "An error occurred while generating your backup codes" : "Таны нөөц кодыг үүсгэх явцад алдаа гарлаа",
"Save backup codes" : "Нөөц кодыг хадгалах",
"Print backup codes" : "Нөөц кодыг хэвлэх",
"Regenerate backup codes" : "Нөөц кодыг дахин сэргээх",
"If you regenerate backup codes, you automatically invalidate old codes." : "хэрвээ нөөц кодыг дахин сэргээх бол, та хуучин кодыг автоматаар хүчингүй болгоно",
- "An error occurred while generating your backup codes" : "Таны нөөц кодыг үүсгэх явцад алдаа гарлаа",
"Submit" : "мэдэгдэх"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/nb.js b/apps/twofactor_backupcodes/l10n/nb.js
index 2cb62603627..ff76337d31a 100644
--- a/apps/twofactor_backupcodes/l10n/nb.js
+++ b/apps/twofactor_backupcodes/l10n/nb.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Bruker sikkerhetskode",
"Two factor backup codes" : "Sikkerhetskoder for to-faktor",
"A two-factor auth backup codes provider" : "En tilbyder av sikkerhetskoder for to-faktor autentisering",
+ "An error occurred while generating your backup codes" : "En feil oppsto under generering av sikkerhetskodene",
"Backup codes have been generated. {used} of {total} codes have been used." : "Sikkerhetskoder er generert. {used} av {total} koder er brukt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dette er sikkerhetskodene. Lagre og/eller skriv dem ut siden du ikke kan se disse her igjen",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Dette er reservekodene dine. Lagre og/eller skriv dem ut, da du ikke vil kunne lese kodene igjen senere.",
"Save backup codes" : "Lagre sikkerhetskodene",
"Print backup codes" : "Skriv ut sikkerhetskoder",
"Regenerate backup codes" : "Lag sikkerhetskoder på nytt",
"If you regenerate backup codes, you automatically invalidate old codes." : "Hvis du regenererer nye sikkerhetskoder, blir de gamle kodene ugyldige.",
- "An error occurred while generating your backup codes" : "En feil oppstod under generering av sikkerhetskodene",
"{name} backup codes" : "{name} sikkerhetskoder",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Bruk en av sikkerhetskodene du lagret når du opprettet to-faktor autentisering.",
"Submit" : "Send"
diff --git a/apps/twofactor_backupcodes/l10n/nb.json b/apps/twofactor_backupcodes/l10n/nb.json
index 234d65fef8b..739b785fc98 100644
--- a/apps/twofactor_backupcodes/l10n/nb.json
+++ b/apps/twofactor_backupcodes/l10n/nb.json
@@ -7,13 +7,13 @@
"Use backup code" : "Bruker sikkerhetskode",
"Two factor backup codes" : "Sikkerhetskoder for to-faktor",
"A two-factor auth backup codes provider" : "En tilbyder av sikkerhetskoder for to-faktor autentisering",
+ "An error occurred while generating your backup codes" : "En feil oppsto under generering av sikkerhetskodene",
"Backup codes have been generated. {used} of {total} codes have been used." : "Sikkerhetskoder er generert. {used} av {total} koder er brukt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dette er sikkerhetskodene. Lagre og/eller skriv dem ut siden du ikke kan se disse her igjen",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Dette er reservekodene dine. Lagre og/eller skriv dem ut, da du ikke vil kunne lese kodene igjen senere.",
"Save backup codes" : "Lagre sikkerhetskodene",
"Print backup codes" : "Skriv ut sikkerhetskoder",
"Regenerate backup codes" : "Lag sikkerhetskoder på nytt",
"If you regenerate backup codes, you automatically invalidate old codes." : "Hvis du regenererer nye sikkerhetskoder, blir de gamle kodene ugyldige.",
- "An error occurred while generating your backup codes" : "En feil oppstod under generering av sikkerhetskodene",
"{name} backup codes" : "{name} sikkerhetskoder",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Bruk en av sikkerhetskodene du lagret når du opprettet to-faktor autentisering.",
"Submit" : "Send"
diff --git a/apps/twofactor_backupcodes/l10n/nl.js b/apps/twofactor_backupcodes/l10n/nl.js
index 73daccb3b58..641e12060a9 100644
--- a/apps/twofactor_backupcodes/l10n/nl.js
+++ b/apps/twofactor_backupcodes/l10n/nl.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Gebruik back-upcode",
"Two factor backup codes" : "Twee-factor back-upcode",
"A two-factor auth backup codes provider" : "Een tweefactor authenticatie back-upcodes provider",
+ "An error occurred while generating your backup codes" : "Er trad een fout op bij het genereren van je back-upcodes",
"Backup codes have been generated. {used} of {total} codes have been used." : "Back-upcodes zijn gegenereerd. {used} van {total} codes zijn gebruikt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dit zijn je back-upcodes. Bewaar ze en/of druk ze alsjeblieft af, want je ze kunt niet later nog een keer opvragen.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Dit zijn je back-upcodes. Bewaar ze en/of druk ze alsjeblieft af, want je ze kunt niet later nog een keer opvragen.",
"Save backup codes" : "Bewaren back-upcode",
"Print backup codes" : "Afdrukken back-upcode",
"Regenerate backup codes" : "Regenereer back-upcode",
"If you regenerate backup codes, you automatically invalidate old codes." : "Als je back-upcodes opnieuw genereert, worden oude codes automatisch ongeldig gemaakt.",
- "An error occurred while generating your backup codes" : "Er trad een fout op bij het genereren van je back-upcodes",
"{name} backup codes" : "{name} back-upcodes",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Gebruik een van de back-upcodes die je bewaarde bij het inschakelen van de tweefactorauthenticatie.",
"Submit" : "Verwerken"
diff --git a/apps/twofactor_backupcodes/l10n/nl.json b/apps/twofactor_backupcodes/l10n/nl.json
index db5380afda1..e4638fbb0f9 100644
--- a/apps/twofactor_backupcodes/l10n/nl.json
+++ b/apps/twofactor_backupcodes/l10n/nl.json
@@ -7,13 +7,13 @@
"Use backup code" : "Gebruik back-upcode",
"Two factor backup codes" : "Twee-factor back-upcode",
"A two-factor auth backup codes provider" : "Een tweefactor authenticatie back-upcodes provider",
+ "An error occurred while generating your backup codes" : "Er trad een fout op bij het genereren van je back-upcodes",
"Backup codes have been generated. {used} of {total} codes have been used." : "Back-upcodes zijn gegenereerd. {used} van {total} codes zijn gebruikt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dit zijn je back-upcodes. Bewaar ze en/of druk ze alsjeblieft af, want je ze kunt niet later nog een keer opvragen.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Dit zijn je back-upcodes. Bewaar ze en/of druk ze alsjeblieft af, want je ze kunt niet later nog een keer opvragen.",
"Save backup codes" : "Bewaren back-upcode",
"Print backup codes" : "Afdrukken back-upcode",
"Regenerate backup codes" : "Regenereer back-upcode",
"If you regenerate backup codes, you automatically invalidate old codes." : "Als je back-upcodes opnieuw genereert, worden oude codes automatisch ongeldig gemaakt.",
- "An error occurred while generating your backup codes" : "Er trad een fout op bij het genereren van je back-upcodes",
"{name} backup codes" : "{name} back-upcodes",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Gebruik een van de back-upcodes die je bewaarde bij het inschakelen van de tweefactorauthenticatie.",
"Submit" : "Verwerken"
diff --git a/apps/twofactor_backupcodes/l10n/pl.js b/apps/twofactor_backupcodes/l10n/pl.js
index 14774d81f98..52840c4641b 100644
--- a/apps/twofactor_backupcodes/l10n/pl.js
+++ b/apps/twofactor_backupcodes/l10n/pl.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Użyj kodu zapasowego",
"Two factor backup codes" : "Kody zapasowe uwierzytelnienia dwuskładnikowego",
"A two-factor auth backup codes provider" : "Dostawca dwuskładnikowych kodów zapasowych ",
+ "An error occurred while generating your backup codes" : "Wystąpił błąd podczas generowania kodów zapasowych.",
"Backup codes have been generated. {used} of {total} codes have been used." : "Wygenerowano kody zapasowe. Użyto {used} z {total} kodów.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "To są kody zapasowe. Proszę je zapisać i/lub wydrukować, ponieważ później nie będzie można ich ponownie odczytać",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "To są kody zapasowe. Zapisz je i/lub wydrukuj, ponieważ nie będziesz mógł ich później odczytać.",
"Save backup codes" : "Zapisz kody zapasowe",
"Print backup codes" : "Drukuj kody zapasowe",
"Regenerate backup codes" : "Ponownie generuj kody zapasowe",
"If you regenerate backup codes, you automatically invalidate old codes." : "Jeśli generujesz kody zapasowe ponownie, automatycznie unieważniasz stare kody.",
- "An error occurred while generating your backup codes" : "Wystąpił błąd podczas generowania kodów zapasowych.",
"{name} backup codes" : "Kody kopii zapasowej {name}",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Użyj jednego z kodów zapasowych zapisanych podczas konfigurowania uwierzytelniania dwuskładnikowego.",
"Submit" : "Wyślij"
diff --git a/apps/twofactor_backupcodes/l10n/pl.json b/apps/twofactor_backupcodes/l10n/pl.json
index cc44933a267..e8ecbb3a095 100644
--- a/apps/twofactor_backupcodes/l10n/pl.json
+++ b/apps/twofactor_backupcodes/l10n/pl.json
@@ -7,13 +7,13 @@
"Use backup code" : "Użyj kodu zapasowego",
"Two factor backup codes" : "Kody zapasowe uwierzytelnienia dwuskładnikowego",
"A two-factor auth backup codes provider" : "Dostawca dwuskładnikowych kodów zapasowych ",
+ "An error occurred while generating your backup codes" : "Wystąpił błąd podczas generowania kodów zapasowych.",
"Backup codes have been generated. {used} of {total} codes have been used." : "Wygenerowano kody zapasowe. Użyto {used} z {total} kodów.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "To są kody zapasowe. Proszę je zapisać i/lub wydrukować, ponieważ później nie będzie można ich ponownie odczytać",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "To są kody zapasowe. Zapisz je i/lub wydrukuj, ponieważ nie będziesz mógł ich później odczytać.",
"Save backup codes" : "Zapisz kody zapasowe",
"Print backup codes" : "Drukuj kody zapasowe",
"Regenerate backup codes" : "Ponownie generuj kody zapasowe",
"If you regenerate backup codes, you automatically invalidate old codes." : "Jeśli generujesz kody zapasowe ponownie, automatycznie unieważniasz stare kody.",
- "An error occurred while generating your backup codes" : "Wystąpił błąd podczas generowania kodów zapasowych.",
"{name} backup codes" : "Kody kopii zapasowej {name}",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Użyj jednego z kodów zapasowych zapisanych podczas konfigurowania uwierzytelniania dwuskładnikowego.",
"Submit" : "Wyślij"
diff --git a/apps/twofactor_backupcodes/l10n/pt_BR.js b/apps/twofactor_backupcodes/l10n/pt_BR.js
index 3d17e1d7629..c3803a5f156 100644
--- a/apps/twofactor_backupcodes/l10n/pt_BR.js
+++ b/apps/twofactor_backupcodes/l10n/pt_BR.js
@@ -9,15 +9,15 @@ OC.L10N.register(
"Use backup code" : "Usar o código de backup",
"Two factor backup codes" : "Códigos de backup de dois fatores",
"A two-factor auth backup codes provider" : "Um provedor de códigos de backup de autenticação de dois fatores",
+ "An error occurred while generating your backup codes" : "Ocorreu um erro ao gerar os códigos de backup",
"Backup codes have been generated. {used} of {total} codes have been used." : "Códigos de backup foram gerados. Foram usados {used} de um total de {total} códigos.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estes são os seus códigos de backup. Salve e/ou imprima-os, pois não será possível ler os códigos novamente mais tarde",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Estes são seus códigos de backup. Salve-os e/ou imprima-os, pois você não conseguirá ler os códigos novamente mais tarde.",
"Save backup codes" : "Salvar códigos de backup",
"Print backup codes" : "Imprimir códigos de backup",
"Regenerate backup codes" : "Regerar códigos de backup",
"If you regenerate backup codes, you automatically invalidate old codes." : "Se você gerar novamente os códigos de backup, invalidará automaticamente os códigos antigos.",
- "An error occurred while generating your backup codes" : "Ocorreu um erro ao gerar os códigos de backup",
"{name} backup codes" : "Códigos de backup {name}",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Use um dos códigos de backup que você salvou ao configurar a autenticação de dois fatores.",
"Submit" : "Enviar"
},
-"nplurals=2; plural=(n > 1);");
+"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/pt_BR.json b/apps/twofactor_backupcodes/l10n/pt_BR.json
index d29b4f2a7cb..1f7d46bda90 100644
--- a/apps/twofactor_backupcodes/l10n/pt_BR.json
+++ b/apps/twofactor_backupcodes/l10n/pt_BR.json
@@ -7,15 +7,15 @@
"Use backup code" : "Usar o código de backup",
"Two factor backup codes" : "Códigos de backup de dois fatores",
"A two-factor auth backup codes provider" : "Um provedor de códigos de backup de autenticação de dois fatores",
+ "An error occurred while generating your backup codes" : "Ocorreu um erro ao gerar os códigos de backup",
"Backup codes have been generated. {used} of {total} codes have been used." : "Códigos de backup foram gerados. Foram usados {used} de um total de {total} códigos.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estes são os seus códigos de backup. Salve e/ou imprima-os, pois não será possível ler os códigos novamente mais tarde",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Estes são seus códigos de backup. Salve-os e/ou imprima-os, pois você não conseguirá ler os códigos novamente mais tarde.",
"Save backup codes" : "Salvar códigos de backup",
"Print backup codes" : "Imprimir códigos de backup",
"Regenerate backup codes" : "Regerar códigos de backup",
"If you regenerate backup codes, you automatically invalidate old codes." : "Se você gerar novamente os códigos de backup, invalidará automaticamente os códigos antigos.",
- "An error occurred while generating your backup codes" : "Ocorreu um erro ao gerar os códigos de backup",
"{name} backup codes" : "Códigos de backup {name}",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Use um dos códigos de backup que você salvou ao configurar a autenticação de dois fatores.",
"Submit" : "Enviar"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
+},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/pt_PT.js b/apps/twofactor_backupcodes/l10n/pt_PT.js
new file mode 100644
index 00000000000..16cc27277b7
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/pt_PT.js
@@ -0,0 +1,15 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "Second-factor backup codes" : "Códigos de segurança de segundo fator",
+ "Generate backup codes" : "Gerar códigos de cópia de segurança",
+ "Backup code" : "Código de segurança",
+ "Use backup code" : "Usar código de cópia de segurança",
+ "An error occurred while generating your backup codes" : "Ocorreu um erro enquanto os códigos de segurança eram gerados",
+ "Save backup codes" : "Guardar códigos de segurança",
+ "Print backup codes" : "Imprimir códigos de segurança",
+ "Regenerate backup codes" : "Voltar a gerar os códigos de segurança",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Se voltar a gerar os códigos de segurança os seus códigos antigos serão automaticamente invalidados.",
+ "Submit" : "Submeter"
+},
+"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/pt_PT.json b/apps/twofactor_backupcodes/l10n/pt_PT.json
new file mode 100644
index 00000000000..7e132a94af5
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/pt_PT.json
@@ -0,0 +1,13 @@
+{ "translations": {
+ "Second-factor backup codes" : "Códigos de segurança de segundo fator",
+ "Generate backup codes" : "Gerar códigos de cópia de segurança",
+ "Backup code" : "Código de segurança",
+ "Use backup code" : "Usar código de cópia de segurança",
+ "An error occurred while generating your backup codes" : "Ocorreu um erro enquanto os códigos de segurança eram gerados",
+ "Save backup codes" : "Guardar códigos de segurança",
+ "Print backup codes" : "Imprimir códigos de segurança",
+ "Regenerate backup codes" : "Voltar a gerar os códigos de segurança",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Se voltar a gerar os códigos de segurança os seus códigos antigos serão automaticamente invalidados.",
+ "Submit" : "Submeter"
+},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/ru.js b/apps/twofactor_backupcodes/l10n/ru.js
index 127cbabdb14..76e1baf9d6d 100644
--- a/apps/twofactor_backupcodes/l10n/ru.js
+++ b/apps/twofactor_backupcodes/l10n/ru.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Использовать резервный код",
"Two factor backup codes" : "Второй фактор — резервные коды",
"A two-factor auth backup codes provider" : "Провайдер резервных копий для кодов двухфакторной аутентификации",
+ "An error occurred while generating your backup codes" : "Произошла ошибка при создании резервных кодов",
"Backup codes have been generated. {used} of {total} codes have been used." : "Использовано {used} из {total} ранее выпущенных резервных кодов.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Это ваши резервные коды доступа. Пожалуйста, сохраните и/или распечатайте их, так как вы не сможете увидеть эти коды снова.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Это ваши резервные коды. Пожалуйста, сохраните и/или распечатайте их, так как позже вы не сможете прочитать коды снова.",
"Save backup codes" : "Сохранить резервные коды",
"Print backup codes" : "Распечатать резервные коды",
"Regenerate backup codes" : "Перевыпустить резервные коды",
"If you regenerate backup codes, you automatically invalidate old codes." : "При перевыпуске резервных кодов, старые автоматически становятся недействительными.",
- "An error occurred while generating your backup codes" : "Произошла ошибка при создании резервных кодов",
"{name} backup codes" : "Резервные коды {name}",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Использовать для двухфакторной аутентификации один из ранее выпущенных резервных кодов.",
"Submit" : "Отправить"
diff --git a/apps/twofactor_backupcodes/l10n/ru.json b/apps/twofactor_backupcodes/l10n/ru.json
index 8d74cfce54a..9202e3136f1 100644
--- a/apps/twofactor_backupcodes/l10n/ru.json
+++ b/apps/twofactor_backupcodes/l10n/ru.json
@@ -7,13 +7,13 @@
"Use backup code" : "Использовать резервный код",
"Two factor backup codes" : "Второй фактор — резервные коды",
"A two-factor auth backup codes provider" : "Провайдер резервных копий для кодов двухфакторной аутентификации",
+ "An error occurred while generating your backup codes" : "Произошла ошибка при создании резервных кодов",
"Backup codes have been generated. {used} of {total} codes have been used." : "Использовано {used} из {total} ранее выпущенных резервных кодов.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Это ваши резервные коды доступа. Пожалуйста, сохраните и/или распечатайте их, так как вы не сможете увидеть эти коды снова.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Это ваши резервные коды. Пожалуйста, сохраните и/или распечатайте их, так как позже вы не сможете прочитать коды снова.",
"Save backup codes" : "Сохранить резервные коды",
"Print backup codes" : "Распечатать резервные коды",
"Regenerate backup codes" : "Перевыпустить резервные коды",
"If you regenerate backup codes, you automatically invalidate old codes." : "При перевыпуске резервных кодов, старые автоматически становятся недействительными.",
- "An error occurred while generating your backup codes" : "Произошла ошибка при создании резервных кодов",
"{name} backup codes" : "Резервные коды {name}",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Использовать для двухфакторной аутентификации один из ранее выпущенных резервных кодов.",
"Submit" : "Отправить"
diff --git a/apps/twofactor_backupcodes/l10n/sc.js b/apps/twofactor_backupcodes/l10n/sc.js
index 35556d4d438..850261f3774 100644
--- a/apps/twofactor_backupcodes/l10n/sc.js
+++ b/apps/twofactor_backupcodes/l10n/sc.js
@@ -9,15 +9,14 @@ OC.L10N.register(
"Use backup code" : "Imprea còdighe de còpia de seguresa",
"Two factor backup codes" : "Còdighes còpia de seguresa a duos fatores",
"A two-factor auth backup codes provider" : "Unu frunidore de autenticatzione de còdighes de còpia de seguresa a duos fatores",
- "Backup codes have been generated. {used} of {total} codes have been used." : "Is còdighes de còpia de seguresa si sunt generados. {impreadu} de {totale} còdighes sunt istados impreados.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Custos sunt is còdighes de còpia de seguresa tuos. Sarva·ddos e/o imprenta·ddos ca non ddos as a pòdere bìdere àteras bortas",
+ "An error occurred while generating your backup codes" : "Ddoe at àpidu un'errore in sa creatzione de is còdighes de còpia de seguresa",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Is còdighes de còpia de seguresa si sunt generados. {used} de {total} còdighes sunt istados impreados.",
"Save backup codes" : "Sarva còdighes de còpia de seguresa",
"Print backup codes" : "Imprenta còdighes de còpia de seguresa",
"Regenerate backup codes" : "Torra a generare còdighes de còpia de seguresa",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si torras a generare is còdighes de còpia de seguresa, in automàticu is còdighes betzos non sunt prus vàlidos.",
- "An error occurred while generating your backup codes" : "Ddoe at àpidu un'errore in sa creatzione de is còdighes de còpia de seguresa",
"{name} backup codes" : "{name} còdighes de còpia de seguresa",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Imprea unu de is còdighes de còpia de seguresa chi as sarvadu candu impostas s'autenticatzione a duos fatores.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Imprea unu de is còdighes de còpia de seguresa chi as sarvadu cando cunfiguras s'autenticatzione a duos fatores.",
"Submit" : "Imbia"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/sc.json b/apps/twofactor_backupcodes/l10n/sc.json
index 3b26b30f5d1..3d0bc7d37ac 100644
--- a/apps/twofactor_backupcodes/l10n/sc.json
+++ b/apps/twofactor_backupcodes/l10n/sc.json
@@ -7,15 +7,14 @@
"Use backup code" : "Imprea còdighe de còpia de seguresa",
"Two factor backup codes" : "Còdighes còpia de seguresa a duos fatores",
"A two-factor auth backup codes provider" : "Unu frunidore de autenticatzione de còdighes de còpia de seguresa a duos fatores",
- "Backup codes have been generated. {used} of {total} codes have been used." : "Is còdighes de còpia de seguresa si sunt generados. {impreadu} de {totale} còdighes sunt istados impreados.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Custos sunt is còdighes de còpia de seguresa tuos. Sarva·ddos e/o imprenta·ddos ca non ddos as a pòdere bìdere àteras bortas",
+ "An error occurred while generating your backup codes" : "Ddoe at àpidu un'errore in sa creatzione de is còdighes de còpia de seguresa",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Is còdighes de còpia de seguresa si sunt generados. {used} de {total} còdighes sunt istados impreados.",
"Save backup codes" : "Sarva còdighes de còpia de seguresa",
"Print backup codes" : "Imprenta còdighes de còpia de seguresa",
"Regenerate backup codes" : "Torra a generare còdighes de còpia de seguresa",
"If you regenerate backup codes, you automatically invalidate old codes." : "Si torras a generare is còdighes de còpia de seguresa, in automàticu is còdighes betzos non sunt prus vàlidos.",
- "An error occurred while generating your backup codes" : "Ddoe at àpidu un'errore in sa creatzione de is còdighes de còpia de seguresa",
"{name} backup codes" : "{name} còdighes de còpia de seguresa",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Imprea unu de is còdighes de còpia de seguresa chi as sarvadu candu impostas s'autenticatzione a duos fatores.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Imprea unu de is còdighes de còpia de seguresa chi as sarvadu cando cunfiguras s'autenticatzione a duos fatores.",
"Submit" : "Imbia"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/sk.js b/apps/twofactor_backupcodes/l10n/sk.js
index 4f69e72fb5c..d5d51c5b935 100644
--- a/apps/twofactor_backupcodes/l10n/sk.js
+++ b/apps/twofactor_backupcodes/l10n/sk.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Použiť záložný kód",
"Two factor backup codes" : "Záložné kódy pre dvojfaktorové overovanie",
"A two-factor auth backup codes provider" : "Poskytovateľ záložných kódov pre dvojfaktorové overovanie",
- "Backup codes have been generated. {used} of {total} codes have been used." : "Boli vygenerované záložné kódy. Boli použité {použité} z {celkom} kódov.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Tu sú vaše záložné kódy. Uložte si ich prosím alebo vytlačte, pretože ich nebude možné neskôr znovu zobraziť.",
+ "An error occurred while generating your backup codes" : "Pri vytváraní záložných kódov nastala chyba.",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Boli vygenerované záložné kódy. Boli použité {used} z {total} kódov.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Toto sú vaše záložné kódy. Uložte si ich a/alebo si ich vytlačte, pretože kódy neskôr nebudete môcť znova prečítať.",
"Save backup codes" : "Uložiť záložné kódy",
"Print backup codes" : "Vytlačiť záložné kódy",
"Regenerate backup codes" : "Vytvoriť nové záložné kódy",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ak vytvoríte nové záložné kódy, staré sa automaticky zneplatnia.",
- "An error occurred while generating your backup codes" : "Pri vytváraní záložných kódov nastala chyba.",
"{name} backup codes" : "{name} záložné kódy",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Pri nastavovaní dvojfaktorového overovania totožnosti použite jeden zo záložných kódov, ktoré ste uložili.",
"Submit" : "Odoslať"
diff --git a/apps/twofactor_backupcodes/l10n/sk.json b/apps/twofactor_backupcodes/l10n/sk.json
index 67a3b2bb99b..cc32c1f9721 100644
--- a/apps/twofactor_backupcodes/l10n/sk.json
+++ b/apps/twofactor_backupcodes/l10n/sk.json
@@ -7,13 +7,13 @@
"Use backup code" : "Použiť záložný kód",
"Two factor backup codes" : "Záložné kódy pre dvojfaktorové overovanie",
"A two-factor auth backup codes provider" : "Poskytovateľ záložných kódov pre dvojfaktorové overovanie",
- "Backup codes have been generated. {used} of {total} codes have been used." : "Boli vygenerované záložné kódy. Boli použité {použité} z {celkom} kódov.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Tu sú vaše záložné kódy. Uložte si ich prosím alebo vytlačte, pretože ich nebude možné neskôr znovu zobraziť.",
+ "An error occurred while generating your backup codes" : "Pri vytváraní záložných kódov nastala chyba.",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Boli vygenerované záložné kódy. Boli použité {used} z {total} kódov.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Toto sú vaše záložné kódy. Uložte si ich a/alebo si ich vytlačte, pretože kódy neskôr nebudete môcť znova prečítať.",
"Save backup codes" : "Uložiť záložné kódy",
"Print backup codes" : "Vytlačiť záložné kódy",
"Regenerate backup codes" : "Vytvoriť nové záložné kódy",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ak vytvoríte nové záložné kódy, staré sa automaticky zneplatnia.",
- "An error occurred while generating your backup codes" : "Pri vytváraní záložných kódov nastala chyba.",
"{name} backup codes" : "{name} záložné kódy",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Pri nastavovaní dvojfaktorového overovania totožnosti použite jeden zo záložných kódov, ktoré ste uložili.",
"Submit" : "Odoslať"
diff --git a/apps/twofactor_backupcodes/l10n/sl.js b/apps/twofactor_backupcodes/l10n/sl.js
index 78836028ae6..1d0310064a7 100644
--- a/apps/twofactor_backupcodes/l10n/sl.js
+++ b/apps/twofactor_backupcodes/l10n/sl.js
@@ -9,13 +9,12 @@ OC.L10N.register(
"Use backup code" : "Uporabi varnostno kodo",
"Two factor backup codes" : "Dvostopenjske varnostne kode",
"A two-factor auth backup codes provider" : "Ponudnik varnostnih kod za dvostopenjsko overitev",
+ "An error occurred while generating your backup codes" : "Prišlo je do namako med ustvarjanjem varnostnih kok",
"Backup codes have been generated. {used} of {total} codes have been used." : "Varnostne kode so bile uspešno ustvarjene. Uporabljeno {used} od skupno {total}.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Varnostne kode je priporočljivo shraniti oziroma natisniti, saj jih v tej obliki prebrati ne bo več mogoče.",
"Save backup codes" : "Shrani varnostne kode",
"Print backup codes" : "Natisni varnostne kode",
"Regenerate backup codes" : "Osveži varnostne kode",
"If you regenerate backup codes, you automatically invalidate old codes." : "Z osvežitvijo varnostnih kod bo preklicana veljavnost starih.",
- "An error occurred while generating your backup codes" : "Prišlo je do namako med ustvarjanjem varnostnih kok",
"{name} backup codes" : "Varnostne kode {name}",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Uporabite eno izmed varnostnih kod, ki ste jo shranili pri nastavljanju dvostopenjske overitve",
"Submit" : "Pošlji"
diff --git a/apps/twofactor_backupcodes/l10n/sl.json b/apps/twofactor_backupcodes/l10n/sl.json
index b6faa3d3ebd..eea353bedc7 100644
--- a/apps/twofactor_backupcodes/l10n/sl.json
+++ b/apps/twofactor_backupcodes/l10n/sl.json
@@ -7,13 +7,12 @@
"Use backup code" : "Uporabi varnostno kodo",
"Two factor backup codes" : "Dvostopenjske varnostne kode",
"A two-factor auth backup codes provider" : "Ponudnik varnostnih kod za dvostopenjsko overitev",
+ "An error occurred while generating your backup codes" : "Prišlo je do namako med ustvarjanjem varnostnih kok",
"Backup codes have been generated. {used} of {total} codes have been used." : "Varnostne kode so bile uspešno ustvarjene. Uporabljeno {used} od skupno {total}.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Varnostne kode je priporočljivo shraniti oziroma natisniti, saj jih v tej obliki prebrati ne bo več mogoče.",
"Save backup codes" : "Shrani varnostne kode",
"Print backup codes" : "Natisni varnostne kode",
"Regenerate backup codes" : "Osveži varnostne kode",
"If you regenerate backup codes, you automatically invalidate old codes." : "Z osvežitvijo varnostnih kod bo preklicana veljavnost starih.",
- "An error occurred while generating your backup codes" : "Prišlo je do namako med ustvarjanjem varnostnih kok",
"{name} backup codes" : "Varnostne kode {name}",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Uporabite eno izmed varnostnih kod, ki ste jo shranili pri nastavljanju dvostopenjske overitve",
"Submit" : "Pošlji"
diff --git a/apps/twofactor_backupcodes/l10n/sq.js b/apps/twofactor_backupcodes/l10n/sq.js
index 6258b55b410..74167ba33e4 100644
--- a/apps/twofactor_backupcodes/l10n/sq.js
+++ b/apps/twofactor_backupcodes/l10n/sq.js
@@ -7,12 +7,11 @@ OC.L10N.register(
"Backup code" : "Kod i kopjuar",
"Use backup code" : "Përdorni kodin e kopjimit",
"Two factor backup codes" : "Dy kopje rezervë të faktorëve",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Këto janë kodet tuaja rezervë. Ju lutemi ruajini dhe/ose printojini ato pasi nuk do të jeni në gjendje që ti lexoni më vonë",
+ "An error occurred while generating your backup codes" : "Ndodhi një problem ndërsa ishin duke u prodhuar kodet tuaja rezervë",
"Save backup codes" : "Ruaj kodet e kopjuara",
"Print backup codes" : "Printo kodet rezervë ",
"Regenerate backup codes" : "Gjenero kodet e kopjuara",
"If you regenerate backup codes, you automatically invalidate old codes." : "Nëse gjeneroni kode rezervë, automaktikisht ju çaktivizoni kodet e vjetra.",
- "An error occurred while generating your backup codes" : "Ndodhi një problem ndërsa ishin duke u prodhuar kodet tuaja rezervë",
"Submit" : "Dërgo"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/sq.json b/apps/twofactor_backupcodes/l10n/sq.json
index 948861766cb..9448cacbdc4 100644
--- a/apps/twofactor_backupcodes/l10n/sq.json
+++ b/apps/twofactor_backupcodes/l10n/sq.json
@@ -5,12 +5,11 @@
"Backup code" : "Kod i kopjuar",
"Use backup code" : "Përdorni kodin e kopjimit",
"Two factor backup codes" : "Dy kopje rezervë të faktorëve",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Këto janë kodet tuaja rezervë. Ju lutemi ruajini dhe/ose printojini ato pasi nuk do të jeni në gjendje që ti lexoni më vonë",
+ "An error occurred while generating your backup codes" : "Ndodhi një problem ndërsa ishin duke u prodhuar kodet tuaja rezervë",
"Save backup codes" : "Ruaj kodet e kopjuara",
"Print backup codes" : "Printo kodet rezervë ",
"Regenerate backup codes" : "Gjenero kodet e kopjuara",
"If you regenerate backup codes, you automatically invalidate old codes." : "Nëse gjeneroni kode rezervë, automaktikisht ju çaktivizoni kodet e vjetra.",
- "An error occurred while generating your backup codes" : "Ndodhi një problem ndërsa ishin duke u prodhuar kodet tuaja rezervë",
"Submit" : "Dërgo"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/sr.js b/apps/twofactor_backupcodes/l10n/sr.js
index 82b7cc1e9a3..58ba0cfca8d 100644
--- a/apps/twofactor_backupcodes/l10n/sr.js
+++ b/apps/twofactor_backupcodes/l10n/sr.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Искористи резервни код",
"Two factor backup codes" : "Двофакторски резервни кодови",
"A two-factor auth backup codes provider" : "Провајдер резервних кодова за двофакторску ауторизацију",
+ "An error occurred while generating your backup codes" : "Десила се грешка приликом генерисања резервних кодова",
"Backup codes have been generated. {used} of {total} codes have been used." : "Резервни кодови су изгенерисани. {used} од {total} кодова је искоришћено.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Ово су Ваши резервни кодови. Сачувајте их и/или их одштампајте пошто више нећете моћи да их прочитате.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Ово су ваши резервни кодови. Сачувајте их и/или их одштампајте пошто више нећете моћи поново да их прочитате.",
"Save backup codes" : "Сачувај резервне кодове",
"Print backup codes" : "Одштампај резервне кодове",
"Regenerate backup codes" : "Поново генериши резервне кодове",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ако поново генеришете резервне кодове, стари аутоматски престају да важе.",
- "An error occurred while generating your backup codes" : "Десила се грешка приликом генерисања резервних кодова",
"{name} backup codes" : "{name} резервни кодови",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Искористите један од резервних кодова које сте сачували када се подешавали двофакторску проверу идентитета.",
"Submit" : "Пошаљи"
diff --git a/apps/twofactor_backupcodes/l10n/sr.json b/apps/twofactor_backupcodes/l10n/sr.json
index 0f20c8baf25..0a5be0547be 100644
--- a/apps/twofactor_backupcodes/l10n/sr.json
+++ b/apps/twofactor_backupcodes/l10n/sr.json
@@ -7,13 +7,13 @@
"Use backup code" : "Искористи резервни код",
"Two factor backup codes" : "Двофакторски резервни кодови",
"A two-factor auth backup codes provider" : "Провајдер резервних кодова за двофакторску ауторизацију",
+ "An error occurred while generating your backup codes" : "Десила се грешка приликом генерисања резервних кодова",
"Backup codes have been generated. {used} of {total} codes have been used." : "Резервни кодови су изгенерисани. {used} од {total} кодова је искоришћено.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Ово су Ваши резервни кодови. Сачувајте их и/или их одштампајте пошто више нећете моћи да их прочитате.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Ово су ваши резервни кодови. Сачувајте их и/или их одштампајте пошто више нећете моћи поново да их прочитате.",
"Save backup codes" : "Сачувај резервне кодове",
"Print backup codes" : "Одштампај резервне кодове",
"Regenerate backup codes" : "Поново генериши резервне кодове",
"If you regenerate backup codes, you automatically invalidate old codes." : "Ако поново генеришете резервне кодове, стари аутоматски престају да важе.",
- "An error occurred while generating your backup codes" : "Десила се грешка приликом генерисања резервних кодова",
"{name} backup codes" : "{name} резервни кодови",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Искористите један од резервних кодова које сте сачували када се подешавали двофакторску проверу идентитета.",
"Submit" : "Пошаљи"
diff --git a/apps/twofactor_backupcodes/l10n/sv.js b/apps/twofactor_backupcodes/l10n/sv.js
index 9876ec21fc6..4ac01e1d46a 100644
--- a/apps/twofactor_backupcodes/l10n/sv.js
+++ b/apps/twofactor_backupcodes/l10n/sv.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "Använd återställningsnyckel",
"Two factor backup codes" : "Återställningsnycklar tvåfaktor",
"A two-factor auth backup codes provider" : "Återställningsnycklar för tvåfaktorautentisering",
+ "An error occurred while generating your backup codes" : "Ett fel uppstod vid skapandet av nya återställningsnycklar",
"Backup codes have been generated. {used} of {total} codes have been used." : "Återställningsnycklar har skapats. {used} av {total} nycklar har använts.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Detta är dina återställningsnycklar. Vänligen spara och/eller skriv ut dem eftersom du inte kommer kunna se dessa nycklar igen.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Detta är dina reservkoder. Spara och/eller skriv ut dem eftersom du inte kommer att kunna läsa koderna igen senare.",
"Save backup codes" : "Spara återställningsnycklar",
"Print backup codes" : "Skriv ut återställningsnycklar",
"Regenerate backup codes" : "Skapa nya återställningsnycklar",
"If you regenerate backup codes, you automatically invalidate old codes." : "Om du skapar nya återställningsnycklar så kommer de gamla automatiskt att sluta fungera.",
- "An error occurred while generating your backup codes" : "Ett fel uppstod vid skapandet av nya återställningsnycklar",
"{name} backup codes" : "{name} återställningsnycklar",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Använd en av återställningsnycklarna du sparade när du konfigurerar tvåfaktorsautentisering.",
"Submit" : "Skicka"
diff --git a/apps/twofactor_backupcodes/l10n/sv.json b/apps/twofactor_backupcodes/l10n/sv.json
index 082c2fbfec6..f579d7633aa 100644
--- a/apps/twofactor_backupcodes/l10n/sv.json
+++ b/apps/twofactor_backupcodes/l10n/sv.json
@@ -7,13 +7,13 @@
"Use backup code" : "Använd återställningsnyckel",
"Two factor backup codes" : "Återställningsnycklar tvåfaktor",
"A two-factor auth backup codes provider" : "Återställningsnycklar för tvåfaktorautentisering",
+ "An error occurred while generating your backup codes" : "Ett fel uppstod vid skapandet av nya återställningsnycklar",
"Backup codes have been generated. {used} of {total} codes have been used." : "Återställningsnycklar har skapats. {used} av {total} nycklar har använts.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Detta är dina återställningsnycklar. Vänligen spara och/eller skriv ut dem eftersom du inte kommer kunna se dessa nycklar igen.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Detta är dina reservkoder. Spara och/eller skriv ut dem eftersom du inte kommer att kunna läsa koderna igen senare.",
"Save backup codes" : "Spara återställningsnycklar",
"Print backup codes" : "Skriv ut återställningsnycklar",
"Regenerate backup codes" : "Skapa nya återställningsnycklar",
"If you regenerate backup codes, you automatically invalidate old codes." : "Om du skapar nya återställningsnycklar så kommer de gamla automatiskt att sluta fungera.",
- "An error occurred while generating your backup codes" : "Ett fel uppstod vid skapandet av nya återställningsnycklar",
"{name} backup codes" : "{name} återställningsnycklar",
"Use one of the backup codes you saved when setting up two-factor authentication." : "Använd en av återställningsnycklarna du sparade när du konfigurerar tvåfaktorsautentisering.",
"Submit" : "Skicka"
diff --git a/apps/twofactor_backupcodes/l10n/sw.js b/apps/twofactor_backupcodes/l10n/sw.js
new file mode 100644
index 00000000000..1602df7d1dc
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/sw.js
@@ -0,0 +1,23 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "You created two-factor backup codes for your account" : "Umeunda misimbo ya usaidizi ya vipengele viwili vya akaunti yako",
+ "Second-factor backup codes" : "Misimbo ya ambari mbadala za kipengele cha pili",
+ "Generate backup codes" : "Tengeneza misimbo mbadala",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Umewasha uthibitishaji wa vipengele viwili lakini bado hukutoa misimbo mbadala. Inahitajika ili kurejesha ufikiaji wa akaunti yako endapo utapoteza kipengele chako cha pili.",
+ "Backup code" : "Msimbo mbadala wa usaidizi",
+ "Use backup code" : "Tumia nambari ya kuthibitisha",
+ "Two factor backup codes" : "Nambari mbili mbadala za misimbo",
+ "A two-factor auth backup codes provider" : "Mtoa huduma wa misimbo ya uthibitishaji wa vipengele viwili",
+ "An error occurred while generating your backup codes" : "Hitilafu ilitokea wakati wa kuunda misimbo yako mbadala",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Misimbo ya hifadhi rudufu imetolewa. {used}kati ya misimbo {total} zimetumika.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Hii ndiyo misimbo yako mbadala. Tafadhali ihifadhi na/au uichapishe kwani hutaweza kusoma misimbo tena baadaye.",
+ "Save backup codes" : "Hifadhi misimbo mbadala ya usaidizi",
+ "Print backup codes" : "Chapisha misimbo mbadala ya usaidizi",
+ "Regenerate backup codes" : "Tengeneza upya misimbo mbadala ya usaidizi",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Ukiunda upya misimbo mbadala, unabatilisha misimbo ya zamani kiotomatiki.",
+ "{name} backup codes" : "{name} misimbo mbadala ya usaidizi",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Tumia mojawapo ya misimbo mbadala uliyohifadhi wakati wa kusanidi uthibitishaji wa vipengele viwili.",
+ "Submit" : "Wasilisha"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/sw.json b/apps/twofactor_backupcodes/l10n/sw.json
new file mode 100644
index 00000000000..b6607a180e5
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/sw.json
@@ -0,0 +1,21 @@
+{ "translations": {
+ "You created two-factor backup codes for your account" : "Umeunda misimbo ya usaidizi ya vipengele viwili vya akaunti yako",
+ "Second-factor backup codes" : "Misimbo ya ambari mbadala za kipengele cha pili",
+ "Generate backup codes" : "Tengeneza misimbo mbadala",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Umewasha uthibitishaji wa vipengele viwili lakini bado hukutoa misimbo mbadala. Inahitajika ili kurejesha ufikiaji wa akaunti yako endapo utapoteza kipengele chako cha pili.",
+ "Backup code" : "Msimbo mbadala wa usaidizi",
+ "Use backup code" : "Tumia nambari ya kuthibitisha",
+ "Two factor backup codes" : "Nambari mbili mbadala za misimbo",
+ "A two-factor auth backup codes provider" : "Mtoa huduma wa misimbo ya uthibitishaji wa vipengele viwili",
+ "An error occurred while generating your backup codes" : "Hitilafu ilitokea wakati wa kuunda misimbo yako mbadala",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Misimbo ya hifadhi rudufu imetolewa. {used}kati ya misimbo {total} zimetumika.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Hii ndiyo misimbo yako mbadala. Tafadhali ihifadhi na/au uichapishe kwani hutaweza kusoma misimbo tena baadaye.",
+ "Save backup codes" : "Hifadhi misimbo mbadala ya usaidizi",
+ "Print backup codes" : "Chapisha misimbo mbadala ya usaidizi",
+ "Regenerate backup codes" : "Tengeneza upya misimbo mbadala ya usaidizi",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Ukiunda upya misimbo mbadala, unabatilisha misimbo ya zamani kiotomatiki.",
+ "{name} backup codes" : "{name} misimbo mbadala ya usaidizi",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Tumia mojawapo ya misimbo mbadala uliyohifadhi wakati wa kusanidi uthibitishaji wa vipengele viwili.",
+ "Submit" : "Wasilisha"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/tr.js b/apps/twofactor_backupcodes/l10n/tr.js
index a03a541a3f7..5d2bb802e55 100644
--- a/apps/twofactor_backupcodes/l10n/tr.js
+++ b/apps/twofactor_backupcodes/l10n/tr.js
@@ -1,23 +1,23 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "İki aşamalı kimlik doğrulama için yedek kodlarınızı oluşturdunuz",
- "Second-factor backup codes" : "İki aşamalı kimlik doğrulama yedek kodları",
+ "You created two-factor backup codes for your account" : "İki adımlı doğrulama için yedek kodlarınızı oluşturdunuz",
+ "Second-factor backup codes" : "İki adımlı doğrulama yedek kodları",
"Generate backup codes" : "Yedek kodları oluştur",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "İki aşamalı kimlik doğrulamayı etkinleştirdiniz ancak henüz yedek kodlarını üretmediniz. Bu kodlar herhangi bir nedenle ikinci aşamayı kullanamadığınızda hesabınıza erişebilmenizi sağlar.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "İki adımlı doğrulamayı kullanıma aldınız ancak henüz yedek kodlarını oluşturmadınız. Bu kodlar herhangi bir nedenle ikinci adımı kullanamadığınızda hesabınıza erişebilmenizi sağlar.",
"Backup code" : "Yedek kod",
"Use backup code" : "Yedek kodu kullan",
- "Two factor backup codes" : "İki aşamalı kimlik doğrulama yedek kodları",
- "A two-factor auth backup codes provider" : "İki aşamalı kimlik doğrulaması için yedek kodlar sağlayıcısı",
+ "Two factor backup codes" : "İki adımlı doğrulama yedek kodları",
+ "A two-factor auth backup codes provider" : "İki adımlı doğrulama için yedek kodlar sağlayıcısı",
+ "An error occurred while generating your backup codes" : "Yedek kodlar oluşturulurken bir sorun çıktı",
"Backup codes have been generated. {used} of {total} codes have been used." : "Yedek kodları oluşturuldu. {used} / {total} kod kullanılıyor.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Yedek kodlarınızı burada görebilirsiniz. Kodları daha sonra göremeyeceğiniz için bu kodları kaydedin ya da yazdırın",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Yedek kodlarınızı burada görebilirsiniz. Kodları daha sonra göremeyeceğiniz için bu kodları kaydedin ya da yazdırın.",
"Save backup codes" : "Yedek kodları kaydet",
"Print backup codes" : "Yedek kodları yazdır",
"Regenerate backup codes" : "Yedek kodlarını yeniden oluştur",
"If you regenerate backup codes, you automatically invalidate old codes." : "Yedek kodlarını yeniden oluşturursanız, eski kodlar geçersiz olur.",
- "An error occurred while generating your backup codes" : "Yedek kodlar oluşturulurken bir sorun çıktı",
"{name} backup codes" : "{name} yedek kodları",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "İki aşamalı kimlik doğrulamasını ayarlarken yedek kodlarından birini kullanın.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "İki adımlı doğrulamayı ayarlarken yedek kodlarından birini kullanın.",
"Submit" : "Gönder"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/twofactor_backupcodes/l10n/tr.json b/apps/twofactor_backupcodes/l10n/tr.json
index 21d85e62aa0..2ad03bb0a87 100644
--- a/apps/twofactor_backupcodes/l10n/tr.json
+++ b/apps/twofactor_backupcodes/l10n/tr.json
@@ -1,21 +1,21 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "İki aşamalı kimlik doğrulama için yedek kodlarınızı oluşturdunuz",
- "Second-factor backup codes" : "İki aşamalı kimlik doğrulama yedek kodları",
+ "You created two-factor backup codes for your account" : "İki adımlı doğrulama için yedek kodlarınızı oluşturdunuz",
+ "Second-factor backup codes" : "İki adımlı doğrulama yedek kodları",
"Generate backup codes" : "Yedek kodları oluştur",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "İki aşamalı kimlik doğrulamayı etkinleştirdiniz ancak henüz yedek kodlarını üretmediniz. Bu kodlar herhangi bir nedenle ikinci aşamayı kullanamadığınızda hesabınıza erişebilmenizi sağlar.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "İki adımlı doğrulamayı kullanıma aldınız ancak henüz yedek kodlarını oluşturmadınız. Bu kodlar herhangi bir nedenle ikinci adımı kullanamadığınızda hesabınıza erişebilmenizi sağlar.",
"Backup code" : "Yedek kod",
"Use backup code" : "Yedek kodu kullan",
- "Two factor backup codes" : "İki aşamalı kimlik doğrulama yedek kodları",
- "A two-factor auth backup codes provider" : "İki aşamalı kimlik doğrulaması için yedek kodlar sağlayıcısı",
+ "Two factor backup codes" : "İki adımlı doğrulama yedek kodları",
+ "A two-factor auth backup codes provider" : "İki adımlı doğrulama için yedek kodlar sağlayıcısı",
+ "An error occurred while generating your backup codes" : "Yedek kodlar oluşturulurken bir sorun çıktı",
"Backup codes have been generated. {used} of {total} codes have been used." : "Yedek kodları oluşturuldu. {used} / {total} kod kullanılıyor.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Yedek kodlarınızı burada görebilirsiniz. Kodları daha sonra göremeyeceğiniz için bu kodları kaydedin ya da yazdırın",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Yedek kodlarınızı burada görebilirsiniz. Kodları daha sonra göremeyeceğiniz için bu kodları kaydedin ya da yazdırın.",
"Save backup codes" : "Yedek kodları kaydet",
"Print backup codes" : "Yedek kodları yazdır",
"Regenerate backup codes" : "Yedek kodlarını yeniden oluştur",
"If you regenerate backup codes, you automatically invalidate old codes." : "Yedek kodlarını yeniden oluşturursanız, eski kodlar geçersiz olur.",
- "An error occurred while generating your backup codes" : "Yedek kodlar oluşturulurken bir sorun çıktı",
"{name} backup codes" : "{name} yedek kodları",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "İki aşamalı kimlik doğrulamasını ayarlarken yedek kodlarından birini kullanın.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "İki adımlı doğrulamayı ayarlarken yedek kodlarından birini kullanın.",
"Submit" : "Gönder"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/ug.js b/apps/twofactor_backupcodes/l10n/ug.js
new file mode 100644
index 00000000000..351a95adf06
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ug.js
@@ -0,0 +1,23 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "You created two-factor backup codes for your account" : "ھېساباتىڭىزغا ئىككى ئامىللىق زاپاسلاش كودى قۇردىڭىز",
+ "Second-factor backup codes" : "ئىككىنچى ئامىل زاپاسلاش كودى",
+ "Generate backup codes" : "زاپاسلاش كودى ھاسىل قىلىڭ",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "سىز ئىككى ئامىللىق دەلىللەشنى قوزغىدىڭىز ، ئەمما زاپاسلاش كودى ھاسىل قىلمىدىڭىز. ئۇلار ئىككىنچى ئامىلىڭىزنى يوقىتىپ قويسىڭىز ، ھېساباتىڭىزغا كىرىشنى ئەسلىگە كەلتۈرۈشكە موھتاج.",
+ "Backup code" : "زاپاسلاش كودى",
+ "Use backup code" : "زاپاسلاش كودىنى ئىشلىتىڭ",
+ "Two factor backup codes" : "ئىككى ئامىل زاپاسلاش كودى",
+ "A two-factor auth backup codes provider" : "ئىككى ئامىللىق ئاپتوماتىك زاپاسلاش كودى بىلەن تەمىنلىگۈچى",
+ "An error occurred while generating your backup codes" : "زاپاسلاش كودىڭىزنى ھاسىل قىلغاندا خاتالىق كۆرۈلدى",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "زاپاسلاش كودى بارلىققا كەلدى. {used}{total} كودلار ئىشلىتىلگەن.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "بۇلار سىزنىڭ زاپاسلاش كودىڭىز. كېيىن كودلارنى قايتا ئوقۇيالمىغاچقا ساقلىۋېلىڭ ۋە ياكى بېسىڭ.",
+ "Save backup codes" : "زاپاسلاش كودىنى ساقلاڭ",
+ "Print backup codes" : "زاپاسلاش كودىنى بېسىڭ",
+ "Regenerate backup codes" : "زاپاسلاش كودىنى قايتا ھاسىل قىلىڭ",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "زاپاسلاش كودىنى ئەسلىگە كەلتۈرسىڭىز ، كونا كودلارنى ئاپتوماتىك ئىناۋەتسىز قىلىسىز.",
+ "{name} backup codes" : "{name} زاپاسلاش كودى",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "ئىككى ئامىللىق دەلىللەشنى تەڭشىگەندە ساقلىغان زاپاسلاش كودىدىن بىرنى ئىشلىتىڭ.",
+ "Submit" : "يوللاڭ"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/ug.json b/apps/twofactor_backupcodes/l10n/ug.json
new file mode 100644
index 00000000000..be886f61abf
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ug.json
@@ -0,0 +1,21 @@
+{ "translations": {
+ "You created two-factor backup codes for your account" : "ھېساباتىڭىزغا ئىككى ئامىللىق زاپاسلاش كودى قۇردىڭىز",
+ "Second-factor backup codes" : "ئىككىنچى ئامىل زاپاسلاش كودى",
+ "Generate backup codes" : "زاپاسلاش كودى ھاسىل قىلىڭ",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "سىز ئىككى ئامىللىق دەلىللەشنى قوزغىدىڭىز ، ئەمما زاپاسلاش كودى ھاسىل قىلمىدىڭىز. ئۇلار ئىككىنچى ئامىلىڭىزنى يوقىتىپ قويسىڭىز ، ھېساباتىڭىزغا كىرىشنى ئەسلىگە كەلتۈرۈشكە موھتاج.",
+ "Backup code" : "زاپاسلاش كودى",
+ "Use backup code" : "زاپاسلاش كودىنى ئىشلىتىڭ",
+ "Two factor backup codes" : "ئىككى ئامىل زاپاسلاش كودى",
+ "A two-factor auth backup codes provider" : "ئىككى ئامىللىق ئاپتوماتىك زاپاسلاش كودى بىلەن تەمىنلىگۈچى",
+ "An error occurred while generating your backup codes" : "زاپاسلاش كودىڭىزنى ھاسىل قىلغاندا خاتالىق كۆرۈلدى",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "زاپاسلاش كودى بارلىققا كەلدى. {used}{total} كودلار ئىشلىتىلگەن.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "بۇلار سىزنىڭ زاپاسلاش كودىڭىز. كېيىن كودلارنى قايتا ئوقۇيالمىغاچقا ساقلىۋېلىڭ ۋە ياكى بېسىڭ.",
+ "Save backup codes" : "زاپاسلاش كودىنى ساقلاڭ",
+ "Print backup codes" : "زاپاسلاش كودىنى بېسىڭ",
+ "Regenerate backup codes" : "زاپاسلاش كودىنى قايتا ھاسىل قىلىڭ",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "زاپاسلاش كودىنى ئەسلىگە كەلتۈرسىڭىز ، كونا كودلارنى ئاپتوماتىك ئىناۋەتسىز قىلىسىز.",
+ "{name} backup codes" : "{name} زاپاسلاش كودى",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "ئىككى ئامىللىق دەلىللەشنى تەڭشىگەندە ساقلىغان زاپاسلاش كودىدىن بىرنى ئىشلىتىڭ.",
+ "Submit" : "يوللاڭ"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/uk.js b/apps/twofactor_backupcodes/l10n/uk.js
index c51adf50b26..6c4f1d63169 100644
--- a/apps/twofactor_backupcodes/l10n/uk.js
+++ b/apps/twofactor_backupcodes/l10n/uk.js
@@ -1,23 +1,23 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "Ви створили резервні коди для двофакторної автентифікації у вашому обліковому записі",
+ "You created two-factor backup codes for your account" : "Ви створили резервні коди для двофакторної авторизації у вашому обліковому записі",
"Second-factor backup codes" : "Резервні коди другого фактору",
"Generate backup codes" : "Створити резервні коди",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Ви увімкнули двофакторну автентифікацію, але ще не створили резервні коди. Вони потрібні для відновлення доступу до вашого облікового запису, якщо ви втратите другий фактор.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Ви увімкнули двофакторну авторизацію, але поки не створили резервні коди. Резервні коди потрібні для відновлення доступу до вашого облікового запису, якщо буде втрачено доступ до другого фактору.",
"Backup code" : "Резервні коди",
"Use backup code" : "Використати резервний код",
- "Two factor backup codes" : "Резервні коди двофакторної автентифікації",
- "A two-factor auth backup codes provider" : "Провайдер резервних кодів двофакторної автентифікації",
- "Backup codes have been generated. {used} of {total} codes have been used." : "Створено резервні коди. Вже використано {used} із {total} кодів.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Це ваші резервні коди. Будь ласка, збережіть їх та у разі потреби роздрукуйте, оскільки подалі вони ніде не будуть показуватися.",
+ "Two factor backup codes" : "Резервні коди двофакторної авторизації",
+ "A two-factor auth backup codes provider" : "Постачальник резервних кодів двофакторної авторизації",
+ "An error occurred while generating your backup codes" : "Помилка під час створення резервних кодів",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Створено резервні коди. Ви вже використали {used} із {total} кодів.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Це резервні коди. Будь ласка, збережіть їх та/або надрукуйте, оскільки вони подалі будуть недоступні.",
"Save backup codes" : "Зберегти резервні коди",
"Print backup codes" : "Друк резервних кодів",
"Regenerate backup codes" : "Перестворити резервні коди",
"If you regenerate backup codes, you automatically invalidate old codes." : "Після повторного створення резервних кодів попередні автоматично стануть недійсними",
- "An error occurred while generating your backup codes" : "Помилка під час створення резервних кодів",
"{name} backup codes" : "Резервні коди {name}",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Скористайтеся одним з резервних кодів, які ви зберегли під час встановлення двофакторної автентифікації.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Скористайтеся одним з резервних кодів, які ви зберегли під час встановлення двофакторної авторизації.",
"Submit" : "Гаразд"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
diff --git a/apps/twofactor_backupcodes/l10n/uk.json b/apps/twofactor_backupcodes/l10n/uk.json
index 51ba639d782..0a05102a3b4 100644
--- a/apps/twofactor_backupcodes/l10n/uk.json
+++ b/apps/twofactor_backupcodes/l10n/uk.json
@@ -1,21 +1,21 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "Ви створили резервні коди для двофакторної автентифікації у вашому обліковому записі",
+ "You created two-factor backup codes for your account" : "Ви створили резервні коди для двофакторної авторизації у вашому обліковому записі",
"Second-factor backup codes" : "Резервні коди другого фактору",
"Generate backup codes" : "Створити резервні коди",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Ви увімкнули двофакторну автентифікацію, але ще не створили резервні коди. Вони потрібні для відновлення доступу до вашого облікового запису, якщо ви втратите другий фактор.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Ви увімкнули двофакторну авторизацію, але поки не створили резервні коди. Резервні коди потрібні для відновлення доступу до вашого облікового запису, якщо буде втрачено доступ до другого фактору.",
"Backup code" : "Резервні коди",
"Use backup code" : "Використати резервний код",
- "Two factor backup codes" : "Резервні коди двофакторної автентифікації",
- "A two-factor auth backup codes provider" : "Провайдер резервних кодів двофакторної автентифікації",
- "Backup codes have been generated. {used} of {total} codes have been used." : "Створено резервні коди. Вже використано {used} із {total} кодів.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Це ваші резервні коди. Будь ласка, збережіть їх та у разі потреби роздрукуйте, оскільки подалі вони ніде не будуть показуватися.",
+ "Two factor backup codes" : "Резервні коди двофакторної авторизації",
+ "A two-factor auth backup codes provider" : "Постачальник резервних кодів двофакторної авторизації",
+ "An error occurred while generating your backup codes" : "Помилка під час створення резервних кодів",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "Створено резервні коди. Ви вже використали {used} із {total} кодів.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "Це резервні коди. Будь ласка, збережіть їх та/або надрукуйте, оскільки вони подалі будуть недоступні.",
"Save backup codes" : "Зберегти резервні коди",
"Print backup codes" : "Друк резервних кодів",
"Regenerate backup codes" : "Перестворити резервні коди",
"If you regenerate backup codes, you automatically invalidate old codes." : "Після повторного створення резервних кодів попередні автоматично стануть недійсними",
- "An error occurred while generating your backup codes" : "Помилка під час створення резервних кодів",
"{name} backup codes" : "Резервні коди {name}",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Скористайтеся одним з резервних кодів, які ви зберегли під час встановлення двофакторної автентифікації.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Скористайтеся одним з резервних кодів, які ви зберегли під час встановлення двофакторної авторизації.",
"Submit" : "Гаразд"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/zh_CN.js b/apps/twofactor_backupcodes/l10n/zh_CN.js
index 12ed56b3280..34a772fd64c 100644
--- a/apps/twofactor_backupcodes/l10n/zh_CN.js
+++ b/apps/twofactor_backupcodes/l10n/zh_CN.js
@@ -9,13 +9,13 @@ OC.L10N.register(
"Use backup code" : "使用备用码",
"Two factor backup codes" : "两步验证备用码",
"A two-factor auth backup codes provider" : "一个两步验证备用码提供者",
+ "An error occurred while generating your backup codes" : "生成备用码时出错",
"Backup codes have been generated. {used} of {total} codes have been used." : "备用码已生成。备用码 {total} 条中的 {used} 条已被使用。",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "下列是您的备用码。备用码无法重复查看,请将其保存或打印存储。",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "下列是您的备用码。备用码无法重复查看,请将其保存或打印存储。",
"Save backup codes" : "保存备用码",
"Print backup codes" : "打印备用码",
"Regenerate backup codes" : "重新生成备用码",
"If you regenerate backup codes, you automatically invalidate old codes." : "如果您重新生成了备用码,旧的代码将自动失效。",
- "An error occurred while generating your backup codes" : "生成备用码时出错",
"{name} backup codes" : "{name} 备用码",
"Use one of the backup codes you saved when setting up two-factor authentication." : "在设置两步验证时使用您保存的其中一个备用码",
"Submit" : "提交"
diff --git a/apps/twofactor_backupcodes/l10n/zh_CN.json b/apps/twofactor_backupcodes/l10n/zh_CN.json
index 85b95803d18..d08d943029e 100644
--- a/apps/twofactor_backupcodes/l10n/zh_CN.json
+++ b/apps/twofactor_backupcodes/l10n/zh_CN.json
@@ -7,13 +7,13 @@
"Use backup code" : "使用备用码",
"Two factor backup codes" : "两步验证备用码",
"A two-factor auth backup codes provider" : "一个两步验证备用码提供者",
+ "An error occurred while generating your backup codes" : "生成备用码时出错",
"Backup codes have been generated. {used} of {total} codes have been used." : "备用码已生成。备用码 {total} 条中的 {used} 条已被使用。",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "下列是您的备用码。备用码无法重复查看,请将其保存或打印存储。",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "下列是您的备用码。备用码无法重复查看,请将其保存或打印存储。",
"Save backup codes" : "保存备用码",
"Print backup codes" : "打印备用码",
"Regenerate backup codes" : "重新生成备用码",
"If you regenerate backup codes, you automatically invalidate old codes." : "如果您重新生成了备用码,旧的代码将自动失效。",
- "An error occurred while generating your backup codes" : "生成备用码时出错",
"{name} backup codes" : "{name} 备用码",
"Use one of the backup codes you saved when setting up two-factor authentication." : "在设置两步验证时使用您保存的其中一个备用码",
"Submit" : "提交"
diff --git a/apps/twofactor_backupcodes/l10n/zh_HK.js b/apps/twofactor_backupcodes/l10n/zh_HK.js
index 872249d1a4c..c9de2b58d3b 100644
--- a/apps/twofactor_backupcodes/l10n/zh_HK.js
+++ b/apps/twofactor_backupcodes/l10n/zh_HK.js
@@ -1,21 +1,21 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "你的賬戶已建立雙重認證的備用碼。",
+ "You created two-factor backup codes for your account" : "你的帳戶已建立雙重認證的備用碼。",
"Second-factor backup codes" : "第二階段備用驗證碼",
"Generate backup codes" : "產生備用驗證碼",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "你已經啟用了雙重認證但並未産生雙重認證備用碼。若你遺失了你的第二驗證因數,你會需要雙重認證備用碼來復原你賬戶的存取權。",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "你已經啟用了雙重認證但並未産生雙重認證備用碼。若你遺失了你的第二驗證因數,你會需要雙重認證備用碼來復原你帳戶的存取權。",
"Backup code" : "備用驗證碼",
"Use backup code" : "使用備用驗證碼",
"Two factor backup codes" : "雙重備用驗證碼",
"A two-factor auth backup codes provider" : "雙重認證備用驗證碼提供者",
+ "An error occurred while generating your backup codes" : "產生備用碼時發生錯誤。",
"Backup codes have been generated. {used} of {total} codes have been used." : "備用碼已經建立,共{total}組備用碼中有{used}組已經使用",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "以下是您的備用碼,由於備用碼不會再次顯示,請儲存 並/或 列印。",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "以下是您的備用碼,由於備用碼不會再次顯示,請儲存 並/或 列印。",
"Save backup codes" : "儲存備用碼",
"Print backup codes" : "列印備用碼",
"Regenerate backup codes" : "重新產生備用碼",
"If you regenerate backup codes, you automatically invalidate old codes." : "若您重新產生備用碼,原來舊的備用碼將自動失效。",
- "An error occurred while generating your backup codes" : "產生備用碼時發生錯誤。",
"{name} backup codes" : "{name} 備用驗證碼",
"Use one of the backup codes you saved when setting up two-factor authentication." : "設定啟用雙重認證時,可輸入其中一個您已儲存的備用碼。",
"Submit" : "遞交"
diff --git a/apps/twofactor_backupcodes/l10n/zh_HK.json b/apps/twofactor_backupcodes/l10n/zh_HK.json
index f5b06cc3be0..416a88eed9e 100644
--- a/apps/twofactor_backupcodes/l10n/zh_HK.json
+++ b/apps/twofactor_backupcodes/l10n/zh_HK.json
@@ -1,19 +1,19 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "你的賬戶已建立雙重認證的備用碼。",
+ "You created two-factor backup codes for your account" : "你的帳戶已建立雙重認證的備用碼。",
"Second-factor backup codes" : "第二階段備用驗證碼",
"Generate backup codes" : "產生備用驗證碼",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "你已經啟用了雙重認證但並未産生雙重認證備用碼。若你遺失了你的第二驗證因數,你會需要雙重認證備用碼來復原你賬戶的存取權。",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "你已經啟用了雙重認證但並未産生雙重認證備用碼。若你遺失了你的第二驗證因數,你會需要雙重認證備用碼來復原你帳戶的存取權。",
"Backup code" : "備用驗證碼",
"Use backup code" : "使用備用驗證碼",
"Two factor backup codes" : "雙重備用驗證碼",
"A two-factor auth backup codes provider" : "雙重認證備用驗證碼提供者",
+ "An error occurred while generating your backup codes" : "產生備用碼時發生錯誤。",
"Backup codes have been generated. {used} of {total} codes have been used." : "備用碼已經建立,共{total}組備用碼中有{used}組已經使用",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "以下是您的備用碼,由於備用碼不會再次顯示,請儲存 並/或 列印。",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "以下是您的備用碼,由於備用碼不會再次顯示,請儲存 並/或 列印。",
"Save backup codes" : "儲存備用碼",
"Print backup codes" : "列印備用碼",
"Regenerate backup codes" : "重新產生備用碼",
"If you regenerate backup codes, you automatically invalidate old codes." : "若您重新產生備用碼,原來舊的備用碼將自動失效。",
- "An error occurred while generating your backup codes" : "產生備用碼時發生錯誤。",
"{name} backup codes" : "{name} 備用驗證碼",
"Use one of the backup codes you saved when setting up two-factor authentication." : "設定啟用雙重認證時,可輸入其中一個您已儲存的備用碼。",
"Submit" : "遞交"
diff --git a/apps/twofactor_backupcodes/l10n/zh_TW.js b/apps/twofactor_backupcodes/l10n/zh_TW.js
index 7d00594338e..2c2ae1710a6 100644
--- a/apps/twofactor_backupcodes/l10n/zh_TW.js
+++ b/apps/twofactor_backupcodes/l10n/zh_TW.js
@@ -1,23 +1,23 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "您已建立您帳號的兩階段驗證的備用驗證碼",
- "Second-factor backup codes" : "兩階段備用驗證碼",
- "Generate backup codes" : "建立備用驗證碼",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "您已經啟用了兩階段驗證但並無兩階段驗證備用碼。若您遺失了您的第二驗證手段,您會需要兩階段驗證備用碼來取回你帳戶的存取權。",
- "Backup code" : "備用驗證碼",
- "Use backup code" : "使用備用驗證碼",
- "Two factor backup codes" : "兩階段備用驗證碼",
- "A two-factor auth backup codes provider" : "兩階段驗證備用驗證碼提供者",
- "Backup codes have been generated. {used} of {total} codes have been used." : "備用碼已經建立,共 {total} 組備用碼中有 {used} 組已經使用。",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "以下是您的備用碼。由於備用碼不會再次顯示,請儲存及/或列印",
- "Save backup codes" : "儲存備用驗證碼",
- "Print backup codes" : "列印備用驗證碼",
- "Regenerate backup codes" : "重新產生備用驗證碼",
- "If you regenerate backup codes, you automatically invalidate old codes." : "若您重新產生備用驗證碼,原來舊的備用驗證碼將自動失效。",
- "An error occurred while generating your backup codes" : "產生備用驗證碼時發生錯誤",
- "{name} backup codes" : "{name} 備用驗證碼",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "設定啟用兩階段驗證時,可輸入其中一個您已儲存的備用驗證碼。",
- "Submit" : "遞交"
+ "You created two-factor backup codes for your account" : "您已建立您帳號的雙因子認證的備用碼",
+ "Second-factor backup codes" : "雙因子認證備用碼",
+ "Generate backup codes" : "產生備用碼",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "您已啟用雙因子認證,但尚未產生備用碼。如果您失去第二因素的認證方式,則必須使用備用碼來恢復對您帳號的存取權。",
+ "Backup code" : "備用碼",
+ "Use backup code" : "使用備用碼",
+ "Two factor backup codes" : "雙因子認證備用碼",
+ "A two-factor auth backup codes provider" : "雙因子認證備用碼提供者",
+ "An error occurred while generating your backup codes" : "產生備用碼時發生錯誤",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "備用碼已產生。共 {total} 組備用碼,有 {used} 組已使用。",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "以下是您的備用碼。由於備用碼不會再次顯示,請儲存及/或列印。",
+ "Save backup codes" : "儲存備用碼",
+ "Print backup codes" : "列印備用碼",
+ "Regenerate backup codes" : "重新產生備用碼",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "若您重新產生備用碼,原來舊的備用碼將自動失效。",
+ "{name} backup codes" : "{name} 備用碼",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "設定啟用雙因子認證時,可輸入其中一組您已儲存的備用碼。",
+ "Submit" : "提交"
},
"nplurals=1; plural=0;");
diff --git a/apps/twofactor_backupcodes/l10n/zh_TW.json b/apps/twofactor_backupcodes/l10n/zh_TW.json
index cf99d40bb6a..23d922a1cca 100644
--- a/apps/twofactor_backupcodes/l10n/zh_TW.json
+++ b/apps/twofactor_backupcodes/l10n/zh_TW.json
@@ -1,21 +1,21 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "您已建立您帳號的兩階段驗證的備用驗證碼",
- "Second-factor backup codes" : "兩階段備用驗證碼",
- "Generate backup codes" : "建立備用驗證碼",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "您已經啟用了兩階段驗證但並無兩階段驗證備用碼。若您遺失了您的第二驗證手段,您會需要兩階段驗證備用碼來取回你帳戶的存取權。",
- "Backup code" : "備用驗證碼",
- "Use backup code" : "使用備用驗證碼",
- "Two factor backup codes" : "兩階段備用驗證碼",
- "A two-factor auth backup codes provider" : "兩階段驗證備用驗證碼提供者",
- "Backup codes have been generated. {used} of {total} codes have been used." : "備用碼已經建立,共 {total} 組備用碼中有 {used} 組已經使用。",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "以下是您的備用碼。由於備用碼不會再次顯示,請儲存及/或列印",
- "Save backup codes" : "儲存備用驗證碼",
- "Print backup codes" : "列印備用驗證碼",
- "Regenerate backup codes" : "重新產生備用驗證碼",
- "If you regenerate backup codes, you automatically invalidate old codes." : "若您重新產生備用驗證碼,原來舊的備用驗證碼將自動失效。",
- "An error occurred while generating your backup codes" : "產生備用驗證碼時發生錯誤",
- "{name} backup codes" : "{name} 備用驗證碼",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "設定啟用兩階段驗證時,可輸入其中一個您已儲存的備用驗證碼。",
- "Submit" : "遞交"
+ "You created two-factor backup codes for your account" : "您已建立您帳號的雙因子認證的備用碼",
+ "Second-factor backup codes" : "雙因子認證備用碼",
+ "Generate backup codes" : "產生備用碼",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "您已啟用雙因子認證,但尚未產生備用碼。如果您失去第二因素的認證方式,則必須使用備用碼來恢復對您帳號的存取權。",
+ "Backup code" : "備用碼",
+ "Use backup code" : "使用備用碼",
+ "Two factor backup codes" : "雙因子認證備用碼",
+ "A two-factor auth backup codes provider" : "雙因子認證備用碼提供者",
+ "An error occurred while generating your backup codes" : "產生備用碼時發生錯誤",
+ "Backup codes have been generated. {used} of {total} codes have been used." : "備用碼已產生。共 {total} 組備用碼,有 {used} 組已使用。",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later." : "以下是您的備用碼。由於備用碼不會再次顯示,請儲存及/或列印。",
+ "Save backup codes" : "儲存備用碼",
+ "Print backup codes" : "列印備用碼",
+ "Regenerate backup codes" : "重新產生備用碼",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "若您重新產生備用碼,原來舊的備用碼將自動失效。",
+ "{name} backup codes" : "{name} 備用碼",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "設定啟用雙因子認證時,可輸入其中一組您已儲存的備用碼。",
+ "Submit" : "提交"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/lib/Activity/Provider.php b/apps/twofactor_backupcodes/lib/Activity/Provider.php
index 2d60c8fe3f1..eba38147bd7 100644
--- a/apps/twofactor_backupcodes/lib/Activity/Provider.php
+++ b/apps/twofactor_backupcodes/lib/Activity/Provider.php
@@ -3,31 +3,12 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author J0WI <J0WI@users.noreply.github.com>
- * @author Joas Schilling <coding@schilljs.com>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Activity;
-use InvalidArgumentException;
+use OCP\Activity\Exceptions\UnknownActivityException;
use OCP\Activity\IEvent;
use OCP\Activity\IManager;
use OCP\Activity\IProvider;
@@ -36,29 +17,21 @@ use OCP\L10N\IFactory as L10nFactory;
class Provider implements IProvider {
- /** @var L10nFactory */
- private $l10n;
-
- /** @var IURLGenerator */
- private $urlGenerator;
-
- /** @var IManager */
- private $activityManager;
-
/**
* @param L10nFactory $l10n
* @param IURLGenerator $urlGenerator
* @param IManager $activityManager
*/
- public function __construct(L10nFactory $l10n, IURLGenerator $urlGenerator, IManager $activityManager) {
- $this->urlGenerator = $urlGenerator;
- $this->activityManager = $activityManager;
- $this->l10n = $l10n;
+ public function __construct(
+ private L10nFactory $l10n,
+ private IURLGenerator $urlGenerator,
+ private IManager $activityManager,
+ ) {
}
- public function parse($language, IEvent $event, IEvent $previousEvent = null): IEvent {
+ public function parse($language, IEvent $event, ?IEvent $previousEvent = null): IEvent {
if ($event->getApp() !== 'twofactor_backupcodes') {
- throw new InvalidArgumentException();
+ throw new UnknownActivityException();
}
$l = $this->l10n->get('twofactor_backupcodes', $language);
@@ -74,7 +47,7 @@ class Provider implements IProvider {
}
break;
default:
- throw new InvalidArgumentException();
+ throw new UnknownActivityException();
}
return $event;
}
diff --git a/apps/twofactor_backupcodes/lib/AppInfo/Application.php b/apps/twofactor_backupcodes/lib/AppInfo/Application.php
index 28b59ceb0bd..e9a1ec1c72c 100644
--- a/apps/twofactor_backupcodes/lib/AppInfo/Application.php
+++ b/apps/twofactor_backupcodes/lib/AppInfo/Application.php
@@ -3,27 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\AppInfo;
@@ -40,7 +21,8 @@ use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
-use OCP\Authentication\TwoFactorAuth\IRegistry;
+use OCP\Authentication\TwoFactorAuth\TwoFactorProviderForUserRegistered;
+use OCP\Authentication\TwoFactorAuth\TwoFactorProviderForUserUnregistered;
use OCP\User\Events\UserDeletedEvent;
class Application extends App implements IBootstrap {
@@ -56,8 +38,8 @@ class Application extends App implements IBootstrap {
$context->registerEventListener(CodesGenerated::class, ActivityPublisher::class);
$context->registerEventListener(CodesGenerated::class, RegistryUpdater::class);
$context->registerEventListener(CodesGenerated::class, ClearNotifications::class);
- $context->registerEventListener(IRegistry::EVENT_PROVIDER_ENABLED, ProviderEnabled::class);
- $context->registerEventListener(IRegistry::EVENT_PROVIDER_DISABLED, ProviderDisabled::class);
+ $context->registerEventListener(TwoFactorProviderForUserRegistered::class, ProviderEnabled::class);
+ $context->registerEventListener(TwoFactorProviderForUserUnregistered::class, ProviderDisabled::class);
$context->registerEventListener(UserDeletedEvent::class, UserDeleted::class);
diff --git a/apps/twofactor_backupcodes/lib/BackgroundJob/CheckBackupCodes.php b/apps/twofactor_backupcodes/lib/BackgroundJob/CheckBackupCodes.php
index b1be4927083..bc26cb260f4 100644
--- a/apps/twofactor_backupcodes/lib/BackgroundJob/CheckBackupCodes.php
+++ b/apps/twofactor_backupcodes/lib/BackgroundJob/CheckBackupCodes.php
@@ -3,26 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\BackgroundJob;
@@ -36,28 +18,26 @@ use OCP\IUserManager;
class CheckBackupCodes extends QueuedJob {
- /** @var IUserManager */
- private $userManager;
-
- /** @var IJobList */
- private $jobList;
-
- /** @var IRegistry */
- private $registry;
-
/** @var Manager */
private $twofactorManager;
- public function __construct(ITimeFactory $timeFactory, IUserManager $userManager, IJobList $jobList, Manager $twofactorManager, IRegistry $registry) {
+ public function __construct(
+ ITimeFactory $timeFactory,
+ private IUserManager $userManager,
+ private IJobList $jobList,
+ Manager $twofactorManager,
+ private IRegistry $registry,
+ ) {
parent::__construct($timeFactory);
- $this->userManager = $userManager;
- $this->jobList = $jobList;
$this->twofactorManager = $twofactorManager;
- $this->registry = $registry;
}
protected function run($argument) {
- $this->userManager->callForSeenUsers(function (IUser $user) {
+ $this->userManager->callForSeenUsers(function (IUser $user): void {
+ if (!$user->isEnabled()) {
+ return;
+ }
+
$providers = $this->registry->getProviderStates($user);
$isTwoFactorAuthenticated = $this->twofactorManager->isTwoFactorAuthenticated($user);
diff --git a/apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php b/apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php
index 3eed1bb8dea..5e853479f0a 100644
--- a/apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php
+++ b/apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php
@@ -3,32 +3,13 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\BackgroundJob;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Authentication\TwoFactorAuth\IRegistry;
-use OCP\BackgroundJob\IJob;
use OCP\BackgroundJob\IJobList;
use OCP\BackgroundJob\TimedJob;
use OCP\IUserManager;
@@ -36,32 +17,18 @@ use OCP\Notification\IManager;
class RememberBackupCodesJob extends TimedJob {
- /** @var IRegistry */
- private $registry;
-
- /** @var IUserManager */
- private $userManager;
-
- /** @var IManager */
- private $notificationManager;
-
- /** @var IJobList */
- private $jobList;
-
- public function __construct(IRegistry $registry,
- IUserManager $userManager,
- ITimeFactory $timeFactory,
- IManager $notificationManager,
- IJobList $jobList) {
+ public function __construct(
+ private IRegistry $registry,
+ private IUserManager $userManager,
+ ITimeFactory $timeFactory,
+ private IManager $notificationManager,
+ private IJobList $jobList,
+ ) {
parent::__construct($timeFactory);
- $this->registry = $registry;
- $this->userManager = $userManager;
$this->time = $timeFactory;
- $this->notificationManager = $notificationManager;
- $this->jobList = $jobList;
$this->setInterval(60 * 60 * 24 * 14);
- $this->setTimeSensitivity(IJob::TIME_INSENSITIVE);
+ $this->setTimeSensitivity(self::TIME_INSENSITIVE);
}
protected function run($argument) {
@@ -70,6 +37,7 @@ class RememberBackupCodesJob extends TimedJob {
if ($user === null) {
// We can't run with an invalid user
+ $this->jobList->remove(self::class, $argument);
return;
}
@@ -94,9 +62,16 @@ class RememberBackupCodesJob extends TimedJob {
$notification = $this->notificationManager->createNotification();
$notification->setApp('twofactor_backupcodes')
->setUser($user->getUID())
- ->setDateTime($date)
->setObject('create', 'codes')
->setSubject('create_backupcodes');
+ $this->notificationManager->markProcessed($notification);
+
+ if (!$user->isEnabled()) {
+ // Don't recreate a notification for a user that can not read it
+ $this->jobList->remove(self::class, $argument);
+ return;
+ }
+ $notification->setDateTime($date);
$this->notificationManager->notify($notification);
}
}
diff --git a/apps/twofactor_backupcodes/lib/Controller/SettingsController.php b/apps/twofactor_backupcodes/lib/Controller/SettingsController.php
index 113a391aafd..effc058e05c 100644
--- a/apps/twofactor_backupcodes/lib/Controller/SettingsController.php
+++ b/apps/twofactor_backupcodes/lib/Controller/SettingsController.php
@@ -3,62 +3,41 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author J0WI <J0WI@users.noreply.github.com>
- * @author Joas Schilling <coding@schilljs.com>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Controller;
use OCA\TwoFactorBackupCodes\Service\BackupCodeStorage;
use OCP\AppFramework\Controller;
+use OCP\AppFramework\Http\Attribute\NoAdminRequired;
+use OCP\AppFramework\Http\Attribute\PasswordConfirmationRequired;
use OCP\AppFramework\Http\JSONResponse;
use OCP\IRequest;
use OCP\IUserSession;
class SettingsController extends Controller {
- /** @var BackupCodeStorage */
- private $storage;
-
- /** @var IUserSession */
- private $userSession;
-
/**
* @param string $appName
* @param IRequest $request
* @param BackupCodeStorage $storage
* @param IUserSession $userSession
*/
- public function __construct($appName, IRequest $request, BackupCodeStorage $storage, IUserSession $userSession) {
+ public function __construct(
+ $appName,
+ IRequest $request,
+ private BackupCodeStorage $storage,
+ private IUserSession $userSession,
+ ) {
parent::__construct($appName, $request);
- $this->userSession = $userSession;
- $this->storage = $storage;
}
/**
- * @NoAdminRequired
- * @PasswordConfirmationRequired
- *
* @return JSONResponse
*/
+ #[NoAdminRequired]
+ #[PasswordConfirmationRequired]
public function createCodes(): JSONResponse {
$user = $this->userSession->getUser();
$codes = $this->storage->createCodes($user);
diff --git a/apps/twofactor_backupcodes/lib/Db/BackupCode.php b/apps/twofactor_backupcodes/lib/Db/BackupCode.php
index 8fc713b8ef3..252b9b77faa 100644
--- a/apps/twofactor_backupcodes/lib/Db/BackupCode.php
+++ b/apps/twofactor_backupcodes/lib/Db/BackupCode.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Db;
diff --git a/apps/twofactor_backupcodes/lib/Db/BackupCodeMapper.php b/apps/twofactor_backupcodes/lib/Db/BackupCodeMapper.php
index 592f95da013..fbbc3d0403c 100644
--- a/apps/twofactor_backupcodes/lib/Db/BackupCodeMapper.php
+++ b/apps/twofactor_backupcodes/lib/Db/BackupCodeMapper.php
@@ -3,28 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author J0WI <J0WI@users.noreply.github.com>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Db;
diff --git a/apps/twofactor_backupcodes/lib/Event/CodesGenerated.php b/apps/twofactor_backupcodes/lib/Event/CodesGenerated.php
index 84164ca59d0..90dc6206f71 100644
--- a/apps/twofactor_backupcodes/lib/Event/CodesGenerated.php
+++ b/apps/twofactor_backupcodes/lib/Event/CodesGenerated.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Event;
@@ -30,12 +13,10 @@ use OCP\IUser;
class CodesGenerated extends Event {
- /** @var IUser */
- private $user;
-
- public function __construct(IUser $user) {
+ public function __construct(
+ private IUser $user,
+ ) {
parent::__construct();
- $this->user = $user;
}
/**
diff --git a/apps/twofactor_backupcodes/lib/Listener/ActivityPublisher.php b/apps/twofactor_backupcodes/lib/Listener/ActivityPublisher.php
index 764787b5400..b52f1f2c098 100644
--- a/apps/twofactor_backupcodes/lib/Listener/ActivityPublisher.php
+++ b/apps/twofactor_backupcodes/lib/Listener/ActivityPublisher.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Listener;
@@ -30,20 +13,14 @@ use OCA\TwoFactorBackupCodes\Event\CodesGenerated;
use OCP\Activity\IManager;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
-use OCP\ILogger;
+use Psr\Log\LoggerInterface;
+/** @template-implements IEventListener<CodesGenerated> */
class ActivityPublisher implements IEventListener {
-
- /** @var IManager */
- private $activityManager;
-
- /** @var ILogger */
- private $logger;
-
- public function __construct(IManager $activityManager,
- ILogger $logger) {
- $this->activityManager = $activityManager;
- $this->logger = $logger;
+ public function __construct(
+ private IManager $activityManager,
+ private LoggerInterface $logger,
+ ) {
}
/**
@@ -60,8 +37,7 @@ class ActivityPublisher implements IEventListener {
try {
$this->activityManager->publish($activity);
} catch (BadMethodCallException $e) {
- $this->logger->warning('could not publish backup code creation activity', ['app' => 'twofactor_backupcodes']);
- $this->logger->logException($e, ['app' => 'twofactor_backupcodes']);
+ $this->logger->error('Could not publish backup code creation activity', ['exception' => $e]);
}
}
}
diff --git a/apps/twofactor_backupcodes/lib/Listener/ClearNotifications.php b/apps/twofactor_backupcodes/lib/Listener/ClearNotifications.php
index 960f435a4fd..46bb1583004 100644
--- a/apps/twofactor_backupcodes/lib/Listener/ClearNotifications.php
+++ b/apps/twofactor_backupcodes/lib/Listener/ClearNotifications.php
@@ -3,26 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Listener;
@@ -31,13 +13,12 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\Notification\IManager;
+/** @template-implements IEventListener<CodesGenerated> */
class ClearNotifications implements IEventListener {
- /** @var IManager */
- private $manager;
-
- public function __construct(IManager $manager) {
- $this->manager = $manager;
+ public function __construct(
+ private IManager $manager,
+ ) {
}
public function handle(Event $event): void {
diff --git a/apps/twofactor_backupcodes/lib/Listener/ProviderDisabled.php b/apps/twofactor_backupcodes/lib/Listener/ProviderDisabled.php
index 2629cd92dd0..a8d51e55c1b 100644
--- a/apps/twofactor_backupcodes/lib/Listener/ProviderDisabled.php
+++ b/apps/twofactor_backupcodes/lib/Listener/ProviderDisabled.php
@@ -3,52 +3,29 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2019, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Listener;
use OCA\TwoFactorBackupCodes\BackgroundJob\RememberBackupCodesJob;
use OCP\Authentication\TwoFactorAuth\IRegistry;
-use OCP\Authentication\TwoFactorAuth\RegistryEvent;
+use OCP\Authentication\TwoFactorAuth\TwoFactorProviderForUserUnregistered;
use OCP\BackgroundJob\IJobList;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
+/** @template-implements IEventListener<TwoFactorProviderForUserUnregistered> */
class ProviderDisabled implements IEventListener {
- /** @var IRegistry */
- private $registry;
-
- /** @var IJobList */
- private $jobList;
-
- public function __construct(IRegistry $registry,
- IJobList $jobList) {
- $this->registry = $registry;
- $this->jobList = $jobList;
+ public function __construct(
+ private IRegistry $registry,
+ private IJobList $jobList,
+ ) {
}
public function handle(Event $event): void {
- if (!($event instanceof RegistryEvent)) {
+ if (!($event instanceof TwoFactorProviderForUserUnregistered)) {
return;
}
diff --git a/apps/twofactor_backupcodes/lib/Listener/ProviderEnabled.php b/apps/twofactor_backupcodes/lib/Listener/ProviderEnabled.php
index 581602d7262..4ec510e7194 100644
--- a/apps/twofactor_backupcodes/lib/Listener/ProviderEnabled.php
+++ b/apps/twofactor_backupcodes/lib/Listener/ProviderEnabled.php
@@ -3,52 +3,29 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Listener;
use OCA\TwoFactorBackupCodes\BackgroundJob\RememberBackupCodesJob;
use OCP\Authentication\TwoFactorAuth\IRegistry;
-use OCP\Authentication\TwoFactorAuth\RegistryEvent;
+use OCP\Authentication\TwoFactorAuth\TwoFactorProviderForUserRegistered;
use OCP\BackgroundJob\IJobList;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
+/** @template-implements IEventListener<TwoFactorProviderForUserRegistered> */
class ProviderEnabled implements IEventListener {
- /** @var IRegistry */
- private $registry;
-
- /** @var IJobList */
- private $jobList;
-
- public function __construct(IRegistry $registry,
- IJobList $jobList) {
- $this->registry = $registry;
- $this->jobList = $jobList;
+ public function __construct(
+ private IRegistry $registry,
+ private IJobList $jobList,
+ ) {
}
public function handle(Event $event): void {
- if (!($event instanceof RegistryEvent)) {
+ if (!($event instanceof TwoFactorProviderForUserRegistered)) {
return;
}
diff --git a/apps/twofactor_backupcodes/lib/Listener/RegistryUpdater.php b/apps/twofactor_backupcodes/lib/Listener/RegistryUpdater.php
index d47430095c9..1cb07bd9805 100644
--- a/apps/twofactor_backupcodes/lib/Listener/RegistryUpdater.php
+++ b/apps/twofactor_backupcodes/lib/Listener/RegistryUpdater.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Listener;
@@ -31,17 +14,13 @@ use OCP\Authentication\TwoFactorAuth\IRegistry;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
+/** @template-implements IEventListener<CodesGenerated> */
class RegistryUpdater implements IEventListener {
- /** @var IRegistry */
- private $registry;
-
- /** @var BackupCodesProvider */
- private $provider;
-
- public function __construct(IRegistry $registry, BackupCodesProvider $provider) {
- $this->registry = $registry;
- $this->provider = $provider;
+ public function __construct(
+ private IRegistry $registry,
+ private BackupCodesProvider $provider,
+ ) {
}
public function handle(Event $event): void {
diff --git a/apps/twofactor_backupcodes/lib/Listener/UserDeleted.php b/apps/twofactor_backupcodes/lib/Listener/UserDeleted.php
index f488e48695a..72fd504b338 100644
--- a/apps/twofactor_backupcodes/lib/Listener/UserDeleted.php
+++ b/apps/twofactor_backupcodes/lib/Listener/UserDeleted.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2021 Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Listener;
@@ -30,13 +13,12 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\User\Events\UserDeletedEvent;
+/** @template-implements IEventListener<UserDeletedEvent> */
class UserDeleted implements IEventListener {
- /** @var BackupCodeMapper */
- private $backupCodeMapper;
-
- public function __construct(BackupCodeMapper $backupCodeMapper) {
- $this->backupCodeMapper = $backupCodeMapper;
+ public function __construct(
+ private BackupCodeMapper $backupCodeMapper,
+ ) {
}
public function handle(Event $event): void {
diff --git a/apps/twofactor_backupcodes/lib/Migration/CheckBackupCodes.php b/apps/twofactor_backupcodes/lib/Migration/CheckBackupCodes.php
index 0b393e0bc52..9c0c676134b 100644
--- a/apps/twofactor_backupcodes/lib/Migration/CheckBackupCodes.php
+++ b/apps/twofactor_backupcodes/lib/Migration/CheckBackupCodes.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Migration;
@@ -31,11 +14,9 @@ use OCP\Migration\IRepairStep;
class CheckBackupCodes implements IRepairStep {
- /** @var IJobList */
- private $jobList;
-
- public function __construct(IJobList $jobList) {
- $this->jobList = $jobList;
+ public function __construct(
+ private IJobList $jobList,
+ ) {
}
public function getName(): string {
diff --git a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607104347.php b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607104347.php
index 96c53f8e22f..ce752541bac 100644
--- a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607104347.php
+++ b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607104347.php
@@ -3,27 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
- *
- * @author Daniel Kesselberg <mail@danielkesselberg.de>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Migration;
diff --git a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607113030.php b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607113030.php
index 9c4e2d0e565..bed733cd413 100644
--- a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607113030.php
+++ b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607113030.php
@@ -3,26 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
- *
- * @author Joas Schilling <coding@schilljs.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Migration;
@@ -34,14 +16,12 @@ use OCP\Migration\SimpleMigrationStep;
class Version1002Date20170607113030 extends SimpleMigrationStep {
- /** @var IDBConnection */
- protected $connection;
-
/**
* @param IDBConnection $connection
*/
- public function __construct(IDBConnection $connection) {
- $this->connection = $connection;
+ public function __construct(
+ protected IDBConnection $connection,
+ ) {
}
/**
diff --git a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170919123342.php b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170919123342.php
index be6edb000da..2ca390e6edd 100644
--- a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170919123342.php
+++ b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170919123342.php
@@ -3,27 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
- *
- * @author Daniel Kesselberg <mail@danielkesselberg.de>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Migration;
diff --git a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170926101419.php b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170926101419.php
index b2abe317ccb..d19fda49182 100644
--- a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170926101419.php
+++ b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170926101419.php
@@ -3,26 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Migration;
@@ -35,7 +17,7 @@ class Version1002Date20170926101419 extends BigIntMigration {
/**
* @return array Returns an array with the following structure
- * ['table1' => ['column1', 'column2'], ...]
+ * ['table1' => ['column1', 'column2'], ...]
* @since 13.0.0
*/
protected function getColumnsByTable() {
diff --git a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20180821043638.php b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20180821043638.php
index f38cfc06a97..04d6d58c783 100644
--- a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20180821043638.php
+++ b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20180821043638.php
@@ -3,26 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Migration;
diff --git a/apps/twofactor_backupcodes/lib/Notifications/Notifier.php b/apps/twofactor_backupcodes/lib/Notifications/Notifier.php
index 7fc0e668265..e8144f52a56 100644
--- a/apps/twofactor_backupcodes/lib/Notifications/Notifier.php
+++ b/apps/twofactor_backupcodes/lib/Notifications/Notifier.php
@@ -3,27 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Jan-Christoph Borchardt <hey@jancborchardt.net>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Notifications;
@@ -31,18 +12,14 @@ use OCP\IURLGenerator;
use OCP\L10N\IFactory;
use OCP\Notification\INotification;
use OCP\Notification\INotifier;
+use OCP\Notification\UnknownNotificationException;
class Notifier implements INotifier {
- /** @var IFactory */
- private $factory;
-
- /** @var IURLGenerator */
- private $url;
-
- public function __construct(IFactory $factory, IURLGenerator $url) {
- $this->factory = $factory;
- $this->url = $url;
+ public function __construct(
+ private IFactory $factory,
+ private IURLGenerator $url,
+ ) {
}
/**
@@ -68,7 +45,7 @@ class Notifier implements INotifier {
public function prepare(INotification $notification, string $languageCode): INotification {
if ($notification->getApp() !== 'twofactor_backupcodes') {
// Not my app => throw
- throw new \InvalidArgumentException();
+ throw new UnknownNotificationException();
}
// Read the language from the notification
@@ -90,7 +67,7 @@ class Notifier implements INotifier {
default:
// Unknown subject => Unknown notification => throw
- throw new \InvalidArgumentException();
+ throw new UnknownNotificationException();
}
}
}
diff --git a/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php b/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php
index a9ef2a2b252..c521329e203 100644
--- a/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php
+++ b/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php
@@ -3,73 +3,32 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Provider;
use OC\App\AppManager;
use OCA\TwoFactorBackupCodes\Service\BackupCodeStorage;
use OCA\TwoFactorBackupCodes\Settings\Personal;
+use OCP\AppFramework\Services\IInitialState;
use OCP\Authentication\TwoFactorAuth\IDeactivatableByAdmin;
use OCP\Authentication\TwoFactorAuth\IPersonalProviderSettings;
use OCP\Authentication\TwoFactorAuth\IProvidesPersonalSettings;
-use OCP\IInitialStateService;
use OCP\IL10N;
use OCP\IUser;
-use OCP\Template;
+use OCP\Template\ITemplate;
+use OCP\Template\ITemplateManager;
class BackupCodesProvider implements IDeactivatableByAdmin, IProvidesPersonalSettings {
-
- /** @var string */
- private $appName;
-
- /** @var BackupCodeStorage */
- private $storage;
-
- /** @var IL10N */
- private $l10n;
-
- /** @var AppManager */
- private $appManager;
- /** @var IInitialStateService */
- private $initialStateService;
-
- /**
- * @param string $appName
- * @param BackupCodeStorage $storage
- * @param IL10N $l10n
- * @param AppManager $appManager
- */
- public function __construct(string $appName,
- BackupCodeStorage $storage,
- IL10N $l10n,
- AppManager $appManager,
- IInitialStateService $initialStateService) {
- $this->appName = $appName;
- $this->l10n = $l10n;
- $this->storage = $storage;
- $this->appManager = $appManager;
- $this->initialStateService = $initialStateService;
+ public function __construct(
+ private string $appName,
+ private BackupCodeStorage $storage,
+ private IL10N $l10n,
+ private AppManager $appManager,
+ private IInitialState $initialState,
+ private ITemplateManager $templateManager,
+ ) {
}
/**
@@ -103,10 +62,10 @@ class BackupCodesProvider implements IDeactivatableByAdmin, IProvidesPersonalSet
* Get the template for rending the 2FA provider view
*
* @param IUser $user
- * @return Template
+ * @return ITemplate
*/
- public function getTemplate(IUser $user): Template {
- return new Template('twofactor_backupcodes', 'challenge');
+ public function getTemplate(IUser $user): ITemplate {
+ return $this->templateManager->getTemplate('twofactor_backupcodes', 'challenge');
}
/**
@@ -161,11 +120,11 @@ class BackupCodesProvider implements IDeactivatableByAdmin, IProvidesPersonalSet
*/
public function getPersonalSettings(IUser $user): IPersonalProviderSettings {
$state = $this->storage->getBackupCodesState($user);
- $this->initialStateService->provideInitialState($this->appName, 'state', $state);
+ $this->initialState->provideInitialState('state', $state);
return new Personal();
}
- public function disableFor(IUser $user) {
+ public function disableFor(IUser $user): void {
$this->storage->deleteCodes($user);
}
}
diff --git a/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php b/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php
index 4ecff652ae7..7dd6b3949e2 100644
--- a/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php
+++ b/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php
@@ -3,28 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author J0WI <J0WI@users.noreply.github.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Service;
@@ -39,26 +19,12 @@ use OCP\Security\ISecureRandom;
class BackupCodeStorage {
private static $CODE_LENGTH = 16;
- /** @var BackupCodeMapper */
- private $mapper;
-
- /** @var IHasher */
- private $hasher;
-
- /** @var ISecureRandom */
- private $random;
-
- /** @var IEventDispatcher */
- private $eventDispatcher;
-
- public function __construct(BackupCodeMapper $mapper,
- ISecureRandom $random,
- IHasher $hasher,
- IEventDispatcher $eventDispatcher) {
- $this->mapper = $mapper;
- $this->hasher = $hasher;
- $this->random = $random;
- $this->eventDispatcher = $eventDispatcher;
+ public function __construct(
+ private BackupCodeMapper $mapper,
+ private ISecureRandom $random,
+ private IHasher $hasher,
+ private IEventDispatcher $eventDispatcher,
+ ) {
}
/**
@@ -107,8 +73,8 @@ class BackupCodeStorage {
$codes = $this->mapper->getBackupCodes($user);
$total = count($codes);
$used = 0;
- array_walk($codes, function (BackupCode $code) use (&$used) {
- if (1 === (int)$code->getUsed()) {
+ array_walk($codes, function (BackupCode $code) use (&$used): void {
+ if ((int)$code->getUsed() === 1) {
$used++;
}
});
@@ -128,7 +94,7 @@ class BackupCodeStorage {
$dbCodes = $this->mapper->getBackupCodes($user);
foreach ($dbCodes as $dbCode) {
- if (0 === (int)$dbCode->getUsed() && $this->hasher->verify($code, $dbCode->getCode())) {
+ if ((int)$dbCode->getUsed() === 0 && $this->hasher->verify($code, $dbCode->getCode())) {
$dbCode->setUsed(1);
$this->mapper->update($dbCode);
return true;
diff --git a/apps/twofactor_backupcodes/lib/Settings/Personal.php b/apps/twofactor_backupcodes/lib/Settings/Personal.php
index 3470160a8c8..e03c3d303db 100644
--- a/apps/twofactor_backupcodes/lib/Settings/Personal.php
+++ b/apps/twofactor_backupcodes/lib/Settings/Personal.php
@@ -3,35 +3,19 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de>
- *
- * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
+
namespace OCA\TwoFactorBackupCodes\Settings;
use OCP\Authentication\TwoFactorAuth\IPersonalProviderSettings;
-use OCP\Template;
+use OCP\Server;
+use OCP\Template\ITemplate;
+use OCP\Template\ITemplateManager;
class Personal implements IPersonalProviderSettings {
- public function getBody(): Template {
- return new Template('twofactor_backupcodes', 'personal');
+ public function getBody(): ITemplate {
+ return Server::get(ITemplateManager::class)->getTemplate('twofactor_backupcodes', 'personal');
}
}
diff --git a/apps/twofactor_backupcodes/src/service/BackupCodesService.js b/apps/twofactor_backupcodes/src/service/BackupCodesService.js
index 56a22fa0fd3..0abf365ccdb 100644
--- a/apps/twofactor_backupcodes/src/service/BackupCodesService.js
+++ b/apps/twofactor_backupcodes/src/service/BackupCodesService.js
@@ -1,25 +1,6 @@
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
import Axios from '@nextcloud/axios'
diff --git a/apps/twofactor_backupcodes/src/service/PrintService.js b/apps/twofactor_backupcodes/src/service/PrintService.js
index 138eef5136a..4575628744a 100644
--- a/apps/twofactor_backupcodes/src/service/PrintService.js
+++ b/apps/twofactor_backupcodes/src/service/PrintService.js
@@ -1,24 +1,6 @@
/**
- * @copyright Copyright (c) 2016 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
/**
diff --git a/apps/twofactor_backupcodes/src/settings.js b/apps/twofactor_backupcodes/src/settings.js
index 30f80c2fbeb..53aa7e365af 100644
--- a/apps/twofactor_backupcodes/src/settings.js
+++ b/apps/twofactor_backupcodes/src/settings.js
@@ -1,32 +1,13 @@
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { loadState } from '@nextcloud/initial-state'
import Vue from 'vue'
-import PersonalSettings from './views/PersonalSettings'
-import store from './store'
+import PersonalSettings from './views/PersonalSettings.vue'
+import store from './store.js'
Vue.prototype.t = t
diff --git a/apps/twofactor_backupcodes/src/store.js b/apps/twofactor_backupcodes/src/store.js
index bac11bf82f2..1d5cdcafc6d 100644
--- a/apps/twofactor_backupcodes/src/store.js
+++ b/apps/twofactor_backupcodes/src/store.js
@@ -1,29 +1,11 @@
/**
- * @copyright 2019 Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
import Vue from 'vue'
import Vuex, { Store } from 'vuex'
-import { generateCodes } from './service/BackupCodesService'
+import { generateCodes } from './service/BackupCodesService.js'
Vue.use(Vuex)
diff --git a/apps/twofactor_backupcodes/src/views/PersonalSettings.vue b/apps/twofactor_backupcodes/src/views/PersonalSettings.vue
index 96b02064134..3e17613bb47 100644
--- a/apps/twofactor_backupcodes/src/views/PersonalSettings.vue
+++ b/apps/twofactor_backupcodes/src/views/PersonalSettings.vue
@@ -1,38 +1,49 @@
+<!--
+ - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<template>
- <div>
- <button v-if="!enabled"
+ <div class="backupcodes-settings">
+ <NcButton v-if="!enabled"
id="generate-backup-codes"
:disabled="generatingCodes"
@click="generateBackupCodes">
+ <template #icon>
+ <NcLoadingIcon v-if="generatingCodes" />
+ </template>
{{ t('twofactor_backupcodes', 'Generate backup codes') }}
- <span :class="{'icon-loading-small': generatingCodes}" />
- </button>
+ </NcButton>
<template v-else>
- <p>
+ <p class="backupcodes-settings__codes">
<template v-if="!haveCodes">
{{ t('twofactor_backupcodes', 'Backup codes have been generated. {used} of {total} codes have been used.', {used, total}) }}
</template>
<template v-else>
- {{ t('twofactor_backupcodes', 'These are your backup codes. Please save and/or print them as you will not be able to read the codes again later') }}
+ {{ t('twofactor_backupcodes', 'These are your backup codes. Please save and/or print them as you will not be able to read the codes again later.') }}
<ul>
- <li v-for="code in codes" :key="code" class="backup-code">
+ <li v-for="code in codes"
+ :key="code"
+ class="backupcodes-settings__codes__code">
{{ code }}
</li>
</ul>
- <a :href="downloadUrl"
- class="button primary"
- :download="downloadFilename">{{ t('twofactor_backupcodes', 'Save backup codes') }}</a>
- <button class="button"
- @click="printCodes">
- {{ t('twofactor_backupcodes', 'Print backup codes') }}
- </button>
</template>
</p>
- <p>
- <button id="generate-backup-codes"
+ <p class="backupcodes-settings__actions">
+ <template v-if="haveCodes">
+ <NcButton :href="downloadUrl"
+ :download="downloadFilename"
+ type="primary">
+ {{ t('twofactor_backupcodes', 'Save backup codes') }}
+ </NcButton>
+ <NcButton @click="printCodes">
+ {{ t('twofactor_backupcodes', 'Print backup codes') }}
+ </NcButton>
+ </template>
+ <NcButton id="generate-backup-codes"
@click="generateBackupCodes">
{{ t('twofactor_backupcodes', 'Regenerate backup codes') }}
- </button>
+ </NcButton>
</p>
<p>
<em>
@@ -44,11 +55,19 @@
</template>
<script>
-import confirmPassword from '@nextcloud/password-confirmation'
-import { print } from '../service/PrintService'
+import { confirmPassword } from '@nextcloud/password-confirmation'
+import { print } from '../service/PrintService.js'
+import NcButton from '@nextcloud/vue/components/NcButton'
+import NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'
+
+import '@nextcloud/password-confirmation/dist/style.css'
export default {
name: 'PersonalSettings',
+ components: {
+ NcButton,
+ NcLoadingIcon,
+ },
data() {
return {
generatingCodes: false,
@@ -92,7 +111,7 @@ export default {
// Hide old codes
this.generatingCodes = true
- this.$store.dispatch('generate').then(data => {
+ this.$store.dispatch('generate').then(() => {
this.generatingCodes = false
}).catch(err => {
OC.Notification.showTemporary(t('twofactor_backupcodes', 'An error occurred while generating your backup codes'))
@@ -118,13 +137,21 @@ export default {
}
</script>
-<style scoped>
- .backup-code {
- font-family: monospace;
- letter-spacing: 0.02em;
- font-size: 1.2em;
+<style lang="scss" scoped>
+.backupcodes-settings {
+ &__codes {
+ &__code {
+ font-family: monospace;
+ letter-spacing: 0.02em;
+ font-size: 1.2em;
+ }
}
- .button {
- display: inline-block;
+
+ &__actions {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ gap: var(--default-grid-baseline);
}
+}
</style>
diff --git a/apps/twofactor_backupcodes/templates/challenge.php b/apps/twofactor_backupcodes/templates/challenge.php
index e4792c8256a..2dc4eec3973 100644
--- a/apps/twofactor_backupcodes/templates/challenge.php
+++ b/apps/twofactor_backupcodes/templates/challenge.php
@@ -1,7 +1,10 @@
<?php
declare(strict_types=1);
-
+/**
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
style('twofactor_backupcodes', 'style');
?>
diff --git a/apps/twofactor_backupcodes/templates/personal.php b/apps/twofactor_backupcodes/templates/personal.php
index 12def69bbed..838e2016777 100644
--- a/apps/twofactor_backupcodes/templates/personal.php
+++ b/apps/twofactor_backupcodes/templates/personal.php
@@ -1,8 +1,11 @@
<?php
declare(strict_types=1);
-
-script('twofactor_backupcodes', 'settings');
+/**
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+\OCP\Util::addScript('twofactor_backupcodes', 'settings', 'core');
?>
diff --git a/apps/twofactor_backupcodes/tests/Db/BackupCodeMapperTest.php b/apps/twofactor_backupcodes/tests/Db/BackupCodeMapperTest.php
index 75d2d071c26..19cab51969b 100644
--- a/apps/twofactor_backupcodes/tests/Db/BackupCodeMapperTest.php
+++ b/apps/twofactor_backupcodes/tests/Db/BackupCodeMapperTest.php
@@ -3,28 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Db;
@@ -32,21 +12,16 @@ use OCA\TwoFactorBackupCodes\Db\BackupCode;
use OCA\TwoFactorBackupCodes\Db\BackupCodeMapper;
use OCP\IDBConnection;
use OCP\IUser;
+use OCP\Server;
use Test\TestCase;
/**
* @group DB
*/
class BackupCodeMapperTest extends TestCase {
-
- /** @var IDBConnection */
- private $db;
-
- /** @var BackupCodeMapper */
- private $mapper;
-
- /** @var string */
- private $testUID = 'test123456';
+ private IDBConnection $db;
+ private BackupCodeMapper $mapper;
+ private string $testUID = 'test123456';
private function resetDB() {
$qb = $this->db->getQueryBuilder();
@@ -58,8 +33,8 @@ class BackupCodeMapperTest extends TestCase {
protected function setUp(): void {
parent::setUp();
- $this->db = \OC::$server->getDatabaseConnection();
- $this->mapper = \OC::$server->query(BackupCodeMapper::class);
+ $this->db = Server::get(IDBConnection::class);
+ $this->mapper = Server::get(BackupCodeMapper::class);
$this->resetDB();
}
@@ -70,7 +45,7 @@ class BackupCodeMapperTest extends TestCase {
$this->resetDB();
}
- public function testGetBackupCodes() {
+ public function testGetBackupCodes(): void {
$code1 = new BackupCode();
$code1->setUserId($this->testUID);
$code1->setCode('1|$2y$10$Fyo.DkMtkaHapVvRVbQBeeIdi5x/6nmPnxiBzD0GDKa08NMus5xze');
@@ -96,7 +71,7 @@ class BackupCodeMapperTest extends TestCase {
$this->assertInstanceOf(BackupCode::class, $dbCodes[1]);
}
- public function testDeleteCodes() {
+ public function testDeleteCodes(): void {
$code = new BackupCode();
$code->setUserId($this->testUID);
$code->setCode('1|$2y$10$CagG8pEhZL.xDirtCCP/KuuWtnsAasgq60zY9rU46dBK4w8yW0Z/y');
@@ -115,7 +90,7 @@ class BackupCodeMapperTest extends TestCase {
$this->assertCount(0, $this->mapper->getBackupCodes($user));
}
- public function testInsertArgonEncryptedCodes() {
+ public function testInsertArgonEncryptedCodes(): void {
$code = new BackupCode();
$code->setUserId($this->testUID);
$code->setCode('2|$argon2i$v=19$m=1024,t=2,p=2$MjJWUjRFWndtMm5BWGxOag$BusVxLeFyiLLWtaVvX/JRFBiPdZcjRrzpQ/rAhn6vqY');
diff --git a/apps/twofactor_backupcodes/tests/Service/BackupCodeStorageTest.php b/apps/twofactor_backupcodes/tests/Service/BackupCodeStorageTest.php
index 6c474ffd9a3..cfc35e7cb1c 100644
--- a/apps/twofactor_backupcodes/tests/Service/BackupCodeStorageTest.php
+++ b/apps/twofactor_backupcodes/tests/Service/BackupCodeStorageTest.php
@@ -3,63 +3,40 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Service;
use OCA\TwoFactorBackupCodes\Service\BackupCodeStorage;
+use OCP\IUser;
use OCP\Notification\IManager;
use OCP\Notification\INotification;
+use OCP\Server;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
/**
* @group DB
*/
class BackupCodeStorageTest extends TestCase {
-
- /** @var BackupCodeStorage */
- private $storage;
-
- /** @var string */
- private $testUID = 'test123456789';
-
- /** @var IManager|\PHPUnit\Framework\MockObject\MockObject */
- private $notificationManager;
+ private IManager&MockObject $notificationManager;
+ private string $testUID = 'test123456789';
+ private BackupCodeStorage $storage;
protected function setUp(): void {
parent::setUp();
- $this->storage = \OC::$server->query(BackupCodeStorage::class);
+ $this->storage = Server::get(BackupCodeStorage::class);
$this->notificationManager = $this->createMock(IManager::class);
$this->notificationManager->method('createNotification')
- ->willReturn(\OC::$server->query(IManager::class)->createNotification());
+ ->willReturn(Server::get(IManager::class)->createNotification());
$this->overwriteService(IManager::class, $this->notificationManager);
}
- public function testSimpleWorkFlow() {
- $user = $this->getMockBuilder(\OCP\IUser::class)->getMock();
+ public function testSimpleWorkFlow(): void {
+ $user = $this->getMockBuilder(IUser::class)->getMock();
$user->expects($this->any())
->method('getUID')
->willReturn($this->testUID);
@@ -67,10 +44,10 @@ class BackupCodeStorageTest extends TestCase {
$this->notificationManager->expects($this->once())
->method('markProcessed')
->with($this->callback(function (INotification $notification) {
- return $notification->getUser() === $this->testUID &&
- $notification->getObjectType() === 'create' &&
- $notification->getObjectId() === 'codes' &&
- $notification->getApp() === 'twofactor_backupcodes';
+ return $notification->getUser() === $this->testUID
+ && $notification->getObjectType() === 'create'
+ && $notification->getObjectId() === 'codes'
+ && $notification->getApp() === 'twofactor_backupcodes';
}));
// Create codes
diff --git a/apps/twofactor_backupcodes/tests/Unit/Activity/ProviderTest.php b/apps/twofactor_backupcodes/tests/Unit/Activity/ProviderTest.php
index 0ff833280db..152ff80194a 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Activity/ProviderTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Activity/ProviderTest.php
@@ -3,53 +3,26 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Test\Unit\Activity;
-use InvalidArgumentException;
use OCA\TwoFactorBackupCodes\Activity\Provider;
+use OCP\Activity\Exceptions\UnknownActivityException;
use OCP\Activity\IEvent;
use OCP\Activity\IManager;
use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\L10N\IFactory;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class ProviderTest extends TestCase {
-
- /** @var IFactory|\PHPUnit\Framework\MockObject\MockObject */
- private $l10n;
-
- /** @var IURLGenerator|\PHPUnit\Framework\MockObject\MockObject */
- private $urlGenerator;
-
- /** @var IManager|\PHPUnit\Framework\MockObject\MockObject */
- private $activityManager;
-
- /** @var Provider */
- private $provider;
+ private IFactory&MockObject $l10n;
+ private IURLGenerator&MockObject $urlGenerator;
+ private IManager&MockObject $activityManager;
+ private Provider $provider;
protected function setUp(): void {
parent::setUp();
@@ -61,27 +34,25 @@ class ProviderTest extends TestCase {
$this->provider = new Provider($this->l10n, $this->urlGenerator, $this->activityManager);
}
- public function testParseUnrelated() {
+ public function testParseUnrelated(): void {
$lang = 'ru';
$event = $this->createMock(IEvent::class);
$event->expects($this->once())
->method('getApp')
->willReturn('comments');
- $this->expectException(InvalidArgumentException::class);
+ $this->expectException(UnknownActivityException::class);
$this->provider->parse($lang, $event);
}
- public function subjectData() {
+ public static function subjectData(): array {
return [
['codes_generated'],
];
}
- /**
- * @dataProvider subjectData
- */
- public function testParse($subject) {
+ #[\PHPUnit\Framework\Attributes\DataProvider('subjectData')]
+ public function testParse(string $subject): void {
$lang = 'ru';
$event = $this->createMock(IEvent::class);
$l = $this->createMock(IL10N::class);
@@ -113,7 +84,7 @@ class ProviderTest extends TestCase {
$this->provider->parse($lang, $event);
}
- public function testParseInvalidSubject() {
+ public function testParseInvalidSubject(): void {
$lang = 'ru';
$l = $this->createMock(IL10N::class);
$event = $this->createMock(IEvent::class);
@@ -129,7 +100,7 @@ class ProviderTest extends TestCase {
->method('getSubject')
->willReturn('unrelated');
- $this->expectException(InvalidArgumentException::class);
+ $this->expectException(UnknownActivityException::class);
$this->provider->parse($lang, $event);
}
}
diff --git a/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/CheckBackupCodeTest.php b/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/CheckBackupCodeTest.php
index a14712e2684..87bc65e4309 100644
--- a/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/CheckBackupCodeTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/CheckBackupCodeTest.php
@@ -3,26 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\BackgroundJob;
@@ -38,24 +20,12 @@ use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class CheckBackupCodeTest extends TestCase {
-
- /** @var IUserManager|MockObject */
- private $userManager;
-
- /** @var IJobList|MockObject */
- private $jobList;
-
- /** @var IRegistry|MockObject */
- private $registry;
-
- /** @var Manager|MockObject */
- private $manager;
-
- /** @var IUser|MockObject */
- private $user;
-
- /** @var CheckBackupCodes */
- private $checkBackupCodes;
+ private IUserManager&MockObject $userManager;
+ private IJobList&MockObject $jobList;
+ private IRegistry&MockObject $registry;
+ private Manager&MockObject $manager;
+ private IUser&MockObject $user;
+ private CheckBackupCodes $checkBackupCodes;
protected function setUp(): void {
parent::setUp();
@@ -68,7 +38,7 @@ class CheckBackupCodeTest extends TestCase {
$this->user = $this->createMock(IUser::class);
$this->userManager->method('callForSeenUsers')
- ->willReturnCallback(function (\Closure $e) {
+ ->willReturnCallback(function (\Closure $e): void {
$e($this->user);
});
@@ -81,7 +51,10 @@ class CheckBackupCodeTest extends TestCase {
);
}
- public function testRunAlreadyGenerated() {
+ public function testRunAlreadyGenerated(): void {
+ $this->user->method('isEnabled')
+ ->willReturn(true);
+
$this->registry->method('getProviderStates')
->with($this->user)
->willReturn(['backup_codes' => true]);
@@ -94,9 +67,11 @@ class CheckBackupCodeTest extends TestCase {
$this->invokePrivate($this->checkBackupCodes, 'run', [[]]);
}
- public function testRun() {
+ public function testRun(): void {
$this->user->method('getUID')
->willReturn('myUID');
+ $this->user->method('isEnabled')
+ ->willReturn(true);
$this->registry->expects($this->once())
->method('getProviderStates')
@@ -117,7 +92,26 @@ class CheckBackupCodeTest extends TestCase {
$this->invokePrivate($this->checkBackupCodes, 'run', [[]]);
}
- public function testRunNoProviders() {
+ public function testRunDisabledUser(): void {
+ $this->user->method('getUID')
+ ->willReturn('myUID');
+ $this->user->method('isEnabled')
+ ->willReturn(false);
+
+ $this->registry->expects($this->never())
+ ->method('getProviderStates')
+ ->with($this->user);
+
+ $this->jobList->expects($this->never())
+ ->method('add');
+
+ $this->invokePrivate($this->checkBackupCodes, 'run', [[]]);
+ }
+
+ public function testRunNoProviders(): void {
+ $this->user->method('isEnabled')
+ ->willReturn(true);
+
$this->registry->expects($this->once())
->method('getProviderStates')
->with($this->user)
diff --git a/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/RememberBackupCodesJobTest.php b/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/RememberBackupCodesJobTest.php
index d8f9e2836a1..6b162894258 100644
--- a/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/RememberBackupCodesJobTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/RememberBackupCodesJobTest.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\BackgroundJob;
@@ -33,27 +16,17 @@ use OCP\IUser;
use OCP\IUserManager;
use OCP\Notification\IManager;
use OCP\Notification\INotification;
+use OCP\Server;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class RememberBackupCodesJobTest extends TestCase {
-
- /** @var IRegistry|\PHPUnit\Framework\MockObject\MockObject */
- private $registry;
-
- /** @var IUserManager|\PHPUnit\Framework\MockObject\MockObject */
- private $userManager;
-
- /** @var ITimeFactory|\PHPUnit\Framework\MockObject\MockObject */
- private $time;
-
- /** @var IManager|\PHPUnit\Framework\MockObject\MockObject */
- private $notificationManager;
-
- /** @var IJobList|\PHPUnit\Framework\MockObject\MockObject */
- private $jobList;
-
- /** @var RememberBackupCodesJob */
- private $job;
+ private IRegistry&MockObject $registry;
+ private IUserManager&MockObject $userManager;
+ private ITimeFactory&MockObject $time;
+ private IManager&MockObject $notificationManager;
+ private IJobList&MockObject $jobList;
+ private RememberBackupCodesJob $job;
protected function setUp(): void {
parent::setUp();
@@ -75,23 +48,32 @@ class RememberBackupCodesJobTest extends TestCase {
);
}
- public function testInvalidUID() {
+ public function testInvalidUID(): void {
$this->userManager->method('get')
->with('invalidUID')
->willReturn(null);
$this->notificationManager->expects($this->never())
->method($this->anything());
+ $this->jobList->expects($this->once())
+ ->method('remove')
+ ->with(
+ RememberBackupCodesJob::class,
+ ['uid' => 'invalidUID']
+ );
$this->jobList->expects($this->never())
- ->method($this->anything());
+ ->method('add');
- $this->invokePrivate($this->job, 'run', [['uid' => 'invalidUID']]);
+ self::invokePrivate($this->job, 'run', [['uid' => 'invalidUID']]);
}
- public function testBackupCodesGenerated() {
+ public function testBackupCodesGenerated(): void {
$user = $this->createMock(IUser::class);
$user->method('getUID')
->willReturn('validUID');
+ $user->method('isEnabled')
+ ->willReturn(true);
+
$this->userManager->method('get')
->with('validUID')
->willReturn($user);
@@ -112,10 +94,10 @@ class RememberBackupCodesJobTest extends TestCase {
$this->notificationManager->expects($this->never())
->method($this->anything());
- $this->invokePrivate($this->job, 'run', [['uid' => 'validUID']]);
+ self::invokePrivate($this->job, 'run', [['uid' => 'validUID']]);
}
- public function testNoActiveProvider() {
+ public function testNoActiveProvider(): void {
$user = $this->createMock(IUser::class);
$user->method('getUID')
->willReturn('validUID');
@@ -140,13 +122,15 @@ class RememberBackupCodesJobTest extends TestCase {
$this->notificationManager->expects($this->never())
->method($this->anything());
- $this->invokePrivate($this->job, 'run', [['uid' => 'validUID']]);
+ self::invokePrivate($this->job, 'run', [['uid' => 'validUID']]);
}
- public function testNotificationSend() {
+ public function testNotificationSend(): void {
$user = $this->createMock(IUser::class);
$user->method('getUID')
->willReturn('validUID');
+ $user->method('isEnabled')
+ ->willReturn(true);
$this->userManager->method('get')
->with('validUID')
->willReturn($user);
@@ -165,19 +149,65 @@ class RememberBackupCodesJobTest extends TestCase {
$date->setTimestamp($this->time->getTime());
$this->notificationManager->method('createNotification')
- ->willReturn(\OC::$server->query(IManager::class)->createNotification());
+ ->willReturn(Server::get(IManager::class)->createNotification());
$this->notificationManager->expects($this->once())
->method('notify')
->with($this->callback(function (INotification $n) {
- return $n->getApp() === 'twofactor_backupcodes' &&
- $n->getUser() === 'validUID' &&
- $n->getDateTime()->getTimestamp() === 10000000 &&
- $n->getObjectType() === 'create' &&
- $n->getObjectId() === 'codes' &&
- $n->getSubject() === 'create_backupcodes';
+ return $n->getApp() === 'twofactor_backupcodes'
+ && $n->getUser() === 'validUID'
+ && $n->getDateTime()->getTimestamp() === 10000000
+ && $n->getObjectType() === 'create'
+ && $n->getObjectId() === 'codes'
+ && $n->getSubject() === 'create_backupcodes';
}));
- $this->invokePrivate($this->job, 'run', [['uid' => 'validUID']]);
+ self::invokePrivate($this->job, 'run', [['uid' => 'validUID']]);
+ }
+
+ public function testNotificationNotSendForDisabledUser(): void {
+ $user = $this->createMock(IUser::class);
+ $user->method('getUID')
+ ->willReturn('validUID');
+ $user->method('isEnabled')
+ ->willReturn(false);
+ $this->userManager->method('get')
+ ->with('validUID')
+ ->willReturn($user);
+
+ $this->registry->method('getProviderStates')
+ ->with($user)
+ ->willReturn([
+ 'backup_codes' => false,
+ 'foo' => true,
+ ]);
+
+ $this->jobList->expects($this->once())
+ ->method('remove')
+ ->with(
+ RememberBackupCodesJob::class,
+ ['uid' => 'validUID']
+ );
+
+ $date = new \DateTime();
+ $date->setTimestamp($this->time->getTime());
+
+ $this->notificationManager->method('createNotification')
+ ->willReturn(Server::get(IManager::class)->createNotification());
+
+ $this->notificationManager->expects($this->once())
+ ->method('markProcessed')
+ ->with($this->callback(function (INotification $n) {
+ return $n->getApp() === 'twofactor_backupcodes'
+ && $n->getUser() === 'validUID'
+ && $n->getObjectType() === 'create'
+ && $n->getObjectId() === 'codes'
+ && $n->getSubject() === 'create_backupcodes';
+ }));
+
+ $this->notificationManager->expects($this->never())
+ ->method('notify');
+
+ self::invokePrivate($this->job, 'run', [['uid' => 'validUID']]);
}
}
diff --git a/apps/twofactor_backupcodes/tests/Unit/Controller/SettingsControllerTest.php b/apps/twofactor_backupcodes/tests/Unit/Controller/SettingsControllerTest.php
index 15b25f3915c..02c42b65148 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Controller/SettingsControllerTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Controller/SettingsControllerTest.php
@@ -3,28 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Controller;
@@ -34,36 +14,27 @@ use OCP\AppFramework\Http\JSONResponse;
use OCP\IRequest;
use OCP\IUser;
use OCP\IUserSession;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class SettingsControllerTest extends TestCase {
-
- /** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */
- private $request;
-
- /** @var BackupCodeStorage|\PHPUnit\Framework\MockObject\MockObject */
- private $storage;
-
- /** @var IUserSession|\PHPUnit\Framework\MockObject\MockObject */
- private $userSession;
-
- /** @var SettingsController */
- private $controller;
+ private IRequest&MockObject $request;
+ private BackupCodeStorage&MockObject $storage;
+ private IUserSession&MockObject $userSession;
+ private SettingsController $controller;
protected function setUp(): void {
parent::setUp();
- $this->request = $this->getMockBuilder(IRequest::class)->getMock();
- $this->storage = $this->getMockBuilder(BackupCodeStorage::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->userSession = $this->getMockBuilder(IUserSession::class)->getMock();
+ $this->request = $this->createMock(IRequest::class);
+ $this->storage = $this->createMock(BackupCodeStorage::class);
+ $this->userSession = $this->createMock(IUserSession::class);
$this->controller = new SettingsController('twofactor_backupcodes', $this->request, $this->storage, $this->userSession);
}
- public function testCreateCodes() {
- $user = $this->getMockBuilder(IUser::class)->getMock();
+ public function testCreateCodes(): void {
+ $user = $this->createMock(IUser::class);
$codes = ['a', 'b'];
$this->userSession->expects($this->once())
diff --git a/apps/twofactor_backupcodes/tests/Unit/Event/CodesGeneratedTest.php b/apps/twofactor_backupcodes/tests/Unit/Event/CodesGeneratedTest.php
index c75a2c034c5..3f619e387e9 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Event/CodesGeneratedTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Event/CodesGeneratedTest.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Event;
@@ -30,7 +13,7 @@ use OCP\IUser;
use Test\TestCase;
class CodesGeneratedTest extends TestCase {
- public function testCodeGeneratedEvent() {
+ public function testCodeGeneratedEvent(): void {
$user = $this->createMock(IUser::class);
$event = new CodesGenerated($user);
diff --git a/apps/twofactor_backupcodes/tests/Unit/Listener/ActivityPublisherTest.php b/apps/twofactor_backupcodes/tests/Unit/Listener/ActivityPublisherTest.php
index a001a9694de..bd944dc2396 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Listener/ActivityPublisherTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Listener/ActivityPublisherTest.php
@@ -3,27 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Listener;
@@ -32,33 +13,26 @@ use OCA\TwoFactorBackupCodes\Listener\ActivityPublisher;
use OCP\Activity\IEvent;
use OCP\Activity\IManager;
use OCP\EventDispatcher\Event;
-use OCP\ILogger;
use OCP\IUser;
use PHPUnit\Framework\MockObject\MockObject;
+use Psr\Log\LoggerInterface;
use Test\TestCase;
class ActivityPublisherTest extends TestCase {
-
- /** @var IManager|MockObject */
- private $activityManager;
-
- /** @var ILogger */
-
- private $logger;
-
- /** @var ActivityPublisher */
- private $listener;
+ private IManager&MockObject $activityManager;
+ private LoggerInterface&MockObject $logger;
+ private ActivityPublisher $listener;
protected function setUp(): void {
parent::setUp();
$this->activityManager = $this->createMock(IManager::class);
- $this->logger = $this->createMock(ILogger::class);
+ $this->logger = $this->createMock(LoggerInterface::class);
$this->listener = new ActivityPublisher($this->activityManager, $this->logger);
}
- public function testHandleGenericEvent() {
+ public function testHandleGenericEvent(): void {
$event = $this->createMock(Event::class);
$this->activityManager->expects($this->never())
->method('publish');
@@ -66,7 +40,7 @@ class ActivityPublisherTest extends TestCase {
$this->listener->handle($event);
}
- public function testHandleCodesGeneratedEvent() {
+ public function testHandleCodesGeneratedEvent(): void {
$user = $this->createMock(IUser::class);
$user->method('getUID')->willReturn('fritz');
$event = new CodesGenerated($user);
diff --git a/apps/twofactor_backupcodes/tests/Unit/Listener/ClearNotificationsTest.php b/apps/twofactor_backupcodes/tests/Unit/Listener/ClearNotificationsTest.php
index cf9f9a6c123..229d8df05d3 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Listener/ClearNotificationsTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Listener/ClearNotificationsTest.php
@@ -3,26 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Listener;
@@ -32,27 +14,25 @@ use OCP\EventDispatcher\Event;
use OCP\IUser;
use OCP\Notification\IManager;
use OCP\Notification\INotification;
+use OCP\Server;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class ClearNotificationsTest extends TestCase {
-
- /** @var IManager|\PHPUnit\Framework\MockObject\MockObject */
- private $notificationManager;
-
- /** @var ClearNotifications */
- private $listener;
+ private IManager&MockObject $notificationManager;
+ private ClearNotifications $listener;
protected function setUp(): void {
parent::setUp();
$this->notificationManager = $this->createMock(IManager::class);
$this->notificationManager->method('createNotification')
- ->willReturn(\OC::$server->query(IManager::class)->createNotification());
+ ->willReturn(Server::get(IManager::class)->createNotification());
$this->listener = new ClearNotifications($this->notificationManager);
}
- public function testHandleGenericEvent() {
+ public function testHandleGenericEvent(): void {
$event = $this->createMock(Event::class);
$this->notificationManager->expects($this->never())
->method($this->anything());
@@ -60,7 +40,7 @@ class ClearNotificationsTest extends TestCase {
$this->listener->handle($event);
}
- public function testHandleCodesGeneratedEvent() {
+ public function testHandleCodesGeneratedEvent(): void {
$user = $this->createMock(IUser::class);
$user->method('getUID')->willReturn('fritz');
$event = new CodesGenerated($user);
@@ -68,10 +48,10 @@ class ClearNotificationsTest extends TestCase {
$this->notificationManager->expects($this->once())
->method('markProcessed')
->with($this->callback(function (INotification $n) {
- return $n->getUser() === 'fritz' &&
- $n->getApp() === 'twofactor_backupcodes' &&
- $n->getObjectType() === 'create' &&
- $n->getObjectId() === 'codes';
+ return $n->getUser() === 'fritz'
+ && $n->getApp() === 'twofactor_backupcodes'
+ && $n->getObjectType() === 'create'
+ && $n->getObjectId() === 'codes';
}));
$this->listener->handle($event);
diff --git a/apps/twofactor_backupcodes/tests/Unit/Listener/ProviderDisabledTest.php b/apps/twofactor_backupcodes/tests/Unit/Listener/ProviderDisabledTest.php
index 659b16676b0..ea4f530cab4 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Listener/ProviderDisabledTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Listener/ProviderDisabledTest.php
@@ -3,48 +3,25 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2019, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Listener;
use OCA\TwoFactorBackupCodes\BackgroundJob\RememberBackupCodesJob;
use OCA\TwoFactorBackupCodes\Listener\ProviderDisabled;
use OCP\Authentication\TwoFactorAuth\IRegistry;
-use OCP\Authentication\TwoFactorAuth\RegistryEvent;
+use OCP\Authentication\TwoFactorAuth\TwoFactorProviderForUserUnregistered;
use OCP\BackgroundJob\IJobList;
use OCP\EventDispatcher\Event;
use OCP\IUser;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class ProviderDisabledTest extends TestCase {
-
- /** @var IRegistry|\PHPUnit\Framework\MockObject\MockObject */
- private $registy;
-
- /** @var IJobList|\PHPUnit\Framework\MockObject\MockObject */
- private $jobList;
-
- /** @var ProviderDisabled */
- private $listener;
+ private IRegistry&MockObject $registy;
+ private IJobList&MockObject $jobList;
+ private ProviderDisabled $listener;
protected function setUp(): void {
parent::setUp();
@@ -55,7 +32,7 @@ class ProviderDisabledTest extends TestCase {
$this->listener = new ProviderDisabled($this->registy, $this->jobList);
}
- public function testHandleGenericEvent() {
+ public function testHandleGenericEvent(): void {
$event = $this->createMock(Event::class);
$this->jobList->expects($this->never())
->method($this->anything());
@@ -63,11 +40,11 @@ class ProviderDisabledTest extends TestCase {
$this->listener->handle($event);
}
- public function testHandleStillActiveProvider() {
+ public function testHandleStillActiveProvider(): void {
$user = $this->createMock(IUser::class);
$user->method('getUID')
->willReturn('myUID');
- $event = $this->createMock(RegistryEvent::class);
+ $event = $this->createMock(TwoFactorProviderForUserUnregistered::class);
$event->method('getUser')
->willReturn($user);
@@ -84,11 +61,11 @@ class ProviderDisabledTest extends TestCase {
$this->listener->handle($event);
}
- public function testHandleNoActiveProvider() {
+ public function testHandleNoActiveProvider(): void {
$user = $this->createMock(IUser::class);
$user->method('getUID')
->willReturn('myUID');
- $event = $this->createMock(RegistryEvent::class);
+ $event = $this->createMock(TwoFactorProviderForUserUnregistered::class);
$event->method('getUser')
->willReturn($user);
diff --git a/apps/twofactor_backupcodes/tests/Unit/Listener/ProviderEnabledTest.php b/apps/twofactor_backupcodes/tests/Unit/Listener/ProviderEnabledTest.php
index d74fa6e259d..50aac6139c0 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Listener/ProviderEnabledTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Listener/ProviderEnabledTest.php
@@ -3,48 +3,25 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Listener;
use OCA\TwoFactorBackupCodes\BackgroundJob\RememberBackupCodesJob;
use OCA\TwoFactorBackupCodes\Listener\ProviderEnabled;
use OCP\Authentication\TwoFactorAuth\IRegistry;
-use OCP\Authentication\TwoFactorAuth\RegistryEvent;
+use OCP\Authentication\TwoFactorAuth\TwoFactorProviderForUserRegistered;
use OCP\BackgroundJob\IJobList;
use OCP\EventDispatcher\Event;
use OCP\IUser;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class ProviderEnabledTest extends TestCase {
-
- /** @var IRegistry|\PHPUnit\Framework\MockObject\MockObject */
- private $registy;
-
- /** @var IJobList|\PHPUnit\Framework\MockObject\MockObject */
- private $jobList;
-
- /** @var ProviderEnabled */
- private $listener;
+ private IRegistry&MockObject $registy;
+ private IJobList&MockObject $jobList;
+ private ProviderEnabled $listener;
protected function setUp(): void {
parent::setUp();
@@ -55,7 +32,7 @@ class ProviderEnabledTest extends TestCase {
$this->listener = new ProviderEnabled($this->registy, $this->jobList);
}
- public function testHandleGenericEvent() {
+ public function testHandleGenericEvent(): void {
$event = $this->createMock(Event::class);
$this->jobList->expects($this->never())
->method($this->anything());
@@ -63,11 +40,11 @@ class ProviderEnabledTest extends TestCase {
$this->listener->handle($event);
}
- public function testHandleCodesGeneratedEventAlraedyBackupcodes() {
+ public function testHandleCodesGeneratedEventAlraedyBackupcodes(): void {
$user = $this->createMock(IUser::class);
$user->method('getUID')
->willReturn('myUID');
- $event = $this->createMock(RegistryEvent::class);
+ $event = $this->createMock(TwoFactorProviderForUserRegistered::class);
$event->method('getUser')
->willReturn($user);
@@ -83,11 +60,11 @@ class ProviderEnabledTest extends TestCase {
$this->listener->handle($event);
}
- public function testHandleCodesGeneratedEventNoBackupcodes() {
+ public function testHandleCodesGeneratedEventNoBackupcodes(): void {
$user = $this->createMock(IUser::class);
$user->method('getUID')
->willReturn('myUID');
- $event = $this->createMock(RegistryEvent::class);
+ $event = $this->createMock(TwoFactorProviderForUserRegistered::class);
$event->method('getUser')
->willReturn($user);
diff --git a/apps/twofactor_backupcodes/tests/Unit/Listener/RegistryUpdaterTest.php b/apps/twofactor_backupcodes/tests/Unit/Listener/RegistryUpdaterTest.php
index da330a971b5..86d890f0d5e 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Listener/RegistryUpdaterTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Listener/RegistryUpdaterTest.php
@@ -3,26 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Listener;
@@ -32,18 +14,13 @@ use OCA\TwoFactorBackupCodes\Provider\BackupCodesProvider;
use OCP\Authentication\TwoFactorAuth\IRegistry;
use OCP\EventDispatcher\Event;
use OCP\IUser;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class RegistryUpdaterTest extends TestCase {
-
- /** @var IRegistry */
- private $registry;
-
- /** @var BackupCodesProvider */
- private $provider;
-
- /** @var RegistryUpdater */
- private $listener;
+ private IRegistry&MockObject $registry;
+ private BackupCodesProvider&MockObject $provider;
+ private RegistryUpdater $listener;
protected function setUp(): void {
parent::setUp();
@@ -54,7 +31,7 @@ class RegistryUpdaterTest extends TestCase {
$this->listener = new RegistryUpdater($this->registry, $this->provider);
}
- public function testHandleGenericEvent() {
+ public function testHandleGenericEvent(): void {
$event = $this->createMock(Event::class);
$this->registry->expects($this->never())
->method('enableProviderFor');
@@ -62,7 +39,7 @@ class RegistryUpdaterTest extends TestCase {
$this->listener->handle($event);
}
- public function testHandleCodesGeneratedEvent() {
+ public function testHandleCodesGeneratedEvent(): void {
$user = $this->createMock(IUser::class);
$event = new CodesGenerated($user);
$this->registry->expects($this->once())
diff --git a/apps/twofactor_backupcodes/tests/Unit/Migration/CheckBackupCodeTest.php b/apps/twofactor_backupcodes/tests/Unit/Migration/CheckBackupCodeTest.php
index cad9719aed2..c68ab185116 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Migration/CheckBackupCodeTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Migration/CheckBackupCodeTest.php
@@ -3,40 +3,20 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Migration;
use OCA\TwoFactorBackupCodes\Migration\CheckBackupCodes;
use OCP\BackgroundJob\IJobList;
use OCP\Migration\IOutput;
+use PHPunit\Framework\MockObject\MockObject;
use Test\TestCase;
class CheckBackupCodeTest extends TestCase {
-
- /** @var IJobList|\PHPunit\Framework\MockObject\MockObject */
- private $jobList;
-
- /** @var CheckBackupCodes */
- private $checkBackupsCodes;
+ private IJobList&MockObject $jobList;
+ private CheckBackupCodes $checkBackupsCodes;
protected function setUp(): void {
parent::setUp();
@@ -45,11 +25,11 @@ class CheckBackupCodeTest extends TestCase {
$this->checkBackupsCodes = new CheckBackupCodes($this->jobList);
}
- public function testGetName() {
+ public function testGetName(): void {
$this->assertSame('Add background job to check for backup codes', $this->checkBackupsCodes->getName());
}
- public function testRun() {
+ public function testRun(): void {
$this->jobList->expects($this->once())
->method('add')
->with(
diff --git a/apps/twofactor_backupcodes/tests/Unit/Notification/NotifierTest.php b/apps/twofactor_backupcodes/tests/Unit/Notification/NotifierTest.php
index d70252b5fbc..b091d57dbd2 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Notification/NotifierTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Notification/NotifierTest.php
@@ -3,29 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Jan-Christoph Borchardt <hey@jancborchardt.net>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Notification;
@@ -38,15 +17,10 @@ use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class NotifierTest extends TestCase {
- /** @var Notifier */
- protected $notifier;
-
- /** @var IFactory|MockObject */
- protected $factory;
- /** @var IURLGenerator|MockObject */
- protected $url;
- /** @var IL10N|MockObject */
- protected $l;
+ protected IFactory&MockObject $factory;
+ protected IURLGenerator&MockObject $url;
+ protected IL10N&MockObject $l;
+ protected Notifier $notifier;
protected function setUp(): void {
parent::setUp();
@@ -70,10 +44,10 @@ class NotifierTest extends TestCase {
}
- public function testPrepareWrongApp() {
+ public function testPrepareWrongApp(): void {
$this->expectException(\InvalidArgumentException::class);
- /** @var INotification|\PHPUnit\Framework\MockObject\MockObject $notification */
+ /** @var INotification|MockObject $notification */
$notification = $this->createMock(INotification::class);
$notification->expects($this->once())
->method('getApp')
@@ -85,10 +59,10 @@ class NotifierTest extends TestCase {
}
- public function testPrepareWrongSubject() {
+ public function testPrepareWrongSubject(): void {
$this->expectException(\InvalidArgumentException::class);
- /** @var INotification|\PHPUnit\Framework\MockObject\MockObject $notification */
+ /** @var INotification|MockObject $notification */
$notification = $this->createMock(INotification::class);
$notification->expects($this->once())
->method('getApp')
@@ -100,8 +74,8 @@ class NotifierTest extends TestCase {
$this->notifier->prepare($notification, 'en');
}
- public function testPrepare() {
- /** @var \OCP\Notification\INotification|\PHPUnit\Framework\MockObject\MockObject $notification */
+ public function testPrepare(): void {
+ /** @var INotification&MockObject $notification */
$notification = $this->createMock(INotification::class);
$notification->expects($this->once())
diff --git a/apps/twofactor_backupcodes/tests/Unit/Provider/BackupCodesProviderTest.php b/apps/twofactor_backupcodes/tests/Unit/Provider/BackupCodesProviderTest.php
index bb4d7f662cb..512374fca8c 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Provider/BackupCodesProviderTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Provider/BackupCodesProviderTest.php
@@ -3,76 +3,58 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Provider;
use OC\App\AppManager;
use OCA\TwoFactorBackupCodes\Provider\BackupCodesProvider;
use OCA\TwoFactorBackupCodes\Service\BackupCodeStorage;
-use OCP\IInitialStateService;
+use OCP\AppFramework\Services\IInitialState;
use OCP\IL10N;
use OCP\IUser;
-use OCP\Template;
+use OCP\Server;
+use OCP\Template\ITemplateManager;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class BackupCodesProviderTest extends TestCase {
+ private string $appName;
- /** @var string */
- private $appName;
+ private BackupCodeStorage&MockObject $storage;
+ private IL10N&MockObject $l10n;
+ private AppManager&MockObject $appManager;
+ private IInitialState&MockObject $initialState;
- /** @var BackupCodeStorage|\PHPUnit\Framework\MockObject\MockObject */
- private $storage;
-
- /** @var IL10N|\PHPUnit\Framework\MockObject\MockObject */
- private $l10n;
-
- /** @var AppManager|\PHPUnit\Framework\MockObject\MockObject */
- private $appManager;
-
- /** @var IInitialStateService|\PHPUnit\Framework\MockObject\MockObject */
- private $initialState;
-
- /** @var BackupCodesProvider */
- private $provider;
+ private ITemplateManager $templateManager;
+ private BackupCodesProvider $provider;
protected function setUp(): void {
parent::setUp();
- $this->appName = "twofactor_backupcodes";
+ $this->appName = 'twofactor_backupcodes';
$this->storage = $this->createMock(BackupCodeStorage::class);
$this->l10n = $this->createMock(IL10N::class);
$this->appManager = $this->createMock(AppManager::class);
- $this->initialState = $this->createMock(IInitialStateService::class);
-
- $this->provider = new BackupCodesProvider($this->appName, $this->storage, $this->l10n, $this->appManager, $this->initialState);
+ $this->initialState = $this->createMock(IInitialState::class);
+ $this->templateManager = Server::get(ITemplateManager::class);
+
+ $this->provider = new BackupCodesProvider(
+ $this->appName,
+ $this->storage,
+ $this->l10n,
+ $this->appManager,
+ $this->initialState,
+ $this->templateManager,
+ );
}
- public function testGetId() {
+ public function testGetId(): void {
$this->assertEquals('backup_codes', $this->provider->getId());
}
- public function testGetDisplayName() {
+ public function testGetDisplayName(): void {
$this->l10n->expects($this->once())
->method('t')
->with('Backup code')
@@ -80,7 +62,7 @@ class BackupCodesProviderTest extends TestCase {
$this->assertSame('l10n backup code', $this->provider->getDisplayName());
}
- public function testGetDescription() {
+ public function testGetDescription(): void {
$this->l10n->expects($this->once())
->method('t')
->with('Use backup code')
@@ -88,14 +70,14 @@ class BackupCodesProviderTest extends TestCase {
$this->assertSame('l10n use backup code', $this->provider->getDescription());
}
- public function testGetTempalte() {
+ public function testGetTempalte(): void {
$user = $this->getMockBuilder(IUser::class)->getMock();
- $expected = new Template('twofactor_backupcodes', 'challenge');
+ $expected = $this->templateManager->getTemplate('twofactor_backupcodes', 'challenge');
$this->assertEquals($expected, $this->provider->getTemplate($user));
}
- public function testVerfiyChallenge() {
+ public function testVerfiyChallenge(): void {
$user = $this->getMockBuilder(IUser::class)->getMock();
$challenge = 'xyz';
@@ -107,7 +89,7 @@ class BackupCodesProviderTest extends TestCase {
$this->assertFalse($this->provider->verifyChallenge($user, $challenge));
}
- public function testIsTwoFactorEnabledForUser() {
+ public function testIsTwoFactorEnabledForUser(): void {
$user = $this->getMockBuilder(IUser::class)->getMock();
$this->storage->expects($this->once())
@@ -118,7 +100,7 @@ class BackupCodesProviderTest extends TestCase {
$this->assertTrue($this->provider->isTwoFactorAuthEnabledForUser($user));
}
- public function testIsActiveNoProviders() {
+ public function testIsActiveNoProviders(): void {
$user = $this->getMockBuilder(IUser::class)->getMock();
$this->appManager->expects($this->once())
@@ -138,7 +120,7 @@ class BackupCodesProviderTest extends TestCase {
$this->assertFalse($this->provider->isActive($user));
}
- public function testIsActiveWithProviders() {
+ public function testIsActiveWithProviders(): void {
$user = $this->getMockBuilder(IUser::class)->getMock();
$this->appManager->expects($this->once())
diff --git a/apps/twofactor_backupcodes/tests/Unit/Service/BackupCodeStorageTest.php b/apps/twofactor_backupcodes/tests/Unit/Service/BackupCodeStorageTest.php
index 100b70583fe..069e50b71fd 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Service/BackupCodeStorageTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Service/BackupCodeStorageTest.php
@@ -3,27 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\TwoFactorBackupCodes\Tests\Unit\Service;
@@ -35,24 +16,15 @@ use OCP\EventDispatcher\IEventDispatcher;
use OCP\IUser;
use OCP\Security\IHasher;
use OCP\Security\ISecureRandom;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class BackupCodeStorageTest extends TestCase {
-
- /** @var BackupCodeMapper|\PHPUnit\Framework\MockObject\MockObject */
- private $mapper;
-
- /** @var ISecureRandom|\PHPUnit\Framework\MockObject\MockObject */
- private $random;
-
- /** @var IHasher|\PHPUnit\Framework\MockObject\MockObject */
- private $hasher;
-
- /** @var IEventDispatcher|\PHPUnit\Framework\MockObject\MockObject */
- private $eventDispatcher;
-
- /** @var BackupCodeStorage */
- private $storage;
+ private BackupCodeMapper&MockObject $mapper;
+ private ISecureRandom&MockObject $random;
+ private IHasher&MockObject $hasher;
+ private IEventDispatcher&MockObject $eventDispatcher;
+ private BackupCodeStorage $storage;
protected function setUp(): void {
parent::setUp();
@@ -65,7 +37,7 @@ class BackupCodeStorageTest extends TestCase {
$this->storage = new BackupCodeStorage($this->mapper, $this->random, $this->hasher, $this->eventDispatcher);
}
- public function testCreateCodes() {
+ public function testCreateCodes(): void {
$user = $this->createMock(IUser::class);
$number = 5;
$user->method('getUID')->willReturn('fritz');
@@ -97,7 +69,7 @@ class BackupCodeStorageTest extends TestCase {
}
}
- public function testHasBackupCodes() {
+ public function testHasBackupCodes(): void {
$user = $this->createMock(IUser::class);
$codes = [
new BackupCode(),
@@ -112,7 +84,7 @@ class BackupCodeStorageTest extends TestCase {
$this->assertTrue($this->storage->hasBackupCodes($user));
}
- public function testHasBackupCodesNoCodes() {
+ public function testHasBackupCodesNoCodes(): void {
$user = $this->createMock(IUser::class);
$codes = [];
@@ -124,7 +96,7 @@ class BackupCodeStorageTest extends TestCase {
$this->assertFalse($this->storage->hasBackupCodes($user));
}
- public function testGetBackupCodeState() {
+ public function testGetBackupCodeState(): void {
$user = $this->createMock(IUser::class);
$code1 = new BackupCode();
@@ -149,7 +121,7 @@ class BackupCodeStorageTest extends TestCase {
$this->assertEquals($expected, $this->storage->getBackupCodesState($user));
}
- public function testGetBackupCodeDisabled() {
+ public function testGetBackupCodeDisabled(): void {
$user = $this->createMock(IUser::class);
$codes = [];
@@ -167,7 +139,7 @@ class BackupCodeStorageTest extends TestCase {
$this->assertEquals($expected, $this->storage->getBackupCodesState($user));
}
- public function testValidateCode() {
+ public function testValidateCode(): void {
$user = $this->createMock(IUser::class);
$code = new BackupCode();
$code->setUsed(0);
@@ -193,7 +165,7 @@ class BackupCodeStorageTest extends TestCase {
$this->assertEquals(1, $code->getUsed());
}
- public function testValidateUsedCode() {
+ public function testValidateUsedCode(): void {
$user = $this->createMock(IUser::class);
$code = new BackupCode();
$code->setUsed('1');
@@ -214,7 +186,7 @@ class BackupCodeStorageTest extends TestCase {
$this->assertFalse($this->storage->validateCode($user, 'CHALLENGE'));
}
- public function testValidateCodeWithWrongHash() {
+ public function testValidateCodeWithWrongHash(): void {
$user = $this->createMock(IUser::class);
$code = new BackupCode();
$code->setUsed(0);