diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml new file mode 100644 index 0000000..98da305 --- /dev/null +++ b/.github/workflows/php.yml @@ -0,0 +1,79 @@ +name: Build + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + operating-system: ['ubuntu-latest'] + php-versions: ['8.1', '8.0','7.4','7.3', '7.2','7.1','7.0', '5.6'] + + services: + mariadb: + image: mariadb:latest + ports: + - 3306:3306 + env: + MYSQL_USER: user + MYSQL_PASSWORD: password + MYSQL_DATABASE: yii2-usuario-test + MYSQL_ROOT_PASSWORD: password + options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 + + steps: + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + extensions: mbstring, intl, gd + ini-values: post_max_size=256M, max_execution_time=180 + coverage: xdebug + + - uses: actions/checkout@v2 + + + - name: Verify MariaDB connection + run: | + while ! mysqladmin ping -h"127.0.0.1" --silent; do + sleep 1 + done + + - name: Validate PHP version + run: php -v + + - name: Cache Composer packages + id: composer-cache + uses: actions/cache@v2 + with: + path: vendor + key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-php- + + + - name: Verify db connection & databases + run: mysql -e "SHOW DATABASES;" -h127.0.0.1 -uroot -ppassword + + - name: Install + run: composer install --prefer-dist --no-interaction + + - name: Run migrations + run: php tests/_app/yii.php migrate/up --interactive=0 --migrationPath=@yii/rbac/migrations + + - name: Run tests + run: XDEBUG_MODE=coverage php vendor/bin/codecept run --coverage --coverage-xml + + - name: Archive failed tests artifacts - test output & log + uses: actions/upload-artifact@v2 + if: failure() + with: + name: test-outputs-php-${{ matrix.php-versions }} + path: tests/_output + + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2996e05..0000000 --- a/.travis.yml +++ /dev/null @@ -1,65 +0,0 @@ - -# faster builds on new travis setup not using sudo -sudo: false - -language: php - -php: - - 5.6 - - 7.1 - - 7.2 - - 7.3 - - 7.4 - - nightly - -services: - - mysql - -matrix: - fast_finish: true - allow_failures: - - php: nightly - -# cache vendor dirs -# cache: -# directories: -# - vendor -# - $HOME/.composer/cache - -install: - - | - if [[ $TRAVIS_PHP_VERSION != '7.1' && $TRAVIS_PHP_VERSION != '7.2' && $TRAVIS_PHP_VERSION != hhv* ]]; then - # disable xdebug for performance reasons when code coverage is not needed - # note: xdebug on hhvm is disabled by default - phpenv config-rm xdebug.ini || echo "xdebug is not installed" - fi - - travis_retry composer self-update && composer --version - - export PATH="$HOME/.composer/vendor/bin:$PATH" - - COMPOSER_MEMORY_LIMIT=-1 travis_retry composer install --prefer-dist --no-interaction - -before_script: - - php -r "echo INTL_ICU_VERSION . \"\n\";" - - php -r "echo INTL_ICU_DATA_VERSION . \"\n\";" - - mysql --version - - # initialize database - - mysql -e 'CREATE DATABASE `yii2-usuario-test`;'; - - php tests/_app/yii.php migrate/up --interactive=0 - - php tests/_app/yii.php migrate/up --interactive=0 --migrationPath=@yii/rbac/migrations - - # enable code coverage on PHP 7.2, only one PHP version needs to generate coverage data - - | - if [ $TRAVIS_PHP_VERSION = '7.2' ]; then - CODECEPTION_FLAGS="--coverage-xml" - fi - -script: - - composer validate --no-check-lock - - vendor/bin/codecept run $CODECEPTION_FLAGS - -after_script: - - | - if [ $TRAVIS_PHP_VERSION = '7.2' ]; then - travis_retry wget https://scrutinizer-ci.com/ocular.phar - php ocular.phar code-coverage:upload --format=php-clover tests/_output/coverage.xml - fi diff --git a/CHANGELOG.md b/CHANGELOG.md index 8244395..90d84b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,19 @@ # CHANGELOG ## work in progress + - Fix replace non-working travis build with working github actions build (TonisOrmisson) + - Fix user login events not triggered on ajax requests (TonisOrmisson) + - Enh: Added minimum requirements when a new password is automatically generated (MatteoF96) - Fix #380: Avoid rewriting AccessRule::matchRole (maxxer) - Fix #378: Add module attribute 'disableIpLogging' (jkmssoft) - Enh #387: Added Persian translation (hadi-aj) - Fix #384: Delete flash messages after consuming (cgsmith) - Enh: Added SK translations (snickom) - - Fix #391: Always create flash messages, allow `enableFlashMessages` only to dictate display (ajmedway) +<<<<<<< Updated upstream + - Fix: allow password_changed_at to be saved when reseting password (p4blojf) + - Fix #430: Moved EVENT_BEFORE_PROFILE_UPDATE to correct place (eluhr) +======= +>>>>>>> Stashed changes ## 1.5.1 April 5, 2020 - Fix #370: Extending view fix (effsoft) diff --git a/README.md b/README.md index 3bdb3db..17aa983 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,8 @@ Yii 2 Usuario Extension [![Packagist Version](https://img.shields.io/packagist/v/2amigos/yii2-usuario.svg?style=flat-square)](https://packagist.org/packages/2amigos/yii2-usuario) [![Latest Stable Version](https://poser.pugx.org/2amigos/yii2-usuario/version)](https://packagist.org/packages/2amigos/yii2-usuario) [![Total Downloads](https://poser.pugx.org/2amigos/yii2-usuario/downloads)](https://packagist.org/packages/2amigos/yii2-usuario) -[![Build Status](https://travis-ci.org/2amigos/yii2-usuario.svg?branch=master)](https://travis-ci.org/2amigos/yii2-usuario) +[![Build Status](https://github.com/2amigos/yii2-usuario/actions/workflows/php.yml/badge.svg)](https://github.com/2amigos/yii2-usuario/actions/) + [![Latest Unstable Version](https://poser.pugx.org/2amigos/yii2-usuario/v/unstable)](//packagist.org/packages/2amigos/yii2-usuario) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/2amigos/yii2-usuario/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/2amigos/yii2-usuario/?branch=master) diff --git a/codeception.dist.yml b/codeception.dist.yml index f90b32a..b9a5a10 100644 --- a/codeception.dist.yml +++ b/codeception.dist.yml @@ -4,8 +4,8 @@ paths: log: tests/_output data: tests/_data helpers: tests/_support +bootstrap: _bootstrap.php settings: - bootstrap: _bootstrap.php colors: true memory_limit: 1024M modules: @@ -13,11 +13,12 @@ modules: Db: dsn: 'mysql:host=127.0.0.1;dbname=yii2-usuario-test' user: 'root' - password: '' + password: 'password' dump: tests/_data/schema.sql Yii2: configFile: 'tests/_app/config/test.php' cleanup: false + transaction: false coverage: enabled: true whitelist: diff --git a/docs/helpful-guides/first-steps.md b/docs/helpful-guides/first-steps.md index 70c2b2a..e722219 100644 --- a/docs/helpful-guides/first-steps.md +++ b/docs/helpful-guides/first-steps.md @@ -30,7 +30,7 @@ Put this in your migration: $auth = Yii::$app->authManager; // create a role named "administrator" - $administratorRole = $auth->createRole('administrator'); + $administratorRole = $auth->createRole('admin'); $administratorRole->description = 'Administrator'; $auth->add($administratorRole); @@ -65,7 +65,7 @@ Put this in your migration: // delete admin-user and administrator role $administratorRole = $auth->getRole("administrator"); - $user = \Da\User\Model\User::findOne(['name'=>"admin"]); + $user = \Da\User\Model\User::findOne(['username'=>"admin"]); $auth->revoke($administratorRole, $user->id); $user->delete(); $auth->remove($administratorRole); diff --git a/docs/installation/configuration-options.md b/docs/installation/configuration-options.md index 5cc51f8..e95f165 100644 --- a/docs/installation/configuration-options.md +++ b/docs/installation/configuration-options.md @@ -220,5 +220,17 @@ Set to `true` to restrict user assignments to roles only. If `true` registration and last login IPs are not logged into users table, instead a dummy 127.0.0.1 is used +#### minPasswordRequirements (type: `array`, default: `['lower' => 1, 'digit' => 1, 'upper' => 1]`) + +Minimum requirements when a new password is automatically generated. +Array structure: `"requirement" => minimum_number_characters`. + +Possible array keys: +- lower: minimum number of lowercase characters; +- upper: minimum number of uppercase characters; +- digit: minimum number of digits; +- special: minimum number of special characters; +- min: minimum number of characters (= minimum length). + © [2amigos](http://www.2amigos.us/) 2013-2019 diff --git a/src/User/Controller/AdminController.php b/src/User/Controller/AdminController.php index 912b8d8..d8990ba 100644 --- a/src/User/Controller/AdminController.php +++ b/src/User/Controller/AdminController.php @@ -189,8 +189,8 @@ class AdminController extends Controller $this->make(AjaxRequestModelValidator::class, [$profile])->validate(); if ($profile->load(Yii::$app->request->post())) { + $this->trigger(UserEvent::EVENT_BEFORE_PROFILE_UPDATE, $event); if ($profile->save()) { - $this->trigger(UserEvent::EVENT_BEFORE_PROFILE_UPDATE, $event); Yii::$app->getSession()->setFlash('success', Yii::t('usuario', 'Profile details have been updated')); $this->trigger(UserEvent::EVENT_AFTER_PROFILE_UPDATE, $event); @@ -330,7 +330,7 @@ class AdminController extends Controller return $this->redirect(['index']); } - + /** * Forces the user to change password at next login * @param integer $id diff --git a/src/User/Controller/SecurityController.php b/src/User/Controller/SecurityController.php index b427d1b..a7c2d13 100644 --- a/src/User/Controller/SecurityController.php +++ b/src/User/Controller/SecurityController.php @@ -125,7 +125,14 @@ class SecurityController extends Controller if (Yii::$app->request->isAjax && $form->load(Yii::$app->request->post())) { Yii::$app->response->format = Response::FORMAT_JSON; - return ActiveForm::validate($form); + $this->trigger(FormEvent::EVENT_BEFORE_LOGIN, $event); + $errors = ActiveForm::validate($form); + if(empty($errors)) { + $this->trigger(FormEvent::EVENT_AFTER_LOGIN, $event); + return $errors; + } + $this->trigger(FormEvent::EVENT_FAILED_LOGIN, $event); + return $errors; } if ($form->load(Yii::$app->request->post())) { @@ -150,7 +157,7 @@ class SecurityController extends Controller } else { - $this->trigger(FormEvent::EVENT_FAILED_LOGIN, $event); + $this->trigger(FormEvent::EVENT_FAILED_LOGIN, $event); } } diff --git a/src/User/Helper/SecurityHelper.php b/src/User/Helper/SecurityHelper.php index f540f0d..5fec4ab 100644 --- a/src/User/Helper/SecurityHelper.php +++ b/src/User/Helper/SecurityHelper.php @@ -11,8 +11,10 @@ namespace Da\User\Helper; +use Yii; use yii\base\Exception; use yii\base\Security; +use yii\base\InvalidConfigException; class SecurityHelper { @@ -60,25 +62,48 @@ class SecurityHelper return $this->security->validatePassword($password, $hash); } - public function generatePassword($length) + public function generatePassword($length, $minPasswordRequirements = null) { $sets = [ - 'abcdefghjkmnpqrstuvwxyz', - 'ABCDEFGHJKMNPQRSTUVWXYZ', - '23456789', + 'lower' => 'abcdefghjkmnpqrstuvwxyz', + 'upper' => 'ABCDEFGHJKMNPQRSTUVWXYZ', + 'digit' => '123456789', + 'special' => '!#$%&*+,-.:;<=>?@_~' ]; $all = ''; $password = ''; - foreach ($sets as $set) { - $password .= $set[array_rand(str_split($set))]; + + if (!isset($minPasswordRequirements)) { + if (isset(Yii::$app->getModule('user')->minPasswordRequirements)) { + $minPasswordRequirements = Yii::$app->getModule('user')->minPasswordRequirements; + } + else { + $minPasswordRequirements = [ + 'lower' => 1, + 'digit' => 1, + 'upper' => 1, + ]; + } + } + if (isset($minPasswordRequirements['min']) && $length < $minPasswordRequirements['min']) { + $length = $minPasswordRequirements['min']; + } + foreach ($sets as $setKey => $set) { + if (isset($minPasswordRequirements[$setKey])) { + for ($i = 0; $i < $minPasswordRequirements[$setKey]; $i++) { + $password .= $set[array_rand(str_split($set))]; + } + } $all .= $set; } - + $passwordLength = strlen($password); + if ($passwordLength > $length) { + throw new InvalidConfigException('The minimum length is incompatible with other minimum requirements.'); + } $all = str_split($all); - for ($i = 0; $i < $length - count($sets); ++$i) { + for ($i = 0; $i < $length - $passwordLength; ++$i) { $password .= $all[array_rand($all)]; } - $password = str_shuffle($password); return $password; diff --git a/src/User/Module.php b/src/User/Module.php index 26b8b17..f86c8da 100644 --- a/src/User/Module.php +++ b/src/User/Module.php @@ -210,6 +210,23 @@ class Module extends BaseModule * @var boolean whether to disable IP logging into user table */ public $disableIpLogging = false; + + /** + * @var array Minimum requirements when a new password is automatically generated. + * Array structure: `requirement => minimum number characters`. + * + * Possible array keys: + * - lower: minimum number of lowercase characters; + * - upper: minimum number of uppercase characters; + * - digit: minimum number of digits; + * - special: minimum number of special characters; + * - min: minimum number of characters (= minimum length). + */ + public $minPasswordRequirements = [ + 'lower' => 1, + 'digit' => 1, + 'upper' => 1, + ]; /** * @return string with the hit to be used with the give consent checkbox diff --git a/src/User/Service/ResetPasswordService.php b/src/User/Service/ResetPasswordService.php index 603ef19..93ca756 100644 --- a/src/User/Service/ResetPasswordService.php +++ b/src/User/Service/ResetPasswordService.php @@ -31,6 +31,6 @@ class ResetPasswordService implements ServiceInterface public function run() { $this->model->password = $this->password; - return (bool)$this->model->save(false, ['password_hash']); + return (bool)$this->model->save(false, ['password_hash','password_changed_at']); } } diff --git a/src/User/Service/UserCreateService.php b/src/User/Service/UserCreateService.php index 26b9f59..0466891 100644 --- a/src/User/Service/UserCreateService.php +++ b/src/User/Service/UserCreateService.php @@ -57,7 +57,7 @@ class UserCreateService implements ServiceInterface $model->confirmed_at = time(); $model->password = !empty($model->password) ? $model->password - : $this->securityHelper->generatePassword(8); + : $this->securityHelper->generatePassword(8, $this->getModule('user')->minPasswordRequirements); /** @var UserEvent $event */ $event = $this->make(UserEvent::class, [$model]); @@ -87,6 +87,7 @@ class UserCreateService implements ServiceInterface $model->addError('username', $error_msg); } $transaction->rollBack(); + Yii::error($error_msg, 'usuario'); return false; } $transaction->commit(); diff --git a/src/User/Service/UserRegisterService.php b/src/User/Service/UserRegisterService.php index eb15983..747d9eb 100644 --- a/src/User/Service/UserRegisterService.php +++ b/src/User/Service/UserRegisterService.php @@ -51,7 +51,7 @@ class UserRegisterService implements ServiceInterface try { $model->confirmed_at = $this->getModule()->enableEmailConfirmation ? null : time(); $model->password = $this->getModule()->generatePasswords - ? $this->securityHelper->generatePassword(8) + ? $this->securityHelper->generatePassword(8, $this->getModule('user')->minPasswordRequirements) : $model->password; $event = $this->make(UserEvent::class, [$model]); diff --git a/src/User/resources/i18n/ca/usuario.php b/src/User/resources/i18n/ca/usuario.php index fd3e6ba..0776a37 100644 --- a/src/User/resources/i18n/ca/usuario.php +++ b/src/User/resources/i18n/ca/usuario.php @@ -17,9 +17,6 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '', 'A confirmation message has been sent to your new email address' => '', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => '', @@ -278,30 +275,4 @@ return [ 'Your profile has been updated' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/da/usuario.php b/src/User/resources/i18n/da/usuario.php index fd3e6ba..0776a37 100644 --- a/src/User/resources/i18n/da/usuario.php +++ b/src/User/resources/i18n/da/usuario.php @@ -17,9 +17,6 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '', 'A confirmation message has been sent to your new email address' => '', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => '', @@ -278,30 +275,4 @@ return [ 'Your profile has been updated' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/de-DU/usuario.php b/src/User/resources/i18n/de-DU/usuario.php index 1d38a96..4feceab 100644 --- a/src/User/resources/i18n/de-DU/usuario.php +++ b/src/User/resources/i18n/de-DU/usuario.php @@ -17,70 +17,9 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'An email with instructions to create a new password has been sent to {email} if '. - 'it is associated with an {appName} account. Your existing password has not been changed.' - => 'Eine Email mit Hinweisen, wie ein Kennwort erstellt wurde an {email} gesendet, '. - 'sofern es mit dem Konto {appName} verbunden ist. Das aktuelle Kennwort wurde nicht geändert.', - 'Are you sure you wish the user to change their password at next login?' - => 'Bist Du sicher, dass der Benutzer sein Kennwort beim nächsten Anmelden ändern soll?', - 'Back to privacy settings' => 'Zurück zu Privatsphäre-Einstellungen', - 'Data processing consent' => 'Zustimmung zur Datenverarbeitung', - 'Delete my account' => 'Mein Benutzerkonto löschen', - 'Delete personal data' => 'Persönliche Daten löschen', - 'Deleted by GDPR request' => 'Gelöscht gemäß DSGVO-Anforderung', - 'Disable two factor authentication' => 'Zwei-Faktor-Authentifizierung deaktivieren', - 'Download my data' => 'Eigene Daten herunterladen', - 'Enable two factor authentication' => 'Zwei-Faktor-Authentifizierung aktivieren', - 'Export my data' => 'Eigene Daten exportieren', - 'Force password change at next login' => 'Kennwort-Änderung beim nächsten Anmelden erzwingen', - 'Here you can download your personal data in a comma separated values format.' - => 'Hier kannst Du eigene persönliche Daten in Komma-separiertem Format herunterladen', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. '. - 'For more information read our {privacyPolicy}' - => 'Ich stimme der Verarbeitung meiner persönlichen Daten und der Benutzung von Cookies zur '. - 'Vereinfachung der Benutzer dieses Services zu. Weitere Informationen stehen in unserer {privacyPolicy}', - 'Invalid password' => 'Ungültiges Kennwort', - 'Invalid two factor authentication code' => 'Ungültiger Zwei-Faktor-Authentifizierungs-Code', - 'Last login IP' => 'Letzte Anmeldung von IP', - 'Last login time' => 'Letzte Anmeldung', - 'Last password change' => 'Letzte Kennwort-Änderung', - 'Once you have deleted your data, you will not longer be able to sign in with this account.' - => 'Wenn Du die eigenen Daten gelöscht hast, kannst Du Dich mit diesem Benutzernamen nicht mehr anmelden.', - 'Password age' => 'Kennwort-Alter', - 'Privacy' => 'Privatsphäre', - 'Privacy settings' => 'Privatsphäre-Einstellungen', - 'Rule class name' => 'Regel-Klassen-Name', - 'Select rule...' => 'Regel auswählen...', - 'There was an error in saving user' => 'Fehler beim Speichern des Benutzers', - 'This will disable two factor authentication. Are you sure?' - => 'Hiermit deaktivierst Du die Zwei-Faktor-Authentifizierung. Bist Du sicher?', - 'This will remove your personal data from this site. You will no longer be able to sign in.' - => 'Hiermit löschst Du Deine persönlichen Daten von diesem Service. '. - 'Du wirst Dich dann nicht mehr anmelden können.', - 'Two Factor Authentication (2FA)' => 'Zwei-Faktor-Authentifizierung (2FA)', - 'Two factor authentication code' => 'Zwei-Faktor-Authentifizierungs-Code', - 'Two factor authentication has been disabled.' => 'Zwei-Faktor-Authentifizierung wurde deaktiviert', - 'Two factor authentication protects you in case of stolen credentials' - => 'Zwei-Faktor-Authentifizierung schützt Dich bei gestohlenen Zugangsdaten', - 'Two factor authentication successfully enabled.' => 'Zwei-Faktor-Authentifizierung wurde erfolgreich aktiviert', - 'Unable to disable Two factor authentication.' - => 'Fehler beim Deaktivieren der Zwei-Faktor-Authentifizierung', - 'User will be required to change password at next login' - => 'Der Benutzer muss bei der nächsten Aneldung sein kennwort ändern', - 'You are about to delete all your personal data from this site.' - => 'Du löschst damit alle persönlichen Daten von diesem Service', - 'Your consent is required to register' => 'Du musst Deine Zustimmung registrieren', - 'Your password has expired, you must change it now' => 'Dein Kennwort ist abgelaufen. Du musst es nun ändern', - 'Your personal information has been removed' => 'Deine persönlichen Daten wurden gelöscht', - 'privacy policy' => 'Datenschutzrichtlinie', - 'A message has been sent to your email address. ' => 'Eine Nachricht wurde an Deine E-Mail Adresse gesendet', '(not set)' => '(nicht gesetzt)', - 'A confirmation message has been sent to your new email address' - => 'Eine Bestätigungsnachricht wurde an Deine neue E-Mail Adresse gesendet', - 'A message has been sent to your email address. It contains a confirmation link that you must '. - 'click to complete registration.' - => 'Eine Nachricht wurde an Deine E-Mail-Adresse gesendet. '. - 'Sie enthält einen Bestätigungslink den Du anklicken musst, um die Registrierung abzuschließen.', + 'A confirmation message has been sent to your new email address' => 'Eine Bestätigungsnachricht wurde an Deine neue E-Mail Adresse gesendet', + 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => 'Eine Nachricht wurde an Deine E-Mail-Adresse gesendet. Sie enthält einen Bestätigungslink den Du anklicken musst, um die Registrierung abzuschließen.', 'A new confirmation link has been sent' => 'Ein neuer Bestätigungs-Link wurde versendet', 'A password will be generated automatically if not provided' => 'Leer lassen, um automatisch ein Passwort zu generieren', 'Account' => 'Konto', @@ -89,12 +28,14 @@ return [ 'Account details have been updated' => 'Kontodetails gespeichert', 'Account settings' => 'Kontoeinstellungen', 'Already registered? Sign in!' => 'Bereits registriert? Zur Anmeldung!', + 'An email with instructions to create a new password has been sent to {email} if it is associated with an {appName} account. Your existing password has not been changed.' => 'Eine Email mit Hinweisen, wie ein Kennwort erstellt wurde an {email} gesendet, sofern es mit dem Konto {appName} verbunden ist. Das aktuelle Kennwort wurde nicht geändert.', 'An error occurred processing your request' => 'Es ist ein Fehler aufgetreten', 'Are you sure you want to block this user?' => 'Bist Du sicher, dass Du diesen Benutzer blockieren willst?', 'Are you sure you want to confirm this user?' => 'Bist Du sicher, dass Du diesen Benutzer bestätigen willst?', 'Are you sure you want to delete this user?' => 'Bist Du sicher, dass Du diesen Benutzer löschen willst?', 'Are you sure you want to switch to this user for the rest of this Session?' => 'Bist Du sicher, dass Du zu diesem Benutzer zu wechseln willst für den Rest dieser Session?', 'Are you sure you want to unblock this user?' => 'Bist Du sicher, dass Du diesen Benutzer wieder freischalten willst?', + 'Are you sure you wish the user to change their password at next login?' => 'Bist Du sicher, dass der Benutzer sein Kennwort beim nächsten Anmelden ändern soll?', 'Are you sure you wish to send a password recovery email to this user?' => 'Bist Du sicher, dass Du eine Passwortwiederherstellungs-Mail an diesen Benutzer senden möchtest?', 'Are you sure? Deleted user can not be restored' => 'Bist Du sicher? Gelöschte Benutzer können nicht wiederhergestellt werden', 'Are you sure? There is no going back' => 'Bist Du sicher? Es gibt kein Zurück', @@ -110,6 +51,7 @@ return [ 'Authorization rule has been updated.' => 'Berechtigungsregel wurde gespeichert.', 'Awesome, almost there. Now you need to click the confirmation link sent to your new email address.' => 'Fast geschafft. Nun musst Du nur noch den Aktivierungslink anklicken, der an Deine neue E-Mail Adresse gesendet wurde.', 'Awesome, almost there. Now you need to click the confirmation link sent to your old email address.' => 'Fast geschafft. Nun musst Du nur noch den Aktivierungslink anklicken, der an Deine alte E-Mail Adresse gesendet wurde.', + 'Back to privacy settings' => 'Zurück zu Privatsphäre-Einstellungen', 'Bio' => 'Bio', 'Block' => 'Blockieren', 'Block status' => 'Blockadestatus', @@ -140,24 +82,35 @@ return [ 'Credentials will be sent to the user by email' => 'Die Zugangsdaten werden dem Nutzer per E-Mail gesendet', 'Current password' => 'Aktuelles Passwort', 'Current password is not valid' => 'Das aktuelle Passwort ist nicht korrekt', + 'Data processing consent' => 'Zustimmung zur Datenverarbeitung', 'Delete' => 'Löschen', 'Delete account' => 'Konto Löschen', + 'Delete my account' => 'Mein Benutzerkonto löschen', + 'Delete personal data' => 'Persönliche Daten löschen', + 'Deleted by GDPR request' => 'Gelöscht gemäß DSGVO-Anforderung', 'Description' => 'Beschreibung', 'Didn\'t receive confirmation message?' => 'Bestätigungs-Mail nicht empfangen?', + 'Disable two factor authentication' => 'Zwei-Faktor-Authentifizierung deaktivieren', 'Disconnect' => 'Trennen', 'Don\'t have an account? Sign up!' => 'Du hast noch kein Konto? Registrieren!', + 'Download my data' => 'Eigene Daten herunterladen', 'Email' => 'E-Mail', 'Email (public)' => 'E-Mail (öffentlich)', 'Enable' => 'aktivieren', + 'Enable two factor authentication' => 'Zwei-Faktor-Authentifizierung aktivieren', 'Error occurred while changing password' => 'Fehler beim Ändern des Passworts', 'Error occurred while confirming user' => 'Fehler beim Bestätigen des Benutzers', 'Error occurred while deleting user' => 'Fehler beim Löschen des Benutzers', 'Error sending registration message to "{email}". Please try again later.' => 'Fehler beim Senden der Registrierungsnachricht an "{email}". Bitte später noch einmal probieren.', 'Error sending welcome message to "{email}". Please try again later.' => 'Fehler beim Senden der Willkommensnachricht an "{email}". Bitte später noch einmal probieren.', + 'Export my data' => 'Eigene Daten exportieren', 'Finish' => 'Fertig', + 'Force password change at next login' => 'Kennwort-Änderung beim nächsten Anmelden erzwingen', 'Forgot password?' => 'Passwort vergessen?', 'Gravatar email' => 'Gravatar E-Mail', 'Hello' => 'Hallo', + 'Here you can download your personal data in a comma separated values format.' => 'Hier kannst Du eigene persönliche Daten in Komma-separiertem Format herunterladen', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Ich stimme der Verarbeitung meiner persönlichen Daten und der Benutzung von Cookies zur Vereinfachung der Benutzer dieses Services zu. Weitere Informationen stehen in unserer {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Wenn Du Dich bereits registriert hast, melde Dich an und verbinde dieses Konto auf der Einstellungs-Seite', 'If you cannot click the link, please try pasting the text into your browser' => 'Wenn Du den Link nicht anklicken kannst, versuche, diesen in Deine Browser-Leiste einzufügen', 'If you did not make this request you can ignore this email' => 'Wenn Sie diese Anfrage nicht gemacht haben, können Sie diese E-Mail ignorieren', @@ -168,10 +121,15 @@ return [ 'Information' => 'Information', 'Invalid login or password' => 'Falscher Login oder falsches Passwort', 'Invalid or expired link' => 'Falscher oder abgelaufener Link', + 'Invalid password' => 'Ungültiges Kennwort', + 'Invalid two factor authentication code' => 'Ungültiger Zwei-Faktor-Authentifizierungs-Code', 'Invalid value' => 'Falscher Wert', 'It will be deleted forever' => 'Es wird dauerhaft gelöscht', 'Items' => 'Elemente', 'Joined on {0, date}' => 'Mitglies seit {0, date}', + 'Last login IP' => 'Letzte Anmeldung von IP', + 'Last login time' => 'Letzte Anmeldung', + 'Last password change' => 'Letzte Kennwort-Änderung', 'Location' => 'Ort', 'Login' => 'Anmelden', 'Logout' => 'Abmelden', @@ -188,12 +146,16 @@ return [ 'Not blocked' => 'Nicht geblockt', 'Not found' => 'Nicht gefunden', 'Once you delete your account, there is no going back' => 'Wenn Du Dein Konto gelöscht hast, gibt es kein zurück mehr', + 'Once you have deleted your data, you will not longer be able to sign in with this account.' => 'Wenn Du die eigenen Daten gelöscht hast, kannst Du Dich mit diesem Benutzernamen nicht mehr anmelden.', 'Password' => 'Passwort', + 'Password age' => 'Kennwort-Alter', 'Password has been changed' => 'Passwort wurde geändert', 'Permissions' => 'Berechtigungen', 'Please be certain' => 'Bist Du wirklich sicher?', 'Please click the link below to complete your password reset' => 'Bitte klicke den Link unten, um Deine Passwort-Wiederherstellung abzuschließen', 'Please fix following errors:' => 'Bitte behebe die folgenden Fehler', + 'Privacy' => 'Privatsphäre', + 'Privacy settings' => 'Privatsphäre-Einstellungen', 'Profile' => 'Profil', 'Profile details' => 'Profildetails', 'Profile details have been updated' => 'Profildetails wurden gespeichert', @@ -213,6 +175,7 @@ return [ 'Roles' => 'Rollen', 'Rule' => 'Regel', 'Rule class must extend "yii\\rbac\\Rule".' => 'Regelklasse muss "yii\\rbac\\Rule" erweitern.', + 'Rule class name' => 'Regel-Klassen-Name', 'Rule name' => 'Regelname', 'Rule name {0} is already in use' => 'Regelname {0} bereits in Benutzung', 'Rule {0} does not exists' => 'Regel {0} existiert nicht', @@ -220,6 +183,7 @@ return [ 'Rules' => 'Regeln', 'Save' => 'Speichern', 'Scan the QrCode with Google Authenticator App, then insert its temporary code on the box and submit.' => 'Scanne den Qr-Code mit der Google Authenticator App, dann füge den temporären Schlüssel in das Feld und sende es ab.', + 'Select rule...' => 'Regel auswählen...', 'Send password recovery email' => 'Sende Mail zur Passwortwiederherstellung', 'Sign in' => 'Anmelden', 'Sign up' => 'Registrieren', @@ -231,16 +195,25 @@ return [ 'The confirmation link is invalid or expired. Please try requesting a new one.' => 'Dein Aktivierungslink ist falsch oder abgelaufen. Bitte fordere einen neuen an.', 'The verification code is incorrect.' => 'Der Verifizierungsschlüssel ist ungültig.', 'There is neither role nor permission with name "{0}"' => 'Es gibt weder eine Rolle noch eine Berechtigung mit dem Namen "{0}"', + 'There was an error in saving user' => 'Fehler beim Speichern des Benutzers', 'This account has already been connected to another user' => 'Dieses Konto wurde bereits von einem anderen Benutzer verbunden', 'This email address has already been taken' => 'Die E-Mail Adresse ist bereits vergeben', 'This username has already been taken' => 'Dieser Benutzername ist bereits vergeben', + 'This will disable two factor authentication. Are you sure?' => 'Hiermit deaktivierst Du die Zwei-Faktor-Authentifizierung. Bist Du sicher?', + 'This will remove your personal data from this site. You will no longer be able to sign in.' => 'Hiermit löschst Du Deine persönlichen Daten von diesem Service. Du wirst Dich dann nicht mehr anmelden können.', 'Time zone' => 'Zeitzone', 'Time zone is not valid' => 'Zeitzone ist ungültig', + 'Two Factor Authentication (2FA)' => 'Zwei-Faktor-Authentifizierung (2FA)', + 'Two factor authentication code' => 'Zwei-Faktor-Authentifizierungs-Code', + 'Two factor authentication has been disabled.' => 'Zwei-Faktor-Authentifizierung wurde deaktiviert', + 'Two factor authentication protects you in case of stolen credentials' => 'Zwei-Faktor-Authentifizierung schützt Dich bei gestohlenen Zugangsdaten', + 'Two factor authentication successfully enabled.' => 'Zwei-Faktor-Authentifizierung wurde erfolgreich aktiviert', 'Unable to confirm user. Please, try again.' => 'Der Benutzer konnte nicht bestätigt werden. Bitte versuche es nochmal.', 'Unable to create an account.' => 'Konto konnte nicht erstellt werden', 'Unable to create authorization item.' => 'Authorization Item konnte nicht erstellt werden', 'Unable to create new authorization rule.' => 'Es ist nicht möglich, eine neue Authentifizierungsregel zu erstellen.', 'Unable to delete user. Please, try again later.' => 'Benutzer konnte nicht gelöscht werden.', + 'Unable to disable Two factor authentication.' => 'Fehler beim Deaktivieren der Zwei-Faktor-Authentifizierung', 'Unable to remove authorization item.' => 'Authentifizierung-Item konnte nicht gelöscht werden.', 'Unable to send confirmation link' => 'Konnte Bestätigungslink nicht versenden', 'Unable to send recovery message to the user' => 'Wiederherstellungsnachricht konnte nicht an den Benutzer zu gesendet werden.', @@ -264,6 +237,7 @@ return [ 'User has been deleted' => 'Benutzer wurde gelöscht', 'User is not found' => 'Benutzer wurde nicht gefunden', 'User not found.' => 'Benutzer nicht gefunden.', + 'User will be required to change password at next login' => 'Der Benutzer muss bei der nächsten Aneldung sein kennwort ändern', 'Username' => 'Benutzername', 'Users' => 'Benutzer', 'VKontakte' => 'VKontakte', @@ -276,6 +250,7 @@ return [ 'Website' => 'Webseite', 'Welcome to {0}' => 'Willkommen auf {0}', 'Yandex' => 'Yandex', + 'You are about to delete all your personal data from this site.' => 'Du löschst damit alle persönlichen Daten von diesem Service', 'You can assign multiple roles or permissions to user by using the form below' => 'Du kannst mehrere Rollen oder Berechtigungen zuweisen', 'You can connect multiple accounts to be able to log in using them' => 'Du kannst mehrere Konten verbinden und sich mit diesen anmelden', 'You cannot remove your own account' => 'Du kannst Dein eigenes Konto nicht löschen', @@ -289,9 +264,19 @@ return [ 'Your account has been created and a message with further instructions has been sent to your email' => 'Dein Konto wurde erstellt und eine Nachricht mit weiteren Anweisungen wurde an Deine E-Mail Adresse gesendet', 'Your account on {0} has been created' => 'Ihr Konto auf {0} wurde erstellt', 'Your confirmation token is invalid or expired' => 'Dein Bestätigungs-Token ist falsch oder abgelaufen', + 'Your consent is required to register' => 'Du musst Deine Zustimmung registrieren', 'Your email address has been changed' => 'Deine E-Mail Adresse wurde geändert', + 'Your password has expired, you must change it now' => 'Dein Kennwort ist abgelaufen. Du musst es nun ändern', + 'Your personal information has been removed' => 'Deine persönlichen Daten wurden gelöscht', 'Your profile has been updated' => 'Dein Profil wurde gespeichert', + 'privacy policy' => 'Datenschutzrichtlinie', '{0, date, MMM dd, YYYY HH:mm}' => '{0, date, dd. MMM YYYY, HH:mm}', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, dd. MMMM YYYY, HH:mm}', '{0} cannot be blank.' => '{0} darf nicht leer sein.', + 'According to the European General Data Protection Regulation (GDPR) we need your consent to work with your personal data.' => '', + 'Data privacy' => '', + 'Submit' => '', + 'Unfortunately, you can not work with this site without giving us consent to process your data.' => '', + 'Your consent is required to work with this site' => '', + 'A message has been sent to your email address. ' => '@@Eine Nachricht wurde an Deine E-Mail Adresse gesendet@@', ]; diff --git a/src/User/resources/i18n/de/usuario.php b/src/User/resources/i18n/de/usuario.php index 222f7f8..c4ab007 100644 --- a/src/User/resources/i18n/de/usuario.php +++ b/src/User/resources/i18n/de/usuario.php @@ -18,13 +18,9 @@ */ return [ '(not set)' => '(nicht gesetzt)', - 'A confirmation message has been sent to your new email address' - => 'Eine Bestätigungsnachricht wurde an Ihre neue E-Mail Adresse versendet', - 'A message has been sent to your email address. It contains a confirmation link that you must '. - 'click to complete registration.' - => 'Eine Nachricht wurde an Ihre E-Mail-Adresse gesendet. '. - 'Sie enthält einen Bestätigungslink den Sie anklicken müssen, um die Registrierung abzuschließen.', - 'A new confirmation link has been sent' => 'Ein neuer Bestätigungs-Link wurde versendet', + 'A confirmation message has been sent to your new email address' => 'Eine Bestätigungsnachricht wurde an Ihre neue E-Mail-Adresse versendet', + 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => 'Eine Nachricht wurde an Ihre E-Mail-Adresse gesendet. Sie enthält einen Bestätigungslink, den Sie anklicken müssen, um die Registrierung abzuschließen.', + 'A new confirmation link has been sent' => 'Ein neuer Bestätigungslink wurde versendet', 'A password will be generated automatically if not provided' => 'Leer lassen, um automatisch ein Passwort zu generieren', 'Account' => 'Konto', 'Account confirmation' => 'Kontobestätigung', @@ -32,17 +28,15 @@ return [ 'Account details have been updated' => 'Kontodetails gespeichert', 'Account settings' => 'Kontoeinstellungen', 'Already registered? Sign in!' => 'Bereits registriert? Zur Anmeldung!', - 'An email with instructions to create a new password has been sent to {email} if it is associated with an {appName} account. Your existing password has not been changed.' => - 'Eine E-Mail mit Hinweisen, wie ein Kennwort erstellt wird wurde an {email} gesendet, '. - 'sofern es mit dem Konto {appName} verbunden ist. Das aktuelle Kennwort wurde nicht geändert.', + 'An email with instructions to create a new password has been sent to {email} if it is associated with an {appName} account. Your existing password has not been changed.' => 'Eine E-Mail mit Hinweisen, wie ein Kennwort erstellt wird, wurde an {email} gesendet, sofern es mit dem Konto {appName} verbunden ist. Das aktuelle Kennwort wurde nicht geändert.', 'An error occurred processing your request' => 'Es ist ein Fehler aufgetreten', 'Are you sure you want to block this user?' => 'Sind Sie sicher, dass Sie diesen Benutzer blockieren wollen?', 'Are you sure you want to confirm this user?' => 'Sind Sie sicher, dass Sie diesen Benutzer bestätigen wollen?', 'Are you sure you want to delete this user?' => 'Sind Sie sicher, dass Sie diesen Benutzer löschen wollen?', - 'Are you sure you want to switch to this user for the rest of this Session?' => 'Sind Sie sicher, dass Sie zu diesem Benutzer zu wechseln möchten für den Rest dieser Session?', + 'Are you sure you want to switch to this user for the rest of this Session?' => 'Sind Sie sicher, dass Sie zu diesem Benutzer für den Rest der Session wechseln möchten?', 'Are you sure you want to unblock this user?' => 'Sind Sie sicher, dass Sie diesen Benutzer wieder freischalten wollen?', - 'Are you sure you wish the user to change their password at next login?' => 'Sind Sie sicher, dass der benutzer sein Kennwort beim nächsten Anmeldenändern soll?', - 'Are you sure you wish to send a password recovery email to this user?' => 'Sind Sie sicher, dass Sie eine Passwortwiederherstellungs-Mail an diesen Benutzer senden möchten?', + 'Are you sure you wish the user to change their password at next login?' => 'Sind Sie sicher, dass der Benutzer sein Kennwort beim nächsten Anmelden ändern soll?', + 'Are you sure you wish to send a password recovery email to this user?' => 'Sind Sie sicher, dass Sie eine E-Mail zur Passwortwiederherstellung an diesen Benutzer senden möchten?', 'Are you sure? Deleted user can not be restored' => 'Sind Sie sicher? Gelöschte Benutzer können nicht wiederhergestellt werden', 'Are you sure? There is no going back' => 'Sind Sie sicher? Es gibt kein Zurück', 'Assignments' => 'Zuordnungen', @@ -55,15 +49,15 @@ return [ 'Authorization rule has been added.' => 'Berechtigungsregel wurde hinzugefügt.', 'Authorization rule has been removed.' => 'Berechtigungsregel wurde entfernt.', 'Authorization rule has been updated.' => 'Berechtigungsregel wurde gespeichert.', - 'Awesome, almost there. Now you need to click the confirmation link sent to your new email address.' => 'Fast geschafft. Nun müssen Sie nur noch den Aktivierungslink besuchen, der an ihre neue E-Mail Adresse gesendet wurde.', - 'Awesome, almost there. Now you need to click the confirmation link sent to your old email address.' => 'Fast geschafft. Nun müssen Sie nur noch den Aktivierungslink besuchen, der an ihre alte E-Mail Adresse gesendet wurde.', + 'Awesome, almost there. Now you need to click the confirmation link sent to your new email address.' => 'Fast geschafft. Nun müssen Sie nur noch den Aktivierungslink besuchen, der an ihre neue E-Mail-Adresse gesendet wurde.', + 'Awesome, almost there. Now you need to click the confirmation link sent to your old email address.' => 'Fast geschafft. Nun müssen Sie nur noch den Aktivierungslink besuchen, der an ihre alte E-Mail-Adresse gesendet wurde.', 'Back to privacy settings' => 'Zurück zu Privatsphäre-Einstellungen', 'Bio' => 'Bio', 'Block' => 'Blockieren', - 'Block status' => 'Blockadestatus', + 'Block status' => 'Blockstatus', 'Blocked at {0, date, MMMM dd, YYYY HH:mm}' => 'Blockiert am {0, date, dd. MMMM YYYY, HH:mm}', 'Cancel' => 'Abbrechen', - 'Cannot assign role "{0}" as the AuthManager is not configured on your console application.' => 'Kann die Rolle "{0}" nicht zuordnen da der AuthManager in der Console Application nicht konfiguriert ist.', + 'Cannot assign role "{0}" as the AuthManager is not configured on your console application.' => 'Kann die Rolle "{0}" nicht zuordnen da, der AuthManager in der Konsolen Applikation nicht konfiguriert ist.', 'Change your avatar at Gravatar.com' => 'Ändern Sie ihren Avatar auf Gravatar.com', 'Children' => 'Unterelemente', 'Class' => 'Klasse', @@ -116,15 +110,14 @@ return [ 'Gravatar email' => 'Gravatar E-Mail', 'Hello' => 'Hallo', 'Here you can download your personal data in a comma separated values format.' => 'Hier können Sie eigene persönliche Daten in komma-separiertem Format herunterladen', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Ich stimme der Verarbeitung meiner persönlichen Daten und der Benutzung von Cookies zur Vereinfachung der Benutzer dieses Services zu. Weitere Informationen stehen in unserer {privacyPolicy}@@', - 'If you already registered, sign in and connect this account on settings page' => 'Wenn Sie sich bereits registriert haben, melden Sie sich an und verbinden Sie dieses Konto auf der Einstellungs-Seite', - 'If you cannot click the link, please try pasting the text into your browser' => 'Wenn Sie den Link nicht anklicken können, versuchen Sie, diesen in ihre Browser-Leiste einzufügen', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Ich stimme der Verarbeitung meiner persönlichen Daten und der Benutzung von Cookies zur Vereinfachung der Benutzer dieser Webseite zu. Weitere Informationen stehen in unserer {privacyPolicy}', + 'If you already registered, sign in and connect this account on settings page' => 'Wenn Sie bereits registriert sind, melden Sie sich an und verbinden Sie dieses Konto auf der Einstellungsseite', + 'If you cannot click the link, please try pasting the text into your browser' => 'Wenn Sie den Link nicht anklicken können, versuchen Sie, diesen in ihre Browserleiste einzufügen', 'If you did not make this request you can ignore this email' => 'Wenn Sie diese Anfrage nicht gemacht haben, können Sie diese E-Mail ignorieren', 'Impersonate this user' => 'Wechsle zu diesem Benutzer', - 'In order to complete your registration, please click the link below' => 'Um Ihre Registrierung abzuschliessen, klicken Sie bitte auf den Link unten', + 'In order to complete your registration, please click the link below' => 'Um Ihre Registrierung abzuschließen, klicken Sie bitte auf den folgenden Link', 'In order to complete your request, please click the link below' => 'Um Ihre Anfrage abzuschliessen, klicken Sie bitte auf den Link unten', 'In order to finish your registration, we need you to enter following fields' => 'Um Ihre Registrierung abzuschliessen, müssen Sie noch die folgenden Felder ausfüllen', - 'Information' => 'Information', 'Invalid login or password' => 'Falscher Login oder falsches Passwort', 'Invalid or expired link' => 'Falscher oder abgelaufener link', 'Invalid password' => 'Ungültiges Kennwort', @@ -135,7 +128,7 @@ return [ 'Joined on {0, date}' => 'Mitglied seit {0, date}', 'Last login IP' => 'Letzte Anmeldung von IP', 'Last login time' => 'Letzte Anmeldung', - 'Last password change' => 'Letzte Kennwort-Änderung', + 'Last password change' => 'Letzte Passwortänderung', 'Location' => 'Ort', 'Login' => 'Anmelden', 'Logout' => 'Abmelden', @@ -158,25 +151,25 @@ return [ 'Password has been changed' => 'Passwort wurde geändert', 'Permissions' => 'Berechtigungen', 'Please be certain' => 'Sind Sie sich wirklich sicher?', - 'Please click the link below to complete your password reset' => 'Bitte klicken Sie auf den Link unten um ihre Passwort-Wiederherstellung abzuschliessen', + 'Please click the link below to complete your password reset' => 'Bitte klicken Sie auf den folgenden Link, um das Zurücksetzen Ihres Passworts abzuschließen', 'Please fix following errors:' => 'Bitte beheben Sie die folgenden Fehler', 'Privacy' => 'Privatsphäre', 'Privacy settings' => 'Privatsphäre-Einstellungen', 'Profile' => 'Profil', - 'Profile details' => 'Profildetails', - 'Profile details have been updated' => 'Profildetails wurden gespeichert', - 'Profile settings' => 'Profileinstellungen', + 'Profile details' => 'Profil-Details', + 'Profile details have been updated' => 'Profil-Details wurden gespeichert', + 'Profile settings' => 'Profil-Einstellungen', 'Recover your password' => 'Passwort wiederherstellen', - 'Recovery link is invalid or expired. Please try requesting a new one.' => 'Wiederherstellungs-Link ist falsch oder abgelaufen. Bitte fordern Sie einen neuen an', - 'Recovery message sent' => 'Wiederherstellungs-Nachricht wurde gesendet', + 'Recovery link is invalid or expired. Please try requesting a new one.' => 'Wiederherstellungslink ist falsch oder abgelaufen. Bitte fordern Sie einen neuen an', + 'Recovery message sent' => 'Wiederherstellungsnachricht gesendet', 'Registration IP' => 'Registrierungs-IP', 'Registration on this website is disabled' => 'Die Registrierung auf dieser Webseite ist deaktiviert', 'Registration time' => 'Registrierungszeit', - 'Remember me next time' => 'Anmeldung für das nächste mal merken', + 'Remember me next time' => 'Anmeldung für das nächste Mal merken', 'Request new confirmation message' => 'Neuen Wiederherstellungs-Link anfordern', 'Required "key" cannot be empty.' => 'Erforderlicher "key" darf nicht leer sein.', 'Required "secret" cannot be empty.' => 'Erforderliches "secret" darf nicht leer sein.', - 'Reset your password' => 'Passwort wiederherstellen', + 'Reset your password' => 'Ihr Passwort zurücksetzen', 'Role "{0}" not found. Creating it.' => 'Rolle "{0}" nicht gefunden. Erstelle diese.', 'Roles' => 'Rollen', 'Rule' => 'Regel', @@ -193,7 +186,7 @@ return [ 'Send password recovery email' => 'Sende Mail zur Passwortwiederherstellung', 'Sign in' => 'Anmelden', 'Sign up' => 'Registrieren', - 'Something went wrong' => 'Etwas ist schiefgelaufen', + 'Something went wrong' => 'Etwas ist schief gelaufen', 'Switch identities is disabled.' => 'Identitäten wechseln ist deaktiviert.', 'Thank you for signing up on {0}' => 'Danke für ihre Registrierung auf {0}', 'Thank you, registration is now complete.' => 'Danke, ihre Registrierung ist nun abgeschlossen.', @@ -201,22 +194,22 @@ return [ 'The confirmation link is invalid or expired. Please try requesting a new one.' => 'Ihr Aktivierungslink ist falsch oder abgelaufen. Bitte fordern Sie einen neuen an.', 'The verification code is incorrect.' => 'Der Verifizierungsschlüssel ist ungültig.', 'There is neither role nor permission with name "{0}"' => 'Es gibt weder eine Rolle noch eine Berechtigung mit dem Namen "{0}"', - 'There was an error in saving user' => 'Fehler beim Speichern des Benutzers', + 'There was an error in saving user' => 'Es gab einen Fehler beim Speichern des Benutzers', 'This account has already been connected to another user' => 'Dieses Konto wurde bereits von einem anderen Benutzer verbunden', - 'This email address has already been taken' => 'Die E-Mail Adresse ist bereits vergeben', + 'This email address has already been taken' => 'Die E-Mail-Adresse ist bereits vergeben', 'This username has already been taken' => 'Dieser Benutzername ist bereits vergeben', 'This will disable two factor authentication. Are you sure?' => 'Hiermit deaktivieren Sie die Zwei-Faktor-Authentifizierung. Sind Sie sicher?', - 'This will remove your personal data from this site. You will no longer be able to sign in.' => 'Hiermit löschen Sie Ihre persönlichen Daten von diesem Service. Sie werden sich nun nicht mehr anmelden können.', + 'This will remove your personal data from this site. You will no longer be able to sign in.' => 'Hiermit löschen Sie Ihre persönlichen Daten von dieser Webseite. Sie werden sich nun nicht mehr anmelden können.', 'Time zone' => 'Zeitzone', 'Time zone is not valid' => 'Zeitzone ist ungültig', 'Two Factor Authentication (2FA)' => 'Zwei-Faktor-Authentifizierung (2FA)', 'Two factor authentication code' => 'Zwei-Faktor-Authentifizierungs-Code', 'Two factor authentication has been disabled.' => 'Zwei-Faktor-Authentifizierung wurde deaktiviert', - 'Two factor authentication protects you in case of stolen credentials' => 'Zwei-Faktor-Authentifizierung schützt Sie bei gestohlenen Zugangsdaten', + 'Two factor authentication protects you in case of stolen credentials' => 'Zwei-Faktor-Authentifizierung schützt Sie im Fall von gestohlenen Zugangsdaten', 'Two factor authentication successfully enabled.' => 'Zwei-Faktor-Authentifizierung wurde erfolgreich aktiviert', 'Unable to confirm user. Please, try again.' => 'Der Benutzer konnte nicht bestätigt werden. Bitte versuchen Sie es erneut.', 'Unable to create an account.' => 'Konto konnte nicht erstellt werden', - 'Unable to create authorization item.' => 'Authorization Item konnte nicht erstellt werden', + 'Unable to create authorization item.' => 'Authentifizierungselement kann nicht erstellt werden', 'Unable to create new authorization rule.' => 'Unfähig eine neue Authentifizierungsregel zu erstellen.', 'Unable to delete user. Please, try again later.' => 'Benutzer konnte nicht gelöscht werden.', 'Unable to disable Two factor authentication.' => 'Fehler beim Deaktivieren der Zwei-Faktor-Authentifizierung', @@ -243,24 +236,24 @@ return [ 'User has been deleted' => 'Benutzer wurde gelöscht', 'User is not found' => 'Benutzer wurde nicht gefunden', 'User not found.' => 'Benutzer nicht gefunden.', - 'User will be required to change password at next login' => 'Der Benutzer wird bei der nchsten Aneldung zur Kennwort-Änderungen gezwungen', + 'User will be required to change password at next login' => 'Der Benutzer wird bei der nächsten Aneldung zur Kennwort-Änderungen gezwungen', 'Username' => 'Benutzername', 'Users' => 'Benutzer', 'VKontakte' => 'VKontakte', 'Verification failed. Please, enter new code.' => 'Verifizierung fehlgeschlagen. Bitte einen neuen Schlüssel eingeben.', 'We couldn\'t re-send the mail to confirm your address. Please, verify is the correct email or if it has been confirmed already.' => 'Wir konnten die Mail zur Bestätigung Ihrer Adresse nicht noch einmal senden. Bitte kontrollieren Sie ob die E-Mail-Adresse korrekt ist oder diese bereits bestätigt wurde.', 'We have generated a password for you' => 'Ein Passwort wurde für Sie generiert', - 'We have received a request to change the email address for your account on {0}' => 'Wir haben eine Anfrage, ihre E-Mail Adresse auf {0} zu verändern, bekommen', + 'We have received a request to change the email address for your account on {0}' => 'Wir haben eine Anfrage, ihre E-Mail-Adresse auf {0} zu verändern, bekommen', 'We have received a request to reset the password for your account on {0}' => 'Wir haben eine Anfrage, ihr Passwort auf {0} wiederherzustellen, bekommen', 'We have sent confirmation links to both old and new email addresses. You must click both links to complete your request.' => 'Wir haben Ihnen Bestätigungslinks an die alte und neue E-Mail-Adresse geschickt. Sie müssen beide Links anklicken um die Anfrage fertigzustellen.', 'Website' => 'Webseite', 'Welcome to {0}' => 'Willkommen auf {0}', 'Yandex' => 'Yandex', - 'You are about to delete all your personal data from this site.' => 'Sie löschen damit alle persönlichen Daten von diesem Service', - 'You can assign multiple roles or permissions to user by using the form below' => 'Sie können mehrere Rollen oder Berechtigungen zuweisen', + 'You are about to delete all your personal data from this site.' => 'Sie löschen damit alle persönlichen Daten von dieser Webseite', + 'You can assign multiple roles or permissions to user by using the form below' => 'Sie können dem Benutzer mehrere Rollen oder Berechtigungen zuweisen, indem Sie das folgende Formular verwenden', 'You can connect multiple accounts to be able to log in using them' => 'Sie können mehrere Konten verbinden und sich mit diesen anmelden', 'You cannot remove your own account' => 'Sie können ihr eigenes Konto nicht löschen', - 'You need to confirm your email address' => 'Sie müssen ihre E-Mail Adresse bestätigen', + 'You need to confirm your email address' => 'Sie müssen ihre E-Mail-Adresse bestätigen', 'Your account details have been updated' => 'Ihre Kontodetails wurden gespeichert', 'Your account has been blocked' => 'Ihr Konto wurde blockiert', 'Your account has been blocked.' => 'Ihr Konto wurde blockiert.', @@ -269,14 +262,19 @@ return [ 'Your account has been created' => 'Ihr Konto wurde erstellt', 'Your account has been created and a message with further instructions has been sent to your email' => 'Ihr Konto wurde erstellt und eine Nachricht mit weiteren Anweisungen wurde an ihre E-Mail Adresse versendet', 'Your account on {0} has been created' => 'Ihr Konto auf {0} wurde erstellt', - 'Your confirmation token is invalid or expired' => 'Ihr Bestätigungs-Token ist falsch oder abgelaufen', + 'Your confirmation token is invalid or expired' => 'Ihr Bestätigungstoken ist falsch oder abgelaufen', 'Your consent is required to register' => 'Sie müssen Ihre Zustimmung registrieren', - 'Your email address has been changed' => 'Ihre E-Mail Adresse wurde geändert', - 'Your password has expired, you must change it now' => 'Ihr Kennwort ist abgelaufen. Sie müssen es nun ändern', + 'Your email address has been changed' => 'Ihre E-Mail-Adresse wurde geändert', + 'Your password has expired, you must change it now' => 'Ihr Passwort ist abgelaufen, Sie müssen es jetzt ändern', 'Your personal information has been removed' => 'Ihre persönlichen Daten wurden gelöscht', 'Your profile has been updated' => 'Ihr Profil wurde gespeichert', - 'privacy policy' => '@@Datenschutzrichtlinie@@', + 'privacy policy' => 'Datenschutzrichtlinie', '{0, date, MMM dd, YYYY HH:mm}' => '{0, date, dd. MMM YYYY, HH:mm}', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, dd. MMMM YYYY, HH:mm}', '{0} cannot be blank.' => '{0} darf nicht leer sein.', + 'According to the European General Data Protection Regulation (GDPR) we need your consent to work with your personal data.' => 'Gemäß der europäischen Datenschutzgrundverordnung (DSGVO) benötigen wir Ihre Zustimmung, um mit Ihren personenbezogenen Daten zu arbeiten.', + 'Data privacy' => 'Datenschutz', + 'Submit' => 'Absenden', + 'Unfortunately, you can not work with this site without giving us consent to process your data.' => 'Leider können Sie nicht mit dieser Seite arbeiten, ohne uns die Zustimmung zur Verarbeitung Ihrer Daten zu geben.', + 'Your consent is required to work with this site' => 'Ihre Zustimmung ist erforderlich, um mit dieser Website zu arbeiten', ]; diff --git a/src/User/resources/i18n/es/usuario.php b/src/User/resources/i18n/es/usuario.php index 9e56332..ea4ebc9 100644 --- a/src/User/resources/i18n/es/usuario.php +++ b/src/User/resources/i18n/es/usuario.php @@ -112,7 +112,7 @@ return [ 'Gravatar email' => 'Correo electrónico de Gravatar', 'Hello' => 'Hola', 'Here you can download your personal data in a comma separated values format.' => 'Aquí puede descargar su información personal en formato de valores separados por comas.', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Doy mi consentimiento para el procesamiento de mis datos personales y el uso de «cookies» para facilitar el funcionamiento de este sitio. Para más información lea nuestra {privacyPolicy}@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Doy mi consentimiento para el procesamiento de mis datos personales y el uso de «cookies» para facilitar el funcionamiento de este sitio. Para más información lea nuestra {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Si ya está registrado, inicie sesión y conecte esta cuenta en la página de configuración', 'If you cannot click the link, please try pasting the text into your browser' => 'Si no puede pulsar en el enlace, intente pegar el siguiente texto en su navegador web', 'If you did not make this request you can ignore this email' => 'Si no hizo esta petición, puede ignorar este mensaje', @@ -273,7 +273,7 @@ return [ 'Your password has expired, you must change it now' => 'Su contraseña ha expirado, debe cambiarla ahora', 'Your personal information has been removed' => 'Su información personal ha sido eliminada', 'Your profile has been updated' => 'Su perfil ha sido actualizado', - 'privacy policy' => '@@política de privacidad@@', + 'privacy policy' => 'política de privacidad', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, dd MMMM, YYYY HH:mm}', '{0} cannot be blank.' => '{0} no puede estar vacío.', 'Your consent is required to work with this site' => '', diff --git a/src/User/resources/i18n/et/usuario.php b/src/User/resources/i18n/et/usuario.php index 61eb699..4d748bc 100644 --- a/src/User/resources/i18n/et/usuario.php +++ b/src/User/resources/i18n/et/usuario.php @@ -276,6 +276,6 @@ return [ 'Your consent is required to work with this site' => '', '{0, date, MMM dd, YYYY HH:mm}' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Nõusutn oma isikuandmete töötlemise ning küpsiste kasutamisega, et selle lehe kasutamiset hõlbustada. Lisainfot loe lehelt {privacyPolicy}.@@', - 'privacy policy' => '@@privaatsuspoliitika@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Nõusutn oma isikuandmete töötlemise ning küpsiste kasutamisega, et selle lehe kasutamiset hõlbustada. Lisainfot loe lehelt {privacyPolicy}.', + 'privacy policy' => 'privaatsuspoliitika', ]; diff --git a/src/User/resources/i18n/fa-IR/usuario.php b/src/User/resources/i18n/fa-IR/usuario.php index a695906..f262beb 100644 --- a/src/User/resources/i18n/fa-IR/usuario.php +++ b/src/User/resources/i18n/fa-IR/usuario.php @@ -17,55 +17,29 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '(تنظیم نشده)', 'A confirmation message has been sent to your new email address' => 'ایمیلی برای تایید به آدرس ایمیل جدید شما ارسال شد', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => 'ایمیلی حاوی لینک فعال سازی حساب کاربریتان برای شما ارسال شد ، لطفا بر روی لینک موجود در ایمیل کلیک کنید تا ثبت نام کامل شود.', 'A new confirmation link has been sent' => 'لینک فعال سازی جدیدی برای شما ارسال شد', 'A password will be generated automatically if not provided' => 'اگر رمز عبور را وارد نکنید یک رمز عبور تصادفی برای شما ساخته خواهد شد', - 'According to the European General Data Protection Regulation (GDPR) we need your consent to work with your personal data.' => '', 'Account' => 'حساب کاربری', 'Account confirmation' => 'تایید حساب کاربری', 'Account details' => 'مشخصات حساب کاربری', 'Account details have been updated' => 'جزئیات حساب کاربری بروز شد', 'Account settings' => 'تنظیمات حساب کاربری', 'Already registered? Sign in!' => 'قبلاً ثبت نام کرده اید ؟ پس وارد شوید!', - 'An email with instructions to create a new password has been sent to {email} if it is associated with an {appName} account. Your existing password has not been changed.' => '', 'An error occurred processing your request' => 'در زمان پردازش درخواست شما خطایی رخ داد', 'Are you sure you want to block this user?' => 'آیا از مسدود کردن این کاربر اطمینان دارید ؟', 'Are you sure you want to confirm this user?' => 'آیا از تایید این کاربر اطمینان دارید؟', 'Are you sure you want to delete this user?' => 'آیا از حذف این کاربر اطمینان دارید؟', - 'Are you sure you want to switch to this user for the rest of this Session?' => '', 'Are you sure you want to unblock this user?' => 'آیا از آزاد سازی این کاربر اطمینان دارید؟', - 'Are you sure you wish the user to change their password at next login?' => '', - 'Are you sure you wish to send a password recovery email to this user?' => '', 'Are you sure? Deleted user can not be restored' => 'مطمئن هستید؟ امکان بازیابی اکانت پاک شده وجود ندارد', - 'Are you sure? There is no going back' => '', 'Assignments' => 'تکالیف', - 'Assignments have been updated' => '', - 'Auth item with such name already exists' => '', - 'Authentication rule class {0} can not be instantiated' => '', - 'Authorization item successfully created.' => '', - 'Authorization item successfully removed.' => '', - 'Authorization item successfully updated.' => '', - 'Authorization rule has been added.' => '', - 'Authorization rule has been removed.' => '', - 'Authorization rule has been updated.' => '', - 'Awesome, almost there. Now you need to click the confirmation link sent to your new email address.' => '', - 'Awesome, almost there. Now you need to click the confirmation link sent to your old email address.' => '', - 'Back to privacy settings' => '', 'Bio' => 'بیوگرافی', 'Block' => 'مسدود', 'Block status' => 'وضعیت انسداد', 'Blocked at {0, date, MMMM dd, YYYY HH:mm}' => 'مسدود شده در تاریخ {0, date, MMMM dd, YYYY HH:mm}', - 'Cancel' => '', - 'Cannot assign role "{0}" as the AuthManager is not configured on your console application.' => '', 'Change your avatar at Gravatar.com' => 'نمایه خود را در Gavatar.com تغییر دهید', - 'Children' => '', - 'Class' => '', - 'Close' => '', 'Complete password reset on {0}' => 'تنظیم مجدد رمز عبور را در {0} کامل کنید', 'Confirm' => 'تایید', 'Confirm account on {0}' => 'حساب کاربری را در {0} تایید کن', @@ -79,87 +53,48 @@ return [ 'Continue' => 'ادامه', 'Create' => 'ایجاد کردن', 'Create a user account' => 'ایجاد حساب کاربری', - 'Create new permission' => '', - 'Create new role' => '', - 'Create new rule' => '', - 'Created at' => '', 'Credentials will be sent to the user by email' => 'مشخصات کاربری از طریق ایمیل به کاربر ارسال خواهد شد', 'Current password' => 'رمز عبور فعلی', 'Current password is not valid' => 'رمز عبور فعلی معتبر نیست', - 'Data privacy' => '', - 'Data processing consent' => '', 'Delete' => 'حذف کردن', - 'Delete account' => '', - 'Delete my account' => '', - 'Delete personal data' => '', - 'Deleted by GDPR request' => '', - 'Description' => '', 'Didn\'t receive confirmation message?' => 'ایمیل فعال سازی را دریافت نکرده اید؟', - 'Disable two factor authentication' => '', 'Disconnect' => 'قطع ارتباط', 'Don\'t have an account? Sign up!' => 'هنوز حساب کاربری ندارید؟ پس ثبت نام کنید!', - 'Download my data' => '', 'Email' => 'ایمیل', 'Email (public)' => 'ایمیل (عمومی)', - 'Enable' => '', - 'Enable two factor authentication' => '', 'Error occurred while changing password' => 'در طول تغییر گذرواژه خطا رخ داد', 'Error occurred while confirming user' => 'در طول فعال سازی شناسه کاربری خطا رخ داد', 'Error occurred while deleting user' => 'در زمان حذف کاربر خطایی رخ داد', - 'Error sending registration message to "{email}". Please try again later.' => '', - 'Error sending welcome message to "{email}". Please try again later.' => '', - 'Export my data' => '', 'Finish' => 'پایان', - 'Force password change at next login' => '', 'Forgot password?' => 'رمز عبور خود را فراموش کرده اید؟', 'Gravatar email' => 'ایمیل گاواتار', 'Hello' => 'سلام', - 'Here you can download your personal data in a comma separated values format.' => '', 'If you already registered, sign in and connect this account on settings page' => 'اگر شما قبلا ثبت نام کرده اید وارد شوید و این اکانت را در صفحه تنظیمات متصل کنید', 'If you cannot click the link, please try pasting the text into your browser' => 'اگر برای کلیک بر روی این اکانت مشکلی دارید لطفا آدرس را در مرورگر کپی کنید', 'If you did not make this request you can ignore this email' => 'اگر شما این ایمیل را درخواست نداده اید پس می توانید آن را نادیده بگیرید', - 'Impersonate this user' => '', 'In order to complete your registration, please click the link below' => 'برای کامل کردن ثبت نام خود لطفا بر روی لینک زیر کلیک کنید', 'In order to complete your request, please click the link below' => 'برای کامل کردن درخواست خود لطفا بر روی لینک زیر کلیک کنید', - 'In order to finish your registration, we need you to enter following fields' => '', 'Information' => 'اطلاعات', 'Invalid login or password' => 'نام کاربری یا رمز عبور نامعتبر است', 'Invalid or expired link' => 'لینک فعال سازی معتبر نیست یا منقضی شده است', - 'Invalid password' => '', - 'Invalid two factor authentication code' => '', - 'Invalid value' => '', - 'It will be deleted forever' => '', - 'Items' => '', 'Joined on {0, date}' => 'عضو شده در {0, date}', - 'Last login IP' => '', - 'Last login time' => '', - 'Last password change' => '', 'Location' => 'موقعیت', 'Login' => 'ورود', 'Logout' => 'خروج', 'Manage users' => 'مدیریت کاربران', 'Name' => 'نام', 'Networks' => 'شبکه ها', - 'Never' => '', 'New email' => 'ایمیل جدید', 'New password' => 'رمز عبور جدید', 'New permission' => 'اجازه دسترسی جدید', 'New role' => 'نقش جدید', - 'New rule' => '', 'New user' => 'کاربر جدید', 'Not blocked' => 'مسدود نشده', - 'Not found' => '', - 'Once you delete your account, there is no going back' => '', - 'Once you have deleted your data, you will not longer be able to sign in with this account.' => '', 'Password' => 'رمز عبور', - 'Password age' => '', 'Password has been changed' => 'رمز عبور تغییر پیدا کرد', 'Permissions' => 'اجازه دسترسی', - 'Please be certain' => '', 'Please click the link below to complete your password reset' => 'لطفا برای کامل کردن روند بازیابی رمز عبور بر روی لینک زیر کلیک کنید', 'Please fix following errors:' => 'لطفا خطا های زیر را بر طرف کنید :', - 'Privacy' => '', - 'Privacy settings' => '', 'Profile' => 'پروفایل', 'Profile details' => 'مشخصات پروفایل', 'Profile details have been updated' => 'مشخصات پروفایل بروز شد', @@ -168,15 +103,119 @@ return [ 'Recovery link is invalid or expired. Please try requesting a new one.' => 'ایمیل تنظیم مجدد رمز عبور معتبر نیست یا منقضی شده است. لطفا دوباره درخواست دهید تا ایمیل جدیدی برایتان ارسال شود.', 'Recovery message sent' => 'ایمیل تنظیم مجدد رمز عبور ارسال شد', 'Registration IP' => 'آدرس ای پی ثبت نام', - 'Registration on this website is disabled' => '', 'Registration time' => 'تاریخ ثبت نام', 'Remember me next time' => 'دفعه بعد مرا به یاد بسپار', 'Request new confirmation message' => 'درخواست ایمیل فعال سازی جدید', + 'Reset your password' => 'بازیابی رمز عبور', + 'Roles' => 'نقش ها', + 'Save' => 'ذخیره', + 'Sign in' => 'ورود', + 'Sign up' => 'ثبت نام', + 'Something went wrong' => 'چیز اشتباهی رخ داد', + 'Thank you for signing up on {0}' => 'با تشکر از ثبت نام شما در {0}', + 'Thank you, registration is now complete.' => 'متشکریم ، ثبت نام شما کامل شد.', + 'The confirmation link is invalid or expired. Please try requesting a new one.' => 'لینک تایید معتبر نیست یا منقضی شده است. لطفا دوباره درخواست دهید تا ایمیل جدیدی برایتان ارسال شود.', + 'This account has already been connected to another user' => 'این اکانت قبلا به حساب کاربری دیگری متصل شده است', + 'This email address has already been taken' => 'این آدرس ایمیل قبلا ثبت شده است', + 'This username has already been taken' => 'این نام کاربری قبلا ثبت شده است', + 'Time zone' => 'موقعیت زمانی', + 'Time zone is not valid' => 'موقعبت زمانی معتبر نیست', + 'Unblock' => 'آزاد سازی', + 'Unconfirmed' => 'تایید نشده', + 'Update' => 'بروزرسانی', + 'Update user account' => 'اکانت کاربر را بروز کنید', + 'User has been confirmed' => 'کاربر تایید شد', + 'User has been created' => 'کاربر ساخته شد', + 'User has been deleted' => 'کاربر حذف شد', + 'User is not found' => 'کاربر پیدا نشد', + 'User not found.' => 'کاربر پیدا نشد.', + 'Username' => 'نام کاربری', + 'Users' => 'کاربرها', + 'We have received a request to change the email address for your account on {0}' => 'ما درخواستی برای تغییر آدرس ایمیل اکانت شما در {0} دریافت کرده ایم', + 'We have received a request to reset the password for your account on {0}' => 'ما درخواستی برای تنظیم مجدد رمز عبور برای حساب کاربری شما در {0} دریافت کردیم', + 'Website' => 'وب سایت', + 'Welcome to {0}' => 'خوش آمدید به {0}', + 'Yandex' => 'یاندکس', + 'You can assign multiple roles or permissions to user by using the form below' => 'شما می توانید نقش ها یا مجوز دسترسی های متعددی را از طریق فرم زیر به کاربر تخصیص دهید', + 'You can connect multiple accounts to be able to log in using them' => 'شما می توانید حساب کاربری متعددی را برای اینکه بتوانید با آنها وارد شوید به سیستم متصل کنید', + 'You need to confirm your email address' => 'شما باید ایمیل خود را تایید کنید', + 'Your account details have been updated' => 'مشخصات حساب کاربری شما بروز شد', + 'Your account has been blocked' => 'اکانت شما مسدود شده است', + 'Your account has been blocked.' => 'اکانت شما مسدود شده است.', + 'Your account has been connected' => 'حساب کاربری شما متصل شد', + 'Your account has been created' => 'اکانت شما ساخته شد', + 'Your account has been created and a message with further instructions has been sent to your email' => 'اکانت شما ساخته شد و ایمیلی حاوی دستورالعمل های بعدی به شما ارسال شد', + 'Your account on {0} has been created' => 'حساب کاربری شما در {0} ساخته شد', + 'Your confirmation token is invalid or expired' => 'لینک تایید شما معتبر نیست یا منقضی شده است', + 'Your email address has been changed' => 'آدرس ایمیل شما تغییر کرد', + 'Your profile has been updated' => 'پروفایل شما بروز شد', + '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, dd MMMM, YYYY HH:mm}', + 'According to the European General Data Protection Regulation (GDPR) we need your consent to work with your personal data.' => '', + 'An email with instructions to create a new password has been sent to {email} if it is associated with an {appName} account. Your existing password has not been changed.' => '', + 'Are you sure you want to switch to this user for the rest of this Session?' => '', + 'Are you sure you wish the user to change their password at next login?' => '', + 'Are you sure you wish to send a password recovery email to this user?' => '', + 'Are you sure? There is no going back' => '', + 'Assignments have been updated' => '', + 'Auth item with such name already exists' => '', + 'Authentication rule class {0} can not be instantiated' => '', + 'Authorization item successfully created.' => '', + 'Authorization item successfully removed.' => '', + 'Authorization item successfully updated.' => '', + 'Authorization rule has been added.' => '', + 'Authorization rule has been removed.' => '', + 'Authorization rule has been updated.' => '', + 'Awesome, almost there. Now you need to click the confirmation link sent to your new email address.' => '', + 'Awesome, almost there. Now you need to click the confirmation link sent to your old email address.' => '', + 'Back to privacy settings' => '', + 'Cancel' => '', + 'Cannot assign role "{0}" as the AuthManager is not configured on your console application.' => '', + 'Children' => '', + 'Class' => '', + 'Close' => '', + 'Create new permission' => '', + 'Create new role' => '', + 'Create new rule' => '', + 'Created at' => '', + 'Data privacy' => '', + 'Data processing consent' => '', + 'Delete account' => '', + 'Delete my account' => '', + 'Delete personal data' => '', + 'Deleted by GDPR request' => '', + 'Description' => '', + 'Disable two factor authentication' => '', + 'Download my data' => '', + 'Enable' => '', + 'Enable two factor authentication' => '', + 'Error sending registration message to "{email}". Please try again later.' => '', + 'Error sending welcome message to "{email}". Please try again later.' => '', + 'Export my data' => '', + 'Force password change at next login' => '', + 'Here you can download your personal data in a comma separated values format.' => '', + 'Impersonate this user' => '', + 'In order to finish your registration, we need you to enter following fields' => '', + 'Invalid password' => '', + 'Invalid two factor authentication code' => '', + 'Invalid value' => '', + 'It will be deleted forever' => '', + 'Items' => '', + 'Last login IP' => '', + 'Last login time' => '', + 'Last password change' => '', + 'Never' => '', + 'New rule' => '', + 'Not found' => '', + 'Once you delete your account, there is no going back' => '', + 'Once you have deleted your data, you will not longer be able to sign in with this account.' => '', + 'Password age' => '', + 'Please be certain' => '', + 'Privacy' => '', + 'Privacy settings' => '', + 'Registration on this website is disabled' => '', 'Required "key" cannot be empty.' => '', 'Required "secret" cannot be empty.' => '', - 'Reset your password' => 'بازیابی رمز عبور', 'Role "{0}" not found. Creating it.' => '', - 'Roles' => 'نقش ها', 'Rule' => '', 'Rule class must extend "yii\\rbac\\Rule".' => '', 'Rule class name' => '', @@ -185,29 +224,17 @@ return [ 'Rule {0} does not exists' => '', 'Rule {0} not found.' => '', 'Rules' => '', - 'Save' => 'ذخیره', 'Scan the QrCode with Google Authenticator App, then insert its temporary code on the box and submit.' => '', 'Select rule...' => '', 'Send password recovery email' => '', - 'Sign in' => 'ورود', - 'Sign up' => 'ثبت نام', - 'Something went wrong' => 'چیز اشتباهی رخ داد', 'Submit' => '', 'Switch identities is disabled.' => '', - 'Thank you for signing up on {0}' => 'با تشکر از ثبت نام شما در {0}', - 'Thank you, registration is now complete.' => 'متشکریم ، ثبت نام شما کامل شد.', 'The "recaptcha" component must be configured.' => '', - 'The confirmation link is invalid or expired. Please try requesting a new one.' => 'لینک تایید معتبر نیست یا منقضی شده است. لطفا دوباره درخواست دهید تا ایمیل جدیدی برایتان ارسال شود.', 'The verification code is incorrect.' => '', 'There is neither role nor permission with name "{0}"' => '', 'There was an error in saving user' => '', - 'This account has already been connected to another user' => 'این اکانت قبلا به حساب کاربری دیگری متصل شده است', - 'This email address has already been taken' => 'این آدرس ایمیل قبلا ثبت شده است', - 'This username has already been taken' => 'این نام کاربری قبلا ثبت شده است', 'This will disable two factor authentication. Are you sure?' => '', 'This will remove your personal data from this site. You will no longer be able to sign in.' => '', - 'Time zone' => 'موقعیت زمانی', - 'Time zone is not valid' => 'موقعبت زمانی معتبر نیست', 'Two Factor Authentication (2FA)' => '', 'Two factor authentication code' => '', 'Two factor authentication has been disabled.' => '', @@ -225,83 +252,29 @@ return [ 'Unable to update authorization item.' => '', 'Unable to update authorization rule.' => '', 'Unable to update block status.' => '', - 'Unblock' => 'آزاد سازی', - 'Unconfirmed' => 'تایید نشده', 'Unfortunately, you can not work with this site without giving us consent to process your data.' => '', - 'Update' => 'بروزرسانی', 'Update assignments' => '', 'Update permission' => '', 'Update role' => '', 'Update rule' => '', - 'Update user account' => 'اکانت کاربر را بروز کنید', 'Updated at' => '', 'User account could not be created.' => '', 'User block status has been updated.' => '', 'User could not be registered.' => '', - 'User has been confirmed' => 'کاربر تایید شد', - 'User has been created' => 'کاربر ساخته شد', - 'User has been deleted' => 'کاربر حذف شد', - 'User is not found' => 'کاربر پیدا نشد', - 'User not found.' => 'کاربر پیدا نشد.', 'User will be required to change password at next login' => '', - 'Username' => 'نام کاربری', - 'Users' => 'کاربرها', 'VKontakte' => '', 'Verification failed. Please, enter new code.' => '', 'We couldn\'t re-send the mail to confirm your address. Please, verify is the correct email or if it has been confirmed already.' => '', 'We have generated a password for you' => '', - 'We have received a request to change the email address for your account on {0}' => 'ما درخواستی برای تغییر آدرس ایمیل اکانت شما در {0} دریافت کرده ایم', - 'We have received a request to reset the password for your account on {0}' => 'ما درخواستی برای تنظیم مجدد رمز عبور برای حساب کاربری شما در {0} دریافت کردیم', 'We have sent confirmation links to both old and new email addresses. You must click both links to complete your request.' => '', - 'Website' => 'وب سایت', - 'Welcome to {0}' => 'خوش آمدید به {0}', - 'Yandex' => 'یاندکس', 'You are about to delete all your personal data from this site.' => '', - 'You can assign multiple roles or permissions to user by using the form below' => 'شما می توانید نقش ها یا مجوز دسترسی های متعددی را از طریق فرم زیر به کاربر تخصیص دهید', - 'You can connect multiple accounts to be able to log in using them' => 'شما می توانید حساب کاربری متعددی را برای اینکه بتوانید با آنها وارد شوید به سیستم متصل کنید', 'You cannot remove your own account' => '', - 'You need to confirm your email address' => 'شما باید ایمیل خود را تایید کنید', - 'Your account details have been updated' => 'مشخصات حساب کاربری شما بروز شد', - 'Your account has been blocked' => 'اکانت شما مسدود شده است', - 'Your account has been blocked.' => 'اکانت شما مسدود شده است.', 'Your account has been completely deleted' => '', - 'Your account has been connected' => 'حساب کاربری شما متصل شد', - 'Your account has been created' => 'اکانت شما ساخته شد', - 'Your account has been created and a message with further instructions has been sent to your email' => 'اکانت شما ساخته شد و ایمیلی حاوی دستورالعمل های بعدی به شما ارسال شد', - 'Your account on {0} has been created' => 'حساب کاربری شما در {0} ساخته شد', - 'Your confirmation token is invalid or expired' => 'لینک تایید شما معتبر نیست یا منقضی شده است', 'Your consent is required to register' => '', 'Your consent is required to work with this site' => '', - 'Your email address has been changed' => 'آدرس ایمیل شما تغییر کرد', 'Your password has expired, you must change it now' => '', 'Your personal information has been removed' => '', - 'Your profile has been updated' => 'پروفایل شما بروز شد', - '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, dd MMMM, YYYY HH:mm}', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => 'ایمیلی حاوی راهنمایی برای تنظیم مجدد رمز عبور به شما ارسال شد', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => 'ای پی ثبت نام', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', + 'An email has been sent with instructions for resetting your password' => '@@ایمیلی حاوی راهنمایی برای تنظیم مجدد رمز عبور به شما ارسال شد@@', + 'Registration ip' => '@@ای پی ثبت نام@@', ]; diff --git a/src/User/resources/i18n/fi/usuario.php b/src/User/resources/i18n/fi/usuario.php index fd3e6ba..0776a37 100644 --- a/src/User/resources/i18n/fi/usuario.php +++ b/src/User/resources/i18n/fi/usuario.php @@ -17,9 +17,6 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '', 'A confirmation message has been sent to your new email address' => '', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => '', @@ -278,30 +275,4 @@ return [ 'Your profile has been updated' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/fr/usuario.php b/src/User/resources/i18n/fr/usuario.php index 85eb2b7..4118950 100644 --- a/src/User/resources/i18n/fr/usuario.php +++ b/src/User/resources/i18n/fr/usuario.php @@ -276,6 +276,6 @@ return [ 'Unfortunately, you can not work with this site without giving us consent to process your data.' => '', 'Your consent is required to work with this site' => '', '{0, date, MMM dd, YYYY HH:mm}' => '', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@J\'accepte le traitement de mes données personnelles et l\'utilisation de cookies pour faciliter le fonctionnement de ce site. Pour plus d\'information, lisez notre {privacyPolicy}@@', - 'privacy policy' => '@@politique de confidentialité@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'J\'accepte le traitement de mes données personnelles et l\'utilisation de cookies pour faciliter le fonctionnement de ce site. Pour plus d\'information, lisez notre {privacyPolicy}', + 'privacy policy' => 'politique de confidentialité', ]; diff --git a/src/User/resources/i18n/hr/usuario.php b/src/User/resources/i18n/hr/usuario.php index fd3e6ba..0776a37 100644 --- a/src/User/resources/i18n/hr/usuario.php +++ b/src/User/resources/i18n/hr/usuario.php @@ -17,9 +17,6 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '', 'A confirmation message has been sent to your new email address' => '', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => '', @@ -278,30 +275,4 @@ return [ 'Your profile has been updated' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/hu/usuario.php b/src/User/resources/i18n/hu/usuario.php index 4d03f21..f49f3ef 100644 --- a/src/User/resources/i18n/hu/usuario.php +++ b/src/User/resources/i18n/hu/usuario.php @@ -109,7 +109,7 @@ return [ 'Gravatar email' => 'Gravatar e-mail', 'Hello' => 'Helló', 'Here you can download your personal data in a comma separated values format.' => 'Itt személyes adatait vesszővel elválasztott formátumban töltheti le.', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Egyetértek személyes adataim feldolgozásával és cookie-k használatával a webhely működésének megkönnyítése érdekében. További információért olvassa el a {privacyPolicy}@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Egyetértek személyes adataim feldolgozásával és cookie-k használatával a webhely működésének megkönnyítése érdekében. További információért olvassa el a {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Ha már regisztráltál, jelentkezz be és kösd be ezt a fiókot a beállítások oldalán', 'If you cannot click the link, please try pasting the text into your browser' => 'Ha nem tud kattintani a linkre, kérjük, próbálja meg a szöveg beillesztését a böngészőbe', 'If you did not make this request you can ignore this email' => 'Ha ezt a kérelmet nem hajtotta végre, figyelmen kívül hagyhatja ezt az e-mailt', @@ -265,7 +265,7 @@ return [ 'Your password has expired, you must change it now' => 'A jelszava lejárt, most módosítania kell', 'Your personal information has been removed' => 'Személyes adatait eltávolítottuk', 'Your profile has been updated' => 'A profilja frissítve lett', - 'privacy policy' => '@@Adatvédelmi irányelvek@@', + 'privacy policy' => 'Adatvédelmi irányelvek', '{0, date, MMM dd, YYYY HH:mm}' => '{0, dátum, MMM dd, ÉÉÉÉ HH: mm}', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, dátum, MMMM dd, ÉÉÉÉ HH: mm}', '{0} cannot be blank.' => '{0} nem lehet üres.', diff --git a/src/User/resources/i18n/it/usuario.php b/src/User/resources/i18n/it/usuario.php index 4da438f..6d37ea0 100644 --- a/src/User/resources/i18n/it/usuario.php +++ b/src/User/resources/i18n/it/usuario.php @@ -22,12 +22,14 @@ return [ 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => 'È stato inviato un messaggio al tuo indirizzo email. Contiene un collegamento di verifica che devi aprire per completare la registrazione.', 'A new confirmation link has been sent' => 'È stato inviato un nuovo link di conferma', 'A password will be generated automatically if not provided' => 'La password verrà generata automaticamente se non fornita', + 'According to the European General Data Protection Regulation (GDPR) we need your consent to work with your personal data.' => 'Come descritto nel Regolamento Europeo per la Protezione dei Dati (GDPR), è necessario il tuo consenso per l\'utilizzo dei dati personali.', 'Account' => 'Account', 'Account confirmation' => 'Conferma account', 'Account details' => 'Dettagli account', 'Account details have been updated' => 'I dettagli del tuo account sono stati aggiornati', 'Account settings' => 'Impostazioni account', 'Already registered? Sign in!' => 'Già registrato? Accedi!', + 'An email with instructions to create a new password has been sent to {email} if it is associated with an {appName} account. Your existing password has not been changed.' => 'Una mail con le istruzioni per creare una nuova password è stata inviata all\'indirizzo {email} se associato a un account {appName}. La tua password non è ancora stata cambiata.', 'An error occurred processing your request' => 'Si è verificato un errore durante l\'elaborazione della richiesta', 'Are you sure you want to block this user?' => 'Sicuro di voler bloccare questo utente?', 'Are you sure you want to confirm this user?' => 'Sicuro di voler confermare questo utente?', @@ -81,6 +83,7 @@ return [ 'Credentials will be sent to the user by email' => 'Le credenziali verranno inviate all\'utente via email', 'Current password' => 'Password attuale', 'Current password is not valid' => 'La password attuale non è valida', + 'Data privacy' => 'Data privacy', 'Data processing consent' => 'Consenso al trattamento dei dati', 'Delete' => 'Elimina', 'Delete account' => 'Elimina account', @@ -109,7 +112,7 @@ return [ 'Gravatar email' => 'Email di Gravatar', 'Hello' => 'Ciao', 'Here you can download your personal data in a comma separated values format.' => 'Da qui puoi scaricare i tuoi dati in formato CSV.', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Consento al trattamento dei miei dati personali e all\'uso dei cookie per agevolare le attività di questo sito. Per ulteriori informazioni leggere la nostra {privacyPolicy}@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Consento al trattamento dei miei dati personali e all\'uso dei cookie per agevolare le attività di questo sito. Per ulteriori informazioni leggere la nostra {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Se sei già registrato accedi e collega questo account nella pagina delle impostazioni', 'If you cannot click the link, please try pasting the text into your browser' => 'Se non puoi fare click sul link prova a copiare ed incollare il testo nel browser', 'If you did not make this request you can ignore this email' => 'Se non hai effettuato tu la richiesta puoi ignorare questa email', @@ -187,6 +190,7 @@ return [ 'Sign in' => 'Accedi', 'Sign up' => 'Registrati', 'Something went wrong' => 'È successo qualcosa di strano', + 'Submit' => 'Invia', 'Switch identities is disabled.' => 'Il cambio identità è disabilitato', 'Thank you for signing up on {0}' => 'Grazie per esserti registrato su {0}', 'Thank you, registration is now complete.' => 'Grazie, la tua registrazione è completa.', @@ -221,6 +225,7 @@ return [ 'Unable to update block status.' => 'Impossibile aggiornare lo stato di blocco.', 'Unblock' => 'Sblocca', 'Unconfirmed' => 'Non confermato', + 'Unfortunately, you can not work with this site without giving us consent to process your data.' => 'Siamo spiacenti è richiesto il consenso all\'utilizzo dei dati personali per navigare sul sito.', 'Update' => 'Modifica', 'Update assignments' => 'Modifica assegnamenti', 'Update permission' => 'Modifica permessi', @@ -264,19 +269,14 @@ return [ 'Your account on {0} has been created' => 'Il tuo account presso {0} è stato creato', 'Your confirmation token is invalid or expired' => 'Il token di conferma non è valido o è scaduto', 'Your consent is required to register' => 'È richiesto il tuo consenso per la registrazione', + 'Your consent is required to work with this site' => 'È richiesto il tuo consenso per navigare sul sito', 'Your email address has been changed' => 'Il tuo indirizzo email è stato cambiato', 'Your password has expired, you must change it now' => 'La tua password è scaduta, devi cambiarla', 'Your personal information has been removed' => 'I tuoi dati personali sono stati rimossi', 'Your profile has been updated' => 'Il tuo profilo è stato aggiornato', - 'privacy policy' => '@@politica della privacy@@', + 'privacy policy' => 'politica della privacy', + '{0, date, MMM dd, YYYY HH:mm}' => '{0, date, MMM dd, YYYY HH:mm}', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, dd MMMM YYYY HH:mm}', '{0} cannot be blank.' => '{0} non può essere vuoto.', - 'According to the European General Data Protection Regulation (GDPR) we need your consent to work with your personal data.' => 'Come descritto nel Regolamento Europeo per la Protezione dei Dati (GDPR), è necessario il tuo consenso per l\'utilizzo dei dati personali.', - 'An email with instructions to create a new password has been sent to {email} if it is associated with an {appName} account. Your existing password has not been changed.' => 'Una mail con le istruzioni per creare una nuova password è stata inviata all\'indirizzo {email} se associato a un account {appName}. La tua password non è ancora stata cambiata.', - 'Data privacy' => 'Data privacy', - 'Submit' => 'Invia', - 'Unfortunately, you can not work with this site without giving us consent to process your data.' => 'Siamo spiacenti è richiesto il consenso all\'utilizzo dei dati personali per navigare sul sito.', - 'Your consent is required to work with this site' => 'È richiesto il tuo consenso per navigare sul sito', - '{0, date, MMM dd, YYYY HH:mm}' => '{0, date, MMM dd, YYYY HH:mm}', 'An email has been sent with instructions for resetting your password' => '@@È stata inviata un\'email con le istruzioni per azzerare la tua password@@', ]; diff --git a/src/User/resources/i18n/kk/usuario.php b/src/User/resources/i18n/kk/usuario.php index fd3e6ba..0776a37 100644 --- a/src/User/resources/i18n/kk/usuario.php +++ b/src/User/resources/i18n/kk/usuario.php @@ -17,9 +17,6 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '', 'A confirmation message has been sent to your new email address' => '', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => '', @@ -278,30 +275,4 @@ return [ 'Your profile has been updated' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/lt/usuario.php b/src/User/resources/i18n/lt/usuario.php index fd3e6ba..0776a37 100644 --- a/src/User/resources/i18n/lt/usuario.php +++ b/src/User/resources/i18n/lt/usuario.php @@ -17,9 +17,6 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '', 'A confirmation message has been sent to your new email address' => '', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => '', @@ -278,30 +275,4 @@ return [ 'Your profile has been updated' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/nl/usuario.php b/src/User/resources/i18n/nl/usuario.php index a6f8877..e5c3d96 100644 --- a/src/User/resources/i18n/nl/usuario.php +++ b/src/User/resources/i18n/nl/usuario.php @@ -109,7 +109,7 @@ return [ 'Gravatar email' => 'Gravatar email', 'Hello' => 'Hallo', 'Here you can download your personal data in a comma separated values format.' => 'Hier kan je al jouw persoonlijke data downloaden in een komma\'s gescheiden formaat.', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Ik ga akkoord met het verwerken van mijn persoonlijke data en het gebruik van cookies om de werking van deze website te vergemakkelijken. Voor meer, lees onze {privacyPolicy}@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Ik ga akkoord met het verwerken van mijn persoonlijke data en het gebruik van cookies om de werking van deze website te vergemakkelijken. Voor meer, lees onze {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Als je reeds geregistreerd bent, meldt je aan en verbind deze account via de instellingen pagina', 'If you cannot click the link, please try pasting the text into your browser' => 'Als je niet op deze link kan klikken, kopieer en plak de tekst in jouw browser', 'If you did not make this request you can ignore this email' => 'Als je deze aanvraag niet deed mag je deze email negeren', @@ -265,7 +265,7 @@ return [ 'Your password has expired, you must change it now' => 'Jouw wachtwoord is vervallen. Gelieve het onmiddelijk te wijzigen', 'Your personal information has been removed' => 'Jouw persoonlijke gegevens werden verwijderd', 'Your profile has been updated' => 'Jouw profiel werd geupdate', - 'privacy policy' => '@@privacy policy@@', + 'privacy policy' => 'privacy policy', '{0, date, MMM dd, YYYY HH:mm}' => '{0, date, MMM dd, YYYY HH:mm}', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, MMMM dd, YYYY HH:mm}\'', '{0} cannot be blank.' => '{0} kan niet leeg zijn.', @@ -284,7 +284,7 @@ return [ 'Class "{0}" does not exist' => '@@Class "{0} bestaat niet@@', 'Disable Two-Factor Auth' => '@@Tweetraps authenticatie uitschakelen@@', 'Enable Two-factor auth' => '@@Tweetraps authenticatie inschakelen@@', - 'I aggree processing of my personal data and the use of cookies + 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Ik ga akkoord dat mijn persoonlijke data en cookies worden verwerkt voor het gebruik van deze website. Voor meer informatie lees onze {privacyPolicy}@@', 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Ik ga akkoord dat mijn persoonlijke data en cookies worden verwerkt voor het gebruik van deze website. Voor meer informatie lees onze {privacyPolicy}@@', 'Invalid two-factor code' => '@@Ongeldige tweetraps authenticatie code@@', diff --git a/src/User/resources/i18n/nl_NL/usuario.php b/src/User/resources/i18n/nl_NL/usuario.php index c50623e..04d83e0 100644 --- a/src/User/resources/i18n/nl_NL/usuario.php +++ b/src/User/resources/i18n/nl_NL/usuario.php @@ -270,28 +270,4 @@ return [ 'privacy policy' => 'privacy policy', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, dd MMMM, YYYY HH:mm}', '{0} cannot be blank.' => '{0} kan niet leeg zijn.', - 'A message has been sent to your email address. ' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class \'{0}\' does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend \'yii\rbac\Rule\'' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/pl/usuario.php b/src/User/resources/i18n/pl/usuario.php index df94c64..e1e29a2 100644 --- a/src/User/resources/i18n/pl/usuario.php +++ b/src/User/resources/i18n/pl/usuario.php @@ -91,7 +91,7 @@ return [ 'Didn\'t receive confirmation message?' => 'Nie otrzymałeś emaila aktywacyjnego?', 'Disable two factor authentication' => 'Wyłącz uwierzytelnianie dwuetapowe', 'Disconnect' => 'Odłącz', - 'Don\'t have an account? Sign up!' => 'Nie masz jeszcze konto? Zarejestruj się!', + 'Don\'t have an account? Sign up!' => 'Nie masz jeszcze konta? Zarejestruj się!', 'Download my data' => 'Pobierz swoje dane', 'Email' => 'Email', 'Email (public)' => 'Email (publiczny)', @@ -109,7 +109,7 @@ return [ 'Gravatar email' => 'Email z Gravatara', 'Hello' => 'Witaj', 'Here you can download your personal data in a comma separated values format.' => 'Tutaj możesz pobrać swoje dane osobowe w formacie CSV.', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Zgadzam się na przetwarzanie moich danych osobowych i na użycie cookies w celu zapewnienia możliwości poprawnego działania tego serwisu. Aby dowiedzieć się więcej na ten temat, zapoznaj się z naszą {privacyPolicy}.@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Zgadzam się na przetwarzanie moich danych osobowych i na użycie cookies w celu zapewnienia możliwości poprawnego działania tego serwisu. Aby dowiedzieć się więcej na ten temat, zapoznaj się z naszą {privacyPolicy}.', 'If you already registered, sign in and connect this account on settings page' => 'Jeśli jesteś już zarejestrowany, zaloguj się i podłącz to konto na stronie ustawień', 'If you cannot click the link, please try pasting the text into your browser' => 'Jeśli kliknięcie w link nie działa, spróbuj skopiować go i wkleić w pasku adresu przeglądarki', 'If you did not make this request you can ignore this email' => 'Jeśli nie jesteś autorem tego żądania, prosimy o zignorowanie emaila.', @@ -265,7 +265,7 @@ return [ 'Your password has expired, you must change it now' => 'Twoje hasło zostało zdezaktualizowane, musisz je teraz zmienić', 'Your personal information has been removed' => 'Twoje dane osobowe zostały usunięte', 'Your profile has been updated' => 'Twój profil został zaktualizowany', - 'privacy policy' => '@@polityką prywatności@@', + 'privacy policy' => 'polityką prywatności', '{0, date, MMM dd, YYYY HH:mm}' => '{0, date, dd MMM YYYY, HH:mm}', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, dd MMMM YYYY, HH:mm}', '{0} cannot be blank.' => '{0} nie może pozostać bez wartości', @@ -281,9 +281,6 @@ return [ 'An email has been sent with instructions for resetting your password' => '@@Email z instrukcją resetowania hasła został wysłany@@', 'Disable Two-Factor Auth' => '@@Wyłącz uwierzytelnianie dwuetapowe@@', 'Enable Two-factor auth' => '@@Włącz uwierzytelnianie dwuetapowe@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', 'Invalid two-factor code' => '@@Nieprawidłowy kod uwierzytelniania dwuetapowego@@', 'Last login' => '@@Data ostatniego logowania@@', 'This will disable two-factor auth. Are you sure?' => '@@To wyłączy uwierzytelnianie dwuetapowe. Czy jesteś pewny?@@', diff --git a/src/User/resources/i18n/pt-BR/usuario.php b/src/User/resources/i18n/pt-BR/usuario.php index 48a3b61..2de3773 100644 --- a/src/User/resources/i18n/pt-BR/usuario.php +++ b/src/User/resources/i18n/pt-BR/usuario.php @@ -109,7 +109,7 @@ return [ 'Gravatar email' => 'E-mail do Gravatar', 'Hello' => 'Olá', 'Here you can download your personal data in a comma separated values format.' => 'Aqui você pode baixar seus dados pessoais em um formato de valores separados por vírgulas.', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Concordo com o processamento de meus dados pessoais e o uso de cookies para facilitar a operação deste site. Para mais informações, leia nossa {privacyPolicy}@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Concordo com o processamento de meus dados pessoais e o uso de cookies para facilitar a operação deste site. Para mais informações, leia nossa {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Se você já se registrou, faça login e conecte esta conta na página de configurações', 'If you cannot click the link, please try pasting the text into your browser' => 'Se você não pode clicar no link, tente colar o texto em seu navegador', 'If you did not make this request you can ignore this email' => 'Se você não fez essa solicitação, ignore este e-mail', @@ -265,7 +265,7 @@ return [ 'Your password has expired, you must change it now' => 'Sua senha expirou, você deve alterá-la agora', 'Your personal information has been removed' => 'Suas informações pessoais foram removidas', 'Your profile has been updated' => 'Seu perfil foi atualizado', - 'privacy policy' => '@@política de Privacidade@@', + 'privacy policy' => 'política de Privacidade', '{0, date, MMM dd, YYYY HH:mm}' => '{0, date, MMM dd, YYYY HH:mm}', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, MMMM dd, YYYY HH:mm}', '{0} cannot be blank.' => '{0} não pode estar em branco', @@ -284,7 +284,7 @@ return [ 'Class "{0}" does not exist' => '@@A classe "{0}" não existe@@', 'Disable Two-Factor Auth' => '@@Desabilitar autenticação em dois fatores@@', 'Enable Two-factor auth' => '@@Habilitar autenticação em dois fatores@@', - 'I aggree processing of my personal data and the use of cookies + 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Concordo com o processamento de meus dados pessoais e o uso de cookies para facilitar a operação deste site. Para mais informações, leia nosso {privacyPolicy}@@', 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Concordo com o processamento de meus dados pessoais e o uso de cookies para facilitar a operação deste site. Para mais informações, leia nosso {privacyPolicy}@@', 'Invalid two-factor code' => '@@Código de dois fatores inválido@@', diff --git a/src/User/resources/i18n/pt-PT/usuario.php b/src/User/resources/i18n/pt-PT/usuario.php index 0f27d1c..3164616 100644 --- a/src/User/resources/i18n/pt-PT/usuario.php +++ b/src/User/resources/i18n/pt-PT/usuario.php @@ -103,7 +103,7 @@ return [ 'Forgot password?' => 'Esqueceu a sua senha?', 'Hello' => 'Olá', 'Here you can download your personal data in a comma separated values format.' => 'Aqui pode descarregar os seus dados pessoais num ficheiro separado por virgulas.', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Eu aceito o processamento dos meus dados pessoais e o uso de cookies para facilitar as operações neste site. Para mais informações leia a nossa {privacyPolicy}@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Eu aceito o processamento dos meus dados pessoais e o uso de cookies para facilitar as operações neste site. Para mais informações leia a nossa {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Se já se registou, entre e associe esta conta nas definições', 'If you cannot click the link, please try pasting the text into your browser' => 'Se não conseguir abrir o link, por favor tente colá-lo no seu browser', 'If you did not make this request you can ignore this email' => 'Se não fez este pedido pode ignorar este email', @@ -254,8 +254,7 @@ return [ 'Your password has expired, you must change it now' => 'A sua password expirou, deve alterá-la agora', 'Your personal information has been removed' => 'Os seus dados pessoais foram removidos', 'Your profile has been updated' => 'O seu perfil foi atualziado', - 'privacy policy' => '@@politica de privacidade@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', + 'privacy policy' => 'politica de privacidade', '{0} cannot be blank.' => '{0} não pode ficar vazio.', 'According to the European General Data Protection Regulation (GDPR) we need your consent to work with your personal data.' => '', 'An email with instructions to create a new password has been sent to {email} if it is associated with an {appName} account. Your existing password has not been changed.' => '', @@ -278,30 +277,4 @@ return [ 'Yandex' => '', 'Your consent is required to work with this site' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@Foi enviado um email com as instruções para restaurar a sua password@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@Autenticação de dois passos protege-o do roubo de credenciais de acesso@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/ro/usuario.php b/src/User/resources/i18n/ro/usuario.php index ba3d113..0527b1e 100644 --- a/src/User/resources/i18n/ro/usuario.php +++ b/src/User/resources/i18n/ro/usuario.php @@ -109,7 +109,7 @@ return [ 'Gravatar email' => 'Gravatar email', 'Hello' => 'buna', 'Here you can download your personal data in a comma separated values format.' => 'Aici puteți descărca datele personale într-un format de valori separate prin virgulă.', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Sunt de acord cu prelucrarea datelor mele personale și utilizarea cookie-urilor pentru a facilita funcționarea acestui site. Pentru mai multe informații, citiți {privacyPolicy}@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Sunt de acord cu prelucrarea datelor mele personale și utilizarea cookie-urilor pentru a facilita funcționarea acestui site. Pentru mai multe informații, citiți {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Dacă v-ați înregistrat deja, conectați-vă și conectați-l pe pagina de setări', 'If you cannot click the link, please try pasting the text into your browser' => 'Dacă nu puteți da clic pe link, încercați să inserați textul în browser', 'If you did not make this request you can ignore this email' => 'Dacă nu ați făcut această solicitare, puteți ignora acest e-mail', @@ -265,7 +265,7 @@ return [ 'Your password has expired, you must change it now' => 'Parola dvs. a expirat, trebuie să o modificați acum', 'Your personal information has been removed' => 'Informațiile dvs. personale au fost eliminate', 'Your profile has been updated' => 'Profilul dvs. a fost actualizat', - 'privacy policy' => '@@politica de confidentialitate@@', + 'privacy policy' => 'politica de confidentialitate', '{0, date, MMM dd, YYYY HH:mm}' => '{0, data, MMM dd, AAAA HH: mm}', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, data, MMMM dd, AAAA HH: mm}', '{0} cannot be blank.' => '{0} nu poate fi gol.', @@ -283,7 +283,7 @@ return [ 'Awesome, almost there. ' => '@@Minunat, aproape gata.@@', 'Disable Two-Factor Auth' => '@@Dezactivați autentificarea cu două factori@@', 'Enable Two-factor auth' => '@@Activați Auth@@', - 'I aggree processing of my personal data and the use of cookies + 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Am agregat prelucrarea datelor mele personale și utilizarea cookie-urilor pentru a facilita funcționarea acestui site. Pentru mai multe informații, citiți {privacyPolicy}@@', 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Am agregat prelucrarea datelor mele personale și utilizarea cookie-urilor pentru a facilita funcționarea acestui site. Pentru mai multe informații, citiți {privacyPolicy}@@', 'Invalid two-factor code' => '@@Cod de două factori nevalid@@', diff --git a/src/User/resources/i18n/ru/usuario.php b/src/User/resources/i18n/ru/usuario.php index 0d9850b..ab62d8b 100644 --- a/src/User/resources/i18n/ru/usuario.php +++ b/src/User/resources/i18n/ru/usuario.php @@ -110,7 +110,7 @@ return [ 'Gravatar email' => 'Email для Gravatar', 'Hello' => 'Здравствуйте', 'Here you can download your personal data in a comma separated values format.' => 'Здесь вы можете загрузить свои персональные данные в формате значений, разделенных запятыми.', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Я соглашаюсь на обработку моих персональных данных и использование файлов cookie для облегчения работы этого сайта. Для получения дополнительной информации ознакомьтесь с нашей {privacyPolicy}@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Я соглашаюсь на обработку моих персональных данных и использование файлов cookie для облегчения работы этого сайта. Для получения дополнительной информации ознакомьтесь с нашей {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Если вы уже зарегистрированы, войдите и подключите аккаунт в настройках', 'If you cannot click the link, please try pasting the text into your browser' => 'Если вы не можете нажать на ссылку, скопируйте её и вставьте в адресную строку вашего браузера', 'If you did not make this request you can ignore this email' => 'Если вы получили это сообщение по ошибке, просто проигнорируйте или удалите его', @@ -269,7 +269,7 @@ return [ 'Your password has expired, you must change it now' => 'Срок действия вашего пароля истек, сейчас вы должны изменить его', 'Your personal information has been removed' => 'Ваша персональная информация удалена', 'Your profile has been updated' => 'Настройки профиля были успешно сохранены', - 'privacy policy' => '@@политикой конфиденциальности@@', + 'privacy policy' => 'политикой конфиденциальности', '{0, date, MMM dd, YYYY HH:mm}' => '{0, date, d MMM YYYY в HH:mm}', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, d MMMM YYYY в HH:mm}', '{0} cannot be blank.' => '{0} не может быть пустым.', @@ -284,7 +284,6 @@ return [ 'Class "{0}" does not exist' => '@@Класс "{0}" не найден@@', 'Disable Two-Factor Auth' => '@@Отключить двухфакторную авторизацию@@', 'Enable Two-factor auth' => '@@Включить двухфакторную авторизацию@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', 'Invalid two-factor code' => '@@Неверный код двухфакторной авторизации@@', 'Last login' => '@@Последний вход@@', 'Registration ip' => '@@IP при регистрации@@', diff --git a/src/User/resources/i18n/sk/usuario.php b/src/User/resources/i18n/sk/usuario.php index 071e5c0..2492ee4 100644 --- a/src/User/resources/i18n/sk/usuario.php +++ b/src/User/resources/i18n/sk/usuario.php @@ -116,7 +116,7 @@ return [ 'Gravatar email' => 'Gravatarový e-mail', 'Hello' => 'Dobrý deň', 'Here you can download your personal data in a comma separated values format.' => 'Tu si môžete stiahnuť svoje osobné údaje vo formáte oddelenom čiarkami', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Súhlasím so spracovaním mojich osobných údajov a používaním súborov cookie s cieľom zjednodušiť užívateľa tejto služby. Ďalšie informácie sú k dispozícii na našej {privacyPolicy}@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Súhlasím so spracovaním mojich osobných údajov a používaním súborov cookie s cieľom zjednodušiť užívateľa tejto služby. Ďalšie informácie sú k dispozícii na našej {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Ak ste sa už zaregistrovali, prihláste sa a pripojte daný účet na stránke nastavení', 'If you cannot click the link, please try pasting the text into your browser' => 'Ak na odkaz nemôžete kliknúť, skúste ho pridať na panel prehľadávača', 'If you did not make this request you can ignore this email' => 'Ak ste túto žiadosť nepodali, môžete tento e-mail ignorovať', @@ -275,7 +275,7 @@ return [ 'Your password has expired, you must change it now' => 'Vaše heslo vypršalo, musíte si ho teraz zmeniť', 'Your personal information has been removed' => 'Vaše osobné údaje boli odstránené', 'Your profile has been updated' => 'Váš profil bol aktualizovaný', - 'privacy policy' => '@@Zásady ochrany osobných údajov@@', + 'privacy policy' => 'Zásady ochrany osobných údajov', '{0, date, MMM dd, YYYY HH:mm}' => '{0, date, dd. MMM YYYY, HH:mm}', '{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, dd. MMMM YYYY, HH:mm}', '{0} cannot be blank.' => '{0} nesmie byť prázdne.', diff --git a/src/User/resources/i18n/th/usuario.php b/src/User/resources/i18n/th/usuario.php index fd3e6ba..0776a37 100644 --- a/src/User/resources/i18n/th/usuario.php +++ b/src/User/resources/i18n/th/usuario.php @@ -17,9 +17,6 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '', 'A confirmation message has been sent to your new email address' => '', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => '', @@ -278,30 +275,4 @@ return [ 'Your profile has been updated' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/tr-TR/usuario.php b/src/User/resources/i18n/tr-TR/usuario.php index fd3e6ba..0776a37 100644 --- a/src/User/resources/i18n/tr-TR/usuario.php +++ b/src/User/resources/i18n/tr-TR/usuario.php @@ -17,9 +17,6 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '', 'A confirmation message has been sent to your new email address' => '', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => '', @@ -278,30 +275,4 @@ return [ 'Your profile has been updated' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/uk/usuario.php b/src/User/resources/i18n/uk/usuario.php index ddadcb9..f533081 100644 --- a/src/User/resources/i18n/uk/usuario.php +++ b/src/User/resources/i18n/uk/usuario.php @@ -110,7 +110,7 @@ return [ 'Gravatar email' => 'Gravatar email', 'Hello' => 'Привіт', 'Here you can download your personal data in a comma separated values format.' => 'Тут Ви можете скачати Ваші персональні дані у форматі CSV.', - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@Я даю згоду на обробку моїх персональних даних та на використання cookie даним сайтом. Для більш детальної інформації ознайомтесь з {privacyPolicy}@@', + 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => 'Я даю згоду на обробку моїх персональних даних та на використання cookie даним сайтом. Для більш детальної інформації ознайомтесь з {privacyPolicy}', 'If you already registered, sign in and connect this account on settings page' => 'Якщо Ви вже зареєстровані - увійдіть та підключіть цей акаунт в налаштуваннях.', 'If you cannot click the link, please try pasting the text into your browser' => 'Якщо Ви не можете натиснути на посилання, спробуйте вставити його адресу у Ваш браузер.', 'If you did not make this request you can ignore this email' => 'Якщо Ви не робили запит - можете ігнорувати дане повідомлення.', diff --git a/src/User/resources/i18n/vi/usuario.php b/src/User/resources/i18n/vi/usuario.php index fd3e6ba..0776a37 100644 --- a/src/User/resources/i18n/vi/usuario.php +++ b/src/User/resources/i18n/vi/usuario.php @@ -17,9 +17,6 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '', 'A confirmation message has been sent to your new email address' => '', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => '', @@ -278,30 +275,4 @@ return [ 'Your profile has been updated' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/src/User/resources/i18n/zh-CN/usuario.php b/src/User/resources/i18n/zh-CN/usuario.php index fd3e6ba..0776a37 100644 --- a/src/User/resources/i18n/zh-CN/usuario.php +++ b/src/User/resources/i18n/zh-CN/usuario.php @@ -17,9 +17,6 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'I agree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'privacy policy' => '@@@@', - '{0, date, MMM dd, YYYY HH:mm}' => '@@@@', '(not set)' => '', 'A confirmation message has been sent to your new email address' => '', 'A message has been sent to your email address. It contains a confirmation link that you must click to complete registration.' => '', @@ -278,30 +275,4 @@ return [ 'Your profile has been updated' => '', '{0, date, MMMM dd, YYYY HH:mm}' => '', '{0} cannot be blank.' => '', - 'A message has been sent to your email address. ' => '@@@@', - 'An email has been sent with instructions for resetting your password' => '@@@@', - 'Awesome, almost there. ' => '@@@@', - 'Class "{0}" does not exist' => '@@@@', - 'Disable Two-Factor Auth' => '@@@@', - 'Enable Two-factor auth' => '@@@@', - 'I aggree processing of my personal data and the use of cookies - to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'I aggree processing of my personal data and the use of cookies to facilitate the operation of this site. For more information read our {privacyPolicy}' => '@@@@', - 'Invalid two-factor code' => '@@@@', - 'Last login' => '@@@@', - 'Registration ip' => '@@@@', - 'Rule class can not be instantiated' => '@@@@', - 'Rule class must extend "yii\\rbac\\Rule"' => '@@@@', - 'This will disable two-factor auth. Are you sure?' => '@@@@', - 'Two Factor Authentication' => '@@@@', - 'Two factor authentication protects you against stolen credentials' => '@@@@', - 'Two factor successfully enabled.' => '@@@@', - 'Two-Factor Authentication' => '@@@@', - 'Two-factor auth protects you against stolen credentials' => '@@@@', - 'Two-factor authentication code' => '@@@@', - 'Two-factor authorization has been disabled.' => '@@@@', - 'Two-factor code' => '@@@@', - 'Unable to disable two-factor authorization.' => '@@@@', - 'We couldn\'t re-send the mail to confirm your address. ' => '@@@@', - 'We have sent confirmation links to both old and new email addresses. ' => '@@@@', ]; diff --git a/tests/_app/config/db.php b/tests/_app/config/db.php index ef85450..db1c386 100644 --- a/tests/_app/config/db.php +++ b/tests/_app/config/db.php @@ -2,9 +2,9 @@ $db = [ 'class' => 'yii\db\Connection', - 'dsn' => 'mysql:host=localhost;dbname=yii2-usuario-test', + 'dsn' => 'mysql:host=127.0.0.1;dbname=yii2-usuario-test', 'username' => 'root', - 'password' => '', + 'password' => 'password', 'charset' => 'utf8', ]; diff --git a/tests/unit/GeneratePasswordTest.php b/tests/unit/GeneratePasswordTest.php new file mode 100644 index 0000000..2e4168f --- /dev/null +++ b/tests/unit/GeneratePasswordTest.php @@ -0,0 +1,160 @@ + 'abcdefghjkmnpqrstuvwxyz', + * 'upper' => 'ABCDEFGHJKMNPQRSTUVWXYZ', + * 'digit' => '123456789', + * 'special' => '!#$%&*+,-.:;<=>?@_~' + * ]; + */ +class GeneratePasswordTest extends \Codeception\Test\Unit +{ + const ITERATIONS = 10000; + + // Test with minPasswordRequirements equal to null (get default value/parameter) + public function testNullParameter () + { + $length = 8; + $minPasswordRequirements = null; + // Helper + $securityHelper = new SecurityHelper(new Security()); // Empty security (it does not matter) + // Check password correctness + $ok = true; + for ($i = 0; $i < self::ITERATIONS; $i++) { + $password = $securityHelper->generatePassword($length, $minPasswordRequirements); + $result = preg_match('/\A(?=(.*\d){1})(?=(?:[^a-z]*[a-z]){1})(?=(?:[^A-Z]*[A-Z]){1})[0-9a-zA-Z!#$%&*+,-.:;<=>?@_~]{8,}\z/', $password); + if ($result === 0) { + $ok = false; + break; + } + } + $this->assertTrue($ok); + } + + // Test with minPasswordRequirements equal to an empty array (= password without requirements) + public function testEmptyParameter () + { + $length = 8; + $minPasswordRequirements = []; + // Helper + $securityHelper = new SecurityHelper(new Security()); // Empty security (it does not matter) + // Check password correctness + $ok = true; + for ($i = 0; $i < self::ITERATIONS; $i++) { + $password = $securityHelper->generatePassword($length, $minPasswordRequirements); + $result = preg_match('/\A[0-9a-zA-Z!#$%&*+,-.:;<=>?@_~]{8,}\z/', $password); + if ($result === 0) { + $ok = false; + break; + } + } + $this->assertTrue($ok); + } + + // Test with many lowercase characters, one uppercase character, one digit and one special character + public function testManyLowercaseCharacter () + { + // Function parameters + $length = 8; + $minPasswordRequirements = [ + 'min' => 10, + 'special' => 1, + 'digit' => 1, + 'upper' => 1, + 'lower' => 5 + ]; + // Helper + $securityHelper = new SecurityHelper(new Security()); // Empty security (it does not matter) + // Check password correctness + $ok = true; + for ($i = 0; $i < self::ITERATIONS; $i++) { + $password = $securityHelper->generatePassword($length, $minPasswordRequirements); + $result = preg_match('/\A(?=(.*\d){1})(?=(?:[^a-z]*[a-z]){5})(?=(?:[^A-Z]*[A-Z]){1})(?=(?:[0-9a-zA-Z]*[!#$%&*+,-.:;<=>?@_~]){1})[0-9a-zA-Z!#$%&*+,-.:;<=>?@_~]{10,}\z/', $password); + if ($result === 0) { + $ok = false; + break; + } + } + $this->assertTrue($ok); + } + + // Test with many special characters, one uppercase character, one digit + public function testManySpecialCharacter () + { + // Function parameters + $length = 10; + $minPasswordRequirements = [ + 'min' => 10, + 'special' => 6, + 'digit' => 1, + 'upper' => 1, + ]; + // Helper + $securityHelper = new SecurityHelper(new Security()); // Empty security (it does not matter) + // Check password correctness + $ok = true; + for ($i = 0; $i < self::ITERATIONS; $i++) { + $password = $securityHelper->generatePassword($length, $minPasswordRequirements); + $result = preg_match('/\A(?=(.*\d){1})(?=(?:[^A-Z]*[A-Z]){1})(?=(?:[0-9a-zA-Z]*[!#$%&*+,-.:;<=>?@_~]){6})[0-9a-zA-Z!#$%&*+,-.:;<=>?@_~]{10,}\z/', $password); + if ($result === 0) { + $ok = false; + break; + } + } + $this->assertTrue($ok); + } + + // Test with a long password and no requirements + public function testLongPassword () + { + // Function parameters + $length = 20; + $minPasswordRequirements = []; + // Helper + $securityHelper = new SecurityHelper(new Security()); // Empty security (it does not matter) + // Check password correctness + $ok = true; + for ($i = 0; $i < self::ITERATIONS; $i++) { + $password = $securityHelper->generatePassword($length, $minPasswordRequirements); + $result = preg_match('/\A[0-9a-zA-Z!#$%&*+,-.:;<=>?@_~]{20,}\z/', $password); + if ($result === 0) { + $ok = false; + break; + } + } + $this->assertTrue($ok); + } + + // Test with random requirements + public function testRandomRequirements () + { + // Function parameters + $length = 8; + $minPasswordRequirements = [ + 'min' => 10, + 'special' => 4, + 'digit' => 3, + 'upper' => 2, + 'lower' => 1 + ]; + // Helper + $securityHelper = new SecurityHelper(new Security()); // Empty security (it does not matter) + // Check password correctness + $ok = true; + for ($i = 0; $i < self::ITERATIONS; $i++) { + $password = $securityHelper->generatePassword($length, $minPasswordRequirements); + $result = preg_match('/\A(?=(.*\d){3})(?=(?:[^a-z]*[a-z]){1})(?=(?:[^A-Z]*[A-Z]){2})(?=(?:[0-9a-zA-Z]*[!#$%&*+,-.:;<=>?@_~]){4})[0-9a-zA-Z!#$%&*+,-.:;<=>?@_~]{10,}\z/', $password); + if ($result === 0) { + $ok = false; + break; + } + } + $this->assertTrue($ok); + } +} \ No newline at end of file